;------------------------------------------------------------------------------ ; ; Disassembly listing generated by PE Explorer version 1.99 ; Heaventools Software (http://www.heaventools.com) ; ;------------------------------------------------------------------------------ ; ; Name: .text (Code Section) ; Virtual Address: 00401000h Virtual Size: 000B4546h ; Pointer To RawData: 00000400h Size Of RawData: 000B4600h ; push ebp mov ebp,esp sub esp,00000008h push ebx push esi mov ebx,ecx push edi mov ecx,00048000h xor eax,eax mov edi,ebx mov [ebp-04h],ebx rep stosd lea eax,[ebx+42h] mov ecx,00004000h L00401021: mov byte ptr [eax],08h add eax,00000048h dec ecx jnz L00401021 push L004C40E0 push SSZ004C40D0_animdata_mul mov ecx,L006BB1C8 call SUB_L00455E10 push eax call SUB_L0049A7F0 mov esi,eax add esp,00000008h test esi,esi jz L004010F9 mov eax,[ebp-04h] xor ebx,ebx lea edi,[eax+41h] L00401059: test bl,07h jnz L0040108B push esi push 00000001h lea ecx,[ebp-08h] push 00000004h push ecx call SUB_L0049A630 mov eax,ebx add esp,00000010h cdq and edx,00000007h add eax,edx mov edx,[ebp-08h] mov ecx,eax mov eax,[L007B7DE4] sar ecx,03h add ecx,eax call SUB_L004068F0 L0040108B: push esi push 00000001h lea edx,[edi-41h] push 00000040h push edx call SUB_L0049A630 add esp,00000010h lea eax,[edi-01h] push esi push 00000001h push 00000001h push eax call SUB_L0049A630 add esp,00000010h push esi push 00000001h push 00000001h push edi call SUB_L0049A630 add esp,00000010h lea ecx,[edi+01h] push esi push 00000001h push 00000001h push ecx call SUB_L0049A630 add esp,00000010h lea edx,[edi+02h] push esi push 00000001h push 00000001h push edx call SUB_L0049A630 add esp,00000010h inc ebx add edi,00000048h cmp ebx,00004000h jl L00401059 push esi call SUB_L0049A580 mov ebx,[ebp-04h] add esp,00000004h L004010F9: pop edi mov eax,ebx pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L00401110: mov ecx,[L004D77B0] push ebx push edi mov edi,[L006A9D58] xor ebx,ebx inc ecx cmp edi,ebx mov [L004D77B0],ecx jz L004011BD push esi L00401130: mov eax,[edi] mov ecx,edi call [eax+3Ch] test eax,eax jnz L004011B1 mov ax,[edi+38h] lea ecx,[eax+eax*8] lea esi,[L005493F8+ecx*8] mov cl,[L0054943A+ecx*8] cmp cl,bl jbe L004011B1 mov edx,[L004D77B0] xor eax,eax mov al,[esi+43h] and ecx,000000FFh add eax,edx cdq idiv ecx test edx,edx jnz L004011B1 mov edx,[edi] mov ecx,edi call [edx+14h] mov eax,[esi+44h] mov ecx,[L004D77B0] cmp eax,ecx jz L0040119F mov dl,[esi+40h] mov cl,[esi+41h] inc dl mov al,dl mov [esi+40h],dl cmp al,cl jc L00401196 mov [esi+40h],bl L00401196: mov ecx,[L004D77B0] mov [esi+44h],ecx L0040119F: xor edx,edx mov ecx,edi mov dl,[esi+40h] mov al,[edx+esi] mov edx,[edi] mov [edi+3Ah],al call [edx+10h] L004011B1: mov edi,[edi+50h] cmp edi,ebx jnz L00401130 pop esi L004011BD: pop edi pop ebx retn ;------------------------------------------------------------------------------ SUB_L004011C0: push ebp mov ebp,esp sub esp,00000020h mov eax,[ecx+2Ch] mov edx,[ecx+30h] push esi mov esi,[ecx+1Ch] add esi,eax mov [ebp-20h],eax mov eax,[ecx+20h] mov [ebp-18h],esi mov esi,[ecx+40h] add eax,edx test esi,esi mov [ebp-1Ch],edx mov [ebp-14h],eax jz L00401242 L004011EA: mov edx,[esi] mov ecx,esi call [edx+00000098h] test eax,eax jz L0040122A mov eax,[esi+2Ch] mov [ebp-10h],eax mov ecx,[esi+30h] mov [ebp-0Ch],ecx mov edx,[esi+1Ch] add edx,eax mov [ebp-08h],edx mov eax,[esi+20h] add eax,ecx lea ecx,[ebp-10h] lea edx,[ebp-20h] push ecx push edx mov ecx,L00669608 mov [ebp-04h],eax call SUB_L00440D40 test eax,eax jnz L00401238 L0040122A: mov esi,[esi+40h] test esi,esi jnz L004011EA xor eax,eax pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00401238: mov eax,00000001h pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00401242: xor eax,eax pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 L00401250: push ebp mov ebp,esp pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 16 L00401260: push ebp mov ebp,esp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 L00401270: push ebp mov ebp,esp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 L00401280: xor eax,eax retn ;------------------------------------------------------------------------------ Align 16 L00401290: push ebp mov ebp,esp push esi mov esi,ecx call SUB_L004019F0 test byte ptr [ebp+08h],01h jz L004012AA push esi call SUB_L0049A810 add esp,00000004h L004012AA: mov eax,esi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L004012C0: push ebp mov ebp,esp push FFFFFFFFh push L004B11B8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000420h push ebx push esi mov ebx,ecx push edi mov [ebp-2Ch],ebx call SUB_L00441CB0 mov ecx,[ebp+1Ch] mov esi,[ebp+0Ch] mov [ebx+000000ACh],ecx xor eax,eax mov edi,esi or ecx,FFFFFFFFh mov dword ptr [ebx],L004B6388 mov [ebp-04h],eax repne scasb not ecx push ecx mov [ebp+1Ch],eax call SUB_L0049A820 mov edx,eax mov edi,esi or ecx,FFFFFFFFh xor eax,eax add esp,00000004h mov [ebx+000000D8h],edx repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx mov dx,[ebp+14h] shr ecx,02h rep movsd mov ecx,eax xor eax,eax and ecx,00000003h rep movsb mov cx,[ebp+10h] mov [ebp-0000042Ch],al mov [ebx+000000DCh],cx mov [ebx+000000DEh],dx mov [ebx+000000CCh],eax mov [ebx+000000C8h],eax mov [ebx+000000C4h],eax mov [ebx+000000C0h],eax mov [ebx+000000D4h],eax mov [ebx+000000D0h],eax mov al,[L00669408] cmp al,02h jnz L004013E3 mov edi,L00669409 or ecx,FFFFFFFFh xor eax,eax lea edx,[ebp-0000042Ch] repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx lea edx,[ebp-0000042Ch] shr ecx,02h rep movsd mov ecx,eax xor eax,eax and ecx,00000003h rep movsb mov edi,L004C4118 or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov esi,edi mov edi,edx mov edx,ecx or ecx,FFFFFFFFh repne scasb mov ecx,edx dec edi shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb jmp L00401416 L004013E3: cmp al,03h jnz L00401416 mov edi,SSZ004C410C_You_see__ or ecx,FFFFFFFFh xor eax,eax lea edx,[ebp-0000042Ch] repne scasb not ecx sub edi,ecx mov dword ptr [ebp+1Ch],00000001h mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb L00401416: mov edi,[ebp+0Ch] or ecx,FFFFFFFFh xor eax,eax lea edx,[ebp-0000042Ch] repne scasb not ecx sub edi,ecx mov esi,edi mov edi,edx mov edx,ecx or ecx,FFFFFFFFh repne scasb mov ecx,edx dec edi shr ecx,02h rep movsd mov eax,[ebp+10h] mov ecx,edx mov dl,[L00669408] and ecx,00000003h rep movsb and eax,0000FFFFh xor ecx,ecx cmp dl,01h lea edx,[ebp-0000042Ch] setz cl push ecx push eax push edx mov ecx,L006693F8 mov [ebp-20h],eax call SUB_L0048C020 mov edi,L004D77C0 or ecx,FFFFFFFFh xor eax,eax mov byte ptr [L00669408],01h repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,L00669409 shr ecx,02h rep movsd mov ecx,eax xor eax,eax and ecx,00000003h rep movsb mov edi,[ebp+0Ch] or ecx,FFFFFFFFh mov dword ptr [ebx+04h],SSZ004C4100_bark_gump xor esi,esi repne scasb mov edi,[ebp+08h] mov [ebx+4Ch],esi not ecx dec ecx cmp edi,esi mov [ebp-28h],ecx mov ecx,[ebp+18h] mov [ebx+48h],esi mov [ebx+44h],esi mov [ebx+40h],esi mov [ebx+3Ch],esi mov [ebx+34h],esi mov [ebx+000000B8h],ecx jnz L00401517 mov edx,[L00669628] mov dword ptr [ebp+10h],00000140h mov eax,edx mov [ebx+000000B0h],edx cmp eax,esi mov [ebx+000000B4h],esi jz L004014FC mov [eax+000000B4h],ebx L004014FC: mov [ebx+000000BCh],esi mov [L00669628],ebx mov [ebx+2Ch],esi mov dword ptr [ebx+30h],000001CCh jmp L0040167E L00401517: mov eax,[edi+68h] mov dword ptr [ebp+10h],000000C8h cmp eax,esi mov [ebx+000000B0h],eax mov [ebx+000000B4h],esi jz L00401537 mov [eax+000000B4h],ebx L00401537: mov [ebx+000000BCh],edi mov edx,[edi] mov ecx,edi mov [edi+68h],ebx call [edx+2Ch] test eax,eax jz L004015C5 mov eax,[edi+7Ch] cmp eax,esi jz L004015C5 mov ecx,[eax+000000ACh] cmp ecx,esi mov [ebp+1Ch],ecx jnz L00401574 cmp ebx,esi jz L004019D8 mov eax,[ebx] push 00000001h mov ecx,ebx call [eax] jmp L004019D8 L00401574: lea esi,[ebx+000000A0h] lea eax,[ebx+0000009Ch] push esi push eax mov dword ptr [esi],00000000h mov dword ptr [eax],00000000h call SUB_L00440C60 mov eax,[ebp+1Ch] mov edx,[ebx+0000009Ch] mov ecx,[eax+6Ch] add edx,ecx mov [ebx+0000009Ch],edx mov edx,[eax+70h] mov eax,[esi] add eax,edx mov [esi],eax mov eax,[ebx+0000009Ch] mov ecx,[esi] mov [ebx+2Ch],eax mov [ebx+30h],ecx xor esi,esi jmp L0040167E L004015C5: mov edx,[edi] mov ecx,edi call [edx+24h] test eax,eax jz L00401618 mov eax,[edi+0Ch] mov ecx,[edi+04h] add eax,ecx mov ecx,[L004DAF40] sar eax,1 sub eax,ecx mov [ebx+0000009Ch],eax mov ecx,[edi+08h] sub ecx,[L004DAF44] lea eax,[ecx+04h] mov [ebx+000000A0h],eax mov edx,[edi+000001CCh] add edx,eax mov eax,[ebx+0000009Ch] mov ecx,edx mov [ebx+000000A0h],edx mov [ebx+2Ch],eax mov [ebx+30h],ecx jmp L0040167E L00401618: mov edx,[edi+0Ch] mov eax,[edi+04h] add edx,eax mov eax,[L004DAF40] sar edx,1 sub edx,eax mov [ebx+0000009Ch],edx mov eax,[edi+08h] sub eax,[L004DAF44] add eax,00000004h mov [ebx+000000A0h],eax mov eax,[ebp+1Ch] cmp eax,esi jz L0040166C mov edx,[edi] mov ecx,edi call [edx+54h] test eax,eax jnz L0040166C mov eax,[L006BAE80] mov ecx,[eax+6Ch] mov [ebx+2Ch],ecx mov edx,[L006BAE80] mov eax,[edx+70h] mov [ebx+30h],eax jmp L0040167E L0040166C: mov ecx,[ebx+0000009Ch] mov edx,[ebx+000000A0h] mov [ebx+2Ch],ecx mov [ebx+30h],edx L0040167E: push SSZ004C40E8_framedata_for_CBarkGump push 00000008h mov ecx,L00669C8C mov [ebx+10h],esi mov dword ptr [ebx+14h],00000001h call SUB_L0044FBD0 mov edx,[ebp+10h] xor ecx,ecx mov [ebx+38h],eax mov [eax],ecx mov [eax+04h],ecx mov eax,[ebx+2Ch] mov [ebp-1Ch],eax add edx,eax mov eax,[ebp-28h] push ecx mov [ebp-18h],esi mov [ebp-10h],esi cmp eax,esi lea ecx,[ebp-24h] lea esi,[ebx+20h] mov [ebp-14h],edx mov edx,[ebp+10h] lea eax,[ebx+1Ch] push ecx push esi push eax push edx jle L004016D5 mov eax,[ebp+0Ch] push eax jmp L004016DA L004016D5: push L004C40E4 L004016DA: mov eax,[ebp+14h] mov ecx,L00669CC8 and eax,0000FFFFh push eax call SUB_L00437B40 mov ecx,[esi] mov eax,88888889h imul ecx add edx,ecx mov ecx,[ebx+000000BCh] sar edx,03h mov eax,edx shr eax,1Fh add edx,eax test ecx,ecx mov [ebp+10h],edx jz L00401725 mov edx,[ecx] call [edx+2Ch] test eax,eax jz L00401725 mov eax,[ebx+000000BCh] mov ecx,[eax+7Ch] test ecx,ecx jnz L00401733 L00401725: mov ecx,0000027Fh mov dword ptr [ebp+0Ch],000001DFh jmp L00401744 L00401733: mov ecx,[L004C7F34] mov edx,[L004C7F38] dec ecx dec edx mov [ebp+0Ch],edx L00401744: test edi,edi jz L0040175A mov eax,[ebx+1Ch] cdq sub eax,edx mov edx,[ebx+2Ch] sar eax,1 neg eax add edx,eax mov [ebx+2Ch],edx L0040175A: mov edx,[ebx+2Ch] mov eax,[ebx+1Ch] mov [ebx+000000A4h],edx add edx,eax cmp edx,ecx jle L00401771 sub ecx,eax mov [ebx+2Ch],ecx L00401771: mov ecx,[ebx+2Ch] test ecx,ecx jge L0040177F mov dword ptr [ebx+2Ch],00000000h L0040177F: mov edx,[esi] mov ecx,[ebx+30h] sub ecx,edx mov [ebx+30h],ecx mov [ebx+000000A8h],ecx lea edi,[ecx+edx] mov ecx,[ebp+0Ch] cmp edi,ecx jle L0040179E sub ecx,edx mov [ebx+30h],ecx L0040179E: mov ecx,[ebx+30h] test ecx,ecx jge L004017AC mov dword ptr [ebx+30h],00000000h L004017AC: mov edi,[ebp-18h] mov [ebx+18h],eax mov ecx,00000001h imul eax,edx sub ecx,edi mov edi,[ebp-10h] add edi,ecx mov ecx,00000001h mov [ebp-10h],edi mov edi,[ebp-1Ch] sub ecx,edi mov edi,[ebp-14h] add edi,ecx lea edx,[eax+eax+04h] mov ecx,00000001h push edx mov [ebp-14h],edi mov [ebp-18h],ecx mov [ebp-1Ch],ecx call SUB_L0049A820 mov ecx,[ebx+38h] add esp,00000004h mov [ecx+04h],eax mov edx,[ebx+38h] mov cx,[ebx+1Ch] mov eax,[edx+04h] mov [eax],cx mov edx,[ebx+38h] mov cx,[esi] mov eax,[edx+04h] mov [eax+02h],cx mov ecx,[esi] imul ecx,[ebx+18h] mov edx,[ebx+38h] xor eax,eax shl ecx,1 mov edi,[edx+04h] mov edx,ecx add edi,00000004h shr ecx,02h rep stosd mov ecx,edx lea edx,[ebp-1Ch] and ecx,00000003h rep stosb mov ecx,[esi] mov eax,[ebx+18h] xor edi,edi mov [ebp-10h],ecx mov ecx,[ebx+38h] push edi push edi mov [ebp-1Ch],edi mov [ebp-18h],edi mov [ebp-14h],eax push edx mov edx,[ecx+04h] mov ecx,[ebp-20h] add edx,00000004h push eax push edx push eax mov eax,[ebx+000000D8h] xor edx,edx push eax mov dx,[ebx+000000DEh] push ecx push edx push edi push edi mov ecx,L00669CC8 call SUB_L004372C0 mov eax,[ebx+000000B0h] cmp eax,edi jz L004018C7 mov ecx,[ebp+0Ch] inc ecx mov [ebp+14h],ecx jmp L0040188A L00401888: xor edi,edi L0040188A: mov ecx,[esi] mov edx,[eax+000000B0h] sub [eax+000000A8h],ecx mov ecx,[eax+000000A8h] mov [eax+30h],ecx jns L004018A6 mov [eax+30h],edi L004018A6: mov ecx,[eax+20h] mov edi,[eax+30h] add ecx,edi mov edi,[ebp+14h] cmp ecx,edi jle L004018C1 mov ecx,[ebp+0Ch] mov edi,[eax+20h] sub ecx,edi inc ecx mov [eax+30h],ecx L004018C1: test edx,edx mov eax,edx jnz L00401888 L004018C7: mov ecx,ebx call SUB_L004022C0 mov eax,[ebx+2Ch] mov edi,[ebx+1Ch] mov edx,[esi] mov [ebp-1Ch],eax add eax,edi mov [ebp-14h],eax mov eax,[ebx+30h] mov edi,eax add eax,edx mov edx,eax mov eax,[ebx+000000B0h] test eax,eax mov [ebp-18h],edi mov [ebp-10h],edx jz L0040193D L004018F7: mov ecx,[eax+2Ch] mov esi,[ebp-1Ch] cmp ecx,esi jge L00401904 mov [ebp-1Ch],ecx L00401904: mov ecx,[eax+1Ch] mov esi,[eax+2Ch] add ecx,esi mov esi,[ebp-14h] cmp ecx,esi jle L00401916 mov [ebp-14h],ecx L00401916: mov ecx,[eax+30h] cmp ecx,edi jge L00401922 mov edi,ecx mov [ebp-18h],edi L00401922: mov ecx,[eax+20h] mov esi,[eax+30h] add ecx,esi cmp ecx,edx jle L00401933 mov edx,ecx mov [ebp-10h],edx L00401933: mov eax,[eax+000000B0h] test eax,eax jnz L004018F7 L0040193D: call [KERNEL32.dll!GetTickCount] mov [ebx+00000094h],eax mov al,[L004CCB20] test al,al jz L0040197B mov eax,[ebp+10h] imul eax,[L004CCDEC] lea eax,[eax+eax*4] lea ecx,[eax+eax*4] mov eax,51EB851Fh lea ecx,[ecx+ecx*4] shl ecx,05h imul ecx sar edx,05h mov eax,edx shr eax,1Fh add edx,eax jmp L0040199D L0040197B: mov eax,[L004CCDEC] lea eax,[eax+eax*4] lea eax,[eax+eax*4] lea ecx,[eax+eax*4] mov eax,51EB851Fh shl ecx,05h imul ecx sar edx,05h mov ecx,edx shr ecx,1Fh add edx,ecx L0040199D: push 00000000h push 00000000h mov ecx,ebx mov [ebx+00000098h],edx call SUB_L004415C0 mov dl,[L005492F4] mov [ebx+000000E0h],dl mov al,[L005492F5] mov [ebx+000000E1h],al mov cl,[L005492F6] mov [ebx+000000E2h],cl mov byte ptr [ebx+000000E3h],00h L004019D8: mov ecx,[ebp-0Ch] pop edi mov eax,ebx pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0018h ;------------------------------------------------------------------------------ Align 4 SUB_L004019F0: push ebp mov ebp,esp push FFFFFFFFh push L004B11D8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push esi mov esi,ecx push edi mov [ebp-10h],esi mov dword ptr [esi],L004B6388 mov eax,[esi+000000BCh] xor ebx,ebx cmp eax,ebx mov [ebp-04h],ebx jz L00401A36 cmp [eax+68h],esi jnz L00401A36 mov ecx,[esi+000000B0h] mov [eax+68h],ecx jmp L00401A4A L00401A36: cmp [L00669628],esi jnz L00401A4A mov edx,[esi+000000B0h] mov [L00669628],edx L00401A4A: mov eax,[esi+000000B0h] cmp eax,ebx jz L00401A60 mov ecx,[esi+000000B4h] mov [eax+000000B4h],ecx L00401A60: mov eax,[esi+000000B4h] cmp eax,ebx jz L00401A76 mov edx,[esi+000000B0h] mov [eax+000000B0h],edx L00401A76: cmp [L004D77BC],ebx jnz L00401AB6 cmp [L007121E4],ebx jnz L00401AB6 mov eax,[esi+000000BCh] cmp eax,ebx jz L00401AB6 mov edi,[eax+68h] cmp edi,ebx jz L00401AB6 L00401A97: mov ecx,edi call SUB_L004021B0 mov edi,[edi+000000B0h] cmp edi,ebx jnz L00401A97 mov eax,[esi+000000BCh] mov ecx,[eax+68h] call SUB_L004022C0 L00401AB6: mov eax,[esi+38h] cmp eax,ebx jz L00401AD3 mov eax,[eax+04h] cmp eax,ebx jz L00401AD3 push eax call SUB_L0049A810 mov ecx,[esi+38h] add esp,00000004h mov [ecx+04h],ebx L00401AD3: mov eax,[esi+38h] cmp eax,ebx jz L00401AED push SSZ004C411C_draggump_framedata push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov [esi+38h],ebx L00401AED: mov edx,[esi+000000D8h] push edx call SUB_L0049A810 add esp,00000004h mov ecx,esi mov [esi+000000B0h],ebx mov [esi+000000B4h],ebx mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00441D50 mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L00401B30: mov eax,[ecx+000000ACh] retn ;------------------------------------------------------------------------------ Align 16 SUB_L00401B40: push ebp mov ebp,esp sub esp,00000028h push ebx push esi push edi lea esi,[edx+01h] xor eax,eax L00401B4E: mov edi,[eax+L004C7E50] mov ebx,[eax+L004C7E28] imul edi,edx add edi,ebx mov [ebp+eax-28h],edi add eax,00000004h cmp eax,00000020h jl L00401B4E mov eax,[ebp+08h] dec eax cmp eax,00000001h jle L00401BE1 mov ebx,[ebp+0Ch] dec edx dec eax mov [ebp-08h],edx mov [ebp-04h],eax L00401B7F: cmp edx,00000001h jle L00401BD5 lea eax,[ecx+esi*2] dec edx mov [ebp+08h],eax mov [ebp+0Ch],edx L00401B8E: mov edx,[ebp+08h] mov ax,[edx] test ax,ax jz L00401BBF and eax,0000FFFFh cmp eax,ebx jz L00401BBF lea edx,[ebp-28h] mov edi,00000008h L00401BAA: mov eax,esi add eax,[edx] cmp word ptr [ecx+eax*2],0000h jnz L00401BB9 mov [ecx+eax*2],bx L00401BB9: add edx,00000004h dec edi jnz L00401BAA L00401BBF: mov edx,[ebp+08h] mov eax,[ebp+0Ch] inc esi add edx,00000002h dec eax mov [ebp+08h],edx mov [ebp+0Ch],eax jnz L00401B8E mov edx,[ebp-08h] L00401BD5: mov eax,[ebp-04h] add esi,00000002h dec eax mov [ebp-04h],eax jnz L00401B7F L00401BE1: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 8 L00401BF0: push ebp mov ebp,esp sub esp,00000010h mov eax,[L00669620] push esi mov esi,ecx cmp eax,esi jz L00401C09 push 00000000h call SUB_L00441340 L00401C09: mov ecx,esi call SUB_L0043F490 test eax,eax jz L00401C3E mov eax,[esi+18h] mov ecx,[esi+20h] mov edx,[esi] mov [ebp-08h],eax lea eax,[ebp-10h] mov [ebp-04h],ecx push eax push 00000035h mov ecx,esi mov dword ptr [ebp-10h],00000000h mov dword ptr [ebp-0Ch],00000000h call [edx+00000144h] L00401C3E: pop esi mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 L00401C50: push ebp mov ebp,esp sub esp,00000010h push esi mov esi,ecx call SUB_L0043F490 test eax,eax jz L00401C8E mov edx,[esi+20h] mov ecx,[esi+18h] mov [ebp-04h],edx xor eax,eax mov [ebp-08h],ecx xor edx,edx mov dx,[esi+000000DCh] lea ecx,[ebp-10h] mov [ebp-10h],eax mov [ebp-0Ch],eax mov eax,[esi] push ecx push edx mov ecx,esi call [eax+00000144h] L00401C8E: pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 L00401CA0: push ebp mov ebp,esp mov edx,[ebp+0Ch] mov eax,[ecx+18h] push 00000000h push 00000000h push edx mov edx,[ecx+38h] push eax mov edx,[edx+04h] add edx,00000004h push edx mov edx,[ebp+08h] push eax mov eax,[ecx+000000D8h] push eax xor eax,eax mov ax,[ecx+000000DEh] push edx push eax push 00000000h push 00000000h mov ecx,L00669CC8 call SUB_L004372C0 pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 L00401CF0: push esi push edi mov esi,ecx call [KERNEL32.dll!GetTickCount] mov edi,eax call [USER32.dll!GetDoubleClickTime] mov edx,[esi+000000D4h] mov ecx,00000001h cmp edx,ecx jnz L00401D47 sub edi,[esi+000000D0h] cmp edi,eax jbe L00401D47 mov eax,[esi+000000C8h] mov dword ptr [esi+000000D4h],00000000h test eax,eax jnz L00401D41 mov eax,[esi+70h] mov ecx,[esi+6Ch] push eax push ecx mov ecx,esi call SUB_L00401E20 pop edi pop esi retn ;------------------------------------------------------------------------------ L00401D41: mov [esi+000000C0h],ecx L00401D47: pop edi pop esi retn ;------------------------------------------------------------------------------ Align 8 L00401D50: push ebp mov ebp,esp mov edx,[ebp+0Ch] push esi mov esi,ecx mov eax,00000001h mov ecx,[ebp+08h] mov [esi+6Ch],ecx mov ecx,[esi+000000D4h] cmp ecx,eax mov [esi+000000C8h],eax mov [esi+70h],edx jnz L00401D86 mov dword ptr [esi+000000D4h],00000002h pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ L00401D86: mov [esi+000000D4h],eax call [KERNEL32.dll!GetTickCount] mov [esi+000000D0h],eax pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 4 L00401DA0: push ebp mov ebp,esp push esi mov esi,ecx push edi xor edi,edi mov eax,[esi+000000C0h] mov [esi+000000C8h],edi cmp eax,edi jz L00401DD1 mov [esi+000000C0h],edi mov [esi+000000D4h],edi mov [L006A9DD4],edi pop edi pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ L00401DD1: cmp dword ptr [esi+000000D4h],00000002h jnz L00401E14 mov ecx,[esi+000000BCh] mov [esi+000000D4h],edi cmp ecx,edi jz L00401E14 mov eax,[ecx] call [eax+24h] test eax,eax jnz L00401E02 mov ecx,[esi+000000BCh] mov edx,[ecx] call [edx+54h] test eax,eax jz L00401E14 L00401E02: mov eax,[esi+000000BCh] mov ecx,[L006BAE80] push eax call SUB_L0044E0A0 L00401E14: mov [L006A9DD4],edi pop edi pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ SUB_L00401E20: push ebp mov ebp,esp push esi mov esi,ecx push edi mov ecx,[esi+000000BCh] test ecx,ecx jz L00401F00 mov eax,[ecx] call [eax+24h] test eax,eax jnz L00401E51 mov ecx,[esi+000000BCh] mov edx,[ecx] call [edx+54h] test eax,eax jz L00401F00 L00401E51: mov eax,[L007121C4] test eax,eax jz L00401F00 mov eax,[L007121D4] test eax,eax jz L00401F00 mov eax,[L006BB5F0] test eax,eax jnz L00401F00 mov ecx,[esi+000000BCh] xor edi,edi mov eax,[ecx] call [eax+24h] test eax,eax jz L00401E8F mov edi,[esi+000000BCh] L00401E8F: mov al,[L0073EC0C] test al,al jz L00401EF4 test edi,edi jz L00401EF4 mov al,[L007121D0] test al,al jz L00401EF4 cmp al,01h jnz L00401EBC mov edx,[edi] mov ecx,edi call [edx+0000009Ch] test al,al jz L00401ECE mov al,[L007121D0] L00401EBC: cmp al,02h jnz L00401EF4 mov eax,[edi] mov ecx,edi call [eax+000000A0h] test al,al jnz L00401EF4 L00401ECE: call SUB_L00455030 push 00000000h mov ecx,L006BB1C8 mov byte ptr [L007121D0],00h call SUB_L0049A010 mov ecx,[edi+78h] call SUB_L0044DD10 pop edi pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ L00401EF4: mov ecx,[esi+000000BCh] call [L007121D4] L00401F00: mov al,[L004C79D0] test al,al jz L00401F50 lea ecx,[esi+000000E0h] call SUB_L0044CEC0 test al,al jz L00401F50 mov ecx,[esi+000000BCh] xor edi,edi test ecx,ecx jz L00401F36 mov edx,[ecx] call [edx+2Ch] test eax,eax jz L00401F36 mov eax,[esi+000000BCh] mov edi,[eax+78h] L00401F36: mov ecx,[esi+000000BCh] mov edx,[esi+000000D8h] push edi push ecx push L00403060 xor ecx,ecx call SUB_L0044CF50 L00401F50: pop edi pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 L00401F60: push ebp mov ebp,esp sub esp,00000038h push ebx push esi push edi mov edi,ecx lea eax,[ebp-04h] lea ecx,[ebp-08h] push eax xor ebx,ebx push ecx mov ecx,edi mov [ebp-18h],edi mov [ebp-08h],ebx mov [ebp-04h],ebx call SUB_L00440C60 cmp [edi+68h],ebx jz L00402198 mov eax,[ebp-08h] mov edx,[edi+1Ch] mov ecx,[ebp-04h] mov [ebp-38h],eax add edx,eax mov eax,[edi+20h] mov [ebp-34h],ecx mov [ebp-30h],edx mov edx,[L004C7F34] add eax,ecx mov ecx,[L006BAE7C] mov [ebp-2Ch],eax call SUB_L00488A00 mov esi,[ebp+08h] lea ecx,[ebp-38h] push ecx push esi mov ecx,L00669608 call SUB_L00440D40 test eax,eax jz L00402198 lea edx,[ebp-28h] mov ecx,esi push edx lea edx,[ebp-38h] call SUB_L00440D90 mov esi,[ebp-38h] mov edx,[ebp-28h] xor ecx,ecx xor eax,eax cmp esi,edx jz L00401FF5 sub edx,esi mov ecx,edx L00401FF5: mov esi,[ebp-34h] mov edx,[ebp-24h] cmp esi,edx jz L00402003 sub edx,esi mov eax,edx L00402003: mov ebx,eax mov edx,[edi+10h] imul ebx,[edi+18h] mov esi,[edi+38h] add ebx,ecx mov edx,[esi+edx*8+04h] lea esi,[edx+ebx*2+04h] mov edx,[ebp-04h] add eax,edx mov edx,[ebp-08h] imul eax,[L004C7F34] add eax,ecx mov ecx,[L006BAE7C] add eax,edx mov [ebp+08h],esi lea ebx,[ecx+eax*2] mov ecx,edi call SUB_L004011C0 test eax,eax jz L00402116 mov edx,[edi+18h] mov edi,[ebp-20h] mov eax,[ebp-28h] mov ecx,[L004C7F34] sub edi,eax mov eax,[ebp-1Ch] sub eax,[ebp-24h] cmp byte ptr [L0073EC3C],00h mov [ebp-14h],edx mov [ebp-18h],ecx mov [ebp-10h],edi jz L004020DB test eax,eax jle L00402198 mov [ebp-0Ch],eax L0040207B: test edi,edi mov ecx,esi jz L004020C0 mov edx,ebx lea eax,[edi] sub edx,esi mov [ebp+08h],eax L0040208A: mov ax,[ecx] test ax,ax jz L004020B1 mov di,[ecx+edx] shr edi,1 shr eax,1 and edi,00007BEFh and eax,00007BEFh add edi,eax or edi,00000001h mov [ecx+edx],di mov edi,[ebp-10h] L004020B1: mov eax,[ebp+08h] add ecx,00000002h dec eax mov [ebp+08h],eax jnz L0040208A mov edx,[ebp-14h] L004020C0: mov eax,[ebp-0Ch] mov ecx,[ebp-18h] dec eax lea esi,[esi+edx*2] lea ebx,[ebx+ecx*2] mov [ebp-0Ch],eax jnz L0040207B pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L004020DB: test eax,eax jle L00402198 add ecx,ecx add edx,edx mov [ebp-18h],ecx mov [ebp-14h],edx mov [ebp+08h],eax L004020F0: push edi mov edx,esi mov ecx,ebx call SUB_L00488790 mov edx,[ebp-18h] mov ecx,[ebp-14h] mov eax,[ebp+08h] add ebx,edx add esi,ecx dec eax mov [ebp+08h],eax jnz L004020F0 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L00402116: mov eax,[edi] mov ecx,edi call [eax+00000090h] test eax,eax jz L0040214F mov ecx,[edi+18h] mov edx,[L004C7F34] mov eax,[ebp-24h] push ecx mov ecx,[ebp-28h] push edx mov edx,[ebp-20h] push esi sub edx,ecx mov ecx,[ebp-1Ch] push ebx sub ecx,eax call SUB_L00440F90 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L0040214F: mov eax,[ebp-24h] mov ecx,[ebp-1Ch] cmp eax,ecx jge L00402198 jmp L0040215E L0040215B: mov esi,[ebp+08h] L0040215E: mov ecx,[ebp-20h] mov edx,[ebp-28h] sub ecx,edx mov edi,ebx shl ecx,1 mov edx,ecx shr ecx,02h rep movsd mov ecx,edx mov edx,[ebp-18h] and ecx,00000003h inc eax rep movsb mov ecx,[L004C7F34] lea ebx,[ebx+ecx*2] mov ecx,[edx+18h] mov edx,[ebp+08h] lea ecx,[edx+ecx*2] mov [ebp+08h],ecx mov ecx,[ebp-1Ch] cmp eax,ecx jl L0040215B L00402198: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L004021B0: push esi mov esi,ecx push edi mov ecx,[esi+000000BCh] test ecx,ecx jz L004022B7 cmp ecx,[L0073EBE4] jz L004022B7 mov eax,[ecx] call [eax+2Ch] test eax,eax jz L004021E8 mov ecx,[esi+000000BCh] mov eax,[ecx+7Ch] test eax,eax jnz L004022B7 L004021E8: mov ecx,[esi+000000BCh] mov edi,[L004DAF44] mov eax,[ecx+0Ch] mov edx,[ecx+04h] mov ecx,[ecx+08h] add eax,edx mov edx,[L004DAF40] sub ecx,edi mov edi,[esi+0000009Ch] add ecx,00000004h sar eax,1 sub eax,edx mov edx,eax mov [esi+0000009Ch],eax sub edx,edi mov edi,[esi+000000A4h] add edi,edx mov eax,[esi] mov [esi+000000A4h],edi mov edx,edi mov edi,ecx mov [esi+2Ch],edx sub edi,[esi+000000A0h] mov [esi+000000A0h],ecx mov ecx,esi add [esi+000000A8h],edi mov edi,[esi+000000A8h] mov [esi+30h],edi call [eax+78h] test eax,eax jz L00402265 mov eax,0000027Fh mov ecx,000001DFh jmp L00402277 L00402265: mov ecx,[L004C7F34] mov edx,[L004C7F38] lea eax,[ecx-01h] lea ecx,[edx-01h] L00402277: mov edx,[esi+1Ch] mov edi,edx add edi,[esi+2Ch] cmp edi,eax jle L00402288 sub eax,edx mov [esi+2Ch],eax L00402288: mov eax,[esi+2Ch] test eax,eax jge L00402296 mov dword ptr [esi+2Ch],00000000h L00402296: mov eax,[esi+20h] mov edi,[esi+30h] mov edx,eax add edx,edi cmp edx,ecx jle L004022A9 sub ecx,eax mov [esi+30h],ecx L004022A9: mov eax,[esi+30h] test eax,eax jge L004022B7 mov dword ptr [esi+30h],00000000h L004022B7: pop edi pop esi retn ;------------------------------------------------------------------------------ Align 8 SUB_L004022C0: push ebp mov ebp,esp sub esp,00000008h mov eax,[ecx+000000B4h] push ebx push esi push edi mov edi,[ecx+20h] mov [ebp-08h],ecx test eax,eax mov ebx,ecx jz L004022EC L004022DB: mov ebx,eax mov esi,[ebx+20h] mov eax,[ebx+000000B4h] add edi,esi test eax,eax jnz L004022DB L004022EC: mov eax,[ecx+000000B0h] mov esi,ecx test eax,eax jz L00402309 L004022F8: mov esi,eax mov eax,[esi+20h] add edi,eax mov eax,[esi+000000B0h] test eax,eax jnz L004022F8 L00402309: mov eax,[ecx] call [eax+78h] test eax,eax jz L0040231C mov eax,000001DFh mov [ebp-04h],eax jmp L00402328 L0040231C: mov ecx,[L004C7F38] dec ecx mov [ebp-04h],ecx mov eax,ecx L00402328: cmp edi,eax jle L00402363 L0040232C: cmp esi,[ebp-08h] jz L00402363 mov ecx,[esi+20h] sub edi,ecx mov ecx,esi mov esi,[esi+000000B4h] mov dword ptr [L004D77BC],00000001h test ecx,ecx jz L00402355 mov edx,[ecx] push 00000001h call [edx] mov eax,[ebp-04h] L00402355: cmp edi,eax mov dword ptr [L004D77BC],00000000h jg L0040232C L00402363: test esi,esi jz L004023AA mov ecx,[esi+000000A8h] test ecx,ecx jge L004023AA mov eax,[esi+000000B4h] mov dword ptr [esi+30h],00000000h test eax,eax jz L004023F1 mov esi,eax test esi,esi jz L004023F1 L00402388: mov eax,[esi+000000B0h] mov ecx,[eax+20h] mov edx,[eax+30h] add ecx,edx mov [esi+30h],ecx mov esi,[esi+000000B4h] test esi,esi jnz L00402388 pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L004023AA: test ebx,ebx jz L004023F1 mov edx,[ebx+000000A8h] mov edi,[ebx+20h] add edx,edi lea ecx,[eax+01h] cmp edx,ecx jle L004023F1 mov edx,edi sub eax,edx inc eax mov [ebx+30h],eax mov eax,[ebx+000000B0h] test eax,eax jz L004023F1 test eax,eax jz L004023F1 L004023D6: mov edx,[eax+000000B4h] mov ecx,[edx+30h] mov edx,[eax+20h] sub ecx,edx mov [eax+30h],ecx mov eax,[eax+000000B0h] test eax,eax jnz L004023D6 L004023F1: pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 L00402400: push esi mov esi,ecx mov ecx,[esi+000000BCh] test ecx,ecx jz L00402427 mov eax,[ecx] call [eax+2Ch] test eax,eax jz L00402427 mov ecx,[esi+000000BCh] mov eax,[ecx+7Ch] test eax,eax jz L00402427 xor eax,eax pop esi retn ;------------------------------------------------------------------------------ L00402427: mov eax,00000001h pop esi retn ;------------------------------------------------------------------------------ Align 4 SUB_L00402430: push ebp mov ebp,esp push FFFFFFFFh push L004B11F8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx push edi mov [ebp-10h],esi call SUB_L00441CB0 xor edi,edi push SSZ004C4130_framedata_for_CInputGump push 00000008h mov ecx,L00669C8C mov [ebp-04h],edi mov dword ptr [esi],L004B64D0 mov [esi+4Ch],edi mov [esi+48h],edi mov [esi+44h],edi mov [esi+40h],edi mov [esi+3Ch],edi mov [esi+34h],edi mov [esi+2Ch],edi mov dword ptr [esi+30h],000001E0h mov [esi+10h],edi mov dword ptr [esi+14h],00000001h call SUB_L0044FBD0 xor ecx,ecx mov [esi+38h],eax mov [eax],ecx push edi mov [eax+04h],ecx push edi mov ecx,esi call SUB_L004415C0 mov eax,[ebp+14h] mov edx,[ebp+10h] mov ecx,[ebp+08h] cmp eax,edi mov eax,[ebp+0Ch] push edx push eax push ecx mov ecx,esi jz L004024D8 call SUB_L00402740 mov eax,esi mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi mov esp,ebp pop ebp retn 0010h ;------------------------------------------------------------------------------ L004024D8: call SUB_L004025A0 mov ecx,[ebp-0Ch] mov eax,esi pop edi mov fs:[00000000h],ecx pop esi mov esp,ebp pop ebp retn 0010h ;------------------------------------------------------------------------------ Align 16 L00402500: push ebp mov ebp,esp push esi mov esi,ecx call SUB_L00402530 test byte ptr [ebp+08h],01h jz L0040251A push esi call SUB_L0049A810 add esp,00000004h L0040251A: mov eax,esi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00402530: push ebp mov ebp,esp push FFFFFFFFh push L004B1218 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx mov [ebp-10h],esi mov dword ptr [esi],L004B64D0 mov eax,[esi+38h] mov dword ptr [ebp-04h],00000000h mov ecx,[eax+04h] push ecx call SUB_L0049A810 mov edx,[esi+38h] add esp,00000004h mov ecx,esi mov dword ptr [ebp-04h],FFFFFFFFh mov dword ptr [edx+04h],00000000h call SUB_L00441D50 mov ecx,[ebp-0Ch] pop esi mov fs:[00000000h],ecx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L004025A0: push ebp mov ebp,esp sub esp,0000041Ch push ebx push esi push edi mov esi,ecx push 00000001h call SUB_L00441340 mov eax,[esi+38h] xor edi,edi mov eax,[eax+04h] cmp eax,edi jz L004025D0 push eax call SUB_L0049A810 mov ecx,[esi+38h] add esp,00000004h mov [ecx+04h],edi L004025D0: cmp [L004D77B8],edi jz L0040261E call [KERNEL32.dll!GetTickCount] mov edx,[L004D77B4] mov ecx,eax sub ecx,edx mov [L004D77B4],eax jnz L004025F3 xor eax,eax jmp L004025FC L004025F3: mov eax,000003E8h xor edx,edx div ecx L004025FC: mov edx,[ebp+08h] push edx push eax lea eax,[ebp-0000041Ch] push SSZ004C414C__3d_fps__s push eax call SUB_L0049AC80 lea ecx,[ebp-0000041Ch] add esp,00000010h mov [ebp+08h],ecx L0040261E: mov ebx,[ebp+10h] mov ecx,L00669CC8 and ebx,0000FFFFh mov [ebp-1Ch],edi push ebx mov dword ptr [ebp-14h],00000280h mov [ebp-18h],edi mov [ebp-10h],edi call SUB_L00437110 test eax,eax jz L00402689 lea edx,[ebp-04h] lea eax,[ebp-0Ch] push edx mov edx,[ebp+08h] lea ecx,[ebp-08h] push eax push ecx push edx push ebx mov ecx,L00669CC8 call SUB_L00437A10 mov ecx,[ebp-08h] cmp ecx,00000002h jge L0040266E mov ecx,00000002h L0040266E: mov eax,[ebp-0Ch] mov [esi+1Ch],ecx cmp eax,00000001h jge L0040267E mov eax,00000001h L0040267E: mov [esi+20h],eax dec ecx dec eax mov [ebp-14h],ecx mov [ebp-10h],eax L00402689: mov eax,[esi+20h] mov ecx,000001E0h sub ecx,eax mov [esi+2Ch],edi mov [esi+30h],ecx mov ecx,[esi+1Ch] imul eax,ecx mov [esi+18h],ecx lea edx,[eax+eax+04h] push edx call SUB_L0049A820 mov ecx,[esi+38h] add esp,00000004h mov [ecx+04h],eax mov edx,[esi+38h] mov cx,[esi+1Ch] mov eax,[edx+04h] mov [eax],cx mov edx,[esi+38h] mov cx,[esi+20h] mov eax,[edx+04h] mov [eax+02h],cx mov ecx,[esi+18h] imul ecx,[esi+20h] mov edx,[esi+38h] xor eax,eax shl ecx,1 mov edi,[edx+04h] mov edx,ecx add edi,00000004h shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov dword ptr [L004DB7E0],00000001h mov edx,[esi+38h] mov ecx,[esi+18h] lea eax,[ebp-1Ch] push eax mov eax,[edx+04h] mov edx,[ebp+0Ch] push ecx mov ecx,[ebp+08h] add eax,00000004h push eax mov eax,[ebp-04h] and edx,0000FFFFh push ecx push edx push ebx push eax push 00000000h mov ecx,L00669CC8 call SUB_L004371A0 pop edi pop esi mov dword ptr [L004DB7E0],00000000h pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ SUB_L00402740: push ebp mov ebp,esp sub esp,00000020h push ebx push esi push edi mov esi,ecx push 00000001h call SUB_L00441340 mov eax,[esi+38h] xor ebx,ebx mov eax,[eax+04h] cmp eax,ebx jz L0040276D push eax call SUB_L0049A810 mov ecx,[esi+38h] add esp,00000004h mov [ecx+04h],ebx L0040276D: mov [ebp-20h],ebx mov dword ptr [ebp-18h],00000280h mov [ebp-1Ch],ebx mov [ebp-14h],ebx call SUB_L00492730 mov ecx,[L0073EC50] mov [ebp-10h],eax call SUB_L00492740 mov ecx,[ebp+08h] lea edx,[ebp-0Ch] lea eax,[ebp-08h] push edx push eax lea edx,[ebp-04h] call SUB_L00492DC0 mov ecx,[ebp-04h] mov eax,[ebp-08h] add ecx,00000002h add eax,00000002h cmp ecx,00000002h mov [ebp-04h],ecx mov [ebp-08h],eax jge L004027BF mov ecx,00000002h L004027BF: cmp eax,00000001h mov [esi+1Ch],ecx jge L004027CC mov eax,00000001h L004027CC: lea edx,[ecx-01h] mov [esi+20h],eax mov [ebp-18h],edx lea edx,[eax-01h] mov [ebp-14h],edx mov edx,000001E0h sub edx,eax imul eax,ecx lea eax,[eax+eax+04h] mov [esi+2Ch],ebx push eax mov [esi+30h],edx mov [esi+18h],ecx call SUB_L0049A820 mov ecx,[esi+38h] add esp,00000004h mov [ecx+04h],eax mov edx,[esi+38h] mov cx,[esi+1Ch] mov eax,[edx+04h] mov [eax],cx mov edx,[esi+38h] mov cx,[esi+20h] mov eax,[edx+04h] mov [eax+02h],cx mov ecx,[esi+18h] imul ecx,[esi+20h] mov edx,[esi+38h] xor eax,eax shl ecx,1 mov edi,[edx+04h] mov edx,ecx add edi,00000004h shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb lea eax,[ebp-20h] mov dword ptr [L004DB7E0],00000001h push eax mov eax,[ebp+0Ch] and eax,0000FFFFh lea ecx,[eax+eax*4] lea edx,[eax+ecx*2] mov ecx,[ebp-0Ch] xor eax,eax inc ecx mov ax,[L006C1A84+edx*8] mov edx,[ebp+08h] push eax mov eax,[esi+38h] push ecx push 00000001h mov ecx,[eax+04h] push edx mov edx,[esi+18h] add ecx,00000004h call SUB_L00492A20 mov ecx,[esi+20h] mov eax,[esi+38h] mov edx,[esi+1Ch] push 00000001h push ecx mov ecx,[eax+04h] add ecx,00000004h call SUB_L00401B40 mov ecx,[ebp-10h] call SUB_L00492740 pop edi mov [L004DB7E0],ebx pop esi pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 4 SUB_L004028B0: push ebp mov ebp,esp push FFFFFFFFh push L004B1238 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000820h push ebx push esi mov ebx,ecx push edi mov [ebp-28h],ebx call SUB_L00441CB0 xor esi,esi mov [ebx+000000ACh],esi mov dword ptr [ebx],L004B6388 mov al,[L005492F4] mov [ebx+000000E0h],al mov cl,[L005492F5] mov [ebx+000000E1h],cl mov dl,[L005492F6] mov [ebx+000000E2h],dl mov byte ptr [ebx+000000E3h],00h mov edi,[ebp+0Ch] mov [ebp-04h],esi mov ecx,edi mov dword ptr [ebx],L004B6618 mov [ebp-20h],esi call SUB_L00491C00 lea eax,[eax+eax+02h] push eax call SUB_L0049A820 add esp,00000004h mov edx,edi mov ecx,eax mov [ebx+000000D8h],eax call SUB_L00491D10 mov cx,[ebp+10h] mov dx,[ebp+14h] mov [ebx+000000DCh],cx mov [ebx+000000DEh],dx mov [ebx+000000CCh],esi mov [ebx+000000C8h],esi mov [ebx+000000C4h],esi mov [ebx+000000C0h],esi mov [ebx+000000D4h],esi mov [ebx+000000D0h],esi mov al,[L00669408] mov [ebp-0000082Ch],si cmp al,02h jnz L004029B1 mov edx,L00669409 lea ecx,[ebp-0000082Ch] call SUB_L00491D80 mov edx,L004C4118 lea ecx,[ebp-0000082Ch] call SUB_L00491DF0 jmp L004029CC L004029B1: cmp al,03h jnz L004029CC mov edx,SSZ004C410C_You_see__ lea ecx,[ebp-0000082Ch] call SUB_L00491D80 mov dword ptr [ebp-20h],00000001h L004029CC: mov edx,edi lea ecx,[ebp-0000082Ch] call SUB_L00491DC0 mov eax,[ebp+10h] mov dl,[L00669408] and eax,0000FFFFh xor ecx,ecx cmp dl,01h lea edx,[ebp-0000082Ch] setz cl push ecx push eax push edx mov ecx,L006693F8 mov [ebp-24h],eax call SUB_L0048BFA0 mov edi,L004D77C0 or ecx,FFFFFFFFh xor eax,eax mov byte ptr [L00669408],01h repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,L00669409 shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov ecx,[ebp+0Ch] mov dword ptr [ebx+04h],SSZ004C4158_unicode_bark_gump call SUB_L00491C00 mov esi,[ebp+08h] mov ecx,[ebp+1Ch] xor edi,edi mov [ebx+000000B8h],ecx cmp esi,edi mov [ebx+4Ch],edi mov [ebx+48h],edi mov [ebx+44h],edi mov [ebx+40h],edi mov [ebx+3Ch],edi mov [ebx+34h],edi jnz L00402AA4 mov edx,[L00669628] mov dword ptr [ebp+14h],00000140h mov eax,edx mov [ebx+000000B0h],edx cmp eax,edi mov [ebx+000000B4h],edi jz L00402A89 mov [eax+000000B4h],ebx L00402A89: mov [ebx+000000BCh],edi mov [L00669628],ebx mov [ebx+2Ch],edi mov dword ptr [ebx+30h],000001CCh jmp L00402C01 L00402AA4: mov eax,[esi+68h] mov dword ptr [ebp+14h],000000C8h cmp eax,edi mov [ebx+000000B0h],eax mov [ebx+000000B4h],edi jz L00402AC4 mov [eax+000000B4h],ebx L00402AC4: mov [ebx+000000BCh],esi mov edx,[esi] mov ecx,esi mov [esi+68h],ebx call [edx+2Ch] test eax,eax jz L00402B48 mov eax,[esi+7Ch] cmp eax,edi jz L00402B48 mov ecx,[eax+000000ACh] cmp ecx,edi mov [ebp+10h],ecx jnz L00402B01 cmp ebx,edi jz L00402F88 mov eax,[ebx] push 00000001h mov ecx,ebx call [eax] jmp L00402F88 L00402B01: lea esi,[ebx+000000A0h] lea eax,[ebx+0000009Ch] push esi push eax mov [esi],edi mov [eax],edi call SUB_L00440C60 mov eax,[ebp+10h] mov edx,[ebx+0000009Ch] mov ecx,[eax+6Ch] add edx,ecx mov [ebx+0000009Ch],edx mov edx,[eax+70h] mov eax,[esi] add eax,edx mov [esi],eax mov eax,[ebx+0000009Ch] mov ecx,[esi] mov [ebx+2Ch],eax mov [ebx+30h],ecx jmp L00402C01 L00402B48: mov edx,[esi] mov ecx,esi call [edx+24h] test eax,eax jz L00402B9B mov eax,[esi+0Ch] mov ecx,[esi+04h] add eax,ecx mov ecx,[L004DAF40] sar eax,1 sub eax,ecx mov [ebx+0000009Ch],eax mov ecx,[esi+08h] sub ecx,[L004DAF44] lea eax,[ecx+04h] mov [ebx+000000A0h],eax mov edx,[esi+000001CCh] add edx,eax mov eax,[ebx+0000009Ch] mov ecx,edx mov [ebx+000000A0h],edx mov [ebx+2Ch],eax mov [ebx+30h],ecx jmp L00402C01 L00402B9B: mov edx,[esi+0Ch] mov eax,[esi+04h] add edx,eax mov eax,[L004DAF40] sar edx,1 sub edx,eax mov [ebx+0000009Ch],edx mov eax,[esi+08h] sub eax,[L004DAF44] add eax,00000004h mov [ebx+000000A0h],eax mov eax,[ebp-20h] cmp eax,edi jz L00402BEF mov edx,[esi] mov ecx,esi call [edx+54h] test eax,eax jnz L00402BEF mov eax,[L006BAE80] mov ecx,[eax+6Ch] mov [ebx+2Ch],ecx mov edx,[L006BAE80] mov eax,[edx+70h] mov [ebx+30h],eax jmp L00402C01 L00402BEF: mov ecx,[ebx+0000009Ch] mov edx,[ebx+000000A0h] mov [ebx+2Ch],ecx mov [ebx+30h],edx L00402C01: push SSZ004C40E8_framedata_for_CBarkGump push 00000008h mov ecx,L00669C8C mov [ebx+10h],edi mov dword ptr [ebx+14h],00000001h call SUB_L0044FBD0 mov edx,[ebp+14h] xor ecx,ecx mov [ebx+38h],eax mov [eax],ecx mov [eax+04h],ecx mov eax,[ebx+2Ch] add edx,eax mov [ebp-1Ch],eax mov [ebp-14h],edx mov [ebp-18h],edi mov [ebp-10h],edi call SUB_L00492730 mov ecx,[L0073EC50] mov [ebp+10h],eax call SUB_L00492740 mov edx,[ebp+14h] mov ecx,[ebp+0Ch] lea eax,[ebp-2Ch] lea esi,[ebx+20h] lea edi,[ebx+1Ch] push eax push esi push edi call SUB_L00492F30 mov ecx,[ebp+10h] call SUB_L00492740 mov edx,[edi] mov ecx,[esi] add edx,00000002h add ecx,00000002h mov eax,88888889h mov [edi],edx imul ecx add edx,ecx mov [esi],ecx sar edx,03h mov ecx,edx shr ecx,1Fh add edx,ecx mov ecx,[ebx+000000BCh] test ecx,ecx mov [ebp+0Ch],edx jz L00402CB0 mov edx,[ecx] call [edx+2Ch] test eax,eax jz L00402CB0 mov eax,[ebx+000000BCh] mov ecx,[eax+7Ch] test ecx,ecx jnz L00402CBE L00402CB0: mov ecx,0000027Fh mov dword ptr [ebp+14h],000001DFh jmp L00402CCF L00402CBE: mov ecx,[L004C7F34] mov edx,[L004C7F38] dec ecx dec edx mov [ebp+14h],edx L00402CCF: mov eax,[ebp+08h] test eax,eax jz L00402CE7 mov eax,[edi] cdq sub eax,edx mov edx,[ebx+2Ch] sar eax,1 neg eax add edx,eax mov [ebx+2Ch],edx L00402CE7: mov eax,[ebx+2Ch] mov edx,[edi] mov [ebx+000000A4h],eax add eax,edx cmp eax,ecx jle L00402CFD sub ecx,edx mov [ebx+2Ch],ecx L00402CFD: mov eax,[ebx+2Ch] test eax,eax jge L00402D0B mov dword ptr [ebx+2Ch],00000000h L00402D0B: mov eax,[esi] mov ecx,[ebx+30h] sub ecx,eax mov [ebx+30h],ecx mov [ebx+000000A8h],ecx lea edx,[ecx+eax] mov ecx,[ebp+14h] cmp edx,ecx jle L00402D2A sub ecx,eax mov [ebx+30h],ecx L00402D2A: mov ecx,[ebx+30h] test ecx,ecx jge L00402D38 mov dword ptr [ebx+30h],00000000h L00402D38: mov ecx,[edi] mov edx,[ebp-18h] imul eax,[edi] mov [ebx+18h],ecx mov ecx,00000001h sub ecx,edx mov edx,[ebp-10h] add edx,ecx mov ecx,[ebp-1Ch] mov [ebp-10h],edx mov edx,00000001h sub edx,ecx mov ecx,[ebp-14h] add ecx,edx lea eax,[eax+eax+04h] mov [ebp-14h],ecx mov ecx,00000001h push eax mov [ebp-18h],ecx mov [ebp-1Ch],ecx call SUB_L0049A820 mov ecx,[ebx+38h] add esp,00000004h mov [ecx+04h],eax mov edx,[ebx+38h] mov cx,[edi] mov eax,[edx+04h] mov [eax],cx mov edx,[ebx+38h] mov cx,[esi] mov eax,[edx+04h] mov [eax+02h],cx mov ecx,[ebx+18h] imul ecx,[esi] mov edx,[ebx+38h] xor eax,eax shl ecx,1 mov edi,[edx+04h] mov edx,ecx add edi,00000004h shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov ecx,[esi] xor eax,eax mov [ebp-1Ch],eax mov [ebp-18h],eax mov eax,[ebx+18h] mov [ebp-10h],ecx mov [ebp-14h],eax call SUB_L00492730 mov ecx,[L0073EC50] mov edi,eax call SUB_L00492740 lea eax,[ebp-1Ch] mov edx,[ebx+18h] push eax mov eax,[ebp-24h] lea ecx,[eax+eax*4] lea eax,[eax+ecx*2] xor ecx,ecx mov cx,[L006C1A84+eax*8] mov eax,[ebx+000000D8h] push ecx mov ecx,[ebx+38h] push 00000001h push 00000001h mov ecx,[ecx+04h] push eax push edx add ecx,00000004h call SUB_L004935B0 mov eax,[ebx+38h] mov edx,[esi] push 00000001h push edx mov ecx,[eax+04h] mov edx,[ebx+1Ch] add ecx,00000004h call SUB_L00401B40 mov ecx,edi call SUB_L00492740 mov eax,[ebx+000000B0h] test eax,eax jz L00402E7D mov ecx,[ebp+14h] lea edi,[ecx+01h] L00402E43: mov ecx,[esi] mov edx,[eax+000000B0h] sub [eax+000000A8h],ecx mov ecx,[eax+000000A8h] mov [eax+30h],ecx jns L00402E63 mov dword ptr [eax+30h],00000000h L00402E63: mov ecx,[eax+20h] add ecx,[eax+30h] cmp ecx,edi jle L00402E77 mov ecx,[ebp+14h] sub ecx,[eax+20h] inc ecx mov [eax+30h],ecx L00402E77: test edx,edx mov eax,edx jnz L00402E43 L00402E7D: mov ecx,ebx call SUB_L004022C0 mov eax,[ebx+2Ch] mov edi,[ebx+1Ch] mov edx,[esi] mov [ebp-1Ch],eax add eax,edi mov [ebp-14h],eax mov eax,[ebx+30h] mov edi,eax add eax,edx mov edx,eax mov eax,[ebx+000000B0h] test eax,eax mov [ebp-18h],edi mov [ebp-10h],edx jz L00402EF3 L00402EAD: mov ecx,[eax+2Ch] mov esi,[ebp-1Ch] cmp ecx,esi jge L00402EBA mov [ebp-1Ch],ecx L00402EBA: mov ecx,[eax+1Ch] mov esi,[eax+2Ch] add ecx,esi mov esi,[ebp-14h] cmp ecx,esi jle L00402ECC mov [ebp-14h],ecx L00402ECC: mov ecx,[eax+30h] cmp ecx,edi jge L00402ED8 mov edi,ecx mov [ebp-18h],edi L00402ED8: mov ecx,[eax+20h] mov esi,[eax+30h] add ecx,esi cmp ecx,edx jle L00402EE9 mov edx,ecx mov [ebp-10h],edx L00402EE9: mov eax,[eax+000000B0h] test eax,eax jnz L00402EAD L00402EF3: call [KERNEL32.dll!GetTickCount] mov [ebx+00000094h],eax mov al,[L004CCB20] test al,al jz L00402F31 mov eax,[ebp+0Ch] imul eax,[L004CCDEC] lea eax,[eax+eax*4] lea ecx,[eax+eax*4] mov eax,51EB851Fh lea ecx,[ecx+ecx*4] shl ecx,05h imul ecx sar edx,05h mov eax,edx shr eax,1Fh add edx,eax jmp L00402F53 L00402F31: mov eax,[L004CCDEC] lea eax,[eax+eax*4] lea eax,[eax+eax*4] lea ecx,[eax+eax*4] mov eax,51EB851Fh shl ecx,05h imul ecx sar edx,05h mov ecx,edx shr ecx,1Fh add edx,ecx L00402F53: push 00000000h push 00000000h mov ecx,ebx mov [ebx+00000098h],edx call SUB_L004415C0 mov eax,[ebp+18h] mov dl,[eax] mov [ebx+000000E0h],dl mov cl,[eax+01h] mov [ebx+000000E1h],cl mov dl,[eax+02h] mov [ebx+000000E2h],dl mov byte ptr [ebx+000000E3h],00h L00402F88: mov ecx,[ebp-0Ch] pop edi mov eax,ebx pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0018h ;------------------------------------------------------------------------------ Align 4 L00402FA0: push ebp mov ebp,esp push esi mov esi,ecx call SUB_L00402FD0 test byte ptr [ebp+08h],01h jz L00402FBA push esi call SUB_L0049A810 add esp,00000004h L00402FBA: mov eax,esi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00402FD0: mov dword ptr [ecx],L004B6618 jmp SUB_L004019F0 Align 8 L00402FE0: push ebp mov ebp,esp push esi push edi mov esi,ecx call SUB_L00492730 mov ecx,[L0073EC50] mov edi,eax call SUB_L00492740 mov eax,[ebp+0Ch] mov edx,[esi+18h] push eax mov eax,[ebp+08h] lea ecx,[eax+eax*4] lea eax,[eax+ecx*2] xor ecx,ecx mov cx,[L006C1A84+eax*8] mov eax,[esi+000000D8h] push ecx mov ecx,[esi+38h] push 00000001h push 00000001h mov ecx,[ecx+04h] push eax push edx add ecx,00000004h call SUB_L004935B0 mov eax,[esi+38h] mov edx,[esi+20h] push 00000001h push edx mov ecx,[eax+04h] mov edx,[esi+1Ch] add ecx,00000004h call SUB_L00401B40 mov ecx,edi call SUB_L00492740 pop edi pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 L00403060: push ebp mov ebp,esp push FFFFFFFFh push L004B125B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx test edx,edx push esi jz L004030C7 push edx mov ecx,L006A9D38 call SUB_L004616C0 mov esi,eax test esi,esi jz L004030C7 push 000000E4h call SUB_L0049A820 add esp,00000004h mov [ebp-10h],eax test eax,eax mov dword ptr [ebp-04h],00000000h jz L004030C7 mov cx,[L0073EC50] mov edx,[ebp+0Ch] push 00000000h push L005492F4 push ecx push 00000035h push edx push esi mov ecx,eax call SUB_L004028B0 L004030C7: mov ecx,[ebp-0Ch] pop esi mov fs:[00000000h],ecx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L004030E0: push ebp mov ebp,esp push FFFFFFFFh push L004B12A4 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000020h push ebx push esi mov esi,ecx push edi mov [ebp-1Ch],esi call SUB_L00441CB0 mov ecx,[ebp+08h] xor edi,edi cmp ecx,edi mov [ebp-04h],edi mov dword ptr [esi],L004B6760 mov dword ptr [esi+04h],SSZ004C4194_bulletinboard_gump mov [esi+5Ch],edi mov [esi+000000A4h],edi mov [esi+000000A8h],edi mov [esi+34h],ecx jz L00403145 mov eax,[ecx] call [eax+30h] test eax,eax jz L00403145 mov ecx,[esi+34h] mov [ecx+000000ACh],esi L00403145: lea ebx,[esi+20h] mov ecx,0000087Ah lea edx,[esi+1Ch] push ebx mov [esi+4Ch],edi mov [esi+48h],edi mov [esi+44h],edi mov [esi+40h],edi mov [esi+3Ch],edi mov [esi+50h],ecx call SUB_L004390A0 mov ecx,[esi+1Ch] mov eax,[L004C7F34] sub eax,ecx push SSZ004C417C_framedata_for_CBBGump cdq sub eax,edx mov edx,[ebx] sar eax,1 mov [esi+2Ch],eax mov eax,[L004C7F38] sub eax,edx mov [esi+18h],ecx cdq sub eax,edx push 00000008h sar eax,1 mov ecx,L00669C8C mov [esi+30h],eax mov [esi+10h],edi mov dword ptr [esi+14h],00000001h call SUB_L0044FBD0 mov ecx,[esi+14h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+38h],edi push SSZ004C4170_bb_frame rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[ebx] imul eax,[esi+1Ch] lea ecx,[eax+eax+04h] push ecx mov ecx,L00669C8C call SUB_L0044FBD0 mov edx,[esi+38h] mov [edx+04h],eax mov ecx,[ebx] imul ecx,[esi+1Ch] mov edx,[esi+38h] xor eax,eax shl ecx,1 mov edi,[edx+04h] mov edx,ecx add edi,00000004h shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+38h] mov dx,[esi+1Ch] mov ecx,[eax+04h] mov [ecx],dx mov eax,[esi+38h] mov dx,[ebx] mov ecx,[eax+04h] mov [ecx+02h],dx mov eax,[esi+38h] xor ecx,ecx xor edx,edx mov eax,[eax+04h] mov cx,[eax+02h] mov dx,[eax] push ecx push edx mov edx,[esi+50h] add eax,00000004h push eax push 00000000h push 00000000h mov ecx,SUB_L00488700 call SUB_L00439100 mov edi,[ebp+0Ch] lea eax,[ebp-14h] lea ecx,[ebp-10h] push eax lea edx,[ebp-18h] push ecx push edx push edi push 00000002h mov ecx,L00669CC8 call SUB_L00437A10 mov eax,[esi+1Ch] lea edx,[ebp-2Ch] xor ecx,ecx push edx mov [ebp-2Ch],ecx mov [ebp-24h],eax mov [ebp-28h],ecx mov ecx,[ebx] push eax mov eax,[esi+38h] mov [ebp-20h],ecx mov ecx,[eax+04h] mov eax,[ebp-10h] cdq sub eax,edx mov edx,[ebp-14h] add ecx,00000004h sar eax,1 push ecx sub edx,eax mov eax,[ebp-18h] push edi push 00000386h add edx,0000002Fh push 00000002h push edx cdq sub eax,edx mov ecx,000000F0h sar eax,1 sub ecx,eax push ecx mov ecx,L00669CC8 call SUB_L004371A0 xor edi,edi push 000000B4h mov [esi+000000BCh],edi mov [esi+000000ACh],edi mov dword ptr [esi+00000094h],0000006Dh mov dword ptr [esi+0000009Ch],00000162h mov dword ptr [esi+00000098h],0000009Fh mov dword ptr [esi+000000A0h],00000144h call SUB_L0049A820 add esp,00000004h mov [ebp+08h],eax cmp eax,edi mov byte ptr [ebp-04h],01h jz L00403326 push 00000828h push esi push 0000013Ch push 00000001h push 000000A2h push 00000164h mov ecx,eax call SUB_L00412A50 jmp L00403328 L00403326: xor eax,eax L00403328: push 00000001h push esi mov ecx,eax mov byte ptr [ebp-04h],00h mov [esi+000000B8h],eax call SUB_L004415C0 mov ecx,[esi+000000B8h] push 00000001h push edi call SUB_L00412F50 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp+08h],eax cmp eax,edi mov byte ptr [ebp-04h],02h jz L00403382 push edi push L0040FDF0 push edi push edi push esi push 000000FAh push 0000005Ch push 000000ABh push 00000015h mov ecx,eax call SUB_L00412450 jmp L00403384 L00403382: xor eax,eax L00403384: push 00000001h push esi mov ecx,eax mov byte ptr [ebp-04h],00h call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp+08h],eax cmp eax,edi mov byte ptr [ebp-04h],03h jz L004033D1 push edi push SUB_L0040FEE0 push edi push 00000002h push esi push 0000009Ch push 00000176h push 00000090h push 00000164h mov ecx,eax call SUB_L00412450 jmp L004033D3 L004033D1: xor eax,eax L004033D3: push 00000001h push esi mov ecx,eax mov byte ptr [ebp-04h],00h mov [esi+000000B0h],eax call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp+08h],eax cmp eax,edi mov byte ptr [ebp-04h],04h jz L00403426 push edi push L0040FFD0 push edi push 00000002h push esi push 0000014Eh push 00000176h push 00000140h push 00000164h mov ecx,eax call SUB_L00412450 jmp L00403428 L00403426: xor eax,eax L00403428: push 00000001h push esi mov ecx,eax mov byte ptr [ebp-04h],00h mov [esi+000000B4h],eax call SUB_L004415C0 mov ecx,[ebp-0Ch] mov eax,esi pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 L00403460: push ebp mov ebp,esp push esi mov esi,ecx call SUB_L00403490 test byte ptr [ebp+08h],01h jz L0040347A push esi call SUB_L0049A810 add esp,00000004h L0040347A: mov eax,esi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00403490: push ebp mov ebp,esp push FFFFFFFFh push L004B12B8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx mov [ebp-10h],esi mov dword ptr [esi],L004B6760 mov ecx,[esi+34h] mov dword ptr [ebp-04h],00000000h test ecx,ecx mov dword ptr [esi+000000A8h],00000001h jz L004034DE mov eax,[ecx] call [eax+30h] test eax,eax jz L004034DE mov ecx,[esi+34h] call SUB_L0045E310 L004034DE: mov ecx,[esi+38h] mov eax,[ecx+04h] test eax,eax jz L00403502 push SSZ004C41B8_BB_frame0_pBMP push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov edx,[esi+38h] mov dword ptr [edx+04h],00000000h L00403502: mov eax,[esi+38h] test eax,eax jz L00403520 push SSZ004C41A8_BB_framedata push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov dword ptr [esi+38h],00000000h L00403520: mov ecx,esi mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00441D50 mov ecx,[ebp-0Ch] pop esi mov fs:[00000000h],ecx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 4 L00403540: push ebp mov ebp,esp push esi mov esi,ecx push 00000000h call SUB_L00441340 mov eax,[ebp+08h] mov ecx,[ebp+0Ch] mov dword ptr [esi+000000A4h],00000001h mov [esi+6Ch],eax mov [esi+70h],ecx pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 L00403570: push ebp mov ebp,esp xor eax,eax mov [ecx+000000A4h],eax mov [L006A9DD4],eax pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 L00403590: push ebp mov ebp,esp push 00000000h mov ecx,L006BB1C8 call SUB_L0049A010 pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 L004035B0: push ebp mov ebp,esp mov eax,[ecx+000000A4h] test eax,eax jz L004035D8 mov eax,[ebp+0Ch] mov edx,[ecx+70h] push 00000001h push 00000000h sub eax,edx mov edx,[ebp+08h] push 00000001h push eax sub edx,[ecx+6Ch] push edx call SUB_L00440850 L004035D8: pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 8 L004035E0: push ebp mov ebp,esp push ecx mov eax,[ecx+000000ACh] push ebx xor ebx,ebx push esi test eax,eax push edi mov [ebp-04h],ecx jz L0040378E mov esi,[ecx+44h] test esi,esi jz L00403641 L00403601: mov eax,[esi] mov ecx,esi call [eax+00000104h] test eax,eax jz L00403637 mov eax,[esi+00000094h] test eax,eax jnz L00403620 mov eax,00000001h jmp L00403632 L00403620: mov ecx,[eax+00000088h] xor eax,eax cmp dword ptr [ecx+00000098h],00000001h setz al L00403632: test eax,eax jz L00403637 inc ebx L00403637: mov esi,[esi+3Ch] test esi,esi jnz L00403601 mov ecx,[ebp-04h] L00403641: mov eax,ebx imul eax,[ebp+08h] cdq idiv [ebp+0Ch] mov edi,eax cmp edi,ebx jnz L00403652 dec edi L00403652: mov esi,[ecx+44h] xor ebx,ebx test esi,esi jz L004036AC L0040365B: mov edx,[esi] mov ecx,esi call [edx+00000104h] test eax,eax jz L00403697 mov eax,[esi+00000094h] test eax,eax jnz L0040367A mov eax,00000001h jmp L0040368E L0040367A: mov eax,[eax+00000088h] xor ecx,ecx cmp dword ptr [eax+00000098h],00000001h setz cl mov eax,ecx L0040368E: test eax,eax jz L00403697 cmp ebx,edi jz L004036A0 inc ebx L00403697: mov esi,[esi+3Ch] test esi,esi jnz L0040365B jmp L004036A9 L004036A0: mov edx,[ebp-04h] mov [edx+000000ACh],esi L004036A9: mov ecx,[ebp-04h] L004036AC: mov esi,[ecx+44h] test esi,esi jz L004036F2 L004036B3: mov eax,[esi] mov ecx,esi call [eax+00000104h] test eax,eax jz L004036E8 mov eax,[esi+00000094h] test eax,eax jnz L004036D2 mov eax,00000001h jmp L004036E4 L004036D2: mov ecx,[eax+00000088h] xor eax,eax cmp dword ptr [ecx+00000098h],00000001h setz al L004036E4: test eax,eax jnz L004036EF L004036E8: mov esi,[esi+3Ch] test esi,esi jnz L004036B3 L004036EF: mov ecx,[ebp-04h] L004036F2: mov edx,[L004C416C] mov edi,[ecx+00000098h] and edx,000000FFh imul ebx,edx mov edx,[esi+30h] mov esi,[ecx+44h] sub edi,ebx sub edi,edx test esi,esi jz L0040378E L00403715: mov eax,[esi] mov ecx,esi call [eax+00000104h] test eax,eax jz L00403787 mov eax,[esi+30h] mov ecx,[ebp-04h] add eax,edi mov [esi+30h],eax mov edx,[L004C416C] mov ebx,[ecx+000000A0h] and edx,000000FFh add edx,eax cmp edx,ebx jg L00403780 cmp eax,[ecx+00000098h] jl L00403780 mov eax,[esi+00000094h] test eax,eax jnz L0040375F mov eax,00000001h jmp L00403773 L0040375F: mov eax,[eax+00000088h] xor ecx,ecx cmp dword ptr [eax+00000098h],00000001h setz cl mov eax,ecx L00403773: test eax,eax jz L00403787 mov dword ptr [esi+68h],00000001h jmp L00403787 L00403780: mov dword ptr [esi+68h],00000000h L00403787: mov esi,[esi+3Ch] test esi,esi jnz L00403715 L0040378E: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 16 SUB_L004037A0: push ebp mov ebp,esp push FFFFFFFFh push L004B12E6 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx mov ebx,ecx push esi mov esi,[ebp+0Ch] mov ecx,[ebx+000000BCh] push edi inc ecx push 000000B4h test esi,esi mov [ebx+000000BCh],ecx jz L0040383B call SUB_L0049A820 add esp,00000004h mov [ebp-10h],eax test eax,eax mov dword ptr [ebp-04h],00000000h jz L0040382B mov ecx,[ebp+18h] mov edx,[ebx+00000094h] push ecx mov ecx,[ebp+14h] push ecx mov ecx,[ebp+10h] push ecx mov ecx,[ebp+08h] push esi push ecx mov ecx,[ebx+0000009Ch] sub ecx,edx add edx,00000014h sub ecx,00000013h push ecx push 00000000h push edx mov ecx,eax call SUB_L00403E10 mov edi,eax mov dword ptr [ebp-04h],FFFFFFFFh mov [ebp+18h],edi jmp L0040388D L0040382B: xor eax,eax mov dword ptr [ebp-04h],FFFFFFFFh mov edi,eax mov [ebp+18h],edi jmp L0040388D L0040383B: call SUB_L0049A820 add esp,00000004h mov [ebp-10h],eax test eax,eax mov dword ptr [ebp-04h],00000001h jz L0040387F mov ecx,[ebp+18h] mov edx,[ebx+00000094h] push ecx mov ecx,[ebp+14h] push ecx mov ecx,[ebp+10h] push ecx mov ecx,[ebp+08h] push 00000000h push ecx mov ecx,[ebx+0000009Ch] sub ecx,edx inc ecx push ecx push 00000000h push edx mov ecx,eax call SUB_L00403E10 jmp L00403881 L0040387F: xor eax,eax L00403881: mov dword ptr [ebp-04h],FFFFFFFFh mov [ebp+18h],eax mov edi,eax L0040388D: mov eax,[ebx+000000ACh] test eax,eax jnz L0040389D mov [ebx+000000ACh],edi L0040389D: test esi,esi jnz L0040392C mov esi,[ebx+4Ch] test esi,esi jz L004038C1 L004038AC: mov edx,[esi] mov ecx,esi call [edx+00000104h] test eax,eax jnz L004038C1 mov esi,[esi+40h] test esi,esi jnz L004038AC L004038C1: xor eax,eax cmp esi,eax jz L004038DD mov ecx,[L004C416C] mov edx,[esi+30h] and ecx,000000FFh add edx,ecx mov [edi+30h],edx jmp L004038E6 L004038DD: mov ecx,[ebx+00000098h] mov [edi+30h],ecx L004038E6: mov edx,[L004C416C] mov esi,[edi+30h] mov ecx,[ebx+000000A0h] and edx,000000FFh add edx,esi cmp edx,ecx jle L00403904 mov [edi+68h],eax L00403904: mov [edi+48h],ebx mov [edi+3Ch],eax mov eax,[ebx+4Ch] mov [eax+3Ch],edi mov ecx,[ebx+4Ch] mov [edi+40h],ecx mov [ebx+4Ch],edi mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0014h ;------------------------------------------------------------------------------ L0040392C: mov [edi+48h],ebx mov esi,[ebx+44h] test esi,esi jz L00403955 L00403936: mov edx,[esi] mov ecx,esi call [edx+00000104h] test eax,eax jz L0040394E mov eax,[ebp+0Ch] mov ecx,[esi+34h] cmp ecx,eax jz L00403955 L0040394E: mov esi,[esi+3Ch] test esi,esi jnz L00403936 L00403955: xor eax,eax cmp esi,eax mov [edi+68h],eax jz L004039BE cmp dword ptr [esi+00000098h],FFFFFFFFh jnz L00403AAF mov ecx,esi mov [esi+00000098h],eax call SUB_L00404540 mov edi,[L00669620] test edi,edi jz L004039BB L00403982: mov edx,[edi] mov ecx,edi call [edx+00000108h] test eax,eax jz L004039B4 mov eax,[edi+34h] mov ecx,[esi+34h] cmp eax,ecx jnz L004039B4 mov ecx,[edi+000000A0h] test ecx,ecx jz L004039B4 mov edx,[ecx] push 00000001h call [edx] mov dword ptr [edi+000000A0h],00000000h L004039B4: mov edi,[edi+3Ch] test edi,edi jnz L00403982 L004039BB: mov edi,[ebp+18h] L004039BE: test esi,esi jz L004039DA mov esi,[esi+3Ch] test esi,esi jz L004039DA L004039C9: mov eax,[esi+00000094h] test eax,eax jz L004039DA mov esi,[esi+3Ch] test esi,esi jnz L004039C9 L004039DA: test esi,esi mov [edi+3Ch],esi jz L00403A56 mov eax,[esi+40h] mov [edi+40h],eax mov ecx,[esi+40h] mov [ecx+3Ch],edi mov [esi+40h],edi mov edx,[edi+40h] mov eax,[L004C416C] and eax,000000FFh mov ecx,[edx+30h] add ecx,eax mov eax,[edi+68h] test eax,eax mov [edi+30h],ecx jz L00403A7C L00403A0C: mov edx,[esi] mov ecx,esi call [edx+00000104h] test eax,eax jz L00403A4D mov eax,[L004C416C] mov ecx,[esi+30h] and eax,000000FFh add ecx,eax mov [esi+30h],ecx mov eax,ecx mov ecx,[L004C416C] and ecx,000000FFh add ecx,eax mov eax,[ebx+000000A0h] cmp ecx,eax jle L00403A4D mov dword ptr [esi+68h],00000000h L00403A4D: mov esi,[esi+3Ch] test esi,esi jnz L00403A0C jmp L00403A7C L00403A56: mov edx,[ebx+4Ch] mov [edx+3Ch],edi mov eax,[ebx+4Ch] mov [edi+40h],eax mov [ebx+4Ch],edi mov ecx,[edi+40h] mov edx,[L004C416C] and edx,000000FFh mov eax,[ecx+30h] add eax,edx mov [edi+30h],eax L00403A7C: mov eax,[L004C416C] mov edx,[edi+30h] mov ecx,[ebx+000000A0h] and eax,000000FFh add eax,edx cmp eax,ecx jle L00403A9C mov dword ptr [edi+68h],00000000h L00403A9C: mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0014h ;------------------------------------------------------------------------------ L00403AAF: cmp esi,eax jz L004039BE mov ecx,[esi+00000098h] mov eax,00000001h cmp ecx,eax jnz L004039BE mov [edi+68h],eax jmp L004039BE Align 16 SUB_L00403AE0: push ebp mov ebp,esp push FFFFFFFFh push L004B12FB mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000058h push ebx push esi mov esi,[L0073EBE4] push edi mov ebx,ecx mov byte ptr [ebp-10h],00h mov edi,00000001h L00403B0F: xor ecx,ecx mov cl,[edi+L004CE280] mov edx,[esi+ecx*4+000000C4h] test edx,edx jz L00403B4E mov eax,[ebp-10h] mov dx,[edx+38h] and eax,000000FFh shl eax,02h mov [ebp+eax-64h],dx mov ecx,[esi+ecx*4+000000C4h] mov dx,[ecx+3Eh] mov [ebp+eax-62h],dx mov al,[ebp-10h] inc al mov [ebp-10h],al L00403B4E: inc edi cmp edi,0000001Ah jl L00403B0F push 000002B4h call SUB_L0049A820 add esp,00000004h mov [ebp-14h],eax test eax,eax mov dword ptr [ebp-04h],00000000h jz L00403BA8 mov edx,[ebp-10h] lea ecx,[ebp-64h] push 00000001h push ecx push edx mov edx,[L0073EBE4] mov cx,[edx+3Eh] mov dx,[edx+38h] push ecx mov ecx,[ebp+0Ch] push edx mov edx,[ebp+08h] push SSZ004C41C8_Date_Time push ecx mov ecx,[ebx+34h] push L006BB372 push edx push ecx mov ecx,eax call SUB_L004047D0 jmp L00403BAA L00403BA8: xor eax,eax L00403BAA: push 00000001h push 00000000h mov ecx,eax mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L004415C0 mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 4 SUB_L00403BD0: push ebp mov ebp,esp push ecx mov eax,[ecx+000000A8h] push ebx xor ebx,ebx mov [ebp-04h],ecx cmp eax,ebx jnz L00403E08 mov eax,[ebp+08h] push edi push esi cmp [eax+00000094h],ebx jz L00403C50 mov esi,[ecx+44h] mov edi,00000001h cmp esi,ebx jz L00403C2E L00403C01: cmp esi,[ebp+08h] jz L00403C27 mov edx,[esi] mov ecx,esi call [edx+00000104h] test eax,eax jz L00403C27 mov ecx,[ebp+08h] mov eax,[esi+00000094h] cmp eax,[ecx+00000094h] jnz L00403C27 xor edi,edi L00403C27: mov esi,[esi+3Ch] cmp esi,ebx jnz L00403C01 L00403C2E: cmp edi,ebx jz L00403C50 mov edx,[ebp+08h] mov eax,[edx+00000094h] mov ecx,[eax+00000088h] mov dword ptr [ecx+00000098h],FFFFFFFFh call SUB_L00404540 L00403C50: mov ecx,[ebp+08h] mov esi,[ecx+3Ch] cmp esi,ebx jz L00403CE3 L00403C5E: mov edx,[esi] mov ecx,esi call [edx+00000104h] test eax,eax jz L00403CD8 mov eax,[L004C416C] mov ecx,[esi+30h] and eax,000000FFh sub ecx,eax mov [esi+30h],ecx mov edx,[L004C416C] mov eax,ecx mov ecx,[ebp-04h] and edx,000000FFh mov edi,[ecx+000000A0h] add edx,eax cmp edx,edi jg L00403CD5 cmp eax,[ecx+00000098h] jl L00403CD5 mov eax,[esi+00000094h] cmp eax,ebx jnz L00403CB4 mov eax,00000001h jmp L00403CC8 L00403CB4: mov eax,[eax+00000088h] xor ecx,ecx cmp dword ptr [eax+00000098h],00000001h setz cl mov eax,ecx L00403CC8: cmp eax,ebx jz L00403CD8 mov dword ptr [esi+68h],00000001h jmp L00403CD8 L00403CD5: mov [esi+68h],ebx L00403CD8: mov esi,[esi+3Ch] cmp esi,ebx jnz L00403C5E L00403CE3: mov edx,[ebp-04h] mov eax,[ebp+08h] cmp [edx+000000ACh],eax jnz L00403DF0 mov esi,[eax+3Ch] cmp esi,ebx jz L00403D91 L00403D00: mov eax,[esi] mov ecx,esi call [eax+00000104h] test eax,eax jz L00403D35 mov eax,[esi+00000094h] cmp eax,ebx jnz L00403D1F mov eax,00000001h jmp L00403D31 L00403D1F: mov ecx,[eax+00000088h] xor eax,eax cmp dword ptr [ecx+00000098h],00000001h setz al L00403D31: cmp eax,ebx jnz L00403D3C L00403D35: mov esi,[esi+3Ch] cmp esi,ebx jnz L00403D00 L00403D3C: cmp esi,ebx jz L00403D91 mov edx,[ebp+08h] mov esi,[edx+3Ch] cmp esi,ebx jz L00403D86 L00403D4A: mov eax,[esi] mov ecx,esi call [eax+00000104h] test eax,eax jz L00403D7F mov eax,[esi+00000094h] cmp eax,ebx jnz L00403D69 mov eax,00000001h jmp L00403D7B L00403D69: mov ecx,[eax+00000088h] xor eax,eax cmp dword ptr [ecx+00000098h],00000001h setz al L00403D7B: cmp eax,ebx jnz L00403D86 L00403D7F: mov esi,[esi+3Ch] cmp esi,ebx jnz L00403D4A L00403D86: mov edx,[ebp-04h] mov [edx+000000ACh],esi jmp L00403DF0 L00403D91: mov eax,[ebp+08h] mov esi,[eax+40h] cmp esi,ebx jz L00403DE7 L00403D9B: mov edx,[esi] mov ecx,esi call [edx+00000104h] test eax,eax jz L00403DD2 mov eax,[esi+00000094h] cmp eax,ebx jnz L00403DBA mov eax,00000001h jmp L00403DCE L00403DBA: mov eax,[eax+00000088h] xor ecx,ecx cmp dword ptr [eax+00000098h],00000001h setz cl mov eax,ecx L00403DCE: cmp eax,ebx jnz L00403DD9 L00403DD2: mov esi,[esi+40h] cmp esi,ebx jnz L00403D9B L00403DD9: cmp esi,ebx jz L00403DE7 mov ecx,[ebp-04h] call SUB_L0040FEE0 jmp L00403DF0 L00403DE7: mov edx,[ebp-04h] mov [edx+000000ACh],ebx L00403DF0: mov ecx,[ebp+08h] cmp ecx,ebx jz L00403DFD mov eax,[ecx] push 00000001h call [eax] L00403DFD: mov eax,[ebp-04h] pop esi pop edi dec [eax+000000BCh] L00403E08: pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L00403E10: push ebp mov ebp,esp push FFFFFFFFh push L004B1318 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,000000A8h push ebx push esi mov esi,ecx push edi mov [ebp-2Ch],esi call SUB_L00441CB0 mov eax,[ebp+18h] mov ecx,[ebp+08h] mov edx,[ebp+0Ch] mov [esi+00000094h],eax mov eax,[ebp+14h] xor ebx,ebx cmp eax,ebx mov [ebp-04h],ebx mov dword ptr [esi],L004B68A8 mov dword ptr [esi+04h],SSZ004C4214_bbline_gump mov [esi+5Ch],ebx mov [esi+000000A8h],ebx mov [esi+0000009Ch],ebx mov [esi+000000ACh],ebx mov [esi+000000B0h],ebx mov [esi+000000A4h],ebx mov dword ptr [esi+00000098h],FFFFFFFFh mov [esi+2Ch],ecx mov [esi+30h],edx mov [esi+34h],eax jz L00403E9D mov [eax+00000088h],esi L00403E9D: mov eax,[ebp+10h] mov [esi+4Ch],ebx mov [esi+48h],ebx mov [esi+44h],ebx mov [esi+40h],ebx mov [esi+3Ch],ebx mov dword ptr [esi+50h],00001518h mov [esi+18h],eax mov [esi+1Ch],eax mov eax,[L004C416C] and eax,000000FFh push SSZ004C41F8_framedata_for_CBBLineGump push 00000008h mov ecx,L00669C8C mov [esi+20h],eax mov [esi+10h],ebx mov dword ptr [esi+14h],00000001h call SUB_L0044FBD0 mov ecx,[esi+14h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+38h],edi push SSZ004C41E8_bbline_frame rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+20h] imul eax,[esi+1Ch] lea ecx,[eax+eax+04h] push ecx mov ecx,L00669C8C call SUB_L0044FBD0 mov edx,[esi+38h] mov [edx+04h],eax mov ecx,[esi+20h] imul ecx,[esi+1Ch] mov edx,[esi+38h] xor eax,eax shl ecx,1 mov edi,[edx+04h] mov edx,ecx add edi,00000004h shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+38h] mov dx,[esi+1Ch] mov ecx,[eax+04h] mov [ecx],dx mov eax,[esi+38h] mov dx,[esi+20h] mov ecx,[eax+04h] mov [ecx+02h],dx mov eax,[esi+38h] mov edx,00001523h xor ecx,ecx mov [esi+50h],edx mov eax,[eax+04h] mov cx,[eax+02h] add eax,00000004h push ecx xor ecx,ecx mov cx,[eax-04h] push ecx push eax push ebx push 00000012h mov ecx,SUB_L00488700 call SUB_L00439100 lea edx,[ebp-14h] lea eax,[ebp-10h] push edx lea ecx,[ebp-30h] push eax push ecx push L004C41E4 push 00000009h mov ecx,L00669CC8 call SUB_L00437A10 mov edx,[esi+1Ch] mov eax,[esi+20h] mov ecx,[ebp+24h] mov [ebp-20h],edx mov edx,[ebp+20h] mov [ebp-1Ch],eax mov eax,[ebp+1Ch] push ecx push edx push eax lea ecx,[ebp-000000B4h] push SSZ004C41D4__s____s___s_ push ecx mov [ebp-28h],ebx mov [ebp-24h],ebx call SUB_L0049AC80 mov ecx,[esi+50h] add esp,00000014h lea edx,[ebp-34h] push edx lea edx,[ebp-18h] call SUB_L004390A0 mov ecx,[ebp-18h] cmp ecx,ebx jz L00404030 mov edx,[esi+1Ch] lea eax,[ebp-28h] push eax mov eax,[esi+38h] mov ebx,[ebp-10h] push edx mov edx,[eax+04h] lea eax,[ebp-000000B4h] add edx,00000004h mov edi,[ebp-14h] push edx push eax mov eax,[esi+20h] push 00000386h sub eax,ebx push 00000009h cdq sub eax,edx add ecx,00000018h sar eax,1 add eax,edi push eax push ecx mov ecx,L00669CC8 call SUB_L004375A0 L00404030: mov ecx,[ebp-0Ch] mov eax,esi pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0020h ;------------------------------------------------------------------------------ Align 16 L00404050: push ebp mov ebp,esp push esi mov esi,ecx call SUB_L00404080 test byte ptr [ebp+08h],01h jz L0040406A push esi call SUB_L0049A810 add esp,00000004h L0040406A: mov eax,esi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00404080: push ebp mov ebp,esp push FFFFFFFFh push L004B1338 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx push edi mov [ebp-10h],esi mov dword ptr [esi],L004B68A8 mov eax,[esi+34h] xor edi,edi cmp eax,edi mov [ebp-04h],edi jz L004040C0 cmp [eax+00000088h],esi jnz L004040C0 mov [eax+00000088h],edi L004040C0: mov eax,[esi+38h] mov eax,[eax+04h] cmp eax,edi jz L004040E0 push SSZ004C4234_BBLine_frame0_pBMP push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov ecx,[esi+38h] mov [ecx+04h],edi L004040E0: mov eax,[esi+38h] cmp eax,edi jz L004040FA push SSZ004C4220_BBLine_framedata push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov [esi+38h],edi L004040FA: mov ecx,esi mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00441D50 mov ecx,[ebp-0Ch] pop edi mov fs:[00000000h],ecx pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 L00404120: push ebp mov ebp,esp push esi mov esi,ecx mov ecx,[esi+48h] test ecx,ecx jz L00404134 push 00000000h call SUB_L00441340 L00404134: mov ecx,[ebp+08h] mov edx,[ebp+0Ch] mov [esi+6Ch],ecx mov ecx,[esi+000000B0h] mov eax,00000001h mov [esi+70h],edx cmp ecx,eax mov [esi+000000A4h],eax jnz L00404164 mov dword ptr [esi+000000B0h],00000002h pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ L00404164: mov [esi+000000B0h],eax call [KERNEL32.dll!GetTickCount] mov [esi+000000ACh],eax pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 8 L00404180: push ebp mov ebp,esp mov eax,00001904h call SUB_L0049ACF0 push esi push edi mov esi,ecx xor edi,edi mov [esi+000000A4h],edi mov [L006A9DD4],edi cmp [esi+0000009Ch],edi jz L004041C1 mov [esi+0000009Ch],edi mov [esi+000000B0h],edi mov [esi+000000A8h],edi pop edi pop esi mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L004041C1: cmp dword ptr [esi+000000B0h],00000002h jnz L00404245 mov [esi+000000B0h],edi mov eax,[L004D77C8] cmp eax,edi jnz L0040425F mov dword ptr [L004D77C8],00000001h mov eax,[esi+00000094h] cmp eax,edi jz L004041FB mov eax,[eax+78h] mov [L004D77C4],eax jmp L00404201 L004041FB: mov [L004D77C4],edi L00404201: mov ecx,[esi+34h] mov eax,[esi+48h] mov edx,[ecx+78h] mov ecx,[eax+34h] push edx lea eax,[ebp-00001904h] mov edx,[ecx+78h] mov ecx,L006BB1C0 push edx push 00000003h push eax call SUB_L00475880 lea ecx,[ebp-00001904h] push ecx mov ecx,[L006BB1CC] call SUB_L0048B170 mov [esi+000000A8h],edi pop edi pop esi mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L00404245: mov eax,[ebp+08h] cmp eax,00000016h jge L0040425F mov edx,[ebp+0Ch] mov ecx,esi push edx push eax mov [esi+000000B0h],edi call SUB_L00404270 L0040425F: mov [esi+000000A8h],edi pop edi pop esi mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 4 SUB_L00404270: push ebp mov ebp,esp sub esp,00000014h push ebx push esi mov esi,ecx xor ebx,ebx push edi mov [ebp-04h],esi mov eax,[esi+00000098h] mov [ebp-08h],ebx cmp eax,FFFFFFFFh jz L00404493 lea eax,[ebp-10h] lea edx,[ebp-0Ch] push eax mov ecx,00001519h call SUB_L004390A0 mov edx,[ebp-0Ch] cmp edx,ebx jz L00404493 mov edi,[esi+48h] mov eax,[ebp+08h] cmp eax,ebx mov ecx,[edi+000000ACh] mov [ebp-14h],ecx jl L00404493 mov ecx,[ebp+0Ch] cmp ecx,ebx jl L00404493 dec edx cmp eax,edx jg L00404493 mov edx,[ebp-10h] dec edx cmp ecx,edx jg L00404493 mov ecx,[esi+00000098h] xor eax,eax cmp ecx,ebx setz al mov [esi+00000098h],eax mov esi,[esi+3Ch] test esi,esi jz L00404418 L00404303: mov edx,[esi] mov ecx,esi call [edx+00000104h] test eax,eax jz L00404365 mov eax,[esi+00000094h] test eax,eax jz L00404365 mov ecx,[ebp-04h] xor eax,eax mov edx,[ecx+00000098h] mov ecx,[esi+30h] cmp edx,00000001h setz al mov [esi+68h],eax mov edx,[L004C416C] mov eax,[edi+000000A0h] and edx,000000FFh add edx,ecx cmp edx,eax jg L00404356 mov eax,ecx mov ecx,[edi+00000098h] cmp eax,ecx jge L0040435D L00404356: mov dword ptr [esi+68h],00000000h L0040435D: mov esi,[esi+3Ch] inc ebx test esi,esi jnz L00404303 L00404365: test esi,esi jz L00404418 L0040436D: mov edx,[esi] mov ecx,esi call [edx+00000104h] test eax,eax jz L00404418 mov eax,[ebp-04h] mov ecx,00000001h mov edx,[eax+00000098h] cmp edx,ecx mov edx,[L004C416C] jnz L004043A9 and edx,000000FFh mov eax,ebx imul eax,edx mov edx,[esi+30h] add edx,eax jmp L004043B9 L004043A9: and edx,000000FFh mov eax,ebx imul eax,edx mov edx,[esi+30h] sub edx,eax L004043B9: mov [esi+30h],edx mov eax,edx mov edx,[L004C416C] and edx,000000FFh add edx,eax cmp edx,[edi+000000A0h] jg L00404406 cmp eax,[edi+00000098h] jl L00404406 mov eax,[esi+00000094h] test eax,eax jnz L004043EA mov eax,ecx jmp L004043FD L004043EA: mov eax,[eax+00000088h] xor edx,edx cmp [eax+00000098h],ecx setz dl mov eax,edx L004043FD: test eax,eax jz L0040440D mov [esi+68h],ecx jmp L0040440D L00404406: mov dword ptr [esi+68h],00000000h L0040440D: mov esi,[esi+3Ch] test esi,esi jnz L0040436D L00404418: mov ebx,[ebp-04h] mov ecx,ebx call SUB_L00404540 mov eax,[ebx+48h] xor edi,edi mov esi,[eax+44h] test esi,esi jz L00404475 L0040442E: mov edx,[esi] mov ecx,esi call [edx+00000104h] test eax,eax jz L0040446E mov eax,[esi+00000094h] test eax,eax jnz L0040444D mov eax,00000001h jmp L00404461 L0040444D: mov eax,[eax+00000088h] xor ecx,ecx cmp dword ptr [eax+00000098h],00000001h setz cl mov eax,ecx L00404461: test eax,eax jz L0040446E cmp [ebp-14h],esi jnz L0040446D mov [ebp-08h],edi L0040446D: inc edi L0040446E: mov esi,[esi+3Ch] test esi,esi jnz L0040442E L00404475: cmp edi,00000002h jge L0040447F mov edi,00000002h L0040447F: mov eax,[ebx+48h] mov edx,[ebp-08h] dec edi mov ecx,[eax+000000B8h] push edi push edx call SUB_L00412F50 L00404493: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 8 L004044A0: push ebp mov ebp,esp mov eax,ecx mov ecx,[eax+000000A4h] test ecx,ecx jz L004044D5 mov ecx,[eax+48h] test ecx,ecx jz L004044D5 mov edx,[ebp+0Ch] push esi mov esi,[eax+70h] push 00000001h push 00000000h sub edx,esi mov esi,[eax+6Ch] push 00000001h push edx mov edx,[ebp+08h] sub edx,esi push edx call SUB_L00440850 pop esi L004044D5: pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 8 L004044E0: push esi push edi mov esi,ecx call [KERNEL32.dll!GetTickCount] mov edi,eax call [USER32.dll!GetDoubleClickTime] mov edx,[esi+000000B0h] mov ecx,00000001h cmp edx,ecx jnz L00404537 sub edi,[esi+000000ACh] cmp edi,eax jbe L00404537 mov eax,[esi+000000A4h] mov dword ptr [esi+000000B0h],00000000h test eax,eax jnz L00404531 mov eax,[esi+70h] mov ecx,[esi+6Ch] push eax push ecx mov ecx,esi call SUB_L00404270 pop edi pop esi retn ;------------------------------------------------------------------------------ L00404531: mov [esi+0000009Ch],ecx L00404537: pop edi pop esi retn ;------------------------------------------------------------------------------ Align 8 SUB_L00404540: push ebp mov ebp,esp sub esp,00000008h push esi mov esi,ecx lea eax,[ebp-08h] lea edx,[ebp-04h] push eax mov ecx,00001519h call SUB_L004390A0 mov eax,[ebp-04h] test eax,eax jz L004045EB mov ecx,[esi+38h] mov edx,[ecx+04h] mov ecx,[ebp-08h] push edx dec ecx push 00000000h dec eax push ecx push eax push 00000000h push 00000000h mov ecx,L00669CC8 call SUB_L00437ED0 mov eax,[esi+00000098h] test eax,eax jnz L004045BC mov edx,[esi+38h] xor ecx,ecx mov eax,[edx+04h] xor edx,edx mov cx,[eax+02h] mov dx,[eax] push ecx add eax,00000004h push edx push eax push 00000000h push 00000000h mov edx,00000037h mov ecx,SUB_L00488700 call SUB_L00439100 pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L004045BC: cmp eax,00000001h jnz L004045EB mov eax,[esi+38h] xor ecx,ecx xor edx,edx mov eax,[eax+04h] mov cx,[eax+02h] mov dx,[eax] push ecx add eax,00000004h push edx push eax push 00000000h push 00000000h mov edx,00000038h mov ecx,SUB_L00488700 call SUB_L00439100 L004045EB: pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L004045F0: push ebp mov ebp,esp sub esp,00000018h push ebx push esi mov esi,ecx xor eax,eax push edi cmp [esi+68h],eax jz L004046AF mov [ebp-08h],eax mov [ebp-04h],eax lea eax,[ebp-04h] lea ecx,[ebp-08h] push eax push ecx mov ecx,esi call SUB_L00440C60 mov eax,[ebp-08h] mov edx,[ebp-04h] mov ecx,[esi+38h] mov [ebp-18h],eax mov [ebp-14h],edx xor ebx,ebx mov edi,[ecx+04h] mov bx,[edi] mov edi,[ebp+08h] add eax,ebx mov [ebp-10h],eax mov eax,[ecx+04h] xor ecx,ecx mov cx,[eax+02h] add ecx,edx lea edx,[ebp-18h] mov [ebp-0Ch],ecx push edx push edi mov ecx,L00669608 call SUB_L00440D40 test eax,eax jz L004046AF mov ecx,[L004C7F38] mov edx,[L004C7F34] mov eax,[esi+38h] push ecx mov ecx,[L006BAE7C] push edx mov edx,[ebp-04h] mov eax,[eax+04h] push ecx mov ecx,[ebp-08h] push edx push ecx xor edx,edx xor ecx,ecx mov dx,[eax+02h] mov cx,[eax] push edx push ecx push edi lea edx,[eax+04h] mov ecx,SUB_L00488700 call SUB_L00439500 mov esi,[esi+4Ch] test esi,esi jz L004046AF L004046A0: mov edx,[esi] push edi mov ecx,esi call [edx+0Ch] mov esi,[esi+40h] test esi,esi jnz L004046A0 L004046AF: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 L004046C0: push ebp mov ebp,esp mov eax,[ecx+68h] test eax,eax jz L004046EB mov edx,[ebp+08h] test edx,edx jl L004046EB mov eax,[ebp+0Ch] test eax,eax jl L004046EB cmp edx,[ecx+1Ch] jge L004046EB cmp eax,[ecx+20h] jge L004046EB mov eax,00000001h pop ebp retn 0008h ;------------------------------------------------------------------------------ L004046EB: xor eax,eax pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L00404700: mov eax,[ecx+00000094h] test eax,eax jnz L00404710 mov eax,00000001h retn ;------------------------------------------------------------------------------ L00404710: mov eax,[eax+00000088h] xor ecx,ecx cmp dword ptr [eax+00000098h],00000001h setz cl mov eax,ecx retn ;------------------------------------------------------------------------------ Align 16 SUB_L00404730: push esi mov esi,[ecx+3Ch] test esi,esi push edi jz L00404776 mov edi,00000001h L0040473E: mov eax,[esi] mov ecx,esi call [eax+00000104h] test eax,eax jz L0040476F mov eax,[esi+00000094h] test eax,eax jnz L0040475A mov eax,edi jmp L0040476B L0040475A: mov ecx,[eax+00000088h] xor eax,eax cmp [ecx+00000098h],edi setz al L0040476B: test eax,eax jnz L00404776 L0040476F: mov esi,[esi+3Ch] test esi,esi jnz L0040473E L00404776: mov eax,esi pop edi pop esi retn ;------------------------------------------------------------------------------ Align 8 SUB_L00404780: push esi mov esi,[ecx+40h] test esi,esi push edi jz L004047C6 mov edi,00000001h L0040478E: mov eax,[esi] mov ecx,esi call [eax+00000104h] test eax,eax jz L004047BF mov eax,[esi+00000094h] test eax,eax jnz L004047AA mov eax,edi jmp L004047BB L004047AA: mov ecx,[eax+00000088h] xor eax,eax cmp [ecx+00000098h],edi setz al L004047BB: test eax,eax jnz L004047C6 L004047BF: mov esi,[esi+40h] test esi,esi jnz L0040478E L004047C6: mov eax,esi pop edi pop esi retn ;------------------------------------------------------------------------------ Align 8 SUB_L004047D0: push ebp mov ebp,esp push FFFFFFFFh push L004B13B0 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000030h push ebx push esi mov ebx,ecx push edi mov [ebp-2Ch],ebx call SUB_L00441CB0 mov eax,[ebp+2Ch] xor edi,edi mov dword ptr [ebx],L004B69F0 mov dword ptr [ebx+04h],SSZ004C428C_bbmsg_gump mov [ebx+5Ch],edi mov ecx,[ebp+0Ch] mov [ebx+000000B4h],edi mov [ebx+000000B8h],eax mov [ebx+00000164h],edi mov [ebx+00000160h],edi mov [ebx+0000015Ch],edi mov [ebx+00000158h],edi mov eax,[ebx+000000B8h] mov [ebp-04h],edi cmp eax,edi mov [ebx+000000BCh],ecx jz L0040487D push 00000051h call SUB_L0049A820 mov edx,eax mov edi,L004D77C0 or ecx,FFFFFFFFh xor eax,eax add esp,00000004h mov [ebx+00000174h],edx repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb xor edi,edi L0040487D: mov eax,[ebp+08h] cmp eax,edi mov [ebx+34h],eax jz L0040488D mov [eax+0000008Ch],ebx L0040488D: lea esi,[ebx+20h] mov ecx,00000820h lea edx,[ebx+1Ch] push esi mov [ebx+4Ch],edi mov [ebx+48h],edi mov [ebx+44h],edi mov [ebx+40h],edi mov [ebx+3Ch],edi mov [ebx+50h],ecx call SUB_L004390A0 mov eax,[ebx+1Ch] push SSZ004C4270_framedata_for_CBBMsgGump push 00000010h mov ecx,L00669C8C mov [ebx+18h],eax mov dword ptr [esi],0000012Ch mov [ebx+24h],eax mov dword ptr [ebx+28h],0000012Ch mov [ebx+10h],edi mov dword ptr [ebx+14h],00000002h call SUB_L0044FBD0 mov ecx,[ebx+14h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [ebx+38h],edi push SSZ004C4264_bbmsg_frame rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[ebx+1Ch] imul eax,[esi] lea ecx,[eax+eax+04h] push ecx mov ecx,L00669C8C call SUB_L0044FBD0 mov edx,[ebx+38h] push SSZ004C4264_bbmsg_frame mov [edx+04h],eax mov ecx,[ebx+1Ch] imul ecx,[esi] mov edx,[ebx+38h] xor eax,eax shl ecx,1 mov edi,[edx+04h] mov edx,ecx add edi,00000004h shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[ebx+38h] mov dx,[ebx+1Ch] mov ecx,[eax+04h] mov [ecx],dx mov eax,[ebx+38h] mov dx,[esi] mov ecx,[eax+04h] mov [ecx+02h],dx mov eax,[ebx+28h] imul eax,[ebx+24h] lea ecx,[eax+eax+04h] push ecx mov ecx,L00669C8C call SUB_L0044FBD0 mov edx,[ebx+38h] mov [edx+0Ch],eax mov ecx,[ebx+28h] imul ecx,[ebx+24h] mov edx,[ebx+38h] xor eax,eax shl ecx,1 mov edi,[edx+0Ch] mov edx,ecx add edi,00000004h shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[ebx+38h] mov dx,[ebx+24h] mov ecx,[eax+0Ch] mov [ecx],dx mov eax,[ebx+38h] mov dx,[ebx+28h] mov ecx,[eax+0Ch] lea eax,[ebp-18h] push eax mov [ecx+02h],dx lea edx,[ebp-28h] mov ecx,0000082Eh call SUB_L004390A0 mov ecx,[esi] mov esi,[ebp-18h] sub ecx,esi lea edx,[ebp-1Ch] sub ecx,00000032h push edx mov [ebx+000000B0h],ecx lea edx,[ebp-20h] mov ecx,00000882h mov dword ptr [ebx+000000A4h],0000001Eh mov dword ptr [ebx+000000A8h],00000078h mov dword ptr [ebx+000000ACh],000000F5h call SUB_L004390A0 mov edi,[ebp+14h] or ecx,FFFFFFFFh xor eax,eax lea edx,[ebx+000000DEh] repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx lea edx,[ebx+000000C0h] shr ecx,02h rep movsd mov ecx,eax xor eax,eax and ecx,00000003h rep movsb mov edi,[ebp+10h] or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx lea edx,[ebx+0000012Eh] shr ecx,02h rep movsd mov ecx,eax xor eax,eax and ecx,00000003h rep movsb mov edi,[ebp+18h] or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx lea edx,[ebx+00000170h] shr ecx,02h rep movsd mov ecx,eax lea eax,[ebp-14h] and ecx,00000003h rep movsb lea ecx,[ebp-10h] push ecx push edx push eax push L004C41E4 push 00000009h mov ecx,L00669CC8 call SUB_L00437A10 mov ecx,[ebx+000000A8h] mov edx,[ebx+1Ch] mov eax,[ebx+20h] mov [ebx+0000016Ch],ecx lea ecx,[ebp-18h] xor edi,edi mov [ebp-34h],edx push ecx lea edx,[ebp-28h] mov ecx,0000082Eh mov dword ptr [ebx+00000168h],00000014h mov [ebp-3Ch],edi mov [ebp-38h],edi mov [ebp-30h],eax call SUB_L004390A0 mov eax,[ebx+38h] mov edx,[ebp-18h] push edx push edi mov ecx,[eax+0Ch] mov edx,00000002h push ecx mov ecx,[ebx+50h] call SUB_L00484D60 cmp [ebx+000000B8h],edi jz L00404B1D mov edx,[ebx+38h] xor ecx,ecx mov eax,[edx+0Ch] xor edx,edx mov cx,[eax+02h] mov dx,[eax] push ecx add eax,00000004h push edx push eax push 0000000Ch push 00000061h mov edx,00000883h mov ecx,SUB_L00488700 call SUB_L00439100 L00404B1D: mov eax,[ebx+38h] xor ecx,ecx xor edx,edx mov eax,[eax+0Ch] mov cx,[eax+02h] mov dx,[eax] push ecx add eax,00000004h push edx push eax push 00000022h push 0000001Eh mov edx,0000082Bh mov ecx,SUB_L00488700 call SUB_L00439100 mov eax,[ebx+38h] xor ecx,ecx xor edx,edx mov eax,[eax+0Ch] mov cx,[eax+02h] mov dx,[eax] push ecx mov ecx,[ebp-18h] add eax,00000004h push edx push eax mov eax,[ebx+20h] sub eax,ecx mov edx,0000082Bh sub eax,00000030h mov ecx,SUB_L00488700 push eax push 0000001Eh call SUB_L00439100 mov ecx,[ebx+000000ACh] lea edx,[ebp-10h] mov [ebp-34h],ecx lea eax,[ebp-1Ch] push edx lea ecx,[ebp-14h] push eax push ecx push SSZ004C425C_Author_ push 00000006h mov ecx,L00669CC8 call SUB_L00437A10 mov ecx,[ebx+38h] mov eax,[ebx+1Ch] lea edx,[ebp-3Ch] push edx mov edx,[ecx+0Ch] mov ecx,[ebx+000000A4h] add edx,00000004h push eax mov eax,[ebp-10h] push edx push SSZ004C425C_Author_ push edi add eax,00000028h push 00000006h push eax push ecx mov ecx,L00669CC8 call SUB_L004375A0 lea edx,[ebp-10h] lea eax,[ebp-1Ch] push edx lea ecx,[ebp-20h] push eax lea esi,[ebx+000000C0h] push ecx push esi push 00000009h mov ecx,L00669CC8 call SUB_L00437A10 mov ecx,[ebx+38h] mov eax,[ebx+1Ch] lea edx,[ebp-3Ch] push edx mov edx,[ecx+0Ch] push eax mov eax,[ebp-10h] mov ecx,[ebx+000000A4h] add edx,00000004h add eax,0000002Eh push edx mov edx,[ebp-14h] push esi push 00000386h push 00000009h push eax lea eax,[edx+ecx+04h] mov ecx,L00669CC8 push eax call SUB_L004375A0 lea ecx,[ebp-10h] lea edx,[ebp-1Ch] push ecx lea eax,[ebp-14h] push edx push eax push SSZ004C4254_Time_ push 00000006h mov ecx,L00669CC8 call SUB_L00437A10 mov eax,[ebx+38h] mov edx,[ebx+1Ch] lea ecx,[ebp-3Ch] push ecx mov ecx,[eax+0Ch] mov eax,[ebx+000000A4h] add ecx,00000004h push edx mov edx,[ebp-10h] push ecx push SSZ004C4254_Time_ push edi add edx,00000038h push 00000006h push edx push eax mov ecx,L00669CC8 call SUB_L004375A0 lea ecx,[ebp-10h] lea edx,[ebp-1Ch] push ecx lea eax,[ebp-20h] push edx lea esi,[ebx+0000012Eh] push eax push esi push 00000009h mov ecx,L00669CC8 call SUB_L00437A10 mov eax,[ebx+38h] mov edx,[ebx+1Ch] lea ecx,[ebp-3Ch] push ecx mov ecx,[eax+0Ch] mov eax,[ebx+000000A4h] add ecx,00000004h push edx mov edx,[ebp-10h] push ecx mov ecx,[ebp-14h] push esi push 00000386h add edx,0000003Eh push 00000009h push edx lea edx,[ecx+eax+04h] push edx mov ecx,L00669CC8 call SUB_L004375A0 lea eax,[ebp-10h] lea ecx,[ebp-1Ch] push eax lea edx,[ebp-14h] push ecx push edx push SSZ004C4248_Subject_ push 00000006h mov ecx,L00669CC8 call SUB_L00437A10 mov edx,[ebx+38h] mov ecx,[ebx+1Ch] lea eax,[ebp-3Ch] push eax mov eax,[edx+0Ch] mov edx,[ebx+000000A4h] add eax,00000004h push ecx mov ecx,[ebp-10h] push eax push SSZ004C4248_Subject_ push edi add ecx,00000048h push 00000006h push ecx push edx mov ecx,L00669CC8 call SUB_L004375A0 cmp [ebx+000000B8h],edi jnz L00404D86 lea eax,[ebp-10h] lea ecx,[ebp-1Ch] push eax lea edx,[ebp-20h] push ecx lea esi,[ebx+000000DEh] push edx push esi push 00000009h mov ecx,L00669CC8 call SUB_L00437A10 mov edx,[ebx+38h] mov ecx,[ebx+1Ch] lea eax,[ebp-3Ch] push eax mov eax,[edx+0Ch] mov edx,[ebx+000000A4h] add eax,00000004h push ecx mov ecx,[ebp-10h] push eax mov eax,[ebp-14h] push esi push 00000386h add ecx,0000004Eh push 00000009h push ecx lea ecx,[eax+edx+04h] push ecx mov ecx,L00669CC8 call SUB_L004375A0 jmp L00404E63 L00404D86: push 00000158h call SUB_L0049A820 add esp,00000004h mov [ebp+2Ch],eax cmp eax,edi mov byte ptr [ebp-04h],01h jz L00404DDA mov cx,[ebx+000000ACh] mov edx,[ebp-14h] push edi push edi sub cx,dx push 00000001h sub cx,[ebx+000000A4h] push 00000008h push 00000009h push 0000003Ch push edi sub ecx,00000004h push 00000010h push ecx mov ecx,[ebx+000000A4h] push ebx push 0000004Ch lea edx,[edx+ecx+04h] mov ecx,eax push edx call SUB_L0041A980 jmp L00404DDC L00404DDA: xor eax,eax L00404DDC: mov edi,[ebp+14h] mov [ebx+00000094h],eax mov dword ptr [eax+000000CCh],00000001h mov edx,[ebx+00000094h] or ecx,FFFFFFFFh xor eax,eax add edx,000000ECh push 0000E023h repne scasb not ecx sub edi,ecx mov byte ptr [ebp-04h],00h mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov ecx,[ebx+00000094h] mov edx,[ecx] call [edx+44h] mov ecx,[ebx+00000094h] call SUB_L0041AC50 mov eax,[ebx+00000094h] mov ecx,L00669608 push eax call SUB_L0043FF10 mov ecx,[ebx+00000094h] call SUB_L0041AC50 mov ecx,[ebx+00000094h] push 00000001h push ebx call SUB_L004415C0 xor edi,edi L00404E63: mov ecx,[ebx+1Ch] mov edx,[ebx+38h] mov [ebp-34h],ecx lea eax,[ebx+000000A4h] mov ecx,[edx+0Ch] push eax push ecx mov ecx,[eax] push 00000835h mov edx,0000006Eh call SUB_L00406BC0 mov ecx,ebx call SUB_L00406430 push 000000B4h call SUB_L0049A820 add esp,00000004h mov [ebp+14h],eax cmp eax,edi mov byte ptr [ebp-04h],02h jz L00404ECB mov edx,[ebx+20h] mov ecx,[ebp-18h] sub edx,ecx push 00000828h sub edx,00000032h push ebx push edx push 00000001h push 00000078h push 000000FEh mov ecx,eax call SUB_L00412A50 jmp L00404ECD L00404ECB: xor eax,eax L00404ECD: push 00000001h push ebx mov ecx,eax mov byte ptr [ebp-04h],00h mov [ebx+00000098h],eax call SUB_L004415C0 mov ecx,[ebx+00000098h] push 00000001h push edi call SUB_L00412F50 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp+14h],eax cmp eax,edi mov byte ptr [ebp-04h],03h jz L00404F34 mov ecx,[ebx+20h] mov edx,[ebp-18h] push edi push 0000082Eh push 0000082Eh push L00411810 sub ecx,edx push edi push edi sub ecx,00000003h push ebx push ecx push 0000008Bh mov ecx,eax call SUB_L004122F0 jmp L00404F36 L00404F34: xor eax,eax L00404F36: push 00000001h push ebx mov ecx,eax mov byte ptr [ebp-04h],00h mov dword ptr [eax+000000A4h],0000082Fh call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp+14h],eax cmp eax,edi mov byte ptr [ebp-04h],04h jz L00404F8A push edi push 00000824h push 00000824h push L004100C0 push edi push 00000002h push ebx push 0000006Ah push 000000F6h mov ecx,eax call SUB_L004122F0 jmp L00404F8C L00404F8A: xor eax,eax L00404F8C: push 00000001h push ebx mov ecx,eax mov byte ptr [ebp-04h],00h call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp+14h],eax cmp eax,edi mov byte ptr [ebp-04h],05h jz L00404FE0 mov edx,[ebx+20h] mov esi,[ebp-18h] push edi push 00000825h push 00000825h push L00410100 sub edx,esi push edi push 00000002h sub edx,00000034h push ebx push edx push 000000F6h mov ecx,eax call SUB_L004122F0 jmp L00404FE2 L00404FE0: xor eax,eax L00404FE2: push 00000001h push ebx mov ecx,eax mov byte ptr [ebp-04h],00h call SUB_L004415C0 mov eax,[ebx+000000B8h] mov [ebx+000000A0h],edi cmp eax,edi mov [ebx+0000009Ch],edi jz L00405041 lea eax,[ebp-24h] lea edx,[ebp-14h] push eax mov ecx,00000886h call SUB_L004390A0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp+14h],eax cmp eax,edi mov byte ptr [ebp-04h],06h jz L00405094 push edi push 00000886h push 00000886h push L0040FDA0 jmp L0040507A L00405041: lea edx,[ebp-24h] mov ecx,00000884h push edx lea edx,[ebp-14h] call SUB_L004390A0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp+14h],eax cmp eax,edi mov byte ptr [ebp-04h],07h jz L00405094 push edi push 00000884h push 00000884h push L0040FE00 L0040507A: mov ecx,[ebx+20h] mov edx,[ebp-18h] sub ecx,edx push edi push edi sub ecx,00000018h push ebx push ecx push 00000025h mov ecx,eax call SUB_L004122F0 jmp L00405096 L00405094: xor eax,eax L00405096: mov [ebx+0000009Ch],eax mov [eax+000000C0h],edi mov ecx,[ebx+0000009Ch] push 00000001h push ebx mov byte ptr [ebp-04h],00h call SUB_L004415C0 cmp [ebx+000000B8h],edi jnz L0040518C mov edi,[ebp+10h] mov esi,L006BB372 L004050C8: mov dl,[esi] mov cl,[edi] mov al,dl cmp dl,cl jnz L004050F0 test al,al jz L004050EC mov cl,[esi+01h] mov dl,[edi+01h] mov al,cl cmp cl,dl jnz L004050F0 add esi,00000002h add edi,00000002h test al,al jnz L004050C8 L004050EC: xor eax,eax jmp L004050F5 L004050F0: sbb eax,eax sbb eax,FFFFFFFFh L004050F5: test eax,eax jnz L0040518C mov edx,[ebx+34h] mov eax,[edx+00000088h] cmp dword ptr [eax+00000098h],FFFFFFFFh jnz L0040518C lea ecx,[ebp-24h] lea edx,[ebp-14h] push ecx mov ecx,00000885h call SUB_L004390A0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp+14h],eax test eax,eax mov byte ptr [ebp-04h],08h jz L00405168 mov edx,[ebx+20h] mov ecx,[ebp-18h] push 00000000h push 00000885h push 00000885h push L0040FE90 sub edx,ecx push 00000000h push 00000000h sub edx,00000018h push ebx push edx push 000000EBh mov ecx,eax call SUB_L004122F0 jmp L0040516A L00405168: xor eax,eax L0040516A: mov [ebx+000000A0h],eax mov dword ptr [eax+000000C0h],00000000h mov ecx,[ebx+000000A0h] push 00000001h push ebx mov byte ptr [ebp-04h],00h call SUB_L004415C0 L0040518C: mov ecx,[ebp-0Ch] pop edi mov eax,ebx pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0028h ;------------------------------------------------------------------------------ Align 16 L004051B0: push ebp mov ebp,esp push esi mov esi,ecx call SUB_L004051E0 test byte ptr [ebp+08h],01h jz L004051CA push esi call SUB_L0049A810 add esp,00000004h L004051CA: mov eax,esi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L004051E0: push ebp mov ebp,esp push FFFFFFFFh push L004B13C8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push esi mov esi,ecx push edi mov [ebp-10h],esi mov dword ptr [esi],L004B69F0 mov eax,[esi+34h] xor edi,edi cmp eax,edi mov [ebp-04h],edi jz L00405221 cmp [eax+0000008Ch],esi jnz L00405221 mov [eax+0000008Ch],edi L00405221: cmp [esi+00000158h],edi jle L00405248 lea ebx,[esi+00000174h] L0040522F: mov eax,[ebx] push eax call SUB_L0049A810 mov eax,[esi+00000158h] add esp,00000004h inc edi add ebx,00000004h cmp edi,eax jl L0040522F L00405248: mov eax,[esi+000000B8h] test eax,eax jz L00405268 mov ecx,[esi+00000158h] mov edx,[esi+ecx*4+00000174h] push edx call SUB_L0049A810 add esp,00000004h L00405268: mov eax,[esi+38h] mov eax,[eax+04h] test eax,eax jz L0040528C push SSZ004C42BC_BBMsg_frame0_pBMP push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov ecx,[esi+38h] mov dword ptr [ecx+04h],00000000h L0040528C: mov edx,[esi+38h] mov eax,[edx+0Ch] test eax,eax jz L004052B0 push SSZ004C42A8_BBMsg_frame1_pBMP push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov eax,[esi+38h] mov dword ptr [eax+0Ch],00000000h L004052B0: mov eax,[esi+38h] test eax,eax jz L004052CE push SSZ004C4298_BBMsg_framedata push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov dword ptr [esi+38h],00000000h L004052CE: mov ecx,esi mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00441D50 mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 4 L004052F0: push ebp mov ebp,esp push ebx push esi push edi mov esi,ecx push 00000000h call SUB_L00441340 mov eax,[esi+000000B8h] mov ebx,[ebp+08h] mov edi,[ebp+0Ch] mov dword ptr [esi+000000B4h],00000001h test eax,eax mov [esi+6Ch],ebx mov [esi+70h],edi jz L004053D9 cmp ebx,[esi+000000A4h] jl L004053D9 cmp ebx,[esi+000000ACh] jg L004053D9 cmp edi,[esi+000000A8h] jl L004053D9 cmp edi,[esi+000000B0h] jg L004053D9 cmp edi,[esi+0000016Ch] jl L004053D9 push esi mov ecx,L00669608 call SUB_L0043FF10 mov eax,edi mov edi,[esi+0000016Ch] sub eax,edi mov ecx,[esi+00000158h] cdq idiv [esi+00000170h] cmp eax,ecx mov [esi+00000160h],eax jle L0040538D mov [esi+00000160h],ecx L0040538D: mov eax,[esi+00000160h] cmp eax,ecx jge L004053C8 mov edi,[esi+000000A4h] mov eax,[esi+eax*4+00000174h] sub ebx,edi mov ecx,L00669CC8 push ebx push eax push 00000009h call SUB_L00438C80 mov ecx,esi mov [esi+00000164h],eax call SUB_L00406430 pop edi pop esi pop ebx pop ebp retn 0008h ;------------------------------------------------------------------------------ L004053C8: mov ecx,esi mov dword ptr [esi+00000164h],00000000h call SUB_L00406430 L004053D9: pop edi pop esi pop ebx pop ebp retn 0008h ;------------------------------------------------------------------------------ L004053E0: push ebp mov ebp,esp xor eax,eax mov [ecx+000000B4h],eax mov [L006A9DD4],eax pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 L00405400: push ebp mov ebp,esp mov eax,[ecx+000000B4h] test eax,eax jz L00405428 mov eax,[ebp+0Ch] mov edx,[ecx+70h] push 00000001h push 00000000h sub eax,edx mov edx,[ebp+08h] push 00000001h push eax sub edx,[ecx+6Ch] push edx call SUB_L00440850 L00405428: pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 8 L00405430: push ebp mov ebp,esp push esi mov esi,[ecx+00000158h] test esi,esi jz L00405459 mov eax,[ebp+08h] imul eax,esi cdq idiv [ebp+0Ch] cmp eax,esi mov [ecx+0000015Ch],eax jl L00405459 dec esi mov [ecx+0000015Ch],esi L00405459: call SUB_L00406430 pop esi pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 16 SUB_L00405470: push ebp mov ebp,esp sub esp,0000005Ch push ebx mov ebx,ecx push esi mov esi,[ebp+08h] mov eax,[ebx+000000ACh] mov edx,[ebx+000000A4h] and esi,0000FFFFh sub eax,edx sub eax,00000002h push edi mov ecx,[ebx+esi*4+00000174h] push eax push ecx push 00000009h mov ecx,L00669CC8 mov [ebp-08h],esi call SUB_L00437E00 mov edx,eax cmp edx,FFFFFFFFh jnz L004054D1 mov edi,[ebx+esi*4+00000174h] or ecx,eax xor eax,eax mov [ebp-04h],edi repne scasb mov edi,[ebp-04h] not ecx dec ecx mov [ebp+08h],ecx mov edx,ecx jmp L004054E9 L004054D1: mov edi,[ebx+esi*4+00000174h] inc edx mov [ebp+08h],edx mov [ebp-04h],edi cmp byte ptr [edx+edi],20h jnz L004054E9 inc edx mov [ebp+08h],edx L004054E9: or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx cmp edx,ecx jge L00405688 mov eax,[ebx+00000158h] lea ecx,[eax-01h] cmp esi,ecx jnz L0040557A inc eax cmp eax,00000050h jl L0040552A mov eax,[ebp-04h] mov byte ptr [edx+eax],00h mov dword ptr [L004D77CC],00000001h xor eax,eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L0040552A: push 00000051h mov [ebx+00000158h],eax call SUB_L0049A820 mov ecx,[ebx+00000158h] mov edi,L004D77C0 add esp,00000004h mov [ebx+ecx*4+00000174h],eax or ecx,FFFFFFFFh xor eax,eax mov edx,[ebx+00000158h] repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,[ebx+edx*4+00000174h] mov edx,[ebp+08h] shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov esi,[ebp-08h] L0040557A: mov ecx,[ebx+esi*4+00000174h] mov edi,edx add edi,ecx or ecx,FFFFFFFFh xor eax,eax lea edx,[ebp-5Ch] repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx lea edx,[ebp-5Ch] shr ecx,02h rep movsd mov ecx,eax xor eax,eax and ecx,00000003h rep movsb mov ecx,[ebp-08h] mov edi,[ebx+ecx*4+00000178h] or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov esi,edi mov edi,edx mov edx,ecx or ecx,FFFFFFFFh repne scasb mov ecx,edx dec edi shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb lea edi,[ebp-5Ch] or ecx,FFFFFFFFh repne scasb mov eax,[ebp-08h] not ecx sub edi,ecx mov edx,ecx mov esi,edi mov edi,[ebx+eax*4+00000178h] shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb mov edx,[ebx+eax*4+00000174h] mov ecx,[ebp+08h] mov byte ptr [ecx+edx],00h mov edx,[ebx+00000160h] cmp edx,eax jnz L0040567A mov eax,[ebx+00000164h] cmp eax,ecx jl L0040567A sub eax,ecx mov [ebx+00000164h],eax jns L00405633 mov dword ptr [ebx+00000164h],00000000h L00405633: mov ecx,[ebx+0000015Ch] lea eax,[edx+01h] mov [ebx+00000160h],eax sub eax,ecx inc eax mov esi,[ebx+0000016Ch] imul eax,[ebx+00000170h] mov edx,[ebx+000000B0h] add eax,esi cmp eax,edx jle L0040567A lea eax,[ecx+01h] mov ecx,[ebx+00000158h] push ecx mov ecx,[ebx+00000098h] push eax mov [ebx+0000015Ch],eax call SUB_L00412F50 L0040567A: mov eax,00000001h pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L00405688: pop edi pop esi xor eax,eax pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 L004056A0: push ebp mov ebp,esp sub esp,00000058h mov eax,[ebp+08h] push ebx push esi cmp eax,0000E021h push edi mov ebx,ecx jnz L004056F7 mov eax,[ebx+00000160h] test eax,eax jle L004056C9 mov dword ptr [ebx+00000160h],00000000h L004056C9: mov eax,[ebx+00000160h] or ecx,FFFFFFFFh mov edx,[ebx+eax*4+00000174h] xor eax,eax mov edi,edx repne scasb mov eax,[ebx+00000164h] not ecx dec ecx cmp eax,ecx jle L0040577E mov edi,edx jmp L00405EE5 L004056F7: cmp eax,0000E022h jnz L00405763 mov eax,[ebx+00000158h] mov ecx,[ebx+00000160h] dec eax cmp ecx,eax jge L00405715 mov [ebx+00000160h],eax L00405715: mov edx,[ebx+00000160h] xor ecx,ecx test eax,eax setl cl dec ecx and ecx,eax cmp edx,ecx jle L00405813 xor ecx,ecx test eax,eax setl cl dec ecx and eax,ecx or ecx,FFFFFFFFh mov edx,eax mov [ebx+00000160h],eax xor eax,eax mov edx,[ebx+edx*4+00000174h] mov edi,edx repne scasb mov eax,[ebx+00000164h] not ecx dec ecx cmp eax,ecx jle L0040577E mov edi,edx jmp L00405EE5 L00405763: cmp eax,0000E024h jnz L0040578E mov eax,[ebx+00000164h] test eax,eax jle L00405785 L00405774: mov dword ptr [ebx+00000164h],00000000h L0040577E: mov ecx,ebx call SUB_L00406430 L00405785: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L0040578E: cmp eax,0000E023h jnz L004057BF mov eax,[ebx+00000160h] or ecx,FFFFFFFFh mov edx,[ebx+eax*4+00000174h] xor eax,eax mov edi,edx repne scasb mov eax,[ebx+00000164h] not ecx dec ecx cmp eax,ecx jge L00405785 mov edi,edx jmp L00405EE5 L004057BF: cmp eax,0000E025h jz L00405EA8 cmp eax,0000E027h jz L00405EA1 cmp eax,0000E026h jnz L00405841 mov eax,[ebx+00000160h] test eax,eax jle L00405785 mov ecx,[ebx+0000015Ch] dec eax cmp eax,ecx mov [ebx+00000160h],eax jge L00405813 lea eax,[ecx-01h] mov ecx,[ebx+00000158h] push ecx mov ecx,[ebx+00000098h] push eax mov [ebx+0000015Ch],eax call SUB_L00412F50 L00405813: mov edx,[ebx+00000160h] or ecx,FFFFFFFFh xor eax,eax mov edx,[ebx+edx*4+00000174h] mov edi,edx repne scasb mov eax,[ebx+00000164h] not ecx dec ecx cmp eax,ecx jle L0040577E mov edi,edx jmp L00405EE5 L00405841: cmp eax,0000E028h jnz L00405901 mov eax,[ebx+00000160h] mov edx,[ebx+00000158h] cmp eax,edx jge L00405785 cmp eax,000000F9h jge L00405785 mov ecx,[ebx+0000015Ch] inc eax mov [ebx+00000160h],eax sub eax,ecx inc eax mov edi,[ebx+0000016Ch] imul eax,[ebx+00000170h] mov esi,[ebx+000000B0h] add eax,edi cmp eax,esi jle L004058AA lea eax,[ecx+01h] mov ecx,[ebx+00000098h] push edx push eax mov [ebx+0000015Ch],eax call SUB_L00412F50 L004058AA: mov eax,[ebx+00000160h] mov ecx,[ebx+00000158h] cmp eax,ecx jge L00405774 mov edx,[ebx+eax*4+00000174h] or ecx,FFFFFFFFh mov edi,edx xor eax,eax repne scasb mov eax,[ebx+00000164h] not ecx dec ecx cmp eax,ecx jle L0040577E mov edi,edx or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx mov [ebx+00000164h],ecx mov ecx,ebx call SUB_L00406430 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L00405901: cmp eax,00000008h jnz L00405B87 mov edx,[ebx+00000164h] test edx,edx jle L00405998 mov eax,[ebx+00000160h] or ecx,FFFFFFFFh mov esi,[ebx+eax*4+00000174h] xor eax,eax mov edi,esi repne scasb not ecx dec ecx cmp edx,ecx jge L0040594B lea eax,[edx-01h] lea edi,[ecx-01h] cmp eax,edi jge L0040594B L0040593F: mov dl,[esi+eax+01h] mov [esi+eax],dl inc eax cmp eax,edi jl L0040593F L0040594B: mov byte ptr [esi+ecx-01h],00h mov eax,[ebx+00000164h] dec eax mov [ebx+00000164h],eax mov eax,[ebx+00000158h] cmp eax,00000001h jnz L0040577E mov edi,[ebx+00000174h] or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx jnz L0040577E mov ecx,ebx mov [ebx+00000158h],eax call SUB_L00406430 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L00405998: mov esi,[ebx+00000160h] test esi,esi jle L00405785 mov edx,[ebx+esi*4+00000170h] or ecx,FFFFFFFFh mov edi,edx xor eax,eax repne scasb mov edi,[ebx+esi*4+00000174h] not ecx dec ecx mov [ebp-04h],ecx or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov [ebp+08h],eax mov edi,edx or ecx,FFFFFFFFh xor eax,eax repne scasb mov eax,[ebp+08h] dec edi mov ecx,eax shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov ecx,[ebx+000000ACh] mov edi,[ebx+000000A4h] mov edx,[ebx+00000160h] sub ecx,edi push ecx mov ecx,L00669CC8 mov eax,[ebx+edx*4+00000170h] push eax push 00000009h call SUB_L00437E00 mov edx,eax cmp edx,FFFFFFFFh jnz L00405A3A mov eax,[ebx+00000160h] or ecx,edx mov esi,[ebx+eax*4+00000170h] xor eax,eax mov edi,esi repne scasb not ecx dec ecx mov edx,ecx jmp L00405A4F L00405A3A: mov eax,[ebx+00000160h] inc edx mov esi,[ebx+eax*4+00000170h] cmp byte ptr [edx+esi],20h jnz L00405A4F inc edx L00405A4F: mov edi,esi or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx cmp edx,ecx jge L00405AA2 lea edi,[edx+esi] or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov [ebp+08h],eax mov eax,[ebx+00000160h] shr ecx,02h mov edi,[ebx+eax*4+00000174h] rep movsd mov ecx,[ebp+08h] and ecx,00000003h rep movsb mov eax,[ebx+00000160h] mov ecx,[ebx+eax*4+00000170h] mov byte ptr [ecx+edx],00h jmp L00405B27 L00405AA2: mov ecx,[ebx+00000158h] mov eax,[ebx+00000160h] cmp eax,ecx jge L00405B27 dec ecx mov [ebp+08h],eax cmp eax,ecx jge L00405AF7 lea edx,[ebx+eax*4+00000174h] L00405AC1: mov edi,[edx+04h] or ecx,FFFFFFFFh xor eax,eax add edx,00000004h repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,[edx-04h] shr ecx,02h rep movsd mov ecx,eax mov eax,[ebp+08h] and ecx,00000003h inc eax rep movsb mov ecx,[ebx+00000158h] mov [ebp+08h],eax dec ecx cmp eax,ecx jl L00405AC1 L00405AF7: mov edx,[ebx+00000158h] dec edx mov eax,edx mov [ebx+00000158h],edx mov eax,[ebx+eax*4+00000178h] push eax call SUB_L0049A810 mov edx,[ebx+00000158h] add esp,00000004h mov dword ptr [ebx+edx*4+00000178h],00000000h L00405B27: mov eax,[ebp-04h] mov ecx,[ebx+00000160h] mov [ebx+00000164h],eax mov eax,[ebx+00000158h] dec ecx cmp eax,00000001h mov [ebx+00000160h],ecx jnz L0040577E mov edi,[ebx+00000174h] or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx jnz L0040577E mov [ebx+00000158h],eax mov ecx,[ebx+00000178h] push ecx call SUB_L0049A810 add esp,00000004h mov ecx,ebx call SUB_L00406430 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L00405B87: cmp eax,0000000Dh jnz L00405CFB mov eax,[ebx+00000158h] inc eax cmp eax,00000050h jge L00405785 push 00000051h mov [ebx+00000158h],eax call SUB_L0049A820 mov edx,[ebx+00000158h] mov edi,L004D77C0 or ecx,FFFFFFFFh add esp,00000004h mov [ebx+edx*4+00000174h],eax xor eax,eax repne scasb mov edx,[ebx+00000158h] not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,[ebx+edx*4+00000174h] shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov eax,[ebx+00000158h] mov ecx,[ebx+00000160h] dec eax add ecx,00000002h cmp eax,ecx mov [ebp+08h],eax jl L00405C42 mov edx,eax lea edx,[ebx+edx*4+00000174h] L00405C0A: mov edi,[edx-04h] or ecx,FFFFFFFFh xor eax,eax sub edx,00000004h repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,[edx+04h] shr ecx,02h rep movsd mov ecx,eax mov eax,[ebp+08h] and ecx,00000003h dec eax rep movsb mov ecx,[ebx+00000160h] mov [ebp+08h],eax add ecx,00000002h cmp eax,ecx jge L00405C0A L00405C42: mov edx,[ebx+00000160h] mov ecx,[ebx+00000164h] xor eax,eax mov edi,[ebx+edx*4+00000174h] add edi,ecx or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,[ebx+edx*4+00000178h] shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov ecx,[ebx+00000160h] mov eax,[ebx+00000164h] mov edx,[ebx+ecx*4+00000174h] mov byte ptr [edx+eax],00h mov esi,[ebx+00000160h] mov ecx,[ebx+0000015Ch] inc esi mov eax,esi mov edx,[ebx+000000B0h] sub eax,ecx mov [ebx+00000160h],esi inc eax mov esi,[ebx+0000016Ch] imul eax,[ebx+00000170h] add eax,esi cmp eax,edx jle L00405CC8 inc ecx mov [ebx+0000015Ch],ecx L00405CC8: mov ecx,ebx mov dword ptr [ebx+00000164h],00000000h call SUB_L00406430 mov ecx,[ebx+00000158h] mov edx,[ebx+0000015Ch] push ecx mov ecx,[ebx+00000098h] push edx call SUB_L00412F50 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L00405CFB: push eax push 00000009h mov ecx,L00669CC8 call SUB_L00437140 test eax,eax jz L00405785 mov eax,[ebx+00000158h] mov ecx,[ebx+00000160h] cmp ecx,eax jnz L00405D74 inc eax cmp eax,00000050h jge L00405785 push 00000051h mov [ebx+00000158h],eax call SUB_L0049A820 mov ecx,[ebx+00000158h] mov edi,L004D77C0 add esp,00000004h mov [ebx+ecx*4+00000174h],eax or ecx,FFFFFFFFh xor eax,eax mov edx,[ebx+00000158h] repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,[ebx+edx*4+00000174h] shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb L00405D74: mov ecx,[ebx+00000160h] xor eax,eax mov esi,[ebx+00000164h] mov edx,[ebx+ecx*4+00000174h] or ecx,FFFFFFFFh mov edi,edx repne scasb not ecx dec ecx cmp esi,ecx jnz L00405DBD mov edi,edx or ecx,FFFFFFFFh repne scasb mov al,[ebp+08h] not ecx dec ecx mov esi,ecx mov [esi+edx],al mov ecx,[ebx+00000160h] mov edx,[ebx+ecx*4+00000174h] mov byte ptr [edx+esi+01h],00h jmp L00405E35 L00405DBD: add edx,esi or ecx,FFFFFFFFh mov edi,edx xor eax,eax repne scasb not ecx lea esi,[ebp-58h] sub edi,ecx mov eax,ecx mov [ebp-04h],esi mov esi,edi mov edi,[ebp-04h] shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov cl,[ebp+08h] lea edi,[ebp-58h] mov [edx],cl mov edx,[ebx+00000160h] mov ecx,[ebx+00000164h] mov eax,[ebx+edx*4+00000174h] mov byte ptr [eax+ecx+01h],00h or ecx,FFFFFFFFh xor eax,eax mov edx,[ebx+00000160h] repne scasb not ecx sub edi,ecx mov esi,edi mov edi,[ebx+edx*4+00000174h] mov edx,ecx or ecx,FFFFFFFFh repne scasb mov ecx,edx dec edi shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb L00405E35: mov esi,[ebx+00000164h] mov ecx,ebx inc esi mov [ebx+00000164h],esi mov dword ptr [L004D77CC],00000000h mov esi,[ebx+00000160h] push esi call SUB_L00405470 test eax,eax jz L00405E6B L00405E5E: inc esi mov ecx,ebx push esi call SUB_L00405470 test eax,eax jnz L00405E5E L00405E6B: cmp esi,[ebx+00000160h] jnz L0040577E mov eax,[L004D77CC] test eax,eax jz L0040577E mov eax,[ebx+00000164h] mov ecx,ebx dec eax mov [ebx+00000164h],eax call SUB_L00406430 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L00405EA1: cmp eax,0000E025h jnz L00405F05 L00405EA8: mov eax,[ebx+00000164h] test eax,eax jle L00405EC9 dec eax mov ecx,ebx mov [ebx+00000164h],eax call SUB_L00406430 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L00405EC9: mov eax,[ebx+00000160h] test eax,eax jle L0040577E dec eax mov [ebx+00000160h],eax mov edi,[ebx+eax*4+00000174h] L00405EE5: or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx mov [ebx+00000164h],ecx mov ecx,ebx call SUB_L00406430 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L00405F05: cmp eax,0000E027h jnz L00405785 mov edx,[ebx+00000160h] or ecx,FFFFFFFFh xor eax,eax mov esi,[ebx+00000164h] mov edi,[ebx+edx*4+00000174h] repne scasb not ecx dec ecx cmp esi,ecx jge L00405F48 inc esi mov ecx,ebx mov [ebx+00000164h],esi call SUB_L00406430 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L00405F48: cmp edx,[ebx+00000158h] jge L0040577E lea eax,[edx+01h] mov edx,[ebx+00000170h] mov edi,[ebx+000000A8h] mov [ebx+00000160h],eax lea ecx,[eax+01h] imul edx,ecx mov ecx,[ebx+000000B0h] sub ecx,edi cmp edx,ecx jle L00405774 dec eax mov ecx,ebx mov [ebx+00000160h],eax call SUB_L00406430 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 L00405FA0: push ebp mov ebp,esp sub esp,00000028h push ebx push esi mov esi,ecx push edi mov edi,[esi+44h] test edi,edi jz L00406022 L00405FB2: mov eax,[edi] mov ecx,edi call [eax+000000B4h] test eax,eax jz L00406000 mov eax,[edi+2Ch] mov ecx,[esi+18h] mov edx,[esi+1Ch] add ecx,eax sub ecx,edx mov [edi+0000009Ch],ecx mov edx,[esi+18h] mov ebx,[esi+1Ch] add edx,eax sub edx,ebx mov eax,ecx mov ecx,[ebp+0Ch] mov [edi+000000A0h],edx mov [edi+2Ch],eax mov edx,[esi+20h] mov eax,[edi+000000A8h] sub ecx,edx add eax,ecx mov [edi+000000A8h],eax jmp L0040601B L00406000: mov ecx,[esi+20h] mov ebx,[edi+30h] mov eax,ecx cdq sub eax,edx sar eax,1 cmp ebx,eax jle L0040601B mov edx,[ebp+0Ch] sub edx,ecx add edx,ebx mov [edi+30h],edx L0040601B: mov edi,[edi+3Ch] test edi,edi jnz L00405FB2 L00406022: mov eax,[esi+38h] mov eax,[eax+04h] test eax,eax jz L00406046 push SSZ004C42F0_bbmsg_frame0_pBMP push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov ecx,[esi+38h] mov dword ptr [ecx+04h],00000000h L00406046: mov edx,[esi+38h] mov eax,[edx+0Ch] test eax,eax jz L0040606A push SSZ004C42F0_bbmsg_frame0_pBMP push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov eax,[esi+38h] mov dword ptr [eax+0Ch],00000000h L0040606A: mov eax,[ebp+0Ch] push SSZ004C42E0_bbmsg_frame0 mov [esi+20h],eax imul eax,[esi+1Ch] lea ecx,[eax+eax+04h] push ecx mov ecx,L00669C8C call SUB_L0044FBD0 mov edx,[esi+38h] push SSZ004C42D0_bbmsg_frame1 mov [edx+04h],eax mov ecx,[esi+20h] imul ecx,[esi+1Ch] mov edx,[esi+38h] xor eax,eax shl ecx,1 mov edi,[edx+04h] mov edx,ecx add edi,00000004h shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+38h] mov dx,[esi+1Ch] mov ecx,[eax+04h] mov [ecx],dx mov eax,[esi+38h] mov dx,[esi+20h] mov ecx,[eax+04h] mov [ecx+02h],dx mov eax,[esi+20h] imul eax,[esi+1Ch] lea ecx,[eax+eax+04h] push ecx mov ecx,L00669C8C call SUB_L0044FBD0 mov edx,[esi+38h] mov [edx+0Ch],eax mov ecx,[esi+20h] imul ecx,[esi+1Ch] mov edx,[esi+38h] xor eax,eax shl ecx,1 mov edi,[edx+0Ch] mov edx,ecx add edi,00000004h shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+38h] mov dx,[esi+1Ch] mov ecx,[eax+0Ch] mov [ecx],dx mov eax,[esi+38h] mov dx,[esi+20h] mov ecx,[eax+0Ch] lea eax,[ebp-10h] push eax mov [ecx+02h],dx lea edx,[ebp-18h] mov ecx,0000082Eh call SUB_L004390A0 mov eax,[esi+20h] mov ecx,[ebp-10h] mov edx,eax mov [ebp-1Ch],eax mov eax,[esi+38h] sub edx,ecx sub edx,00000032h mov dword ptr [ebp-28h],00000000h mov [esi+000000B0h],edx mov edx,[esi+000000ACh] mov dword ptr [ebp-24h],00000000h mov [ebp-20h],edx push ecx mov ecx,[eax+0Ch] push 00000000h push ecx mov ecx,[esi+50h] mov edx,00000002h call SUB_L00484D60 mov eax,[esi+000000B8h] test eax,eax jz L004061B2 mov edx,[esi+38h] xor ecx,ecx mov eax,[edx+0Ch] xor edx,edx mov cx,[eax+02h] mov dx,[eax] push ecx add eax,00000004h push edx push eax push 0000000Ch push 00000061h mov edx,00000883h mov ecx,SUB_L00488700 call SUB_L00439100 L004061B2: mov eax,[esi+38h] xor ecx,ecx xor edx,edx mov eax,[eax+0Ch] mov cx,[eax+02h] mov dx,[eax] push ecx add eax,00000004h push edx push eax push 00000022h push 0000001Eh mov edx,0000082Bh mov ecx,SUB_L00488700 call SUB_L00439100 mov eax,[esi+38h] mov ebx,[ebp-10h] xor ecx,ecx xor edx,edx mov eax,[eax+0Ch] mov cx,[eax+02h] mov dx,[eax] push ecx add eax,00000004h push edx push eax mov eax,[esi+20h] mov edx,0000082Bh sub eax,ebx mov ecx,SUB_L00488700 sub eax,00000030h push eax push 0000001Eh call SUB_L00439100 lea ecx,[ebp-04h] lea edx,[ebp-08h] push ecx lea eax,[ebp-0Ch] push edx push eax push SSZ004C425C_Author_ push 00000006h mov ecx,L00669CC8 call SUB_L00437A10 mov eax,[esi+38h] mov edx,[esi+1Ch] lea ecx,[ebp-28h] lea edi,[esi+000000A4h] push ecx mov ecx,[eax+0Ch] mov eax,[edi] add ecx,00000004h push edx mov edx,[ebp-04h] push ecx push SSZ004C425C_Author_ push 00000000h add edx,00000028h push 00000006h push edx push eax mov ecx,L00669CC8 call SUB_L004375A0 lea ecx,[ebp-04h] lea edx,[ebp-08h] push ecx lea eax,[ebp-14h] lea ebx,[esi+000000C0h] push edx push eax push ebx push 00000009h mov ecx,L00669CC8 call SUB_L00437A10 mov eax,[esi+38h] mov edx,[esi+1Ch] lea ecx,[ebp-28h] push ecx mov ecx,[eax+0Ch] push edx add ecx,00000004h mov edx,[ebp-04h] mov eax,[edi] push ecx mov ecx,[ebp-0Ch] push ebx push 00000386h add edx,0000002Eh push 00000009h push edx lea edx,[ecx+eax+04h] push edx mov ecx,L00669CC8 call SUB_L004375A0 lea eax,[ebp-04h] lea ecx,[ebp-08h] push eax lea edx,[ebp-0Ch] push ecx push edx push SSZ004C4254_Time_ push 00000006h mov ecx,L00669CC8 call SUB_L00437A10 mov edx,[esi+38h] mov ecx,[esi+1Ch] lea eax,[ebp-28h] push eax mov eax,[edx+0Ch] mov edx,[edi] add eax,00000004h push ecx mov ecx,[ebp-04h] push eax push SSZ004C4254_Time_ push 00000000h add ecx,00000038h push 00000006h push ecx push edx mov ecx,L00669CC8 call SUB_L004375A0 lea eax,[ebp-04h] lea ecx,[ebp-08h] push eax lea edx,[ebp-14h] lea ebx,[esi+0000012Eh] push ecx push edx push ebx push 00000009h mov ecx,L00669CC8 call SUB_L00437A10 mov edx,[esi+38h] mov ecx,[esi+1Ch] lea eax,[ebp-28h] push eax mov eax,[edx+0Ch] mov edx,[edi] add eax,00000004h push ecx mov ecx,[ebp-04h] push eax mov eax,[ebp-0Ch] push ebx push 00000386h add ecx,0000003Eh push 00000009h push ecx lea ecx,[eax+edx+04h] push ecx mov ecx,L00669CC8 call SUB_L004375A0 lea edx,[ebp-04h] lea eax,[ebp-08h] push edx lea ecx,[ebp-0Ch] push eax push ecx push SSZ004C4248_Subject_ push 00000006h mov ecx,L00669CC8 call SUB_L00437A10 mov ecx,[esi+38h] mov eax,[esi+1Ch] lea edx,[ebp-28h] push edx mov edx,[ecx+0Ch] mov ecx,[edi] add edx,00000004h push eax mov eax,[ebp-04h] push edx push SSZ004C4248_Subject_ push 00000000h add eax,00000048h push 00000006h push eax push ecx mov ecx,L00669CC8 call SUB_L004375A0 mov eax,[esi+000000B8h] test eax,eax jnz L00406400 lea edx,[ebp-04h] lea eax,[ebp-08h] push edx lea ecx,[ebp-14h] lea ebx,[esi+000000DEh] push eax push ecx push ebx push 00000009h mov ecx,L00669CC8 call SUB_L00437A10 mov ecx,[esi+38h] mov eax,[esi+1Ch] lea edx,[ebp-28h] push edx mov edx,[ecx+0Ch] mov ecx,[edi] add edx,00000004h push eax mov eax,[ebp-04h] push edx mov edx,[ebp-0Ch] push ebx push 00000386h add eax,0000004Eh push 00000009h push eax lea eax,[edx+ecx+04h] push eax mov ecx,L00669CC8 call SUB_L004375A0 L00406400: mov ecx,[esi+38h] push edi mov edx,[ecx+0Ch] mov ecx,[edi] push edx push 00000835h mov edx,0000006Eh call SUB_L00406BC0 mov ecx,esi call SUB_L00406430 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 8 SUB_L00406430: push ebp mov ebp,esp sub esp,00000024h push ebx mov ebx,ecx push esi push edi mov ecx,[ebx+20h] mov eax,[ebx+38h] imul ecx,[ebx+1Ch] mov esi,[eax+0Ch] mov edi,[eax+04h] shl ecx,1 mov eax,ecx add esi,00000004h add edi,00000004h lea edx,[ebp-08h] shr ecx,02h rep movsd mov ecx,eax lea eax,[ebp-14h] and ecx,00000003h rep movsb lea ecx,[ebp-0Ch] push ecx push edx push eax push L004C41E4 push 00000004h mov ecx,L00669CC8 call SUB_L00437A10 mov ecx,[ebx+1Ch] mov edx,[ebx+000000A8h] mov eax,[ebx+000000B0h] mov [ebp-1Ch],ecx mov [ebp-20h],edx lea ecx,[ebp-0Ch] mov [ebp-18h],eax lea edx,[ebp-08h] push ecx lea eax,[ebp-14h] push edx push eax push L004C41E4 push 00000009h mov ecx,L00669CC8 mov dword ptr [ebp-24h],00000000h call SUB_L00437A10 mov eax,[ebx+0000015Ch] mov ecx,[ebx+00000158h] mov edi,[ebx+0000016Ch] cmp eax,ecx mov [ebp-10h],eax jge L004065AF lea ecx,[ebx+eax*4+00000174h] mov eax,[ebp-08h] mov [ebp-04h],ecx L004064E4: mov ecx,[ebx+000000B0h] lea edx,[eax+edi] cmp edx,ecx jge L004065B2 mov ecx,[ebx+38h] mov eax,[ebx+1Ch] lea esi,[ebx+000000A4h] mov edx,[ecx+04h] push esi push eax mov eax,[ebp-04h] add edx,00000004h mov ecx,[eax] mov eax,[esi] push edx mov edx,[ebp-0Ch] push ecx push 00000386h add edx,edi push 00000009h push edx push eax mov ecx,L00669CC8 call SUB_L004375A0 cmp [L0066962C],ebx jnz L0040658A mov ecx,[ebx+00000160h] mov eax,[ebp-10h] cmp ecx,eax jnz L0040658A mov edx,[ebp-04h] mov ecx,[ebx+00000164h] mov eax,[edx] push eax push ecx push 00000009h mov ecx,L00669CC8 call SUB_L00438880 mov ecx,[ebx+1Ch] lea edx,[ebp-24h] push edx mov edx,[ebx+38h] push ecx mov ecx,[edx+04h] mov edx,[ebp-0Ch] add ecx,00000004h push ecx lea ecx,[edx+edi+04h] mov edx,[esi] push L004C4304 push 00000008h push 00000009h add eax,edx push ecx push eax mov ecx,L00669CC8 call SUB_L004371A0 L0040658A: mov eax,[ebp-04h] mov ecx,[ebp-10h] mov edx,[ebx+00000158h] add eax,00000004h mov [ebp-04h],eax mov eax,[ebp-08h] inc ecx add edi,eax cmp ecx,edx mov [ebp-10h],ecx jl L004064E4 jmp L004065B2 L004065AF: mov eax,[ebp-08h] L004065B2: cmp [L0066962C],ebx jnz L00406609 mov ecx,[ebx+00000160h] mov edx,[ebx+00000158h] cmp ecx,edx jnz L00406609 lea edx,[ebp-24h] imul eax,ecx push edx mov edx,[ebx+1Ch] mov edi,[ebp-0Ch] mov ecx,[ebx+0000016Ch] push edx mov edx,[ebx+38h] add eax,edi mov edx,[edx+04h] add edx,00000004h push edx push L004C4304 push 00000008h lea edx,[eax+ecx+04h] mov eax,[ebx+000000A4h] push 00000009h push edx push eax mov ecx,L00669CC8 call SUB_L004371A0 L00406609: pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00406610: push ebp mov ebp,esp sub esp,00000018h push ebx xor eax,eax push esi mov esi,ecx mov [ebp-08h],eax mov [ebp-04h],eax lea eax,[ebp-04h] push edi lea ecx,[ebp-08h] push eax push ecx mov ecx,esi call SUB_L00440C60 mov eax,[ebp-08h] mov edx,[ebp-04h] mov ecx,[esi+38h] mov [ebp-18h],eax mov [ebp-14h],edx xor ebx,ebx mov edi,[ecx+04h] mov bx,[edi] mov edi,[ebp+08h] add eax,ebx mov [ebp-10h],eax mov eax,[ecx+04h] xor ecx,ecx mov cx,[eax+02h] add ecx,edx lea edx,[ebp-18h] mov [ebp-0Ch],ecx push edx push edi mov ecx,L00669608 call SUB_L00440D40 test eax,eax jz L004066C6 mov ecx,[L004C7F38] mov edx,[L004C7F34] mov eax,[esi+38h] push ecx mov ecx,[L006BAE7C] push edx mov edx,[ebp-04h] mov eax,[eax+04h] push ecx mov ecx,[ebp-08h] push edx push ecx xor edx,edx xor ecx,ecx mov dx,[eax+02h] mov cx,[eax] push edx push ecx push edi lea edx,[eax+04h] mov ecx,SUB_L00488700 call SUB_L00439500 mov esi,[esi+4Ch] test esi,esi jz L004066C6 L004066B7: mov edx,[esi] push edi mov ecx,esi call [edx+0Ch] mov esi,[esi+40h] test esi,esi jnz L004066B7 L004066C6: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 4 L004066D0: push ebp mov ebp,esp mov eax,[ebp+08h] test eax,eax jl L004066F4 mov edx,[ebp+0Ch] test edx,edx jl L004066F4 cmp eax,[ecx+1Ch] jge L004066F4 cmp edx,[ecx+20h] jge L004066F4 mov eax,00000001h pop ebp retn 0008h ;------------------------------------------------------------------------------ L004066F4: xor eax,eax pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 8 SUB_L00406700: push ebp mov ebp,esp push ebx mov ebx,ecx push esi push edi mov esi,[ebx+00000158h] or ecx,FFFFFFFFh inc esi xor eax,eax mov [ebx+00000158h],esi mov esi,[ebp+08h] mov edi,esi repne scasb not ecx push ecx call SUB_L0049A820 mov ecx,[ebx+00000158h] mov edi,esi add esp,00000004h mov [ebx+ecx*4+00000170h],eax or ecx,FFFFFFFFh xor eax,eax mov edx,[ebx+00000158h] repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,[ebx+edx*4+00000170h] shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 8 SUB_L00406770: push ebp mov ebp,esp push esi mov esi,ecx call SUB_L0042FCC0 mov ax,[ebp+08h] mov cx,[ebp+0Ch] mov edx,[ebp+14h] mov [esi+20h],ax mov eax,[ebp+18h] mov [esi+22h],cx mov ecx,[ebp+10h] mov dword ptr [esi],L004B6B38 mov [esi+40h],ecx mov [esi+44h],edx mov [esi+48h],eax mov eax,[eax+000000B0h] test eax,eax mov [esi+4Ch],eax jz L004067B3 mov [eax+50h],esi L004067B3: mov eax,[esi+48h] mov dword ptr [esi+50h],00000000h mov [eax+000000B0h],esi mov eax,[esi+48h] mov [esi+08h],ecx mov ecx,[eax+04h] mov [esi+10h],edx mov [esi+04h],ecx mov edx,[eax+0Ch] mov [esi+0Ch],edx mov ecx,[eax+28h] movsx edx,[esi+20h] mov [esi+28h],ecx movsx ecx,[esi+22h] add edx,ecx mov [esi+2Ch],edx mov edx,[eax+30h] mov [esi+30h],edx mov eax,esi pop esi pop ebp retn 0014h ;------------------------------------------------------------------------------ Align 16 L00406800: mov ax,[ecx+24h] retn ;------------------------------------------------------------------------------ Align 16 L00406810: push ebp mov ebp,esp mov ax,[ecx+24h] pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 8 L00406820: push ebp mov ebp,esp push esi mov esi,ecx call SUB_L00406850 test byte ptr [ebp+08h],01h jz L0040683A push esi call SUB_L0049A810 add esp,00000004h L0040683A: mov eax,esi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00406850: push ebp mov ebp,esp push FFFFFFFFh push L004B13E8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx mov [ebp-10h],esi mov dword ptr [esi],L004B6B38 mov eax,[esi+1Ch] mov dword ptr [ebp-04h],00000000h test eax,eax jz L00406888 call SUB_L0042FDF0 L00406888: mov eax,[esi+4Ch] test eax,eax jz L00406895 mov ecx,[esi+50h] mov [eax+50h],ecx L00406895: mov eax,[esi+50h] test eax,eax jz L004068A4 mov edx,[esi+4Ch] mov [eax+4Ch],edx jmp L004068B8 L004068A4: mov eax,[esi+48h] cmp [eax+000000B0h],esi jnz L004068B8 mov ecx,[esi+4Ch] mov [eax+000000B0h],ecx L004068B8: mov ecx,esi mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L0042FD20 mov ecx,[ebp-0Ch] pop esi mov fs:[00000000h],ecx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 L004068E0: test ecx,ecx jz L004068EA mov eax,[ecx] push 00000001h call [eax] L004068EA: retn ;------------------------------------------------------------------------------ Align 8 SUB_L004068F0: retn ;------------------------------------------------------------------------------ Align 16 L00406900: push ebp mov ebp,esp sub esp,00000010h mov eax,[ebp+08h] push esi push edi mov edi,[L004DAF44] mov edx,[eax] mov [ebp-10h],edx mov edx,[eax+04h] mov [ebp-0Ch],edx mov esi,[eax+08h] mov [ebp-08h],esi mov esi,[eax+0Ch] mov eax,[ecx+40h] sub eax,edi mov [ebp-04h],esi cmp edx,eax jg L00406934 mov [ebp-0Ch],eax L00406934: mov eax,[ecx+44h] sub eax,edi cmp esi,eax jl L00406940 mov [ebp-04h],eax L00406940: mov dword ptr [L004DAFA4],00000001h mov ecx,[ecx+48h] lea edx,[ebp-10h] mov eax,[ecx] push edx call [eax+08h] pop edi mov dword ptr [L004DAFA4],00000000h pop esi mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 L00406970: db 8Bh; '<' db 49h; 'I' db 48h; 'H' db 8Bh; '<' db 01h; db FFh; 'ï' db 60h; '`' db 3Ch; '<' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' SUB_L00406980: push ebp mov ebp,esp sub esp,000001C0h push ebx push esi mov esi,ecx push edi mov edi,esi or ecx,FFFFFFFFh xor eax,eax mov [ebp-18h],edx repne scasb not ecx dec ecx mov edi,edx mov [ebp-0Ch],ecx mov [ebp-30h],esi lea ebx,[ecx-01h] or ecx,FFFFFFFFh repne scasb not ecx dec ecx mov edi,esi mov [ebp-1Ch],ecx or ecx,FFFFFFFFh repne scasb not ecx dec ecx mov edi,L004D7960 mov eax,ecx mov ecx,00000100h rep stosd lea edx,[eax-01h] mov al,[esi] test al,al mov [ebp-10h],ebx mov [ebp-08h],ebx jz L00406A00 mov [ebp-04h],esi mov edi,edx L004069DF: movsx eax,al push eax call SUB_L0049AD20 mov [L004D7960+eax*4],edi mov eax,[ebp-04h] add esp,00000004h dec edi inc eax mov [ebp-04h],eax mov al,[eax] test al,al jnz L004069DF L00406A00: mov edi,esi or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx mov eax,ecx cmp eax,00000001h mov [ebp-20h],eax lea ecx,[eax-01h] jle L00406A93 lea edx,[ebp-000001BCh] mov [ebp-28h],ecx mov [ebp-14h],edx lea edx,[ecx+esi] mov [ebp-2Ch],edx lea edi,[edx-01h] mov [ebp-24h],edi jmp L00406A36 L00406A33: mov edx,[ebp-2Ch] L00406A36: xor esi,esi test eax,eax jle L00406A78 mov [ebp-04h],edx L00406A3F: movsx eax,[edi] push eax call SUB_L0049AD20 mov ecx,[ebp-04h] add esp,00000004h mov ebx,eax movsx edx,[ecx] push edx call SUB_L0049AD20 add esp,00000004h cmp eax,ebx jnz L00406A72 mov edx,[ebp-04h] mov eax,[ebp-20h] inc esi dec edi dec edx cmp esi,eax mov [ebp-04h],edx jl L00406A3F jmp L00406A75 L00406A72: mov eax,[ebp-20h] L00406A75: mov ebx,[ebp-08h] L00406A78: mov ecx,[ebp-14h] mov edi,[ebp-24h] dec edi mov [ecx],esi add ecx,00000004h mov [ebp-14h],ecx mov ecx,[ebp-28h] dec ecx mov [ebp-24h],edi mov [ebp-28h],ecx jnz L00406A33 L00406A93: cmp eax,00000001h mov dword ptr [L004D77D0],00000001h jle L00406AAC lea ecx,[eax-01h] mov edi,L004D77D4 rep stosd L00406AAC: lea ecx,[eax-01h] test ecx,ecx jle L00406ACB lea edx,[ebp+ecx*4-000001C0h] L00406ABA: mov esi,[edx] sub edx,00000004h mov [L004D77D0+esi*4],ecx dec ecx test ecx,ecx jg L00406ABA L00406ACB: mov ecx,00000001h xor edi,edi cmp eax,ecx jle L00406AF9 lea esi,[eax-02h] xor edx,edx L00406ADB: cmp [ebp+edx-000001BCh],esi jnz L00406AE6 mov edi,ecx L00406AE6: test edi,edi jz L00406AF0 mov [edx+L004D77D4],edi L00406AF0: inc ecx dec esi add edx,00000004h cmp ecx,eax jl L00406ADB L00406AF9: mov eax,[ebp-1Ch] mov ecx,[ebp-10h] cmp ecx,eax jge L00406BB0 L00406B07: mov eax,[ebp-0Ch] xor esi,esi test eax,eax jle L00406B55 mov ecx,[ebp-10h] mov edx,[ebp-30h] mov eax,[ebp-18h] add ecx,edx mov [ebp-04h],ecx lea edi,[ebx+eax] L00406B21: movsx ecx,[edi] push ecx call SUB_L0049AD20 mov edx,[ebp-04h] mov ebx,eax add esp,00000004h movsx eax,[edx] push eax call SUB_L0049AD20 add esp,00000004h cmp ebx,eax jnz L00406B52 mov ecx,[ebp-04h] mov eax,[ebp-0Ch] inc esi dec edi dec ecx cmp esi,eax mov [ebp-04h],ecx jl L00406B21 L00406B52: mov ebx,[ebp-08h] L00406B55: cmp esi,[ebp-0Ch] jz L00406BA2 mov edx,[ebp-18h] mov ecx,ebx sub ecx,esi movsx eax,[ecx+edx] push eax call SUB_L0049AD20 mov eax,[L004D7960+eax*4] mov ecx,[L004D77D0+esi*4] sub eax,esi add ecx,ebx add eax,ebx add esp,00000004h cmp eax,ecx mov ebx,eax jg L00406B8A mov ebx,ecx L00406B8A: mov eax,[ebp-1Ch] mov [ebp-08h],ebx cmp ebx,eax jl L00406B07 or eax,FFFFFFFFh pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00406BA2: mov ecx,[ebp-10h] mov eax,ebx sub eax,ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00406BB0: pop edi pop esi or eax,FFFFFFFFh pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 SUB_L00406BC0: push ebp mov ebp,esp sub esp,00000008h push ebx push edi mov ebx,edx mov edi,ecx mov ecx,[ebp+08h] lea eax,[ebp-08h] push eax lea edx,[ebp-04h] call SUB_L004390A0 mov ecx,[ebp+10h] mov eax,[ecx+08h] cmp edi,eax jg L00406C48 mov ecx,[ebp-04h] push esi mov esi,[ebp+0Ch] L00406BEC: add ecx,edi cmp ecx,eax jl L00406C18 xor edx,edx xor eax,eax mov dx,[esi+02h] mov ax,[esi] push edx mov edx,[ebp+10h] lea ecx,[esi+04h] push eax push ecx push ebx push edi push edx mov edx,[ebp+08h] mov ecx,SUB_L00488700 call SUB_L00439290 jmp L00406C38 L00406C18: xor eax,eax xor ecx,ecx mov ax,[esi+02h] mov cx,[esi] push eax lea edx,[esi+04h] push ecx push edx mov edx,[ebp+08h] push ebx push edi mov ecx,SUB_L00488700 call SUB_L00439100 L00406C38: mov eax,[ebp+10h] mov ecx,[ebp-04h] add edi,ecx mov eax,[eax+08h] cmp edi,eax jle L00406BEC pop esi L00406C48: pop edi pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ SUB_L00406C50: push ebp mov ebp,esp push ecx push ebx push esi mov ebx,ecx xor esi,esi test ebx,ebx push edi jz L00406C9B mov edi,ebx or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx test ecx,ecx jle L00406C9B mov ecx,L004D7D60 mov edx,ebx sub ecx,ebx mov [ebp-04h],ecx jmp L00406C80 L00406C7D: mov ecx,[ebp-04h] L00406C80: mov al,[edx] cmp al,28h jz L00406C9B mov [ecx+edx],al inc esi mov edi,ebx or ecx,FFFFFFFFh xor eax,eax inc edx repne scasb not ecx dec ecx cmp esi,ecx jl L00406C7D L00406C9B: mov byte ptr [esi+L004D7D5F],00h pop edi pop esi mov eax,L004D7D60 pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 4 SUB_L00406CB0: push ebp mov ebp,esp push ecx push ebx push esi push edi mov ebx,ecx call SUB_L00441CB0 xor edx,edx mov edi,L004D77C0 or ecx,FFFFFFFFh xor eax,eax mov dword ptr [ebx],L004B6BD0 mov dword ptr [ebx+04h],SSZ004C4394_book_gump mov [ebx+5Ch],edx mov [ebx+34h],edx mov [ebx+2Ch],edx mov [ebx+30h],edx mov [ebx+00000130h],edx mov [ebx+0000012Ch],edx mov [ebx+00000128h],edx mov [ebx+00000124h],edx mov [ebx+00000120h],edx mov [ebx+0000011Ch],edx mov [ebx+60h],edx mov [ebx+50h],edx mov [ebx+4Ch],edx mov [ebx+48h],edx mov [ebx+44h],edx mov [ebx+40h],edx mov [ebx+3Ch],edx mov [ebx+10h],edx mov [ebx+14h],edx mov [ebx+000000A8h],dx mov [ebx+000000AAh],dx mov [ebx+0000009Ch],edx mov [ebx+00000098h],edx mov [ebx+00000094h],edx mov [ebx+000000A4h],edx mov [ebx+000000A0h],edx repne scasb not ecx lea esi,[ebx+000000ACh] sub edi,ecx mov eax,ecx mov [ebp-04h],esi mov esi,edi mov edi,[ebp-04h] shr ecx,02h rep movsd mov ecx,eax xor eax,eax and ecx,00000003h rep movsb mov edi,L004D77C0 or ecx,FFFFFFFFh repne scasb not ecx lea esi,[ebx+000000E8h] sub edi,ecx mov eax,ecx mov [ebp-04h],esi mov esi,edi mov edi,[ebp-04h] shr ecx,02h rep movsd mov ecx,eax mov eax,ebx and ecx,00000003h rep movsb pop edi mov [ebx+0000010Ch],edx mov [ebx+00000108h],edx pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 L00406DC0: push ebp mov ebp,esp push esi mov esi,ecx call SUB_L00407380 test byte ptr [ebp+08h],01h jz L00406DDA push esi call SUB_L0049A810 add esp,00000004h L00406DDA: mov eax,esi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00406DF0: push ebp mov ebp,esp push FFFFFFFFh push L004B141E mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000660h push ebx push esi mov ebx,ecx push edi mov [ebp-1Ch],ebx call SUB_L00441CB0 mov eax,[ebp+14h] xor edi,edi mov dword ptr [ebx],L004B6BD0 mov dword ptr [ebx+04h],SSZ004C4394_book_gump mov [ebx+5Ch],edi cmp eax,edi mov [ebp-04h],edi mov [ebx+34h],eax jz L00406E40 mov [eax+00000088h],ebx L00406E40: mov ecx,[ebp+0Ch] mov eax,[ebp+08h] mov [ebx+30h],ecx mov ecx,[ebp+10h] mov edx,ecx mov [ebx+2Ch],eax neg edx lea eax,[ebx+20h] lea esi,[ebx+1Ch] mov [ebx+50h],edx push eax mov edx,esi mov [ebx+00000130h],edi mov [ebx+0000012Ch],edi mov [ebx+00000128h],edi mov [ebx+00000124h],edi mov [ebx+00000120h],edi mov [ebx+0000011Ch],edi mov [ebx+60h],edi mov [ebx+4Ch],edi mov [ebx+48h],edi mov [ebx+44h],edi mov [ebx+40h],edi mov [ebx+3Ch],edi call SUB_L004390A0 mov eax,[esi] push SSZ004C43B0_framedata_for_CCourseGump push 00000008h mov ecx,L00669C8C mov [ebx+18h],eax mov [ebx+10h],edi mov dword ptr [ebx+14h],00000001h call SUB_L0044FBD0 mov ecx,[ebx+14h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [ebx+38h],edi push SSZ004C43A0_course_frame0 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi] imul eax,[ebx+20h] lea ecx,[eax+eax+04h] push ecx mov ecx,L00669C8C call SUB_L0044FBD0 mov edx,[ebx+38h] mov [edx+04h],eax mov ecx,[esi] imul ecx,[ebx+20h] mov edx,[ebx+38h] xor eax,eax shl ecx,1 mov edi,[edx+04h] mov edx,ecx add edi,00000004h shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[ebx+38h] mov dx,[esi] mov edi,[ebp+18h] mov ecx,[eax+04h] mov [ecx],dx mov eax,[ebx+38h] mov dx,[ebx+20h] mov ecx,[eax+04h] xor eax,eax mov [ecx+02h],dx or ecx,FFFFFFFFh repne scasb not ecx lea edx,[ebx+000000ACh] sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx lea edx,[ebx+000000E8h] shr ecx,02h rep movsd mov ecx,eax xor eax,eax and ecx,00000003h rep movsb mov edi,[ebp+1Ch] or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax mov eax,[ebp+20h] and ecx,00000003h rep movsb mov ecx,[ebp+24h] xor esi,esi cmp ecx,esi mov [ebx+000000A8h],si mov [ebx+000000AAh],ax mov [ebx+000000A0h],ecx mov [ebx+000000A4h],esi mov [ebx+00000098h],esi mov [ebx+00000094h],esi jz L004070B3 cmp ax,si jbe L00406FD9 and eax,0000FFFFh lea ecx,[eax+eax*4] lea ecx,[ecx+ecx*4] lea edx,[eax+ecx*8] shl edx,03h push edx call SUB_L0049A820 add esp,00000004h mov [ebx+0000009Ch],eax jmp L00406FDF L00406FD9: mov [ebx+0000009Ch],esi L00406FDF: cmp [ebx+000000AAh],si mov [ebp+08h],esi jbe L00407086 jmp L00406FF3 L00406FF1: xor esi,esi L00406FF3: mov edx,[ebp+08h] mov ecx,[ebx+0000009Ch] and edx,0000FFFFh mov [ebp+14h],esi mov dword ptr [ebp+0Ch],00000014h lea eax,[edx+edx*4] lea eax,[eax+eax*4] lea edx,[edx+eax*8] shl edx,03h mov [ecx+edx],si mov eax,[ebx+0000009Ch] mov [eax+edx+00000644h],esi L00407029: mov ecx,[ebx+0000009Ch] mov esi,[ebp+14h] add ecx,esi mov edi,L004D77C0 xor eax,eax lea esi,[ecx+edx+02h] or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov [ebp+10h],esi mov eax,ecx mov esi,edi mov edi,[ebp+10h] shr ecx,02h rep movsd mov ecx,eax mov eax,[ebp+0Ch] and ecx,00000003h rep movsb mov ecx,[ebp+14h] add ecx,00000050h dec eax mov [ebp+14h],ecx mov [ebp+0Ch],eax jnz L00407029 mov eax,[ebp+08h] inc eax cmp ax,[ebx+000000AAh] mov [ebp+08h],eax jc L00406FF1 xor esi,esi L00407086: cmp word ptr [ebx+000000AAh],0001h jc L004070FE xor eax,eax mov ax,[ebx+000000A8h] lea ecx,[eax+eax*4] lea ecx,[ecx+ecx*4] lea edx,[eax+ecx*8] mov eax,[ebx+0000009Ch] lea ecx,[eax+edx*8] mov [ebx+00000098h],ecx jmp L004070FE L004070B3: push 00000C90h call SUB_L0049A820 add esp,00000004h mov [ebx+0000009Ch],eax xor eax,eax mov ecx,00000002h L004070CD: mov edx,[ebx+0000009Ch] add eax,00000648h dec ecx mov [edx+eax-00000648h],si jnz L004070CD cmp word ptr [ebx+000000AAh],0001h jc L004070FE mov eax,[ebx+0000009Ch] add eax,00000648h mov [ebx+00000098h],eax L004070FE: lea ecx,[ebp-14h] lea edx,[ebp-10h] push ecx lea eax,[ebp-18h] push edx push eax push L004C41E4 push 00000004h mov ecx,L00669CC8 call SUB_L00437A10 push 00000158h call SUB_L0049A820 add esp,00000004h mov [ebp+14h],eax cmp eax,esi mov byte ptr [ebp-04h],01h jz L0040716A mov ecx,[ebp-10h] push esi push esi push 00000001h push esi push 00000004h push 0000003Bh lea edx,[ecx+ecx+08h] mov ecx,[L004B6B90] push esi push edx mov edx,[L004B6B98] sub edx,ecx inc edx push edx mov edx,[L004B6B94] add edx,0000001Eh push ebx push edx push ecx mov ecx,eax call SUB_L0041A980 jmp L0040716C L0040716A: xor eax,eax L0040716C: mov [ebx+00000108h],eax lea edx,[eax+000000ECh] lea edi,[ebx+000000ACh] or ecx,FFFFFFFFh xor eax,eax mov byte ptr [ebp-04h],00h repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov ecx,[ebx+00000108h] mov esi,00000001h mov [ecx+000000C8h],esi mov edx,[ebx+00000108h] mov [edx+000000CCh],esi mov ecx,[ebx+00000108h] call SUB_L0041AC50 mov eax,[ebx+000000A0h] test eax,eax jnz L004071DD mov eax,[ebx+00000108h] mov [eax+000000B4h],esi L004071DD: mov ecx,[ebx+00000108h] push esi push ebx call SUB_L004415C0 push 00000158h call SUB_L0049A820 add esp,00000004h mov [ebp+14h],eax test eax,eax mov byte ptr [ebp-04h],02h jz L0040723B mov ecx,[ebp-10h] push 00000000h mov edx,[L004B6B98] push 00000000h push esi push 00000000h push 00000004h push 0000001Dh add ecx,00000004h push 00000000h push ecx mov ecx,[L004B6B90] sub edx,ecx inc edx push edx mov edx,[L004B6B94] add edx,0000007Ch push ebx push edx push ecx mov ecx,eax call SUB_L0041A980 jmp L0040723D L0040723B: xor eax,eax L0040723D: mov [ebx+0000010Ch],eax lea edx,[eax+000000ECh] lea edi,[ebx+000000E8h] or ecx,FFFFFFFFh xor eax,eax mov byte ptr [ebp-04h],00h repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov ecx,[ebx+0000010Ch] mov esi,00000001h mov [ecx+000000CCh],esi mov ecx,[ebx+0000010Ch] call SUB_L0041AC50 mov eax,[ebx+000000A0h] test eax,eax jnz L004072A2 mov edx,[ebx+0000010Ch] mov [edx+000000B4h],esi L004072A2: mov ecx,[ebx+0000010Ch] push esi push ebx call SUB_L004415C0 mov ecx,ebx call SUB_L00408150 mov eax,[ebx+000000A0h] test eax,eax jnz L0040734D mov ax,[ebx+000000A8h] test ax,ax jbe L00407304 cmp ax,[ebx+000000AAh] ja L00407304 push eax mov eax,[ebx+34h] lea edx,[ebp-0000066Ch] mov ecx,[eax+78h] push ecx push edx mov ecx,L006BB1C0 call SUB_L004752D0 mov ecx,[L006BB1CC] lea eax,[ebp-0000066Ch] push eax call SUB_L0048B170 L00407304: mov ax,[ebx+000000A8h] xor edx,edx mov dx,[ebx+000000AAh] mov ecx,eax and ecx,0000FFFFh inc ecx cmp ecx,edx jg L0040734D inc eax lea edx,[ebp-0000066Ch] push eax mov eax,[ebx+34h] mov ecx,[eax+78h] push ecx push edx mov ecx,L006BB1C0 call SUB_L004752D0 mov ecx,[L006BB1CC] lea eax,[ebp-0000066Ch] push eax call SUB_L0048B170 L0040734D: push 00000000h push 00000000h push 00000000h push 00000000h push 00000000h push 00000055h mov ecx,L006AAA10 call SUB_L004971D0 mov ecx,[ebp-0Ch] pop edi mov eax,ebx pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0020h ;------------------------------------------------------------------------------ Align 16 SUB_L00407380: push ebp mov ebp,esp push FFFFFFFFh push L004B1438 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx push edi mov [ebp-10h],esi mov dword ptr [esi],L004B6BD0 xor edi,edi mov [ebp-04h],edi call SUB_L004077D0 push edi push edi push edi push edi push edi push 00000055h mov ecx,L006AAA10 call SUB_L004971D0 mov eax,[esi+34h] cmp eax,edi jz L004073CE mov [eax+00000088h],edi L004073CE: mov eax,[esi+0000009Ch] cmp eax,edi jz L004073E7 push eax call SUB_L0049A810 add esp,00000004h mov [esi+0000009Ch],edi L004073E7: mov ecx,[esi+34h] cmp ecx,edi jz L00407400 mov eax,[ecx] call [eax+60h] test eax,eax jz L00407400 mov ecx,[esi+34h] mov [ecx+000000B0h],edi L00407400: mov eax,[esi+38h] cmp eax,edi jz L0040743A mov eax,[eax+04h] cmp eax,edi jz L00407424 push SSZ004C43DC_book_frame_pBMP push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov edx,[esi+38h] mov [edx+04h],edi L00407424: mov eax,[esi+38h] push SSZ004C43CC_book_framedata push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov [esi+38h],edi L0040743A: mov ecx,esi mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00441D50 mov ecx,[ebp-0Ch] pop edi mov fs:[00000000h],ecx pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 L00407460: push ebp mov ebp,esp sub esp,00000650h push esi push edi xor edi,edi mov esi,ecx push edi call SUB_L00441340 xor eax,eax xor ecx,ecx mov ax,[esi+000000A8h] mov cx,[esi+000000AAh] inc eax cmp eax,ecx jge L004075E6 mov ecx,esi call SUB_L004077D0 mov edx,[esi+00000108h] add word ptr [esi+000000A8h],0002h mov [edx+68h],edi mov eax,[esi+0000010Ch] mov [eax+68h],edi mov eax,[esi+000000A0h] cmp eax,edi jnz L00407588 mov edx,[esi+34h] mov cx,[esi+000000A8h] push ecx lea ecx,[ebp-00000650h] mov eax,[edx+78h] push eax push ecx mov ecx,L006BB1C0 call SUB_L004752D0 mov ecx,[L006BB1CC] lea edx,[ebp-00000650h] push edx call SUB_L0048B170 mov ax,[esi+000000A8h] xor edx,edx mov dx,[esi+000000AAh] mov ecx,eax and ecx,0000FFFFh inc ecx cmp ecx,edx jg L0040753A inc eax lea edx,[ebp-00000650h] push eax mov eax,[esi+34h] mov ecx,[eax+78h] push ecx push edx mov ecx,L006BB1C0 call SUB_L004752D0 mov ecx,[L006BB1CC] lea eax,[ebp-00000650h] push eax call SUB_L0048B170 L0040753A: mov eax,[esi+0000009Ch] xor ecx,ecx mov [esi+00000094h],eax xor edx,edx mov [eax],di mov cx,[esi+000000A8h] mov dx,[esi+000000AAh] inc ecx cmp ecx,edx jg L00407573 mov eax,[esi+0000009Ch] add eax,00000648h mov [esi+00000098h],eax jmp L00407579 L00407573: mov [esi+00000098h],edi L00407579: mov esi,[esi+00000098h] cmp esi,edi jz L004075D5 mov [esi],di jmp L004075D5 L00407588: xor eax,eax mov ax,[esi+000000A8h] lea ecx,[eax+eax*4] lea ecx,[ecx+ecx*4] lea edx,[eax+ecx*8] mov ecx,[esi+0000009Ch] inc eax lea ecx,[ecx+edx*8] lea edx,[ecx-00000648h] mov [esi+00000094h],edx xor edx,edx mov dx,[esi+000000AAh] cmp eax,edx jg L004075C5 mov [esi+00000098h],ecx jmp L004075CB L004075C5: mov [esi+00000098h],edi L004075CB: mov eax,[esi] mov ecx,esi call [eax+00000144h] L004075D5: push edi push edi push edi push edi push edi push 00000055h mov ecx,L006AAA10 call SUB_L004971D0 L004075E6: pop edi pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 L004075F0: push ebp mov ebp,esp sub esp,00000650h push esi push edi xor edi,edi mov esi,ecx push edi call SUB_L00441340 cmp [esi+000000A8h],di jbe L004077C8 mov ecx,esi call SUB_L004077D0 add word ptr [esi+000000A8h],FFFEh cmp [esi+000000A8h],di jnz L00407642 mov ecx,[esi+00000108h] mov eax,00000001h mov [ecx+68h],eax mov edx,[esi+0000010Ch] mov [edx+68h],eax L00407642: cmp [esi+000000A0h],edi jnz L0040773F mov ax,[esi+000000A8h] cmp ax,di jbe L0040768E cmp ax,[esi+000000AAh] ja L0040768E push eax mov eax,[esi+34h] lea edx,[ebp-00000650h] mov ecx,[eax+78h] push ecx push edx mov ecx,L006BB1C0 call SUB_L004752D0 mov ecx,[L006BB1CC] lea eax,[ebp-00000650h] push eax call SUB_L0048B170 L0040768E: mov ax,[esi+000000A8h] xor edx,edx mov dx,[esi+000000AAh] mov ecx,eax and ecx,0000FFFFh inc ecx cmp ecx,edx jg L004076D7 inc eax lea edx,[ebp-00000650h] push eax mov eax,[esi+34h] mov ecx,[eax+78h] push ecx push edx mov ecx,L006BB1C0 call SUB_L004752D0 mov ecx,[L006BB1CC] lea eax,[ebp-00000650h] push eax call SUB_L0048B170 L004076D7: mov ax,[esi+000000A8h] cmp ax,di jnz L004076EB mov [esi+00000094h],edi jmp L004076F7 L004076EB: mov ecx,[esi+0000009Ch] mov [esi+00000094h],ecx L004076F7: and eax,0000FFFFh xor edx,edx mov dx,[esi+000000AAh] inc eax cmp eax,edx jg L0040771D mov eax,[esi+0000009Ch] add eax,00000648h mov [esi+00000098h],eax jmp L00407723 L0040771D: mov [esi+00000098h],edi L00407723: mov eax,[esi+00000094h] cmp eax,edi jz L00407730 mov [eax],di L00407730: mov esi,[esi+00000098h] cmp esi,edi jz L004077B7 mov [esi],di jmp L004077B7 L0040773F: mov cx,[esi+000000A8h] cmp cx,di jbe L00407770 mov eax,ecx and eax,0000FFFFh lea edx,[eax+eax*4] lea edx,[edx+edx*4] lea eax,[eax+edx*8] mov edx,[esi+0000009Ch] lea eax,[edx+eax*8-00000648h] mov [esi+00000094h],eax jmp L00407776 L00407770: mov [esi+00000094h],edi L00407776: mov eax,ecx xor ecx,ecx mov cx,[esi+000000AAh] and eax,0000FFFFh lea edx,[eax+01h] cmp edx,ecx jg L004077A7 lea ecx,[eax+eax*4] lea ecx,[ecx+ecx*4] lea edx,[eax+ecx*8] mov eax,[esi+0000009Ch] lea ecx,[eax+edx*8] mov [esi+00000098h],ecx jmp L004077AD L004077A7: mov [esi+00000098h],edi L004077AD: mov edx,[esi] mov ecx,esi call [edx+00000144h] L004077B7: push edi push edi push edi push edi push edi push 00000055h mov ecx,L006AAA10 call SUB_L004971D0 L004077C8: pop edi pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 4 SUB_L004077D0: push ebp mov ebp,esp sub esp,000006B8h push ebx mov ebx,ecx push esi push edi mov eax,[ebx+000000A0h] test eax,eax jz L00407903 mov eax,[ebx+34h] test eax,eax jz L00407903 mov eax,[ebx+000000A4h] test eax,eax jz L00407897 mov edi,[ebx+00000108h] or ecx,FFFFFFFFh add edi,000000ECh xor eax,eax repne scasb not ecx sub edi,ecx lea edx,[ebx+000000ACh] mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax xor eax,eax and ecx,00000003h rep movsb mov edi,[ebx+0000010Ch] or ecx,FFFFFFFFh add edi,000000ECh repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi lea edi,[ebx+000000E8h] shr ecx,02h rep movsd mov ecx,eax lea eax,[ebx+000000E8h] and ecx,00000003h push eax rep movsb mov ecx,[ebx+34h] push edx lea eax,[ebp-68h] mov edx,[ecx+78h] mov ecx,L006BB1C0 push edx push eax call SUB_L00475100 lea ecx,[ebp-68h] push ecx mov ecx,[L006BB1CC] call SUB_L0048B170 mov dword ptr [ebx+000000A4h],00000000h L00407897: mov edi,00000001h cmp [ebx+000000AAh],di jc L00407903 L004078A5: mov eax,edi and eax,0000FFFFh lea ecx,[eax+eax*4] lea edx,[ecx+ecx*4] lea esi,[eax+edx*8] mov eax,[ebx+0000009Ch] shl esi,03h mov ecx,[eax+esi-04h] test ecx,ecx jz L004078F9 push edi lea ecx,[ebp-000006B8h] push ebx push ecx mov ecx,L006BB1C0 call SUB_L00475450 mov ecx,[L006BB1CC] lea edx,[ebp-000006B8h] push edx call SUB_L0048B170 mov eax,[ebx+0000009Ch] mov dword ptr [eax+esi-04h],00000000h L004078F9: inc edi cmp di,[ebx+000000AAh] jbe L004078A5 L00407903: pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 SUB_L00407910: push ebp mov ebp,esp sub esp,00000014h push ebx mov ebx,[ebp+08h] and ebx,0000FFFFh push esi mov esi,ecx lea edx,[ebp-10h] lea eax,[ebx+ebx*4] push edi mov ecx,[esi+0000009Ch] push edx lea eax,[eax+eax*4] mov [ebp-04h],esi lea ebx,[ebx+eax*8] lea eax,[ebp-08h] shl ebx,03h push eax mov dword ptr [ebx+ecx-04h],00000001h lea ecx,[ebp-14h] push ecx push L004C41E4 push 00000004h mov ecx,L00669CC8 call SUB_L00437A10 mov edx,[esi+0000009Ch] mov edi,[ebp-08h] mov cx,[ebx+edx-00000648h] lea eax,[ebx+edx-00000648h] mov edx,ecx and edx,0000FFFFh imul edi,edx mov edx,[L004B6B9C] sub edx,[L004B6B94] cmp edi,edx jle L00407AA2 dec ecx mov [eax],cx mov ax,[ebp+08h] cmp ax,[esi+000000AAh] jnc L00407A61 mov ecx,[esi+0000009Ch] inc word ptr [ebx+ecx] mov edx,[esi+0000009Ch] lea eax,[ebx+ecx] xor eax,eax mov ax,[ebx+edx] dec eax cmp eax,00000001h jl L00407A13 lea edx,[eax+eax*4] mov [ebp+08h],eax shl edx,04h L004079D2: mov ecx,[esi+0000009Ch] lea eax,[edx+ebx] add eax,ecx or ecx,FFFFFFFFh sub edx,00000050h lea edi,[eax-4Eh] lea esi,[eax+02h] xor eax,eax mov [ebp-0Ch],esi repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,[ebp-0Ch] shr ecx,02h rep movsd mov ecx,eax mov eax,[ebp+08h] and ecx,00000003h dec eax rep movsb mov esi,[ebp-04h] mov [ebp+08h],eax jnz L004079D2 L00407A13: mov esi,[esi+0000009Ch] xor eax,eax mov ax,[esi+ebx-00000648h] lea edx,[esi+ebx+02h] lea ecx,[eax+eax*4] xor eax,eax shl ecx,04h add ecx,esi lea edi,[ecx+ebx-00000646h] or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax mov eax,00000001h and ecx,00000003h rep movsb pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L00407A61: mov esi,[esi+0000009Ch] xor eax,eax mov edi,L004D77C0 mov ax,[esi+ebx-00000648h] lea ecx,[eax+eax*4] xor eax,eax shl ecx,04h add ecx,esi lea edx,[ecx+ebx-00000646h] or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb L00407AA2: pop edi pop esi xor eax,eax pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L00407AB0: push ebp mov ebp,esp sub esp,0000001Ch push ebx mov ebx,[ebp+08h] and ebx,0000FFFFh push esi mov esi,ecx lea edx,[ebp-18h] lea eax,[ebx+ebx*4] push edi mov ecx,[esi+0000009Ch] push edx lea eax,[eax+eax*4] mov [ebp-04h],esi lea ebx,[ebx+eax*8] lea eax,[ebp-10h] shl ebx,03h push eax mov dword ptr [ebx+ecx-04h],00000001h lea ecx,[ebp-1Ch] push ecx push L004C41E4 push 00000004h mov ecx,L00669CC8 call SUB_L00437A10 mov eax,[esi+0000009Ch] xor esi,esi mov edi,[L004B6B9C] mov ecx,[L004B6B94] mov si,[eax+ebx-00000648h] sub edi,ecx xor ecx,ecx lea edx,[esi+01h] imul edx,[ebp-10h] cmp edx,edi mov edx,[ebp+0Ch] setg cl and edx,0000FFFFh dec esi cmp edx,esi mov [ebp-0Ch],ecx jge L00407B9D lea ecx,[edx+edx*4] shl ecx,04h mov [ebp-08h],ecx jmp L00407B49 L00407B46: mov ecx,[ebp-08h] L00407B49: add ecx,eax lea eax,[ecx+ebx] or ecx,FFFFFFFFh lea edi,[eax-000005F6h] lea esi,[eax-00000646h] xor eax,eax mov [ebp-14h],esi repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,[ebp-14h] shr ecx,02h rep movsd mov ecx,eax mov eax,[ebp-08h] and ecx,00000003h add eax,00000050h rep movsb mov ecx,[ebp-04h] mov [ebp-08h],eax inc edx mov eax,[ecx+0000009Ch] xor ecx,ecx mov cx,[eax+ebx-00000648h] dec ecx cmp edx,ecx jl L00407B46 L00407B9D: mov edx,[ebp-04h] mov ecx,[edx+0000009Ch] mov ax,[ecx+ebx-00000648h] cmp [ebp+0Ch],ax jnc L00407C9C mov esi,[ebp-0Ch] test esi,esi jz L00407C47 mov si,[ebp+08h] cmp si,[edx+000000AAh] jnc L00407C47 cmp word ptr [ecx+ebx],0000h jbe L00407C47 and eax,0000FFFFh lea edi,[ecx+ebx+02h] lea edx,[eax+eax*4] xor eax,eax shl edx,04h add edx,ecx or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx lea edx,[edx+ebx-00000696h] mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax xor eax,eax and ecx,00000003h rep movsb mov ecx,[ebp-04h] mov edi,L004D77C0 mov edx,[ecx+0000009Ch] or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx lea edx,[ebx+edx+02h] mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax mov eax,[ebp-0Ch] and ecx,00000003h rep movsb pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L00407C47: and eax,0000FFFFh mov edi,L004D77C0 mov dword ptr [ebp-0Ch],00000000h lea edx,[eax+eax*4] xor eax,eax shl edx,04h add edx,ecx or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx lea edx,[edx+ebx-00000696h] mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov ecx,[ebp-04h] mov edx,[ecx+0000009Ch] dec word ptr [ebx+edx-00000648h] lea ebx,[ebx+edx-00000648h] L00407C9C: mov eax,[ebp-0Ch] pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L00407CB0: push ebp mov ebp,esp sub esp,00000078h push ebx push esi mov esi,[ebp+08h] mov edx,[ebp+10h] and esi,0000FFFFh mov ebx,ecx mov [ebp-14h],esi push edi lea eax,[esi+esi*4] mov ecx,[ebx+0000009Ch] lea eax,[eax+eax*4] lea esi,[esi+eax*8] lea eax,[ebp-24h] shl esi,03h push eax mov [ebp-0Ch],esi mov dword ptr [ecx+esi-04h],00000001h mov dword ptr [edx],00000000h lea ecx,[ebp-1Ch] lea edx,[ebp-28h] push ecx push edx push L004C41E4 push 00000004h mov ecx,L00669CC8 call SUB_L00437A10 mov eax,[ebp+0Ch] mov ecx,[ebx+0000009Ch] mov edx,[L004B6B90] and eax,0000FFFFh mov [ebp-18h],eax lea edi,[eax+eax*4] mov eax,[L004B6B98] shl edi,04h add ecx,edi sub eax,edx push eax mov [ebp-08h],edi lea edx,[ecx+esi-00000646h] mov ecx,L00669CC8 push edx push 00000004h call SUB_L00437E00 mov edx,eax cmp edx,FFFFFFFFh jnz L00407D79 mov eax,[ebx+0000009Ch] or ecx,edx add edi,eax mov [ebp-10h],eax lea eax,[edi+esi] mov [ebp+0Ch],eax lea edi,[eax-00000646h] xor eax,eax repne scasb mov eax,[ebp+0Ch] not ecx dec ecx mov [ebp-04h],ecx mov edx,ecx jmp L00407D9C L00407D79: mov eax,[ebx+0000009Ch] inc edx add edi,eax mov [ebp-10h],eax mov [ebp-04h],edx lea eax,[edi+esi] mov [ebp+0Ch],eax cmp byte ptr [edx+eax-00000646h],20h jnz L00407D9C inc edx mov [ebp-04h],edx L00407D9C: lea edi,[eax-00000646h] or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx cmp edx,ecx jge L0040813D mov eax,[ebp-10h] mov ecx,[ebp-18h] lea eax,[eax+esi-00000648h] mov [ebp-20h],eax mov ax,[eax] and eax,0000FFFFh lea edi,[eax-01h] cmp ecx,edi jnz L0040802A inc eax mov edi,[L004B6B9C] imul eax,[ebp-1Ch] sub edi,[L004B6B94] cmp eax,edi jle L00407FD8 mov edi,[ebp+08h] cmp di,[ebx+000000AAh] jnz L00407E61 mov eax,[ebp+0Ch] mov byte ptr [edx+eax-00000646h],00h mov eax,[ebx+00000110h] test eax,eax jz L00407E22 cmp di,[ebx+000000A8h] jz L00407E37 test eax,eax jnz L0040813D L00407E22: mov esi,[ebp-14h] xor eax,eax mov ax,[ebx+000000A8h] inc eax cmp esi,eax jnz L0040813D L00407E37: cmp [ebx+00000114h],ecx jnz L0040813D cmp [ebx+00000118h],edx jl L0040813D dec edx xor eax,eax mov [ebx+00000118h],edx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ L00407E61: mov eax,[ebp-10h] cmp word ptr [eax+esi],0000h jnz L00407E71 mov word ptr [eax+esi],0001h L00407E71: mov ecx,[ebp-08h] mov eax,[ebx+0000009Ch] add edx,ecx or ecx,FFFFFFFFh add edx,eax xor eax,eax lea edi,[edx+esi-00000646h] lea edx,[ebp-78h] repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi shr ecx,02h mov edi,edx lea edx,[ebp-78h] rep movsd mov ecx,eax mov eax,[ebx+0000009Ch] and ecx,00000003h rep movsb mov ecx,[ebp-0Ch] lea edi,[eax+ecx+02h] or ecx,FFFFFFFFh xor eax,eax mov [ebp+0Ch],edi repne scasb not ecx sub edi,ecx mov esi,edi mov edi,edx mov edx,ecx or ecx,FFFFFFFFh repne scasb mov ecx,edx dec edi shr ecx,02h rep movsd mov ecx,edx mov edx,[ebp-08h] and ecx,00000003h rep movsb lea edi,[ebp-78h] or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,[ebp+0Ch] shr ecx,02h rep movsd mov ecx,eax mov eax,[ebp+10h] and ecx,00000003h rep movsb mov esi,[ebp-04h] mov edi,[ebx+0000009Ch] mov ecx,esi add ecx,edi xor edi,edi add ecx,edx mov edx,[ebp-0Ch] mov byte ptr [ecx+edx-00000646h],00h mov dword ptr [eax],00000001h mov eax,[ebx+00000110h] cmp eax,edi jz L00407F43 mov cx,[ebp+08h] cmp cx,[ebx+000000A8h] jz L00407F58 cmp eax,edi jnz L0040812F L00407F43: mov ecx,[ebp-14h] xor edx,edx mov dx,[ebx+000000A8h] inc edx cmp ecx,edx jnz L0040812F L00407F58: mov ecx,[ebp-18h] mov edx,[ebx+00000114h] cmp edx,ecx jnz L0040812F cmp [ebx+00000118h],esi jl L0040812F cmp eax,edi jz L00407F81 mov [ebx+00000110h],edi jmp L00407FAA L00407F81: mov edx,[ebx] mov ecx,ebx call [edx+00000148h] push ebx mov ecx,L00669608 mov dword ptr [ebx+00000110h],00000001h call SUB_L0043FF10 mov eax,[ebx] mov ecx,ebx call [eax+00000144h] L00407FAA: mov eax,[ebx+00000118h] mov [ebx+00000114h],edi sub eax,esi mov [ebx+00000118h],eax jns L0040812F mov [ebx+00000118h],edi mov eax,00000001h pop edi pop esi pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ L00407FD8: mov eax,[ebp-20h] mov edi,L004D77C0 mov cx,[eax] inc ecx mov [eax],cx mov ecx,[ebx+0000009Ch] xor eax,eax mov ax,[ecx+esi-00000648h] lea eax,[eax+eax*4] shl eax,04h add eax,ecx or ecx,FFFFFFFFh lea esi,[eax+esi-00000696h] xor eax,eax repne scasb not ecx sub edi,ecx mov [ebp+10h],esi mov eax,ecx mov esi,edi mov edi,[ebp+10h] shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov esi,[ebp-0Ch] L0040802A: mov ecx,[ebx+0000009Ch] mov edi,[ebp-08h] add ecx,edi xor eax,eax add esi,ecx or ecx,FFFFFFFFh mov [ebp+0Ch],esi lea edi,[edx+esi-00000646h] lea edx,[ebp-78h] repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx lea edx,[ebp-78h] shr ecx,02h rep movsd mov ecx,eax xor eax,eax and ecx,00000003h rep movsb mov ecx,[ebp+0Ch] lea edi,[ecx-000005F6h] or ecx,FFFFFFFFh mov [ebp+10h],edi repne scasb not ecx sub edi,ecx mov esi,edi mov edi,edx mov edx,ecx or ecx,FFFFFFFFh repne scasb mov ecx,edx dec edi shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb lea edi,[ebp-78h] or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,[ebp+10h] shr ecx,02h rep movsd mov ecx,eax mov eax,[ebp-0Ch] and ecx,00000003h rep movsb mov ecx,[ebp-04h] mov edi,[ebx+0000009Ch] mov esi,[ebp-08h] mov edx,ecx add edx,edi add edx,esi mov byte ptr [edx+eax-00000646h],00h mov eax,[ebx+00000110h] test eax,eax jz L004080EC mov dx,[ebp+08h] cmp dx,[ebx+000000A8h] jz L004080FD test eax,eax jnz L0040812F L004080EC: mov edx,[ebp-14h] xor eax,eax mov ax,[ebx+000000A8h] inc eax cmp edx,eax jnz L0040812F L004080FD: mov edx,[ebx+00000114h] mov eax,[ebp-18h] cmp edx,eax jnz L0040812F mov eax,[ebx+00000118h] cmp eax,ecx jl L0040812F sub eax,ecx mov [ebx+00000118h],eax jns L00408128 mov dword ptr [ebx+00000118h],00000000h L00408128: inc edx mov [ebx+00000114h],edx L0040812F: mov eax,00000001h pop edi pop esi pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ L0040813D: pop edi pop esi xor eax,eax pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 16 SUB_L00408150: push ebp mov ebp,esp sub esp,00000030h push ebx push esi mov esi,ecx xor ebx,ebx mov [ebp-30h],ebx mov [ebp-2Ch],ebx mov eax,[esi+1Ch] mov ecx,[esi+20h] mov edx,[esi+38h] mov [ebp-28h],eax mov [ebp-24h],ecx xor ecx,ecx mov eax,[edx+04h] xor edx,edx push edi mov cx,[eax+02h] mov dx,[eax] push ecx add eax,00000004h push edx mov edx,[esi+50h] push eax push ebx push ebx mov ecx,SUB_L00488700 neg edx call SUB_L00439100 cmp [esi+000000A8h],bx jbe L004081CD mov eax,[esi+38h] xor ecx,ecx xor edx,edx mov eax,[eax+04h] mov cx,[eax+02h] mov dx,[eax] push ecx add eax,00000004h push edx push eax mov eax,[esi+50h] mov edx,00000001h push ebx push ebx sub edx,eax mov ecx,SUB_L00488700 call SUB_L00439100 L004081CD: xor eax,eax xor ecx,ecx mov ax,[esi+000000A8h] mov cx,[esi+000000AAh] inc eax cmp eax,ecx jge L0040822C mov eax,[esi+50h] lea edx,[ebp-0Ch] mov ecx,00000002h push edx lea edx,[ebp-10h] sub ecx,eax call SUB_L004390A0 mov eax,[esi+38h] xor edx,edx mov ecx,[eax+04h] xor eax,eax mov dx,[ecx+02h] mov ax,[ecx] push edx mov edx,[ebp-10h] add ecx,00000004h push eax push ecx sub eax,edx push ebx push eax mov eax,[esi+50h] mov edx,00000002h sub edx,eax mov ecx,SUB_L00488700 call SUB_L00439100 L0040822C: lea eax,[ebp-04h] lea ecx,[ebp-0Ch] push eax lea edx,[ebp-10h] push ecx push edx push L004C41E4 push 00000004h mov ecx,L00669CC8 call SUB_L00437A10 cmp [esi+00000094h],ebx jnz L004082DD cmp [esi+000000A8h],bx jnz L004082DD mov ecx,[esi+38h] mov eax,[esi+1Ch] push L004B6B90 push eax mov edx,[ecx+04h] mov eax,[ebp-04h] mov ecx,[L004B6B94] add edx,00000004h push edx mov edx,[L004B6B90] push SSZ004C43F4_TITLE push 00000386h add eax,ecx push 00000004h add edx,00000028h push eax push edx mov ecx,L00669CC8 call SUB_L004371A0 mov ecx,[esi+38h] mov eax,[esi+1Ch] push L004B6B90 push eax mov edx,[ecx+04h] mov eax,[ebp-04h] mov ecx,[L004B6B94] add edx,00000004h push edx push L004C43F0 lea edx,[eax+ecx+64h] mov eax,[L004B6B90] push 00000386h push 00000004h add eax,00000032h push edx push eax mov ecx,L00669CC8 call SUB_L004371A0 L004082DD: mov eax,[esi+00000094h] cmp eax,ebx jz L00408444 cmp [eax],bx mov edi,[L004B6B94] mov ecx,[ebp-0Ch] mov [ebp-08h],ebx jbe L004083D8 L00408300: lea edx,[ecx+edi] cmp edx,[L004B6B9C] jg L004083D8 mov ecx,[esi+1Ch] mov edx,[esi+38h] push L004B6B90 push ecx mov ecx,[edx+04h] lea edx,[ebx+eax+02h] mov eax,[ebp-04h] add ecx,00000004h push ecx mov ecx,[L004B6B90] push edx push 00000012h add eax,edi push 00000004h push eax push ecx mov ecx,L00669CC8 call SUB_L004371A0 cmp [L0066962C],esi jnz L004083B5 mov eax,[esi+00000110h] test eax,eax jz L004083B5 mov edx,[esi+00000114h] mov eax,[ebp-08h] cmp edx,eax jnz L004083B5 mov eax,[esi+00000094h] mov edx,[esi+00000118h] lea ecx,[eax+ebx+02h] push ecx push edx push 00000004h mov ecx,L00669CC8 call SUB_L00438880 mov edx,[esi+1Ch] lea ecx,[ebp-30h] push ecx mov ecx,[esi+38h] push edx mov edx,[ecx+04h] mov ecx,[ebp-04h] add edx,00000004h push edx lea edx,[ecx+edi+04h] mov ecx,[L004B6B90] push L004C4304 push 00000008h push 00000004h add eax,ecx push edx push eax mov ecx,L00669CC8 call SUB_L004371A0 L004083B5: mov ecx,[ebp-0Ch] mov edx,[ebp-08h] mov eax,[esi+00000094h] add edi,ecx inc edx add ebx,00000050h mov [ebp-08h],edx xor edx,edx mov dx,[eax] cmp [ebp-08h],edx jl L00408300 L004083D8: cmp [L0066962C],esi jnz L00408449 mov eax,[esi+00000110h] xor ebx,ebx cmp eax,ebx jz L00408449 mov edx,[esi+00000094h] mov eax,[esi+00000114h] xor edi,edi mov di,[edx] cmp eax,edi jnz L00408449 lea edx,[ebp-30h] imul ecx,eax push edx mov edx,[esi+1Ch] mov edi,[ebp-04h] mov eax,[L004B6B94] push edx mov edx,[esi+38h] add ecx,edi mov edx,[edx+04h] add edx,00000004h lea ecx,[ecx+eax+04h] push edx mov edx,[L004B6B90] push L004C4304 push 00000008h push 00000004h push ecx push edx mov ecx,L00669CC8 call SUB_L004371A0 mov ecx,[ebp-0Ch] jmp L0040844B L00408444: mov ecx,[ebp-0Ch] jmp L0040844B L00408449: xor ebx,ebx L0040844B: mov eax,[esi+00000098h] cmp eax,ebx jz L004085B2 cmp [eax],bx mov edi,[L004B6BA4] mov [ebp-08h],ebx jbe L0040854D jmp L00408470 L0040846D: mov eax,[ebp-14h] L00408470: lea edx,[ecx+edi] cmp edx,[L004B6BAC] jg L0040854D mov ecx,[esi+1Ch] mov edx,[esi+38h] push L004B6BA0 push ecx mov ecx,[edx+04h] lea edx,[ebx+eax+02h] mov eax,[ebp-04h] add ecx,00000004h push ecx mov ecx,[L004B6BA0] push edx push 00000012h add eax,edi push 00000004h push eax push ecx mov ecx,L00669CC8 call SUB_L004371A0 cmp [L0066962C],esi jnz L00408525 mov eax,[esi+00000110h] test eax,eax jnz L00408525 mov edx,[esi+00000114h] mov eax,[ebp-08h] cmp edx,eax jnz L00408525 mov eax,[esi+00000098h] mov edx,[esi+00000118h] lea ecx,[eax+ebx+02h] push ecx push edx push 00000004h mov ecx,L00669CC8 call SUB_L00438880 mov edx,[esi+1Ch] lea ecx,[ebp-30h] push ecx mov ecx,[esi+38h] push edx mov edx,[ecx+04h] mov ecx,[ebp-04h] add edx,00000004h push edx lea edx,[ecx+edi+04h] mov ecx,[L004B6BA0] push L004C4304 push 00000008h push 00000004h add eax,ecx push edx push eax mov ecx,L00669CC8 call SUB_L004371A0 L00408525: mov ecx,[ebp-0Ch] mov eax,[ebp-08h] add edi,ecx inc eax mov [ebp-08h],eax mov eax,[esi+00000098h] xor edx,edx mov [ebp-14h],eax mov dx,[eax] mov eax,[ebp-08h] add ebx,00000050h cmp eax,edx jl L0040846D L0040854D: cmp [L0066962C],esi jnz L004085B2 mov eax,[esi+00000110h] test eax,eax jnz L004085B2 mov edx,[esi+00000098h] mov eax,[esi+00000114h] xor edi,edi mov di,[edx] cmp eax,edi jnz L004085B2 lea edx,[ebp-30h] imul ecx,eax push edx mov edx,[esi+1Ch] mov edi,[ebp-04h] mov eax,[L004B6BA4] push edx mov edx,[esi+38h] add ecx,edi mov edx,[edx+04h] add edx,00000004h lea ecx,[ecx+eax+04h] push edx mov edx,[L004B6BA0] push L004C4304 push 00000008h push 00000004h push ecx push edx mov ecx,L00669CC8 call SUB_L004371A0 L004085B2: mov ax,[esi+000000A8h] test ax,ax jbe L00408658 cmp ax,[esi+000000AAh] ja L00408658 and eax,0000FFFFh push eax lea eax,[ebp-20h] push L004C43EC push eax call SUB_L0049AC80 add esp,0000000Ch lea ecx,[ebp-04h] lea edx,[ebp-0Ch] lea eax,[ebp-10h] push ecx push edx lea ecx,[ebp-20h] push eax push ecx push 00000009h mov ecx,L00669CC8 call SUB_L00437A10 mov ecx,[esi+38h] mov eax,[esi+1Ch] lea edx,[ebp-30h] push edx mov edx,[ecx+04h] mov ecx,[ebp-04h] add edx,00000004h push eax push edx mov edx,[L004B6B9C] lea eax,[ebp-20h] push eax push 00000386h lea eax,[ecx+edx-08h] mov ecx,[L004B6B90] mov edx,[L004B6B98] push 00000009h push eax lea eax,[ecx+edx] cdq sub eax,edx mov ecx,eax mov eax,[ebp-10h] cdq sub eax,edx sar ecx,1 sar eax,1 sub ecx,eax push ecx mov ecx,L00669CC8 call SUB_L004371A0 L00408658: xor eax,eax xor edx,edx mov ax,[esi+000000A8h] mov dx,[esi+000000AAh] inc eax cmp eax,edx jg L004086F7 push eax lea eax,[ebp-20h] push L004C43EC push eax call SUB_L0049AC80 add esp,0000000Ch lea ecx,[ebp-04h] lea edx,[ebp-0Ch] lea eax,[ebp-10h] push ecx push edx lea ecx,[ebp-20h] push eax push ecx push 00000009h mov ecx,L00669CC8 call SUB_L00437A10 mov ecx,[esi+38h] mov eax,[esi+1Ch] lea edx,[ebp-30h] push edx mov edx,[ecx+04h] mov ecx,[ebp-04h] add edx,00000004h push eax push edx mov edx,[L004B6BAC] lea eax,[ebp-20h] push eax push 00000386h lea eax,[ecx+edx-08h] mov ecx,[L004B6BA0] mov edx,[L004B6BA8] push 00000009h push eax lea eax,[ecx+edx] cdq sub eax,edx mov ecx,eax mov eax,[ebp-10h] cdq sub eax,edx sar ecx,1 sar eax,1 sub ecx,eax push ecx mov ecx,L00669CC8 call SUB_L004371A0 L004086F7: pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 4 L00408700: push ebp mov ebp,esp sub esp,00000010h mov eax,[L0066962C] push ebx push esi mov esi,ecx push edi cmp eax,esi mov dword ptr [ebp-08h],00000000h mov edi,00000001h jnz L00408723 mov [ebp-08h],edi L00408723: cmp eax,[esi+00000108h] jz L00408733 cmp eax,[esi+0000010Ch] jnz L0040873D L00408733: mov ecx,L00669608 call SUB_L0043FDA0 L0040873D: push 00000000h mov ecx,esi call SUB_L00441340 mov eax,[esi+00000120h] mov [esi+0000011Ch],edi cmp eax,edi jnz L00408762 mov dword ptr [esi+00000120h],00000002h jmp L00408774 L00408762: mov [esi+00000120h],edi call [KERNEL32.dll!GetTickCount] mov [esi+00000124h],eax L00408774: mov eax,[esi+000000A0h] mov ebx,[ebp+08h] mov edi,[ebp+0Ch] mov [esi+6Ch],ebx test eax,eax mov [esi+70h],edi jz L0040897F cmp ebx,[L004B6B90] jl L00408871 cmp ebx,[L004B6B98] jg L00408871 cmp edi,[L004B6B94] jl L00408871 cmp edi,[L004B6B9C] jg L00408871 mov eax,[esi+00000094h] test eax,eax jz L00408871 push esi mov ecx,L00669608 call SUB_L0043FF10 lea eax,[ebp-0Ch] lea ecx,[ebp-04h] push eax lea edx,[ebp-10h] push ecx push edx push L004C41E4 push 00000004h mov ecx,L00669CC8 mov dword ptr [esi+00000110h],00000001h call SUB_L00437A10 mov ecx,[L004B6B94] mov eax,edi sub eax,ecx xor ecx,ecx cdq idiv [ebp-04h] mov edx,[esi+00000094h] mov [esi+00000114h],eax mov cx,[edx] cmp eax,ecx jle L00408827 mov [esi+00000114h],ecx L00408827: cmp word ptr [edx],0001h jnz L00408842 lea edi,[edx+02h] or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx jnz L00408842 mov [esi+00000114h],eax L00408842: mov eax,[esi+00000114h] mov edi,[L004B6B9C] sub edi,[L004B6B94] lea ecx,[eax+01h] imul ecx,[ebp-04h] cmp ecx,edi jle L00408866 dec eax mov [esi+00000114h],eax L00408866: mov ecx,[L004B6B90] jmp L0040894F L00408871: cmp ebx,[L004B6BA0] jl L0040897F cmp ebx,[L004B6BA8] jg L0040897F cmp edi,[L004B6BA4] jl L0040897F cmp edi,[L004B6BAC] jg L0040897F mov eax,[esi+00000098h] test eax,eax jz L0040897F push esi mov ecx,L00669608 call SUB_L0043FF10 lea eax,[ebp-0Ch] lea ecx,[ebp-04h] push eax lea edx,[ebp-10h] push ecx push edx push L004C41E4 push 00000004h mov ecx,L00669CC8 mov dword ptr [esi+00000110h],00000000h call SUB_L00437A10 mov ecx,[L004B6BA4] mov eax,edi sub eax,ecx xor ecx,ecx cdq idiv [ebp-04h] mov edx,[esi+00000098h] mov [esi+00000114h],eax mov cx,[edx] cmp eax,ecx jle L0040890A mov [esi+00000114h],ecx L0040890A: cmp word ptr [edx],0001h jnz L00408925 lea edi,[edx+02h] or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx jnz L00408925 mov [esi+00000114h],eax L00408925: mov eax,[esi+00000114h] mov edi,[L004B6B9C] sub edi,[L004B6B94] lea ecx,[eax+01h] imul ecx,[ebp-04h] cmp ecx,edi jle L00408949 dec eax mov [esi+00000114h],eax L00408949: mov ecx,[L004B6BA0] L0040894F: mov eax,[esi+00000114h] sub ebx,ecx push ebx lea eax,[eax+eax*4] shl eax,04h lea ecx,[eax+edx+02h] push ecx push 00000004h mov ecx,L00669CC8 call SUB_L00438C80 mov edx,[esi] mov ecx,esi mov [esi+00000118h],eax call [edx+00000144h] L0040897F: mov eax,[ebp-08h] test eax,eax jz L004089A4 mov eax,[L0066962C] test eax,eax jnz L004089A4 push esi mov ecx,L00669608 call SUB_L0043FF10 mov eax,[esi] mov ecx,esi call [eax+00000144h] L004089A4: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 4 L004089B0: push ebp mov ebp,esp push esi mov esi,ecx push edi xor edi,edi mov eax,[esi+00000128h] mov [esi+0000011Ch],edi cmp eax,edi jz L004089E7 mov [esi+00000128h],edi mov [esi+00000120h],edi mov [esi+0000012Ch],edi mov [L006A9DD4],edi pop edi pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ L004089E7: mov eax,[esi+00000120h] cmp eax,00000002h jnz L00408A1C mov ecx,[ebp+0Ch] mov edx,[ebp+08h] mov eax,[esi] push ecx push edx mov ecx,esi mov [esi+00000120h],edi call [eax+00000154h] mov [esi+0000012Ch],edi mov [L006A9DD4],edi pop edi pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ L00408A1C: cmp [esi+0000012Ch],edi jnz L00408A3A cmp eax,edi jnz L00408A3A mov ecx,[ebp+0Ch] mov edx,[ebp+08h] mov eax,[esi] push ecx push edx mov ecx,esi call [eax+00000150h] L00408A3A: mov [esi+0000012Ch],edi mov [L006A9DD4],edi pop edi pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 8 L00408A50: push ebp mov ebp,esp mov eax,[ecx+0000011Ch] test eax,eax jz L00408A78 mov eax,[ebp+0Ch] mov edx,[ecx+70h] push 00000001h push 00000000h sub eax,edx mov edx,[ebp+08h] push 00000001h push eax sub edx,[ecx+6Ch] push edx call SUB_L00440850 L00408A78: pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 8 L00408A80: push ebp mov ebp,esp sub esp,00000010h push esi mov esi,ecx push edi lea eax,[ebp-08h] mov edi,[esi+50h] mov ecx,00000001h push eax lea edx,[ebp-04h] sub ecx,edi call SUB_L004390A0 mov edi,[esi+50h] lea ecx,[ebp-10h] push ecx mov ecx,00000002h lea edx,[ebp-0Ch] sub ecx,edi call SUB_L004390A0 mov eax,[ebp+08h] mov ecx,[ebp-04h] cmp eax,ecx mov ecx,[ebp+0Ch] jge L00408ADA cmp ecx,[ebp-08h] jge L00408ADA mov edx,[esi] mov ecx,esi call [edx+0000014Ch] pop edi pop esi mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L00408ADA: mov edx,[esi+38h] xor edi,edi mov edx,[edx+04h] mov di,[edx] mov edx,[ebp-0Ch] sub edi,edx cmp eax,edi jl L00408AFD cmp ecx,[ebp-10h] jge L00408AFD mov eax,[esi] mov ecx,esi call [eax+00000148h] L00408AFD: pop edi pop esi mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 L00408B10: push ebp mov ebp,esp sub esp,00000660h push ebx push esi push edi mov esi,ecx mov edi,00000001h lea eax,[ebp-10h] mov ebx,[esi+50h] mov ecx,edi push eax lea edx,[ebp-08h] sub ecx,ebx call SUB_L004390A0 mov ebx,[esi+50h] lea ecx,[ebp-0Ch] push ecx mov ecx,00000002h lea edx,[ebp-04h] sub ecx,ebx call SUB_L004390A0 mov eax,[ebp+08h] mov ecx,[ebp-08h] xor ebx,ebx cmp eax,ecx mov ecx,[ebp+0Ch] jge L00408C9E cmp ecx,[ebp-10h] jge L00408C9E cmp [esi+000000A8h],bx jbe L00408C9E mov ecx,esi call SUB_L004077D0 mov edx,[esi+00000108h] mov [esi+000000A8h],bx mov [edx+68h],edi mov eax,[esi+0000010Ch] mov [eax+68h],edi mov eax,[esi+000000A0h] cmp eax,ebx jnz L00408C39 mov ax,[esi+000000A8h] xor edx,edx mov dx,[esi+000000AAh] mov ecx,eax and ecx,0000FFFFh inc ecx cmp ecx,edx jg L00408BEC inc eax lea edx,[ebp-00000660h] push eax mov eax,[esi+34h] mov ecx,[eax+78h] push ecx push edx mov ecx,L006BB1C0 call SUB_L004752D0 mov ecx,[L006BB1CC] lea eax,[ebp-00000660h] push eax call SUB_L0048B170 L00408BEC: xor ecx,ecx xor edx,edx mov cx,[esi+000000A8h] mov dx,[esi+000000AAh] inc ecx mov [esi+00000094h],ebx cmp ecx,edx jg L00408C1C mov eax,[esi+0000009Ch] add eax,00000648h mov [esi+00000098h],eax jmp L00408C22 L00408C1C: mov [esi+00000098h],ebx L00408C22: mov esi,[esi+00000098h] cmp esi,ebx jz L00408C94 push ebx push ebx push ebx push ebx mov [esi],bx push ebx jmp L00408E76 L00408C39: xor eax,eax xor ecx,ecx mov ax,[esi+000000A8h] mov cx,[esi+000000AAh] mov [esi+00000094h],ebx lea edx,[eax+01h] cmp edx,ecx jg L00408C84 lea ecx,[eax+eax*4] lea ecx,[ecx+ecx*4] lea edx,[eax+ecx*8] mov eax,[esi+0000009Ch] lea ecx,[eax+edx*8] mov edx,[esi] mov [esi+00000098h],ecx mov ecx,esi call [edx+00000144h] push ebx push ebx push ebx push ebx push ebx jmp L00408E76 L00408C84: mov edx,[esi] mov ecx,esi mov [esi+00000098h],ebx call [edx+00000144h] L00408C94: push ebx push ebx push ebx push ebx push ebx jmp L00408E76 L00408C9E: mov edx,[esi+38h] xor ebx,ebx mov edx,[edx+04h] mov bx,[edx] mov edx,[ebp-04h] sub ebx,edx cmp eax,ebx jl L00408E82 cmp ecx,[ebp-0Ch] jge L00408E82 mov ecx,esi call SUB_L004077D0 mov cx,[esi+000000AAh] mov eax,ecx mov [esi+000000A8h],cx and eax,0000FFFFh cdq xor eax,edx sub eax,edx and eax,edi xor eax,edx sub eax,edx cmp eax,edi jnz L00408CF2 dec ecx mov [esi+000000A8h],cx L00408CF2: xor edi,edi cmp [esi+000000A8h],di jbe L00408D0F mov eax,[esi+00000108h] mov [eax+68h],edi mov ecx,[esi+0000010Ch] mov [ecx+68h],edi L00408D0F: mov eax,[esi+000000A0h] mov dx,[esi+000000A8h] cmp eax,edi jnz L00408E00 mov eax,[esi+34h] push edx lea edx,[ebp-00000660h] mov ecx,[eax+78h] push ecx push edx mov ecx,L006BB1C0 call SUB_L004752D0 mov ecx,[L006BB1CC] lea eax,[ebp-00000660h] push eax call SUB_L0048B170 mov ax,[esi+000000A8h] xor edx,edx mov dx,[esi+000000AAh] mov ecx,eax and ecx,0000FFFFh inc ecx cmp ecx,edx jg L00408D98 inc eax lea edx,[ebp-00000660h] push eax mov eax,[esi+34h] mov ecx,[eax+78h] push ecx push edx mov ecx,L006BB1C0 call SUB_L004752D0 mov ecx,[L006BB1CC] lea eax,[ebp-00000660h] push eax call SUB_L0048B170 L00408D98: mov ax,[esi+000000A8h] cmp ax,di jnz L00408DAC mov [esi+00000094h],edi jmp L00408DB8 L00408DAC: mov ecx,[esi+0000009Ch] mov [esi+00000094h],ecx L00408DB8: and eax,0000FFFFh xor edx,edx mov dx,[esi+000000AAh] inc eax cmp eax,edx jg L00408DDE mov eax,[esi+0000009Ch] add eax,00000648h mov [esi+00000098h],eax jmp L00408DE4 L00408DDE: mov [esi+00000098h],edi L00408DE4: mov eax,[esi+00000094h] cmp eax,edi jz L00408DF1 mov [eax],di L00408DF1: mov esi,[esi+00000098h] cmp esi,edi jz L00408E71 mov [esi],di jmp L00408E71 L00408E00: cmp dx,di jbe L00408E2A mov eax,edx and eax,0000FFFFh lea ecx,[eax+eax*4] lea ecx,[ecx+ecx*4] lea eax,[eax+ecx*8] mov ecx,[esi+0000009Ch] lea eax,[ecx+eax*8-00000648h] mov [esi+00000094h],eax jmp L00408E30 L00408E2A: mov [esi+00000094h],edi L00408E30: mov eax,edx xor edx,edx mov dx,[esi+000000AAh] and eax,0000FFFFh lea ecx,[eax+01h] cmp ecx,edx jg L00408E61 lea ecx,[eax+eax*4] lea ecx,[ecx+ecx*4] lea edx,[eax+ecx*8] mov eax,[esi+0000009Ch] lea ecx,[eax+edx*8] mov [esi+00000098h],ecx jmp L00408E67 L00408E61: mov [esi+00000098h],edi L00408E67: mov edx,[esi] mov ecx,esi call [edx+00000144h] L00408E71: push edi push edi push edi push edi push edi L00408E76: push 00000055h mov ecx,L006AAA10 call SUB_L004971D0 L00408E82: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 8 L00408E90: push ebp mov ebp,esp sub esp,00000070h mov eax,[ebp+08h] push ebx push esi cmp eax,0000E02Eh push edi mov ebx,ecx jnz L00408EC1 mov eax,[ebx] push 0000E027h call [eax+44h] mov edx,[ebx] push 00000008h mov ecx,ebx call [edx+44h] pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L00408EC1: cmp eax,0000E021h jnz L00408F72 mov eax,[ebx+00000114h] xor esi,esi cmp eax,esi jle L00408EE0 mov [ebx+00000114h],esi jmp L00408F2B L00408EE0: mov eax,[ebx+00000110h] cmp eax,esi jnz L00408EF7 cmp [ebx+000000A8h],si ja L00408F00 cmp eax,esi jz L00408F2B L00408EF7: cmp [ebx+000000A8h],si jbe L00408F2B L00408F00: cmp eax,esi jz L00408F21 mov eax,[ebx] mov ecx,ebx mov [ebx+00000110h],esi call [eax+0000014Ch] push ebx mov ecx,L00669608 call SUB_L0043FF10 jmp L00408F2B L00408F21: mov dword ptr [ebx+00000110h],00000001h L00408F2B: cmp [ebx+00000110h],esi jz L00408F3E xor eax,eax mov ax,[ebx+000000A8h] jmp L00408F48 L00408F3E: xor eax,eax mov ax,[ebx+000000A8h] inc eax L00408F48: lea ecx,[eax+eax*4] lea ecx,[ecx+ecx*4] lea edx,[eax+ecx*8] mov eax,[ebx+0000009Ch] lea ecx,[eax+edx*8] mov eax,[ebx+00000114h] lea edx,[eax+eax*4] shl edx,04h lea edi,[ecx+edx-00000646h] jmp L0040909A L00408F72: cmp eax,0000E022h jnz L004090B7 mov eax,[ebx+00000110h] mov si,[ebx+000000A8h] test eax,eax mov ecx,esi jz L00408F9A and ecx,0000FFFFh mov eax,ecx jmp L00408FA3 L00408F9A: and ecx,0000FFFFh lea eax,[ecx+01h] L00408FA3: mov edi,[ebx+0000009Ch] lea edx,[eax+eax*4] lea edx,[edx+edx*4] lea edx,[eax+edx*8] xor eax,eax mov ax,[edi+edx*8-00000648h] mov edx,[ebx+00000114h] dec eax cmp edx,eax jge L00408FCF mov [ebx+00000114h],eax jmp L00409023 L00408FCF: mov eax,[ebx+00000110h] test eax,eax jz L00408FE6 cmp si,[ebx+000000AAh] jc L00408FF4 test eax,eax jnz L00409023 L00408FE6: xor edx,edx inc ecx mov dx,[ebx+000000AAh] cmp ecx,edx jge L00409023 L00408FF4: test eax,eax jnz L00409019 mov eax,[ebx] mov ecx,ebx mov dword ptr [ebx+00000110h],00000001h call [eax+00000148h] push ebx mov ecx,L00669608 call SUB_L0043FF10 jmp L00409023 L00409019: mov dword ptr [ebx+00000110h],00000000h L00409023: mov eax,[ebx+00000110h] test eax,eax jz L00409038 xor eax,eax mov ax,[ebx+000000A8h] jmp L00409042 L00409038: xor eax,eax mov ax,[ebx+000000A8h] inc eax L00409042: lea ecx,[eax+eax*4] mov edi,[ebx+0000009Ch] mov edx,[ebx+00000114h] lea ecx,[ecx+ecx*4] lea eax,[eax+ecx*8] xor ecx,ecx shl eax,03h mov cx,[eax+edi-00000648h] lea esi,[ecx-01h] xor ecx,ecx test esi,esi setl cl dec ecx and ecx,esi cmp edx,ecx jle L00409085 xor ecx,ecx test esi,esi setl cl dec ecx and ecx,esi mov [ebx+00000114h],ecx L00409085: mov ecx,[ebx+00000114h] lea edx,[ecx+ecx*4] shl edx,04h add edx,eax lea edi,[edx+edi-00000646h] L0040909A: or ecx,FFFFFFFFh xor eax,eax repne scasb mov eax,[ebx+00000118h] not ecx dec ecx cmp eax,ecx jle L00409F23 jmp L0040933D L004090B7: cmp eax,0000E024h jnz L004090E5 mov eax,[ebx+00000118h] test eax,eax jle L004090DC L004090C8: mov dword ptr [ebx+00000118h],00000000h L004090D2: mov edx,[ebx] mov ecx,ebx call [edx+00000144h] L004090DC: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L004090E5: cmp eax,0000E023h jnz L0040917B mov eax,[ebx+00000110h] test eax,eax mov eax,[ebx+00000114h] lea eax,[eax+eax*4] jz L0040913D mov ecx,[ebx+00000094h] shl eax,04h lea edi,[eax+ecx+02h] or ecx,FFFFFFFFh xor eax,eax repne scasb mov eax,[ebx+00000118h] not ecx dec ecx cmp eax,ecx jge L004090DC mov edx,[ebx] mov [ebx+00000118h],ecx mov ecx,ebx call [edx+00000144h] pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L0040913D: mov ecx,[ebx+00000098h] shl eax,04h lea edi,[eax+ecx+02h] or ecx,FFFFFFFFh xor eax,eax repne scasb mov eax,[ebx+00000118h] not ecx dec ecx cmp eax,ecx jge L004090DC mov edx,[ebx] mov [ebx+00000118h],ecx mov ecx,ebx call [edx+00000144h] pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L0040917B: cmp eax,0000E025h jz L0040A280 cmp eax,0000E027h jz L0040A275 cmp eax,0000E026h jnz L00409287 mov edx,[ebx+00000114h] test edx,edx jle L00409200 mov esi,[ebx+00000110h] xor ecx,ecx dec edx test esi,esi mov [ebx+00000114h],edx jz L004091EB mov ecx,[ebx+00000094h] lea eax,[edx+edx*4] shl eax,04h lea edi,[ecx+eax+02h] or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx test esi,esi jz L004091EB cmp [ebx+00000118h],ecx jg L0040A2EF test esi,esi jnz L004090D2 L004091EB: mov eax,[ebx+00000098h] lea edx,[edx+edx*4] shl edx,04h lea edi,[eax+edx+02h] jmp L00409408 L00409200: mov eax,[ebx+00000110h] test eax,eax jnz L004090DC mov eax,[ebx+00000094h] xor ecx,ecx mov dword ptr [ebx+00000110h],00000001h lea edx,[ebp-14h] mov cx,[eax] lea eax,[ebp-04h] mov [ebx+00000114h],ecx push edx lea ecx,[ebp-18h] push eax push ecx push L004C41E4 push 00000004h mov ecx,L00669CC8 call SUB_L00437A10 mov eax,[ebx+00000114h] mov ecx,[L004B6B9C] mov edi,[L004B6B94] lea edx,[eax+01h] sub ecx,edi imul edx,[ebp-04h] cmp edx,ecx jle L0040926C dec eax mov [ebx+00000114h],eax L0040926C: mov eax,[ebx+00000114h] lea edx,[eax+eax*4] mov eax,[ebx+00000094h] shl edx,04h lea edi,[edx+eax+02h] jmp L00409408 L00409287: cmp eax,0000E028h jnz L00409439 mov eax,[ebx+00000110h] xor esi,esi cmp eax,esi jz L0040938C mov edx,[ebx+00000094h] mov ecx,[ebx+00000114h] xor edi,edi mov di,[edx] cmp ecx,edi jge L00409356 inc ecx lea eax,[ebp-14h] mov [ebx+00000114h],ecx lea ecx,[ebp-04h] push eax lea edx,[ebp-18h] push ecx push edx push L004C41E4 push 00000004h mov ecx,L00669CC8 call SUB_L00437A10 mov eax,[ebx+00000114h] mov edx,[L004B6B9C] mov edi,[L004B6B94] lea ecx,[eax+01h] sub edx,edi imul ecx,[ebp-04h] cmp ecx,edx jle L00409315 mov edi,[ebx+00000098h] mov [ebx+00000110h],esi mov [ebx+00000114h],esi add edi,00000002h jmp L00409325 L00409315: mov edx,[ebx+00000094h] lea ecx,[eax+eax*4] shl ecx,04h lea edi,[ecx+edx+02h] L00409325: or ecx,FFFFFFFFh xor eax,eax repne scasb mov eax,[ebx+00000118h] not ecx dec ecx cmp eax,ecx jle L00409F23 L0040933D: mov eax,[ebx] mov [ebx+00000118h],ecx mov ecx,ebx call [eax+00000144h] pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L00409356: cmp eax,esi jz L0040938C mov cx,[ebx+000000A8h] cmp cx,[ebx+000000AAh] jnc L00409384 mov edi,[ebx+00000098h] mov [ebx+00000110h],esi mov [ebx+00000114h],esi add edi,00000002h jmp L00409408 L00409384: cmp eax,esi jnz L004090DC L0040938C: mov ecx,[ebx+00000098h] mov eax,[ebx+00000114h] xor edx,edx mov dx,[ecx] cmp eax,edx jge L004090DC inc eax lea ecx,[ebp-04h] mov [ebx+00000114h],eax lea eax,[ebp-14h] push eax lea edx,[ebp-18h] push ecx push edx push L004C41E4 push 00000004h mov ecx,L00669CC8 call SUB_L00437A10 mov eax,[ebx+00000114h] mov edx,[L004B6B9C] mov edi,[L004B6B94] lea ecx,[eax+01h] sub edx,edi imul ecx,[ebp-04h] cmp ecx,edx jle L004093F8 dec eax mov [ebx+00000114h],eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L004093F8: mov ecx,[ebx+00000098h] lea eax,[eax+eax*4] shl eax,04h lea edi,[eax+ecx+02h] L00409408: or ecx,FFFFFFFFh xor eax,eax repne scasb mov eax,[ebx+00000118h] not ecx dec ecx cmp eax,ecx jle L004090D2 mov edx,[ebx] mov [ebx+00000118h],ecx mov ecx,ebx call [edx+00000144h] pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L00409439: cmp eax,00000008h jnz L00409C15 mov edx,[ebx+00000118h] test edx,edx jle L00409512 mov eax,[ebx+00000110h] test eax,eax mov eax,[ebx+00000114h] lea eax,[eax+eax*4] jz L0040946E mov ecx,[ebx+00000094h] shl eax,04h jmp L00409477 L0040946E: mov ecx,[ebx+00000098h] shl eax,04h L00409477: lea esi,[eax+ecx+02h] or ecx,FFFFFFFFh mov edi,esi xor eax,eax repne scasb not ecx dec ecx cmp edx,ecx jge L004094A1 lea eax,[edx-01h] lea edi,[ecx-01h] cmp eax,edi jge L004094A1 L00409495: mov dl,[esi+eax+01h] mov [esi+eax],dl inc eax cmp eax,edi jl L00409495 L004094A1: mov byte ptr [esi+ecx-01h],00h mov eax,[ebx+00000118h] dec eax mov [ebx+00000118h],eax mov eax,[ebx+00000110h] test eax,eax jz L0040986D mov edx,[ebx+00000094h] cmp word ptr [edx],0001h jnz L004094DF lea edi,[edx+02h] or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx jnz L004094DF mov [edx],ax L004094DF: xor eax,eax mov ax,[ebx+000000A8h] lea ecx,[eax+eax*4] lea ecx,[ecx+ecx*4] lea edx,[eax+ecx*8] mov eax,[ebx+0000009Ch] mov ecx,ebx mov dword ptr [eax+edx*8-04h],00000001h mov edx,[ebx] call [edx+00000144h] pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L00409512: mov esi,[ebx+00000114h] test esi,esi jle L004098C1 mov eax,[ebx+00000110h] test eax,eax jz L004096F4 mov ecx,[ebx+00000094h] lea eax,[esi+esi*4] shl eax,04h lea esi,[eax+ecx] or ecx,FFFFFFFFh xor eax,eax lea edx,[esi-4Eh] mov edi,edx repne scasb not ecx dec ecx lea edi,[esi+02h] mov [ebp-08h],ecx or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov [ebp+08h],eax mov edi,edx mov edx,[ebp+08h] or ecx,FFFFFFFFh xor eax,eax repne scasb mov ecx,edx dec edi shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb mov eax,[L004B6B98] mov ecx,[L004B6B90] sub eax,ecx mov edx,[ebx+00000094h] push eax mov eax,[ebx+00000114h] lea ecx,[eax+eax*4] shl ecx,04h lea eax,[ecx+edx-4Eh] mov ecx,L00669CC8 push eax push 00000004h call SUB_L00437E00 mov edx,eax cmp edx,FFFFFFFFh jnz L004095DB mov eax,[ebx+00000114h] mov edx,[ebx+00000094h] lea ecx,[eax+eax*4] xor eax,eax shl ecx,04h lea esi,[ecx+edx] or ecx,FFFFFFFFh lea edi,[esi-4Eh] repne scasb not ecx dec ecx mov edx,ecx jmp L004095F9 L004095DB: mov eax,[ebx+00000114h] mov ecx,[ebx+00000094h] inc edx lea eax,[eax+eax*4] shl eax,04h lea esi,[eax+ecx] cmp byte ptr [edx+esi-4Eh],20h jnz L004095F9 inc edx L004095F9: lea edi,[esi-4Eh] or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx cmp edx,ecx jge L0040964B lea edi,[edx+esi-4Eh] or ecx,FFFFFFFFh add esi,00000002h repne scasb not ecx sub edi,ecx mov [ebp+08h],esi mov eax,ecx mov esi,edi mov edi,[ebp+08h] shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov eax,[ebx+00000114h] lea ecx,[eax+eax*4] shl ecx,04h add ecx,edx mov edx,[ebx+00000094h] mov byte ptr [ecx+edx-4Eh],00h jmp L0040968D L0040964B: mov ax,[ebx+00000114h] mov cx,[ebx+000000A8h] push eax push ecx mov ecx,ebx call SUB_L00407AB0 test eax,eax jz L0040968D xor esi,esi push 00000000h mov si,[ebx+000000A8h] mov ecx,ebx inc esi push esi call SUB_L00407AB0 test eax,eax jz L0040968D L0040967E: inc esi push 00000000h push esi mov ecx,ebx call SUB_L00407AB0 test eax,eax jnz L0040967E L0040968D: mov edx,[ebp-08h] mov ecx,[ebx+00000114h] mov [ebx+00000118h],edx mov edx,[ebx+00000094h] dec ecx mov [ebx+00000114h],ecx cmp word ptr [edx],0001h jnz L004096C1 lea edi,[edx+02h] or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx jnz L004096C1 mov [edx],ax L004096C1: xor eax,eax mov ax,[ebx+000000A8h] lea ecx,[eax+eax*4] lea ecx,[ecx+ecx*4] lea edx,[eax+ecx*8] mov eax,[ebx+0000009Ch] mov ecx,ebx mov dword ptr [eax+edx*8-04h],00000001h mov edx,[ebx] call [edx+00000144h] pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L004096F4: mov edx,[ebx+00000098h] lea ecx,[esi+esi*4] shl ecx,04h xor eax,eax lea esi,[ecx+edx] or ecx,FFFFFFFFh lea edx,[esi-4Eh] mov edi,edx repne scasb not ecx dec ecx lea edi,[esi+02h] mov [ebp-08h],ecx or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov [ebp+08h],eax mov edi,edx or ecx,FFFFFFFFh xor eax,eax repne scasb mov eax,[ebp+08h] dec edi mov ecx,eax shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov ecx,[L004B6B98] mov eax,[L004B6B90] sub ecx,eax mov eax,[ebx+00000114h] push ecx lea edx,[eax+eax*4] mov eax,[ebx+00000098h] shl edx,04h lea ecx,[edx+eax-4Eh] push ecx push 00000004h mov ecx,L00669CC8 call SUB_L00437E00 mov edx,eax cmp edx,FFFFFFFFh jnz L004097A1 mov eax,[ebx+00000114h] or ecx,FFFFFFFFh lea edx,[eax+eax*4] mov eax,[ebx+00000098h] shl edx,04h lea esi,[edx+eax] xor eax,eax lea edi,[esi-4Eh] repne scasb not ecx dec ecx mov edx,ecx jmp L004097BF L004097A1: mov eax,[ebx+00000114h] inc edx lea ecx,[eax+eax*4] mov eax,[ebx+00000098h] shl ecx,04h lea esi,[ecx+eax] cmp byte ptr [edx+esi-4Eh],20h jnz L004097BF inc edx L004097BF: lea edi,[esi-4Eh] or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx cmp edx,ecx jge L00409811 lea edi,[edx+esi-4Eh] or ecx,FFFFFFFFh add esi,00000002h repne scasb not ecx sub edi,ecx mov [ebp+08h],esi mov eax,ecx mov esi,edi mov edi,[ebp+08h] shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov eax,[ebx+00000114h] lea ecx,[eax+eax*4] shl ecx,04h add ecx,edx mov edx,[ebx+00000098h] mov byte ptr [ecx+edx-4Eh],00h jmp L00409857 L00409811: mov cx,[ebx+000000A8h] mov ax,[ebx+00000114h] inc cx push eax push ecx mov ecx,ebx call SUB_L00407AB0 test eax,eax jz L00409857 xor esi,esi push 00000000h mov si,[ebx+000000A8h] mov ecx,ebx add esi,00000002h push esi call SUB_L00407AB0 test eax,eax jz L00409857 L00409848: inc esi push 00000000h push esi mov ecx,ebx call SUB_L00407AB0 test eax,eax jnz L00409848 L00409857: mov ecx,[ebx+00000114h] mov edx,[ebp-08h] dec ecx mov [ebx+00000118h],edx mov [ebx+00000114h],ecx L0040986D: mov edx,[ebx+00000098h] cmp word ptr [edx],0001h jnz L0040988B lea edi,[edx+02h] or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx jnz L0040988B mov [edx],ax L0040988B: xor eax,eax mov ax,[ebx+000000A8h] lea ecx,[eax+eax*4] lea ecx,[ecx+ecx*4] lea edx,[eax+ecx*8] mov eax,[ebx+0000009Ch] mov ecx,ebx mov dword ptr [eax+edx*8+00000644h],00000001h mov edx,[ebx] call [edx+00000144h] pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L004098C1: mov dx,[ebx+000000A8h] test dx,dx jbe L004090DC mov eax,[ebx+00000110h] test eax,eax jz L004098E3 and edx,0000FFFFh jmp L004098EA L004098E3: and edx,0000FFFFh inc edx L004098EA: lea eax,[edx-02h] mov [ebp-20h],edx lea ecx,[eax+eax*4] lea ecx,[ecx+ecx*4] lea eax,[eax+ecx*8] mov ecx,[ebx+0000009Ch] shl eax,03h mov [ebp+08h],eax mov ax,[eax+ecx] test ax,ax mov [ebp-1Ch],eax jnz L0040991A mov dword ptr [ebp-08h],00000000h jmp L00409950 L0040991A: lea eax,[edx+edx*4] mov edi,[ebx+0000009Ch] lea eax,[eax+eax*4] lea ecx,[edx+eax*8] mov eax,[ebp-1Ch] and eax,0000FFFFh lea eax,[eax+eax*4] shl eax,04h add edi,eax xor eax,eax lea edi,[edi+ecx*8-00000CDEh] or ecx,FFFFFFFFh repne scasb mov eax,[ebp-1Ch] not ecx dec ecx mov [ebp-08h],ecx L00409950: test ax,ax jnz L0040998E lea eax,[edx+edx*4] lea ecx,[eax+eax*4] lea eax,[esi+esi*4] shl eax,04h lea edx,[edx+ecx*8] mov ecx,[ebx+0000009Ch] add ecx,eax xor eax,eax lea edi,[ecx+edx*8-00000646h] or ecx,FFFFFFFFh repne scasb not ecx dec ecx jz L0040998E mov eax,[ebx+0000009Ch] mov edx,[ebp+08h] mov word ptr [edx+eax],0001h L0040998E: mov ecx,[ebp-20h] mov edx,[ebx+0000009Ch] mov esi,[ebp+08h] lea eax,[ecx+ecx*4] lea eax,[eax+eax*4] lea ecx,[ecx+eax*8] mov eax,[ebx+00000114h] shl ecx,03h lea eax,[eax+eax*4] mov [ebp-0Ch],ecx shl eax,04h add eax,ecx lea edi,[eax+edx-00000646h] xor eax,eax mov ax,[esi+edx] lea eax,[eax+eax*4] shl eax,04h add eax,ecx or ecx,FFFFFFFFh lea edx,[eax+edx-00000CDEh] xor eax,eax repne scasb not ecx sub edi,ecx mov esi,edi mov edi,edx mov edx,ecx or ecx,FFFFFFFFh repne scasb mov ecx,edx dec edi shr ecx,02h rep movsd mov ecx,edx mov edx,[ebp+08h] and ecx,00000003h rep movsb mov eax,[L004B6B98] mov esi,[L004B6B90] mov ecx,[ebx+0000009Ch] sub eax,esi push eax mov esi,[ebp-0Ch] xor eax,eax mov ax,[edx+ecx] lea eax,[eax+eax*4] shl eax,04h add eax,esi lea ecx,[eax+ecx-00000CDEh] push ecx push 00000004h mov ecx,L00669CC8 call SUB_L00437E00 mov edx,eax cmp edx,FFFFFFFFh jnz L00409A6E mov esi,[ebx+0000009Ch] mov edx,[ebp+08h] mov edi,[ebp-0Ch] xor eax,eax mov ax,[edx+esi] or ecx,FFFFFFFFh lea eax,[eax+eax*4] shl eax,04h add eax,edi add eax,esi mov [ebp-1Ch],eax lea edi,[eax-00000CDEh] xor eax,eax repne scasb not ecx dec ecx mov edx,ecx jmp L00409A99 L00409A6E: mov esi,[ebx+0000009Ch] mov ecx,[ebp+08h] mov edi,[ebp-0Ch] xor eax,eax mov ax,[ecx+esi] inc edx lea eax,[eax+eax*4] shl eax,04h add eax,edi add eax,esi mov [ebp-1Ch],eax cmp byte ptr [edx+eax-00000CDEh],20h jnz L00409A99 inc edx L00409A99: mov ecx,[ebp-1Ch] xor eax,eax lea edi,[ecx-00000CDEh] or ecx,FFFFFFFFh repne scasb not ecx dec ecx cmp edx,ecx jge L00409B19 mov eax,[ebp-1Ch] lea edi,[edx+eax-00000CDEh] mov eax,[ebx+00000114h] lea ecx,[eax+eax*4] mov eax,[ebp-0Ch] shl ecx,04h add ecx,eax xor eax,eax lea esi,[ecx+esi-00000646h] or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov [ebp-20h],esi mov eax,ecx mov esi,edi mov edi,[ebp-20h] shr ecx,02h rep movsd mov ecx,eax xor eax,eax and ecx,00000003h rep movsb mov ecx,[ebx+0000009Ch] mov esi,[ebp+08h] mov ax,[esi+ecx] lea eax,[eax+eax*4] shl eax,04h add eax,edx mov edx,[ebp-0Ch] add eax,edx mov byte ptr [eax+ecx-00000CDEh],00h jmp L00409B39 L00409B19: mov esi,[ebp-20h] push 00000000h push esi mov ecx,ebx call SUB_L00407AB0 test eax,eax jz L00409B39 L00409B2A: inc esi push 00000000h push esi mov ecx,ebx call SUB_L00407AB0 test eax,eax jnz L00409B2A L00409B39: mov ecx,[ebx+00000110h] test ecx,ecx jnz L00409BA8 mov ax,[ebx+000000A8h] test ax,ax jbe L00409BA4 and eax,0000FFFFh mov dword ptr [ebx+00000110h],00000001h lea ecx,[eax+eax*4] lea ecx,[ecx+ecx*4] lea edx,[eax+ecx*8] mov ecx,[ebx+0000009Ch] xor eax,eax mov ax,[ecx+edx*8-00000648h] mov ecx,[ebp-08h] dec eax xor edx,edx test eax,eax setl dl dec edx mov [ebx+00000118h],ecx and eax,edx mov edx,[ebx] mov ecx,ebx mov [ebx+00000114h],eax call [edx+00000144h] pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L00409BA4: test ecx,ecx jz L00409BF9 L00409BA8: xor eax,eax mov dword ptr [ebx+00000110h],00000000h mov ax,[ebx+000000A8h] sub eax,00000002h lea ecx,[eax+eax*4] lea ecx,[ecx+ecx*4] lea edx,[eax+ecx*8] mov ecx,[ebx+0000009Ch] xor eax,eax mov ax,[ecx+edx*8] xor edx,edx dec eax mov ecx,ebx test eax,eax setl dl dec edx and eax,edx mov [ebx+00000114h],eax mov eax,[ebx] call [eax+0000014Ch] push ebx mov ecx,L00669608 call SUB_L0043FF10 L00409BF9: mov ecx,[ebp-08h] mov edx,[ebx] mov [ebx+00000118h],ecx mov ecx,ebx call [edx+00000144h] pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L00409C15: cmp eax,0000000Dh jnz L00409F36 mov eax,[ebx+00000110h] test eax,eax jz L00409D48 mov eax,[ebx+00000094h] xor edx,edx inc word ptr [eax] mov eax,[ebx+00000094h] mov ecx,[ebx+00000114h] mov dx,[eax] add ecx,00000002h dec edx cmp edx,ecx jl L00409CA2 lea eax,[edx+edx*4] shl eax,04h mov [ebp+08h],eax jmp L00409C5C L00409C59: mov eax,[ebp+08h] L00409C5C: mov ecx,[ebx+00000094h] add eax,ecx or ecx,FFFFFFFFh lea edi,[eax-4Eh] lea esi,[eax+02h] xor eax,eax mov [ebp-20h],esi repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,[ebp-20h] shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h dec edx rep movsb mov ecx,[ebx+00000114h] mov edi,[ebp+08h] add ecx,00000002h sub edi,00000050h cmp edx,ecx mov [ebp+08h],edi jge L00409C59 L00409CA2: mov eax,[ebx+00000114h] mov ecx,[ebx+00000094h] mov esi,[ebx+00000118h] lea eax,[eax+eax*4] shl eax,04h lea edx,[ecx+eax] lea edi,[edx+esi+02h] lea edx,[ecx+eax+52h] or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov eax,[ebx+00000114h] mov esi,[ebx+00000118h] mov edx,[ebx+00000094h] lea ecx,[eax+eax*4] shl ecx,04h add ecx,esi xor esi,esi mov byte ptr [ecx+edx+02h],00h mov si,[ebx+000000A8h] push esi mov ecx,ebx call SUB_L00407910 test eax,eax jz L00409D23 L00409D16: inc esi mov ecx,ebx push esi call SUB_L00407910 test eax,eax jnz L00409D16 L00409D23: xor eax,eax mov ax,[ebx+000000A8h] lea ecx,[eax+eax*4] lea ecx,[ecx+ecx*4] lea edx,[eax+ecx*8] mov eax,[ebx+0000009Ch] mov dword ptr [eax+edx*8-04h],00000001h jmp L00409E61 L00409D48: mov eax,[ebx+00000098h] xor edx,edx inc word ptr [eax] mov ecx,[ebx+00000098h] mov eax,[ebx+00000114h] mov dx,[ecx] add eax,00000002h dec edx cmp edx,eax jl L00409DBC lea eax,[edx+edx*4] shl eax,04h mov [ebp+08h],eax L00409D73: mov ecx,[ebx+00000098h] mov eax,[ebp+08h] add eax,ecx or ecx,FFFFFFFFh lea edi,[eax-4Eh] lea esi,[eax+02h] xor eax,eax mov [ebp-20h],esi repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,[ebp-20h] shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h dec edx rep movsb mov ecx,[ebx+00000114h] mov edi,[ebp+08h] add ecx,00000002h sub edi,00000050h cmp edx,ecx mov [ebp+08h],edi jge L00409D73 L00409DBC: mov eax,[ebx+00000114h] mov ecx,[ebx+00000098h] mov esi,[ebx+00000118h] lea eax,[eax+eax*4] shl eax,04h lea edx,[ecx+eax] lea edi,[edx+esi+02h] lea edx,[ecx+eax+52h] or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov eax,[ebx+00000114h] mov edx,[ebx+00000098h] xor esi,esi lea ecx,[eax+eax*4] mov eax,[ebx+00000118h] shl ecx,04h add ecx,eax mov byte ptr [ecx+edx+02h],00h mov si,[ebx+000000A8h] inc esi mov ecx,ebx push esi call SUB_L00407910 test eax,eax jz L00409E3E L00409E31: inc esi mov ecx,ebx push esi call SUB_L00407910 test eax,eax jnz L00409E31 L00409E3E: xor eax,eax mov ax,[ebx+000000A8h] lea ecx,[eax+eax*4] lea ecx,[ecx+ecx*4] lea edx,[eax+ecx*8] mov eax,[ebx+0000009Ch] mov dword ptr [eax+edx*8+00000644h],00000001h L00409E61: mov eax,[ebx+00000114h] lea ecx,[ebp-14h] inc eax lea edx,[ebp-04h] mov [ebx+00000114h],eax push ecx lea eax,[ebp-18h] push edx push eax push L004C41E4 push 00000004h mov ecx,L00669CC8 call SUB_L00437A10 mov eax,[ebx+00000114h] mov edx,[L004B6B9C] mov edi,[L004B6B94] lea ecx,[eax+01h] sub edx,edi imul ecx,[ebp-04h] cmp ecx,edx jle L00409F1B mov ecx,[ebx+00000110h] xor esi,esi cmp ecx,esi jz L00409ED4 mov cx,[ebx+000000A8h] cmp cx,[ebx+000000AAh] jnc L00409F12 mov [ebx+00000110h],esi mov [ebx+00000114h],esi jmp L00409F1D L00409ED4: xor ecx,ecx xor edx,edx mov cx,[ebx+000000A8h] mov dx,[ebx+000000AAh] inc ecx cmp ecx,edx jge L00409F12 mov edx,[ebx] mov ecx,ebx mov dword ptr [ebx+00000110h],00000001h call [edx+00000148h] push ebx mov ecx,L00669608 call SUB_L0043FF10 mov [ebx+00000114h],esi jmp L00409F1D L00409F12: dec eax mov [ebx+00000114h],eax jmp L00409F1D L00409F1B: xor esi,esi L00409F1D: mov [ebx+00000118h],esi L00409F23: mov eax,[ebx] mov ecx,ebx call [eax+00000144h] pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L00409F36: push eax push 00000004h mov ecx,L00669CC8 call SUB_L00437140 test eax,eax jz L004090DC mov eax,[ebx+00000110h] test eax,eax jz L00409F7E mov eax,[ebx+00000094h] mov esi,[ebx+00000114h] mov cx,[eax] mov edx,ecx and edx,0000FFFFh cmp esi,edx jnz L00409F74 inc ecx mov [eax],cx L00409F74: mov eax,[ebx+00000110h] test eax,eax jnz L00409FAB L00409F7E: mov eax,[ebx+00000098h] mov esi,[ebx+00000114h] mov cx,[eax] mov edx,ecx and edx,0000FFFFh cmp esi,edx jnz L00409F9D inc ecx mov [eax],cx L00409F9D: mov eax,[ebx+00000110h] test eax,eax jz L0040A10E L00409FAB: mov edx,[ebx+00000114h] mov esi,[ebx+00000094h] or ecx,FFFFFFFFh lea edx,[edx+edx*4] shl edx,04h lea eax,[esi+edx] mov [ebp-20h],eax lea edi,[eax+02h] xor eax,eax repne scasb mov eax,[ebx+00000118h] not ecx dec ecx cmp eax,ecx jnz L0040A002 mov edx,[ebp-20h] mov al,[ebp+08h] mov [ecx+edx+02h],al mov eax,[ebx+00000114h] lea eax,[eax+eax*4] shl eax,04h add eax,ecx mov ecx,[ebx+00000094h] mov byte ptr [eax+ecx+03h],00h jmp L0040A090 L0040A002: add esi,eax or ecx,FFFFFFFFh xor eax,eax lea edx,[esi+edx+02h] lea esi,[ebp-70h] mov edi,edx mov [ebp-20h],esi repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,[ebp-20h] shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov cl,[ebp+08h] lea edi,[ebp-70h] mov [edx],cl mov eax,[ebx+00000114h] mov esi,[ebx+00000118h] lea edx,[eax+eax*4] mov eax,[ebx+00000094h] shl edx,04h add edx,esi mov byte ptr [edx+eax+03h],00h mov eax,[ebx+00000114h] mov edx,[ebx+00000094h] lea ecx,[eax+eax*4] xor eax,eax shl ecx,04h lea edx,[ecx+edx+02h] or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov esi,edi mov edi,edx mov edx,ecx or ecx,FFFFFFFFh repne scasb mov ecx,edx dec edi shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb L0040A090: mov edx,[ebx+00000118h] mov esi,[ebx+00000114h] xor edi,edi lea eax,[ebp-10h] mov di,[ebx+000000A8h] push eax inc edx push esi push edi mov ecx,ebx mov [ebx+00000118h],edx call SUB_L00407CB0 test eax,eax jz L0040A0DB L0040A0BD: mov eax,[ebp-10h] test eax,eax jz L0040A0C9 inc edi xor esi,esi jmp L0040A0CA L0040A0C9: inc esi L0040A0CA: lea ecx,[ebp-10h] push ecx push esi push edi mov ecx,ebx call SUB_L00407CB0 test eax,eax jnz L0040A0BD L0040A0DB: xor eax,eax mov ax,[ebx+000000A8h] lea ecx,[eax+eax*4] lea edx,[ecx+ecx*4] mov ecx,[ebx+0000009Ch] lea eax,[eax+edx*8] mov dword ptr [ecx+eax*8-04h],00000001h mov edx,[ebx] mov ecx,ebx call [edx+00000144h] pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L0040A10E: mov edx,[ebx+00000114h] mov esi,[ebx+00000098h] or ecx,FFFFFFFFh lea edx,[edx+edx*4] shl edx,04h lea eax,[esi+edx] mov [ebp-20h],eax lea edi,[eax+02h] xor eax,eax repne scasb mov eax,[ebx+00000118h] not ecx dec ecx cmp eax,ecx jnz L0040A165 mov eax,[ebp-20h] mov dl,[ebp+08h] mov [ecx+eax+02h],dl mov eax,[ebx+00000114h] lea edx,[eax+eax*4] mov eax,[ebx+00000098h] shl edx,04h add edx,ecx mov byte ptr [edx+eax+03h],00h jmp L0040A1F3 L0040A165: add esi,eax or ecx,FFFFFFFFh xor eax,eax lea edx,[esi+edx+02h] lea esi,[ebp-70h] mov edi,edx mov [ebp-20h],esi repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,[ebp-20h] shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov cl,[ebp+08h] lea edi,[ebp-70h] mov [edx],cl mov eax,[ebx+00000114h] mov esi,[ebx+00000118h] lea edx,[eax+eax*4] mov eax,[ebx+00000098h] shl edx,04h add edx,esi mov byte ptr [edx+eax+03h],00h mov eax,[ebx+00000114h] mov edx,[ebx+00000098h] lea ecx,[eax+eax*4] xor eax,eax shl ecx,04h lea edx,[ecx+edx+02h] or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov esi,edi mov edi,edx mov edx,ecx or ecx,FFFFFFFFh repne scasb mov ecx,edx dec edi shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb L0040A1F3: mov esi,[ebx+00000118h] xor edi,edi mov di,[ebx+000000A8h] inc esi mov [ebx+00000118h],esi mov esi,[ebx+00000114h] lea eax,[ebp-10h] inc edi push eax push esi push edi mov ecx,ebx call SUB_L00407CB0 test eax,eax jz L0040A23F L0040A221: mov eax,[ebp-10h] test eax,eax jz L0040A22D inc edi xor esi,esi jmp L0040A22E L0040A22D: inc esi L0040A22E: lea ecx,[ebp-10h] push ecx push esi push edi mov ecx,ebx call SUB_L00407CB0 test eax,eax jnz L0040A221 L0040A23F: xor eax,eax mov ax,[ebx+000000A8h] lea ecx,[eax+eax*4] lea edx,[ecx+ecx*4] mov ecx,[ebx+0000009Ch] lea eax,[eax+edx*8] mov dword ptr [ecx+eax*8+00000644h],00000001h mov edx,[ebx] mov ecx,ebx call [edx+00000144h] pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L0040A275: cmp eax,0000E025h jnz L0040A308 L0040A280: mov eax,[ebx+00000118h] test eax,eax jle L0040A2A4 mov edx,[ebx] dec eax mov ecx,ebx mov [ebx+00000118h],eax call [edx+00000144h] pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L0040A2A4: mov eax,[ebx+00000114h] test eax,eax jle L004090D2 mov ecx,[ebx+00000110h] dec eax test ecx,ecx mov [ebx+00000114h],eax jz L0040A2D5 mov ecx,[ebx+00000094h] lea eax,[eax+eax*4] shl eax,04h lea edi,[ecx+eax+02h] jmp L0040A2E5 L0040A2D5: lea edx,[eax+eax*4] mov eax,[ebx+00000098h] shl edx,04h lea edi,[eax+edx+02h] L0040A2E5: or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx L0040A2EF: mov edx,[ebx] mov [ebx+00000118h],ecx mov ecx,ebx call [edx+00000144h] pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L0040A308: cmp eax,0000E027h jnz L004090DC mov eax,[ebx+00000110h] mov edx,[ebx+00000114h] test eax,eax jz L0040A3D3 mov esi,[ebx+00000094h] lea eax,[edx+edx*4] shl eax,04h or ecx,FFFFFFFFh lea edi,[eax+esi+02h] xor eax,eax repne scasb mov eax,[ebx+00000118h] not ecx dec ecx cmp eax,ecx jge L0040A365 mov edx,[ebx] inc eax mov ecx,ebx mov [ebx+00000118h],eax call [edx+00000144h] pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L0040A365: xor ecx,ecx mov cx,[esi] cmp edx,ecx jge L004090D2 inc edx lea eax,[ebp-04h] mov [ebx+00000114h],edx lea edx,[ebp-14h] push edx lea ecx,[ebp-18h] push eax push ecx push L004C41E4 push 00000004h mov ecx,L00669CC8 call SUB_L00437A10 mov eax,[ebx+00000114h] mov ecx,[L004B6B9C] mov edi,[L004B6B94] lea edx,[eax+01h] sub ecx,edi imul edx,[ebp-04h] cmp edx,ecx jle L004090C8 mov edx,[ebx] dec eax mov ecx,ebx mov [ebx+00000114h],eax call [edx+00000144h] pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L0040A3D3: mov esi,[ebx+00000098h] lea eax,[edx+edx*4] shl eax,04h or ecx,FFFFFFFFh lea edi,[eax+esi+02h] xor eax,eax repne scasb mov eax,[ebx+00000118h] not ecx dec ecx cmp eax,ecx jge L0040A411 mov edx,[ebx] inc eax mov ecx,ebx mov [ebx+00000118h],eax call [edx+00000144h] pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L0040A411: xor ecx,ecx mov cx,[esi] cmp edx,ecx jge L004090D2 inc edx lea eax,[ebp-04h] mov [ebx+00000114h],edx lea edx,[ebp-14h] push edx lea ecx,[ebp-18h] push eax push ecx push L004C41E4 push 00000004h mov ecx,L00669CC8 call SUB_L00437A10 mov eax,[ebx+00000114h] mov ecx,[L004B6BAC] mov edi,[L004B6BA4] lea edx,[eax+01h] sub ecx,edi imul edx,[ebp-04h] cmp edx,ecx jle L004090C8 mov edx,[ebx] dec eax mov ecx,ebx mov [ebx+00000114h],eax call [edx+00000144h] pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 4 L0040A480: push ebp mov ebp,esp mov dword ptr [ecx+000000A4h],00000001h pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 L0040A4A0: push esi push edi mov esi,ecx call [KERNEL32.dll!GetTickCount] mov edi,eax call [USER32.dll!GetDoubleClickTime] mov edx,[esi+00000120h] mov ecx,00000001h cmp edx,ecx jnz L0040A4FA sub edi,[esi+00000124h] cmp edi,eax jbe L0040A4FA mov eax,[esi+0000011Ch] mov dword ptr [esi+00000120h],00000000h test eax,eax jnz L0040A4F4 mov ecx,[esi+70h] mov edx,[esi+6Ch] mov eax,[esi] push ecx push edx mov ecx,esi call [eax+00000150h] pop edi pop esi retn ;------------------------------------------------------------------------------ L0040A4F4: mov [esi+00000128h],ecx L0040A4FA: pop edi pop esi retn ;------------------------------------------------------------------------------ Align 4 L0040A500: push ebp mov ebp,esp mov dword ptr [ecx+00000130h],00000001h mov dword ptr [L006A9DD4],00000000h test ecx,ecx jz L0040A521 mov eax,[ecx] push 00000001h call [eax] L0040A521: pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 L0040A530: push ebp mov ebp,esp sub esp,0000002Ch mov eax,[ecx+68h] push ebx xor ebx,ebx push esi cmp eax,ebx push edi mov [ebp-0Ch],ecx jz L0040A63B cmp [ecx+60h],ebx jz L0040A556 mov eax,[ecx+38h] mov esi,[eax+0Ch] jmp L0040A55C L0040A556: mov edx,[ecx+38h] mov esi,[edx+04h] L0040A55C: lea eax,[ebp-04h] lea edx,[ebp-08h] push eax push edx mov [ebp-04h],ebx mov [ebp-08h],ebx call SUB_L00440C60 mov eax,[ebp-08h] mov ecx,[ebp-04h] xor edx,edx mov [ebp-1Ch],eax mov [ebp-18h],ecx mov dx,[esi] add eax,edx mov edi,[ebp+08h] mov [ebp-14h],eax xor eax,eax mov ax,[esi+02h] add eax,ecx lea ecx,[ebp-1Ch] push ecx push edi mov ecx,L00669608 mov [ebp-10h],eax call SUB_L00440D40 test eax,eax jz L0040A63B lea edx,[ebp-2Ch] mov ecx,edi push edx lea edx,[ebp-1Ch] call SUB_L00440D90 mov eax,[ebp-1Ch] mov edi,[ebp-2Ch] xor ecx,ecx xor edx,edx cmp eax,edi jz L0040A5CA mov edx,edi sub edx,eax L0040A5CA: mov eax,[ebp-18h] mov edi,[ebp-28h] cmp eax,edi jz L0040A5D8 mov ecx,edi sub ecx,eax L0040A5D8: xor eax,eax mov ebx,ecx mov ax,[esi] mov edi,[L004C7F34] imul ebx,eax add ebx,edx push eax push edi lea eax,[esi+ebx*2+04h] mov esi,[ebp-28h] push eax mov eax,[ebp-04h] add ecx,eax mov eax,[ebp-08h] imul ecx,edi mov edi,[ebp-2Ch] add ecx,edx mov edx,[L006BAE7C] add ecx,eax lea eax,[edx+ecx*2] mov edx,[ebp-24h] mov ecx,[ebp-20h] push eax sub edx,edi sub ecx,esi call SUB_L00440F90 mov ecx,[ebp-0Ch] mov esi,[ecx+4Ch] test esi,esi jz L0040A63B mov edi,[ebp+08h] L0040A62C: mov edx,[esi] push edi mov ecx,esi call [edx+0Ch] mov esi,[esi+40h] test esi,esi jnz L0040A62C L0040A63B: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L0040A650: push ebp mov ebp,esp push FFFFFFFFh push L004B1463 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push esi mov esi,ecx push edi mov [ebp-10h],esi call SUB_L00406CB0 lea edi,[esi+20h] xor ebx,ebx mov ecx,000008ACh mov dword ptr [esi],L004B6D28 lea edx,[esi+1Ch] push edi mov [ebp-04h],ebx mov dword ptr [esi+04h],SSZ004C44A0_spellbook_gump mov [esi+5Ch],ebx mov [esi+50h],ecx call SUB_L004390A0 mov eax,[edi] lea edx,[esi+24h] add eax,00000014h mov ecx,000008BAh mov [edi],eax mov eax,[esi+1Ch] mov [esi+18h],eax lea eax,[esi+28h] push eax call SUB_L004390A0 mov ecx,[ebp+10h] mov [esi+34h],ecx mov edx,[ecx] call [edx+30h] test eax,eax jz L0040A6D5 mov eax,[esi+34h] mov [eax+000000ACh],esi L0040A6D5: mov ecx,[ebp+08h] mov edx,[ebp+0Ch] mov [esi+2Ch],ecx mov [esi+30h],edx mov [esi+60h],ebx mov dword ptr [esi+00000178h],FFFFFFFFh mov word ptr [esi+000000A8h],0001h mov eax,[L004C7F44] cmp eax,FFFFFFFFh jz L0040A733 mov ecx,[esi+34h] mov ecx,[ecx+000000A8h] cmp ecx,ebx jz L0040A733 L0040A70E: xor edx,edx mov dx,[ecx+3Ch] dec edx cmp edx,eax jz L0040A722 mov ecx,[ecx+40h] cmp ecx,ebx jnz L0040A70E jmp L0040A733 L0040A722: cdq and edx,00000007h add eax,edx sar eax,03h inc eax mov [esi+000000A8h],ax L0040A733: push SSZ004C4480_framedata_for_CSpellbookGump push 00000010h mov ecx,L00669C8C mov [esi+00000130h],ebx mov [esi+00000140h],ebx mov [esi+00000134h],ebx mov [esi+00000144h],ebx mov [esi+00000148h],ebx mov [esi+0000013Ch],ebx mov [esi+4Ch],ebx mov [esi+48h],ebx mov [esi+44h],ebx mov [esi+40h],ebx mov [esi+3Ch],ebx mov [esi+10h],ebx mov dword ptr [esi+14h],00000002h call SUB_L0044FBD0 mov ecx,[esi+14h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+38h],edi push SSZ004C43A0_course_frame0 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+1Ch] imul eax,[esi+20h] lea ecx,[eax+eax+04h] push ecx mov ecx,L00669C8C call SUB_L0044FBD0 mov edx,[esi+38h] push SSZ004C446C_spellbook_frame1 mov [edx+04h],eax mov ecx,[esi+1Ch] imul ecx,[esi+20h] mov edx,[esi+38h] xor eax,eax shl ecx,1 mov edi,[edx+04h] mov edx,ecx add edi,00000004h shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+38h] mov dx,[esi+1Ch] mov ecx,[eax+04h] mov [ecx],dx mov eax,[esi+38h] mov dx,[esi+20h] mov ecx,[eax+04h] mov [ecx+02h],dx mov eax,[esi+28h] imul eax,[esi+24h] lea ecx,[eax+eax+04h] push ecx mov ecx,L00669C8C call SUB_L0044FBD0 mov edx,[esi+38h] mov [edx+0Ch],eax mov ecx,[esi+28h] imul ecx,[esi+24h] mov edx,[esi+38h] xor eax,eax shl ecx,1 mov edi,[edx+0Ch] mov edx,ecx add edi,00000004h shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+38h] mov ecx,[eax+0Ch] mov dx,[esi+24h] mov [ecx],dx mov eax,[esi+38h] mov dx,[esi+28h] mov ecx,[eax+0Ch] mov [ecx+02h],dx mov eax,[esi+28h] mov edx,[esi+38h] mov ecx,[esi+24h] push eax push ecx mov eax,[edx+0Ch] mov edx,000008BAh add eax,00000004h mov ecx,SUB_L00488700 push eax push ebx push ebx call SUB_L00439100 cmp dword ptr [esi+2Ch],FFFFFFFFh jnz L0040A8A5 mov eax,[esi+1Ch] mov ecx,00000140h cdq sub eax,edx sar eax,1 sub ecx,eax mov eax,[esi+20h] cdq sub eax,edx mov edx,000000F0h sar eax,1 sub edx,eax mov [esi+2Ch],ecx mov [esi+30h],edx L0040A8A5: push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp+10h],eax cmp eax,ebx mov byte ptr [ebp-04h],01h jz L0040A8D7 push ebx push SUB_L0040D6E0 push ebx push ebx push esi push 00000076h push 00000015h push 00000064h push 00000003h mov ecx,eax call SUB_L00412450 jmp L0040A8D9 L0040A8D7: xor eax,eax L0040A8D9: push 00000001h push esi mov ecx,eax mov [ebp-04h],bl call SUB_L004415C0 mov ecx,esi call SUB_L0040B470 push ebx push ebx push ebx push ebx push ebx push 00000055h mov ecx,L006AAA10 call SUB_L004971D0 mov ecx,[ebp-0Ch] mov eax,esi pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 16 L0040A920: push ebp mov ebp,esp push esi mov esi,ecx call SUB_L0040A950 test byte ptr [ebp+08h],01h jz L0040A93A push esi call SUB_L0049A810 add esp,00000004h L0040A93A: mov eax,esi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L0040A950: push ebp mov ebp,esp push FFFFFFFFh push L004B1478 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx push edi mov [ebp-10h],esi mov dword ptr [esi],L004B6D28 mov eax,[esi+38h] xor edi,edi cmp eax,edi mov [ebp-04h],edi jz L0040A9D5 mov eax,[eax+04h] cmp eax,edi jz L0040A99F push SSZ004C44D8_spellbook_frame_pBMP push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov eax,[esi+38h] mov [eax+04h],edi L0040A99F: mov ecx,[esi+38h] mov eax,[ecx+0Ch] cmp eax,edi jz L0040A9BF push SSZ004C44C4_spellbook_frame2 push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov edx,[esi+38h] mov [edx+0Ch],edi L0040A9BF: mov eax,[esi+38h] push SSZ004C44B0_spellbook_framedata push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov [esi+38h],edi L0040A9D5: push edi push edi push edi push edi push edi push 00000055h mov ecx,L006AAA10 call SUB_L004971D0 mov ecx,esi mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00407380 mov ecx,[ebp-0Ch] pop edi mov fs:[00000000h],ecx pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 L0040AA10: push ebp mov ebp,esp push ebx mov ebx,[ebp+0Ch] push esi push edi mov edi,[ebp+08h] mov esi,ecx push 00000000h mov dword ptr [esi+0000013Ch],00000001h mov [esi+6Ch],edi mov [esi+70h],ebx call SUB_L00441340 mov ecx,[esi+00000148h] mov eax,00000001h cmp ecx,eax jnz L0040AA50 mov dword ptr [esi+00000148h],00000002h jmp L0040AA62 L0040AA50: mov [esi+00000148h],eax call [KERNEL32.dll!GetTickCount] mov [esi+00000144h],eax L0040AA62: mov ax,[esi+000000A8h] cmp ax,[esi+0000014Eh] jbe L0040ABBC lea ecx,[ebp+0Ch] lea edx,[ebp+08h] push ecx mov ecx,000008C0h call SUB_L004390A0 mov eax,[L004B6BB0] cmp edi,eax jl L0040AB16 mov edx,[ebp+08h] add edx,eax cmp edi,edx jg L0040AB16 mov eax,[L004B6BB4] lea ecx,[eax+1Eh] cmp ebx,ecx jl L0040AB16 mov edx,[ebp+0Ch] lea eax,[edx+eax+1Eh] cmp ebx,eax jg L0040AB16 xor ecx,ecx xor edi,edi mov cx,[esi+0000014Eh] mov di,[esi+000000A8h] sub edi,ecx mov ecx,[esi+34h] dec edi mov edx,[ecx] call [edx+30h] test eax,eax jz L0040ABAC mov eax,[esi+34h] xor ecx,ecx test edi,edi mov eax,[eax+000000A8h] jle L0040AAF8 L0040AAE8: mov eax,[eax+40h] test eax,eax jz L0040ABAC inc ecx cmp ecx,edi jl L0040AAE8 L0040AAF8: test eax,eax jz L0040ABAC xor ecx,ecx mov cx,[eax+3Ch] mov eax,ecx dec eax mov [esi+00000178h],eax pop edi pop esi pop ebx pop ebp retn 0008h ;------------------------------------------------------------------------------ L0040AB16: xor eax,eax xor edx,edx mov ax,[esi+000000A8h] mov dx,[esi+000000AAh] lea ecx,[eax+01h] cmp ecx,edx jg L0040ABBC mov ecx,[L004B6BC0] cmp edi,ecx jl L0040ABBC mov edx,[ebp+08h] add edx,ecx cmp edi,edx jg L0040ABBC mov ecx,[L004B6BC4] lea edx,[ecx+1Eh] cmp ebx,edx jl L0040ABBC mov edx,[ebp+0Ch] lea ecx,[edx+ecx+1Eh] cmp ebx,ecx jg L0040ABBC mov ecx,[esi+34h] xor edx,edx mov dx,[esi+0000014Eh] sub eax,edx mov edi,eax mov eax,[ecx] call [eax+30h] test eax,eax jz L0040ABAC mov ecx,[esi+34h] mov eax,[ecx+000000A8h] xor ecx,ecx test edi,edi jle L0040AB92 L0040AB86: mov eax,[eax+40h] test eax,eax jz L0040ABAC inc ecx cmp ecx,edi jl L0040AB86 L0040AB92: test eax,eax jz L0040ABAC xor edx,edx mov dx,[eax+3Ch] mov eax,edx dec eax mov [esi+00000178h],eax pop edi pop esi pop ebx pop ebp retn 0008h ;------------------------------------------------------------------------------ L0040ABAC: or eax,FFFFFFFFh mov [esi+00000178h],eax pop edi pop esi pop ebx pop ebp retn 0008h ;------------------------------------------------------------------------------ L0040ABBC: mov dword ptr [esi+00000178h],FFFFFFFFh pop edi pop esi pop ebx pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 4 L0040ABD0: push ebp mov ebp,esp mov eax,[ecx+00000134h] push esi xor esi,esi cmp eax,esi mov [ecx+0000013Ch],esi jz L0040ABFD mov [ecx+00000134h],esi mov [ecx+00000148h],esi mov [L006A9DD4],esi pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ L0040ABFD: cmp dword ptr [ecx+00000148h],00000002h jnz L0040AC1C mov edx,[ebp+0Ch] mov eax,[ecx] push edx mov edx,[ebp+08h] push edx mov [ecx+00000148h],esi call [eax+00000154h] L0040AC1C: mov [L006A9DD4],esi pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 L0040AC30: push ebp mov ebp,esp push FFFFFFFFh push L004B149B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx mov ebx,ecx push esi push edi mov eax,[ebx+0000013Ch] test eax,eax jz L0040AD9B cmp dword ptr [ebx+00000178h],FFFFFFFFh jz L0040AD78 mov eax,[ebp+08h] mov edx,[ebx+6Ch] mov [ebp+08h],eax mov ecx,[ebp+0Ch] sub eax,edx xor edi,edi cdq xor eax,edx mov [ebp+0Ch],ecx sub eax,edx cmp eax,00000004h jg L0040AC9B mov edx,[ebx+70h] mov eax,ecx sub eax,edx cdq xor eax,edx sub eax,edx cmp eax,00000004h jle L0040AD9B L0040AC9B: lea eax,[ebp+0Ch] lea ecx,[ebp+08h] push eax push ecx mov ecx,ebx call SUB_L00440C60 mov esi,[L00669620] test esi,esi jz L0040ACDB L0040ACB4: mov edx,[esi] mov ecx,esi call [edx+0000012Ch] test eax,eax jz L0040ACD4 mov eax,[esi+000000ACh] mov ecx,[ebx+00000178h] cmp eax,ecx jnz L0040ACD4 mov edi,esi L0040ACD4: mov esi,[esi+3Ch] test esi,esi jnz L0040ACB4 L0040ACDB: test edi,edi jnz L0040AD2C push 000000B4h call SUB_L0049A820 add esp,00000004h mov [ebp-10h],eax test eax,eax mov [ebp-04h],edi jz L0040AD14 mov ecx,[ebx+00000178h] mov edx,[ebp+0Ch] push ecx mov ecx,[ebp+08h] add edx,FFFFFFECh add ecx,FFFFFFECh push edx push ecx mov ecx,eax call SUB_L0040C800 jmp L0040AD16 L0040AD14: xor eax,eax L0040AD16: push 00000001h push 00000000h mov ecx,eax mov dword ptr [ebp-04h],FFFFFFFFh mov edi,eax call SUB_L004415C0 jmp L0040AD35 L0040AD2C: push 00000000h mov ecx,edi call SUB_L00441340 L0040AD35: mov eax,[edi+1Ch] mov dword ptr [edi+0000009Ch],00000001h cdq sub eax,edx sar eax,1 mov [edi+6Ch],eax mov eax,[edi+20h] cdq sub eax,edx sar eax,1 mov [edi+70h],eax mov [L006A9DD4],edi mov dword ptr [ebx+0000013Ch],00000000h mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L0040AD78: test eax,eax jz L0040AD9B mov edx,[ebp+0Ch] mov edi,[ebx+70h] mov eax,[ebp+08h] push 00000001h push 00000000h sub edx,edi push 00000001h push edx mov edx,[ebx+6Ch] mov ecx,ebx sub eax,edx push eax call SUB_L00440850 L0040AD9B: mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 4 L0040ADB0: push ebp mov ebp,esp sub esp,00000018h push ebx push esi mov esi,ecx lea eax,[ebp-10h] push edi push eax lea edx,[ebp-0Ch] mov ecx,000008BBh xor edi,edi call SUB_L004390A0 lea ecx,[ebp-18h] lea edx,[ebp-14h] push ecx mov ecx,000008BCh call SUB_L004390A0 lea edx,[ebp-04h] mov ecx,000008B1h push edx lea edx,[ebp-08h] call SUB_L004390A0 mov edx,[ebp+0Ch] mov eax,[ebp+08h] cmp edx,000000AFh jl L0040AEBC mov ecx,[ebp-04h] add ecx,000000AFh cmp edx,ecx jge L0040AEBC mov ecx,[ebp-08h] cmp eax,0000003Ah jl L0040AE27 lea ebx,[ecx+3Ah] cmp eax,ebx jge L0040AE27 mov edi,00000001h L0040AE27: cmp eax,0000005Dh jl L0040AE38 lea ebx,[ecx+5Dh] cmp eax,ebx jge L0040AE38 mov edi,00000002h L0040AE38: cmp eax,00000082h jl L0040AE4E lea ebx,[ecx+00000082h] cmp eax,ebx jge L0040AE4E mov edi,00000003h L0040AE4E: cmp eax,000000A4h jl L0040AE64 lea ebx,[ecx+000000A4h] cmp eax,ebx jge L0040AE64 mov edi,00000004h L0040AE64: cmp eax,000000E3h jl L0040AE7A lea ebx,[ecx+000000E3h] cmp eax,ebx jge L0040AE7A mov edi,00000005h L0040AE7A: cmp eax,00000104h jl L0040AE90 lea ebx,[ecx+00000104h] cmp eax,ebx jge L0040AE90 mov edi,00000006h L0040AE90: cmp eax,00000129h jl L0040AEA6 lea ebx,[ecx+00000129h] cmp eax,ebx jge L0040AEA6 mov edi,00000007h L0040AEA6: cmp eax,0000014Ch jl L0040AEBC add ecx,0000014Ch cmp eax,ecx jge L0040AEBC mov edi,00000008h L0040AEBC: test edi,edi jz L0040AEFB mov eax,edi mov [esi+000000A8h],di and eax,0000FFFFh cdq xor eax,edx sub eax,edx and eax,00000001h xor eax,edx sub eax,edx jnz L0040AFD9 mov edx,[esi] dec edi mov ecx,esi mov [esi+000000A8h],di call [edx+00000144h] pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L0040AEFB: cmp eax,00000032h jl L0040AF2C mov ecx,[ebp-0Ch] add ecx,00000032h cmp eax,ecx jge L0040AF2C cmp edx,00000008h jl L0040AF2C mov ecx,[ebp-10h] add ecx,00000008h cmp edx,ecx jge L0040AF2C mov edx,[esi] mov ecx,esi call [edx+0000014Ch] pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L0040AF2C: cmp eax,00000141h jl L0040AF62 mov ecx,[ebp-14h] add ecx,00000141h cmp eax,ecx jge L0040AF62 cmp edx,00000008h jl L0040AF62 mov ecx,[ebp-18h] add ecx,00000008h cmp edx,ecx jge L0040AF62 mov edx,[esi] mov ecx,esi call [edx+00000148h] pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L0040AF62: mov cx,[esi+000000A8h] cmp cx,[esi+0000014Eh] ja L0040AFE3 push edx push eax mov ecx,esi call SUB_L0040C6B0 mov edi,eax test edi,edi jl L0040AFE3 mov cx,[esi+0000014Eh] mov eax,ecx and eax,0000FFFFh cdq xor eax,edx sub eax,edx and eax,00000001h xor eax,edx sub eax,edx jnz L0040AFAA lea edx,[edi+ecx+01h] mov [esi+000000A8h],dx jmp L0040AFB5 L0040AFAA: lea eax,[edi+ecx+02h] mov [esi+000000A8h],ax L0040AFB5: mov cx,[esi+000000A8h] mov eax,ecx and eax,0000FFFFh cdq xor eax,edx sub eax,edx and eax,00000001h xor eax,edx sub eax,edx jnz L0040AFD9 dec ecx mov [esi+000000A8h],cx L0040AFD9: mov edx,[esi] mov ecx,esi call [edx+00000144h] L0040AFE3: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 8 L0040AFF0: push ebp mov ebp,esp sub esp,00000098h push ebx push esi mov esi,ecx lea eax,[ebp-08h] push edi push eax lea edx,[ebp-04h] mov ecx,000008C0h call SUB_L004390A0 lea ecx,[ebp-0Ch] lea edx,[ebp-18h] push ecx mov ecx,000008BBh call SUB_L004390A0 lea edx,[ebp-14h] mov ecx,000008BCh push edx lea edx,[ebp-10h] call SUB_L004390A0 mov eax,[esi+60h] test eax,eax jz L0040B048 mov ecx,esi call SUB_L0040D760 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L0040B048: mov eax,[ebp+08h] mov edx,[ebp+0Ch] cmp eax,00000032h mov edi,00000001h jl L0040B0AA mov ecx,[ebp-18h] add ecx,00000032h cmp eax,ecx jge L0040B0AA cmp edx,00000008h jl L0040B0AA mov ecx,[ebp-0Ch] add ecx,00000008h cmp edx,ecx jge L0040B0AA cmp [esi+000000A8h],di jbe L0040B0AA mov edx,[esi] mov ecx,esi mov [esi+000000A8h],di call [edx+00000144h] push 00000000h push 00000000h push 00000000h push 00000000h push 00000000h push 00000055h mov ecx,L006AAA10 call SUB_L004971D0 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L0040B0AA: cmp eax,00000141h jl L0040B120 mov ecx,[ebp-10h] add ecx,00000141h cmp eax,ecx jge L0040B120 cmp edx,00000008h jl L0040B120 mov ecx,[ebp-14h] add ecx,00000008h cmp edx,ecx jge L0040B120 mov cx,[esi+000000AAh] mov eax,ecx mov [esi+000000A8h],cx and eax,0000FFFFh cdq xor eax,edx sub eax,edx and eax,edi xor eax,edx sub eax,edx jnz L0040B0F7 dec ecx mov [esi+000000A8h],cx L0040B0F7: mov edx,[esi] mov ecx,esi call [edx+00000144h] push 00000000h push 00000000h push 00000000h push 00000000h push 00000000h push 00000055h mov ecx,L006AAA10 call SUB_L004971D0 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L0040B120: mov cx,[esi+000000A8h] mov di,[esi+0000014Eh] cmp cx,di mov [ebp+08h],edi ja L0040B1D3 push edx push eax mov ecx,esi call SUB_L0040C6B0 mov edi,eax test edi,edi jl L0040B36B mov ecx,[esi+34h] mov eax,[ecx] call [eax+30h] test eax,eax jz L0040B181 mov ecx,[esi+34h] mov eax,[ecx+000000A8h] xor ecx,ecx test edi,edi jle L0040B174 L0040B168: mov eax,[eax+40h] test eax,eax jz L0040B181 inc ecx cmp ecx,edi jl L0040B168 L0040B174: test eax,eax jz L0040B181 xor edi,edi mov di,[eax+3Ch] dec edi jmp L0040B184 L0040B181: or edi,FFFFFFFFh L0040B184: mov edx,[esi+34h] lea ecx,[edi+01h] mov eax,[edx+78h] lea edx,[ebp-00000098h] push eax push ecx push SSZ004C44F0__d__d push edx call SUB_L0049AC80 add esp,00000010h lea edx,[ebp-00000098h] mov ecx,00000027h call SUB_L00457AD0 mov ecx,esi call SUB_L0040D6E0 mov [L004C7F44],edi mov eax,[esi] mov ecx,esi call [eax+00000144h] pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L0040B1D3: mov edi,[L004B6BB0] cmp eax,edi jl L0040B282 mov ebx,[ebp-04h] add ebx,edi cmp eax,ebx jg L0040B282 mov edi,[L004B6BB4] lea ebx,[edi+1Eh] cmp edx,ebx jl L0040B282 mov ebx,[ebp-08h] lea edi,[ebx+edi+1Eh] cmp edx,edi jg L0040B282 mov edi,[ebp+08h] and edi,0000FFFFh mov eax,edi cdq xor eax,edx sub eax,edx and eax,00000001h xor eax,edx sub eax,edx jnz L0040B22E and ecx,0000FFFFh sub ecx,edi dec ecx jmp L0040B239 L0040B22E: and ecx,0000FFFFh sub ecx,edi sub ecx,00000002h L0040B239: mov edi,ecx mov ecx,[esi+34h] mov edx,[ecx] call [edx+30h] test eax,eax jz L0040B322 mov eax,[esi+34h] xor ecx,ecx test edi,edi mov eax,[eax+000000A8h] jle L0040B315 L0040B25E: mov eax,[eax+40h] test eax,eax jz L0040B322 inc ecx cmp ecx,edi jl L0040B25E test eax,eax jz L0040B322 xor edi,edi mov di,[eax+3Ch] dec edi jmp L0040B325 L0040B282: mov edi,[L004B6BC0] cmp eax,edi jl L0040B36B mov ebx,[ebp-04h] add ebx,edi cmp eax,ebx jg L0040B36B mov eax,[L004B6BC4] lea edi,[eax+1Eh] cmp edx,edi jl L0040B36B mov edi,[ebp-08h] lea eax,[edi+eax+1Eh] cmp edx,eax jg L0040B36B mov edi,[ebp+08h] and edi,0000FFFFh mov eax,edi cdq xor eax,edx sub eax,edx and eax,00000001h xor eax,edx sub eax,edx jnz L0040B2E0 and ecx,0000FFFFh sub ecx,edi dec ecx jmp L0040B2EB L0040B2E0: and ecx,0000FFFFh sub ecx,edi sub ecx,00000002h L0040B2EB: mov edi,ecx mov ecx,[esi+34h] inc edi mov edx,[ecx] call [edx+30h] test eax,eax jz L0040B322 mov eax,[esi+34h] xor ecx,ecx test edi,edi mov eax,[eax+000000A8h] jle L0040B315 L0040B309: mov eax,[eax+40h] test eax,eax jz L0040B322 inc ecx cmp ecx,edi jl L0040B309 L0040B315: test eax,eax jz L0040B322 xor edi,edi mov di,[eax+3Ch] dec edi jmp L0040B325 L0040B322: or edi,FFFFFFFFh L0040B325: mov ecx,[esi+34h] lea eax,[edi+01h] mov edx,[ecx+78h] lea ecx,[ebp-00000098h] push edx push eax push SSZ004C44F0__d__d push ecx call SUB_L0049AC80 add esp,00000010h lea edx,[ebp-00000098h] mov ecx,00000027h call SUB_L00457AD0 mov ecx,esi call SUB_L0040D6E0 mov [L004C7F44],edi mov edx,[esi] mov ecx,esi call [edx+00000144h] L0040B36B: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 L0040B380: push esi push edi mov esi,ecx call [KERNEL32.dll!GetTickCount] mov edi,eax call [USER32.dll!GetDoubleClickTime] mov edx,[esi+00000148h] mov ecx,00000001h cmp edx,ecx jnz L0040B3DA sub edi,[esi+00000144h] cmp edi,eax jbe L0040B3DA mov eax,[esi+0000013Ch] mov dword ptr [esi+00000148h],00000000h test eax,eax jnz L0040B3D4 mov ecx,[esi+70h] mov edx,[esi+6Ch] mov eax,[esi] push ecx push edx mov ecx,esi call [eax+00000150h] pop edi pop esi retn ;------------------------------------------------------------------------------ L0040B3D4: mov [esi+00000134h],ecx L0040B3DA: pop edi pop esi retn ;------------------------------------------------------------------------------ Align 4 L0040B3E0: mov ax,[ecx+000000A8h] push esi mov esi,eax xor edx,edx mov dx,[ecx+000000AAh] and esi,0000FFFFh inc esi cmp esi,edx jge L0040B426 add eax,00000002h mov [ecx+000000A8h],ax mov eax,[ecx] call [eax+00000144h] push 00000000h push 00000000h push 00000000h push 00000000h push 00000000h push 00000055h mov ecx,L006AAA10 call SUB_L004971D0 L0040B426: pop esi retn ;------------------------------------------------------------------------------ Align 16 L0040B430: mov ax,[ecx+000000A8h] cmp ax,0001h jbe L0040B465 add eax,FFFFFFFEh mov [ecx+000000A8h],ax mov eax,[ecx] call [eax+00000144h] push 00000000h push 00000000h push 00000000h push 00000000h push 00000000h push 00000055h mov ecx,L006AAA10 call SUB_L004971D0 L0040B465: retn ;------------------------------------------------------------------------------ Align 16 SUB_L0040B470: push ebp mov ebp,esp sub esp,00000050h push ebx push esi mov esi,ecx lea eax,[ebp-34h] push edi push eax lea edx,[ebp-30h] mov ecx,000008BBh call SUB_L004390A0 lea ecx,[ebp-1Ch] lea edx,[ebp-18h] push ecx mov ecx,000008C0h call SUB_L004390A0 mov edx,[ebp-18h] mov ecx,[esi+50h] add edx,00000004h add ecx,00000002h mov [ebp-18h],edx lea edx,[ebp-38h] push edx lea edx,[ebp-3Ch] call SUB_L004390A0 mov eax,[esi+1Ch] mov ecx,[esi+20h] mov [ebp-48h],eax lea edx,[ebp-08h] mov [ebp-44h],ecx lea eax,[ebp-40h] push edx lea ecx,[ebp-14h] push eax push ecx xor edi,edi push L004C41E4 push 00000007h mov ecx,L00669CC8 mov [ebp-50h],edi mov [ebp-4Ch],edi call SUB_L00437A10 mov ecx,[esi+34h] mov [esi+0000014Ch],di mov word ptr [esi+0000014Eh],0008h mov edx,[ecx] call [edx+30h] test eax,eax jz L0040B520 mov eax,[esi+34h] mov eax,[eax+000000A8h] cmp eax,edi jz L0040B520 L0040B512: inc word ptr [esi+0000014Ch] mov eax,[eax+40h] cmp eax,edi jnz L0040B512 L0040B520: xor ebx,ebx mov bx,[esi+0000014Eh] mov eax,ebx cdq xor eax,edx sub eax,edx and eax,00000001h xor eax,edx sub eax,edx jz L0040B53A inc ebx L0040B53A: mov cx,bx mov edx,[esi+38h] add cx,[esi+0000014Ch] xor eax,eax mov [esi+000000AAh],cx mov ecx,[esi+20h] imul ecx,[esi+1Ch] mov edi,[edx+04h] shl ecx,1 mov edx,ecx add edi,00000004h shr ecx,02h rep stosd mov ecx,edx xor edx,edx and ecx,00000003h rep stosb mov eax,[esi+38h] xor ecx,ecx mov eax,[eax+04h] mov cx,[eax+02h] mov dx,[eax] push ecx add eax,00000004h push edx mov edx,[esi+50h] push eax push 00000000h push 00000000h mov ecx,SUB_L00488700 call SUB_L00439100 cmp word ptr [esi+000000A8h],0001h jbe L0040B5C9 mov eax,[esi+38h] xor ecx,ecx xor edx,edx mov eax,[eax+04h] mov cx,[eax+02h] mov dx,[eax] push ecx add eax,00000004h push edx push eax push 00000008h push 00000032h mov edx,000008BBh mov ecx,SUB_L00488700 call SUB_L00439100 L0040B5C9: xor eax,eax xor ecx,ecx mov ax,[esi+000000A8h] mov cx,[esi+000000AAh] inc eax cmp eax,ecx jge L0040B60D mov edx,[esi+38h] xor ecx,ecx mov eax,[edx+04h] xor edx,edx mov cx,[eax+02h] mov dx,[eax] push ecx add eax,00000004h push edx push eax push 00000008h push 00000141h mov edx,000008BCh mov ecx,SUB_L00488700 call SUB_L00439100 L0040B60D: mov eax,[esi+38h] xor ecx,ecx xor edx,edx mov eax,[eax+04h] mov cx,[eax+02h] mov dx,[eax] push ecx add eax,00000004h push edx push eax push 000000AFh push 0000003Ah mov edx,000008B1h mov ecx,SUB_L00488700 call SUB_L00439100 mov eax,[esi+38h] xor ecx,ecx xor edx,edx mov eax,[eax+04h] mov cx,[eax+02h] mov dx,[eax] push ecx add eax,00000004h push edx push eax push 000000AFh push 0000005Dh mov edx,000008B2h mov ecx,SUB_L00488700 call SUB_L00439100 mov eax,[esi+38h] xor ecx,ecx xor edx,edx mov eax,[eax+04h] mov cx,[eax+02h] mov dx,[eax] push ecx add eax,00000004h push edx push eax push 000000AFh push 00000082h mov edx,000008B3h mov ecx,SUB_L00488700 call SUB_L00439100 mov eax,[esi+38h] xor ecx,ecx xor edx,edx mov eax,[eax+04h] mov cx,[eax+02h] mov dx,[eax] push ecx add eax,00000004h push edx push eax push 000000AFh push 000000A4h mov edx,000008B4h mov ecx,SUB_L00488700 call SUB_L00439100 mov eax,[esi+38h] xor ecx,ecx xor edx,edx mov eax,[eax+04h] mov cx,[eax+02h] mov dx,[eax] push ecx add eax,00000004h push edx push eax push 000000AFh push 000000E3h mov edx,000008B5h mov ecx,SUB_L00488700 call SUB_L00439100 mov eax,[esi+38h] xor ecx,ecx xor edx,edx mov eax,[eax+04h] mov cx,[eax+02h] push ecx mov dx,[eax] add eax,00000004h push edx push eax push 000000AFh push 00000104h mov edx,000008B6h mov ecx,SUB_L00488700 call SUB_L00439100 mov eax,[esi+38h] xor ecx,ecx xor edx,edx mov eax,[eax+04h] mov cx,[eax+02h] mov dx,[eax] push ecx add eax,00000004h push edx push eax push 000000AFh push 00000129h mov edx,000008B7h mov ecx,SUB_L00488700 call SUB_L00439100 mov eax,[esi+38h] xor ecx,ecx xor edx,edx mov eax,[eax+04h] mov cx,[eax+02h] mov dx,[eax] push ecx add eax,00000004h push edx push eax push 000000AFh push 0000014Ch mov edx,000008B8h mov ecx,SUB_L00488700 call SUB_L00439100 mov ax,[esi+000000A8h] cmp ax,[esi+0000014Eh] ja L0040BBFB mov edx,[esi+38h] mov ecx,[esi+1Ch] lea eax,[ebp-50h] push eax mov eax,[edx+04h] mov edx,[L004B6BB0] add eax,00000004h push ecx mov ecx,[ebp-08h] push eax push SSZ004C4504_INDEX push 00000000h add ecx,0000000Ah push 00000006h add edx,0000002Ch push ecx push edx mov ecx,L00669CC8 call SUB_L004371A0 xor eax,eax mov ax,[esi+000000A8h] dec eax cmp eax,00000007h ja L0040B81F jmp [CASE_PROCTABLE_0040C5A4+eax*4] CASE_0040C5A4_PROC0000: mov eax,SSZ004C4384_First_Circle jmp L0040B824 CASE_0040C5A4_PROC0001: mov eax,SSZ004C4374_Second_Circle jmp L0040B824 CASE_0040C5A4_PROC0002: mov eax,SSZ004C4364_Third_Circle jmp L0040B824 CASE_0040C5A4_PROC0003: mov eax,SSZ004C4354_Fourth_Circle jmp L0040B824 CASE_0040C5A4_PROC0004: mov eax,SSZ004C4344_Fifth_Circle jmp L0040B824 CASE_0040C5A4_PROC0005: mov eax,SSZ004C4334_Sixth_Circle jmp L0040B824 CASE_0040C5A4_PROC0006: mov eax,SSZ004C4324_Seventh_Circle jmp L0040B824 CASE_0040C5A4_PROC0007: mov eax,SSZ004C4314_Eighth_Circle jmp L0040B824 L0040B81F: mov eax,SSZ004C4308_Bad_Circle L0040B824: mov edx,[esi+1Ch] lea ecx,[ebp-50h] push ecx mov ecx,[esi+38h] push edx mov edx,[ecx+04h] mov ecx,[L004B6BB4] add edx,00000004h push edx push eax mov eax,[ebp-08h] push 00000000h push 00000006h lea edx,[eax+ecx+14h] mov eax,[L004B6BB0] push edx push eax mov ecx,L00669CC8 call SUB_L004371A0 mov ecx,[esi+34h] mov edx,[L004B6BB4] add edx,00000024h mov edi,[ecx+000000A8h] mov [ebp-0Ch],edx test edi,edi mov [ebp-04h],edi jz L0040B9C7 L0040B879: xor ecx,ecx mov cx,[edi+3Ch] lea eax,[ecx-01h] mov [ebp-24h],eax cdq and edx,00000007h add eax,edx xor edx,edx mov dx,[esi+000000A8h] sar eax,03h inc eax cmp eax,edx jnz L0040B9B9 mov ecx,[L004C7F48+ecx*8] xor edx,edx test ecx,ecx mov [ebp-20h],ecx jz L0040B8EC mov edi,ecx or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx test ecx,ecx jle L0040B8EC mov ebx,[ebp-20h] mov eax,L004D7D60 sub eax,ebx mov [ebp-2Ch],eax L0040B8CD: mov al,[ebx] cmp al,28h jz L0040B8EC mov ecx,[ebp-2Ch] mov edi,[ebp-20h] inc edx mov [ecx+ebx],al or ecx,FFFFFFFFh xor eax,eax inc ebx repne scasb not ecx dec ecx cmp edx,ecx jl L0040B8CD L0040B8EC: mov byte ptr [edx+L004D7D5F],00h lea edx,[ebp-28h] lea eax,[ebp-10h] push edx lea ecx,[ebp-14h] push eax push ecx push L004C41E4 push 00000009h mov ecx,L00669CC8 call SUB_L00437A10 mov eax,[esi+38h] mov edx,[esi+1Ch] mov edi,[ebp-0Ch] push L004B6BB0 mov ecx,[eax+04h] mov eax,[L004B6BB0] add ecx,00000004h push edx mov edx,[ebp-08h] push ecx push L004D7D60 push 00000288h add edx,edi push 00000009h push edx push eax mov ecx,L00669CC8 call SUB_L004375A0 mov ecx,[ebp-24h] mov eax,[L004C7F44] cmp eax,ecx jnz L0040B9B0 mov edx,[esi+38h] xor ecx,ecx mov eax,[edx+04h] xor edx,edx mov cx,[eax+02h] mov dx,[eax] push ecx add eax,00000004h push edx push eax push 00000002h push 000000B8h mov edx,000008ADh mov ecx,SUB_L00488700 call SUB_L00439100 mov eax,[esi+38h] xor ecx,ecx xor edx,edx mov eax,[eax+04h] mov cx,[eax+02h] mov dx,[eax] push ecx add eax,00000004h push edx push eax lea eax,[edi+06h] mov edx,000008AFh push eax push 000000B8h mov ecx,SUB_L00488700 call SUB_L00439100 L0040B9B0: add edi,[ebp-10h] mov [ebp-0Ch],edi mov edi,[ebp-04h] L0040B9B9: mov edi,[edi+40h] test edi,edi mov [ebp-04h],edi jnz L0040B879 L0040B9C7: mov eax,[esi+38h] mov edx,[esi+1Ch] lea ecx,[ebp-50h] push ecx mov ecx,[eax+04h] mov eax,[L004B6BC0] add ecx,00000004h push edx mov edx,[ebp-08h] push ecx push SSZ004C4504_INDEX push 00000000h add edx,0000000Ah push 00000006h add eax,0000002Ch push edx push eax mov ecx,L00669CC8 call SUB_L004371A0 xor eax,eax mov ax,[esi+000000A8h] cmp eax,00000007h ja L0040BA49 jmp [CASE_PROCTABLE_0040C5C4+eax*4] CASE_0040C5C4_PROC0000: mov eax,SSZ004C4384_First_Circle jmp L0040BA4E CASE_0040C5C4_PROC0001: mov eax,SSZ004C4374_Second_Circle jmp L0040BA4E CASE_0040C5C4_PROC0002: mov eax,SSZ004C4364_Third_Circle jmp L0040BA4E CASE_0040C5C4_PROC0003: mov eax,SSZ004C4354_Fourth_Circle jmp L0040BA4E CASE_0040C5C4_PROC0004: mov eax,SSZ004C4344_Fifth_Circle jmp L0040BA4E CASE_0040C5C4_PROC0005: mov eax,SSZ004C4334_Sixth_Circle jmp L0040BA4E CASE_0040C5C4_PROC0006: mov eax,SSZ004C4324_Seventh_Circle jmp L0040BA4E CASE_0040C5C4_PROC0007: mov eax,SSZ004C4314_Eighth_Circle jmp L0040BA4E L0040BA49: mov eax,SSZ004C4308_Bad_Circle L0040BA4E: mov edx,[esi+1Ch] lea ecx,[ebp-50h] push ecx mov ecx,[esi+38h] push edx mov edx,[ecx+04h] mov ecx,[L004B6BC4] add edx,00000004h push edx push eax mov eax,[ebp-08h] push 00000000h push 00000006h lea edx,[eax+ecx+14h] mov eax,[L004B6BC0] push edx push eax mov ecx,L00669CC8 call SUB_L004371A0 mov ecx,[esi+34h] mov edx,[L004B6BC4] add edx,00000024h mov edi,[ecx+000000A8h] mov [ebp-0Ch],edx test edi,edi mov [ebp-04h],edi jz L0040C59B L0040BAA3: xor ecx,ecx xor edx,edx mov cx,[edi+3Ch] mov dx,[esi+000000A8h] mov ebx,edx lea eax,[ecx-01h] inc ebx mov [ebp-24h],eax cdq and edx,00000007h add eax,edx sar eax,03h inc eax cmp eax,ebx jnz L0040BBE6 mov ecx,[L004C7F48+ecx*8] xor edx,edx test ecx,ecx mov [ebp-20h],ecx jz L0040BB19 mov edi,ecx or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx test ecx,ecx jle L0040BB19 mov ebx,[ebp-20h] mov eax,L004D7D60 sub eax,ebx mov [ebp-2Ch],eax L0040BAFA: mov al,[ebx] cmp al,28h jz L0040BB19 mov ecx,[ebp-2Ch] mov edi,[ebp-20h] inc edx mov [ecx+ebx],al or ecx,FFFFFFFFh xor eax,eax inc ebx repne scasb not ecx dec ecx cmp edx,ecx jl L0040BAFA L0040BB19: mov byte ptr [edx+L004D7D5F],00h lea edx,[ebp-28h] lea eax,[ebp-10h] push edx lea ecx,[ebp-14h] push eax push ecx push L004C41E4 push 00000009h mov ecx,L00669CC8 call SUB_L00437A10 mov eax,[esi+38h] mov edx,[esi+1Ch] mov edi,[ebp-0Ch] push L004B6BC0 mov ecx,[eax+04h] mov eax,[L004B6BC0] add ecx,00000004h push edx mov edx,[ebp-08h] push ecx push L004D7D60 push 00000288h add edx,edi push 00000009h push edx push eax mov ecx,L00669CC8 call SUB_L004375A0 mov ecx,[ebp-24h] mov eax,[L004C7F44] cmp eax,ecx jnz L0040BBDD mov edx,[esi+38h] xor ecx,ecx mov eax,[edx+04h] xor edx,edx mov cx,[eax+02h] mov dx,[eax] push ecx add eax,00000004h push edx push eax push 00000003h push 000000CBh mov edx,000008AEh mov ecx,SUB_L00488700 call SUB_L00439100 mov eax,[esi+38h] xor ecx,ecx xor edx,edx mov eax,[eax+04h] mov cx,[eax+02h] mov dx,[eax] push ecx add eax,00000004h push edx push eax lea eax,[edi+06h] mov edx,000008B0h push eax push 000000CBh mov ecx,SUB_L00488700 call SUB_L00439100 L0040BBDD: add edi,[ebp-10h] mov [ebp-0Ch],edi mov edi,[ebp-04h] L0040BBE6: mov edi,[edi+40h] test edi,edi mov [ebp-04h],edi jnz L0040BAA3 pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L0040BBFB: and eax,0000FFFFh sub eax,ebx dec eax cmp word ptr [esi+0000014Ch],0000h mov [ebp-2Ch],eax jbe L0040C0BA mov ecx,[esi+34h] mov edx,[ecx] call [edx+30h] test eax,eax jz L0040BC4D mov eax,[esi+34h] mov edx,[ebp-2Ch] xor ecx,ecx mov eax,[eax+000000A8h] test edx,edx jle L0040BC3E L0040BC32: mov eax,[eax+40h] test eax,eax jz L0040BC4D inc ecx cmp ecx,edx jl L0040BC32 L0040BC3E: test eax,eax jz L0040BC4D xor ecx,ecx mov cx,[eax+3Ch] mov eax,ecx dec eax jmp L0040BC50 L0040BC4D: or eax,FFFFFFFFh L0040BC50: test eax,eax mov [ebp-04h],eax jl L0040C0BA mov ebx,eax cdq and edx,00000007h add eax,edx mov edi,eax sar edi,03h cmp edi,00000007h ja L0040BCAC jmp [CASE_PROCTABLE_0040C5E4+edi*4] CASE_0040C5E4_PROC0000: mov eax,SSZ004C4384_First_Circle jmp L0040BCB1 CASE_0040C5E4_PROC0001: mov eax,SSZ004C4374_Second_Circle jmp L0040BCB1 CASE_0040C5E4_PROC0002: mov eax,SSZ004C4364_Third_Circle jmp L0040BCB1 CASE_0040C5E4_PROC0003: mov eax,SSZ004C4354_Fourth_Circle jmp L0040BCB1 CASE_0040C5E4_PROC0004: mov eax,SSZ004C4344_Fifth_Circle jmp L0040BCB1 CASE_0040C5E4_PROC0005: mov eax,SSZ004C4334_Sixth_Circle jmp L0040BCB1 CASE_0040C5E4_PROC0006: mov eax,SSZ004C4324_Seventh_Circle jmp L0040BCB1 CASE_0040C5E4_PROC0007: mov eax,SSZ004C4314_Eighth_Circle jmp L0040BCB1 L0040BCAC: mov eax,SSZ004C4308_Bad_Circle L0040BCB1: lea edx,[ebp-28h] lea ecx,[ebp-10h] push edx lea edx,[ebp-14h] push ecx push edx push eax push 00000009h mov ecx,L00669CC8 call SUB_L00437A10 mov eax,[L004B6BB8] mov ecx,[ebp-14h] sub eax,ecx mov ecx,[L004B6BB0] sub eax,ecx cdq sub eax,edx sar eax,1 add eax,ecx mov ecx,[ebp-30h] add ecx,00000032h cmp eax,ecx jge L0040BCEF mov eax,ecx L0040BCEF: cmp edi,00000007h ja L0040BD33 jmp [CASE_PROCTABLE_0040C604+edi*4] CASE_0040C604_PROC0000: mov ecx,SSZ004C4384_First_Circle jmp L0040BD38 CASE_0040C604_PROC0001: mov ecx,SSZ004C4374_Second_Circle jmp L0040BD38 CASE_0040C604_PROC0002: mov ecx,SSZ004C4364_Third_Circle jmp L0040BD38 CASE_0040C604_PROC0003: mov ecx,SSZ004C4354_Fourth_Circle jmp L0040BD38 CASE_0040C604_PROC0004: mov ecx,SSZ004C4344_Fifth_Circle jmp L0040BD38 CASE_0040C604_PROC0005: mov ecx,SSZ004C4334_Sixth_Circle jmp L0040BD38 CASE_0040C604_PROC0006: mov ecx,SSZ004C4324_Seventh_Circle jmp L0040BD38 CASE_0040C604_PROC0007: mov ecx,SSZ004C4314_Eighth_Circle jmp L0040BD38 L0040BD33: mov ecx,SSZ004C4308_Bad_Circle L0040BD38: mov edx,[esi+1Ch] push L004B6BB0 push edx mov edx,[esi+38h] mov edx,[edx+04h] add edx,00000004h push edx mov edx,[L004B6BB4] push ecx mov ecx,[ebp-08h] push 00000000h add ecx,edx push 00000006h push ecx push eax mov ecx,L00669CC8 call SUB_L004375A0 mov edi,[L004C7F50+ebx*8] xor edx,edx test edi,edi mov [ebp-24h],edi jz L0040BDB1 or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx test ecx,ecx jle L0040BDB1 mov ebx,[ebp-24h] mov eax,L004D7D60 sub eax,ebx mov [ebp-20h],eax L0040BD92: mov al,[ebx] cmp al,28h jz L0040BDB1 mov ecx,[ebp-20h] mov edi,[ebp-24h] inc edx mov [ecx+ebx],al or ecx,FFFFFFFFh xor eax,eax inc ebx repne scasb not ecx dec ecx cmp edx,ecx jl L0040BD92 L0040BDB1: mov byte ptr [edx+L004D7D5F],00h mov eax,[esi+38h] mov edx,[esi+1Ch] push 0000000Eh mov ecx,[eax+04h] mov eax,[ebp-18h] push 00000000h push L004B6BB0 push edx mov edx,[L004B6BB8] add ecx,00000004h sub edx,eax push ecx mov ecx,[L004B6BB0] sub edx,ecx sub edx,00000002h lea eax,[eax+ecx+02h] push edx mov edx,[L004B6BB4] push L004D7D60 push 00000000h add edx,00000018h push 00000006h push edx push eax mov ecx,L00669CC8 call SUB_L004372C0 mov ecx,[esi+1Ch] mov edx,[esi+38h] push 0000000Eh push 00000000h mov edi,[L004B6BB8] push L004B6BB0 mov [ebp-10h],eax push ecx mov ecx,[edx+04h] mov edx,[L004B6BB0] add ecx,00000004h push ecx mov ecx,[ebp-18h] sub edi,ecx sub edi,edx lea ecx,[ecx+edx+02h] sub edi,00000002h push edi mov edi,[ebp-04h] mov ebx,[L004C8158+edi*4] push ebx mov ebx,[L004B6BB4] push 00000288h push 00000008h lea eax,[eax+ebx+1Ch] push eax push ecx mov ecx,L00669CC8 call SUB_L004372C0 mov edx,[esi+20h] mov ecx,[esi+38h] mov eax,[esi+1Ch] push edx mov edx,[ecx+04h] mov ecx,[L004B6BB0] push eax mov eax,[L004B6BB4] add edx,00000004h add eax,0000001Eh push edx push eax push ecx lea edx,[edi+000008C0h] mov ecx,SUB_L00488380 call SUB_L00439100 mov edx,[esi+38h] mov eax,[ebp-1Ch] mov ecx,[L004B6BB4] mov ebx,[L004B6BB0] mov edi,[edx+04h] lea edx,[eax+ecx+22h] lea eax,[ebp-0Ch] mov [ebp-24h],edx push eax lea edx,[ebp-20h] mov ecx,00000835h call SUB_L004390A0 mov eax,[L004B6BB8] cmp ebx,eax jg L0040BF35 mov ecx,[ebp-20h] L0040BED0: add ecx,ebx cmp ecx,eax jl L0040BF02 xor ecx,ecx xor edx,edx mov cx,[edi+02h] mov dx,[edi] push ecx mov ecx,[ebp-24h] lea eax,[edi+04h] push edx push eax push ecx push ebx push L004B6BB0 mov edx,00000835h mov ecx,SUB_L00488700 call SUB_L00439290 jmp L0040BF27 L0040BF02: xor edx,edx xor eax,eax mov dx,[edi+02h] mov ax,[edi] push edx mov edx,[ebp-24h] lea ecx,[edi+04h] push eax push ecx push edx push ebx mov edx,00000835h mov ecx,SUB_L00488700 call SUB_L00439100 L0040BF27: mov ecx,[ebp-20h] mov eax,[L004B6BB8] add ebx,ecx cmp ebx,eax jle L0040BED0 L0040BF35: mov ecx,[esi+38h] mov eax,[esi+1Ch] push L004B6BB0 push eax mov edx,[ecx+04h] mov eax,[ebp-1Ch] mov ecx,[ebp-08h] add edx,00000004h push edx mov edx,[L004B6BB4] add eax,ecx mov ecx,[L004B6BB0] push SSZ004C44F8_Reagents_ push 00000000h lea eax,[eax+edx+26h] push 00000006h push eax push ecx mov ecx,L00669CC8 call SUB_L004371A0 mov edx,[ebp-1Ch] mov eax,[L004B6BB4] xor ebx,ebx lea ecx,[edx+eax+36h] mov edx,[ebp-04h] mov [ebp-0Ch],ecx or ecx,FFFFFFFFh mov edx,[L004C8260+edx*4] xor eax,eax mov edi,edx repne scasb not ecx dec ecx test ecx,ecx jle L0040C04D L0040BFA4: movsx eax,[ebx+edx] add eax,FFFFFFCFh cmp eax,00000007h ja L0040BFEF jmp [CASE_PROCTABLE_0040C624+eax*4] CASE_0040C624_PROC0000: mov eax,SSZ004C4460_Bloodmoss jmp L0040BFF4 CASE_0040C624_PROC0001: mov eax,SSZ004C4454_Nightshade jmp L0040BFF4 CASE_0040C624_PROC0002: mov eax,SSZ004C444C_Garlic jmp L0040BFF4 CASE_0040C624_PROC0003: mov eax,SSZ004C4444_Ginseng jmp L0040BFF4 CASE_0040C624_PROC0004: mov eax,SSZ004C4434_Mandrake_root jmp L0040BFF4 CASE_0040C624_PROC0005: mov eax,SSZ004C4424_Spiders__silk jmp L0040BFF4 CASE_0040C624_PROC0006: mov eax,SSZ004C4414_Sulfurous_ash jmp L0040BFF4 CASE_0040C624_PROC0007: mov eax,SSZ004C4408_Black_pearl jmp L0040BFF4 L0040BFEF: mov eax,SSZ004C43FC_Bad_reagent L0040BFF4: mov ecx,[esi+1Ch] mov edx,[esi+38h] mov edi,[ebp-0Ch] push L004B6BB0 push ecx mov ecx,[edx+04h] mov edx,[ebp-08h] add ecx,00000004h push ecx push eax mov eax,[L004B6BB0] push 00000288h add edx,edi push 00000009h push edx push eax mov ecx,L00669CC8 call SUB_L004371A0 mov ecx,[ebp-04h] add edi,0000000Eh mov [ebp-0Ch],edi xor eax,eax mov edx,[L004C8260+ecx*4] or ecx,FFFFFFFFh mov edi,edx inc ebx repne scasb not ecx dec ecx cmp ebx,ecx jl L0040BFA4 L0040C04D: mov edx,[ebp-04h] mov eax,[L004C7F44] cmp eax,edx jnz L0040C0BA mov eax,[esi+38h] xor ecx,ecx xor edx,edx mov eax,[eax+04h] mov cx,[eax+02h] mov dx,[eax] push ecx add eax,00000004h push edx push eax push 00000002h push 000000B8h mov edx,000008ADh mov ecx,SUB_L00488700 call SUB_L00439100 mov eax,[esi+38h] xor ecx,ecx xor edx,edx mov eax,[eax+04h] mov cx,[eax+02h] mov dx,[eax] push ecx add eax,00000004h push edx push eax mov eax,[L004B6BB4] mov edx,000008AFh add eax,0000001Eh mov ecx,SUB_L00488700 push eax push 000000B8h call SUB_L00439100 L0040C0BA: xor ecx,ecx xor edx,edx mov cx,[esi+000000A8h] mov dx,[esi+000000AAh] inc ecx cmp ecx,edx jg L0040C59B mov ecx,[esi+34h] mov edi,[ebp-2Ch] inc edi mov eax,[ecx] call [eax+30h] test eax,eax jz L0040C11A mov ecx,[esi+34h] mov eax,[ecx+000000A8h] xor ecx,ecx test edi,edi jle L0040C100 L0040C0F4: mov eax,[eax+40h] test eax,eax jz L0040C112 inc ecx cmp ecx,edi jl L0040C0F4 L0040C100: test eax,eax jz L0040C112 xor edx,edx mov dx,[eax+3Ch] mov eax,edx dec eax mov [ebp-04h],eax jmp L0040C124 L0040C112: or eax,FFFFFFFFh mov [ebp-04h],eax jmp L0040C124 L0040C11A: mov dword ptr [ebp-04h],FFFFFFFFh mov eax,[ebp-04h] L0040C124: test eax,eax jl L0040C59B mov eax,[ebp-04h] cdq and edx,00000007h add eax,edx mov ebx,eax sar ebx,03h cmp ebx,00000007h ja L0040C17E jmp [CASE_PROCTABLE_0040C644+ebx*4] CASE_0040C644_PROC0000: mov eax,SSZ004C4384_First_Circle jmp L0040C183 CASE_0040C644_PROC0001: mov eax,SSZ004C4374_Second_Circle jmp L0040C183 CASE_0040C644_PROC0002: mov eax,SSZ004C4364_Third_Circle jmp L0040C183 CASE_0040C644_PROC0003: mov eax,SSZ004C4354_Fourth_Circle jmp L0040C183 CASE_0040C644_PROC0004: mov eax,SSZ004C4344_Fifth_Circle jmp L0040C183 CASE_0040C644_PROC0005: mov eax,SSZ004C4334_Sixth_Circle jmp L0040C183 CASE_0040C644_PROC0006: mov eax,SSZ004C4324_Seventh_Circle jmp L0040C183 CASE_0040C644_PROC0007: mov eax,SSZ004C4314_Eighth_Circle jmp L0040C183 L0040C17E: mov eax,SSZ004C4308_Bad_Circle L0040C183: lea ecx,[ebp-28h] lea edx,[ebp-10h] push ecx lea ecx,[ebp-14h] push edx push ecx push eax push 00000009h mov ecx,L00669CC8 call SUB_L00437A10 mov eax,[L004B6BC8] mov ecx,[ebp-14h] mov edi,[L004B6BC0] sub eax,ecx sub eax,edi cdq sub eax,edx sar eax,1 add eax,edi lea edx,[eax+ecx] cmp edx,00000141h jle L0040C1C7 mov eax,00000141h sub eax,ecx L0040C1C7: cmp eax,edi jge L0040C1CD mov eax,edi L0040C1CD: cmp ebx,00000007h ja L0040C211 jmp [CASE_PROCTABLE_0040C664+ebx*4] CASE_0040C664_PROC0000: mov ecx,SSZ004C4384_First_Circle jmp L0040C216 CASE_0040C664_PROC0001: mov ecx,SSZ004C4374_Second_Circle jmp L0040C216 CASE_0040C664_PROC0002: mov ecx,SSZ004C4364_Third_Circle jmp L0040C216 CASE_0040C664_PROC0003: mov ecx,SSZ004C4354_Fourth_Circle jmp L0040C216 CASE_0040C664_PROC0004: mov ecx,SSZ004C4344_Fifth_Circle jmp L0040C216 CASE_0040C664_PROC0005: mov ecx,SSZ004C4334_Sixth_Circle jmp L0040C216 CASE_0040C664_PROC0006: mov ecx,SSZ004C4324_Seventh_Circle jmp L0040C216 CASE_0040C664_PROC0007: mov ecx,SSZ004C4314_Eighth_Circle jmp L0040C216 L0040C211: mov ecx,SSZ004C4308_Bad_Circle L0040C216: mov edx,[esi+1Ch] push L004B6BC0 push edx mov edx,[esi+38h] mov edx,[edx+04h] add edx,00000004h push edx mov edx,[L004B6BC4] push ecx mov ecx,[ebp-08h] push 00000000h add ecx,edx push 00000006h push ecx push eax mov ecx,L00669CC8 call SUB_L004375A0 mov eax,[ebp-04h] xor edx,edx mov edi,[L004C7F50+eax*8] test edi,edi mov [ebp-2Ch],edi jz L0040C292 or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx test ecx,ecx jle L0040C292 mov ebx,[ebp-2Ch] mov eax,L004D7D60 sub eax,ebx mov [ebp-24h],eax L0040C273: mov al,[ebx] cmp al,28h jz L0040C292 mov ecx,[ebp-24h] mov edi,[ebp-2Ch] inc edx mov [ecx+ebx],al or ecx,FFFFFFFFh xor eax,eax inc ebx repne scasb not ecx dec ecx cmp edx,ecx jl L0040C273 L0040C292: mov byte ptr [edx+L004D7D5F],00h mov eax,[esi+38h] mov edx,[esi+1Ch] push 0000000Eh mov ecx,[eax+04h] mov eax,[ebp-18h] push 00000000h push L004B6BC0 push edx mov edx,[L004B6BC8] add ecx,00000004h sub edx,eax push ecx mov ecx,[L004B6BC0] sub edx,ecx sub edx,00000002h lea eax,[eax+ecx+02h] push edx mov edx,[L004B6BC4] push L004D7D60 push 00000000h add edx,00000018h push 00000006h push edx push eax mov ecx,L00669CC8 call SUB_L004372C0 mov ecx,[esi+1Ch] mov edx,[esi+38h] push 0000000Eh push 00000000h mov edi,[L004B6BC8] push L004B6BC0 mov [ebp-10h],eax push ecx mov ecx,[edx+04h] mov edx,[L004B6BC0] add ecx,00000004h push ecx mov ecx,[ebp-18h] sub edi,ecx sub edi,edx lea ecx,[ecx+edx+02h] sub edi,00000002h push edi mov edi,[ebp-04h] mov ebx,[L004C8158+edi*4] push ebx mov ebx,[L004B6BC4] push 00000288h push 00000008h lea eax,[eax+ebx+1Ch] push eax push ecx mov ecx,L00669CC8 call SUB_L004372C0 mov edx,[esi+20h] mov ecx,[esi+38h] mov eax,[esi+1Ch] push edx mov edx,[ecx+04h] mov ecx,[L004B6BC0] push eax mov eax,[L004B6BC4] add edx,00000004h add eax,0000001Eh push edx push eax push ecx lea edx,[edi+000008C0h] mov ecx,SUB_L00488380 call SUB_L00439100 mov edx,[esi+38h] mov eax,[ebp-1Ch] mov ecx,[L004B6BC4] mov ebx,[L004B6BC0] mov edi,[edx+04h] lea edx,[eax+ecx+22h] lea eax,[ebp-20h] mov [ebp-2Ch],edx push eax lea edx,[ebp-24h] mov ecx,00000835h call SUB_L004390A0 mov eax,[L004B6BC8] cmp ebx,eax jg L0040C416 mov ecx,[ebp-24h] L0040C3B1: add ecx,ebx cmp ecx,eax jl L0040C3E3 xor ecx,ecx xor edx,edx mov cx,[edi+02h] mov dx,[edi] push ecx mov ecx,[ebp-2Ch] lea eax,[edi+04h] push edx push eax push ecx push ebx push L004B6BC0 mov edx,00000835h mov ecx,SUB_L00488700 call SUB_L00439290 jmp L0040C408 L0040C3E3: xor edx,edx xor eax,eax mov dx,[edi+02h] mov ax,[edi] push edx mov edx,[ebp-2Ch] lea ecx,[edi+04h] push eax push ecx push edx push ebx mov edx,00000835h mov ecx,SUB_L00488700 call SUB_L00439100 L0040C408: mov ecx,[ebp-24h] mov eax,[L004B6BC8] add ebx,ecx cmp ebx,eax jle L0040C3B1 L0040C416: mov ecx,[esi+38h] mov eax,[esi+1Ch] push L004B6BC0 push eax mov edx,[ecx+04h] mov eax,[ebp-1Ch] mov ecx,[ebp-08h] add edx,00000004h push edx mov edx,[L004B6BC4] add eax,ecx mov ecx,[L004B6BC0] push SSZ004C44F8_Reagents_ push 00000000h lea eax,[eax+edx+26h] push 00000006h push eax push ecx mov ecx,L00669CC8 call SUB_L004371A0 mov edx,[ebp-1Ch] mov eax,[L004B6BC4] xor ebx,ebx lea ecx,[edx+eax+36h] mov edx,[ebp-04h] mov [ebp-0Ch],ecx or ecx,FFFFFFFFh mov edx,[L004C8260+edx*4] xor eax,eax mov edi,edx repne scasb not ecx dec ecx test ecx,ecx jle L0040C52E L0040C485: movsx eax,[ebx+edx] add eax,FFFFFFCFh cmp eax,00000007h ja L0040C4D0 jmp [CASE_PROCTABLE_0040C684+eax*4] CASE_0040C684_PROC0000: mov eax,SSZ004C4460_Bloodmoss jmp L0040C4D5 CASE_0040C684_PROC0001: mov eax,SSZ004C4454_Nightshade jmp L0040C4D5 CASE_0040C684_PROC0002: mov eax,SSZ004C444C_Garlic jmp L0040C4D5 CASE_0040C684_PROC0003: mov eax,SSZ004C4444_Ginseng jmp L0040C4D5 CASE_0040C684_PROC0004: mov eax,SSZ004C4434_Mandrake_root jmp L0040C4D5 CASE_0040C684_PROC0005: mov eax,SSZ004C4424_Spiders__silk jmp L0040C4D5 CASE_0040C684_PROC0006: mov eax,SSZ004C4414_Sulfurous_ash jmp L0040C4D5 CASE_0040C684_PROC0007: mov eax,SSZ004C4408_Black_pearl jmp L0040C4D5 L0040C4D0: mov eax,SSZ004C43FC_Bad_reagent L0040C4D5: mov ecx,[esi+1Ch] mov edx,[esi+38h] mov edi,[ebp-0Ch] push L004B6BC0 push ecx mov ecx,[edx+04h] mov edx,[ebp-08h] add ecx,00000004h push ecx push eax mov eax,[L004B6BC0] push 00000288h add edx,edi push 00000009h push edx push eax mov ecx,L00669CC8 call SUB_L004371A0 mov ecx,[ebp-04h] add edi,0000000Eh mov [ebp-0Ch],edi xor eax,eax mov edx,[L004C8260+ecx*4] or ecx,FFFFFFFFh mov edi,edx inc ebx repne scasb not ecx dec ecx cmp ebx,ecx jl L0040C485 L0040C52E: mov edx,[ebp-04h] mov eax,[L004C7F44] cmp eax,edx jnz L0040C59B mov eax,[esi+38h] xor ecx,ecx xor edx,edx mov eax,[eax+04h] mov cx,[eax+02h] mov dx,[eax] push ecx add eax,00000004h push edx push eax push 00000003h push 000000CBh mov edx,000008AEh mov ecx,SUB_L00488700 call SUB_L00439100 mov eax,[esi+38h] xor ecx,ecx xor edx,edx mov eax,[eax+04h] mov cx,[eax+02h] mov dx,[eax] push ecx add eax,00000004h push edx push eax mov eax,[L004B6BC4] mov edx,000008B0h add eax,0000001Eh mov ecx,SUB_L00488700 push eax push 000000CBh call SUB_L00439100 L0040C59B: pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_0040C5A4: dd CASE_0040C5A4_PROC0000 dd CASE_0040C5A4_PROC0001 dd CASE_0040C5A4_PROC0002 dd CASE_0040C5A4_PROC0003 dd CASE_0040C5A4_PROC0004 dd CASE_0040C5A4_PROC0005 dd CASE_0040C5A4_PROC0006 dd CASE_0040C5A4_PROC0007 CASE_PROCTABLE_0040C5C4: dd CASE_0040C5C4_PROC0000 dd CASE_0040C5C4_PROC0001 dd CASE_0040C5C4_PROC0002 dd CASE_0040C5C4_PROC0003 dd CASE_0040C5C4_PROC0004 dd CASE_0040C5C4_PROC0005 dd CASE_0040C5C4_PROC0006 dd CASE_0040C5C4_PROC0007 CASE_PROCTABLE_0040C5E4: dd CASE_0040C5E4_PROC0000 dd CASE_0040C5E4_PROC0001 dd CASE_0040C5E4_PROC0002 dd CASE_0040C5E4_PROC0003 dd CASE_0040C5E4_PROC0004 dd CASE_0040C5E4_PROC0005 dd CASE_0040C5E4_PROC0006 dd CASE_0040C5E4_PROC0007 CASE_PROCTABLE_0040C604: dd CASE_0040C604_PROC0000 dd CASE_0040C604_PROC0001 dd CASE_0040C604_PROC0002 dd CASE_0040C604_PROC0003 dd CASE_0040C604_PROC0004 dd CASE_0040C604_PROC0005 dd CASE_0040C604_PROC0006 dd CASE_0040C604_PROC0007 CASE_PROCTABLE_0040C624: dd CASE_0040C624_PROC0000 dd CASE_0040C624_PROC0001 dd CASE_0040C624_PROC0002 dd CASE_0040C624_PROC0003 dd CASE_0040C624_PROC0004 dd CASE_0040C624_PROC0005 dd CASE_0040C624_PROC0006 dd CASE_0040C624_PROC0007 CASE_PROCTABLE_0040C644: dd CASE_0040C644_PROC0000 dd CASE_0040C644_PROC0001 dd CASE_0040C644_PROC0002 dd CASE_0040C644_PROC0003 dd CASE_0040C644_PROC0004 dd CASE_0040C644_PROC0005 dd CASE_0040C644_PROC0006 dd CASE_0040C644_PROC0007 CASE_PROCTABLE_0040C664: dd CASE_0040C664_PROC0000 dd CASE_0040C664_PROC0001 dd CASE_0040C664_PROC0002 dd CASE_0040C664_PROC0003 dd CASE_0040C664_PROC0004 dd CASE_0040C664_PROC0005 dd CASE_0040C664_PROC0006 dd CASE_0040C664_PROC0007 CASE_PROCTABLE_0040C684: dd CASE_0040C684_PROC0000 dd CASE_0040C684_PROC0001 dd CASE_0040C684_PROC0002 dd CASE_0040C684_PROC0003 dd CASE_0040C684_PROC0004 dd CASE_0040C684_PROC0005 dd CASE_0040C684_PROC0006 dd CASE_0040C684_PROC0007 Align 16 SUB_L0040C6B0: push ebp mov ebp,esp sub esp,00000010h push ebx push esi push edi mov edi,ecx xor ebx,ebx mov ax,[edi+000000A8h] mov [ebp-04h],ebx cmp ax,0001h jc L0040C7F0 cmp ax,0008h ja L0040C7F0 mov esi,[ebp+0Ch] mov eax,[L004B6BB4] cmp esi,eax jl L0040C7F0 cmp esi,[L004B6BBC] jg L0040C7F0 mov eax,[ebp+08h] mov ecx,[L004B6BB0] cmp eax,ecx jl L0040C713 cmp eax,[L004B6BB8] jg L0040C713 mov ebx,00000001h jmp L0040C72B L0040C713: cmp eax,[L004B6BC0] jl L0040C7F0 cmp eax,[L004B6BC8] jg L0040C7F0 L0040C72B: lea eax,[ebp-0Ch] lea ecx,[ebp-04h] push eax lea edx,[ebp-10h] push ecx push edx push L004C41E4 push 00000009h mov ecx,L00669CC8 call SUB_L00437A10 mov edx,[L004B6BB4] mov eax,esi sub eax,edx mov dword ptr [ebp+0Ch],00000000h sub eax,00000026h mov dword ptr [ebp+08h],00000000h cdq idiv [ebp-04h] mov [ebp-08h],eax mov eax,[edi+34h] mov esi,[eax+000000A8h] test esi,esi jz L0040C7F0 L0040C777: xor ecx,ecx mov cx,[esi+3Ch] test ebx,ebx jz L0040C79F lea eax,[ecx-01h] cdq and edx,00000007h add eax,edx xor edx,edx mov dx,[edi+000000A8h] sar eax,03h inc eax cmp eax,edx jz L0040C7BA test ebx,ebx jnz L0040C7CA L0040C79F: lea eax,[ecx-01h] xor ecx,ecx cdq mov cx,[edi+000000A8h] and edx,00000007h add eax,edx sar eax,03h inc eax inc ecx cmp eax,ecx jnz L0040C7CA L0040C7BA: mov edx,[ebp+0Ch] mov eax,[ebp-08h] cmp edx,eax jz L0040C7E4 mov eax,edx inc eax mov [ebp+0Ch],eax L0040C7CA: mov ecx,[ebp+08h] mov esi,[esi+40h] inc ecx test esi,esi mov [ebp+08h],ecx jnz L0040C777 or eax,FFFFFFFFh pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L0040C7E4: mov eax,[ebp+08h] pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L0040C7F0: pop edi pop esi or eax,FFFFFFFFh pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 8 SUB_L0040C800: push ebp mov ebp,esp push FFFFFFFFh push L004B14B8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push esi mov esi,ecx push edi mov [ebp-10h],esi call SUB_L00441CB0 mov eax,[ebp+08h] mov ecx,[ebp+0Ch] mov [esi+2Ch],eax mov eax,[ebp+10h] mov [esi+30h],ecx mov [esi+000000ACh],eax lea ecx,[eax+000008C0h] lea eax,[esi+20h] lea ebx,[esi+1Ch] xor edi,edi push eax mov edx,ebx mov [ebp-04h],edi mov dword ptr [esi],L004B6E80 mov dword ptr [esi+04h],SSZ004C4538_spellicon_gump mov [esi+5Ch],edi mov [esi+0000009Ch],edi mov [esi+60h],edi mov [esi+34h],edi mov [esi+50h],ecx mov [esi+4Ch],edi mov [esi+48h],edi mov [esi+44h],edi mov [esi+40h],edi mov [esi+3Ch],edi call SUB_L004390A0 mov eax,[ebx] push SSZ004C451C_framedata_for_CStatusGump add eax,00000007h push 00000008h and al,F8h mov ecx,L00669C8C mov [esi+18h],eax mov [ebx],eax mov [esi+10h],edi mov dword ptr [esi+14h],00000001h call SUB_L0044FBD0 mov ecx,[esi+14h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+38h],edi push SSZ004C450C_status_frame0 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[ebx] imul eax,[esi+20h] lea ecx,[eax+eax+04h] push ecx mov ecx,L00669C8C call SUB_L0044FBD0 mov edx,[esi+38h] mov [edx+04h],eax mov ecx,[ebx] imul ecx,[esi+20h] mov edx,[esi+38h] xor eax,eax shl ecx,1 mov edi,[edx+04h] mov edx,ecx add edi,00000004h shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+38h] mov dx,[ebx] mov ecx,[eax+04h] mov [ecx],dx mov eax,[esi+38h] mov dx,[esi+20h] mov ecx,[eax+04h] mov [ecx+02h],dx mov eax,[esi+38h] xor ecx,ecx xor edx,edx mov eax,[eax+04h] mov cx,[eax+02h] mov dx,[eax] push ecx add eax,00000004h push edx mov edx,[esi+50h] push eax push 00000000h push 00000000h mov ecx,SUB_L00488700 call SUB_L00439100 mov ecx,[ebp-0Ch] mov eax,esi pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 8 L0040C960: mov eax,00000001h retn ;------------------------------------------------------------------------------ Align 16 L0040C970: push ebp mov ebp,esp push esi mov esi,ecx call SUB_L0040C9A0 test byte ptr [ebp+08h],01h jz L0040C98A push esi call SUB_L0049A810 add esp,00000004h L0040C98A: mov eax,esi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L0040C9A0: push ebp mov ebp,esp push FFFFFFFFh push L004B14D8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx mov [ebp-10h],esi mov dword ptr [esi],L004B6E80 mov eax,[esi+38h] mov dword ptr [ebp-04h],00000000h mov eax,[eax+04h] test eax,eax jz L0040C9F0 push SSZ004C455C_spellicon_frame0_pBMP push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov ecx,[esi+38h] mov dword ptr [ecx+04h],00000000h L0040C9F0: mov eax,[esi+38h] test eax,eax jz L0040CA0E push SSZ004C4548_spellicon_framedata push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov dword ptr [esi+38h],00000000h L0040CA0E: mov ecx,esi mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00441D50 mov ecx,[ebp-0Ch] pop esi mov fs:[00000000h],ecx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 L0040CA30: push ebp mov ebp,esp mov eax,[ebp+08h] push esi mov esi,ecx push edi mov ecx,[ebp+0Ch] push 00000000h mov [esi+70h],ecx mov ecx,esi mov [esi+6Ch],eax call SUB_L00441340 mov edi,00000001h push 00000000h mov ecx,esi mov [esi+0000009Ch],edi mov [esi+000000B0h],edi call SUB_L00441340 cmp [esi+000000A8h],edi jnz L0040CA7E mov dword ptr [esi+000000A8h],00000002h pop edi pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ L0040CA7E: mov [esi+000000A8h],edi call [KERNEL32.dll!GetTickCount] mov [esi+000000A4h],eax pop edi pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 L0040CAA0: push ebp mov ebp,esp sub esp,00000014h mov eax,[ecx+00000094h] push esi xor esi,esi cmp eax,esi mov [ecx+0000009Ch],esi jz L0040CAD2 mov [ecx+00000094h],esi mov [ecx+000000A8h],esi mov [L006A9DD4],esi pop esi mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L0040CAD2: cmp dword ptr [ecx+000000A8h],00000002h jnz L0040CB07 mov eax,[ecx+000000ACh] mov [ecx+000000A8h],esi inc eax lea ecx,[ebp-14h] push eax push L004C43EC push ecx call SUB_L0049AC80 add esp,0000000Ch lea edx,[ebp-14h] mov ecx,00000056h call SUB_L00457AD0 L0040CB07: mov [L006A9DD4],esi pop esi mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 L0040CB20: push ebp mov ebp,esp mov eax,[ecx+0000009Ch] test eax,eax jz L0040CB48 mov eax,[ebp+0Ch] mov edx,[ecx+70h] push 00000001h push 00000000h sub eax,edx mov edx,[ebp+08h] push 00000001h push eax sub edx,[ecx+6Ch] push edx call SUB_L00440850 L0040CB48: pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 8 L0040CB50: push esi mov esi,ecx push edi mov eax,[esi+0000009Ch] test eax,eax jz L0040CB7C mov ecx,[esi+000000B0h] inc ecx mov eax,ecx mov [esi+000000B0h],ecx cmp eax,00000002h jnz L0040CB7C mov dword ptr [esi+000000B0h],00000000h L0040CB7C: call [KERNEL32.dll!GetTickCount] mov edi,eax call [USER32.dll!GetDoubleClickTime] mov edx,[esi+000000A8h] mov ecx,00000001h cmp edx,ecx jnz L0040CBBD sub edi,[esi+000000A4h] cmp edi,eax jbe L0040CBBD mov eax,[esi+0000009Ch] mov dword ptr [esi+000000A8h],00000000h test eax,eax jz L0040CBBD mov [esi+00000094h],ecx L0040CBBD: pop edi pop esi retn ;------------------------------------------------------------------------------ L0040CBC0: push ebp mov ebp,esp sub esp,00000018h xor eax,eax push esi mov esi,ecx mov [ebp-08h],eax mov [ebp-04h],eax lea eax,[ebp-04h] push edi lea ecx,[ebp-08h] push eax push ecx mov ecx,esi call SUB_L00440C60 mov edx,[esi+38h] mov ecx,[ebp-08h] mov eax,[ebp-04h] mov edi,[ebp+08h] mov esi,[edx+04h] xor edx,edx mov [ebp-18h],ecx mov [ebp-14h],eax mov dx,[esi] add edx,ecx xor ecx,ecx mov [ebp-10h],edx mov cx,[esi+02h] lea edx,[ebp-18h] add eax,ecx push edx push edi mov ecx,L00669608 mov [ebp-0Ch],eax call SUB_L00440D40 test eax,eax jz L0040CC55 mov eax,[L004C7F38] mov ecx,[L004C7F34] mov edx,[L006BAE7C] push eax mov eax,[ebp-04h] push ecx mov ecx,[ebp-08h] push edx push eax xor edx,edx mov dx,[esi+02h] xor eax,eax mov ax,[esi] push ecx push edx push eax push edi lea edx,[esi+04h] mov ecx,SUB_L00488700 call SUB_L00439500 L0040CC55: pop edi pop esi mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L0040CC60: retn ;------------------------------------------------------------------------------ Align 16 SUB_L0040CC70: push esi mov esi,ecx or ecx,FFFFFFFFh mov [L004D7E00],esi xor eax,eax mov [esi+00000104h],ecx mov [esi+00000110h],ecx mov ecx,esi mov [esi],al mov [esi+00000100h],eax mov [esi+00000144h],eax mov [esi+0000014Ch],eax call SUB_L004068F0 mov eax,esi pop esi retn ;------------------------------------------------------------------------------ Align 8 SUB_L0040CCB0: push ebp mov ebp,esp push FFFFFFFFh push L004B14FB mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000010h mov eax,[ebp+0Ch] push ebx push esi mov esi,ecx mov ecx,[ebp+08h] push edi push eax push ecx mov ecx,L006A9D38 mov [ebp-14h],esi call SUB_L0045F5D0 mov edi,[esi+00000144h] mov ecx,eax mov eax,[L004D7E04] xor ebx,ebx add ecx,edi mov [ebp-10h],ebx mov edx,[eax+00000104h] mov [ebp-18h],ecx cmp edx,ebx jle L0040CDAC jmp L0040CD0F L0040CD0C: mov ecx,[ebp-18h] L0040CD0F: mov edx,[eax+00000100h] mov esi,[ebp+08h] push 00000080h movsx edi,[edx+ebx+02h] lea eax,[edx+ebx] movsx edx,[edx+ebx] movsx eax,[eax+04h] add eax,ecx mov ecx,[ebp-14h] add esi,edx mov edx,[ebp+0Ch] add edi,edx mov [ecx+00000148h],eax call SUB_L0049A820 add esp,00000004h mov [ebp-1Ch],eax test eax,eax mov dword ptr [ebp-04h],00000000h jz L0040CD72 mov edx,[L004D7E04] push edi push esi mov ecx,[edx+00000100h] mov dx,[ecx+ebx+06h] mov ecx,eax push edx call SUB_L0045F670 jmp L0040CD74 L0040CD72: xor eax,eax L0040CD74: mov eax,[eax+18h] mov dword ptr [ebp-04h],FFFFFFFFh test eax,eax jz L0040CD89 mov ecx,eax call SUB_L00430E30 L0040CD89: mov eax,[L004D7E04] mov ecx,[ebp-10h] inc ecx add ebx,00000010h mov edx,[eax+00000104h] mov [ebp-10h],ecx cmp ecx,edx jl L0040CD0C mov esi,[ebp-14h] mov ecx,[ebp-18h] L0040CDAC: mov eax,[ebp+08h] mov edx,[ebp+0Ch] mov [esi+0000010Ch],ecx mov ecx,[ebp-0Ch] mov [esi+00000104h],eax mov [esi+00000108h],edx pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L0040CDE0: push ebx push esi mov esi,[L004D7E04] push edi xor edi,edi mov ebx,ecx cmp esi,edi jz L0040CE29 mov eax,[esi+00000100h] cmp eax,edi jz L0040CE1A mov ecx,[eax-04h] lea edi,[eax-04h] push SUB_L0040CC60 push ecx push 00000010h push eax call SUB_L0049AEB0 push edi call SUB_L0049A810 add esp,00000004h xor edi,edi L0040CE1A: push esi call SUB_L0049A810 add esp,00000004h mov [L004D7E04],edi L0040CE29: mov [ebx+00000144h],edi mov [ebx+00000148h],edi pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ Align 8 SUB_L0040CE40: push ebp mov ebp,esp push FFFFFFFFh push L004B151B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000014h mov edx,[ebp+08h] mov [ebp-18h],ecx lea eax,[ebp-14h] push edi lea ecx,[ebp-10h] push eax push ecx push edx xor edi,edi push 0000000Eh push 0000000Dh mov ecx,L006AA860 mov [ebp-10h],edi mov [ebp-14h],edi call SUB_L00446620 cmp eax,edi mov [ebp+08h],eax jnz L0040CE9B xor eax,eax mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi mov esp,ebp pop ebp retn 0010h ;------------------------------------------------------------------------------ L0040CE9B: mov ecx,[ebp-10h] mov eax,2AAAAAABh imul ecx sar edx,1 mov eax,edx push esi shr eax,1Fh add edx,eax mov eax,[L004D7E04] push ebx cmp eax,edi mov ebx,edx jz L0040CEF3 mov esi,eax cmp esi,edi jz L0040CEF3 mov eax,[esi+00000100h] cmp eax,edi jz L0040CEEA mov ecx,[eax-04h] lea edi,[eax-04h] push SUB_L0040CC60 push ecx push 00000010h push eax call SUB_L0049AEB0 push edi call SUB_L0049A810 add esp,00000004h xor edi,edi L0040CEEA: push esi call SUB_L0049A810 add esp,00000004h L0040CEF3: push 00000108h call SUB_L0049A820 add esp,00000004h cmp eax,edi jz L0040CF0C mov [eax+00000100h],edi jmp L0040CF0E L0040CF0C: xor eax,eax L0040CF0E: mov edx,ebx mov [L004D7E04],eax shl edx,04h add edx,00000004h push edx call SUB_L0049A820 add esp,00000004h mov [ebp-20h],eax cmp eax,edi mov [ebp-04h],edi jz L0040CF48 push SUB_L0040CC60 push L0040D090 lea esi,[eax+04h] push ebx push 00000010h push esi mov [eax],ebx call SUB_L0049AFF0 jmp L0040CF4A L0040CF48: xor esi,esi L0040CF4A: mov eax,[L004D7E04] mov edi,SSZ004C4574_multi mov [eax+00000100h],esi mov ecx,[L004D7E04] xor eax,eax mov [ecx+00000104h],ebx or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov edx,ecx mov esi,edi mov edi,[L004D7E04] shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h test ebx,ebx rep movsb jle L0040D055 mov ecx,[ebp+08h] mov [ebp+08h],ebx add ecx,00000004h L0040CF98: mov dx,[ecx-02h] mov edi,[L004D7E04] mov si,[ecx-04h] mov [ebp-20h],dx mov dx,[ecx] mov edi,[edi+00000100h] mov [ebp-1Eh],dx mov ebx,[ebp-20h] mov dx,[ecx+02h] add edi,eax add ecx,0000000Ch mov [edi],ebx mov [edi+04h],dx mov edx,[L004D7E04] mov di,[ebp+0Ch] mov edx,[edx+00000100h] sub [edx+eax],di add edx,eax mov di,[ebp+10h] mov edx,[L004D7E04] mov edx,[edx+00000100h] sub [edx+eax+02h],di mov di,[ebp+14h] lea edx,[edx+eax+02h] mov edx,[L004D7E04] mov edx,[edx+00000100h] sub [edx+eax+04h],di lea edx,[edx+eax+04h] add eax,00000010h mov edx,[L004D7E04] mov edx,[edx+00000100h] mov [edx+eax-0Ah],si mov edx,[L004D7E04] mov esi,[edx+00000100h] xor edx,edx mov [esi+eax-08h],dx mov esi,[L004D7E04] mov esi,[esi+00000100h] mov [esi+eax-04h],edx mov edx,[ebp+08h] dec edx mov [ebp+08h],edx jnz L0040CF98 L0040D055: mov eax,[ebp-18h] mov ecx,[ebp-0Ch] pop ebx pop esi mov dword ptr [eax+00000104h],FFFFFFFFh mov dword ptr [eax+0000014Ch],00000001h mov eax,00000001h mov fs:[00000000h],ecx pop edi mov esp,ebp pop ebp retn 0010h ;------------------------------------------------------------------------------ Align 16 L0040D090: mov eax,ecx retn ;------------------------------------------------------------------------------ Align 16 SUB_L0040D0A0: push ebp mov ebp,esp push FFFFFFFFh push L004B153B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx mov eax,[L004D7E04] push ebx push esi xor esi,esi cmp eax,esi push edi mov [ebp-10h],ecx jz L0040D100 mov ebx,eax cmp ebx,esi jz L0040D100 mov eax,[ebx+00000100h] cmp eax,esi jz L0040D0F7 mov ecx,[eax-04h] lea edi,[eax-04h] push SUB_L0040CC60 push ecx push 00000010h push eax call SUB_L0049AEB0 push edi call SUB_L0049A810 add esp,00000004h L0040D0F7: push ebx call SUB_L0049A810 add esp,00000004h L0040D100: push 00000108h call SUB_L0049A820 add esp,00000004h cmp eax,esi jz L0040D119 mov [eax+00000100h],esi jmp L0040D11B L0040D119: xor eax,eax L0040D11B: mov ebx,[ebp+08h] mov [L004D7E04],eax mov edx,ebx shl edx,04h add edx,00000004h push edx call SUB_L0049A820 add esp,00000004h mov [ebp+08h],eax cmp eax,esi mov [ebp-04h],esi jz L0040D156 push SUB_L0040CC60 push L0040D090 lea esi,[eax+04h] push ebx push 00000010h push esi mov [eax],ebx call SUB_L0049AFF0 L0040D156: mov eax,[L004D7E04] mov edi,SSZ004C457C_objlist mov [eax+00000100h],esi mov ecx,[L004D7E04] xor eax,eax mov [ecx+00000104h],ebx or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov edx,ecx mov esi,edi mov edi,[L004D7E04] shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h test ebx,ebx rep movsb jle L0040D23B mov ecx,[ebp+0Ch] mov esi,[ebp+18h] add ecx,00000008h mov edx,ebx L0040D1A6: mov edi,[L004D7E04] mov bx,[ecx-08h] add ecx,00000014h add eax,00000010h mov edi,[edi+00000100h] mov [edi+eax-0Ah],bx mov edi,[L004D7E04] mov bx,[ecx-18h] mov edi,[edi+00000100h] mov [edi+eax-08h],bx mov ebx,[L004D7E04] mov di,[ecx-14h] sub di,[ebp+10h] mov ebx,[ebx+00000100h] mov [ebx+eax-10h],di mov ebx,[L004D7E04] mov di,[ecx-10h] sub di,[ebp+14h] mov ebx,[ebx+00000100h] mov [ebx+eax-0Eh],di mov ebx,[L004D7E04] mov di,[ecx-0Ch] mov ebx,[ebx+00000100h] sub di,si dec edx mov [ebx+eax-0Ch],di mov edi,[L004D7E04] mov edi,[edi+00000100h] mov dword ptr [edi+eax-04h],00000000h jnz L0040D1A6 L0040D23B: mov eax,[ebp-10h] mov ecx,[ebp-0Ch] pop edi pop esi mov dword ptr [eax+00000104h],FFFFFFFFh mov dword ptr [eax+0000014Ch],00000001h mov eax,00000001h mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0014h ;------------------------------------------------------------------------------ Align 8 SUB_L0040D270: mov eax,[L006A9D68] test eax,eax jz L0040D29F L0040D279: mov ecx,[eax+18h] test ecx,ecx jz L0040D28A call SUB_L00430E30 mov eax,[L006A9D68] L0040D28A: test eax,eax jz L0040D29F mov edx,[eax] push 00000001h mov ecx,eax call [edx] mov eax,[L006A9D68] test eax,eax jnz L0040D279 L0040D29F: retn ;------------------------------------------------------------------------------ L0040D2A0: mov ecx,[ecx+34h] mov eax,[ecx] call [eax+28h] test eax,eax jz L0040D2B4 or ecx,FFFFFFFFh jmp SUB_L00457900 L0040D2B4: retn ;------------------------------------------------------------------------------ Align 16 L0040D2C0: push ebp mov ebp,esp sub esp,00000010h mov eax,[ecx+0000010Ch] push esi xor edx,edx push 00000000h mov esi,[eax+10h] push 00000000h test esi,esi setz dl mov [eax+10h],edx mov eax,[ecx+34h] push 00000000h push 00000006h mov ecx,[eax+78h] lea edx,[ebp-10h] push ecx push edx mov ecx,L006BB1C0 call SUB_L00474F30 mov ecx,[L006BB1CC] lea eax,[ebp-10h] push eax call SUB_L0048B170 pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 L0040D310: push ebp mov ebp,esp push FFFFFFFFh push L004B1566 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000020h mov eax,[L00669620] push ebx push esi mov ebx,ecx push edi xor esi,esi mov ecx,[ebx+34h] push eax push esi push esi push ecx mov ecx,L00669608 mov [ebp-10h],ebx call SUB_L0043F350 mov edi,eax cmp edi,esi mov [ebp-14h],edi jnz L0040D3D0 mov edx,[ebx+34h] mov eax,[L0073EBE4] cmp edx,eax jz L0040D393 call SUB_L0048B870 test eax,eax jnz L0040D393 push 00000124h call SUB_L0049A820 add esp,00000004h mov [ebp-1Ch],eax cmp eax,esi mov dword ptr [ebp-04h],00000001h jz L0040D3B8 mov ecx,[ebx+34h] push 00000001h push ecx mov ecx,eax call SUB_L00479290 jmp L0040D3BA L0040D393: push 00000124h call SUB_L0049A820 add esp,00000004h mov [ebp-1Ch],eax cmp eax,esi mov [ebp-04h],esi jz L0040D3B8 mov edx,[ebx+34h] push esi push edx mov ecx,eax call SUB_L00479290 jmp L0040D3BA L0040D3B8: xor eax,eax L0040D3BA: push 00000001h push esi mov ecx,eax mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L004415C0 jmp L0040D4A7 L0040D3D0: cmp [edi+60h],esi jz L0040D49E mov eax,[ebx+34h] mov ecx,[L0073EBE4] cmp eax,ecx jz L0040D3F3 call SUB_L0048B870 test eax,eax jz L0040D49E L0040D3F3: mov eax,[edi+7Ch] mov ecx,[edi+2Ch] mov edx,[edi+30h] mov [edi+2Ch],eax mov eax,[edi+0000008Ch] mov [edi+00000084h],ecx mov ecx,[edi+00000080h] cmp eax,esi mov [edi+60h],esi mov [edi+00000088h],edx mov [edi+30h],ecx mov [ebp-18h],eax jz L0040D49E mov edx,[edi+00000090h] mov ecx,[L004D7E10] mov [ebp-1Ch],edx xor edx,edx cmp ecx,esi mov esi,[L004D7E18] jle L0040D465 mov eax,[L004D7E1C] mov edi,esi sub edi,eax L0040D448: mov ebx,[edi+eax] cmp ebx,[ebp-18h] jnz L0040D457 mov ebx,[ebp-1Ch] cmp [eax],ebx jz L0040D45F L0040D457: inc edx add eax,00000004h cmp edx,ecx jl L0040D448 L0040D45F: mov ebx,[ebp-10h] mov edi,[ebp-14h] L0040D465: cmp edx,ecx jge L0040D49E lea eax,[edx+01h] cmp eax,ecx jge L0040D497 jmp L0040D478 L0040D472: mov esi,[L004D7E18] L0040D478: mov ecx,[esi+eax*4] mov [esi+eax*4-04h],ecx mov ecx,[L004D7E1C] mov edx,[ecx+eax*4] mov [ecx+eax*4-04h],edx mov ecx,[L004D7E10] inc eax cmp eax,ecx jl L0040D472 L0040D497: dec ecx mov [L004D7E10],ecx L0040D49E: push 00000000h mov ecx,edi call SUB_L00441340 L0040D4A7: mov eax,[ebx+34h] lea edx,[ebp-2Ch] mov ecx,[eax+78h] push ecx push 00000004h push edx mov ecx,L006BB1C0 call SUB_L00474A00 mov ecx,[L006BB1CC] lea eax,[ebp-2Ch] push eax call SUB_L0048B170 mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 4 SUB_L0040D4E0: push ebp mov ebp,esp sub esp,00000018h mov eax,[L004C7F34] push ebx mov [ebp-18h],edx push esi mov edx,00000010h lea esi,[eax-70h] cmp esi,edx push edi mov [ebp-14h],ecx mov [ebp-04h],edx mov [ebp-10h],esi jle L0040D645 mov ecx,[L004C7F38] mov eax,[L004D7E1C] lea edi,[ecx-50h] mov ecx,[L004D7E10] mov [ebp-0Ch],edi L0040D521: mov ebx,00000010h cmp edi,ebx mov [ebp-08h],ebx jle L0040D568 L0040D52D: xor esi,esi test ecx,ecx jle L0040D557 mov edi,[L004D7E18] mov edx,[ebp-04h] sub edi,eax L0040D53E: cmp [edi+eax],edx jnz L0040D547 cmp [eax],ebx jz L0040D54F L0040D547: inc esi add eax,00000004h cmp esi,ecx jl L0040D53E L0040D54F: mov eax,[L004D7E1C] mov edi,[ebp-0Ch] L0040D557: cmp esi,ecx jz L0040D579 add ebx,00000040h cmp ebx,edi mov [ebp-08h],ebx jl L0040D52D mov esi,[ebp-10h] L0040D568: add edx,00000060h cmp edx,esi mov [ebp-04h],edx jl L0040D521 pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L0040D579: mov eax,[ebp-14h] mov ecx,[ebp-18h] mov [eax],edx mov [ecx],ebx mov ecx,[L004D7E10] mov eax,[L004D7E14] cmp ecx,eax jnz L0040D623 add eax,00000008h mov [L004D7E14],eax lea edx,[00000000h+eax*4] push edx call SUB_L0049A820 mov ebx,eax mov eax,[L004D7E14] add esp,00000004h lea ecx,[00000000h+eax*4] push ecx call SUB_L0049A820 mov ecx,[L004D7E10] add esp,00000004h test ecx,ecx mov [ebp-18h],eax jz L0040D612 mov esi,[L004D7E18] mov edi,ebx rep movsd mov ecx,[L004D7E10] mov esi,[L004D7E1C] mov edi,eax rep movsd mov edx,[L004D7E18] push edx call SUB_L0049A810 mov eax,[L004D7E1C] add esp,00000004h push eax call SUB_L0049A810 mov ecx,[L004D7E10] mov eax,[ebp-18h] add esp,00000004h L0040D612: mov edx,[ebp-04h] mov [L004D7E18],ebx mov ebx,[ebp-08h] mov [L004D7E1C],eax L0040D623: mov eax,[L004D7E18] mov [eax+ecx*4],edx mov ecx,[L004D7E10] mov edx,[L004D7E1C] mov [edx+ecx*4],ebx mov eax,[L004D7E10] inc eax mov [L004D7E10],eax L0040D645: pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 SUB_L0040D650: push ebp mov ebp,esp sub esp,00000008h push ebx mov ebx,[L004D7E18] push esi mov esi,[L004D7E10] push edi xor edi,edi test esi,esi mov [ebp-08h],edx mov [ebp-04h],ecx jle L0040D691 mov eax,[L004D7E1C] mov ecx,ebx sub ecx,eax L0040D67A: mov edx,[ecx+eax] cmp edx,[ebp-04h] jnz L0040D689 mov edx,[ebp-08h] cmp [eax],edx jz L0040D691 L0040D689: inc edi add eax,00000004h cmp edi,esi jl L0040D67A L0040D691: cmp edi,esi jge L0040D6CA lea eax,[edi+01h] cmp eax,esi jge L0040D6C3 jmp L0040D6A4 L0040D69E: mov ebx,[L004D7E18] L0040D6A4: mov ecx,[ebx+eax*4] mov [ebx+eax*4-04h],ecx mov ecx,[L004D7E1C] mov edx,[ecx+eax*4] mov [ecx+eax*4-04h],edx mov esi,[L004D7E10] inc eax cmp eax,esi jl L0040D69E L0040D6C3: dec esi mov [L004D7E10],esi L0040D6CA: pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L0040D6E0: push ebx push esi mov esi,ecx push edi mov eax,[esi+0000008Ch] lea ebx,[esi+0000008Ch] test eax,eax jnz L0040D727 mov eax,[esi+00000090h] lea edi,[esi+00000090h] test eax,eax jnz L0040D727 mov al,[L004CCB1C] test al,al jz L0040D727 mov edx,edi mov ecx,ebx call SUB_L0040D4E0 mov eax,[ebx] mov ecx,[edi] mov [esi+00000084h],eax mov [esi+00000088h],ecx L0040D727: mov edx,[esi+2Ch] mov eax,[esi+30h] mov ecx,[esi+00000084h] mov [esi+7Ch],edx mov edx,[esi+00000088h] mov dword ptr [esi+60h],00000001h mov [esi+00000080h],eax mov [esi+2Ch],ecx mov [esi+30h],edx pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ Align 16 SUB_L0040D760: push ebp mov ebp,esp sub esp,00000008h mov eax,[ecx+2Ch] mov edx,[ecx+30h] mov [ecx+00000084h],eax mov eax,[ecx+7Ch] push ebx push esi mov [ecx+2Ch],eax mov eax,[ecx+0000008Ch] xor esi,esi mov [ecx+00000088h],edx mov edx,[ecx+00000080h] cmp eax,esi push edi mov [ecx+60h],esi mov [ecx+30h],edx mov [ebp-04h],eax jz L0040D80E mov edx,[L004D7E10] mov eax,[ecx+00000090h] mov edi,[L004D7E18] cmp edx,esi mov [ebp-08h],eax jle L0040D7D5 mov eax,[L004D7E1C] mov ecx,edi sub ecx,eax L0040D7BE: mov ebx,[ecx+eax] cmp ebx,[ebp-04h] jnz L0040D7CD mov ebx,[ebp-08h] cmp [eax],ebx jz L0040D7D5 L0040D7CD: inc esi add eax,00000004h cmp esi,edx jl L0040D7BE L0040D7D5: cmp esi,edx jge L0040D80E lea eax,[esi+01h] cmp eax,edx jge L0040D807 jmp L0040D7E8 L0040D7E2: mov edi,[L004D7E18] L0040D7E8: mov ecx,[edi+eax*4] mov [edi+eax*4-04h],ecx mov ecx,[L004D7E1C] mov edx,[ecx+eax*4] mov [ecx+eax*4-04h],edx mov edx,[L004D7E10] inc eax cmp eax,edx jl L0040D7E2 L0040D807: dec edx mov [L004D7E10],edx L0040D80E: pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 L0040D820: push 00000000h push 00000000h push 00000007h push 00000000h mov ecx,L00669608 call SUB_L00441620 retn ;------------------------------------------------------------------------------ Align 16 L0040D840: push ebp mov ebp,esp sub esp,00000010h mov eax,[L0073EBE4] lea edx,[ebp-10h] mov ecx,[eax+78h] push ecx push 00000005h push edx mov ecx,L006BB1C0 call SUB_L00474A00 mov ecx,[L006BB1CC] lea eax,[ebp-10h] push eax call SUB_L0048B170 mov dword ptr [L004D7E08],00000001h mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 L0040D880: push ebp mov ebp,esp sub esp,00000040h mov ecx,[L00669668] test ecx,ecx jz L0040D89B push 00000000h call SUB_L00441340 mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L0040D89B: mov eax,[L006BB1CC] test eax,eax jz L0040D8CC cmp dword ptr [eax+04h],FFFFFFFFh jz L0040D8CC lea eax,[ebp-40h] push L007B7D28 push eax mov ecx,L006BB1C0 call SUB_L00422880 lea ecx,[ebp-40h] push ecx mov ecx,[L006BB1CC] call SUB_L0048B170 L0040D8CC: mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L0040D8D0: push 00000000h push 00000000h push 00001388h push 00000000h mov ecx,L00669608 call SUB_L00441620 retn ;------------------------------------------------------------------------------ Align 16 L0040D8F0: push ebp mov ebp,esp push FFFFFFFFh push L004B157B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push 000000A4h call SUB_L0049A820 add esp,00000004h mov [ebp-10h],eax test eax,eax mov dword ptr [ebp-04h],00000000h jz L0040D93E push 00000000h push L004068E0 push L004104D0 push SSZ004C4584_Quit_________Ultima_Online_ mov ecx,eax call SUB_L0041FA10 jmp L0040D940 L0040D93E: xor eax,eax L0040D940: push 00000001h push 00000000h mov ecx,eax mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L004415C0 mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L0040D960: jmp SUB_L00449700 Align 16 L0040D970: push ebp mov ebp,esp sub esp,0000000Ch push esi mov esi,ecx push edi mov eax,[esi+000000C4h] mov dword ptr [eax+10h],00000001h mov eax,[esi+000000B8h] mov edx,[esi+000000B0h] mov ecx,[esi+000000C8h] sub eax,edx inc eax test ecx,ecx jz L0040DA01 mov edx,[esi+000000CCh] push 00000002h add edx,00000006h mov [esi+000000CCh],edx lea edx,[ebp-08h] push edx lea edx,[ebp-04h] push edx lea edx,[ebp-0Ch] push edx push eax mov eax,[ecx] mov ecx,L00669CC8 push eax push 00000000h call SUB_L00437B40 mov eax,[esi+000000CCh] mov ecx,[ebp-04h] cmp eax,ecx jl L0040DA01 mov edx,[esi+000000C8h] mov edi,[edx+18h] test edi,edi jz L0040D9FA sub eax,ecx mov [esi+000000CCh],eax mov ecx,[edx+18h] mov [esi+000000C8h],ecx jmp L0040DA01 L0040D9FA: dec ecx mov [esi+000000CCh],ecx L0040DA01: mov ecx,[esi+000000C0h] call SUB_L00412E70 push 00000001h push 00000000h mov ecx,esi call SUB_L0048CE30 pop edi pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 4 L0040DA20: push ebp mov ebp,esp sub esp,0000000Ch push esi mov esi,ecx mov eax,[esi+000000C4h] mov dword ptr [eax+10h],00000001h mov eax,[esi+000000B8h] mov ecx,[esi+000000B0h] sub eax,ecx mov ecx,[esi+000000CCh] inc eax add ecx,FFFFFFFAh mov [esi+000000CCh],ecx jns L0040DAA4 mov ecx,[esi+000000C8h] mov ecx,[ecx+1Ch] test ecx,ecx jz L0040DA9A lea edx,[ebp-08h] push 00000002h push edx lea edx,[ebp-04h] push edx lea edx,[ebp-0Ch] push edx mov [esi+000000C8h],ecx push eax mov eax,[ecx] push eax push 00000000h mov ecx,L00669CC8 call SUB_L00437B40 mov ecx,[ebp-04h] mov eax,[esi+000000CCh] add eax,ecx mov [esi+000000CCh],eax jmp L0040DAA4 L0040DA9A: mov dword ptr [esi+000000CCh],00000000h L0040DAA4: mov ecx,[esi+000000C0h] call SUB_L00412E70 push 00000000h push 00000001h mov ecx,esi call SUB_L0048CE30 pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 4 L0040DAC0: push ebp mov ebp,esp sub esp,00000008h mov ax,[L004C59D4] push esi mov esi,ecx push 00000001h lea ecx,[ebp-08h] push eax push ecx mov ecx,L006BB1C0 call SUB_L00476BA0 mov ecx,[L006BB1CC] lea edx,[ebp-08h] push edx call SUB_L0048B170 test esi,esi jz L0040DAFB mov eax,[esi] push 00000001h mov ecx,esi call [eax] L0040DAFB: pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L0040DB00: push ebp mov ebp,esp sub esp,00000008h mov ax,[L004C59D4] push esi mov esi,ecx push 00000000h lea ecx,[ebp-08h] push eax push ecx mov ecx,L006BB1C0 call SUB_L00476BA0 mov ecx,[L006BB1CC] lea edx,[ebp-08h] push edx call SUB_L0048B170 test esi,esi jz L0040DB3B mov eax,[esi] push 00000001h mov ecx,esi call [eax] L0040DB3B: pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L0040DB40: push esi mov esi,ecx mov eax,[esi+000000C4h] mov ecx,[eax+10h] test ecx,ecx jnz L0040DB6D mov ecx,esi call SUB_L0048CCD0 mov ecx,[esi+000000C0h] call SUB_L00412E70 push 00000001h push 00000001h mov ecx,esi call SUB_L0048CE30 L0040DB6D: pop esi retn ;------------------------------------------------------------------------------ Align 4 SUB_L0040DB70: push ebx push esi mov esi,ecx push edi xor edi,edi mov ecx,[esi+34h] mov ebx,[esi+0000009Ch] mov eax,[ecx] call [eax+2Ch] test eax,eax jz L0040DB8C mov edi,[esi+34h] L0040DB8C: mov edx,[esi] push 00000000h push 00000000h mov ecx,esi call [edx+20h] test edi,edi jz L0040DBAB test ebx,ebx jz L0040DBAB push ebx push edi mov ecx,L006A9D38 call SUB_L004614B0 L0040DBAB: pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ Align 4 L0040DBB0: push ebx push esi push edi mov edi,ecx xor esi,esi xor ebx,ebx mov eax,[edi+000000D8h] mov ecx,[eax+000000ACh] test ecx,ecx jnz L0040DCD7 mov eax,[edi+000000B0h] test eax,eax jz L0040DC26 mov ax,[edi+000000C2h] xor ecx,ecx mov cx,[edi+000000C0h] mov edx,eax dec ecx and edx,0000FFFFh cmp edx,ecx jge L0040DCD7 inc eax mov ecx,edi mov [edi+000000C2h],ax call SUB_L0047F310 mov si,[edi+000000C0h] mov bx,[edi+000000C2h] mov ecx,[edi+000000D4h] push esi push ebx call SUB_L00412F50 pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ L0040DC26: mov eax,[edi+000000A4h] test eax,eax jz L0040DCD7 mov eax,[eax+40h] test eax,eax jz L0040DC43 mov [edi+000000A4h],eax jmp L0040DC70 L0040DC43: mov eax,[edi+000000B4h] test eax,eax jnz L0040DC70 mov eax,[edi+34h] mov ecx,[eax+00000130h] mov eax,[ecx+000000A8h] test eax,eax jz L0040DC70 mov [edi+000000A4h],eax mov dword ptr [edi+000000B4h],00000001h L0040DC70: mov ecx,edi call SUB_L0047F310 mov edx,[edi+34h] mov eax,[edx+0000012Ch] test eax,eax jz L0040DCA2 mov eax,[eax+000000A8h] test eax,eax jz L0040DCA2 mov ecx,[edi+000000A4h] L0040DC94: cmp ecx,eax jnz L0040DC9A mov ebx,esi L0040DC9A: mov eax,[eax+40h] inc esi test eax,eax jnz L0040DC94 L0040DCA2: mov eax,[edx+00000130h] test eax,eax jz L0040DCCA mov eax,[eax+000000A8h] test eax,eax jz L0040DCCA mov ecx,[edi+000000A4h] L0040DCBC: cmp ecx,eax jnz L0040DCC2 mov ebx,esi L0040DCC2: mov eax,[eax+40h] inc esi test eax,eax jnz L0040DCBC L0040DCCA: mov ecx,[edi+000000D4h] push esi push ebx call SUB_L00412F50 L0040DCD7: pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ Align 8 L0040DCE0: push ebx push esi mov esi,ecx push edi xor ebx,ebx xor edi,edi mov eax,[esi+000000D8h] cmp [eax+000000ACh],ebx jnz L0040DE07 cmp [esi+000000B0h],ebx jz L0040DD41 mov ax,[esi+000000C2h] cmp ax,bx jbe L0040DE07 dec eax mov ecx,esi mov [esi+000000C2h],ax call SUB_L0047F310 mov di,[esi+000000C0h] mov bx,[esi+000000C2h] mov ecx,[esi+000000D4h] push edi push ebx call SUB_L00412F50 pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ L0040DD41: mov eax,[esi+000000A4h] cmp eax,ebx jz L0040DE07 mov eax,[eax+44h] cmp eax,ebx jz L0040DD5E mov [esi+000000A4h],eax jmp L0040DDA0 L0040DD5E: cmp [esi+000000B4h],ebx jz L0040DDA0 mov ecx,[esi+34h] mov edx,[ecx+0000012Ch] mov eax,[edx+000000A8h] cmp eax,ebx jz L0040DDA0 mov [esi+000000A4h],eax mov ecx,[eax+40h] cmp ecx,ebx jz L0040DD9A L0040DD86: mov eax,[esi+000000A4h] mov eax,[eax+40h] mov [esi+000000A4h],eax cmp [eax+40h],ebx jnz L0040DD86 L0040DD9A: mov [esi+000000B4h],ebx L0040DDA0: mov ecx,esi call SUB_L0047F310 mov edx,[esi+34h] mov eax,[edx+0000012Ch] test eax,eax jz L0040DDD2 mov eax,[eax+000000A8h] test eax,eax jz L0040DDD2 mov ecx,[esi+000000A4h] L0040DDC4: cmp ecx,eax jnz L0040DDCA mov ebx,edi L0040DDCA: mov eax,[eax+40h] inc edi test eax,eax jnz L0040DDC4 L0040DDD2: mov eax,[edx+00000130h] test eax,eax jz L0040DDFA mov eax,[eax+000000A8h] test eax,eax jz L0040DDFA mov ecx,[esi+000000A4h] L0040DDEC: cmp ecx,eax jnz L0040DDF2 mov ebx,edi L0040DDF2: mov eax,[eax+40h] inc edi test eax,eax jnz L0040DDEC L0040DDFA: mov ecx,[esi+000000D4h] push edi push ebx call SUB_L00412F50 L0040DE07: pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ Align 8 L0040DE10: push esi mov esi,ecx mov eax,[esi+000000ACh] test eax,eax jnz L0040DE70 mov eax,[esi+000000B4h] test eax,eax jz L0040DE70 mov eax,[eax+0Ch] test eax,eax jz L0040DE70 mov [esi+000000B4h],eax call SUB_L00480740 mov eax,[esi+000000B0h] xor ecx,ecx xor edx,edx mov eax,[eax+000000CCh] test eax,eax jz L0040DE63 push edi mov edi,[esi+000000B4h] L0040DE54: cmp eax,edi jnz L0040DE5A mov edx,ecx L0040DE5A: mov eax,[eax+0Ch] inc ecx test eax,eax jnz L0040DE54 pop edi L0040DE63: push ecx mov ecx,[esi+000000C0h] push edx call SUB_L00412F50 L0040DE70: pop esi retn ;------------------------------------------------------------------------------ Align 16 L0040DE80: push esi mov esi,ecx push edi mov eax,[esi+000000ACh] test eax,eax jnz L0040DEFF mov eax,[esi+000000B0h] mov edx,[esi+000000B4h] test edx,edx mov eax,[eax+000000CCh] jz L0040DEFF cmp eax,edx jz L0040DEFF test eax,eax jz L0040DEFF L0040DEAC: mov ecx,[eax+0Ch] cmp ecx,edx jz L0040DEB9 mov eax,ecx test eax,eax jnz L0040DEAC L0040DEB9: test eax,eax jz L0040DEFF mov ecx,esi mov [esi+000000B4h],eax call SUB_L00480740 mov eax,[esi+000000B0h] xor ecx,ecx xor edx,edx mov eax,[eax+000000CCh] test eax,eax jz L0040DEF2 mov edi,[esi+000000B4h] L0040DEE4: cmp eax,edi jnz L0040DEEA mov edx,ecx L0040DEEA: mov eax,[eax+0Ch] inc ecx test eax,eax jnz L0040DEE4 L0040DEF2: push ecx mov ecx,[esi+000000C0h] push edx call SUB_L00412F50 L0040DEFF: pop edi pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L0040DF10: push ebx push esi push edi mov esi,ecx call SUB_L004869B0 mov eax,[esi+000000ACh] test eax,eax jz L0040DFA3 mov ecx,[esi+000000ECh] mov eax,[esi+ecx*4+000000B0h] test eax,eax jz L0040DF90 mov edx,[L00767120] xor eax,eax and edx,000000FFh mov edi,[L00767260+edx*4] cmp edi,ecx mov edi,[L00767188] jz L0040DF6A L0040DF54: cmp eax,edi jge L0040DF7A inc eax xor edx,edx mov dl,[eax+L00767120] cmp [L00767260+edx*4],ecx jnz L0040DF54 L0040DF6A: cmp eax,edi jge L0040DF7A mov dword ptr [esi+000000ACh],00000000h jmp L0040DFEC L0040DF7A: lea eax,[ecx+01h] mov ecx,[L00765110] cmp eax,ecx jge L0040E069 jmp L0040E038 L0040DF90: lea eax,[ecx+01h] mov ecx,[L00765110] cmp eax,ecx jge L0040E069 jmp L0040DFEC L0040DFA3: mov eax,[esi+000000ECh] xor edx,edx mov dl,[eax+L00767120] inc eax mov ecx,[L00767260+edx*4] xor edx,edx mov dl,[eax+L00767120] mov edi,[L00767260+edx*4] cmp edi,ecx mov edi,[L00767188] jz L0040DFE8 L0040DFD2: cmp eax,edi jge L0040E021 inc eax xor edx,edx mov dl,[eax+L00767120] cmp [L00767260+edx*4],ecx jnz L0040DFD2 L0040DFE8: cmp eax,edi jge L0040E021 L0040DFEC: push FFFFFFFFh mov ecx,esi mov [esi+000000ECh],eax call SUB_L00486F70 mov edi,[esi+000000FCh] mov ecx,[esi+00000100h] inc edi push ecx mov ecx,[esi+00000094h] mov eax,edi push eax mov [esi+000000FCh],edi call SUB_L00412F50 pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ L0040E021: lea eax,[ecx+01h] mov ecx,[L00765110] cmp eax,ecx jge L0040E069 mov dword ptr [esi+000000ACh],00000001h L0040E038: push FFFFFFFFh mov ecx,esi mov [esi+000000ECh],eax call SUB_L00486F70 mov ebx,[esi+000000FCh] mov edx,[esi+00000100h] mov ecx,[esi+00000094h] inc ebx mov eax,ebx push edx push eax mov [esi+000000FCh],ebx call SUB_L00412F50 L0040E069: pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ Align 4 SUB_L0040E070: push esi push edi mov esi,ecx call SUB_L004869B0 mov eax,[esi+000000ACh] test eax,eax mov eax,[esi+000000ECh] jz L0040E121 dec eax cmp eax,FFFFFFFFh jz L0040E0D9 mov ecx,[esi+eax*4+000000B0h] test ecx,ecx jnz L0040E0D9 cmp eax,FFFFFFFFh jle L0040E1BF push FFFFFFFFh mov ecx,esi mov [esi+000000ECh],eax call SUB_L00486F70 mov eax,[esi+000000FCh] mov ecx,[esi+00000100h] dec eax push ecx mov ecx,[esi+00000094h] push eax mov [esi+000000FCh],eax call SUB_L00412F50 pop edi pop esi retn ;------------------------------------------------------------------------------ L0040E0D9: mov edx,[L00767188] lea ecx,[edx-01h] test ecx,ecx jl L0040E110 L0040E0E6: xor edx,edx mov dl,[ecx+L00767120] cmp [L00767260+edx*4],eax jz L0040E0FA dec ecx jns L0040E0E6 L0040E0FA: test ecx,ecx jl L0040E110 mov dword ptr [esi+000000ACh],00000000h mov [esi+000000ECh],ecx jmp L0040E153 L0040E110: cmp eax,FFFFFFFFh jle L0040E1BF mov [esi+000000ECh],eax jmp L0040E196 L0040E121: xor ecx,ecx mov cl,[eax+L00767120] dec eax test eax,eax mov ecx,[L00767260+ecx*4] jl L0040E181 L0040E135: xor edx,edx mov dl,[eax+L00767120] cmp [L00767260+edx*4],ecx jz L0040E149 dec eax jns L0040E135 L0040E149: test eax,eax jl L0040E181 mov [esi+000000ECh],eax L0040E153: push FFFFFFFFh mov ecx,esi call SUB_L00486F70 mov edi,[esi+000000FCh] mov ecx,[esi+00000100h] dec edi push ecx mov ecx,[esi+00000094h] mov eax,edi push eax mov [esi+000000FCh],edi call SUB_L00412F50 pop edi pop esi retn ;------------------------------------------------------------------------------ L0040E181: cmp ecx,FFFFFFFFh jle L0040E1BF mov dword ptr [esi+000000ACh],00000001h mov [esi+000000ECh],ecx L0040E196: push FFFFFFFFh mov ecx,esi call SUB_L00486F70 mov eax,[esi+000000FCh] mov edx,[esi+00000100h] mov ecx,[esi+00000094h] dec eax push edx push eax mov [esi+000000FCh],eax call SUB_L00412F50 L0040E1BF: pop edi pop esi retn ;------------------------------------------------------------------------------ Align 16 L0040E1D0: push ebp mov ebp,esp sub esp,00000054h push ebx mov ebx,ecx call SUB_L004869B0 cmp dword ptr [L00765110],0000000Ch jge L0040E286 push edi push esi lea eax,[ebp-54h] push SSZ004C45B8_New_Group push eax call SUB_L0049AC80 mov edx,[L00765110] lea edi,[ebp-54h] mov ecx,edx xor eax,eax shl ecx,04h add esp,00000008h lea esi,[ecx+edx+L00767190] or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov [ebp-04h],esi mov eax,ecx mov esi,edi mov edi,[ebp-04h] shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h inc edx rep movsb mov [L00765110],edx mov edi,[ebx+00000100h] dec edx inc edi mov eax,edi mov [ebx+000000ECh],edx push eax mov dword ptr [ebx+000000ACh],00000001h lea ecx,[eax-01h] mov [ebx+00000100h],edi mov [ebx+000000FCh],ecx push ecx mov ecx,[ebx+00000094h] call SUB_L00412F50 push FFFFFFFFh mov ecx,ebx call SUB_L00486F70 call SUB_L00484CD0 pop esi pop edi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L0040E286: push 00000000h push 00000000h push 00000000h push 00000000h push SSZ004C45A0_Too_many_skill_groups_ mov ecx,L00669608 call SUB_L0043F200 pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L0040E2B0: push esi mov esi,ecx mov eax,[esi+000000D8h] mov ecx,[eax+000000ACh] test ecx,ecx jnz L0040E3EA mov eax,[esi+000000B0h] test eax,eax jz L0040E369 cmp word ptr [esi+000000C0h],0000h jz L0040E3EA mov eax,[esi+0Ch] cmp eax,00000064h jge L0040E2EF inc eax mov [esi+0Ch],eax L0040E2EF: mov eax,[esi+0Ch] cmp eax,0000000Ah jge L0040E311 mov cx,[esi+000000C4h] push 00000001h push ecx mov ecx,esi call SUB_L0047F060 mov ecx,esi call SUB_L0047F310 pop esi retn ;------------------------------------------------------------------------------ L0040E311: cmp eax,00000014h jge L0040E330 mov dx,[esi+000000C4h] push 00000002h push edx mov ecx,esi call SUB_L0047F060 mov ecx,esi call SUB_L0047F310 pop esi retn ;------------------------------------------------------------------------------ L0040E330: cmp eax,00000032h jge L0040E34F mov ax,[esi+000000C4h] push 00000005h push eax mov ecx,esi call SUB_L0047F060 mov ecx,esi call SUB_L0047F310 pop esi retn ;------------------------------------------------------------------------------ L0040E34F: mov cx,[esi+000000C4h] push 0000000Ah push ecx mov ecx,esi call SUB_L0047F060 mov ecx,esi call SUB_L0047F310 pop esi retn ;------------------------------------------------------------------------------ L0040E369: mov eax,[esi+000000A8h] test eax,eax jz L0040E3EA mov ecx,[esi+0Ch] cmp ecx,00000064h jge L0040E37F inc ecx mov [esi+0Ch],ecx L0040E37F: mov ecx,[esi+0Ch] cmp ecx,0000000Ah jge L0040E38B push 00000001h jmp L0040E3D1 L0040E38B: cmp ecx,00000014h jge L0040E3AD mov ecx,[eax+78h] mov dl,[esi+000000ACh] push 00000002h push ecx push edx mov ecx,esi call SUB_L0047EE90 mov ecx,esi call SUB_L0047F310 pop esi retn ;------------------------------------------------------------------------------ L0040E3AD: cmp ecx,00000032h jge L0040E3CF mov eax,[eax+78h] mov cl,[esi+000000ACh] push 00000005h push eax push ecx mov ecx,esi call SUB_L0047EE90 mov ecx,esi call SUB_L0047F310 pop esi retn ;------------------------------------------------------------------------------ L0040E3CF: push 0000000Ah L0040E3D1: mov edx,[eax+78h] mov al,[esi+000000ACh] push edx push eax mov ecx,esi call SUB_L0047EE90 mov ecx,esi call SUB_L0047F310 L0040E3EA: pop esi retn ;------------------------------------------------------------------------------ Align 8 L0040E3F0: push esi mov esi,ecx mov eax,[esi+000000ACh] test eax,eax jnz L0040E4D0 mov ecx,[esi+000000B0h] mov eax,[ecx+000000CCh] test eax,eax jz L0040E4D0 mov edx,[esi+08h] L0040E418: cmp [eax+04h],edx jz L0040E424 mov eax,[eax+0Ch] test eax,eax jnz L0040E418 L0040E424: test eax,eax jz L0040E4D0 mov edx,[esi+0Ch] cmp edx,00000064h jge L0040E438 inc edx mov [esi+0Ch],edx L0040E438: mov edx,[esi+0Ch] cmp edx,0000000Ah jge L0040E463 mov edx,[esi+000000A4h] push 00000001h test edx,edx jz L0040E4B9 mov ax,[eax+08h] push eax call SUB_L0047F060 mov ecx,[esi+000000B0h] call SUB_L0047F310 pop esi retn ;------------------------------------------------------------------------------ L0040E463: cmp edx,00000014h jge L0040E474 mov edx,[esi+000000A4h] push 00000002h test edx,edx jmp L0040E483 L0040E474: cmp edx,00000032h mov edx,[esi+000000A4h] jge L0040E49C test edx,edx push 00000005h L0040E483: jz L0040E4B9 mov dx,[eax+08h] push edx call SUB_L0047F060 mov ecx,[esi+000000B0h] call SUB_L0047F310 pop esi retn ;------------------------------------------------------------------------------ L0040E49C: test edx,edx push 0000000Ah jz L0040E4B9 mov dx,[eax+08h] push edx call SUB_L0047F060 mov ecx,[esi+000000B0h] call SUB_L0047F310 pop esi retn ;------------------------------------------------------------------------------ L0040E4B9: mov edx,[eax+04h] mov al,[eax] push edx push eax call SUB_L0047EE90 mov ecx,[esi+000000B0h] call SUB_L0047F310 L0040E4D0: pop esi retn ;------------------------------------------------------------------------------ Align 16 L0040E4E0: push esi mov esi,ecx mov eax,[esi+000000ACh] test eax,eax jnz L0040E5C0 mov ecx,[esi+000000B0h] mov eax,[ecx+000000CCh] test eax,eax jz L0040E5C0 mov edx,[esi+08h] L0040E508: cmp [eax+04h],edx jz L0040E514 mov eax,[eax+0Ch] test eax,eax jnz L0040E508 L0040E514: test eax,eax jz L0040E5C0 mov edx,[esi+0Ch] cmp edx,00000064h jge L0040E528 inc edx mov [esi+0Ch],edx L0040E528: mov edx,[esi+0Ch] cmp edx,0000000Ah jge L0040E553 mov edx,[esi+000000A4h] push FFFFFFFFh test edx,edx jz L0040E5A9 mov ax,[eax+08h] push eax call SUB_L0047F060 mov ecx,[esi+000000B0h] call SUB_L0047F310 pop esi retn ;------------------------------------------------------------------------------ L0040E553: cmp edx,00000014h jge L0040E564 mov edx,[esi+000000A4h] push FFFFFFFEh test edx,edx jmp L0040E573 L0040E564: cmp edx,00000032h mov edx,[esi+000000A4h] jge L0040E58C test edx,edx push FFFFFFFBh L0040E573: jz L0040E5A9 mov dx,[eax+08h] push edx call SUB_L0047F060 mov ecx,[esi+000000B0h] call SUB_L0047F310 pop esi retn ;------------------------------------------------------------------------------ L0040E58C: test edx,edx push FFFFFFF6h jz L0040E5A9 mov dx,[eax+08h] push edx call SUB_L0047F060 mov ecx,[esi+000000B0h] call SUB_L0047F310 pop esi retn ;------------------------------------------------------------------------------ L0040E5A9: mov edx,[eax+04h] mov al,[eax] push edx push eax call SUB_L0047EE90 mov ecx,[esi+000000B0h] call SUB_L0047F310 L0040E5C0: pop esi retn ;------------------------------------------------------------------------------ Align 16 L0040E5D0: mov eax,[ecx+000000ACh] test eax,eax jnz L0040E5EE mov dword ptr [ecx+000000ACh],00000001h mov dword ptr [ecx+000000BCh],00000000h L0040E5EE: retn ;------------------------------------------------------------------------------ Align 4 SUB_L0040E5F0: push ebp mov ebp,esp sub esp,000007DCh mov eax,[ecx+000000B0h] mov dword ptr [ecx+000000BCh],00000001h test eax,eax jz L0040E642 mov eax,[ecx+000000CCh] mov ecx,[ecx+34h] push eax lea eax,[ebp-000007DCh] mov edx,[ecx+78h] mov ecx,L006BB1C0 push edx push eax call SUB_L00474D80 lea ecx,[ebp-000007DCh] push ecx mov ecx,[L006BB1CC] call SUB_L0048B170 mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L0040E642: mov eax,[ecx+34h] mov edx,[ecx+000000CCh] push edx push 00000002h mov ecx,[eax+78h] lea edx,[ebp-0000070Ch] push ecx push edx mov ecx,L006BB1C0 call SUB_L00474BA0 mov ecx,[L006BB1CC] lea eax,[ebp-0000070Ch] push eax call SUB_L0048B170 mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 L0040E680: push esi mov esi,ecx mov ecx,[esi+000000B0h] mov eax,[ecx+000000CCh] test eax,eax jz L0040E6EB L0040E693: mov edx,[esi+000000A4h] test edx,edx jz L0040E6B2 xor edx,edx mov dx,[eax+0Ah] mov ax,[eax+08h] neg edx push edx push eax call SUB_L0047F060 jmp L0040E6C7 L0040E6B2: xor edx,edx mov dx,[eax+0Ah] neg edx push edx mov edx,[eax+04h] mov al,[eax] push edx push eax call SUB_L0047EE90 L0040E6C7: mov ecx,[esi+000000B0h] mov eax,[ecx+000000CCh] test eax,eax jnz L0040E693 call SUB_L0047F310 mov ecx,[esi+000000C0h] push 00000001h push 00000000h call SUB_L00412F50 L0040E6EB: pop esi retn ;------------------------------------------------------------------------------ Align 4 L0040E6F0: push ebp mov ebp,esp sub esp,00000010h push esi mov esi,ecx push 00000000h push 00000000h mov eax,[esi+34h] push 00000000h push 00000005h lea edx,[ebp-10h] mov ecx,[eax+78h] push ecx push edx mov ecx,L006BB1C0 call SUB_L00474F30 mov ecx,[L006BB1CC] lea eax,[ebp-10h] push eax call SUB_L0048B170 mov ecx,[esi+34h] push 00000000h push 00000000h push 00000000h push 00000005h call SUB_L0045E4A0 mov ecx,esi call SUB_L0042C6D0 pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 L0040E750: push ebp mov ebp,esp push FFFFFFFFh push L004B159B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx mov eax,[L0066965C] push esi push edi xor edi,edi cmp eax,edi mov esi,ecx jz L0040E79E mov ecx,00000001h mov [eax+68h],ecx mov eax,[L0066965C] mov edx,[eax+0000009Ch] mov [edx+68h],ecx mov eax,[L0066965C] mov edx,[eax+000000A0h] mov [edx+68h],ecx jmp L0040E7F9 L0040E79E: push 000000A4h call SUB_L0049A820 add esp,00000004h mov [ebp-10h],eax cmp eax,edi mov [ebp-04h],edi jz L0040E7BE mov ecx,eax call SUB_L00420400 jmp L0040E7C0 L0040E7BE: xor eax,eax L0040E7C0: push 00000001h push edi mov ecx,eax mov dword ptr [ebp-04h],FFFFFFFFh mov [L0066965C],eax call SUB_L004415C0 mov eax,[L0066965C] push edi mov ecx,[eax+0000009Ch] call SUB_L00441340 mov ecx,[L0066965C] push edi mov ecx,[ecx+000000A0h] call SUB_L00441340 L0040E7F9: mov edx,[esi+000000C4h] mov ecx,[ebp-0Ch] mov [edx+68h],edi mov eax,[esi+000000C8h] mov [eax+68h],edi mov [esi+68h],edi pop edi mov fs:[00000000h],ecx pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 4 L0040E820: push ebp mov ebp,esp push FFFFFFFFh push L004B15BB mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx mov eax,[L00669658] push esi push edi xor edi,edi cmp eax,edi mov esi,ecx jz L0040E860 mov ecx,00000001h mov [eax+68h],ecx mov eax,[L00669658] mov edx,[eax+00000098h] mov [edx+68h],ecx jmp L0040E898 L0040E860: push 000000C0h call SUB_L0049A820 add esp,00000004h mov [ebp-10h],eax cmp eax,edi mov [ebp-04h],edi jz L0040E880 mov ecx,eax call SUB_L00418380 jmp L0040E882 L0040E880: xor eax,eax L0040E882: push 00000001h push edi mov ecx,eax mov dword ptr [ebp-04h],FFFFFFFFh mov [L00669658],eax call SUB_L004415C0 L0040E898: mov eax,[esi+000000C4h] mov [eax+68h],edi mov ecx,[esi+000000C8h] mov [ecx+68h],edi mov ecx,[ebp-0Ch] mov [esi+68h],edi pop edi mov fs:[00000000h],ecx pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 4 L0040E8C0: push ebp mov ebp,esp push FFFFFFFFh push L004B15DB mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx mov ebx,ecx push esi push edi mov eax,[ebx+00000098h] or ecx,FFFFFFFFh lea edx,[eax+000000ECh] xor eax,eax mov edi,edx repne scasb not ecx dec ecx cmp ecx,00000002h jnc L0040E925 xor esi,esi mov ecx,L00669608 push esi push esi push 00000001h push ebx push SSZ004C45D8_Your_character_name_is_too_short mov [ebx+68h],esi call SUB_L0043F200 mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L0040E925: mov ecx,edx call SUB_L00454CA0 test eax,eax jz L0040E95A xor esi,esi mov ecx,L00669608 push esi push esi push 00000001h push ebx push SSZ004C45C4_Unacceptable_name_ mov [ebx+68h],esi call SUB_L0043F200 mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L0040E95A: mov edi,[ebx+00000098h] or ecx,FFFFFFFFh add edi,000000ECh xor eax,eax repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,L006BB372 shr ecx,02h rep movsd mov ecx,eax xor eax,eax and ecx,00000003h rep movsb mov edi,[ebx+0000009Ch] or ecx,FFFFFFFFh add edi,000000ECh repne scasb not ecx sub edi,ecx mov eax,[L00669658] mov edx,ecx mov esi,edi mov edi,L006BB354 shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb xor esi,esi cmp eax,esi jz L0040E9D5 mov ecx,00000001h mov [eax+68h],ecx mov eax,[L00669658] mov edx,[eax+00000098h] mov [edx+68h],ecx jmp L0040EA0D L0040E9D5: push 000000C0h call SUB_L0049A820 add esp,00000004h mov [ebp-10h],eax cmp eax,esi mov [ebp-04h],esi jz L0040E9F5 mov ecx,eax call SUB_L00418380 jmp L0040E9F7 L0040E9F5: xor eax,eax L0040E9F7: push 00000001h push esi mov ecx,eax mov dword ptr [ebp-04h],FFFFFFFFh mov [L00669658],eax call SUB_L004415C0 L0040EA0D: mov eax,[ebx+000000C8h] mov ecx,[ebp-0Ch] pop edi mov [eax+68h],esi mov [ebx+68h],esi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 L0040EA30: push ebp mov ebp,esp push FFFFFFFFh push L004B15FB mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx mov eax,[L00669644] push esi push edi xor edi,edi cmp eax,edi mov esi,ecx jz L0040EA61 mov dword ptr [eax+68h],00000001h jmp L0040EA99 L0040EA61: push 000000C4h call SUB_L0049A820 add esp,00000004h mov [ebp-10h],eax cmp eax,edi mov [ebp-04h],edi jz L0040EA81 mov ecx,eax call SUB_L0041D750 jmp L0040EA83 L0040EA81: xor eax,eax L0040EA83: push 00000001h push edi mov ecx,eax mov dword ptr [ebp-04h],FFFFFFFFh mov [L00669644],eax call SUB_L004415C0 L0040EA99: mov ecx,[esi+000000C8h] cmp ecx,edi jz L0040EAA9 mov eax,[ecx] push 00000001h call [eax] L0040EAA9: cmp esi,edi jz L0040EAB5 mov edx,[esi] push 00000001h mov ecx,esi call [edx] L0040EAB5: mov eax,[L0066965C] cmp eax,edi jz L0040EAFA mov ecx,[eax+0000009Ch] cmp ecx,edi jz L0040EAD3 mov eax,[ecx] push 00000001h call [eax] mov eax,[L0066965C] L0040EAD3: mov ecx,[eax+000000A0h] cmp ecx,edi jz L0040EAE8 mov edx,[ecx] push 00000001h call [edx] mov eax,[L0066965C] L0040EAE8: cmp eax,edi jz L0040EAF4 mov edx,[eax] push 00000001h mov ecx,eax call [edx] L0040EAF4: mov [L0066965C],edi L0040EAFA: mov eax,[L00669650] cmp eax,edi jz L0040EB3F mov ecx,[eax+000000C4h] cmp ecx,edi jz L0040EB18 mov eax,[ecx] push 00000001h call [eax] mov eax,[L00669650] L0040EB18: mov ecx,[eax+000000C8h] cmp ecx,edi jz L0040EB2D mov edx,[ecx] push 00000001h call [edx] mov eax,[L00669650] L0040EB2D: cmp eax,edi jz L0040EB39 mov edx,[eax] push 00000001h mov ecx,eax call [edx] L0040EB39: mov [L00669650],edi L0040EB3F: mov ecx,[L00669658] cmp ecx,edi jz L0040EB71 mov eax,[ecx+00000098h] cmp eax,edi jz L0040EB61 mov edx,[eax] push 00000001h mov ecx,eax call [edx] mov ecx,[L00669658] L0040EB61: cmp ecx,edi jz L0040EB6B mov eax,[ecx] push 00000001h call [eax] L0040EB6B: mov [L00669658],edi L0040EB71: mov ecx,[ebp-0Ch] pop edi mov fs:[00000000h],ecx pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 L0040EB90: push ebp mov ebp,esp push FFFFFFFFh push L004B161B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx mov eax,[esi+0000009Ch] mov ecx,[esi+000000A0h] mov eax,[eax+000000E8h] mov edx,[ecx+000000E8h] cmp eax,edx jz L0040EC9F mov ecx,[esi+000000A4h] mov ecx,[ecx+000000E8h] cmp eax,ecx jz L0040EC9F cmp edx,ecx jz L0040EC9F mov eax,[L00669650] test eax,eax jz L0040EC19 mov ecx,00000001h mov [eax+68h],ecx mov edx,[L00669650] mov eax,[edx+000000C4h] mov [eax+68h],ecx mov edx,[L00669650] mov eax,[edx+000000C8h] mov [eax+68h],ecx jmp L0040EC7C L0040EC19: push 000000F0h call SUB_L0049A820 add esp,00000004h mov [ebp-10h],eax test eax,eax mov dword ptr [ebp-04h],00000000h jz L0040EC3D mov ecx,eax call SUB_L00415830 jmp L0040EC3F L0040EC3D: xor eax,eax L0040EC3F: push 00000001h push 00000000h mov ecx,eax mov dword ptr [ebp-04h],FFFFFFFFh mov [L00669650],eax call SUB_L004415C0 mov ecx,[L00669650] push 00000000h mov ecx,[ecx+000000C4h] call SUB_L00441340 mov edx,[L00669650] push 00000000h mov ecx,[edx+000000C8h] call SUB_L00441340 L0040EC7C: mov eax,[esi+00000098h] mov dword ptr [esi+68h],00000000h mov dword ptr [eax+68h],00000000h mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L0040EC9F: push 00000000h push 00000000h push 00000001h push esi push SSZ004C45FC_You_have_two_of_the_same_skill_ mov ecx,L00669608 call SUB_L0043F200 mov ecx,[ebp-0Ch] mov dword ptr [esi+68h],00000000h mov fs:[00000000h],ecx pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 L0040ECD0: mov eax,[L00669654] test eax,eax jz L0040ED03 mov edx,00000001h mov [eax+68h],edx mov eax,[L00669654] mov eax,[eax+000000C8h] mov [eax+68h],edx mov dword ptr [ecx+68h],00000000h mov ecx,[ecx+00000098h] mov dword ptr [ecx+68h],00000000h L0040ED03: retn ;------------------------------------------------------------------------------ Align 16 L0040ED10: push ebp mov ebp,esp sub esp,0000000Ch mov eax,[L00669644] push ebx mov ebx,ecx mov [ebp-0Ch],eax mov ecx,[eax+00000098h] push edi mov [ebp-08h],ecx mov eax,[eax+ecx*4+000000B0h] or ecx,FFFFFFFFh lea edx,[eax+000000ECh] xor eax,eax mov edi,edx repne scasb not ecx dec ecx jnz L0040ED63 push eax push eax push 00000001h push ebx push SSZ004C461C_No_character_to_login_with_ mov ecx,L00669608 mov [ebx+68h],eax call SUB_L0043F200 pop edi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L0040ED63: mov edi,edx or ecx,FFFFFFFFh xor eax,eax push esi repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,L006BB372 shr ecx,02h rep movsd mov ecx,eax xor eax,eax and ecx,00000003h rep movsb mov edi,[ebx+00000098h] or ecx,FFFFFFFFh add edi,000000ECh repne scasb not ecx sub edi,ecx mov edx,ecx mov esi,edi mov edi,L006BB354 shr ecx,02h rep movsd mov ecx,edx mov edx,L006BB372 and ecx,00000003h rep movsb mov ecx,00000003h call SUB_L00427C00 mov esi,[ebp-08h] lea eax,[ebp-02h] push esi push L004C43EC push eax call SUB_L0049AC80 add esp,0000000Ch lea edx,[ebp-02h] mov ecx,00000022h call SUB_L00427C00 mov ecx,[ebp-0Ch] test ebx,ebx mov eax,[ecx+esi*4+0000009Ch] mov [L006BD428],eax mov dx,[L006BB5BC+eax*2] mov [L006BB5B4],dx mov ax,[L006BB5C6+eax*2] mov [L006BB5B8],ax jz L0040EE1B mov edx,[ebx] push 00000001h mov ecx,ebx call [edx] L0040EE1B: mov dword ptr [ebx+68h],00000000h mov eax,[L006BD428] push eax mov edx,L006BB354 mov ecx,L006BB372 call SUB_L00457EC0 pop esi pop edi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 4 SUB_L0040EE40: push ebp mov ebp,esp push FFFFFFFFh push L004B163B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000008h push ebx mov ebx,ecx push esi push edi mov esi,[ebx+00000098h] or ecx,FFFFFFFFh mov [ebp-14h],esi mov eax,[ebx+esi*4+000000B0h] lea edx,[eax+000000ECh] xor eax,eax mov edi,edx repne scasb not ecx dec ecx jnz L0040EEAE xor edi,edi mov ecx,L00669608 push edi push edi push 00000001h push ebx push SSZ004C461C_No_character_to_login_with_ mov [ebx+68h],edi call SUB_L0043F200 mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L0040EEAE: mov eax,[ebx+esi*4+0000009Ch] or ecx,FFFFFFFFh lea eax,[eax+eax*2] lea eax,[eax+eax*4] lea edi,[L006BD37E+eax*2] xor eax,eax repne scasb not ecx dec ecx jz L0040EF2A push 0000009Ch call SUB_L0049A820 add esp,00000004h mov [ebp-14h],eax xor edi,edi cmp eax,edi mov [ebp-04h],edi jz L0040EF03 mov ecx,[ebx+esi*4+000000B0h] push L004D77C0 add ecx,000000ECh push ecx mov ecx,eax call SUB_L0041F4F0 jmp L0040EF05 L0040EF03: xor eax,eax L0040EF05: push 00000001h push edi mov ecx,eax mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L004415C0 mov [ebx+68h],edi mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L0040EF2A: mov edi,edx or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx mov edx,ecx mov esi,edi mov edi,L006BB372 shr ecx,02h rep movsd mov ecx,edx mov edx,L006BB372 and ecx,00000003h rep movsb mov ecx,00000003h call SUB_L00427C00 mov esi,[ebp-14h] lea eax,[ebp-0Eh] push esi push L004C43EC push eax call SUB_L0049AC80 add esp,0000000Ch lea edx,[ebp-0Eh] mov ecx,00000022h call SUB_L00427C00 mov eax,[ebx+esi*4+0000009Ch] mov [L006BD428],eax push eax mov cx,[L006BB5BC+eax*2] mov [L006BB5B4],cx mov dx,[L006BB5C6+eax*2] mov [L006BB5B8],dx mov ecx,[ebx+esi*4+000000B0h] mov edx,L004D77C0 add ecx,000000ECh call SUB_L00457EC0 mov ecx,[ebp-0Ch] pop edi mov dword ptr [ebx+68h],00000000h pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 L0040EFE0: push ebp mov ebp,esp push FFFFFFFFh push L004B165B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,0000000Ch push esi xor esi,esi cmp ecx,esi jz L0040F008 mov eax,[ecx] push 00000001h call [eax] L0040F008: lea ecx,[ebp-18h] push ecx mov ecx,L006BB1C0 call SUB_L00473B00 mov ecx,[L006BB1CC] lea edx,[ebp-18h] push edx call SUB_L0048B170 mov ecx,[L006BB1CC] call SUB_L00489470 mov ecx,[L006BB1CC] call SUB_L00489C90 mov ecx,[L006BB1CC] call SUB_L00489440 mov eax,[L0066964C] mov [L00669644],esi cmp eax,esi jz L0040F05E mov dword ptr [eax+68h],00000001h jmp L0040F096 L0040F05E: push 0000009Ch call SUB_L0049A820 add esp,00000004h mov [ebp-10h],eax cmp eax,esi mov [ebp-04h],esi jz L0040F07E mov ecx,eax call SUB_L0041FD50 jmp L0040F080 L0040F07E: xor eax,eax L0040F080: push 00000001h push esi mov ecx,eax mov dword ptr [ebp-04h],FFFFFFFFh mov [L0066964C],eax call SUB_L004415C0 L0040F096: mov ecx,[L006BB1CC] mov [L0071238C],esi mov [L0073EC5C],esi call SUB_L00489420 mov ecx,L004D77C0 call SUB_L00497E40 mov ecx,[ebp-0Ch] pop esi mov fs:[00000000h],ecx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L0040F0D0: push ebp mov ebp,esp push FFFFFFFFh push L004B1686 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx cmp dword ptr [ecx+00000094h],00000005h jnz L0040F117 push 00000000h push 00000000h push 00000000h push 00000000h push SSZ004C4638_You_already_have_5_characters_ mov ecx,L00669608 call SUB_L0043F200 mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L0040F117: mov eax,[L00669644] test eax,eax jz L0040F127 mov dword ptr [eax+68h],00000000h L0040F127: push 000000C0h call SUB_L0049A820 add esp,00000004h mov [ebp-10h],eax test eax,eax mov dword ptr [ebp-04h],00000000h jz L0040F14B mov ecx,eax call SUB_L00418380 jmp L0040F14D L0040F14B: xor eax,eax L0040F14D: mov [L00669658],eax mov dword ptr [eax+68h],00000000h mov eax,[L00669658] push 00000001h push 00000000h mov dword ptr [ebp-04h],FFFFFFFFh mov ecx,[eax+00000098h] mov dword ptr [ecx+68h],00000000h mov ecx,[L00669658] call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp-10h],eax test eax,eax mov dword ptr [ebp-04h],00000001h jz L0040F1A5 mov ecx,eax call SUB_L00416A90 jmp L0040F1A7 L0040F1A5: xor eax,eax L0040F1A7: push 00000001h push 00000000h mov ecx,eax mov dword ptr [ebp-04h],FFFFFFFFh mov [L00669654],eax call SUB_L004415C0 mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 L0040F1D0: push ebp mov ebp,esp push FFFFFFFFh push L004B169B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push esi mov esi,ecx push edi or ecx,FFFFFFFFh xor eax,eax mov ebx,[esi+00000098h] mov edi,[esi+ebx*4+000000B0h] add edi,000000ECh repne scasb not ecx dec ecx jnz L0040F237 xor edi,edi mov ecx,L00669608 push edi push edi push 00000001h push esi push SSZ004C4658_No_character_to_delete_ mov [esi+68h],edi call SUB_L0043F200 mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L0040F237: xor edi,edi push 0000009Ch mov [esi+68h],edi call SUB_L0049A820 add esp,00000004h mov [ebp-10h],eax cmp eax,edi mov [ebp-04h],edi jz L0040F26F mov ecx,[esi+ebx*4+000000B0h] push L004D77C0 add ecx,000000ECh push ecx mov ecx,eax call SUB_L0041F0B0 jmp L0040F271 L0040F26F: xor eax,eax L0040F271: push 00000001h push edi mov ecx,eax mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L004415C0 mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 L0040F2A0: push ebp mov ebp,esp push FFFFFFFFh push L004B16BB mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000050h push ebx mov ebx,[L00669644] push esi push edi mov eax,[ebx+00000098h] mov esi,ecx mov [ebp-14h],eax or ecx,FFFFFFFFh mov edi,[ebx+eax*4+000000B0h] xor eax,eax add edi,000000ECh mov [ebp-10h],esi repne scasb not ecx dec ecx jnz L0040F320 push eax push eax push 00000001h push eax push SSZ004C4658_No_character_to_delete_ mov ecx,L00669608 call SUB_L0043F200 test esi,esi jz L0040F3EC mov eax,[esi] push 00000001h mov ecx,esi call [eax] mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L0040F320: mov ecx,[L00669670] test ecx,ecx jz L0040F330 mov edx,[ecx] push 00000001h call [edx] L0040F330: mov edi,[esi+00000098h] or ecx,FFFFFFFFh add edi,000000ECh xor eax,eax repne scasb not ecx sub edi,ecx lea edx,[ebp-34h] mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov ecx,[ebp-10h] test ecx,ecx jz L0040F369 mov edx,[ecx] push 00000001h call [edx] L0040F369: push 000002B0h call SUB_L0049A820 add esp,00000004h mov [ebp-10h],eax xor esi,esi cmp eax,esi mov [ebp-04h],esi jz L0040F39B push esi push esi push 00000001h push 00000001h push ebx push SSZ004C4670_Deleting_character____ push FFFFFFFFh push FFFFFFFFh mov ecx,eax call SUB_L00443490 jmp L0040F39D L0040F39B: xor eax,eax L0040F39D: mov [L00669670],eax mov eax,[eax+44h] push 00000001h push esi mov [eax+68h],esi mov ecx,[L00669670] mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L004415C0 mov edx,[ebp-14h] lea ecx,[ebp-34h] push ecx lea ecx,[ebp-5Ch] mov eax,[ebx+edx*4+0000009Ch] push eax push ecx mov ecx,L006BB1C0 call SUB_L00476380 mov ecx,[L006BB1CC] lea edx,[ebp-5Ch] push edx call SUB_L0048B170 mov [ebx+68h],esi L0040F3EC: mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 4 L0040F400: push ebp mov ebp,esp push FFFFFFFFh push L004B16DB mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push esi mov esi,ecx push edi or ecx,FFFFFFFFh xor eax,eax mov ebx,[esi+00000098h] mov edi,[esi+ebx*4+000000B0h] add edi,000000ECh repne scasb not ecx dec ecx jnz L0040F467 xor edi,edi mov ecx,L00669608 push edi push edi push 00000001h push esi push SSZ004C4688_No_character_to_change_password_ mov [esi+68h],edi call SUB_L0043F200 mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L0040F467: xor edi,edi push 000000C4h mov [esi+68h],edi call SUB_L0049A820 add esp,00000004h mov [ebp-10h],eax cmp eax,edi mov [ebp-04h],edi jz L0040F49F mov ecx,[esi+ebx*4+000000B0h] push L004D77C0 add ecx,000000ECh push ecx mov ecx,eax call SUB_L0041E890 jmp L0040F4A1 L0040F49F: xor eax,eax L0040F4A1: push 00000001h push edi mov ecx,eax mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L004415C0 mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 L0040F4D0: push ebp mov ebp,esp push FFFFFFFFh push L004B16FB mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,0000004Ch push ebx mov ebx,ecx push esi push edi mov esi,[ebx+000000C0h] mov eax,[ebx+000000BCh] add esi,000000ECh add eax,000000ECh L0040F507: mov dl,[eax] mov cl,dl cmp dl,[esi] jnz L0040F52B test cl,cl jz L0040F527 mov dl,[eax+01h] mov cl,dl cmp dl,[esi+01h] jnz L0040F52B add eax,00000002h add esi,00000002h test cl,cl jnz L0040F507 L0040F527: xor eax,eax jmp L0040F530 L0040F52B: sbb eax,eax sbb eax,FFFFFFFFh L0040F530: test eax,eax jz L0040F562 push 00000000h push 00000000h push 00000000h push ebx push SSZ004C46C4_Passwords_do_not_match_ mov ecx,L00669608 mov dword ptr [ebx+68h],00000000h call SUB_L0043F200 mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L0040F562: mov esi,[L00669644] mov ecx,[L00669670] test ecx,ecx mov eax,[esi+00000098h] mov edi,[esi+eax*4+0000009Ch] jz L0040F585 mov edx,[ecx] push 00000001h call [edx] L0040F585: mov eax,[ebx+000000BCh] mov ecx,[ebx+000000B8h] add eax,000000ECh add ecx,000000ECh push eax push ecx lea edx,[ebp-58h] push edi push edx mov ecx,L006BB1C0 call SUB_L004764C0 mov ecx,[L006BB1CC] lea eax,[ebp-58h] push eax call SUB_L0048B170 xor edi,edi cmp ebx,edi jz L0040F5CA mov edx,[ebx] push 00000001h mov ecx,ebx call [edx] L0040F5CA: push 000002B0h mov [esi+68h],edi call SUB_L0049A820 add esp,00000004h mov [ebp-10h],eax cmp eax,edi mov [ebp-04h],edi jz L0040F5FD push edi push edi push 00000001h push 00000001h push esi push SSZ004C46AC_Changing_password____ push FFFFFFFFh push FFFFFFFFh mov ecx,eax call SUB_L00443490 jmp L0040F5FF L0040F5FD: xor eax,eax L0040F5FF: mov [L00669670],eax mov eax,[eax+44h] push 00000001h push edi mov [eax+68h],edi mov ecx,[L00669670] mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L004415C0 mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L0040F630: push ebp mov ebp,esp push FFFFFFFFh push L004B171B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000050h push ebx mov ebx,ecx push esi push edi mov byte ptr [L006BD42C],00h mov edi,[ebx+00000094h] add edi,000000ECh or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,L006BD468 shr ecx,02h rep movsd mov ecx,eax xor eax,eax and ecx,00000003h rep movsb mov edi,[ebx+00000098h] or ecx,FFFFFFFFh add edi,000000ECh repne scasb not ecx sub edi,ecx mov edx,ecx mov esi,edi mov edi,L006BD486 shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb mov eax,[ebx+0000009Ch] mov edx,[L006BB1CC] mov cl,[eax+000000B0h] mov [L0073EC1C],cl mov eax,[edx+04h] cmp eax,FFFFFFFFh jnz L0040F7C1 xor esi,esi push 000002B0h mov [ebx+68h],esi call SUB_L0049A820 add esp,00000004h mov [ebp-10h],eax cmp eax,esi mov [ebp-04h],esi jz L0040F70E mov ecx,[L0066964C] push esi push esi push 00000001h push 00000001h push ecx push SSZ004C472C_Connecting____ push FFFFFFFFh push FFFFFFFFh mov ecx,eax call SUB_L00443490 jmp L0040F710 L0040F70E: xor eax,eax L0040F710: mov [L00669670],eax mov edx,[eax+44h] push 00000001h push esi mov [edx+68h],esi mov ecx,[L00669670] mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L004415C0 mov ecx,[L004C7F38] mov eax,[L004C7F34] lea edx,[ebp-20h] mov [ebp-14h],ecx push 00000001h push edx mov ecx,L00669608 mov [ebp-20h],esi mov [ebp-18h],eax mov [ebp-1Ch],esi call SUB_L0043F650 call SUB_L004582B0 mov ecx,[L00669670] test eax,eax jnz L0040F7AF cmp ecx,esi jz L0040F770 mov eax,[ecx] push 00000001h call [eax] L0040F770: mov [L00669670],esi mov [ebx+68h],esi cmp [L00669670],esi jnz L0040F870 push esi push esi push 00000001h push ebx push SSZ004C46E4_Couldn_t_connect_to_Ultima_Onlin mov ecx,L00669608 call SUB_L0043F200 mov [L00669670],eax mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L0040F7AF: cmp ecx,esi jz L0040F7B9 mov edx,[ecx] push 00000001h call [edx] L0040F7B9: mov [L00669670],esi jmp L0040F7C3 L0040F7C1: xor esi,esi L0040F7C3: mov al,[L006BD2DC] mov edx,L006BD486 push eax mov ecx,L006BD468 call SUB_L004580D0 mov edx,L006BD468 mov ecx,0000001Eh call SUB_L00427C00 mov al,[L0073EC1C] test al,al jz L0040F83D mov edx,L004C46E0 mov ecx,0000001Ah call SUB_L00427C00 mov edi,L006BD486 or ecx,FFFFFFFFh xor eax,eax lea edx,[ebp-5Ch] repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb lea ecx,[ebp-5Ch] call SUB_L00454C40 lea edx,[ebp-5Ch] mov ecx,00000020h call SUB_L00427C00 xor esi,esi jmp L0040F85B L0040F83D: mov edx,L004C46DC mov ecx,0000001Ah call SUB_L00427C00 mov edx,L004D77C0 mov ecx,00000020h call SUB_L00427C00 L0040F85B: mov ecx,[ebx+0000009Ch] mov dl,[ecx+000000B0h] mov [L0073EC1C],dl mov [ebx+68h],esi L0040F870: mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 L0040F890: push ebp mov ebp,esp push FFFFFFFFh push L004B173B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi xor esi,esi cmp ecx,esi jz L0040F8B6 mov eax,[ecx] push 00000001h call [eax] L0040F8B6: mov eax,[L0066964C] mov [L00669648],esi cmp eax,esi jz L0040F8CE mov dword ptr [eax+68h],00000001h jmp L0040F906 L0040F8CE: push 0000009Ch call SUB_L0049A820 add esp,00000004h mov [ebp-10h],eax cmp eax,esi mov [ebp-04h],esi jz L0040F8EE mov ecx,eax call SUB_L0041FD50 jmp L0040F8F0 L0040F8EE: xor eax,eax L0040F8F0: push 00000001h push esi mov ecx,eax mov dword ptr [ebp-04h],FFFFFFFFh mov [L0066964C],eax call SUB_L004415C0 L0040F906: mov ecx,[L006BB1CC] mov [L0071238C],esi mov [L0073EC5C],esi call SUB_L00489420 mov ecx,L004D77C0 call SUB_L00497E40 mov ecx,[ebp-0Ch] pop esi mov fs:[00000000h],ecx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 L0040F940: push ebp mov ebp,esp push ecx push ebx mov ebx,ecx push esi push edi mov edx,[ebx+0000009Ch] or ecx,FFFFFFFFh add edx,000000ECh xor eax,eax mov edi,edx repne scasb not ecx dec ecx jz L0040F9B0 mov eax,[ebx+00000098h] mov edi,edx mov ecx,eax shl ecx,04h lea esi,[ecx+eax+L00767190] or ecx,FFFFFFFFh xor eax,eax mov [ebp-04h],esi repne scasb mov eax,[ebp-04h] not ecx sub edi,ecx mov edx,ecx mov esi,edi mov edi,eax shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb mov ecx,[L00669660] test ecx,ecx jz L0040F9AB push FFFFFFFFh call SUB_L00486F70 L0040F9AB: call SUB_L00484CD0 L0040F9B0: test ebx,ebx jz L0040F9BC mov edx,[ebx] push 00000001h mov ecx,ebx call [edx] L0040F9BC: pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 L0040F9D0: push ebp mov ebp,esp sub esp,00000008h push ebx push esi mov esi,[L00767188] push edi mov edi,ecx test esi,esi mov [ebp-08h],edi jle L0040FA07 mov eax,L00767260 mov ecx,esi L0040F9EF: mov edx,[eax] mov ebx,[edi+00000098h] cmp edx,ebx jnz L0040FA01 mov dword ptr [eax],00000000h L0040FA01: add eax,00000004h dec ecx jnz L0040F9EF L0040FA07: mov edx,[edi+00000098h] mov eax,[L00765110] inc edx cmp edx,eax jge L0040FA79 mov eax,edx shl eax,04h lea ebx,[eax+edx+L00767190] jmp L0040FA2B L0040FA25: mov esi,[L00767188] L0040FA2B: test esi,esi jle L0040FA43 mov eax,L00767260 L0040FA34: mov ecx,[eax] cmp ecx,edx jnz L0040FA3D dec ecx mov [eax],ecx L0040FA3D: add eax,00000004h dec esi jnz L0040FA34 L0040FA43: mov edi,ebx or ecx,FFFFFFFFh xor eax,eax lea esi,[ebx-11h] repne scasb not ecx sub edi,ecx mov [ebp-04h],esi mov eax,ecx mov esi,edi mov edi,[ebp-04h] add ebx,00000011h shr ecx,02h rep movsd mov ecx,eax mov eax,[L00765110] and ecx,00000003h inc edx cmp edx,eax rep movsb jl L0040FA25 mov edi,[ebp-08h] L0040FA79: mov ecx,[L00765110] dec ecx mov [L00765110],ecx mov ecx,[L00669660] test ecx,ecx jz L0040FA97 push FFFFFFFFh call SUB_L00486F70 L0040FA97: test edi,edi jz L0040FAA3 mov edx,[edi] push 00000001h mov ecx,edi call [edx] L0040FAA3: call SUB_L00484CD0 pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 4 SUB_L0040FAB0: push ebp mov ebp,esp sub esp,00000008h push esi mov esi,ecx lea eax,[ebp-04h] push edi push eax lea edx,[ebp-08h] mov ecx,000013A7h call SUB_L004390A0 mov edx,[ebp-04h] mov eax,[esi+000000D4h] xor edi,edi inc edx cmp eax,edi mov [ebp-04h],edx jle L0040FB62 mov ecx,[esi+000000C0h] dec eax mov [esi+000000D4h],eax push ebx mov edx,[ecx+08h] mov ecx,[esi+000000B8h] cmp ecx,edi mov [esi+000000C0h],edx jz L0040FB37 L0040FB03: mov eax,[ecx] mov edx,[ebp-04h] mov ebx,[eax+30h] add ebx,edx mov [eax+30h],ebx mov eax,[ecx] mov ebx,[ebp-04h] mov edx,[eax+30h] add ebx,edx cmp ebx,[esi+20h] jg L0040FB2D cmp edx,00000003h jl L0040FB2D mov dword ptr [eax+68h],00000001h jmp L0040FB30 L0040FB2D: mov [eax+68h],edi L0040FB30: mov ecx,[ecx+04h] cmp ecx,edi jnz L0040FB03 L0040FB37: cmp [esi+000000D4h],edi jnz L0040FB48 mov eax,[esi+00000094h] mov [eax+68h],edi L0040FB48: mov eax,[esi+00000098h] cmp [eax+68h],edi jnz L0040FB5A mov dword ptr [eax+68h],00000001h L0040FB5A: mov ecx,esi call SUB_L004142E0 pop ebx L0040FB62: pop edi pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L0040FB70: push ebp mov ebp,esp sub esp,00000008h push esi mov esi,ecx lea eax,[ebp-04h] lea edx,[ebp-08h] push eax mov ecx,000013A7h call SUB_L004390A0 mov edx,[ebp-04h] mov eax,[esi+000000D4h] mov ecx,[esi+000000CCh] inc edx inc eax mov [ebp-04h],edx cmp eax,ecx jge L0040FC32 mov ecx,[esi+000000C0h] mov [esi+000000D4h],eax push edi xor edi,edi mov edx,[ecx+04h] mov ecx,[esi+000000B8h] cmp ecx,edi push ebx mov [esi+000000C0h],edx jz L0040FBFD L0040FBC9: mov eax,[ecx] mov edx,[ebp-04h] mov ebx,[eax+30h] sub ebx,edx mov [eax+30h],ebx mov eax,[ecx] mov ebx,[ebp-04h] mov edx,[eax+30h] add ebx,edx cmp ebx,[esi+20h] jg L0040FBF3 cmp edx,00000003h jl L0040FBF3 mov dword ptr [eax+68h],00000001h jmp L0040FBF6 L0040FBF3: mov [eax+68h],edi L0040FBF6: mov ecx,[ecx+04h] cmp ecx,edi jnz L0040FBC9 L0040FBFD: mov eax,[esi+000000CCh] mov ecx,[esi+000000D4h] dec eax cmp ecx,eax jl L0040FC17 mov ecx,[esi+00000098h] mov [ecx+68h],edi L0040FC17: mov eax,[esi+00000094h] cmp [eax+68h],edi jnz L0040FC29 mov dword ptr [eax+68h],00000001h L0040FC29: mov ecx,esi call SUB_L004142E0 pop ebx pop edi L0040FC32: pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 L0040FC40: push ebp mov ebp,esp push ecx push ebx push esi push edi mov edi,ecx xor ebx,ebx mov esi,[edi+44h] mov [ebp-04h],ebx test esi,esi jz L0040FC75 L0040FC55: mov eax,[esi] mov ecx,esi call [eax+000000FCh] test eax,eax jz L0040FC6B mov eax,[esi+30h] test eax,eax jge L0040FC6B inc ebx L0040FC6B: mov esi,[esi+3Ch] test esi,esi jnz L0040FC55 mov [ebp-04h],ebx L0040FC75: test ebx,ebx jz L0040FCE2 mov esi,[edi+44h] test esi,esi jz L0040FCC3 mov ebx,0000001Ah L0040FC85: mov edx,[esi] mov ecx,esi call [edx+000000FCh] test eax,eax jz L0040FCB9 mov eax,[esi+30h] add eax,ebx mov [esi+30h],eax mov edx,[edi+20h] lea ecx,[eax+1Ah] cmp ecx,edx jge L0040FCB2 test eax,eax jle L0040FCB2 mov dword ptr [esi+68h],00000001h jmp L0040FCB9 L0040FCB2: mov dword ptr [esi+68h],00000000h L0040FCB9: mov esi,[esi+3Ch] test esi,esi jnz L0040FC85 mov ebx,[ebp-04h] L0040FCC3: cmp ebx,00000001h jnz L0040FCD5 mov edx,[edi+00000094h] mov dword ptr [edx+68h],00000000h L0040FCD5: mov eax,[edi+00000098h] mov dword ptr [eax+68h],00000001h L0040FCE2: pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 L0040FCF0: push ebp mov ebp,esp push ecx push ebx push esi push edi mov edi,ecx xor ebx,ebx mov esi,[edi+44h] mov [ebp-04h],ebx test esi,esi jz L0040FD25 L0040FD05: mov eax,[esi] mov ecx,esi call [eax+000000FCh] test eax,eax jz L0040FD1B mov eax,[esi+30h] test eax,eax jle L0040FD1B inc ebx L0040FD1B: mov esi,[esi+3Ch] test esi,esi jnz L0040FD05 mov [ebp-04h],ebx L0040FD25: cmp ebx,00000002h jl L0040FD93 mov esi,[edi+44h] test esi,esi jz L0040FD74 mov ebx,FFFFFFE6h L0040FD36: mov edx,[esi] mov ecx,esi call [edx+000000FCh] test eax,eax jz L0040FD6A mov eax,[esi+30h] add eax,ebx mov [esi+30h],eax mov edx,[edi+20h] lea ecx,[eax+1Ah] cmp ecx,edx jge L0040FD63 test eax,eax jle L0040FD63 mov dword ptr [esi+68h],00000001h jmp L0040FD6A L0040FD63: mov dword ptr [esi+68h],00000000h L0040FD6A: mov esi,[esi+3Ch] test esi,esi jnz L0040FD36 mov ebx,[ebp-04h] L0040FD74: cmp ebx,00000002h jnz L0040FD86 mov edx,[edi+00000098h] mov dword ptr [edx+68h],00000000h L0040FD86: mov eax,[edi+00000094h] mov dword ptr [eax+68h],00000001h L0040FD93: pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 L0040FDA0: push ebp mov ebp,esp mov eax,00001904h call SUB_L0049ACF0 push esi mov esi,ecx push esi lea eax,[ebp-00001904h] push 00000005h push eax mov ecx,L006BB1C0 call SUB_L00475B00 lea ecx,[ebp-00001904h] push ecx mov ecx,[L006BB1CC] call SUB_L0048B170 test esi,esi jz L0040FDE2 mov edx,[esi] push 00000001h mov ecx,esi call [edx] L0040FDE2: pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 L0040FDF0: push L004D77C0 push 00000000h call SUB_L00403AE0 retn ;------------------------------------------------------------------------------ Align 4 L0040FE00: push ebp mov ebp,esp sub esp,00000054h push esi mov esi,ecx mov eax,[esi+34h] test eax,eax jz L0040FE88 mov eax,[eax+7Ch] test eax,eax jz L0040FE88 mov edx,[eax] mov ecx,eax call [edx+30h] test eax,eax jz L0040FE88 mov eax,[esi+34h] mov ecx,[eax+7Ch] mov eax,[ecx+000000ACh] test eax,eax jz L0040FE88 lea edx,[esi+000000DEh] lea eax,[ebp-54h] push edx push SSZ004C4744_RE___s push eax call SUB_L0049AC80 mov eax,[esi+000000BCh] add esp,0000000Ch test eax,eax jz L0040FE6F mov edx,[esi+34h] lea ecx,[ebp-54h] push ecx push eax mov eax,[edx+7Ch] mov ecx,[eax+000000ACh] call SUB_L00403AE0 pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L0040FE6F: mov esi,[esi+34h] lea ecx,[ebp-54h] push ecx mov eax,[esi+7Ch] mov edx,[esi+78h] push edx mov ecx,[eax+000000ACh] call SUB_L00403AE0 L0040FE88: pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 4 L0040FE90: push ebp mov ebp,esp mov eax,00001904h call SUB_L0049ACF0 mov eax,[ecx+34h] mov edx,[eax+7Ch] mov ecx,[eax+78h] push ecx lea ecx,[ebp-00001904h] mov eax,[edx+78h] push eax push 00000006h push ecx mov ecx,L006BB1C0 call SUB_L00475880 mov ecx,[L006BB1CC] lea edx,[ebp-00001904h] push edx call SUB_L0048B170 mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L0040FEE0: push ebp mov ebp,esp push ecx push ebx push edi mov edi,ecx xor ebx,ebx mov [ebp-04h],ebx mov ecx,[edi+000000ACh] cmp ecx,ebx jz L0040FFC0 call SUB_L00404780 cmp eax,ebx jz L0040FFC0 push esi mov esi,[edi+44h] cmp esi,ebx mov [edi+000000ACh],eax jz L0040FF70 L0040FF16: mov eax,[esi] mov ecx,esi call [eax+00000104h] test eax,eax jz L0040FF69 mov edx,[esi+30h] xor ecx,ecx mov cl,[L004C416C] add edx,ecx mov [esi+30h],edx mov ecx,[edi+000000A0h] mov eax,edx xor edx,edx mov dl,[L004C416C] add edx,eax cmp edx,ecx jg L0040FF66 cmp eax,[edi+00000098h] jl L0040FF66 mov ecx,esi call SUB_L00404700 test eax,eax jz L0040FF69 mov dword ptr [esi+68h],00000001h jmp L0040FF69 L0040FF66: mov [esi+68h],ebx L0040FF69: mov esi,[esi+3Ch] cmp esi,ebx jnz L0040FF16 L0040FF70: mov ecx,[edi+000000ACh] call SUB_L00404780 mov esi,[edi+44h] test esi,esi jz L0040FFAE L0040FF82: mov eax,[esi] mov ecx,esi call [eax+00000104h] test eax,eax jz L0040FFA7 mov ecx,esi call SUB_L00404700 test eax,eax jz L0040FFA7 cmp [edi+000000ACh],esi jnz L0040FFA6 mov [ebp-04h],ebx L0040FFA6: inc ebx L0040FFA7: mov esi,[esi+3Ch] test esi,esi jnz L0040FF82 L0040FFAE: mov ecx,[ebp-04h] dec ebx push ebx push ecx mov ecx,[edi+000000B8h] call SUB_L00412F50 pop esi L0040FFC0: pop edi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 L0040FFD0: push ebp mov ebp,esp push ecx push ebx push edi mov edi,ecx xor ebx,ebx mov [ebp-04h],ebx mov ecx,[edi+000000ACh] cmp ecx,ebx jz L004100B0 call SUB_L00404730 cmp eax,ebx jz L004100B0 push esi mov esi,[edi+44h] cmp esi,ebx mov [edi+000000ACh],eax jz L00410060 L00410006: mov eax,[esi] mov ecx,esi call [eax+00000104h] test eax,eax jz L00410059 mov edx,[esi+30h] xor ecx,ecx mov cl,[L004C416C] sub edx,ecx mov [esi+30h],edx mov ecx,[edi+000000A0h] mov eax,edx xor edx,edx mov dl,[L004C416C] add edx,eax cmp edx,ecx jg L00410056 cmp eax,[edi+00000098h] jl L00410056 mov ecx,esi call SUB_L00404700 test eax,eax jz L00410059 mov dword ptr [esi+68h],00000001h jmp L00410059 L00410056: mov [esi+68h],ebx L00410059: mov esi,[esi+3Ch] cmp esi,ebx jnz L00410006 L00410060: mov ecx,[edi+000000ACh] call SUB_L00404730 mov esi,[edi+44h] test esi,esi jz L0041009E L00410072: mov eax,[esi] mov ecx,esi call [eax+00000104h] test eax,eax jz L00410097 mov ecx,esi call SUB_L00404700 test eax,eax jz L00410097 cmp [edi+000000ACh],esi jnz L00410096 mov [ebp-04h],ebx L00410096: inc ebx L00410097: mov esi,[esi+3Ch] test esi,esi jnz L00410072 L0041009E: mov ecx,[ebp-04h] dec ebx push ebx push ecx mov ecx,[edi+000000B8h] call SUB_L00412F50 pop esi L004100B0: pop edi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 L004100C0: push esi mov esi,ecx mov eax,[esi+0000015Ch] test eax,eax jle L004100F2 dec eax mov [esi+0000015Ch],eax call SUB_L00406430 mov eax,[esi+00000158h] mov ecx,[esi+0000015Ch] push eax push ecx mov ecx,[esi+00000098h] call SUB_L00412F50 L004100F2: pop esi retn ;------------------------------------------------------------------------------ Align 16 L00410100: push esi mov esi,ecx mov eax,[esi+0000015Ch] mov ecx,[esi+00000158h] inc eax cmp eax,ecx jge L0041013A mov ecx,esi mov [esi+0000015Ch],eax call SUB_L00406430 mov eax,[esi+00000158h] mov ecx,[esi+0000015Ch] push eax push ecx mov ecx,[esi+00000098h] call SUB_L00412F50 L0041013A: pop esi retn ;------------------------------------------------------------------------------ Align 8 L00410140: push esi mov esi,ecx mov eax,[esi+000000ACh] test eax,eax jnz L004101F1 mov eax,[esi+000000B8h] test eax,eax jz L004101F1 mov ecx,[esi+000000D0h] dec eax xor edx,edx mov dword ptr [esi+000000ACh],00000001h mov [esi+000000B8h],eax mov dx,[ecx+eax*2] add edx,00004000h mov ecx,L006A9DB8 push edx call SUB_L004882D0 test eax,eax jnz L004101A4 push 00004000h mov ecx,L006A9DB8 call SUB_L004882D0 test eax,eax jz L004101D6 L004101A4: xor ecx,ecx xor edx,edx mov cx,[eax+04h] dec ecx mov [esi+000000BCh],ecx mov dx,[eax+04h] mov eax,edx mov ecx,esi sub eax,00000006h cdq and edx,00000003h add eax,edx sar eax,02h neg eax mov [esi+000000C0h],eax call SUB_L00481240 pop esi retn ;------------------------------------------------------------------------------ L004101D6: mov ecx,esi mov dword ptr [esi+000000BCh],0000002Bh mov dword ptr [esi+000000C0h],FFFFFFF7h call SUB_L00481240 L004101F1: pop esi retn ;------------------------------------------------------------------------------ Align 16 L00410200: push esi mov esi,ecx mov eax,[esi+000000ACh] test eax,eax jnz L004102A0 mov eax,[esi+000000B8h] mov edx,[esi+000000B4h] lea ecx,[eax+01h] cmp ecx,edx jge L004102A0 mov edx,[esi+000000D0h] xor ecx,ecx mov dword ptr [esi+000000ACh],00000001h mov cx,[edx+eax*2] add ecx,00004000h push ecx mov ecx,L006A9DB8 call SUB_L004882D0 test eax,eax jnz L0041025E push 00004000h mov ecx,L006A9DB8 call SUB_L004882D0 L0041025E: test eax,eax mov dword ptr [esi+000000BCh],00000001h jz L0041028F xor edx,edx mov ecx,esi mov dx,[eax+04h] mov eax,edx sub eax,00000006h cdq and edx,00000003h add eax,edx sar eax,02h mov [esi+000000C0h],eax call SUB_L00481240 pop esi retn ;------------------------------------------------------------------------------ L0041028F: mov ecx,esi mov dword ptr [esi+000000C0h],00000009h call SUB_L00481240 L004102A0: pop esi retn ;------------------------------------------------------------------------------ Align 16 L004102B0: push esi mov esi,ecx mov ax,[esi+000000DEh] test ax,ax jbe L004102EA dec eax dec word ptr [esi+000000DCh] mov [esi+000000DEh],ax call SUB_L00448060 mov ecx,[esi+00000094h] xor eax,eax mov ax,[esi+000000DEh] push 00000004h push eax call SUB_L00412F50 L004102EA: pop esi retn ;------------------------------------------------------------------------------ Align 8 L004102F0: push esi mov esi,ecx mov ax,[esi+000000DEh] cmp ax,0004h jnc L0041032B inc eax inc word ptr [esi+000000DCh] mov [esi+000000DEh],ax call SUB_L00448060 mov ecx,[esi+00000094h] xor eax,eax mov ax,[esi+000000DEh] push 00000004h push eax call SUB_L00412F50 L0041032B: pop esi retn ;------------------------------------------------------------------------------ Align 4 L00410330: push 00000000h call SUB_L0049B0C0 add esp,00000004h retn ;------------------------------------------------------------------------------ Align 8 L00410340: push ebp mov ebp,esp push FFFFFFFFh push L004B175B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,000000B0h lea ecx,[ebp-000000BCh] call SUB_L0042D020 lea ecx,[ebp-000000BCh] mov dword ptr [ebp-04h],00000000h call SUB_L0042D0B0 lea ecx,[ebp-000000BCh] mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L0042D080 mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 SUB_L004103A0: push ebp mov ebp,esp push FFFFFFFFh push L004B1786 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,0000000Ch mov eax,[L006BB1CC] push esi xor esi,esi cmp eax,esi jz L004103FA lea eax,[ebp-18h] mov ecx,L006BB1C0 push eax call SUB_L00473B00 lea ecx,[ebp-18h] push ecx mov ecx,[L006BB1CC] call SUB_L0048B170 mov ecx,[L006BB1CC] cmp ecx,esi jz L004103F4 mov edx,[ecx] push 00000001h call [edx] L004103F4: mov [L006BB1CC],esi L004103FA: push 00020040h mov [L005492A0],esi mov [L0071238C],esi mov dword ptr [L00669688],00000001h mov [L0073EC5C],esi call SUB_L0049A820 add esp,00000004h mov [ebp-10h],eax cmp eax,esi mov [ebp-04h],esi jz L00410436 mov ecx,eax call SUB_L004894A0 jmp L00410438 L00410436: xor eax,eax L00410438: mov ecx,L006BB1C8 mov dword ptr [ebp-04h],FFFFFFFFh mov [L006BB1CC],eax call SUB_L00457D60 mov ecx,L00669608 call SUB_L00442890 mov ecx,L00669608 call SUB_L00441F60 mov eax,[L006BAE80] mov ecx,L004D77C0 mov [eax+68h],esi call SUB_L00497E40 call SUB_L00458470 push 0000009Ch call SUB_L0049A820 add esp,00000004h mov [ebp-10h],eax cmp eax,esi mov dword ptr [ebp-04h],00000001h jz L0041049D mov ecx,eax call SUB_L0041FD50 jmp L0041049F L0041049D: xor eax,eax L0041049F: push 00000001h push esi mov ecx,eax mov dword ptr [ebp-04h],FFFFFFFFh mov [L0066964C],eax call SUB_L004415C0 mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 L004104D0: jmp SUB_L004103A0 Align 16 L004104E0: push ebp mov ebp,esp push FFFFFFFFh push L004B179B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx mov eax,[L0066964C] push esi push edi push 000000A0h mov dword ptr [eax+68h],00000000h call SUB_L0049A820 add esp,00000004h mov [ebp-10h],eax test eax,eax mov dword ptr [ebp-04h],00000000h jz L0041052D mov ecx,eax call SUB_L0041E210 mov edx,eax jmp L0041052F L0041052D: xor edx,edx L0041052F: mov edi,L006BD468 or ecx,FFFFFFFFh xor eax,eax mov dword ptr [ebp-04h],FFFFFFFFh repne scasb not ecx dec ecx mov [L00669648],edx jz L0041058A mov edx,[edx+00000094h] mov edi,L006BD468 or ecx,FFFFFFFFh add edx,000000ECh repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov ecx,[L00669648] mov ecx,[ecx+00000094h] call SUB_L0041AC50 L0041058A: mov al,[L0073EC1C] test al,al jz L004105D8 mov edx,[L00669648] mov edi,L006BD486 or ecx,FFFFFFFFh xor eax,eax mov edx,[edx+00000098h] add edx,000000ECh repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov ecx,[L00669648] mov ecx,[ecx+00000098h] call SUB_L0041AC50 L004105D8: mov ecx,[L00669648] push 00000001h push 00000000h call SUB_L004415C0 mov ecx,[ebp-0Ch] pop edi mov fs:[00000000h],ecx pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 L00410600: push ebp mov ebp,esp push FFFFFFFFh push L004B17BB mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx test ecx,ecx jz L00410623 mov eax,[ecx] push 00000001h call [eax] L00410623: mov dword ptr [L0066964C],00000000h call SUB_L00499A40 push 0000009Ch call SUB_L0049A820 add esp,00000004h mov [ebp-10h],eax test eax,eax mov dword ptr [ebp-04h],00000000h jz L00410656 mov ecx,eax call SUB_L0041FD50 jmp L00410658 L00410656: xor eax,eax L00410658: push 00000001h push 00000000h mov ecx,eax mov dword ptr [ebp-04h],FFFFFFFFh mov [L0066964C],eax call SUB_L004415C0 mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 4 L00410680: call SUB_L0048B8B0 mov ecx,SSZ004C4768_www_owo_com call SUB_L0049A4C0 test eax,eax jnz L004106B3 mov eax,[L007B7E10] test eax,eax jz L004106B3 push 00000000h push 00000000h push 00000000h push 00000000h push SSZ004C474C_Documentation_not_found_ mov ecx,L00669608 call SUB_L0043F200 L004106B3: retn ;------------------------------------------------------------------------------ Align 16 L004106C0: call SUB_L0048B8B0 mov ecx,SSZ004C4774_ultima_registration_com jmp SUB_L0049A4C0 Align 4 L004106D0: push ebp mov ebp,esp sub esp,00000100h push ebx push esi push edi mov edx,000000C8h lea ecx,[ebp-00000100h] call SUB_L00454F00 lea edi,[ebp-00000100h] or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx jnz L0041072D mov eax,[L0066964C] push 00000000h push 00000000h push 00000001h mov dword ptr [eax+68h],00000000h mov ecx,[L0066964C] push ecx push SSZ004C47E8_CD_path_not_found_ mov ecx,L00669608 call SUB_L0043F200 pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L0041072D: mov edi,SSZ004C47D4_setup_exe_splash or ecx,FFFFFFFFh xor eax,eax lea edx,[ebp-00000100h] repne scasb not ecx sub edi,ecx push 0000000Ah mov esi,edi mov ebx,ecx mov edi,edx or ecx,FFFFFFFFh repne scasb mov ecx,ebx dec edi shr ecx,02h rep movsd mov ecx,ebx lea eax,[ebp-00000100h] and ecx,00000003h push eax rep movsb call [KERNEL32.dll!WinExec] cmp eax,00000002h jz L00410776 cmp eax,00000003h jnz L0041079F L00410776: mov ecx,[L0066964C] push 00000000h push 00000000h push 00000001h mov dword ptr [ecx+68h],00000000h mov edx,[L0066964C] push edx push SSZ004C478C_Setup_program_not_found___Make_s mov ecx,L00669608 call SUB_L0043F200 L0041079F: pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L004107B0: mov eax,[ecx+000002A0h] test eax,eax jz L004107C1 mov dword ptr [eax+68h],00000001h L004107C1: cmp [L00669670],ecx jnz L004107D3 mov dword ptr [L00669670],00000000h L004107D3: mov eax,[ecx+0000009Ch] test eax,eax jz L004107E2 jmp SUB_L004103A0 L004107E2: test ecx,ecx jz L004107EC mov eax,[ecx] push 00000001h call [eax] L004107EC: retn ;------------------------------------------------------------------------------ Align 4 L004107F0: push ebp mov ebp,esp push FFFFFFFFh push L004B17DB mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx push edi push 00006150h mov eax,[esi+00000098h] mov dword ptr [eax+68h],00000000h call SUB_L0049A820 add esp,00000004h mov [ebp-10h],eax test eax,eax mov dword ptr [ebp-04h],00000000h jz L0041084F mov ecx,[esi+0000009Ch] push 00000000h push 000004CCh push ecx push esi mov ecx,eax call SUB_L00419380 mov edi,eax jmp L00410851 L0041084F: xor edi,edi L00410851: mov eax,[L00767188] xor esi,esi test eax,eax mov dword ptr [ebp-04h],FFFFFFFFh jle L0041088C L00410863: xor eax,eax push 00000000h mov al,[esi+L00767120] mov ecx,edi lea edx,[eax+eax*4] shl edx,04h add edx,L00764170 push edx push eax call SUB_L0041A260 mov eax,[L00767188] inc esi cmp esi,eax jl L00410863 L0041088C: mov ecx,edi call SUB_L0041A2E0 push 00000001h push 00000000h mov ecx,edi call SUB_L004415C0 mov ecx,[ebp-0Ch] mov [L00669630],edi pop edi mov fs:[00000000h],ecx pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 L004108C0: push ebp mov ebp,esp push FFFFFFFFh push L004B17FB mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx push edi push 00006150h mov eax,[esi+00000098h] mov dword ptr [eax+68h],00000000h call SUB_L0049A820 add esp,00000004h mov [ebp-10h],eax test eax,eax mov dword ptr [ebp-04h],00000000h jz L0041091F mov ecx,[esi+000000A0h] push 00000000h push 000004CCh push ecx push esi mov ecx,eax call SUB_L00419380 mov edi,eax jmp L00410921 L0041091F: xor edi,edi L00410921: mov eax,[L00767188] xor esi,esi test eax,eax mov dword ptr [ebp-04h],FFFFFFFFh jle L0041095C L00410933: xor eax,eax push 00000000h mov al,[esi+L00767120] mov ecx,edi lea edx,[eax+eax*4] shl edx,04h add edx,L00764170 push edx push eax call SUB_L0041A260 mov eax,[L00767188] inc esi cmp esi,eax jl L00410933 L0041095C: mov ecx,edi call SUB_L0041A2E0 push 00000001h push 00000000h mov ecx,edi call SUB_L004415C0 mov ecx,[ebp-0Ch] mov [L00669630],edi pop edi mov fs:[00000000h],ecx pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 L00410990: push ebp mov ebp,esp push FFFFFFFFh push L004B181B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx push edi push 00006150h mov eax,[esi+00000098h] mov dword ptr [eax+68h],00000000h call SUB_L0049A820 add esp,00000004h mov [ebp-10h],eax test eax,eax mov dword ptr [ebp-04h],00000000h jz L004109EF mov ecx,[esi+000000A4h] push 00000000h push 000004CCh push ecx push esi mov ecx,eax call SUB_L00419380 mov edi,eax jmp L004109F1 L004109EF: xor edi,edi L004109F1: mov eax,[L00767188] xor esi,esi test eax,eax mov dword ptr [ebp-04h],FFFFFFFFh jle L00410A2C L00410A03: xor eax,eax push 00000000h mov al,[esi+L00767120] mov ecx,edi lea edx,[eax+eax*4] shl edx,04h add edx,L00764170 push edx push eax call SUB_L0041A260 mov eax,[L00767188] inc esi cmp esi,eax jl L00410A03 L00410A2C: mov ecx,edi call SUB_L0041A2E0 push 00000001h push 00000000h mov ecx,edi call SUB_L004415C0 mov ecx,[ebp-0Ch] mov [L00669630],edi pop edi mov fs:[00000000h],ecx pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 L00410A60: mov edx,[L00669650] mov eax,00000001h mov [edx+68h],eax mov edx,[L00669650] mov edx,[edx+000000C4h] mov [edx+68h],eax mov edx,[L00669650] mov edx,[edx+000000C8h] mov [edx+68h],eax mov edx,[ecx+0000009Ch] xor eax,eax mov [edx+68h],eax mov edx,[ecx+000000A0h] mov [edx+68h],eax mov [ecx+68h],eax retn ;------------------------------------------------------------------------------ Align 16 L00410AB0: push ebp mov ebp,esp push FFFFFFFFh push L004B183B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000078h mov eax,[L00669650] push ebx mov ebx,ecx push esi mov ecx,[eax+000000A8h] push edi mov [ebp-14h],ebx mov dl,[ecx+000000E8h] mov [L006BB391],dl mov cx,[eax+000000E4h] inc cx mov [L006BB39C],cx mov edx,[eax+000000A0h] mov cx,[edx+000000E8h] mov [L006BB398],cx mov dx,[eax+000000E8h] inc dx mov [L006BB39A],dx mov ecx,[eax+000000A4h] mov dx,[ecx+000000E8h] mov ecx,00000003h mov [L006BB3A0],dx mov ax,[eax+000000ECh] inc ax mov edx,L006BB372 mov [L006BB39E],ax call SUB_L00427C00 mov eax,[L006BB708] test eax,eax jz L00410B93 mov edi,L006BB354 or ecx,FFFFFFFFh xor eax,eax lea edx,[ebp-34h] repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb lea ecx,[ebp-34h] call SUB_L00454C40 lea edx,[ebp-34h] mov ecx,00000004h call SUB_L00427C00 L00410B93: mov eax,[L00669654] mov ecx,[eax+000000A0h] mov dl,[ecx+000000E8h] mov [L006BB394],dl mov ecx,[eax+000000A4h] mov dl,[ecx+000000E8h] mov [L006BB395],dl mov eax,[eax+000000A8h] mov cl,[eax+000000E8h] mov eax,[L00669658] mov [L006BB396],cl mov edx,[eax+0000009Ch] mov cl,[edx+000000E8h] mov [L006BB3A2],cl mov edx,[eax+000000A8h] mov cl,[edx+000000E8h] mov [L006BB3A3],cl mov edx,[eax+000000A0h] mov cl,[edx+000000E8h] mov [L006BB3A4],cl mov edx,[eax+000000ACh] mov cl,[edx+000000E8h] mov [L006BB3A5],cl mov edx,[eax+000000A4h] mov cl,[edx+000000E8h] mov [L006BB3A6],cl mov edx,[eax+000000B0h] mov al,[edx+000000E8h] mov [L006BB3A7],al mov eax,[ebx+00000098h] add eax,000000ECh xor edi,edi mov [ebx+04h],eax mov edx,[L006BD2D4] mov [ebp-10h],eax L00410C57: mov esi,[edx] test esi,esi jz L00410C8D L00410C5D: mov bl,[eax] mov cl,bl cmp bl,[esi] jnz L00410C81 test cl,cl jz L00410C7D mov bl,[eax+01h] mov cl,bl cmp bl,[esi+01h] jnz L00410C81 add eax,00000002h add esi,00000002h test cl,cl jnz L00410C5D L00410C7D: xor eax,eax jmp L00410C86 L00410C81: sbb eax,eax sbb eax,FFFFFFFFh L00410C86: test eax,eax jz L00410C9B mov eax,[ebp-10h] L00410C8D: cmp edi,[L006BD2D0] jge L00410C9B inc edi add edx,00000004h jmp L00410C57 L00410C9B: mov ecx,[L006BD2D8] xor ebx,ebx xor eax,eax mov esi,00000005h mov dl,[ecx+edi*4] mov ecx,[L00669644] mov [L006BB3AC],dl lea edx,[ecx+0000009Ch] L00410CBF: mov ecx,[edx] cmp ecx,ebx jl L00410CCE mov edi,00000001h shl edi,cl or eax,edi L00410CCE: add edx,00000004h dec esi jnz L00410CBF xor ecx,ecx test al,01h jz L00410CE1 L00410CDA: sar eax,1 inc ecx test al,01h jnz L00410CDA L00410CE1: mov eax,[L004C4DE0] mov [L006BD428],ecx push eax mov ecx,L006BB1C8 mov word ptr [L006BB5B4],005Ah mov word ptr [L006BB5B8],0225h call SUB_L00455EC0 mov edi,eax or ecx,FFFFFFFFh xor eax,eax lea edx,[ebp-00000084h] repne scasb not ecx sub edi,ecx push L004C40E0 mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb lea ecx,[ebp-00000084h] push ecx call SUB_L0049A7F0 add esp,00000008h cmp eax,ebx jnz L00410D4D call SUB_L00457F90 jmp L00410D8A L00410D4D: push eax call SUB_L0049A580 add esp,00000004h push 0000009Ch call SUB_L0049A820 add esp,00000004h mov [ebp-10h],eax cmp eax,ebx mov [ebp-04h],ebx jz L00410D77 push ebx mov ecx,eax call SUB_L00420BF0 jmp L00410D79 L00410D77: xor eax,eax L00410D79: push 00000001h push ebx mov ecx,eax mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L004415C0 L00410D8A: mov eax,[ebp-14h] pop edi pop esi mov edx,[eax+0000009Ch] mov [edx+68h],ebx mov ecx,[eax+000000A0h] mov [ecx+68h],ebx mov ecx,[ebp-0Ch] mov [eax+68h],ebx mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 L00410DC0: push ebp mov ebp,esp push ecx push esi mov esi,ecx lea eax,[ebp-02h] push 00000002h push eax mov ecx,L006BB1C0 call SUB_L00474B20 lea ecx,[ebp-02h] push ecx mov ecx,[L006BB1CC] call SUB_L0048B170 test esi,esi jz L00410DF2 mov edx,[esi] push 00000001h mov ecx,esi call [edx] L00410DF2: pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 L00410E00: push ebp mov ebp,esp push ecx lea eax,[ebp-02h] push 00000001h push eax mov ecx,L006BB1C0 call SUB_L00474B20 lea ecx,[ebp-02h] push ecx mov ecx,[L006BB1CC] call SUB_L0048B170 mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 L00410E30: push ebp mov ebp,esp push FFFFFFFFh push L004B185B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx push 00006150h mov eax,[esi+000000C8h] mov dword ptr [eax+68h],00000000h call SUB_L0049A820 add esp,00000004h mov [ebp-10h],eax test eax,eax mov dword ptr [ebp-04h],00000000h jz L00410E8E mov ecx,[esi+000000C4h] push 00000000h push 000004CAh push ecx push esi mov ecx,eax call SUB_L00419380 mov esi,eax jmp L00410E90 L00410E8E: xor esi,esi L00410E90: push 00000000h push SSZ004C4878_Alchemist push 00000001h mov ecx,esi mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L0041A260 push 00000000h push SSZ004C4868_Animal_Handler push 00000002h mov ecx,esi call SUB_L0041A260 push 00000000h push SSZ004C485C_Assassin push 00000003h mov ecx,esi call SUB_L0041A260 push 00000000h push SSZ004C4854_Bard push 00000004h mov ecx,esi call SUB_L0041A260 push 00000000h push SSZ004C4848_Blacksmith push 00000005h mov ecx,esi call SUB_L0041A260 push 00000000h push SSZ004C4840_Bowyer push 00000006h mov ecx,esi call SUB_L0041A260 push 00000000h push SSZ004C4838_Healer push 00000007h mov ecx,esi call SUB_L0041A260 push 00000000h push SSZ004C4830_Ranger push 00000008h mov ecx,esi call SUB_L0041A260 push 00000000h push SSZ004C4824_Shepherd push 00000009h mov ecx,esi call SUB_L0041A260 push 00000000h push SSZ004C481C_Thief push 0000000Ah mov ecx,esi call SUB_L0041A260 push 00000000h push SSZ004C4814_Tinker push 0000000Bh mov ecx,esi call SUB_L0041A260 push 00000000h push SSZ004C480C_Trader push 0000000Ch mov ecx,esi call SUB_L0041A260 push 00000000h push SSZ004C4804_Warrior push 0000000Dh mov ecx,esi call SUB_L0041A260 push 00000000h push SSZ004C47FC_Wizard push 0000000Eh mov ecx,esi call SUB_L0041A260 mov ecx,esi call SUB_L0041A2E0 push 00000001h push 00000000h mov ecx,esi call SUB_L004415C0 mov ecx,[ebp-0Ch] mov [L00669630],esi mov fs:[00000000h],ecx pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 4 L00410FA0: push esi mov esi,ecx mov eax,[esi+000000BCh] test eax,eax jle L00410FD2 dec eax mov [esi+000000BCh],eax call SUB_L0041A2E0 mov eax,[esi+000000C0h] mov ecx,[esi+000000BCh] push eax push ecx mov ecx,[esi+00006140h] call SUB_L00412F50 L00410FD2: pop esi retn ;------------------------------------------------------------------------------ Align 16 L00410FE0: push esi mov esi,ecx mov ecx,[esi+000000C0h] mov eax,[esi+000000BCh] dec ecx cmp eax,ecx jge L0041101B inc eax mov ecx,esi mov [esi+000000BCh],eax call SUB_L0041A2E0 mov edx,[esi+000000C0h] mov eax,[esi+000000BCh] mov ecx,[esi+00006140h] push edx push eax call SUB_L00412F50 L0041101B: pop esi retn ;------------------------------------------------------------------------------ Align 4 L00411020: mov eax,[ecx+000000A8h] push esi xor edx,edx mov esi,[eax+000000E8h] test esi,esi setz dl mov [eax+000000E8h],edx mov edx,[ecx+000000A8h] mov eax,[ecx] push edx call [eax+4Ch] pop esi retn ;------------------------------------------------------------------------------ Align 16 L00411050: push ebp mov ebp,esp push FFFFFFFFh push L004B187B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi push edi mov edi,ecx push 00006150h mov eax,[edi+000000C4h] mov dword ptr [eax+68h],00000000h call SUB_L0049A820 add esp,00000004h mov [ebp-10h],eax test eax,eax mov dword ptr [ebp-04h],00000000h jz L004110AF mov ecx,[edi+000000A0h] push 00000000h push 000004CAh push ecx push edi mov ecx,eax call SUB_L00419380 mov esi,eax jmp L004110B1 L004110AF: xor esi,esi L004110B1: push 00000000h push SSZ004C48DC_NONE push 00000000h mov ecx,esi mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L0041A260 push 00000000h push SSZ004C48D4_Short push 0000203Bh mov ecx,esi call SUB_L0041A260 push 00000000h push SSZ004C48CC_Long push 0000203Ch mov ecx,esi call SUB_L0041A260 push 00000000h push SSZ004C48C0_Pony_tail push 0000203Dh mov ecx,esi call SUB_L0041A260 push 00000000h push SSZ004C48B8_Mohawk push 00002044h mov ecx,esi call SUB_L0041A260 push 00000000h push SSZ004C48B0_Pageboy push 00002045h mov ecx,esi call SUB_L0041A260 mov edx,[edi+000000A8h] cmp dword ptr [edx+000000E8h],00000001h jnz L00411149 push 00000000h push SSZ004C48A8_Buns push 00002046h mov ecx,esi call SUB_L0041A260 L00411149: push 00000000h push SSZ004C48A0_Curly push 00002047h mov ecx,esi call SUB_L0041A260 push 00000000h push SSZ004C4894_Receding push 00002048h mov ecx,esi call SUB_L0041A260 push 00000000h push SSZ004C488C_2_Tails push 00002049h mov ecx,esi call SUB_L0041A260 push 00000000h push SSZ004C4884_Topknot push 0000204Ah mov ecx,esi call SUB_L0041A260 mov ecx,esi call SUB_L0041A2E0 push 00000001h push 00000000h mov ecx,esi call SUB_L004415C0 mov ecx,[ebp-0Ch] mov [L00669630],esi pop edi mov fs:[00000000h],ecx pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 4 L004111C0: push ebp mov ebp,esp push FFFFFFFFh push L004B189B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx push 00006150h mov eax,[esi+000000C8h] mov dword ptr [eax+68h],00000000h call SUB_L0049A820 add esp,00000004h mov [ebp-10h],eax test eax,eax mov dword ptr [ebp-04h],00000000h jz L0041121E mov ecx,[esi+000000A4h] push 00000000h push 000004CCh push ecx push esi mov ecx,eax call SUB_L00419380 mov esi,eax jmp L00411220 L0041121E: xor esi,esi L00411220: push 00000000h push SSZ004C48DC_NONE push 00000000h mov ecx,esi mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L0041A260 push 00000000h push SSZ004C4940_Goatee push 00002040h mov ecx,esi call SUB_L0041A260 push 00000000h push SSZ004C4934_Long_beard push 0000203Eh mov ecx,esi call SUB_L0041A260 push 00000000h push SSZ004C4928_Short_beard push 0000203Fh mov ecx,esi call SUB_L0041A260 push 00000000h push SSZ004C491C_Moustache push 00002041h mov ecx,esi call SUB_L0041A260 push 00000000h push SSZ004C4904_Short_beard_moustache push 0000204Bh mov ecx,esi call SUB_L0041A260 push 00000000h push SSZ004C48EC_Long_beard_moustache push 0000204Ch mov ecx,esi call SUB_L0041A260 push 00000000h push SSZ004C48E4_Vandyke push 0000204Dh mov ecx,esi call SUB_L0041A260 mov ecx,esi call SUB_L0041A2E0 push 00000001h push 00000000h mov ecx,esi call SUB_L004415C0 mov ecx,[ebp-0Ch] mov [L00669630],esi mov fs:[00000000h],ecx pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 L004112F0: push ebp mov ebp,esp push FFFFFFFFh push L004B18BB mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx push edi push 00006150h mov eax,[esi+0000009Ch] mov dword ptr [eax+68h],00000000h call SUB_L0049A820 add esp,00000004h mov [ebp-10h],eax test eax,eax mov dword ptr [ebp-04h],00000000h jz L0041134F mov ecx,[esi+00000094h] push 00000000h push 000004CCh push ecx push esi mov ecx,eax call SUB_L00419380 mov edi,eax jmp L00411351 L0041134F: xor edi,edi L00411351: mov eax,[L006BD2B0] xor esi,esi test eax,eax mov dword ptr [ebp-04h],FFFFFFFFh jle L00411395 L00411363: mov edx,[L006BD2B4] mov ecx,[edx+esi*4] test ecx,ecx jz L0041138B call SUB_L0048B880 test eax,eax jnz L0041138B push eax mov eax,[L006BD2B4] mov ecx,[eax+esi*4] push ecx push esi mov ecx,edi call SUB_L0041A260 L0041138B: mov eax,[L006BD2B0] inc esi cmp esi,eax jl L00411363 L00411395: mov ecx,edi call SUB_L0041A2E0 push 00000001h push 00000000h mov ecx,edi call SUB_L004415C0 mov ecx,[ebp-0Ch] mov [L00669630],edi pop edi mov fs:[00000000h],ecx pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 4 L004113C0: push ebp mov ebp,esp push FFFFFFFFh push L004B18DB mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx push edi push 00006150h mov eax,[esi+000000A0h] mov dword ptr [eax+68h],00000000h call SUB_L0049A820 add esp,00000004h mov [ebp-10h],eax test eax,eax mov dword ptr [ebp-04h],00000000h jz L0041141F mov ecx,[esi+00000098h] push 00000000h push 000004CCh push ecx push esi mov ecx,eax call SUB_L00419380 mov edi,eax jmp L00411421 L0041141F: xor edi,edi L00411421: mov eax,[L006BD2D0] xor esi,esi test eax,eax mov dword ptr [ebp-04h],FFFFFFFFh jle L00411455 L00411433: mov edx,[L006BD2D4] mov eax,[edx+esi*4] test eax,eax jz L0041144B push 00000000h push eax push esi mov ecx,edi call SUB_L0041A260 L0041144B: mov eax,[L006BD2D0] inc esi cmp esi,eax jl L00411433 L00411455: mov ecx,edi call SUB_L0041A2E0 push 00000001h push 00000000h mov ecx,edi call SUB_L004415C0 mov ecx,[ebp-0Ch] mov [L00669630],edi pop edi mov fs:[00000000h],ecx pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 4 L00411480: mov eax,[ecx+000000B8h] push ebx push esi push edi mov edi,[eax+10h] mov [L006BD2A4],edi mov edx,[ecx+000000ACh] mov esi,[edx+0000009Ch] mov eax,[edx+2Ch] sub eax,esi mov ebx,[edx+000000A0h] sub ebx,esi lea eax,[eax+eax*4] lea eax,[eax+eax*4] shl eax,02h cdq idiv ebx mov esi,eax mov [L006BD2A8],esi mov ecx,[ecx+000000B0h] mov edx,[ecx+0000009Ch] mov eax,[ecx+2Ch] mov ecx,[ecx+000000A0h] sub eax,edx sub ecx,edx lea eax,[eax+eax*4] lea eax,[eax+eax*4] shl eax,02h cdq idiv ecx mov edx,esi mov ecx,edi push eax mov [L006BD2AC],eax call SUB_L00436500 pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ Align 16 L00411500: mov eax,[ecx+000000B4h] mov dword ptr [eax+10h],00000001h mov eax,[ecx+000000B4h] mov edx,[ecx] push eax call [edx+4Ch] retn ;------------------------------------------------------------------------------ Align 8 L00411520: push ebx push esi mov esi,ecx push edi mov eax,[esi+000000B8h] mov ecx,[eax+10h] mov [L006BD2A4],ecx mov edx,[esi+000000ACh] mov edi,[edx+0000009Ch] mov eax,[edx+2Ch] sub eax,edi mov ebx,[edx+000000A0h] sub ebx,edi lea eax,[eax+eax*4] lea eax,[eax+eax*4] shl eax,02h cdq idiv ebx mov edi,eax mov [L006BD2A8],edi mov eax,[esi+000000B0h] mov edx,[eax+0000009Ch] mov ebx,[eax+000000A0h] mov eax,[eax+2Ch] sub ebx,edx sub eax,edx lea eax,[eax+eax*4] lea eax,[eax+eax*4] shl eax,02h cdq idiv ebx mov edx,edi push eax mov [L006BD2AC],eax call SUB_L00436500 test esi,esi jz L0041159F mov edx,[esi] push 00000001h mov ecx,esi call [edx] L0041159F: pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ Align 16 L004115B0: mov eax,[ecx+000000ACh] mov ecx,[eax+68h] test ecx,ecx jz L004115CE mov ecx,[eax+2Ch] mov edx,[eax+0000009Ch] cmp ecx,edx jle L004115CE dec ecx mov [eax+2Ch],ecx L004115CE: retn ;------------------------------------------------------------------------------ Align 4 L004115D0: mov eax,[ecx+000000ACh] mov ecx,[eax+68h] test ecx,ecx jz L004115EE mov ecx,[eax+2Ch] mov edx,[eax+000000A0h] cmp ecx,edx jge L004115EE inc ecx mov [eax+2Ch],ecx L004115EE: retn ;------------------------------------------------------------------------------ Align 4 L004115F0: mov eax,[ecx+000000B0h] mov ecx,[eax+68h] test ecx,ecx jz L0041160E mov ecx,[eax+2Ch] mov edx,[eax+0000009Ch] cmp ecx,edx jle L0041160E dec ecx mov [eax+2Ch],ecx L0041160E: retn ;------------------------------------------------------------------------------ Align 4 L00411610: mov eax,[ecx+000000B0h] mov ecx,[eax+68h] test ecx,ecx jz L0041162E mov ecx,[eax+2Ch] mov edx,[eax+000000A0h] cmp ecx,edx jge L0041162E inc ecx mov [eax+2Ch],ecx L0041162E: retn ;------------------------------------------------------------------------------ Align 4 L00411630: jmp L0046D750 Align 16 L00411640: push ebp mov ebp,esp sub esp,00000178h push esi mov esi,[ecx+08h] push edi push 00000000h push esi lea eax,[ebp-80h] push SSZ004C44F0__d__d push eax call SUB_L0049AC80 lea edi,[ebp-80h] or ecx,FFFFFFFFh xor eax,eax add esp,00000010h repne scasb not ecx dec ecx lea edx,[ebp-00000178h] push ecx lea ecx,[ebp-80h] push ecx push 00000024h push edx mov ecx,L006BB1C0 call SUB_L00474260 mov ecx,[L006BB1CC] lea eax,[ebp-00000178h] push eax call SUB_L0048B170 mov [L004C7F48],esi pop edi pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 L004116B0: push ebp mov ebp,esp push FFFFFFFFh push L004B18FB mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx push 000000BCh call SUB_L0049A820 add esp,00000004h mov [ebp-10h],eax test eax,eax mov dword ptr [ebp-04h],00000000h jz L0041171A mov ecx,[L004C7F38] mov edx,[esi+1Ch] push edi mov edi,[esi+30h] sub ecx,edi push 00000000h sub ecx,00000014h push esi push ecx mov ecx,[esi+20h] push edx push 000000DCh push edx push ecx push edx mov edx,[esi+2Ch] push edi push edx mov ecx,eax call SUB_L0048DE70 mov esi,eax pop edi jmp L0041171C L0041171A: xor esi,esi L0041171C: mov eax,[esi+1Ch] push SSZ004C4948_gump_background imul eax,[esi+20h] shl eax,1 push eax mov ecx,L00669C8C mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L0044FBD0 push 00000001h push 00000000h mov ecx,esi mov [esi+58h],eax call SUB_L004415C0 mov ecx,[ebp-0Ch] pop esi mov fs:[00000000h],ecx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 L00411760: push ebp mov ebp,esp push FFFFFFFFh push L004B191B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx push 000000BCh call SUB_L0049A820 add esp,00000004h mov [ebp-10h],eax test eax,eax mov dword ptr [ebp-04h],00000000h jz L004117CA mov ecx,[L004C7F38] mov edx,[esi+1Ch] push edi mov edi,[esi+30h] sub ecx,edi push 00000000h sub ecx,00000014h push esi push ecx mov ecx,[esi+20h] push edx push 000000DCh push edx push ecx push edx mov edx,[esi+2Ch] push edi push edx mov ecx,eax call SUB_L0048DE70 mov esi,eax pop edi jmp L004117CC L004117CA: xor esi,esi L004117CC: mov eax,[esi+20h] push SSZ004C4948_gump_background imul eax,[esi+1Ch] shl eax,1 push eax mov ecx,L00669C8C mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L0044FBD0 push 00000001h push 00000000h mov ecx,esi mov [esi+58h],eax call SUB_L004415C0 mov ecx,[ebp-0Ch] pop esi mov fs:[00000000h],ecx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 L00411810: push ebp mov ebp,esp push FFFFFFFFh push L004B193B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx push 000000BCh call SUB_L0049A820 add esp,00000004h mov [ebp-10h],eax test eax,eax mov dword ptr [ebp-04h],00000000h jz L0041187A mov ecx,[L004C7F38] mov edx,[esi+1Ch] push edi mov edi,[esi+30h] sub ecx,edi push 00000000h sub ecx,00000014h push esi push ecx mov ecx,[esi+20h] push edx push 00000104h push edx push ecx push edx mov edx,[esi+2Ch] push edi push edx mov ecx,eax call SUB_L0048DE70 mov esi,eax pop edi jmp L0041187C L0041187A: xor esi,esi L0041187C: mov eax,[esi+20h] push SSZ004C4948_gump_background imul eax,[esi+1Ch] shl eax,1 push eax mov ecx,L00669C8C mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L0044FBD0 push 00000001h push 00000000h mov ecx,esi mov [esi+58h],eax call SUB_L004415C0 mov ecx,[ebp-0Ch] pop esi mov fs:[00000000h],ecx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 L004118C0: push ebp mov ebp,esp push FFFFFFFFh push L004B195B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx push 000000BCh call SUB_L0049A820 add esp,00000004h mov [ebp-10h],eax test eax,eax mov dword ptr [ebp-04h],00000000h jz L0041192D mov edx,[esi+30h] mov ecx,[L004C7F38] push edi mov edi,[esi+2Ch] push 00000000h sub ecx,edx push esi push ecx mov ecx,[L004C7F34] sub ecx,edi push ecx mov ecx,[esi+20h] push 00000062h push 0000005Dh push ecx mov ecx,[esi+1Ch] push ecx push edx push edi mov ecx,eax call SUB_L0048DE70 mov esi,eax pop edi jmp L0041192F L0041192D: xor esi,esi L0041192F: mov edx,[esi+20h] push SSZ004C4948_gump_background imul edx,[esi+1Ch] shl edx,1 push edx mov ecx,L00669C8C mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L0044FBD0 push 00000001h push 00000000h mov ecx,esi mov [esi+58h],eax call SUB_L004415C0 mov ecx,[ebp-0Ch] pop esi mov fs:[00000000h],ecx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 L00411970: push ebp mov ebp,esp push FFFFFFFFh push L004B197B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi push edi mov esi,ecx push 000000BCh call SUB_L0049A820 mov edi,eax add esp,00000004h mov [ebp-10h],edi test edi,edi mov dword ptr [ebp-04h],00000000h jz L004119E8 mov eax,[esi+20h] mov ecx,[esi+1Ch] push 00000001h sub eax,00000008h push esi sub ecx,0000003Ch push eax push ecx push 00000050h push 00000027h mov ecx,esi call SUB_L00423830 add eax,00000004h mov ecx,esi push eax call SUB_L00423810 mov edx,[esi+30h] add eax,00000005h push eax mov eax,[esi+2Ch] push edx push eax mov ecx,edi call SUB_L0048DE70 mov esi,eax jmp L004119EA L004119E8: xor esi,esi L004119EA: mov ecx,[esi+1Ch] push SSZ004C4948_gump_background imul ecx,[esi+20h] shl ecx,1 push ecx mov ecx,L00669C8C mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L0044FBD0 push 00000001h push 00000000h mov ecx,esi mov [esi+58h],eax call SUB_L004415C0 mov ecx,[ebp-0Ch] pop edi mov fs:[00000000h],ecx pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 L00411A30: mov edx,[ecx+08h] mov eax,[ecx] push edx call [eax+70h] retn ;------------------------------------------------------------------------------ Align 8 SUB_L00411A40: push ebp mov ebp,esp sub esp,00000028h push esi mov esi,ecx push edi or ecx,FFFFFFFFh mov edi,[esi+00000098h] inc edi mov eax,edi mov [esi+00000098h],edi mov edi,[L004C4DE0+eax*4] xor eax,eax repne scasb not ecx dec ecx jz L00411ACE L00411A6C: mov eax,[esi+00000098h] or ecx,FFFFFFFFh mov edx,[L004C4DE0+eax*4] xor eax,eax mov edi,edx repne scasb not ecx dec ecx cmp ecx,00000001h jz L00411AE5 mov ecx,[esi+38h] push edx mov edi,[ecx+04h] mov ecx,L006BB1C8 call SUB_L00455EC0 mov ecx,eax mov edx,edi call SUB_L00444A50 test eax,eax jnz L00411B86 mov edi,[esi+00000098h] or ecx,FFFFFFFFh inc edi mov eax,edi mov [esi+00000098h],edi mov edi,[L004C4DE0+eax*4] xor eax,eax repne scasb not ecx dec ecx jnz L00411A6C L00411ACE: test esi,esi jz L00411ADA mov edx,[esi] push 00000001h mov ecx,esi call [edx] L00411ADA: call SUB_L00457F90 pop edi pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00411AE5: mov eax,[esi+00000098h] mov ecx,[L004C4DE0+eax*4] mov al,[ecx] cmp al,31h jnz L00411B17 mov edx,[L00669658] mov eax,[edx+0000009Ch] lea edx,[ebp-28h] mov ecx,[eax+000000E8h] inc ecx push ecx push SSZ004C4958_tutorial_skill_02d_tga push edx jmp L00411B56 L00411B17: cmp al,32h jnz L00411B39 mov eax,[L00669658] mov ecx,[eax+000000A0h] lea eax,[ebp-28h] mov edx,[ecx+000000E8h] inc edx push edx push SSZ004C4958_tutorial_skill_02d_tga push eax jmp L00411B56 L00411B39: mov ecx,[L00669658] mov edx,[ecx+000000A4h] lea ecx,[ebp-28h] mov eax,[edx+000000E8h] inc eax push eax push SSZ004C4958_tutorial_skill_02d_tga push ecx L00411B56: call SUB_L0049AC80 mov edx,[esi+38h] add esp,0000000Ch lea eax,[ebp-28h] mov ecx,L006BB1C8 mov edi,[edx+04h] push eax call SUB_L00455EC0 mov ecx,eax mov edx,edi call SUB_L00444A50 test eax,eax jnz L00411B86 mov ecx,esi call SUB_L00411A40 L00411B86: pop edi pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 SUB_L00411B90: push ebp mov ebp,esp sub esp,00000028h push ebx push esi mov esi,ecx push edi mov eax,[esi+00000098h] test eax,eax jle L00411BF4 L00411BA5: mov ecx,[esi+00000098h] xor eax,eax dec ecx mov ebx,ecx mov [esi+00000098h],ecx or ecx,FFFFFFFFh mov edx,[L004C4DE0+ebx*4] mov edi,edx repne scasb not ecx dec ecx cmp ecx,00000001h jz L00411C37 mov eax,[esi+38h] push edx mov ecx,L006BB1C8 mov edi,[eax+04h] call SUB_L00455EC0 mov ecx,eax mov edx,edi call SUB_L00444A50 test eax,eax jnz L00411C30 mov eax,[esi+00000098h] test eax,eax jg L00411BA5 L00411BF4: test esi,esi jz L00411C06 mov edx,[esi] mov edi,00000001h push edi mov ecx,esi call [edx] jmp L00411C0B L00411C06: mov edi,00000001h L00411C0B: mov eax,[L0066965C] mov [eax+68h],edi mov ecx,[L0066965C] mov edx,[ecx+0000009Ch] mov [edx+68h],edi mov eax,[L0066965C] mov ecx,[eax+000000A0h] mov [ecx+68h],edi L00411C30: pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00411C37: mov ecx,[L004C4DE0+ebx*4] mov al,[ecx] cmp al,31h jnz L00411C63 mov edx,[L00669658] mov eax,[edx+0000009Ch] lea edx,[ebp-28h] mov ecx,[eax+000000E8h] inc ecx push ecx push SSZ004C4958_tutorial_skill_02d_tga push edx jmp L00411CA2 L00411C63: cmp al,32h jnz L00411C85 mov eax,[L00669658] mov ecx,[eax+000000A0h] lea eax,[ebp-28h] mov edx,[ecx+000000E8h] inc edx push edx push SSZ004C4958_tutorial_skill_02d_tga push eax jmp L00411CA2 L00411C85: mov ecx,[L00669658] mov edx,[ecx+000000A4h] lea ecx,[ebp-28h] mov eax,[edx+000000E8h] inc eax push eax push SSZ004C4958_tutorial_skill_02d_tga push ecx L00411CA2: call SUB_L0049AC80 mov eax,esi add esp,0000000Ch mov ecx,L006BB1C8 mov edx,[eax+38h] lea eax,[ebp-28h] push eax mov edi,[edx+04h] call SUB_L00455EC0 mov ecx,eax mov edx,edi call SUB_L00444A50 test eax,eax jnz L00411C30 mov ecx,esi call SUB_L00411B90 pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 4 L00411CE0: db 85h; ':' db C9h; '‰' db 74h; 't' db 06h; db 8Bh; '<' db 01h; db 6Ah; 'j' db 01h; db FFh; 'ï' db 10h; db E9h; '©' db A1h; 'ö' db 62h; 'b' db 04h; db 00h; db 90h; '?' SUB_L00411CF0: push ebp mov ebp,esp sub esp,00000010h push esi mov esi,ecx push 00000000h push 00000000h mov ax,[esi+000002B0h] mov ecx,[esi+000002ACh] push 00000000h push eax lea edx,[ebp-10h] push ecx push edx mov ecx,L006BB1C0 call SUB_L00475F50 mov ecx,[L006BB1CC] lea eax,[ebp-10h] push eax call SUB_L0048B170 test esi,esi jz L00411D37 mov edx,[esi] push 00000001h mov ecx,esi call [edx] L00411D37: pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 L00411D40: push ebp mov ebp,esp sub esp,00000014h push ebx push esi push edi mov edi,ecx or ebx,FFFFFFFFh mov dword ptr [ebp-04h],00000001h mov esi,[edi+4Ch] test esi,esi jz L00411D8D L00411D5C: mov eax,[esi] mov ecx,esi call [eax+000000E4h] test eax,eax jz L00411D77 mov al,[esi+000000B0h] test al,al jnz L00411D80 inc [ebp-04h] L00411D77: mov esi,[esi+40h] test esi,esi jnz L00411D5C jmp L00411D8D L00411D80: mov ecx,[ebp-04h] xor ebx,ebx mov bx,[edi+ecx*2+000000AAh] L00411D8D: cmp ebx,FFFFFFFFh push 00000000h jz L00411DD8 mov edx,[ebp-04h] mov ax,[edi+000002B0h] mov ecx,[edi+000002ACh] push ebx push edx push eax lea edx,[ebp-14h] push ecx push edx mov ecx,L006BB1C0 call SUB_L00475F50 mov ecx,[L006BB1CC] lea eax,[ebp-14h] push eax call SUB_L0048B170 test edi,edi jz L00411DED mov edx,[edi] push 00000001h mov ecx,edi call [edx] pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00411DD8: push 00000000h push 00000000h push 00000000h push SSZ004C4970_Must_choose_one_to_continue_ mov ecx,L00669608 call SUB_L0043F200 L00411DED: pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 L00411E00: push ebp mov ebp,esp sub esp,00000008h mov eax,[L0054932C] push esi mov esi,ecx push eax lea ecx,[ebp-08h] push ecx mov ecx,L006BB1C0 call SUB_L00474100 mov ecx,[L006BB1CC] lea edx,[ebp-08h] push edx call SUB_L0048B170 test esi,esi jz L00411E38 mov eax,[esi] push 00000001h mov ecx,esi call [eax] L00411E38: pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 4 L00411E40: mov eax,[L00549328] push esi mov esi,ecx push eax mov ecx,L006A9D38 call SUB_L004616C0 test eax,eax jz L00411E5F mov ecx,eax call [L007121D4] L00411E5F: test esi,esi jz L00411E6B mov edx,[esi] push 00000001h mov ecx,esi call [edx] L00411E6B: pop esi retn ;------------------------------------------------------------------------------ Align 4 L00411E70: push ebp mov ebp,esp sub esp,00000008h mov eax,[L006BD2B0] push ebx push esi inc eax push edi mov ebx,ecx push eax mov [ebp-08h],ebx call SUB_L0049A820 mov ecx,[L006BD2B0] mov esi,eax add esp,00000004h xor eax,eax test ecx,ecx jle L00411EA9 L00411E9B: mov [esi+eax],al mov ecx,[L006BD2B0] inc eax cmp eax,ecx jl L00411E9B L00411EA9: lea eax,[ecx-01h] xor edx,edx test eax,eax mov [ebp-04h],edx jle L00411F24 L00411EB5: or eax,FFFFFFFFh cmp edx,ecx mov edi,edx jge L00411EF9 L00411EBE: mov ebx,[L006BD2C0] xor ecx,ecx mov cl,[edi+esi] cmp byte ptr [ecx+ebx],32h jz L00411EEE cmp eax,FFFFFFFFh jz L00411EEC xor edx,edx mov dl,[eax+esi] mov ebx,edx mov edx,[L006BD2C4] mov cl,[ecx+edx] cmp cl,[ebx+edx] mov edx,[ebp-04h] jnc L00411EEE L00411EEC: mov eax,edi L00411EEE: mov ecx,[L006BD2B0] inc edi cmp edi,ecx jl L00411EBE L00411EF9: cmp eax,edx jz L00411F10 cmp eax,FFFFFFFFh jz L00411F10 mov bl,[eax+esi] xor ecx,ecx mov cl,[esi+edx] mov [esi+edx],bl mov [eax+esi],cl L00411F10: mov ecx,[L006BD2B0] inc edx mov [ebp-04h],edx lea eax,[ecx-01h] cmp edx,eax jl L00411EB5 mov ebx,[ebp-08h] L00411F24: xor edi,edi mov [ebx+000000C0h],edi mov eax,[L006BD2B0] test eax,eax jle L00411F64 L00411F35: mov ecx,[L006BD2B4] xor eax,eax mov al,[esi+edi] push 00000000h mov edx,[ecx+eax*4] xor ecx,ecx push edx mov edx,[L006BD2B8] mov cx,[edx+eax*2] push ecx mov ecx,ebx call SUB_L0041A260 mov eax,[L006BD2B0] inc edi cmp edi,eax jl L00411F35 L00411F64: mov eax,[ebx+000000D4h] mov ecx,ebx mov [ebx+000000C8h],eax call SUB_L0041A2E0 push esi call SUB_L0049A810 add esp,00000004h pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 L00411F90: push ebp mov ebp,esp sub esp,00000008h mov eax,[L006BD2B0] push ebx push esi inc eax push edi mov ebx,ecx push eax mov [ebp-08h],ebx call SUB_L0049A820 mov ecx,[L006BD2B0] mov esi,eax add esp,00000004h xor eax,eax test ecx,ecx jle L00411FC9 L00411FBB: mov [esi+eax],al mov ecx,[L006BD2B0] inc eax cmp eax,ecx jl L00411FBB L00411FC9: lea eax,[ecx-01h] xor edx,edx test eax,eax mov [ebp-04h],edx jle L00412044 L00411FD5: or eax,FFFFFFFFh cmp edx,ecx mov edi,edx jge L00412019 L00411FDE: mov ebx,[L006BD2C0] xor ecx,ecx mov cl,[edi+esi] cmp byte ptr [ecx+ebx],32h jz L0041200E cmp eax,FFFFFFFFh jz L0041200C xor edx,edx mov dl,[eax+esi] mov ebx,edx mov edx,[L006BD2BC] mov cl,[ecx+edx] cmp cl,[ebx+edx] mov edx,[ebp-04h] jnc L0041200E L0041200C: mov eax,edi L0041200E: mov ecx,[L006BD2B0] inc edi cmp edi,ecx jl L00411FDE L00412019: cmp eax,edx jz L00412030 cmp eax,FFFFFFFFh jz L00412030 mov bl,[eax+esi] xor ecx,ecx mov cl,[esi+edx] mov [esi+edx],bl mov [eax+esi],cl L00412030: mov ecx,[L006BD2B0] inc edx mov [ebp-04h],edx lea eax,[ecx-01h] cmp edx,eax jl L00411FD5 mov ebx,[ebp-08h] L00412044: xor edi,edi mov [ebx+000000C0h],edi mov eax,[L006BD2B0] test eax,eax jle L00412084 L00412055: mov ecx,[L006BD2B4] xor eax,eax mov al,[esi+edi] push 00000000h mov edx,[ecx+eax*4] xor ecx,ecx push edx mov edx,[L006BD2B8] mov cx,[edx+eax*2] push ecx mov ecx,ebx call SUB_L0041A260 mov eax,[L006BD2B0] inc edi cmp edi,eax jl L00412055 L00412084: mov eax,[ebx+000000D4h] mov ecx,ebx mov [ebx+000000CCh],eax call SUB_L0041A2E0 push esi call SUB_L0049A810 add esp,00000004h pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 L004120B0: push ebp mov ebp,esp sub esp,00000008h push ebx push esi mov ebx,ecx push edi mov [ebp-08h],ebx call SUB_L00477900 mov eax,[L006BD2B0] inc eax push eax call SUB_L0049A820 mov ecx,[L006BD2B0] mov esi,eax add esp,00000004h xor eax,eax test ecx,ecx jle L004120EE L004120E0: mov [esi+eax],al mov ecx,[L006BD2B0] inc eax cmp eax,ecx jl L004120E0 L004120EE: lea eax,[ecx-01h] xor edx,edx test eax,eax mov [ebp-04h],edx jle L0041216B L004120FA: or eax,FFFFFFFFh cmp edx,ecx mov edi,edx jge L00412140 L00412103: mov ebx,[L006BD2C0] xor ecx,ecx mov cl,[edi+esi] cmp byte ptr [ecx+ebx],32h jz L00412135 cmp eax,FFFFFFFFh jz L00412133 xor edx,edx mov dl,[eax+esi] mov ebx,edx mov edx,[L006BD2C8] mov cx,[edx+ecx*2] cmp cx,[edx+ebx*2] mov edx,[ebp-04h] jnc L00412135 L00412133: mov eax,edi L00412135: mov ecx,[L006BD2B0] inc edi cmp edi,ecx jl L00412103 L00412140: cmp eax,edx jz L00412157 cmp eax,FFFFFFFFh jz L00412157 mov bl,[eax+esi] xor ecx,ecx mov cl,[esi+edx] mov [esi+edx],bl mov [eax+esi],cl L00412157: mov ecx,[L006BD2B0] inc edx mov [ebp-04h],edx lea eax,[ecx-01h] cmp edx,eax jl L004120FA mov ebx,[ebp-08h] L0041216B: xor edi,edi mov [ebx+000000C0h],edi mov eax,[L006BD2B0] test eax,eax jle L004121AB L0041217C: mov ecx,[L006BD2B4] xor eax,eax mov al,[esi+edi] push 00000000h mov edx,[ecx+eax*4] xor ecx,ecx push edx mov edx,[L006BD2B8] mov cx,[edx+eax*2] push ecx mov ecx,ebx call SUB_L0041A260 mov eax,[L006BD2B0] inc edi cmp edi,eax jl L0041217C L004121AB: mov eax,[ebx+000000D4h] mov ecx,ebx mov [ebx+000000D0h],eax call SUB_L0041A2E0 push esi call SUB_L0049A810 add esp,00000004h pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 4 L004121D0: push ebp mov ebp,esp sub esp,00000110h push esi mov esi,ecx mov eax,[esi+000000A0h] cmp byte ptr [eax+000000E4h],01h jnz L00412205 mov ecx,[eax+000000E8h] add eax,000000ECh push ecx push L004C43EC push eax call SUB_L0049AC80 add esp,0000000Ch L00412205: mov edx,[esi+000000A0h] mov ax,[esi+0000009Ch] mov ecx,[esi+00000098h] add edx,000000ECh push edx push 00000001h push eax lea edx,[ebp-00000110h] push ecx push edx mov ecx,L006BB1C0 call SUB_L00476C70 mov ecx,[L006BB1CC] lea eax,[ebp-00000110h] push eax call SUB_L0048B170 test esi,esi jz L00412252 mov edx,[esi] push 00000001h mov ecx,esi call [edx] L00412252: pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 L00412260: push ebp mov ebp,esp sub esp,00000110h push esi mov esi,ecx mov eax,[esi+000000A0h] cmp byte ptr [eax+000000E4h],01h jnz L00412295 mov ecx,[eax+000000E8h] add eax,000000ECh push ecx push L004C43EC push eax call SUB_L0049AC80 add esp,0000000Ch L00412295: mov edx,[esi+000000A0h] mov ax,[esi+0000009Ch] mov ecx,[esi+00000098h] add edx,000000ECh push edx push 00000000h push eax lea edx,[ebp-00000110h] push ecx push edx mov ecx,L006BB1C0 call SUB_L00476C70 mov ecx,[L006BB1CC] lea eax,[ebp-00000110h] push eax call SUB_L0048B170 test esi,esi jz L004122E2 mov edx,[esi] push 00000001h mov ecx,esi call [edx] L004122E2: pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L004122F0: push ebp mov ebp,esp push FFFFFFFFh push L004B1998 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx push edi mov [ebp-10h],esi call SUB_L00441CB0 mov ecx,[ebp+08h] mov edx,[ebp+0Ch] mov edi,[ebp+24h] mov [esi+2Ch],ecx mov ecx,[ebp+14h] mov [esi+30h],edx mov edx,[ebp+1Ch] mov [esi+00000094h],ecx mov ecx,[ebp+20h] xor eax,eax mov [esi+000000C4h],edx mov edx,[ebp+28h] cmp ecx,eax mov [ebp-04h],eax mov dword ptr [esi],L004B6FC8 mov dword ptr [esi+04h],SSZ004C49DC_Button_gump mov [esi+000000C8h],eax mov [esi+000000B0h],eax mov [esi+000000ACh],eax mov [esi+000000B8h],eax mov [esi+000000BCh],eax mov dword ptr [esi+000000C0h],00000001h mov [esi+50h],ecx mov [esi+000000A0h],edi mov [esi+000000A8h],ax mov [esi+000000A4h],eax mov [esi+000000B4h],edx mov [esi+34h],eax mov [esi+4Ch],eax mov [esi+48h],eax mov [esi+44h],eax mov [esi+40h],eax mov [esi+3Ch],eax jz L004123B1 lea eax,[esi+20h] lea edx,[esi+1Ch] push eax jmp L004123BE L004123B1: cmp edi,eax jz L004123C3 lea ecx,[esi+20h] lea edx,[esi+1Ch] push ecx mov ecx,edi L004123BE: call SUB_L004390A0 L004123C3: mov edx,[esi+1Ch] mov eax,[ebp+18h] push SSZ004C49C0_framedata_for_CButtonGump push 00000010h mov ecx,L00669C8C mov [esi+18h],edx mov [esi+10h],eax mov dword ptr [esi+14h],00000002h call SUB_L0044FBD0 mov ecx,[esi+14h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+38h],edi rep stosd mov ecx,edx and ecx,00000003h rep stosb mov ecx,[ebp-0Ch] mov eax,esi pop edi mov fs:[00000000h],ecx pop esi mov esp,ebp pop ebp retn 0024h ;------------------------------------------------------------------------------ Align 16 L00412420: push ebp mov ebp,esp push esi mov esi,ecx call SUB_L00412590 test byte ptr [ebp+08h],01h jz L0041243A push esi call SUB_L0049A810 add esp,00000004h L0041243A: mov eax,esi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00412450: push ebp mov ebp,esp push FFFFFFFFh push L004B19B8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push esi mov esi,ecx push edi mov [ebp-10h],esi call SUB_L00441CB0 mov ecx,[ebp+1Ch] mov edx,[ebp+08h] mov [esi+00000094h],ecx mov ecx,[ebp+24h] mov [esi+000000C4h],ecx mov ecx,[ebp+28h] mov [esi+000000B4h],ecx mov ecx,[ebp+10h] sub ecx,edx xor eax,eax mov [ebp-04h],eax mov [esi+000000C8h],eax lea edi,[ecx+01h] mov [esi+000000B0h],eax mov [esi+000000B8h],eax mov [esi+000000ACh],eax mov [esi+000000BCh],eax mov [esi+50h],eax mov [esi+000000A0h],eax mov [esi+000000A8h],ax mov [esi+000000A4h],eax mov [esi+34h],eax mov [esi+4Ch],eax mov [esi+48h],eax mov [esi+44h],eax mov [esi+40h],eax mov [esi+3Ch],eax mov eax,edi mov [esi+2Ch],edx mov ebx,[ebp+0Ch] cdq xor eax,edx mov dword ptr [esi],L004B6FC8 sub eax,edx mov dword ptr [esi+04h],SSZ004C49DC_Button_gump and eax,00000001h mov dword ptr [esi+000000C0h],00000001h xor eax,edx mov [esi+30h],ebx sub eax,edx cmp eax,00000001h jnz L00412525 lea eax,[ecx+02h] mov [esi+18h],eax mov [esi+1Ch],eax jmp L0041252B L00412525: mov [esi+18h],edi mov [esi+1Ch],edi L0041252B: mov edx,[ebp+14h] mov eax,[ebp+20h] sub edx,ebx push SSZ004C49C0_framedata_for_CButtonGump inc edx push 00000010h mov ecx,L00669C8C mov [esi+20h],edx mov [esi+10h],eax mov dword ptr [esi+14h],00000002h call SUB_L0044FBD0 mov ecx,[esi+14h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+38h],edi rep stosd mov ecx,edx and ecx,00000003h rep stosb mov ecx,[ebp-0Ch] mov eax,esi pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0024h ;------------------------------------------------------------------------------ Align 16 SUB_L00412590: push ebp mov ebp,esp push FFFFFFFFh push L004B19D8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx push edi mov [ebp-10h],esi mov dword ptr [esi],L004B6FC8 mov eax,[esi+38h] xor edi,edi mov [ebp-04h],edi mov eax,[eax+04h] cmp eax,edi jz L004125DB push SSZ004C4A18_ButtonGump_frame0_pBMP push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov ecx,[esi+38h] mov [ecx+04h],edi L004125DB: mov edx,[esi+38h] mov eax,[edx+0Ch] cmp eax,edi jz L004125FB push SSZ004C4A00_ButtonGump_frame1_pBMP push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov eax,[esi+38h] mov [eax+0Ch],edi L004125FB: mov eax,[esi+38h] cmp eax,edi jz L00412615 push SSZ004C49E8_ButtonGump_framedata push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov [esi+38h],edi L00412615: mov ecx,esi mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00441D50 mov ecx,[ebp-0Ch] pop edi mov fs:[00000000h],ecx pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 L00412640: push ebp mov ebp,esp push esi mov esi,ecx mov ecx,[esi+48h] test ecx,ecx jz L0041265E push 00000000h call SUB_L00441340 mov eax,[esi+48h] mov dword ptr [eax+0Ch],00000000h L0041265E: mov eax,[esi+000000B0h] mov ecx,00000001h test eax,eax mov [esi+000000C8h],ecx jnz L004126BD mov eax,[esi+00000094h] sub eax,00000000h jz L004126BA sub eax,00000002h jnz L004126BD mov eax,[esi+000000ACh] mov [esi+10h],ecx test eax,eax jz L0041269C mov ecx,[esi+48h] mov edx,[esi+0000009Ch] mov [ecx+08h],edx L0041269C: mov eax,[esi+000000C4h] test eax,eax jz L004126AB mov ecx,[esi+48h] call eax L004126AB: mov dword ptr [esi+00000098h],00000005h pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ L004126BA: mov [esi+10h],ecx L004126BD: pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 L004126D0: push ebp mov ebp,esp push esi mov esi,ecx xor ecx,ecx mov [esi+000000C8h],ecx mov [L006A9DD4],ecx mov eax,[esi+48h] cmp eax,ecx jz L004126EE mov [eax+0Ch],ecx L004126EE: cmp [esi+000000B0h],ecx jnz L0041277A mov eax,[esi+00000094h] sub eax,ecx jz L00412752 dec eax jz L00412712 dec eax jnz L0041277A mov [esi+10h],ecx pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ L00412712: mov edx,[esi+10h] xor eax,eax cmp edx,ecx setz al mov [esi+10h],eax mov eax,[esi+000000ACh] cmp eax,ecx jz L00412735 mov edx,[esi+48h] mov eax,[esi+0000009Ch] mov [edx+08h],eax L00412735: mov eax,[esi+000000C4h] cmp eax,ecx jz L00412744 mov ecx,[esi+48h] call eax L00412744: mov ecx,[esi+48h] push esi mov edx,[ecx] call [edx+4Ch] pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ L00412752: mov eax,[esi+000000ACh] mov [esi+10h],ecx cmp eax,ecx jz L0041276B mov eax,[esi+48h] mov edx,[esi+0000009Ch] mov [eax+08h],edx L0041276B: mov eax,[esi+000000C4h] cmp eax,ecx jz L0041277A mov ecx,[esi+48h] call eax L0041277A: pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 4 L00412780: push ebp mov ebp,esp mov dword ptr [ecx+000000BCh],00000001h push 00000000h mov ecx,L006BB1C8 call SUB_L0049A010 pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 4 L004127A0: db C7h; '‡' db 81h; '?' db BCh; '?' db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db C3h; 'ƒ' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' L004127B0: db 8Bh; '<' db C1h; '' db 8Bh; '<' db 88h; '?' db C8h; 'ˆ' db 00h; db 00h; db 00h; db 85h; ':' db C9h; '‰' db 74h; 't' db 1Ah; db 83h; '?' db B8h; 'ñ' db 94h; '"' db 00h; db 00h; db 00h; db 02h; db 75h; 'u' db 11h; db 8Bh; '<' db 88h; '?' db 98h; '?' db 00h; db 00h; db 00h; db 85h; ':' db C9h; '‰' db 7Eh; '~' db 08h; db 49h; 'I' db 89h; '%' db 88h; '?' db 98h; '?' db 00h; db 00h; db 00h; db C3h; 'ƒ' db 8Bh; '<' db 88h; '?' db ACh; '¿' db 00h; db 00h; db 00h; db 85h; ':' db C9h; '‰' db 74h; 't' db 0Ch; db 8Bh; '<' db 48h; 'H' db 48h; 'H' db 8Bh; '<' db 90h; '?' db 9Ch; '?' db 00h; db 00h; db 00h; db 89h; '%' db 51h; 'Q' db 08h; db 8Bh; '<' db 48h; 'H' db 48h; 'H' db FFh; 'ï' db A0h; 'ÿ' db C4h; '„' db 00h; db 00h; db 00h; db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' L00412800: push ebp mov ebp,esp sub esp,00000018h push esi mov esi,ecx push edi mov eax,[esi+68h] test eax,eax jz L004129DD lea eax,[ebp-04h] lea ecx,[ebp-08h] push eax push ecx mov ecx,esi mov dword ptr [ebp-08h],00000000h mov dword ptr [ebp-04h],00000000h call SUB_L00440C60 mov eax,[ebp-08h] mov edx,[esi+1Ch] mov ecx,[ebp-04h] mov edi,[ebp+08h] mov [ebp-18h],eax add edx,eax mov eax,[esi+20h] mov [ebp-14h],ecx add eax,ecx lea ecx,[ebp-18h] push ecx push edi mov ecx,L00669608 mov [ebp-10h],edx mov [ebp-0Ch],eax call SUB_L00440D40 test eax,eax jz L004129DD mov eax,[esi+000000B8h] test eax,eax jz L004128BC mov edx,[esi+10h] mov eax,[esi+38h] mov ecx,[L004C7F38] mov eax,[eax+edx*8+04h] mov edx,[L004C7F34] push ecx mov ecx,[L006BAE7C] push edx mov edx,[ebp-04h] push ecx mov ecx,[ebp-08h] push edx push ecx xor edx,edx xor ecx,ecx mov dx,[eax+02h] mov cx,[eax] push edx push ecx push edi lea edx,[eax+04h] mov ecx,SUB_L00488700 call SUB_L00439500 pop edi pop esi mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L004128BC: cmp dword ptr [esi+10h],00000001h jnz L0041294C mov edx,[esi+000000A0h] test edx,edx jz L004129DD mov eax,[esi+000000B0h] test eax,eax jz L0041291D mov edx,[L004C7F38] mov eax,[L004C7F34] mov ecx,[L006BAE7C] push edx mov edx,[ebp-04h] push eax mov eax,[ebp-08h] push ecx push edx mov dword ptr [L0076735C],000003C0h mov edx,[esi+000000A0h] push eax push edi mov ecx,SUB_L004887E0 call SUB_L00439290 pop edi pop esi mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L0041291D: mov ecx,[L004C7F38] mov eax,[L004C7F34] push ecx mov ecx,[L006BAE7C] push eax mov eax,[ebp-04h] push ecx mov ecx,[ebp-08h] push eax push ecx push edi mov ecx,SUB_L00488700 call SUB_L00439290 pop edi pop esi mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L0041294C: mov eax,[esi+000000BCh] test eax,eax jz L0041296A mov edx,[esi+000000A4h] test edx,edx jz L0041296A mov eax,[esi+000000B0h] test eax,eax jz L004129B7 L0041296A: mov edx,[esi+50h] test edx,edx jz L004129DD mov eax,[esi+000000B0h] test eax,eax jz L004129B7 mov ecx,[L004C7F38] mov edx,[L004C7F34] mov eax,[L006BAE7C] push ecx mov ecx,[ebp-04h] push edx mov edx,[ebp-08h] push eax push ecx mov dword ptr [L0076735C],000003C0h push edx mov edx,[esi+50h] push edi mov ecx,SUB_L004887E0 call SUB_L00439290 pop edi pop esi mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L004129B7: mov eax,[L004C7F38] mov ecx,[L004C7F34] push eax mov eax,[L006BAE7C] push ecx mov ecx,[ebp-04h] push eax mov eax,[ebp-08h] push ecx push eax push edi mov ecx,SUB_L00488700 call SUB_L00439290 L004129DD: pop edi pop esi mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 L004129F0: push ebp mov ebp,esp mov eax,[ecx+68h] push esi test eax,eax jz L00412A49 mov edx,[ebp+08h] test edx,edx jl L00412A49 mov eax,[ebp+0Ch] test eax,eax jl L00412A49 cmp edx,[ecx+1Ch] jge L00412A49 cmp eax,[ecx+20h] jge L00412A49 mov esi,[ecx+000000C0h] test esi,esi jnz L00412A27 mov eax,00000001h pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ L00412A27: mov esi,[ecx+000000B8h] test esi,esi jnz L00412A3F mov ecx,[ecx+50h] push eax call SUB_L00439630 test ax,ax jz L00412A49 L00412A3F: mov eax,00000001h pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ L00412A49: xor eax,eax pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ SUB_L00412A50: push ebp mov ebp,esp push FFFFFFFFh push L004B19F8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push esi mov esi,ecx push edi mov [ebp-10h],esi call SUB_L00441CB0 mov ecx,[ebp+1Ch] lea eax,[esi+20h] lea ebx,[esi+1Ch] xor edi,edi push eax mov edx,ebx mov [ebp-04h],edi mov dword ptr [esi],L004B7110 mov dword ptr [esi+04h],SSZ004C4A4C_Thumb_gump mov [esi+000000B0h],edi mov [esi+00000098h],edi mov [esi+50h],ecx mov [esi+000000ACh],di mov [esi+34h],edi mov [esi+4Ch],edi mov [esi+48h],edi mov [esi+44h],edi mov [esi+40h],edi mov [esi+3Ch],edi call SUB_L004390A0 mov edx,[ebp+10h] mov ebx,[ebx] mov eax,[ebp+08h] mov ecx,[ebp+0Ch] cmp edx,edi mov [esi+18h],ebx mov [esi+10h],edi mov dword ptr [esi+14h],00000001h mov [esi+2Ch],eax mov [esi+30h],ecx mov [esi+00000094h],edx mov [esi+0000009Ch],eax jz L00412B0B mov [esi+000000A0h],eax mov eax,[ebp+14h] mov [esi+000000A4h],ecx mov ecx,[esi+20h] sub eax,ecx mov [esi+000000A8h],eax jmp L00412B22 L00412B0B: mov edx,[ebp+14h] mov [esi+000000A4h],ecx sub edx,ebx mov [esi+000000A8h],ecx mov [esi+000000A0h],edx L00412B22: push SSZ004C4A30_framedata_for_CThumbGump push 00000008h mov ecx,L00669C8C call SUB_L0044FBD0 mov ecx,[esi+14h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+38h],edi rep stosd mov ecx,edx and ecx,00000003h rep stosb mov ecx,[ebp-0Ch] mov eax,esi pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0018h ;------------------------------------------------------------------------------ Align 16 L00412B70: push ebp mov ebp,esp push esi mov esi,ecx call SUB_L00412BA0 test byte ptr [ebp+08h],01h jz L00412B8A push esi call SUB_L0049A810 add esp,00000004h L00412B8A: mov eax,esi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00412BA0: mov dword ptr [ecx],L004B7110 jmp SUB_L00441D50 Align 8 L00412BB0: push ebp mov ebp,esp mov edx,[ebp+0Ch] mov ecx,[ecx+48h] push edx mov edx,[ebp+08h] mov eax,[ecx] push edx call [eax+1Ch] pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 L00412BD0: push ebp mov ebp,esp mov edx,[ebp+0Ch] mov ecx,[ecx+48h] push edx mov edx,[ebp+08h] mov eax,[ecx] push edx call [eax+20h] pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 L00412BF0: push ebp mov ebp,esp mov eax,[ebp+08h] mov edx,[ebp+0Ch] mov dword ptr [ecx+000000B0h],00000001h mov [ecx+6Ch],eax mov [ecx+70h],edx pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 4 L00412C10: push ebp mov ebp,esp mov eax,ecx push esi xor ecx,ecx push edi mov [eax+000000B0h],ecx mov [L006A9DD4],ecx mov edx,[eax+00000094h] cmp edx,ecx mov ecx,[eax+48h] jz L00412C53 mov edx,[eax+000000A4h] mov edi,[eax+000000A8h] mov esi,[ecx] push eax mov eax,[eax+30h] sub edi,edx sub eax,edx push edi push eax call [esi+38h] pop edi pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ L00412C53: mov edx,[eax+0000009Ch] mov edi,[eax+000000A0h] mov esi,[ecx] push eax mov eax,[eax+2Ch] sub edi,edx sub eax,edx push edi push eax call [esi+38h] pop edi pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 L00412C80: push ebp mov ebp,esp push esi mov esi,ecx push 00000000h mov ecx,L006BB1C8 call SUB_L0049A010 mov dword ptr [esi+00000098h],00000001h pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 L00412CB0: db C7h; '‡' db 81h; '?' db 98h; '?' db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db C3h; 'ƒ' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' L00412CC0: push ebp mov ebp,esp push ebx push esi mov esi,ecx push edi mov eax,[esi+000000B0h] test eax,eax jz L00412D7D mov ecx,[ebp+08h] mov eax,[esi+6Ch] mov edx,[esi+70h] mov ebx,[esi+30h] mov edi,[esi+2Ch] sub ecx,eax mov eax,[ebp+0Ch] add ecx,edi sub eax,edx mov edx,[esi+000000A4h] add eax,ebx cmp eax,edx jge L00412CFC mov eax,edx L00412CFC: mov edx,[esi+000000A8h] cmp eax,edx jle L00412D08 mov eax,edx L00412D08: mov edx,[esi+0000009Ch] cmp ecx,edx jge L00412D14 mov ecx,edx L00412D14: mov edx,[esi+000000A0h] cmp ecx,edx jle L00412D20 mov ecx,edx L00412D20: push 00000001h push 00000000h sub eax,ebx push 00000001h sub ecx,edi push eax push ecx mov ecx,esi call SUB_L00440850 mov eax,[esi+00000094h] mov ecx,[esi+48h] test eax,eax jz L00412D62 mov eax,[esi+000000A4h] mov edi,[esi+000000A8h] mov edx,[ecx] push esi mov esi,[esi+30h] sub edi,eax sub esi,eax push edi push esi call [edx+34h] pop edi pop esi pop ebx pop ebp retn 0008h ;------------------------------------------------------------------------------ L00412D62: mov eax,[esi+0000009Ch] mov edi,[esi+000000A0h] mov edx,[ecx] push esi mov esi,[esi+2Ch] sub edi,eax sub esi,eax push edi push esi call [edx+34h] L00412D7D: pop edi pop esi pop ebx pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 L00412D90: push ebp mov ebp,esp sub esp,00000018h push esi mov esi,ecx push edi mov eax,[esi+68h] test eax,eax jz L00412E68 lea eax,[ebp-04h] lea ecx,[ebp-08h] push eax push ecx mov ecx,esi mov dword ptr [ebp-08h],00000000h mov dword ptr [ebp-04h],00000000h call SUB_L00440C60 mov eax,[ebp-08h] mov edx,[esi+1Ch] mov ecx,[ebp-04h] mov edi,[ebp+08h] mov [ebp-18h],eax add edx,eax mov eax,[esi+20h] mov [ebp-14h],ecx add eax,ecx lea ecx,[ebp-18h] push ecx push edi mov ecx,L00669608 mov [ebp-10h],edx mov [ebp-0Ch],eax call SUB_L00440D40 test eax,eax jz L00412E68 mov eax,[esi+00000098h] test eax,eax jz L00412E3E mov dx,[esi+000000ACh] test dx,dx jz L00412E3E mov eax,[L004C7F38] mov ecx,[L004C7F34] push eax mov eax,[L006BAE7C] push ecx mov ecx,[ebp-04h] push eax mov eax,[ebp-08h] push ecx push eax push edi and edx,0000FFFFh mov ecx,SUB_L00488700 call SUB_L00439290 pop edi pop esi mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L00412E3E: mov ecx,[L004C7F38] mov edx,[L004C7F34] mov eax,[L006BAE7C] push ecx mov ecx,[ebp-04h] push edx mov edx,[ebp-08h] push eax push ecx push edx mov edx,[esi+50h] push edi mov ecx,SUB_L00488700 call SUB_L00439290 L00412E68: pop edi pop esi mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ SUB_L00412E70: push ebp mov ebp,esp sub esp,00000018h mov edx,[ecx+48h] push ebx push esi mov esi,[L006693FC] mov ebx,[edx+000000B0h] mov eax,[edx+000000C8h] push edi mov edi,[edx+000000B8h] sub edi,ebx xor ebx,ebx inc edi cmp esi,eax mov [ebp-10h],ecx mov [ebp-08h],edx jz L00412EDA L00412EA3: lea eax,[ebp-14h] push 00000002h lea ecx,[ebp-04h] push eax mov eax,[esi] lea edx,[ebp-18h] push ecx push edx push edi push eax push 00000000h mov ecx,L00669CC8 call SUB_L00437B40 mov ecx,[ebp-04h] mov esi,[esi+18h] add ebx,ecx mov ecx,[ebp-08h] cmp esi,[ecx+000000C8h] jnz L00412EA3 mov ecx,[ebp-10h] mov edx,[ebp-08h] L00412EDA: test esi,esi mov [ebp-0Ch],ebx jz L00412F17 L00412EE1: lea edx,[ebp-14h] push 00000002h lea eax,[ebp-04h] push edx mov edx,[esi] lea ecx,[ebp-18h] push eax push ecx push edi push edx push 00000000h mov ecx,L00669CC8 call SUB_L00437B40 mov eax,[ebp-04h] mov ecx,[ebp-0Ch] mov esi,[esi+18h] add ecx,eax test esi,esi mov [ebp-0Ch],ecx jnz L00412EE1 mov ecx,[ebp-10h] mov edx,[ebp-08h] L00412F17: mov esi,[ecx+000000A4h] mov eax,[ecx+000000A8h] mov [ecx+30h],esi mov edx,[edx+000000CCh] sub eax,esi add edx,ebx inc eax pop edi imul eax,edx cdq idiv [ebp-0Ch] add eax,esi pop esi mov [ecx+30h],eax pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L00412F50: push ebp mov ebp,esp mov eax,[ecx+00000094h] push esi test eax,eax push edi jz L00412F8D mov edi,[ecx+000000A8h] mov esi,[ecx+000000A4h] mov eax,edi mov [ecx+30h],esi sub eax,esi inc eax imul eax,[ebp+08h] cdq idiv [ebp+0Ch] add eax,esi cmp eax,edi mov [ecx+30h],eax jle L00412FB5 mov [ecx+30h],edi pop edi pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ L00412F8D: mov edi,[ecx+000000A0h] mov esi,[ecx+0000009Ch] mov eax,edi mov [ecx+2Ch],esi sub eax,esi inc eax imul eax,[ebp+08h] cdq idiv [ebp+0Ch] add eax,esi cmp eax,edi mov [ecx+2Ch],eax jle L00412FB5 mov [ecx+2Ch],edi L00412FB5: pop edi pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 8 SUB_L00412FC0: push ebp mov ebp,esp push FFFFFFFFh push L004B1A18 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000028h push ebx push esi mov esi,ecx push edi mov [ebp-24h],esi call SUB_L00441CB0 mov eax,[ebp+08h] mov edx,[ebp+18h] mov ecx,[ebp+0Ch] mov [esi+2Ch],eax mov eax,[ebp+2Ch] mov [esi+00000094h],edx mov edx,[ebp+30h] mov [esi+00000098h],eax mov [esi+30h],ecx mov ecx,[ebp+14h] lea eax,[esi+20h] lea ebx,[esi+1Ch] xor edi,edi mov [esi+0000009Ch],edx push eax mov edx,ebx mov [ebp-04h],edi mov dword ptr [esi],L004B7258 mov dword ptr [esi+04h],SSZ004C4C58_ToggleControl_gump mov [esi+5Ch],edi mov [esi+50h],ecx mov [esi+000000A4h],edi mov [esi+000000A0h],edi mov [esi+60h],edi mov [esi+000000B4h],edi mov [esi+000000ACh],edi mov [esi+4Ch],edi mov [esi+48h],edi mov [esi+44h],edi mov [esi+40h],edi mov [esi+3Ch],edi call SUB_L004390A0 mov eax,[ebp+1Ch] lea ecx,[ebp-20h] lea edx,[ebp-1Ch] push ecx push edx mov edx,[ebp+24h] lea ecx,[ebp-18h] and eax,0000FFFFh push ecx push edx push eax mov ecx,L00669CC8 mov [ebp+08h],eax call SUB_L00437A10 mov eax,[ebp-18h] mov ecx,[ebx] add eax,00000004h add ecx,eax mov eax,ecx mov [ebx],ecx cdq xor eax,edx sub eax,edx and eax,00000001h xor eax,edx sub eax,edx cmp eax,00000001h jnz L004130AA inc ecx mov [ebx],ecx L004130AA: push SSZ004C4C34_framedata_for_CToggleControlGump push 00000008h mov ecx,L00669C8C mov [esi+10h],edi mov dword ptr [esi+14h],00000001h call SUB_L0044FBD0 mov ecx,[esi+14h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+38h],edi push SSZ004C4C20_togglectrl_frame0 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+20h] imul eax,[ebx] lea ecx,[eax+eax+04h] push ecx mov ecx,L00669C8C call SUB_L0044FBD0 mov edx,[esi+38h] mov [edx+04h],eax mov ecx,[esi+20h] imul ecx,[ebx] mov edx,[esi+38h] xor eax,eax shl ecx,1 mov edi,[edx+04h] mov edx,ecx add edi,00000004h shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+38h] mov dx,[ebx] mov ecx,[eax+04h] mov [ecx],dx mov eax,[esi+38h] mov dx,[esi+20h] mov ecx,[eax+04h] lea eax,[ebp-14h] push eax mov [ecx+02h],dx mov ecx,[esi+50h] lea edx,[ebp-10h] call SUB_L004390A0 mov eax,[ebp-14h] mov edx,[ebp-1Ch] sub eax,edx mov ecx,[ebp-10h] cdq sub eax,edx xor edx,edx mov ebx,[ebx] mov [ebp-34h],edx mov [ebp-30h],edx mov edx,[esi+20h] mov [ebp-28h],edx lea edx,[ebp-34h] push edx mov edx,[esi+38h] add ecx,00000004h mov [ebp-2Ch],ebx sar eax,1 mov [ebp-10h],ecx mov [ebp-14h],eax mov edx,[edx+04h] push ebx add edx,00000004h push edx mov edx,[ebp+24h] push edx mov edx,[ebp+20h] and edx,0000FFFFh push edx mov edx,[ebp+08h] push edx mov edx,[ebp-20h] lea eax,[eax+edx+02h] push eax push ecx mov ecx,L00669CC8 call SUB_L004371A0 mov cl,[ebp+28h] mov [esi+000000B0h],cl mov ecx,esi call SUB_L00413290 mov ecx,[ebp-0Ch] mov eax,esi pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 002Ch ;------------------------------------------------------------------------------ Align 4 L004131D0: push ebp mov ebp,esp push esi mov esi,ecx call SUB_L00413200 test byte ptr [ebp+08h],01h jz L004131EA push esi call SUB_L0049A810 add esp,00000004h L004131EA: mov eax,esi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00413200: push ebp mov ebp,esp push FFFFFFFFh push L004B1A38 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx mov [ebp-10h],esi mov dword ptr [esi],L004B7258 mov eax,[esi+38h] mov dword ptr [ebp-04h],00000000h mov eax,[eax+04h] test eax,eax jz L00413250 push SSZ004C4C84_ToggleControl_frame0_pBMP push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov ecx,[esi+38h] mov dword ptr [ecx+04h],00000000h L00413250: mov eax,[esi+38h] test eax,eax jz L0041326E push SSZ004C4C6C_ToggleControl_framedata push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov dword ptr [esi+38h],00000000h L0041326E: mov ecx,esi mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00441D50 mov ecx,[ebp-0Ch] pop esi mov fs:[00000000h],ecx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 SUB_L00413290: push ebp mov ebp,esp sub esp,00000008h push esi mov esi,ecx lea eax,[ebp-08h] lea edx,[ebp-04h] mov ecx,[esi+50h] push eax call SUB_L004390A0 mov ecx,[ebp-04h] mov eax,ecx cdq xor eax,edx sub eax,edx and eax,00000001h xor eax,edx sub eax,edx cmp eax,00000001h jnz L004132C2 inc ecx mov [ebp-04h],ecx L004132C2: mov edx,[esi+38h] mov eax,[edx+04h] mov edx,[ebp-08h] push eax dec edx push 00000000h dec ecx push edx push ecx push 00000000h push 00000000h mov ecx,L00669CC8 call SUB_L00437ED0 mov edx,[esi+000000A0h] test edx,edx jz L00413353 mov eax,[esi+000000ACh] test eax,eax jz L00413353 mov al,[esi+000000B0h] test al,al mov eax,[esi+38h] mov eax,[eax+04h] jz L0041332E xor ecx,ecx xor edx,edx mov cx,[eax+02h] mov dx,[eax] push ecx add eax,00000004h push edx mov edx,[esi+000000A4h] push eax push 00000000h push 00000000h mov ecx,SUB_L00488700 call SUB_L00439100 pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L0041332E: xor ecx,ecx mov cx,[eax+02h] add eax,00000004h push ecx xor ecx,ecx mov cx,[eax-04h] push ecx push eax push 00000000h push 00000000h mov ecx,SUB_L00488700 call SUB_L00439100 pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00413353: mov eax,[esi+000000B4h] test eax,eax mov al,[esi+000000B0h] jz L004133C7 test al,al jz L00413397 mov edx,[esi+38h] xor ecx,ecx mov eax,[edx+04h] xor edx,edx mov cx,[eax+02h] mov dx,[eax] push ecx add eax,00000004h push edx mov edx,[esi+0000009Ch] push eax push 00000000h push 00000000h mov ecx,SUB_L00488700 call SUB_L00439100 pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00413397: mov eax,[esi+38h] xor ecx,ecx xor edx,edx mov eax,[eax+04h] mov cx,[eax+02h] mov dx,[eax] push ecx add eax,00000004h push edx mov edx,[esi+00000098h] push eax push 00000000h push 00000000h mov ecx,SUB_L00488700 call SUB_L00439100 pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L004133C7: test al,al mov eax,[esi+38h] mov eax,[eax+04h] jz L004133FB xor ecx,ecx xor edx,edx mov cx,[eax+02h] mov dx,[eax] push ecx add eax,00000004h push edx mov edx,[esi+00000094h] push eax push 00000000h push 00000000h mov ecx,SUB_L00488700 call SUB_L00439100 pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L004133FB: xor ecx,ecx xor edx,edx mov cx,[eax+02h] mov dx,[eax] push ecx add eax,00000004h push edx mov edx,[esi+50h] push eax push 00000000h push 00000000h mov ecx,SUB_L00488700 call SUB_L00439100 pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 L00413430: push ebp mov ebp,esp sub esp,00000018h push esi mov esi,ecx xor eax,eax push edi cmp [esi+68h],eax jz L004134CE mov [ebp-08h],eax mov [ebp-04h],eax lea eax,[ebp-04h] lea ecx,[ebp-08h] push eax push ecx mov ecx,esi call SUB_L00440C60 mov edx,[esi+38h] mov ecx,[ebp-08h] mov eax,[ebp-04h] mov edi,[ebp+08h] mov esi,[edx+04h] xor edx,edx mov [ebp-18h],ecx mov [ebp-14h],eax mov dx,[esi] add edx,ecx xor ecx,ecx mov [ebp-10h],edx mov cx,[esi+02h] lea edx,[ebp-18h] add eax,ecx push edx push edi mov ecx,L00669608 mov [ebp-0Ch],eax call SUB_L00440D40 test eax,eax jz L004134CE mov eax,[L004C7F38] mov ecx,[L004C7F34] mov edx,[L006BAE7C] push eax mov eax,[ebp-04h] push ecx mov ecx,[ebp-08h] push edx push eax xor edx,edx mov dx,[esi+02h] xor eax,eax mov ax,[esi] push ecx push edx push eax push edi lea edx,[esi+04h] mov ecx,SUB_L00488700 call SUB_L00439500 L004134CE: pop edi pop esi mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 L004134E0: push ebp mov ebp,esp push esi mov esi,ecx mov ecx,[esi+48h] test ecx,ecx jz L004134F4 push 00000000h call SUB_L00441340 L004134F4: mov eax,[ebp+08h] mov ecx,[ebp+0Ch] mov dword ptr [esi+000000A8h],00000001h mov [esi+6Ch],eax mov [esi+70h],ecx pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 4 L00413510: push ebp mov ebp,esp push esi mov esi,ecx mov dword ptr [esi+000000A8h],00000000h mov dword ptr [L006A9DD4],00000000h mov eax,[esi+000000B4h] test eax,eax jnz L0041355B mov cl,[esi+000000B0h] xor eax,eax test cl,cl setz al mov ecx,esi mov [esi+000000B0h],al call SUB_L00413290 mov ecx,[esi+48h] test ecx,ecx jz L0041355B mov edx,[ecx] push esi call [edx+4Ch] L0041355B: pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ L00413560: push ebp mov ebp,esp push esi mov esi,ecx mov eax,[esi+000000ACh] test eax,eax jnz L00413589 mov eax,[esi+000000A0h] mov dword ptr [esi+000000ACh],00000001h test eax,eax jz L00413589 call SUB_L00413290 L00413589: mov eax,[esi+000000B4h] test eax,eax jnz L0041359F push 00000000h mov ecx,L006BB1C8 call SUB_L0049A010 L0041359F: pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 L004135B0: mov eax,[ecx+000000ACh] test eax,eax jz L004135D3 mov eax,[ecx+000000A0h] mov dword ptr [ecx+000000ACh],00000000h test eax,eax jz L004135D3 jmp SUB_L00413290 L004135D3: retn ;------------------------------------------------------------------------------ Align 16 L004135E0: push ebp mov ebp,esp push esi mov esi,ecx call SUB_L00413890 test byte ptr [ebp+08h],01h jz L004135FA push esi call SUB_L0049A810 add esp,00000004h L004135FA: mov eax,esi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00413610: push ebp mov ebp,esp push FFFFFFFFh push L004B1A6E mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push esi mov esi,ecx push edi mov [ebp-10h],esi call SUB_L00441CB0 mov eax,[ebp+08h] mov ecx,[ebp+0Ch] xor ebx,ebx mov dword ptr [esi],L004B73A0 mov dword ptr [esi+04h],SSZ004C4CBC_edit_list_gump mov [esi+5Ch],ebx mov edi,00000001h mov [esi+2Ch],eax mov [esi+34h],ebx lea eax,[esi+20h] mov [esi+000000B4h],edi mov [esi+30h],ecx mov ecx,[ebp+18h] mov [esi+000000A8h],ebx lea edx,[esi+1Ch] push eax mov [ebp-04h],ebx mov [esi+000000A4h],ebx mov [esi+000000A0h],ebx mov [esi+0000009Ch],ebx mov [esi+000000B0h],ebx mov [esi+000000ACh],ebx mov [esi+60h],ebx mov [esi+4Ch],ebx mov [esi+48h],ebx mov [esi+44h],ebx mov [esi+40h],ebx mov [esi+3Ch],ebx call SUB_L004390A0 push SSZ004C4CA0_framedata_for_CEditListGump push 00000008h mov ecx,L00669C8C mov [esi+10h],ebx mov [esi+14h],edi call SUB_L0044FBD0 mov ecx,[esi+14h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+38h],edi push SSZ004C4C14_cfg_frame0 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+20h] imul eax,[esi+1Ch] lea ecx,[eax+eax+04h] push ecx mov ecx,L00669C8C call SUB_L0044FBD0 mov edx,[esi+38h] mov [edx+04h],eax mov ecx,[esi+20h] imul ecx,[esi+1Ch] mov edx,[esi+38h] xor eax,eax shl ecx,1 mov edi,[edx+04h] mov edx,ecx add edi,00000004h shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+38h] mov dx,[esi+1Ch] mov ecx,[eax+04h] mov [ecx],dx mov eax,[esi+38h] mov ecx,[eax+04h] mov dx,[esi+20h] mov eax,[ebp+1Ch] mov [ecx+02h],dx mov ecx,[esi+20h] mov edx,[ebp+18h] mov [esi+000000D0h],eax mov eax,[esi+1Ch] push ecx mov ecx,[esi+38h] mov dword ptr [esi+000000D8h],0000001Dh mov [esi+000000D4h],ebx mov [esi+000000CCh],ebx mov word ptr [esi+000000CAh],000Ah mov [esi+000000C4h],ebx mov [esi+000000C0h],ebx mov [esi+000000BCh],ebx mov [esi+000000B8h],ebx mov [esi+50h],edx push eax mov eax,[ecx+04h] add eax,00000004h mov ecx,SUB_L00488700 push eax push ebx push ebx call SUB_L00439100 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp+18h],eax cmp eax,ebx mov byte ptr [ebp-04h],01h jz L004137DC mov ecx,[esi+1Ch] push ebx push 00000983h push 00000983h push SUB_L0040FAB0 push ebx push 00000002h push esi sub ecx,0000000Eh push 00000008h push ecx mov ecx,eax call SUB_L004122F0 jmp L004137DE L004137DC: xor eax,eax L004137DE: mov [esi+00000094h],eax mov [eax+68h],ebx mov edx,[esi+00000094h] push 00000001h push esi mov [ebp-04h],bl mov dword ptr [edx+000000A4h],00000984h mov ecx,[esi+00000094h] call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp+18h],eax cmp eax,ebx mov byte ptr [ebp-04h],02h jz L0041384B mov ecx,[esi+20h] mov edx,[esi+1Ch] push ebx push 00000985h push 00000985h push SUB_L0040FB70 push ebx push 00000002h sub ecx,00000014h push esi sub edx,0000000Eh push ecx push edx mov ecx,eax call SUB_L004122F0 jmp L0041384D L0041384B: xor eax,eax L0041384D: mov [esi+00000098h],eax mov [eax+68h],ebx mov eax,[esi+00000098h] push 00000001h push esi mov [ebp-04h],bl mov dword ptr [eax+000000A4h],00000986h mov ecx,[esi+00000098h] call SUB_L004415C0 mov ecx,[ebp-0Ch] mov eax,esi pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0018h ;------------------------------------------------------------------------------ Align 8 SUB_L00413890: push ebp mov ebp,esp push FFFFFFFFh push L004B1A88 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx push edi mov [ebp-10h],esi mov dword ptr [esi],L004B73A0 mov eax,[esi+000000B8h] mov dword ptr [ebp-04h],00000000h test eax,eax jz L004138F7 L004138C7: mov eax,[esi+000000B8h] mov ecx,eax mov edi,[eax+04h] mov ecx,[ecx] test ecx,ecx jz L004138DE mov edx,[ecx] push 00000001h call [edx] L004138DE: mov eax,[esi+000000B8h] push eax call SUB_L0049A810 add esp,00000004h mov [esi+000000B8h],edi test edi,edi jnz L004138C7 L004138F7: mov ecx,[esi+38h] mov eax,[ecx+04h] test eax,eax jz L0041391B push SSZ004C4CE0_editlist_frame0_pBMP push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov edx,[esi+38h] mov dword ptr [edx+04h],00000000h L0041391B: mov eax,[esi+38h] test eax,eax jz L00413939 push SSZ004C4CCC_editlist_framedata push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov dword ptr [esi+38h],00000000h L00413939: mov ecx,esi mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00441D50 mov ecx,[ebp-0Ch] pop edi mov fs:[00000000h],ecx pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L00413960: push ebp mov ebp,esp push FFFFFFFFh push L004B1AB6 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000014h push ebx mov ebx,ecx push esi push edi mov edx,[ebx+000000CCh] mov eax,[ebx+000000D0h] cmp edx,eax jz L00413D00 mov ecx,[ebx+000000D4h] mov eax,edx sub eax,ecx mov esi,eax shl esi,04h lea esi,[esi+eax+03h] cmp esi,00000025h jnz L004139AD inc esi L004139AD: cmp esi,00000036h jnz L004139B7 mov esi,00000037h L004139B7: cmp esi,00000047h jnz L004139C1 mov esi,00000049h L004139C1: lea eax,[edx+01h] inc ecx cmp ecx,eax mov [ebx+000000CCh],eax jge L004139DC mov eax,[ebx+00000098h] mov dword ptr [eax+68h],00000001h L004139DC: mov eax,[ebx+000000BCh] xor edi,edi cmp eax,edi push 0000000Ch jnz L00413B2C call SUB_L0049A820 add esp,00000004h mov [ebx+000000B8h],eax push 00000158h call SUB_L0049A820 add esp,00000004h mov [ebp-10h],eax cmp eax,edi mov [ebp-04h],edi jz L00413A42 mov ecx,[ebx+000000D8h] push edi push edi push 00000001h push 00000386h push 00000001h push ecx push edi push 00000011h xor edx,edx mov dx,[ebx+000000CAh] push 00000088h push ebx push esi push edx mov ecx,eax call SUB_L0041A980 jmp L00413A44 L00413A42: xor eax,eax L00413A44: mov ecx,[ebx+000000B8h] mov dword ptr [ebp-04h],FFFFFFFFh mov [ecx],eax mov eax,[ebx+000000B4h] cmp eax,edi jz L00413A7D mov edx,[ebx+000000B8h] mov eax,[edx] mov [eax+000000ACh],edi mov ecx,[ebx+000000B8h] mov edx,[ecx] mov dword ptr [edx+000000D0h],00000001h L00413A7D: mov eax,[ebx+000000B8h] cmp esi,00000003h mov ecx,[eax] mov [ecx+00000154h],eax jl L00413A9A mov eax,[ebx+20h] add esi,00000011h cmp esi,eax jle L00413AA5 L00413A9A: mov edx,[ebx+000000B8h] mov eax,[edx] mov [eax+68h],edi L00413AA5: mov ecx,[ebx+000000B8h] push 00000001h push ebx mov ecx,[ecx] call SUB_L004415C0 mov edx,[ebx+000000B8h] mov edi,[ebp+08h] or ecx,FFFFFFFFh xor eax,eax mov edx,[edx] add edx,000000ECh repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax mov eax,[ebp+0Ch] and ecx,00000003h rep movsb mov ecx,[ebx+000000B8h] mov edx,[ecx] mov [edx+000000E8h],eax mov ecx,[ebx+000000B8h] mov ecx,[ecx] call SUB_L0041AC50 mov edx,[ebx+000000B8h] xor esi,esi mov [edx+08h],esi mov eax,[ebx+000000B8h] mov [eax+04h],esi mov eax,[ebx+000000B8h] mov [ebx+000000C0h],eax mov [ebx+000000BCh],eax jmp L00413C8E L00413B2C: call SUB_L0049A820 mov ecx,[ebx+000000BCh] add esp,00000004h push 00000158h mov [ecx+04h],eax call SUB_L0049A820 add esp,00000004h mov [ebp-10h],eax cmp eax,edi mov dword ptr [ebp-04h],00000001h jz L00413B87 mov edx,[ebx+000000D8h] push edi push edi push 00000001h push 00000386h push 00000001h push edx push edi push 00000011h xor ecx,ecx mov cx,[ebx+000000CAh] push 00000088h push ebx push esi push ecx mov ecx,eax call SUB_L0041A980 jmp L00413B89 L00413B87: xor eax,eax L00413B89: mov edx,[ebx+000000BCh] mov dword ptr [ebp-04h],FFFFFFFFh mov ecx,[edx+04h] mov [ecx],eax mov eax,[ebx+000000B4h] cmp eax,edi jz L00413BCB mov edx,[ebx+000000BCh] mov eax,[edx+04h] mov ecx,[eax] mov [ecx+000000ACh],edi mov edx,[ebx+000000BCh] mov eax,[edx+04h] mov ecx,[eax] mov dword ptr [ecx+000000D0h],00000001h L00413BCB: mov edx,[ebx+000000BCh] cmp esi,00000003h mov eax,[edx+04h] mov ecx,[eax] mov [ecx+00000154h],eax jl L00413BEB mov eax,[ebx+20h] add esi,00000011h cmp esi,eax jle L00413BF9 L00413BEB: mov edx,[ebx+000000BCh] mov eax,[edx+04h] mov ecx,[eax] mov [ecx+68h],edi L00413BF9: mov edx,[ebx+000000BCh] push 00000001h push ebx mov eax,[edx+04h] mov ecx,[eax] call SUB_L004415C0 mov ecx,[ebx+000000BCh] mov edi,[ebp+08h] xor eax,eax mov edx,[ecx+04h] or ecx,FFFFFFFFh mov edx,[edx] add edx,000000ECh repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov ecx,[ebx+000000BCh] mov edx,[ecx+04h] mov ecx,[ebp+0Ch] mov eax,[edx] mov [eax+000000E8h],ecx mov edx,[ebx+000000BCh] mov eax,[edx+04h] mov ecx,[eax] call SUB_L0041AC50 mov ecx,[ebx+000000BCh] xor esi,esi mov edx,[ecx+04h] mov dword ptr [edx+04h],00000000h mov eax,[ebx+000000BCh] mov ecx,[eax+04h] mov [ecx+08h],eax mov edx,[ebx+000000BCh] mov eax,[edx+04h] mov [ebx+000000BCh],eax L00413C8E: mov eax,[ebx+000000CCh] mov ecx,[ebx+000000D4h] sub eax,ecx mov ecx,[ebx+1Ch] mov edx,eax mov [ebp-20h],esi shl edx,04h mov [ebp-1Ch],esi mov [ebp-18h],ecx lea eax,[edx+eax+09h] mov edx,[ebx+20h] mov [ebp-14h],eax mov eax,[ebx+38h] push edx mov edx,[ebx+50h] push ecx mov ecx,[eax+04h] add ecx,00000004h push ecx push esi push esi mov ecx,SUB_L00488700 call SUB_L00439100 cmp [ebx+000000CCh],esi jz L00413D00 mov edx,[ebx+20h] mov ecx,[ebx+38h] mov eax,[ebx+1Ch] push edx mov edx,[ecx+04h] push eax add edx,00000004h lea eax,[ebp-20h] push edx mov edx,[ebx+50h] push esi push esi push eax inc edx mov ecx,SUB_L00488700 call SUB_L00439290 L00413D00: mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L00413D20: push ebp mov ebp,esp sub esp,00000014h push ebx mov ebx,[ebp+08h] push esi mov esi,ecx push edi cmp [esi+000000C4h],ebx jnz L00413D40 mov dword ptr [esi+000000C4h],00000000h L00413D40: mov eax,[esi+000000C0h] cmp eax,ebx jnz L00413D57 mov eax,[eax+04h] test eax,eax jz L00413D57 mov [esi+000000C0h],eax L00413D57: mov ecx,[ebx] test ecx,ecx jz L00413D63 mov eax,[ecx] push 00000001h call [eax] L00413D63: cmp [esi+000000B8h],ebx jnz L00413D74 mov ecx,[ebx+04h] mov [esi+000000B8h],ecx L00413D74: cmp [esi+000000BCh],ebx jnz L00413D85 mov edx,[ebx+08h] mov [esi+000000BCh],edx L00413D85: mov eax,[ebx+04h] test eax,eax jz L00413D92 mov ecx,[ebx+08h] mov [eax+08h],ecx L00413D92: mov eax,[ebx+08h] test eax,eax jz L00413D9F mov edx,[ebx+04h] mov [eax+04h],edx L00413D9F: mov edi,[ebx+04h] lea eax,[ebp+08h] push eax lea edx,[ebp-04h] mov ecx,000013A7h call SUB_L004390A0 mov ecx,[ebp+08h] inc ecx test edi,edi mov [ebp+08h],ecx jz L00413DEA L00413DBE: mov eax,[edi] mov ecx,[ebp+08h] mov edx,[eax+30h] sub edx,ecx mov [eax+30h],edx mov eax,[edi] mov ecx,[ebp+08h] mov edx,[eax+30h] add edx,ecx mov ecx,[esi+20h] cmp edx,ecx jge L00413DE3 mov dword ptr [eax+68h],00000001h L00413DE3: mov edi,[edi+04h] test edi,edi jnz L00413DBE L00413DEA: push ebx call SUB_L0049A810 mov ebx,[esi+000000CCh] mov ecx,[esi+000000D4h] add esp,00000004h dec ebx mov eax,ebx inc ecx cmp ecx,eax mov [esi+000000CCh],ebx jl L00413E1A mov edx,[esi+00000098h] xor edi,edi mov [edx+68h],edi jmp L00413E1C L00413E1A: xor edi,edi L00413E1C: mov eax,[esi+000000CCh] mov ecx,[esi+000000D4h] sub eax,ecx mov ecx,[esi+1Ch] mov edx,eax mov [ebp-14h],edi shl edx,04h mov [ebp-10h],edi mov [ebp-0Ch],ecx lea eax,[edx+eax+09h] mov edx,[esi+20h] mov [ebp-08h],eax mov eax,[esi+38h] push edx mov edx,[esi+50h] push ecx mov ecx,[eax+04h] add ecx,00000004h push ecx push edi push edi mov ecx,SUB_L00488700 call SUB_L00439100 cmp [esi+000000CCh],edi jz L00413E8E mov edx,[esi+20h] mov ecx,[esi+38h] mov eax,[esi+1Ch] push edx mov edx,[ecx+04h] push eax add edx,00000004h lea eax,[ebp-14h] push edx mov edx,[esi+50h] push edi push edi push eax inc edx mov ecx,SUB_L00488700 call SUB_L00439290 L00413E8E: mov ecx,[esi+48h] cmp ecx,edi jz L00413E9B mov edx,[ecx] push esi call [edx+4Ch] L00413E9B: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00413EB0: push esi mov esi,ecx mov eax,[esi+000000C4h] test eax,eax jz L00413EE4 mov eax,[eax] mov cx,[esi+000000C8h] mov [eax+00000152h],cx mov edx,[esi+000000C4h] mov ecx,[edx] call SUB_L0041AC50 mov dword ptr [esi+000000C4h],00000000h L00413EE4: pop esi retn ;------------------------------------------------------------------------------ Align 16 L00413EF0: push ebp mov ebp,esp push ecx mov eax,[ebp+08h] push ebx mov ebx,ecx push esi mov esi,[eax+00000154h] push edi mov edx,[ebx+000000BCh] mov dword ptr [ebp-04h],00000000h cmp esi,edx jnz L00413F5D mov edi,[edx] or ecx,FFFFFFFFh add edi,000000ECh xor eax,eax repne scasb not ecx dec ecx jz L00413F55 mov eax,[ebx+000000B4h] push 00000000h test eax,eax jz L00413F44 push SSZ004C4C00__new_ mov ecx,ebx call SUB_L00413960 jmp L00414017 L00413F44: push L004D77C0 mov ecx,ebx call SUB_L00413960 jmp L00414017 L00413F55: cmp esi,edx jz L00414017 L00413F5D: mov edi,[esi] or ecx,FFFFFFFFh add edi,000000ECh xor eax,eax repne scasb not ecx dec ecx jnz L00414017 mov eax,[esi+08h] test eax,eax jz L00413FBC mov ecx,L00669608 call SUB_L0043FDA0 mov ecx,[esi+08h] mov edx,[ecx] mov ecx,L00669608 push edx call SUB_L0043FF10 mov eax,[esi+08h] push 0000E023h mov ecx,[eax] mov edx,[ecx] call [edx+44h] mov eax,[esi+08h] mov ecx,[eax] call SUB_L0041AC50 mov ecx,[esi+08h] mov edx,[ecx] cmp dword ptr [edx+30h],00000008h jge L00414008 jmp L00414001 L00413FBC: mov eax,[esi+04h] test eax,eax jz L00414008 mov ecx,L00669608 call SUB_L0043FDA0 mov eax,[esi+04h] mov ecx,[eax] push ecx mov ecx,L00669608 call SUB_L0043FF10 mov edx,[esi+04h] push 0000E023h mov ecx,[edx] mov eax,[ecx] call [eax+44h] mov ecx,[esi+04h] mov ecx,[ecx] call SUB_L0041AC50 mov edx,[esi+04h] mov eax,[edx] cmp dword ptr [eax+30h],00000008h jge L00414008 L00414001: mov ecx,ebx call SUB_L0040FAB0 L00414008: push esi mov ecx,ebx call SUB_L00413D20 mov dword ptr [ebp-04h],00000001h L00414017: mov eax,[ebp-04h] test eax,eax jnz L0041403B mov ecx,[ebp+08h] mov eax,00000386h cmp [ecx+00000152h],ax jz L0041403B mov [ecx+00000152h],ax call SUB_L0041AC50 L0041403B: mov ecx,[ebx+48h] test ecx,ecx jz L00414048 mov edx,[ecx] push ebx call [edx+4Ch] L00414048: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 L00414060: push ebp mov ebp,esp push esi mov esi,ecx mov eax,[esi+000000C4h] test eax,eax jz L0041408D mov eax,[eax] mov cx,[esi+000000C8h] mov [eax+00000152h],cx mov edx,[esi+000000C4h] mov ecx,[edx] call SUB_L0041AC50 L0041408D: mov eax,[esi+000000C0h] test eax,eax mov [esi+000000C4h],eax jz L004140B7 mov ecx,[ebp+08h] L004140A0: mov eax,[esi+000000C4h] cmp [eax],ecx jz L004140B7 mov eax,[eax+04h] test eax,eax mov [esi+000000C4h],eax jnz L004140A0 L004140B7: mov eax,[esi+000000C4h] test eax,eax jz L004140FA mov eax,[eax] mov edx,[esi+000000C4h] mov cx,[eax+00000152h] mov [esi+000000C8h],cx mov eax,[edx] mov word ptr [eax+00000152h],0058h mov ecx,[esi+000000C4h] mov ecx,[ecx] call SUB_L0041AC50 push esi mov ecx,L00669608 call SUB_L0043FF10 L004140FA: pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 4 L00414100: push ebp mov ebp,esp mov eax,[ecx+000000B4h] test eax,eax jz L0041412E cmp dword ptr [ebp+08h],0000E02Eh jnz L0041412E mov eax,[ecx+000000C4h] test eax,eax jz L0041412E cmp eax,[ecx+000000BCh] jz L0041412E push eax call SUB_L00413D20 L0041412E: pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 L00414140: push ebp mov ebp,esp sub esp,00000008h push esi mov esi,[L0066962C] push edi mov edi,ecx lea eax,[ebp-04h] lea edx,[ebp-08h] push eax mov ecx,000013A7h call SUB_L004390A0 mov edx,[ebp-04h] inc edx mov [ebp-04h],edx mov eax,[esi+00000154h] test eax,eax jz L004141CA mov ecx,[eax+04h] test ecx,ecx jz L004141CA mov ecx,L00669608 call SUB_L0043FDA0 mov ecx,[esi+00000154h] mov edx,[ecx+04h] mov ecx,L00669608 mov eax,[edx] push eax call SUB_L0043FF10 mov ecx,[esi+00000154h] mov edx,[ecx+04h] mov ecx,[edx] call SUB_L0041AC50 mov eax,[esi+00000154h] mov ecx,[eax+04h] mov edx,[ecx] mov ecx,[edi+20h] mov eax,[edx+30h] mov edx,[ebp-04h] add eax,edx cmp eax,ecx jle L004141CA mov ecx,edi call SUB_L0040FB70 L004141CA: pop edi pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L004141D0: push ebp mov ebp,esp mov ecx,[ecx+48h] test ecx,ecx jz L004141E3 mov eax,[ecx] push 00000000h push 00000000h call [eax+20h] L004141E3: pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 L004141F0: push ebp mov ebp,esp mov eax,[ebp+08h] push esi mov esi,ecx push 00000000h mov ecx,[ebp+0Ch] mov [esi+70h],ecx mov ecx,esi mov dword ptr [esi+000000A4h],00000001h mov [esi+6Ch],eax call SUB_L00441340 cmp dword ptr [esi+000000B0h],00000001h jnz L0041422D mov dword ptr [esi+000000B0h],00000002h pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ L0041422D: mov dword ptr [esi+000000B0h],00000001h call [KERNEL32.dll!GetTickCount] mov [esi+000000ACh],eax pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 L00414250: push ebp mov ebp,esp push ebx mov ebx,[ecx+000000A4h] push esi mov esi,[ebp+0Ch] push edi mov edi,[ebp+08h] test ebx,ebx jz L004142A6 mov eax,[ecx+000000B0h] test eax,eax jbe L004142A6 mov edx,[ecx+6Ch] mov eax,edi sub eax,edx cdq xor eax,edx sub eax,edx cmp eax,00000004h jg L00414292 mov edx,[ecx+70h] mov eax,esi sub eax,edx cdq xor eax,edx sub eax,edx cmp eax,00000004h jle L004142A6 L00414292: mov dword ptr [ecx+0000009Ch],00000001h mov dword ptr [ecx+000000B0h],00000000h L004142A6: test ebx,ebx jz L004142CA mov eax,[ecx+48h] test eax,eax jz L004142CA mov edx,[ecx+70h] push 00000001h sub esi,edx mov edx,[ecx+6Ch] push 00000000h push 00000001h sub edi,edx push esi push edi mov ecx,eax call SUB_L00440850 L004142CA: pop edi pop esi pop ebx pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L004142E0: push ebp mov ebp,esp sub esp,00000010h push esi mov esi,ecx mov dword ptr [ebp-10h],00000000h mov dword ptr [ebp-0Ch],00000000h mov eax,[esi+000000CCh] mov edx,[esi+000000D4h] sub eax,edx mov ecx,[esi+1Ch] mov edx,eax mov [ebp-08h],ecx shl edx,04h lea eax,[edx+eax+09h] mov edx,[esi+20h] mov [ebp-04h],eax mov eax,[esi+38h] push edx mov edx,[esi+50h] push ecx mov ecx,[eax+04h] add ecx,00000004h push ecx push 00000000h push 00000000h mov ecx,SUB_L00488700 call SUB_L00439100 mov eax,[esi+000000CCh] test eax,eax jz L00414369 mov edx,[esi+20h] mov ecx,[esi+38h] mov eax,[esi+1Ch] push edx mov edx,[ecx+04h] push eax add edx,00000004h lea eax,[ebp-10h] push edx mov edx,[esi+50h] push 00000000h push 00000000h push eax inc edx mov ecx,SUB_L00488700 call SUB_L00439290 L00414369: pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 4 L00414370: push ebp mov ebp,esp sub esp,00000018h push ebx mov ebx,ecx push esi lea eax,[ebp-04h] push edi lea ecx,[ebp-08h] push eax xor esi,esi push ecx mov ecx,ebx mov [ebp-08h],esi mov [ebp-04h],esi call SUB_L00440C60 cmp [ebx+60h],esi jnz L0041439F mov edx,[ebx+38h] mov esi,[edx+04h] jmp L004143A5 L0041439F: mov eax,[ebx+38h] mov esi,[eax+0Ch] L004143A5: mov ecx,[ebp-08h] mov eax,[ebp-04h] xor edx,edx mov edi,[ebp+08h] mov [ebp-18h],ecx mov [ebp-14h],eax mov dx,[esi] add edx,ecx xor ecx,ecx mov [ebp-10h],edx mov cx,[esi+02h] lea edx,[ebp-18h] add eax,ecx push edx push edi mov ecx,L00669608 mov [ebp-0Ch],eax call SUB_L00440D40 test eax,eax jz L00414429 mov eax,[L004C7F38] mov ecx,[L004C7F34] mov edx,[L006BAE7C] push eax mov eax,[ebp-04h] push ecx mov ecx,[ebp-08h] push edx push eax xor edx,edx mov dx,[esi+02h] xor eax,eax mov ax,[esi] push ecx push edx push eax push edi lea edx,[esi+04h] mov ecx,SUB_L00488700 call SUB_L00439500 mov esi,[ebx+4Ch] test esi,esi jz L00414429 L0041441A: mov edx,[esi] push edi mov ecx,esi call [edx+0Ch] mov esi,[esi+40h] test esi,esi jnz L0041441A L00414429: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00414440: push ebp mov ebp,esp push FFFFFFFFh push L004B1AD3 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push esi mov ebx,ecx push edi mov [ebp-10h],ebx call SUB_L00441CB0 mov eax,[ebp+08h] mov ecx,[ebp+0Ch] mov edx,[ebp+10h] mov [ebx+2Ch],eax mov eax,[ebp+14h] xor esi,esi mov [ebx+30h],ecx push SSZ004C4D18_framedata_for_CMacroCmdGump push 00000008h mov ecx,L00669C8C mov [ebp-04h],esi mov dword ptr [ebx],L004B74E8 mov dword ptr [ebx+04h],SSZ004C4D08_macro_cmd_gump mov [ebx+5Ch],esi mov [ebx+34h],esi mov [ebx+50h],esi mov [ebx+00000094h],esi mov [ebx+60h],esi mov [ebx+4Ch],esi mov [ebx+48h],esi mov [ebx+44h],esi mov [ebx+40h],esi mov [ebx+3Ch],esi mov [ebx+1Ch],edx mov [ebx+20h],eax mov [ebx+10h],esi mov dword ptr [ebx+14h],00000001h call SUB_L0044FBD0 mov ecx,[ebx+14h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [ebx+38h],edi push SSZ004C4CF8_macrocmd_frame0 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[ebx+20h] imul eax,[ebx+1Ch] lea ecx,[eax+eax+04h] push ecx mov ecx,L00669C8C call SUB_L0044FBD0 mov edx,[ebx+38h] push 00000158h mov [edx+04h],eax mov ecx,[ebx+20h] imul ecx,[ebx+1Ch] mov edx,[ebx+38h] xor eax,eax shl ecx,1 mov edi,[edx+04h] mov edx,ecx add edi,00000004h shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[ebx+38h] mov dx,[ebx+1Ch] mov ecx,[eax+04h] mov [ecx],dx mov eax,[ebx+38h] mov dx,[ebx+20h] mov ecx,[eax+04h] mov [ecx+02h],dx call SUB_L0049A820 add esp,00000004h mov [ebp+08h],eax cmp eax,esi mov byte ptr [ebp-04h],01h jz L00414584 push esi push 00000001h push esi push 00000386h push 00000001h push 00000010h push 00000002h push 0000098Dh push 0000098Dh push ebx push 00000004h push 00000004h mov ecx,eax call SUB_L0041A6F0 jmp L00414586 L00414584: xor eax,eax L00414586: mov ecx,[ebp+18h] mov [ebx+00000098h],eax mov byte ptr [eax+000000E3h],04h mov eax,[ebx+00000098h] mov byte ptr [ebp-04h],00h mov [eax+000000E8h],ecx mov eax,[ebx+00000098h] cmp [eax+000000E8h],esi jz L004145E0 mov edi,[L004D0220+ecx*4] lea edx,[eax+000000ECh] or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb xor esi,esi L004145E0: mov ecx,[ebx+00000098h] call SUB_L0041AC50 mov ecx,[ebx+00000098h] push 00000001h push ebx call SUB_L004415C0 mov ecx,ebx mov [ebx+0000009Ch],esi mov [ebx+000000A0h],esi mov [ebx+000000A4h],esi mov [ebx+000000A8h],esi call SUB_L00414920 mov eax,[ebx+0000009Ch] cmp eax,esi jz L0041472F mov edx,[ebp+1Ch] mov [eax+000000E8h],edx mov ecx,[ebx+00000098h] mov eax,[ecx+000000E8h] cmp eax,00000005h jnz L00414676 mov esi,[ebx+0000009Ch] mov edi,[L004C4A58+edx*4] or ecx,FFFFFFFFh xor eax,eax add esi,000000ECh repne scasb not ecx sub edi,ecx mov [ebp+08h],esi mov eax,[ebp+08h] mov edx,ecx mov esi,edi mov edi,eax shr ecx,02h rep movsd mov ecx,edx jmp L0041471D L00414676: cmp eax,00000008h jc L004146B3 cmp eax,0000000Bh ja L004146B3 mov esi,[ebx+0000009Ch] mov edi,[L004C4AA8+edx*4] or ecx,FFFFFFFFh xor eax,eax add esi,000000ECh repne scasb not ecx sub edi,ecx mov [ebp+08h],esi mov eax,[ebp+08h] mov edx,ecx mov esi,edi mov edi,eax shr ecx,02h rep movsd mov ecx,edx jmp L0041471D L004146B3: cmp eax,0000000Dh jnz L004146E6 test byte ptr [edx+L00767328],01h jnz L004146CC L004146C1: mov al,[edx+L00767329] inc edx test al,01h jz L004146C1 L004146CC: lea edi,[edx+edx*4] mov edx,[ebx+0000009Ch] shl edi,04h add edi,L00764170 add edx,000000ECh jmp L00414705 L004146E6: cmp eax,0000000Fh jnz L00414724 mov ecx,[L004C7F50+edx*8] call SUB_L00406C50 mov edx,[ebx+0000009Ch] mov edi,eax add edx,000000ECh L00414705: or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax L0041471D: and ecx,00000003h rep movsb xor esi,esi L00414724: mov ecx,[ebx+0000009Ch] call SUB_L0041AC50 L0041472F: mov eax,[ebx+000000A0h] cmp eax,esi jz L0041476C mov edi,[ebp+20h] lea edx,[eax+000000ECh] or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov ecx,[ebx+000000A0h] call SUB_L0041AC50 xor esi,esi L0041476C: mov eax,[ebx+000000A4h] cmp eax,esi jz L0041478A mov ecx,[ebp+24h] mov [eax+000000E8h],ecx mov ecx,[ebx+000000A4h] call SUB_L0041AC50 L0041478A: mov eax,[ebx+000000A8h] cmp eax,esi jz L004147A8 mov edx,[ebp+28h] mov [eax+000000E8h],edx mov ecx,[ebx+000000A8h] call SUB_L0041AC50 L004147A8: mov ecx,[ebp-0Ch] pop edi mov eax,ebx pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0024h ;------------------------------------------------------------------------------ Align 4 L004147C0: push ebp mov ebp,esp push esi mov esi,ecx call SUB_L004147F0 test byte ptr [ebp+08h],01h jz L004147DA push esi call SUB_L0049A810 add esp,00000004h L004147DA: mov eax,esi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L004147F0: push ebp mov ebp,esp push FFFFFFFFh push L004B1AE8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx mov [ebp-10h],esi mov dword ptr [esi],L004B74E8 mov eax,[esi+38h] mov dword ptr [ebp-04h],00000000h mov eax,[eax+04h] test eax,eax jz L00414840 push SSZ004C4D48_macro_cmd_frame0_pBMP push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov ecx,[esi+38h] mov dword ptr [ecx+04h],00000000h L00414840: mov eax,[esi+38h] test eax,eax jz L0041485E push SSZ004C4D34_macro_cmd_framedata push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov dword ptr [esi+38h],00000000h L0041485E: mov ecx,esi mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00441D50 mov ecx,[ebp-0Ch] pop esi mov fs:[00000000h],ecx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 L00414880: push ebp mov ebp,esp push esi push edi mov edi,ecx mov ecx,[ebp+08h] mov eax,[edi+00000098h] mov esi,[edi+48h] cmp ecx,eax jnz L004148C2 cmp dword ptr [eax+000000E8h],00000063h jnz L004148BB push edi mov ecx,esi call SUB_L004154C0 test esi,esi jz L004148CE mov eax,[esi] push 00000000h mov ecx,esi call [eax+4Ch] pop edi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ L004148BB: mov ecx,edi call SUB_L00414920 L004148C2: test esi,esi jz L004148CE mov edx,[esi] push edi mov ecx,esi call [edx+4Ch] L004148CE: pop edi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 L004148E0: push ebp mov ebp,esp mov dword ptr [ecx+00000094h],00000001h mov ecx,[ecx+48h] test ecx,ecx jz L004148FB push 00000000h call SUB_L00441340 L004148FB: pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 4 L00414900: push ebp mov ebp,esp xor eax,eax mov [ecx+00000094h],eax mov [L006A9DD4],eax pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L00414920: push ebp mov ebp,esp push FFFFFFFFh push L004B1B16 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,0000000Ch push ebx mov ebx,ecx push esi push edi mov ecx,[ebx+0000009Ch] xor edi,edi cmp ecx,edi mov [ebp-10h],edi jz L0041495B mov eax,[ecx] push 00000001h call [eax] mov [ebx+0000009Ch],edi L0041495B: mov ecx,[ebx+000000A0h] cmp ecx,edi jz L00414971 mov edx,[ecx] push 00000001h call [edx] mov [ebx+000000A0h],edi L00414971: mov ecx,[ebx+000000A4h] cmp ecx,edi jz L00414987 mov eax,[ecx] push 00000001h call [eax] mov [ebx+000000A4h],edi L00414987: mov ecx,[ebx+000000A8h] cmp ecx,edi jz L0041499D mov edx,[ecx] push 00000001h call [edx] mov [ebx+000000A8h],edi L0041499D: mov eax,[ebx+00000098h] mov ecx,[eax+000000E8h] lea esi,[ecx-01h] cmp esi,00000015h ja CASE_00414BAC_PROC000C xor ecx,ecx mov cl,[esi+CASE_00414BE0] jmp [CASE_PROCTABLE_00414BAC+ecx*4] CASE_00414BAC_PROC0004: mov edi,00000001h jmp CASE_00414BAC_PROC000C CASE_00414BAC_PROC000B: cmp dword ptr [L004D021C],00000016h jl CASE_00414BAC_PROC000C CASE_00414BAC_PROC0000: mov dword ptr [ebp-10h],00000001h CASE_00414BAC_PROC000C: mov edx,[eax+1Ch] mov eax,[eax+2Ch] test edi,edi lea esi,[edx+eax+04h] mov [ebp-14h],esi jz L00414B20 push 00000158h call SUB_L0049A820 add esp,00000004h mov [ebp-18h],eax xor edi,edi cmp eax,edi mov [ebp-04h],edi jz L00414A2B push edi push 00000001h push edi push 00000386h push 00000001h push 00000010h push 00000002h push 0000098Eh push 0000098Eh push ebx push 00000004h push esi mov ecx,eax call SUB_L0041A6F0 jmp L00414A2D L00414A2B: xor eax,eax L00414A2D: mov [ebx+0000009Ch],eax mov byte ptr [eax+000000E3h],04h mov edx,[ebx+0000009Ch] or ecx,FFFFFFFFh mov [ebp-04h],ecx mov [edx+000000E8h],edi mov eax,[ebx+00000098h] mov eax,[eax+000000E8h] cmp eax,00000005h jnz L00414A71 mov edx,[ebx+0000009Ch] mov edi,[L004C4A58] add edx,000000ECh jmp L00414AEA L00414A71: cmp eax,00000008h jc L00414A8F cmp eax,0000000Bh ja L00414A8F mov edx,[ebx+0000009Ch] mov edi,[L004C4AA8] add edx,000000ECh jmp L00414AEA L00414A8F: cmp eax,0000000Dh jnz L00414AC7 mov dl,[L00767328] xor eax,eax test dl,01h jnz L00414AAD L00414AA1: mov dl,[eax+L00767329] inc eax test dl,01h jz L00414AA1 L00414AAD: mov edx,[ebx+0000009Ch] lea edi,[eax+eax*4] shl edi,04h add edi,L00764170 add edx,000000ECh jmp L00414AEA L00414AC7: cmp eax,0000000Fh jnz L00414B04 mov ecx,[L004C7F50] xor edx,edx call SUB_L00406C50 mov edx,[ebx+0000009Ch] mov edi,eax add edx,000000ECh or ecx,FFFFFFFFh L00414AEA: xor eax,eax repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb L00414B04: mov ecx,[ebx+0000009Ch] call SUB_L0041AC50 mov ecx,[ebx+0000009Ch] push 00000001h push ebx call SUB_L004415C0 mov esi,[ebp-14h] L00414B20: mov eax,[ebp-10h] test eax,eax jz L00414B9B push 00000158h call SUB_L0049A820 add esp,00000004h mov [ebp-18h],eax test eax,eax mov dword ptr [ebp-04h],00000001h jz L00414B6A push 00000000h push 00000000h push 00000001h push 00000386h push 00000001h push 00000050h push 00000000h push 0000098Eh push 0000098Eh push ebx push 00000004h push esi mov ecx,eax call SUB_L0041A6F0 jmp L00414B6C L00414B6A: xor eax,eax L00414B6C: mov [ebx+000000A0h],eax mov byte ptr [eax+000000E2h],0Ah mov ecx,[ebx+000000A0h] push 00000001h push ebx mov dword ptr [ebp-04h],FFFFFFFFh mov byte ptr [ecx+000000E3h],04h mov ecx,[ebx+000000A0h] call SUB_L004415C0 L00414B9B: mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ CASE_PROCTABLE_00414BAC: dd CASE_00414BAC_PROC0000 dd CASE_00414BAC_PROC0000 dd CASE_00414BAC_PROC0000 dd CASE_00414BAC_PROC0000 dd CASE_00414BAC_PROC0004 dd CASE_00414BAC_PROC0004 dd CASE_00414BAC_PROC0004 dd CASE_00414BAC_PROC0004 dd CASE_00414BAC_PROC0004 dd CASE_00414BAC_PROC0004 dd CASE_00414BAC_PROC0004 dd CASE_00414BAC_PROC000B dd CASE_00414BAC_PROC000C CASE_00414BE0: db 00h, 01h, 02h, 03h, 04h, 0Ch, 0Ch, 05h, 06h, 07h, 08h, 0Ch, 09h, 0Ch, 0Ah, 0Ch db 0Ch, 0Ch, 0Ch, 0Ch, 0Ch, 0Bh Align 16 L00414C00: push ebp mov ebp,esp push FFFFFFFFh push L004B1B57 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000024h push ebx mov ebx,ecx push esi lea eax,[ebp-10h] push edi lea ecx,[ebp-14h] push eax xor edi,edi push ecx mov ecx,ebx mov [ebp-1Ch],ebx mov [ebp-14h],edi mov [ebp-10h],edi call SUB_L00440C60 mov ecx,[ebx+00000098h] mov esi,[ebp+08h] cmp esi,ecx jnz L00414CED push 00001244h call SUB_L0049A820 add esp,00000004h mov [ebp-28h],eax cmp eax,edi mov [ebp-04h],edi jz L00414C9D mov edx,[esi+1Ch] mov ecx,[esi+30h] push edi push 00000386h push 00000001h push edi mov edi,[esi+20h] add edx,00000004h push edx mov edx,[ebp-10h] add ecx,edi push 000009B0h lea ecx,[ecx+edx+01h] mov edx,[esi+2Ch] push ecx mov ecx,[ebp-14h] lea edx,[edx+ecx-02h] mov ecx,eax push edx call SUB_L0041CC50 mov ebx,eax jmp L00414C9F L00414C9D: xor ebx,ebx L00414C9F: mov eax,[L004D021C] mov edi,00000001h inc eax mov dword ptr [ebp-04h],FFFFFFFFh cmp eax,edi mov [ebp-18h],ebx jle L00414CDA mov esi,L004D0224 L00414CBD: mov ecx,[esi] push ecx push edi mov ecx,ebx call SUB_L0041D630 mov edx,[L004D021C] inc edi add esi,00000004h inc edx cmp edi,edx jl L00414CBD mov esi,[ebp+08h] L00414CDA: push SSZ004C4D60__NONE_ push 00000063h mov ecx,ebx call SUB_L0041D630 jmp L00414FEC L00414CED: mov ebx,[ebx+0000009Ch] cmp esi,ebx jnz L00415052 cmp dword ptr [ecx+000000E8h],00000005h jnz L00414D8D push 00001244h call SUB_L0049A820 add esp,00000004h mov [ebp-28h],eax cmp eax,edi mov dword ptr [ebp-04h],00000001h jz L00414D5E mov ecx,[esi+1Ch] mov edx,[esi+30h] push edi push 00000386h push 00000001h add ecx,00000004h push edi push ecx mov ecx,[esi+20h] push 000009B5h add edx,ecx mov ecx,[ebp-10h] lea edx,[edx+ecx+01h] mov ecx,[esi+2Ch] push edx mov edx,[ebp-14h] lea ecx,[ecx+edx-02h] push ecx mov ecx,eax call SUB_L0041CC50 mov ebx,eax jmp L00414D60 L00414D5E: xor ebx,ebx L00414D60: mov dword ptr [ebp-04h],FFFFFFFFh mov [ebp-18h],ebx xor esi,esi mov edi,L004C4A58 L00414D71: mov edx,[edi] mov ecx,ebx push edx push esi call SUB_L0041D630 add edi,00000004h inc esi cmp edi,L004C4A78 jl L00414D71 jmp L00414FE9 L00414D8D: cmp esi,ebx jnz L00415052 mov eax,[ecx+000000E8h] cmp eax,00000008h jc L00414E6B cmp eax,0000000Bh ja L00414E6B push 00001244h call SUB_L0049A820 add esp,00000004h mov [ebp+08h],eax cmp eax,edi mov dword ptr [ebp-04h],00000002h jz L00414E03 mov ecx,[esi+1Ch] mov edx,[esi+30h] push edi push 00000386h push 00000001h add ecx,00000004h push edi push ecx mov ecx,[esi+20h] push 000009B5h add edx,ecx mov ecx,[ebp-10h] lea edx,[edx+ecx+01h] mov ecx,[esi+2Ch] push edx mov edx,[ebp-14h] lea ecx,[ecx+edx-02h] push ecx mov ecx,eax call SUB_L0041CC50 mov ebx,eax jmp L00414E05 L00414E03: xor ebx,ebx L00414E05: mov eax,[L004C4AA8] mov dword ptr [ebp-04h],FFFFFFFFh test eax,eax mov [ebp-18h],ebx jz L00414FEC L00414E1C: mov edx,[ebp-1Ch] mov eax,[edx+00000098h] mov eax,[eax+000000E8h] cmp eax,0000000Ah jc L00414E4A cmp eax,0000000Bh ja L00414E4A mov eax,[L004C4AD0+edi*4] test eax,eax jz L00414E5A mov ecx,[L004C4AA8+edi*4] push ecx jmp L00414E52 L00414E4A: mov edx,[L004C4AA8+edi*4] push edx L00414E52: push edi mov ecx,ebx call SUB_L0041D630 L00414E5A: mov eax,[L004C4AAC+edi*4] inc edi test eax,eax jnz L00414E1C jmp L00414FEC L00414E6B: cmp esi,ebx jnz L00415052 cmp dword ptr [ecx+000000E8h],0000000Dh jnz L00414F25 push 00001244h call SUB_L0049A820 add esp,00000004h mov [ebp+08h],eax cmp eax,edi mov dword ptr [ebp-04h],00000003h jz L00414ED7 mov ecx,[esi+1Ch] mov edx,[esi+30h] push 0000000Ah push 00000386h push 00000001h add ecx,00000004h push edi push ecx mov ecx,[esi+20h] push 000009B5h add edx,ecx mov ecx,[ebp-10h] lea edx,[edx+ecx+01h] mov ecx,[esi+2Ch] push edx mov edx,[ebp-14h] lea ecx,[ecx+edx-02h] push ecx mov ecx,eax call SUB_L0041CC50 mov ebx,eax jmp L00414ED9 L00414ED7: xor ebx,ebx L00414ED9: mov eax,[L00767188] mov dword ptr [ebp-04h],FFFFFFFFh cmp eax,edi mov [ebp-18h],ebx jle L00414FEC L00414EF0: xor eax,eax mov al,[edi+L00767120] test byte ptr [eax+L00767328],01h jz L00414F16 lea edx,[eax+eax*4] mov ecx,ebx shl edx,04h add edx,L00764170 push edx push eax call SUB_L0041D630 L00414F16: mov eax,[L00767188] inc edi cmp edi,eax jl L00414EF0 jmp L00414FEC L00414F25: cmp esi,ebx jnz L00415052 cmp dword ptr [ecx+000000E8h],0000000Fh jnz L00415052 push 00001244h call SUB_L0049A820 add esp,00000004h mov [ebp-28h],eax cmp eax,edi mov dword ptr [ebp-04h],00000004h jz L00414F92 mov ecx,[esi+1Ch] mov edx,[esi+30h] push 0000000Ah push 00000386h push 00000001h add ecx,00000004h push edi push ecx mov ecx,[esi+20h] push 000009B5h add edx,ecx mov ecx,[ebp-10h] lea edx,[edx+ecx+01h] mov ecx,[esi+2Ch] push edx mov edx,[ebp-14h] lea ecx,[ecx+edx-02h] push ecx mov ecx,eax call SUB_L0041CC50 mov [ebp-1Ch],eax jmp L00414F95 L00414F92: mov [ebp-1Ch],edi L00414F95: mov ebx,[L004C7F50] or ecx,FFFFFFFFh mov edi,ebx xor eax,eax mov [ebp-04h],ecx xor esi,esi repne scasb mov edx,[ebp-1Ch] not ecx dec ecx mov [ebp-18h],edx jz L00414FE9 mov edi,L004C7F50 jmp L00414FBE L00414FBB: mov edi,[ebp-28h] L00414FBE: mov edx,esi mov ecx,ebx call SUB_L00406C50 mov ecx,[ebp-1Ch] push eax push esi call SUB_L0041D630 mov ebx,[edi+08h] add edi,00000008h mov [ebp-28h],edi mov edi,ebx or ecx,FFFFFFFFh xor eax,eax inc esi repne scasb not ecx dec ecx jnz L00414FBB L00414FE9: mov esi,[ebp+08h] L00414FEC: mov edi,[ebp-18h] push FFFFFFFFh mov ecx,edi call SUB_L0041CE50 push 00000001h push 00000000h mov ecx,edi mov dword ptr [edi+68h],00000001h call SUB_L004415C0 lea eax,[ebp-30h] lea ecx,[ebp-2Ch] push eax push ecx mov [edi+00000094h],esi mov ecx,L006A9DC0 mov [L006A9DD4],edi call SUB_L00450540 mov edx,[ebp-2Ch] mov eax,[ebp-30h] mov [ebp-24h],edx lea ecx,[ebp-20h] lea edx,[ebp-24h] push ecx push edx mov ecx,edi mov [ebp-20h],eax call SUB_L00440CD0 mov ecx,[ebp-20h] mov edx,[ebp-24h] mov eax,[edi] push ecx push edx mov ecx,edi call [eax+2Ch] L00415052: mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00415070: push ebp mov ebp,esp push FFFFFFFFh push L004B1B8E mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push esi mov esi,ecx push edi mov [ebp-10h],esi call SUB_L00441CB0 mov eax,[ebp+08h] mov ecx,[ebp+0Ch] mov edx,[ebp+10h] xor ebx,ebx mov dword ptr [esi],L004B7630 mov [esi+2Ch],eax mov eax,[ebp+14h] mov dword ptr [esi+04h],SSZ004C4D88_macro_list_gump mov [esi+30h],ecx push SSZ004C4D68_framedata_for_CMacroListGump mov [esi+5Ch],ebx push 00000008h mov ecx,L00669C8C mov [ebp-04h],ebx mov [esi+34h],ebx mov [esi+000000A8h],ebx mov [esi+000000A4h],ebx mov [esi+000000A0h],ebx mov [esi+0000009Ch],ebx mov [esi+000000B0h],ebx mov [esi+000000ACh],ebx mov [esi+60h],ebx mov [esi+4Ch],ebx mov [esi+48h],ebx mov [esi+44h],ebx mov [esi+40h],ebx mov [esi+3Ch],ebx mov [esi+1Ch],edx mov [esi+20h],eax mov [esi+10h],ebx mov dword ptr [esi+14h],00000001h call SUB_L0044FBD0 mov ecx,[esi+14h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+38h],edi push SSZ004C4C14_cfg_frame0 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+20h] imul eax,[esi+1Ch] lea ecx,[eax+eax+04h] push ecx mov ecx,L00669C8C call SUB_L0044FBD0 mov edx,[esi+38h] mov [edx+04h],eax mov ecx,[esi+20h] imul ecx,[esi+1Ch] mov edx,[esi+38h] xor eax,eax shl ecx,1 mov edi,[edx+04h] mov edx,ecx add edi,00000004h shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+38h] mov dx,[esi+1Ch] mov ecx,[eax+04h] mov [ecx],dx mov eax,[esi+38h] mov dx,[esi+20h] mov ecx,[eax+04h] mov eax,[ebp+1Ch] mov [ecx+02h],dx mov ecx,[ebp+18h] push 000000CCh mov [esi+000000C8h],eax mov [esi+000000CCh],ebx mov [esi+000000C4h],ebx mov [esi+000000BCh],ebx mov [esi+000000B8h],ebx mov [esi+000000B4h],ebx mov [esi+000000C0h],ebx mov [esi+50h],ecx call SUB_L0049A820 add esp,00000004h mov [ebp+08h],eax cmp eax,ebx mov byte ptr [ebp-04h],01h jz L00415201 mov edx,[esi+1Ch] push ebx push 00000983h push 00000983h push L0040FC40 push ebx push 00000002h push esi sub edx,00000008h push 00000004h push edx mov ecx,eax call SUB_L004122F0 jmp L00415203 L00415201: xor eax,eax L00415203: mov [esi+00000094h],eax mov [eax+68h],ebx mov eax,[esi+00000094h] push 00000001h push esi mov [ebp-04h],bl mov dword ptr [eax+000000A4h],00000984h mov ecx,[esi+00000094h] call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp+08h],eax cmp eax,ebx mov byte ptr [ebp-04h],02h jz L00415270 mov ecx,[esi+20h] mov edx,[esi+1Ch] push ebx push 00000985h push 00000985h push L0040FCF0 push ebx push 00000002h sub ecx,0000000Eh push esi sub edx,00000008h push ecx push edx mov ecx,eax call SUB_L004122F0 jmp L00415272 L00415270: xor eax,eax L00415272: mov [esi+00000098h],eax mov eax,[esi+00000094h] push 00000001h push esi mov [eax+68h],ebx mov ecx,[esi+00000098h] mov [ebp-04h],bl mov dword ptr [ecx+000000A4h],00000986h mov ecx,[esi+00000098h] call SUB_L004415C0 mov ecx,[ebp-0Ch] mov eax,esi pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0018h ;------------------------------------------------------------------------------ Align 16 L004152C0: push ebp mov ebp,esp push esi mov esi,ecx call SUB_L004152F0 test byte ptr [ebp+08h],01h jz L004152DA push esi call SUB_L0049A810 add esp,00000004h L004152DA: mov eax,esi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L004152F0: push ebp mov ebp,esp push FFFFFFFFh push L004B1BA8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx push edi mov [ebp-10h],esi mov dword ptr [esi],L004B7630 mov eax,[esi+000000B4h] mov dword ptr [ebp-04h],00000000h test eax,eax jz L00415357 L00415327: mov eax,[esi+000000B4h] mov ecx,eax mov edi,[eax+04h] mov ecx,[ecx] test ecx,ecx jz L0041533E mov edx,[ecx] push 00000001h call [edx] L0041533E: mov eax,[esi+000000B4h] push eax call SUB_L0049A810 add esp,00000004h mov [esi+000000B4h],edi test edi,edi jnz L00415327 L00415357: mov ecx,[esi+38h] mov eax,[ecx+04h] test eax,eax jz L0041537B push SSZ004C4DAC_MacroList_frame0_pBMP push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov edx,[esi+38h] mov dword ptr [edx+04h],00000000h L0041537B: mov eax,[esi+38h] test eax,eax jz L00415399 push SSZ004C4D98_MacroList_framedata push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov dword ptr [esi+38h],00000000h L00415399: mov ecx,esi mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00441D50 mov ecx,[ebp-0Ch] pop edi mov fs:[00000000h],ecx pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L004153C0: push ebp mov ebp,esp push FFFFFFFFh push L004B1BCB mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000008h push ebx push esi mov esi,[ecx+44h] push edi xor edi,edi xor ebx,ebx cmp esi,edi mov [ebp-14h],ecx mov [ebp-10h],edi jz L00415416 L004153EF: mov eax,[esi] mov ecx,esi call [eax+000000FCh] test eax,eax jz L0041540F mov eax,[esi+30h] cmp eax,edi jle L0041540F mov edi,eax mov eax,[ebp-10h] inc eax mov ebx,esi mov [ebp-10h],eax L0041540F: mov esi,[esi+3Ch] test esi,esi jnz L004153EF L00415416: mov esi,[ebp+18h] test ebx,ebx jz L00415422 add edi,0000001Ah jmp L00415424 L00415422: mov edi,esi L00415424: push 000000ACh call SUB_L0049A820 add esp,00000004h mov [ebp+18h],eax xor ebx,ebx cmp eax,ebx mov [ebp-04h],ebx jz L00415461 mov ecx,[ebp+14h] mov edx,[ebp+10h] push esi push ecx mov ecx,[ebp+0Ch] push edx mov edx,[ebp+08h] push ecx push edx push 0000001Ah push 0000010Eh push edi push 0000000Ah mov ecx,eax call SUB_L00414440 jmp L00415463 L00415461: xor eax,eax L00415463: cmp edi,00000008h mov dword ptr [ebp-04h],FFFFFFFFh jl L0041547C mov esi,[ebp-14h] add edi,0000001Ah cmp edi,[esi+20h] jle L00415482 jmp L0041547F L0041547C: mov esi,[ebp-14h] L0041547F: mov [eax+68h],ebx L00415482: mov edi,00000001h mov ecx,eax push edi push esi call SUB_L004415C0 cmp [ebp-10h],edi jnz L0041549E mov eax,[esi+00000098h] mov [eax+68h],edi L0041549E: mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0014h ;------------------------------------------------------------------------------ Align 16 SUB_L004154C0: push ebp mov ebp,esp sub esp,00000010h push ebx push esi mov esi,[ecx+44h] push edi xor edi,edi xor ebx,ebx cmp esi,edi mov [ebp-08h],ecx mov [ebp-0Ch],edi mov [ebp-10h],edi mov [ebp-04h],edi jz L00415505 L004154E0: mov eax,[esi] mov ecx,esi call [eax+000000FCh] test eax,eax jz L004154FE mov eax,[esi+30h] inc ebx cmp eax,edi mov [ebp-0Ch],esi jle L004154FE mov edi,eax mov [ebp-10h],esi L004154FE: mov esi,[esi+3Ch] test esi,esi jnz L004154E0 L00415505: mov edi,[ebp+08h] cmp ebx,0000000Ah jnz L00415520 mov ecx,[ebp-0Ch] mov edx,[ecx+00000098h] mov eax,[edx+000000E8h] test eax,eax jnz L00415525 L00415520: cmp edi,[ebp-10h] jnz L0041552C L00415525: mov dword ptr [ebp-04h],00000001h L0041552C: mov eax,[ebp-08h] mov esi,[eax+44h] test esi,esi jz L00415571 mov ebx,FFFFFFE6h L0041553B: mov edx,[esi] mov ecx,esi call [edx+000000FCh] test eax,eax jz L0041556A mov eax,[esi+30h] mov ecx,[edi+30h] cmp eax,ecx jle L0041556A mov ecx,[ebp-08h] add eax,ebx mov [esi+30h],eax add eax,0000001Ah cmp eax,[ecx+20h] jge L0041556A mov dword ptr [esi+68h],00000001h L0041556A: mov esi,[esi+3Ch] test esi,esi jnz L0041553B L00415571: test edi,edi jz L0041557D mov edx,[edi] push 00000001h mov ecx,edi call [edx] L0041557D: mov eax,[ebp-04h] test eax,eax jz L00415596 mov ecx,[ebp-08h] push 0000000Eh push 00000004h push 00000000h push 00000000h push 00000000h call SUB_L004153C0 L00415596: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 4 L004155A0: push ebp mov ebp,esp sub esp,0000000Ch push ebx push esi mov esi,[ebp+08h] push edi xor edi,edi mov [ebp-08h],ecx cmp esi,edi mov [ebp-04h],edi mov [ebp-0Ch],edi jz L004155CC mov eax,[esi] mov ecx,esi call [eax+000000FCh] test eax,eax jz L004155CC mov [ebp-04h],esi L004155CC: cmp [ebp-04h],edi jz L00415620 mov ecx,[ebp-08h] xor ebx,ebx mov esi,[ecx+44h] test esi,esi jz L004155FF L004155DD: mov edx,[esi] mov ecx,esi call [edx+000000FCh] test eax,eax jz L004155F8 mov eax,[esi+30h] inc ebx cmp eax,edi jle L004155F8 mov edi,eax mov [ebp-0Ch],esi L004155F8: mov esi,[esi+3Ch] test esi,esi jnz L004155DD L004155FF: cmp ebx,0000000Ah jge L00415620 mov eax,[ebp-04h] mov ecx,[ebp-0Ch] cmp ecx,eax jnz L00415620 mov ecx,[ebp-08h] push 0000000Eh push 00000004h push 00000000h push 00000000h push 00000000h call SUB_L004153C0 L00415620: mov eax,[ebp-08h] mov ecx,[eax+48h] test ecx,ecx jz L00415630 mov edx,[ecx] push eax call [edx+4Ch] L00415630: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 8 L00415640: push ebp mov ebp,esp mov eax,[ebp+08h] push esi mov esi,ecx mov ecx,[ebp+0Ch] mov [esi+70h],ecx mov ecx,[esi+48h] test ecx,ecx mov dword ptr [esi+000000A4h],00000001h mov [esi+6Ch],eax jz L0041566A push 00000000h call SUB_L00441340 L0041566A: cmp dword ptr [esi+000000B0h],00000001h jnz L00415682 mov dword ptr [esi+000000B0h],00000002h pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ L00415682: mov dword ptr [esi+000000B0h],00000001h call [KERNEL32.dll!GetTickCount] mov [esi+000000ACh],eax pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 4 SUB_L004156A0: push ebp mov ebp,esp sub esp,0000000Ch push ebx xor ebx,ebx push esi push edi mov [L00767188],ebx L004156B1: lea eax,[ebp-0Ch] lea ecx,[ebp-04h] push eax push ecx push ebx push 00000010h push 0000000Fh mov ecx,L006AA860 call SUB_L00446620 test eax,eax jz L00415715 mov edx,[ebp-04h] mov ecx,[L00767188] inc eax lea esi,[edx-01h] mov dl,[eax-01h] push esi push eax lea eax,[ecx+ecx*4] mov [ecx+L00767328],dl shl eax,04h add eax,L00764170 push eax call SUB_L0049B200 mov edx,[L00767188] add esp,0000000Ch lea ecx,[edx+edx*4] shl ecx,04h inc edx mov byte ptr [ecx+esi+L00764170],00h mov [L00767188],edx jmp L00415754 L00415715: mov edx,[L00767188] mov edi,L004D77C0 or ecx,FFFFFFFFh xor eax,eax lea esi,[edx+edx*4] mov byte ptr [edx+L00767328],00h shl esi,04h add esi,L00764170 repne scasb not ecx sub edi,ecx mov [ebp-08h],esi mov eax,ecx mov esi,edi mov edi,[ebp-08h] shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb L00415754: inc ebx cmp ebx,00000032h jl L004156B1 mov ecx,0000000Ch xor eax,eax mov edi,L00767120 rep stosd stosw xor eax,eax test edx,edx jle L0041577F L00415774: mov [eax+L00767120],al inc eax cmp eax,edx jl L00415774 L0041577F: dec edx mov [ebp-0Ch],edx L00415783: xor edi,edi mov dword ptr [ebp-04h],00000000h test edx,edx jle L0041580F L00415790: mov dl,[edi+L00767121] mov cl,[edi+L00767120] mov eax,edx mov [ebp-08h],cl and eax,000000FFh lea esi,[eax+eax*4] mov eax,ecx and eax,000000FFh shl esi,04h lea eax,[eax+eax*4] add esi,L00764170 shl eax,04h add eax,L00764170 L004157C4: mov bl,[eax] mov cl,bl cmp bl,[esi] jnz L004157E8 test cl,cl jz L004157E4 mov bl,[eax+01h] mov cl,bl cmp bl,[esi+01h] jnz L004157E8 add eax,00000002h add esi,00000002h test cl,cl jnz L004157C4 L004157E4: xor eax,eax jmp L004157ED L004157E8: sbb eax,eax sbb eax,FFFFFFFFh L004157ED: test eax,eax jle L00415807 mov cl,[ebp-08h] mov [edi+L00767120],dl mov [edi+L00767121],cl mov dword ptr [ebp-04h],00000001h L00415807: mov edx,[ebp-0Ch] inc edi cmp edi,edx jl L00415790 L0041580F: mov eax,[ebp-04h] test eax,eax jnz L00415783 pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L00415830: push ebp mov ebp,esp push FFFFFFFFh push L004B1C98 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000010h push ebx push esi mov ebx,ecx push edi mov [ebp-18h],ebx call SUB_L00441CB0 xor edi,edi mov dword ptr [ebx],L004B7BE0 mov dword ptr [ebx+04h],SSZ004C4F08_CharCreation_gump mov [ebx+5Ch],edi mov dword ptr [ebx+50h],000004ECh mov [ebx+60h],edi mov [ebx+4Ch],edi mov [ebx+48h],edi mov [ebx+44h],edi mov [ebx+40h],edi lea eax,[ebx+20h] lea esi,[ebx+1Ch] mov [ebx+3Ch],edi mov ecx,[ebx+50h] push eax mov edx,esi mov [ebp-04h],edi call SUB_L004390A0 mov eax,[esi] push SSZ004C4EF0_framedata_for_CDumbGump push 00000008h mov ecx,L00669C8C mov [ebx+18h],eax mov dword ptr [ebx+2Ch],0000006Ch mov [ebx+30h],edi mov [ebx+10h],edi mov dword ptr [ebx+14h],00000001h call SUB_L0044FBD0 mov ecx,[ebx+14h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [ebx+38h],edi push SSZ004C4EE4_dumb_frame0 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi] imul eax,[ebx+20h] lea ecx,[eax+eax+04h] push ecx mov ecx,L00669C8C call SUB_L0044FBD0 mov edx,[ebx+38h] push 00000158h mov [edx+04h],eax mov eax,[ebx+38h] mov dx,[esi] mov ecx,[eax+04h] mov [ecx],dx mov eax,[ebx+38h] mov dx,[ebx+20h] mov ecx,[eax+04h] xor eax,eax mov [ecx+02h],dx mov ecx,[esi] imul ecx,[ebx+20h] mov edx,[ebx+38h] shl ecx,1 mov edi,[edx+04h] mov edx,ecx add edi,00000004h shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb call SUB_L0049A820 add esp,00000004h mov [ebp-1Ch],eax xor esi,esi mov byte ptr [ebp-04h],01h cmp eax,esi jz L00415970 push esi push 00000001h push esi push 00000386h push 00000001h push 0000000Ah push 00000002h push 0000000Eh push 00000050h push ebx push esi push esi mov ecx,eax call SUB_L0041A980 jmp L00415972 L00415970: xor eax,eax L00415972: mov [ebx+000000A8h],eax mov [eax+000000E8h],esi mov eax,[ebx+000000A8h] push 00000001h push ebx mov byte ptr [ebp-04h],00h mov [eax+68h],esi mov ecx,[ebx+000000A8h] call SUB_L004415C0 push 000000B4h call SUB_L0049A820 add esp,00000004h mov [ebp-1Ch],eax cmp eax,esi mov byte ptr [ebp-04h],02h jz L004159DF mov ecx,[ebx+2Ch] mov edi,[ebx+30h] mov edx,00000167h push 000004B9h sub edx,ecx push ebx push edx mov edx,0000010Eh sub edx,edi push esi push edx mov edx,0000010Bh sub edx,ecx mov ecx,eax push edx call SUB_L00412A50 jmp L004159E1 L004159DF: xor eax,eax L004159E1: mov edi,000004BAh mov [ebx+000000ACh],eax mov [eax+000000ACh],di mov ecx,[ebx+000000ACh] push 00000001h push ebx mov byte ptr [ebp-04h],00h call SUB_L004415C0 push 000000B4h call SUB_L0049A820 add esp,00000004h mov [ebp-1Ch],eax cmp eax,esi mov byte ptr [ebp-04h],03h jz L00415A49 mov ecx,[ebx+2Ch] mov edx,0000016Ch push 000004B9h sub edx,ecx push ebx push edx mov edx,00000122h push esi sub edx,[ebx+30h] push edx mov edx,00000106h sub edx,ecx mov ecx,eax push edx call SUB_L00412A50 jmp L00415A4B L00415A49: xor eax,eax L00415A4B: mov [ebx+000000B0h],eax mov [eax+000000ACh],di mov ecx,[ebx+000000B0h] push 00000001h push ebx mov byte ptr [ebp-04h],00h call SUB_L004415C0 mov eax,0000044Dh push 00000158h mov dword ptr [ebx+000000E4h],000003E9h mov [ebx+000000CCh],esi mov [ebx+000000D0h],esi mov [ebx+000000E8h],eax mov [ebx+000000ECh],eax mov [ebx+000000E0h],esi mov [ebx+000000DCh],esi mov [ebx+000000D8h],esi mov [ebx+000000D4h],esi call SUB_L0049A820 add esp,00000004h mov [ebp-1Ch],eax cmp eax,esi mov byte ptr [ebp-04h],04h jz L00415AF5 mov edx,[ebx+30h] push esi mov esi,[ebx+2Ch] push 00000001h push 00000001h push 00000386h push 00000001h mov ecx,000000E6h push 0000000Ah push 00000002h sub ecx,edx push 0000000Eh mov edx,0000009Ah push 0000006Ah push ebx sub edx,esi push ecx push edx mov ecx,eax call SUB_L0041A980 jmp L00415AF7 L00415AF5: xor eax,eax L00415AF7: mov [ebx+000000A0h],eax mov dword ptr [eax+000000B4h],00000001h mov ecx,[ebx+000000A0h] push 00000001h push ebx mov byte ptr [ebp-04h],00h call SUB_L004415C0 mov eax,[ebx+000000A0h] mov edi,SSZ004C48D4_Short or ecx,FFFFFFFFh mov dword ptr [eax+000000E8h],0000203Bh mov edx,[ebx+000000A0h] xor eax,eax add edx,000000ECh repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov ecx,[ebx+000000A0h] call SUB_L0041AC50 push 000000B4h call SUB_L0049A820 add esp,00000004h mov [ebp-1Ch],eax test eax,eax mov byte ptr [ebp-04h],05h jz L00415BA9 mov ecx,[ebx+2Ch] mov esi,[ebx+30h] mov edx,000000FBh push 000004B9h sub edx,ecx push ebx push edx mov edx,0000010Fh sub edx,esi push 00000000h push edx mov edx,0000009Fh sub edx,ecx mov ecx,eax push edx call SUB_L00412A50 jmp L00415BAB L00415BA9: xor eax,eax L00415BAB: mov esi,000004BAh mov [ebx+000000B4h],eax mov [eax+000000ACh],si mov ecx,[ebx+000000B4h] push 00000001h push ebx mov byte ptr [ebp-04h],00h call SUB_L004415C0 push 000000B4h call SUB_L0049A820 add esp,00000004h mov [ebp-1Ch],eax test eax,eax mov byte ptr [ebp-04h],06h jz L00415C16 mov edx,[ebx+2Ch] mov edi,[ebx+30h] mov ecx,00000100h push 000004B9h sub ecx,edx push ebx push ecx mov ecx,000000FBh sub ecx,edi push 00000000h push ecx mov ecx,0000009Ah sub ecx,edx push ecx mov ecx,eax call SUB_L00412A50 jmp L00415C18 L00415C16: xor eax,eax L00415C18: mov [ebx+000000BCh],eax mov [eax+000000ACh],si mov ecx,[ebx+000000BCh] push 00000001h push ebx mov byte ptr [ebp-04h],00h call SUB_L004415C0 push 00000158h call SUB_L0049A820 add esp,00000004h mov [ebp-1Ch],eax test eax,eax mov byte ptr [ebp-04h],07h jz L00415C84 mov ecx,[ebx+30h] mov esi,[ebx+2Ch] push 00000000h push 00000001h push 00000001h push 00000386h push 00000001h mov edx,000000E6h push 0000000Ah push 00000002h sub edx,ecx push 0000000Eh mov ecx,00000170h push 0000006Ah push ebx sub ecx,esi push edx push ecx mov ecx,eax call SUB_L0041A980 jmp L00415C86 L00415C84: xor eax,eax L00415C86: mov [ebx+000000A4h],eax mov dword ptr [eax+000000B4h],00000001h mov ecx,[ebx+000000A4h] push 00000001h push ebx mov byte ptr [ebp-04h],00h call SUB_L004415C0 mov edx,[ebx+000000A4h] mov edi,SSZ004C48DC_NONE or ecx,FFFFFFFFh xor eax,eax mov dword ptr [edx+000000E8h],00000000h mov edx,[ebx+000000A4h] add edx,000000ECh repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov ecx,[ebx+000000A4h] call SUB_L0041AC50 push 000000B4h call SUB_L0049A820 add esp,00000004h mov [ebp-1Ch],eax xor edi,edi mov byte ptr [ebp-04h],08h cmp eax,edi jz L00415D39 mov ecx,[ebx+2Ch] mov esi,[ebx+30h] mov edx,000001D3h push 000004B9h sub edx,ecx push ebx push edx mov edx,0000010Fh sub edx,esi push edi push edx mov edx,00000178h sub edx,ecx mov ecx,eax push edx call SUB_L00412A50 jmp L00415D3B L00415D39: xor eax,eax L00415D3B: mov esi,000004BAh mov [ebx+000000B8h],eax mov [eax+000000ACh],si mov eax,[ebx+000000B8h] push 00000001h push ebx mov [eax+68h],edi mov ecx,[ebx+000000B8h] mov byte ptr [ebp-04h],00h call SUB_L004415C0 push 000000B4h call SUB_L0049A820 add esp,00000004h mov [ebp-1Ch],eax cmp eax,edi mov byte ptr [ebp-04h],09h jz L00415DAC mov edx,[ebx+2Ch] mov ecx,000001D9h push 000004B9h sub ecx,edx push ebx push ecx mov ecx,000000FBh push edi sub ecx,[ebx+30h] push ecx mov ecx,00000172h sub ecx,edx push ecx mov ecx,eax call SUB_L00412A50 jmp L00415DAE L00415DAC: xor eax,eax L00415DAE: mov [ebx+000000C0h],eax mov [eax+000000ACh],si mov edx,[ebx+000000C0h] push 00000001h push ebx mov byte ptr [ebp-04h],00h mov [edx+68h],edi mov ecx,[ebx+000000C0h] call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp-1Ch],eax cmp eax,edi mov byte ptr [ebp-04h],0Ah jz L00415E20 mov esi,[ebx+30h] push edi push 000004F8h mov ecx,000000C8h push 000004F7h push L00411020 sub ecx,esi mov esi,[ebx+2Ch] push edi mov edx,0000011Ch push edi push ebx sub edx,esi push ecx push edx mov ecx,eax call SUB_L004122F0 jmp L00415E22 L00415E20: xor eax,eax L00415E22: push 00000001h push ebx mov ecx,eax mov byte ptr [ebp-04h],00h mov dword ptr [eax+000000A4h],000004F9h call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp-1Ch],eax cmp eax,edi mov byte ptr [ebp-04h],0Bh jz L00415E84 mov esi,[ebx+30h] push edi push 000004FBh mov ecx,000000CCh push 000004FAh push L00411050 sub ecx,esi mov esi,[ebx+2Ch] push edi mov edx,000000A0h push edi push ebx sub edx,esi push ecx push edx mov ecx,eax call SUB_L004122F0 jmp L00415E86 L00415E84: xor eax,eax L00415E86: mov [ebx+00000098h],eax mov dword ptr [eax+000000A4h],000004FCh mov ecx,[ebx+00000098h] push 00000001h push ebx mov byte ptr [ebp-04h],00h call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp-1Ch],eax cmp eax,edi mov byte ptr [ebp-04h],0Ch jz L00415EF2 mov esi,[ebx+30h] push edi push 000004FEh mov ecx,000000CCh push 000004FDh push L004111C0 sub ecx,esi mov esi,[ebx+2Ch] push edi mov edx,00000176h push edi push ebx sub edx,esi push ecx push edx mov ecx,eax call SUB_L004122F0 jmp L00415EF4 L00415EF2: xor eax,eax L00415EF4: mov [ebx+0000009Ch],eax mov dword ptr [eax+000000A4h],000004FFh mov ecx,[ebx+0000009Ch] push 00000001h push ebx mov byte ptr [ebp-04h],00h call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp-1Ch],eax cmp eax,edi mov byte ptr [ebp-04h],0Dh jz L00415F60 mov esi,[ebx+30h] push edi push 000004F5h mov ecx,00000096h push 000004F4h push L0040E750 sub ecx,esi mov esi,[ebx+2Ch] push edi mov edx,00000195h push edi push ebx sub edx,esi push ecx push edx mov ecx,eax call SUB_L004122F0 jmp L00415F62 L00415F60: xor eax,eax L00415F62: push 00000001h push ebx mov ecx,eax mov byte ptr [ebp-04h],00h mov dword ptr [eax+000000A4h],000004F6h call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp-1Ch],eax cmp eax,edi mov byte ptr [ebp-04h],0Eh jz L00415FC4 mov esi,[ebx+30h] push edi push 000004F2h mov ecx,00000097h push 000004F1h push L0040E820 sub ecx,esi mov esi,[ebx+2Ch] push edi mov edx,000000A8h push edi push ebx sub edx,esi push ecx push edx mov ecx,eax call SUB_L004122F0 jmp L00415FC6 L00415FC4: xor eax,eax L00415FC6: push 00000001h push ebx mov ecx,eax mov byte ptr [ebp-04h],00h mov dword ptr [eax+000000A4h],000004F3h call SUB_L004415C0 lea eax,[ebp-10h] lea edx,[ebp-14h] push eax mov ecx,000004EDh call SUB_L004390A0 push 000000B0h call SUB_L0049A820 mov esi,eax add esp,00000004h mov [ebp-1Ch],esi cmp esi,edi mov byte ptr [ebp-04h],0Fh jz L0041602F mov ecx,[ebp-10h] mov edx,[ebp-14h] push FFFFFFFFh push edi push FFFFFFFFh push ecx push edx push edi push 00000085h push 00000050h mov ecx,esi call SUB_L00442DD0 mov dword ptr [esi],L004B7A98 mov eax,esi jmp L00416031 L0041602F: xor eax,eax L00416031: mov [ebx+000000C4h],eax mov ecx,[eax+20h] mov edx,[eax+1Ch] mov eax,[eax+38h] push ecx push edx mov ecx,[eax+04h] mov edx,000004EDh add ecx,00000004h mov byte ptr [ebp-04h],00h push ecx push edi push edi mov ecx,SUB_L00488700 call SUB_L00439100 mov ecx,[ebx+000000C4h] push 00000001h push edi call SUB_L004415C0 lea edx,[ebp-10h] mov ecx,000004EEh push edx lea edx,[ebp-14h] call SUB_L004390A0 push 000000B0h call SUB_L0049A820 mov esi,eax add esp,00000004h mov [ebp-1Ch],esi cmp esi,edi mov byte ptr [ebp-04h],10h jz L004160C0 mov eax,[ebp-10h] mov ecx,[ebp-14h] push FFFFFFFFh push edi push FFFFFFFFh push eax push ecx push edi push 00000081h push 000001F9h mov ecx,esi call SUB_L00442DD0 mov dword ptr [esi],L004B7A98 mov eax,esi jmp L004160C2 L004160C0: xor eax,eax L004160C2: mov [ebx+000000C8h],eax mov edx,[eax+20h] mov ecx,[eax+1Ch] push edx mov edx,[eax+38h] push ecx mov ecx,SUB_L00488700 mov byte ptr [ebp-04h],00h mov eax,[edx+04h] mov edx,000004EEh add eax,00000004h push eax push edi push edi call SUB_L00439100 mov ecx,[ebx+000000C8h] push 00000001h push edi call SUB_L004415C0 mov ecx,ebx call SUB_L00416700 mov ecx,[ebp-0Ch] pop edi mov eax,ebx pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 L00416120: push ebp mov ebp,esp push esi mov esi,ecx call SUB_L00416150 test byte ptr [ebp+08h],01h jz L0041613A push esi call SUB_L0049A810 add esp,00000004h L0041613A: mov eax,esi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00416150: mov dword ptr [ecx],L004B7A98 jmp SUB_L00442F80 Align 8 L00416160: push ebp mov ebp,esp push esi mov esi,ecx call SUB_L00416190 test byte ptr [ebp+08h],01h jz L0041617A push esi call SUB_L0049A810 add esp,00000004h L0041617A: mov eax,esi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00416190: push ebp mov ebp,esp push FFFFFFFFh push L004B1CB8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx push edi mov [ebp-10h],esi mov dword ptr [esi],L004B7BE0 xor edi,edi mov [L00669650],edi mov eax,[esi+38h] mov [ebp-04h],edi mov eax,[eax+04h] cmp eax,edi jz L004161E1 push SSZ004C4F34_CharCreation_frame0_pBMP push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov ecx,[esi+38h] mov [ecx+04h],edi L004161E1: mov eax,[esi+38h] cmp eax,edi jz L004161FB push SSZ004C4F1C_CharCreation_framedata push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov [esi+38h],edi L004161FB: mov ecx,esi mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00441D50 mov ecx,[ebp-0Ch] pop edi mov fs:[00000000h],ecx pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 L00416220: push ebp mov ebp,esp push ecx push ebx mov ebx,[ebp+0Ch] push esi mov esi,ecx lea eax,[ebp+08h] push edi mov edi,[ebp+08h] lea ecx,[ebp-04h] push eax push ecx mov ecx,esi mov [ebp-04h],edi mov [ebp+08h],ebx call SUB_L00440C60 mov edx,[ebp+08h] mov eax,[ebp-04h] mov ecx,[esi+000000ACh] push edx push eax call SUB_L00417520 test eax,eax jnz L004162E2 mov ecx,[ebp+08h] mov edx,[ebp-04h] push ecx mov ecx,[esi+000000B0h] push edx call SUB_L00417520 test eax,eax jnz L004162E2 mov eax,[ebp+08h] mov ecx,[ebp-04h] push eax push ecx mov ecx,[esi+000000B4h] call SUB_L00417520 test eax,eax jnz L004162E2 mov edx,[ebp+08h] mov eax,[ebp-04h] mov ecx,[esi+000000B8h] push edx push eax call SUB_L00417520 test eax,eax jnz L004162E2 mov ecx,[ebp+08h] mov edx,[ebp-04h] push ecx mov ecx,[esi+000000BCh] push edx call SUB_L00417520 test eax,eax jnz L004162E2 mov eax,[ebp+08h] mov ecx,[ebp-04h] push eax push ecx mov ecx,[esi+000000C0h] call SUB_L00417520 test eax,eax jnz L004162E2 mov dword ptr [esi+00000094h],00000001h mov [esi+6Ch],edi mov [esi+70h],ebx L004162E2: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 8 L004162F0: push ebp mov ebp,esp mov eax,[ebp+10h] mov edx,[ecx+000000ACh] push esi cmp eax,edx push edi jnz L00416349 mov eax,[L0054918C] mov esi,[ecx+000000CCh] dec eax imul eax,[ebp+08h] cdq idiv [ebp+0Ch] cmp esi,eax mov [ecx+000000CCh],eax jz L004164CD mov edx,[L00549088+eax*4] mov eax,[ecx+000000D0h] lea edx,[edx+eax+000003E9h] mov [ecx+000000E4h],edx call SUB_L00416700 pop edi pop esi pop ebp retn 000Ch ;------------------------------------------------------------------------------ L00416349: cmp eax,[ecx+000000B0h] jnz L004163C3 mov eax,[L0054918C] mov edx,[ecx+000000CCh] mov esi,[ecx+000000D0h] dec eax cmp edx,eax jge L0041637A mov eax,[L0054908C+edx*4] mov edi,[L00549088+edx*4] sub eax,edi dec eax jmp L00416388 L0041637A: mov edi,[L00549088+edx*4] mov eax,00000037h sub eax,edi L00416388: imul eax,[ebp+08h] cdq idiv [ebp+0Ch] cmp esi,eax mov [ecx+000000D0h],eax jz L004164CD mov edx,[ecx+000000CCh] mov edx,[L00549088+edx*4] lea eax,[edx+eax+000003E9h] mov [ecx+000000E4h],eax call SUB_L00416700 pop edi pop esi pop ebp retn 000Ch ;------------------------------------------------------------------------------ L004163C3: cmp eax,[ecx+000000B4h] jnz L0041640B mov edx,[ebp+08h] mov esi,[ecx+000000DCh] mov eax,edx shl eax,03h sub eax,edx cdq idiv [ebp+0Ch] cmp eax,esi mov [ecx+000000DCh],eax jz L004164CD mov edx,[ecx+000000D4h] lea eax,[eax+edx*8+0000044Dh] mov [ecx+000000E8h],eax call SUB_L00416700 pop edi pop esi pop ebp retn 000Ch ;------------------------------------------------------------------------------ L0041640B: cmp eax,[ecx+000000BCh] jnz L0041644F mov eax,[ebp+08h] mov esi,[ecx+000000D4h] lea eax,[eax+eax*4] cdq idiv [ebp+0Ch] cmp eax,esi mov [ecx+000000D4h],eax jz L004164CD mov edx,[ecx+000000DCh] lea eax,[edx+eax*8+0000044Dh] mov [ecx+000000E8h],eax call SUB_L00416700 pop edi pop esi pop ebp retn 000Ch ;------------------------------------------------------------------------------ L0041644F: cmp eax,[ecx+000000B8h] jnz L00416493 mov edx,[ebp+08h] mov esi,[ecx+000000E0h] mov eax,edx shl eax,03h sub eax,edx cdq idiv [ebp+0Ch] cmp eax,esi mov [ecx+000000E0h],eax jz L004164CD mov edx,[ecx+000000D8h] lea eax,[eax+edx*8+0000044Dh] mov [ecx+000000ECh],eax call SUB_L00416700 pop edi pop esi pop ebp retn 000Ch ;------------------------------------------------------------------------------ L00416493: cmp eax,[ecx+000000C0h] jnz L004164CD mov eax,[ebp+08h] mov esi,[ecx+000000D8h] lea eax,[eax+eax*4] cdq idiv [ebp+0Ch] cmp eax,esi mov [ecx+000000D8h],eax jz L004164CD mov edx,[ecx+000000E0h] lea eax,[edx+eax*8+0000044Dh] mov [ecx+000000ECh],eax call SUB_L00416700 L004164CD: pop edi pop esi pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 16 L004164E0: push ebp mov ebp,esp mov eax,[ebp+08h] push ebx mov ebx,ecx push esi push edi mov ecx,[ebx+000000A8h] cmp eax,ecx jnz L0041663D mov eax,[ecx+000000E8h] xor edx,edx cmp eax,edx mov eax,[ebx+000000A0h] mov dword ptr [eax+000000E8h],0000203Bh mov esi,[ebx+000000A0h] jnz L00416581 mov edi,SSZ004C48D4_Short or ecx,FFFFFFFFh xor eax,eax add esi,000000ECh repne scasb not ecx sub edi,ecx mov [ebp+08h],esi mov eax,ecx mov esi,edi mov edi,[ebp+08h] shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov ecx,[ebx+0000009Ch] mov [ecx+000000B0h],edx mov eax,[ebx+000000A4h] cmp [eax+000000E8h],edx jz L00416616 mov ecx,[ebx+000000B8h] mov eax,00000001h mov [ecx+68h],eax mov edx,[ebx+000000C0h] mov [edx+68h],eax jmp L00416616 L00416581: mov edi,SSZ004C48D4_Short or ecx,FFFFFFFFh xor eax,eax add esi,000000ECh repne scasb not ecx sub edi,ecx mov [ebp+08h],esi mov eax,ecx mov esi,edi mov edi,[ebp+08h] shr ecx,02h rep movsd mov ecx,eax xor eax,eax and ecx,00000003h rep movsb mov ecx,[ebx+000000A4h] mov edi,SSZ004C48DC_NONE mov [ecx+000000E8h],edx mov edx,[ebx+000000A4h] or ecx,FFFFFFFFh add edx,000000ECh repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov ecx,[ebx+0000009Ch] mov dword ptr [ecx+000000B0h],00000001h mov ecx,[ebx+000000A4h] call SUB_L0041AC50 mov edx,[ebx+000000B8h] xor eax,eax mov [edx+68h],eax mov ecx,[ebx+000000C0h] mov [ecx+68h],eax L00416616: mov ecx,[ebx+000000A0h] call SUB_L0041AC50 mov ecx,ebx call SUB_L00416700 mov eax,[ebx+000000A0h] mov edx,[ebx] push eax mov ecx,ebx call [edx+4Ch] pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ L0041663D: mov ecx,[ebx+000000A0h] cmp eax,ecx jnz L00416678 mov edx,[ecx+000000E8h] mov ecx,[ebx+000000B4h] xor eax,eax cmp edx,eax jz L0041665E mov eax,00000001h L0041665E: mov [ecx+68h],eax mov edx,[ebx+000000BCh] mov ecx,ebx mov [edx+68h],eax call SUB_L00416700 pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ L00416678: mov ecx,[ebx+000000A4h] cmp eax,ecx jnz L004166AC mov edx,[ecx+000000E8h] mov ecx,[ebx+000000B8h] xor eax,eax cmp edx,eax jz L00416699 mov eax,00000001h L00416699: mov [ecx+68h],eax mov edx,[ebx+000000C0h] mov ecx,ebx mov [edx+68h],eax call SUB_L00416700 L004166AC: pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 L004166C0: jmp L0040E750 Align 16 L004166D0: jmp L0040E820 Align 16 L004166E0: mov edx,[ecx+000000C4h] mov eax,00000001h mov [edx+68h],eax mov ecx,[ecx+000000C8h] mov [ecx+68h],eax retn ;------------------------------------------------------------------------------ Align 16 SUB_L00416700: push ebp mov ebp,esp sub esp,00000020h push esi mov esi,ecx lea edx,[ebp-10h] mov eax,[esi+000000A8h] push edx lea edx,[ebp-08h] mov ecx,[eax+000000E8h] mov eax,[esi+000000E4h] add ecx,0000000Ch inc eax mov [ebp-04h],ecx mov [ebp-0Ch],eax call SUB_L004390A0 mov eax,[ebp-08h] xor ecx,ecx cmp eax,ecx jz L00416A86 mov eax,[esi+2Ch] push edi push ebx mov ebx,000000E8h mov [ebp-20h],ecx mov [ebp-1Ch],ecx mov ecx,[esi+20h] sub ebx,eax mov eax,[esi+1Ch] mov [ebp-14h],ecx imul ecx,eax mov edx,[esi+38h] mov [ebp-18h],eax shl ecx,1 mov edi,[edx+04h] mov edx,ecx xor eax,eax add edi,00000004h shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+20h] mov edx,[esi+38h] mov ecx,[esi+1Ch] push eax mov eax,[edx+04h] mov edx,[esi+50h] add eax,00000004h push ecx push eax push 00000000h push 00000000h mov ecx,SUB_L00488700 call SUB_L00439100 mov ecx,[esi+20h] mov eax,[esi+38h] mov edx,[esi+1Ch] push ecx mov ecx,[eax+04h] mov eax,[esi+30h] push edx mov edx,000000DDh add ecx,00000004h sub edx,eax push ecx mov ecx,[esi+000000A8h] push edx mov edx,[esi+2Ch] mov eax,0000011Dh sub eax,edx mov edx,[ecx+000000E8h] push eax add edx,000004EFh mov ecx,SUB_L00488700 call SUB_L00439100 mov eax,[ebp-0Ch] test eax,eax jnz L00416810 mov edx,[esi+38h] xor ecx,ecx mov eax,[edx+04h] xor edx,edx mov cx,[eax+02h] mov dx,[eax] push ecx add eax,00000004h push edx mov edx,[ebp-04h] push eax push FFFFFFD8h lea eax,[ebp-20h] push ebx push eax mov ecx,SUB_L00488700 jmp L0041683C L00416810: dec eax xor edx,edx mov [L0076735C],eax mov ecx,[esi+38h] mov eax,[ecx+04h] xor ecx,ecx mov dx,[eax+02h] mov cx,[eax] push edx add eax,00000004h push ecx push eax push FFFFFFD8h lea edx,[ebp-20h] push ebx push edx mov edx,[ebp-04h] mov ecx,SUB_L004887E0 L0041683C: call SUB_L00439290 mov eax,[esi+38h] xor ecx,ecx xor edx,edx mov eax,[eax+04h] mov cx,[eax+02h] mov dx,[eax] push ecx mov ecx,[esi+000000A8h] add eax,00000004h push edx push eax push FFFFFFD8h lea eax,[ebp-20h] push ebx push eax mov eax,[ecx+000000E8h] mov ecx,SUB_L00488700 lea eax,[eax+eax*4] lea eax,[eax+eax*4] lea eax,[eax+eax*4] lea edx,[eax+eax*4] shl edx,04h add edx,0000C502h call SUB_L00439290 mov edx,[esi+000000A0h] mov eax,[edx+000000E8h] test eax,eax jz L00416928 mov ecx,[L006A9D98] lea eax,[eax+eax*4] xor edx,edx mov dx,[ecx+eax*8+0Ch] mov eax,[esi+000000A8h] mov ecx,[eax+000000E8h] test ecx,ecx jnz L004168C6 add edx,0000C350h jmp L004168CC L004168C6: add edx,0000EA60h L004168CC: mov eax,[esi+000000E8h] inc eax jnz L004168FA mov ecx,[esi+38h] mov eax,[ecx+04h] xor ecx,ecx mov cx,[eax+02h] push ecx xor ecx,ecx mov cx,[eax] add eax,00000004h push ecx push eax push FFFFFFD8h lea eax,[ebp-20h] push ebx push eax mov ecx,SUB_L00488700 jmp L00416923 L004168FA: dec eax mov [L0076735C],eax mov ecx,[esi+38h] mov eax,[ecx+04h] xor ecx,ecx mov cx,[eax+02h] push ecx xor ecx,ecx mov cx,[eax] add eax,00000004h push ecx push eax push FFFFFFD8h lea eax,[ebp-20h] push ebx push eax mov ecx,SUB_L004887E0 L00416923: call SUB_L00439290 L00416928: mov ecx,[esi+000000A4h] mov eax,[ecx+000000E8h] test eax,eax jz L004169AC mov ecx,[L006A9D98] lea edx,[eax+eax*4] xor eax,eax mov ax,[ecx+edx*8+0Ch] mov edx,eax mov eax,[esi+000000ECh] add edx,0000C350h inc eax jnz L0041697E mov eax,[esi+38h] xor ecx,ecx mov eax,[eax+04h] mov cx,[eax+02h] push ecx xor ecx,ecx mov cx,[eax] add eax,00000004h push ecx push eax push FFFFFFD8h lea eax,[ebp-20h] push ebx push eax mov ecx,SUB_L00488700 jmp L004169A7 L0041697E: dec eax mov [L0076735C],eax mov ecx,[esi+38h] mov eax,[ecx+04h] xor ecx,ecx mov cx,[eax+02h] push ecx xor ecx,ecx mov cx,[eax] add eax,00000004h push ecx push eax push FFFFFFD8h lea eax,[ebp-20h] push ebx push eax mov ecx,SUB_L004887E0 L004169A7: call SUB_L00439290 L004169AC: mov ecx,[esi+38h] xor edx,edx mov eax,[ecx+04h] xor ecx,ecx mov dx,[eax+02h] mov cx,[eax] push edx add eax,00000004h push ecx push eax push FFFFFFD8h lea edx,[ebp-20h] push ebx push edx mov edx,0000C5BEh mov ecx,SUB_L00488700 call SUB_L00439290 mov eax,[esi+000000A8h] mov ecx,[eax+000000E8h] test ecx,ecx jnz L00416A0E mov ecx,[esi+38h] xor edx,edx mov eax,[ecx+04h] xor ecx,ecx mov dx,[eax+02h] mov cx,[eax] push edx add eax,00000004h push ecx push eax push FFFFFFD8h lea edx,[ebp-20h] push ebx push edx mov edx,0000C4FFh jmp L00416A31 L00416A0E: mov eax,[esi+38h] xor ecx,ecx xor edx,edx mov eax,[eax+04h] mov cx,[eax+02h] mov dx,[eax] push ecx add eax,00000004h push edx push eax push FFFFFFD8h lea eax,[ebp-20h] push ebx push eax mov edx,0000EC21h L00416A31: mov ecx,SUB_L00488700 call SUB_L00439290 mov ecx,[esi+38h] xor edx,edx mov eax,[ecx+04h] xor ecx,ecx mov dx,[eax+02h] mov cx,[eax] push edx add eax,00000004h push ecx push eax mov eax,[esi+000000A8h] push FFFFFFD8h lea edx,[ebp-20h] push ebx mov eax,[eax+000000E8h] push edx mov ecx,SUB_L00488700 lea eax,[eax+eax*4] lea eax,[eax+eax*4] lea eax,[eax+eax*4] lea edx,[eax+eax*4] shl edx,04h add edx,0000C530h call SUB_L00439290 pop ebx pop edi L00416A86: pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 SUB_L00416A90: push ebp mov ebp,esp push FFFFFFFFh push L004B1D88 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000010h push ebx push esi mov esi,ecx push edi mov [ebp-18h],esi call SUB_L00441CB0 lea eax,[esi+20h] xor ebx,ebx mov ecx,000004B0h lea edx,[esi+1Ch] push eax mov [ebp-04h],ebx mov dword ptr [esi],L004B7D28 mov dword ptr [esi+04h],SSZ004C4F7C_CharStat_gump mov [esi+5Ch],ebx mov [esi+50h],ecx mov [esi+60h],ebx mov [esi+4Ch],ebx mov [esi+48h],ebx mov [esi+44h],ebx mov [esi+40h],ebx mov [esi+3Ch],ebx call SUB_L004390A0 push SSZ004C4F60_framedata_for_CCharStatGump push 00000008h mov ecx,L00669C8C mov dword ptr [esi+2Ch],00000078h mov dword ptr [esi+30h],00000066h mov [esi+10h],ebx mov dword ptr [esi+14h],00000001h call SUB_L0044FBD0 mov ecx,[esi+14h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+38h],edi push SSZ004C4F50_charstat_frame0 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+1Ch] imul eax,[esi+20h] lea ecx,[eax+eax+04h] push ecx mov ecx,L00669C8C call SUB_L0044FBD0 mov edx,[esi+38h] mov [edx+04h],eax mov eax,[esi+38h] mov dx,[esi+1Ch] mov ecx,[eax+04h] mov [ecx],dx mov eax,[esi+38h] mov dx,[esi+20h] mov ecx,[eax+04h] xor eax,eax mov [ecx+02h],dx mov ecx,[esi+1Ch] imul ecx,[esi+20h] mov edx,[esi+38h] shl ecx,1 mov edi,[edx+04h] mov edx,ecx add edi,00000004h shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+20h] mov edx,[esi+38h] mov ecx,[esi+1Ch] push eax mov eax,[edx+04h] push ecx add eax,00000004h push eax mov edx,[esi+50h] push ebx push ebx mov ecx,SUB_L00488700 call SUB_L00439100 push 00000158h call SUB_L0049A820 add esp,00000004h mov [ebp-1Ch],eax cmp eax,ebx mov byte ptr [ebp-04h],01h jz L00416C09 mov edx,[esi+30h] push ebx mov edi,00000001h push ebx push edi push 00000386h push edi push 00000010h push ebx mov ecx,00000083h push 000004B1h push 000004B1h sub ecx,edx push esi push ecx mov ecx,[esi+2Ch] mov edx,000000F1h sub edx,ecx mov ecx,eax push edx call SUB_L0041A6F0 jmp L00416C10 L00416C09: xor eax,eax mov edi,00000001h L00416C10: mov [esi+00000098h],eax mov word ptr [eax+000000DEh],04B2h mov eax,[esi+00000098h] mov [ebp-04h],bl mov word ptr [eax+000000E0h],04B4h mov ecx,[esi+00000098h] mov word ptr [ecx+000000DCh],04B3h mov edx,[esi+00000098h] mov byte ptr [edx+000000E2h],07h mov eax,[esi+00000098h] mov byte ptr [eax+000000E3h],02h mov ecx,[esi+00000098h] call SUB_L0041AC50 mov ecx,[esi+00000098h] push edi push esi call SUB_L004415C0 push 00000158h call SUB_L0049A820 add esp,00000004h mov [ebp-1Ch],eax cmp eax,ebx mov byte ptr [ebp-04h],02h jz L00416CC0 mov edx,[esi+30h] push ebx push ebx push edi push 00000386h push edi push 00000010h push ebx mov ecx,00000097h push 000004B5h push 000004B5h sub ecx,edx push esi push ecx mov ecx,[esi+2Ch] mov edx,000000F2h sub edx,ecx mov ecx,eax push edx call SUB_L0041A6F0 jmp L00416CC2 L00416CC0: xor eax,eax L00416CC2: mov [esi+0000009Ch],eax mov word ptr [eax+000000DEh],04B6h mov eax,[esi+0000009Ch] mov [ebp-04h],bl mov word ptr [eax+000000E0h],04B8h mov ecx,[esi+0000009Ch] mov word ptr [ecx+000000DCh],04B7h mov edx,[esi+0000009Ch] mov [edx+000000B0h],edi mov eax,[esi+0000009Ch] mov byte ptr [eax+000000E2h],07h mov ecx,[esi+0000009Ch] mov [ecx+000000E3h],bl mov ecx,[esi+0000009Ch] call SUB_L0041AC50 mov ecx,[esi+0000009Ch] push edi push esi call SUB_L004415C0 push 00000158h call SUB_L0049A820 add esp,00000004h mov [ebp-1Ch],eax cmp eax,ebx mov byte ptr [ebp-04h],03h jz L00416D62 push ebx push edi push ebx push 00000386h push edi push 00000008h push 00000002h push ebx push ebx push esi push ebx push ebx mov ecx,eax call SUB_L0041A6F0 jmp L00416D64 L00416D62: xor eax,eax L00416D64: push 00000158h mov [ebp-04h],bl mov [esi+000000C4h],eax call SUB_L0049A820 add esp,00000004h mov [ebp-1Ch],eax cmp eax,ebx mov byte ptr [ebp-04h],04h jz L00416DB8 mov ecx,[esi+30h] push ebx push edi push edi push 00000386h push edi push 000003E7h push edi mov edx,000000D6h push 0000000Ch push 0000001Bh sub edx,ecx push esi push edx mov edx,[esi+2Ch] mov ecx,00000156h sub ecx,edx push ecx mov ecx,eax call SUB_L0041A980 jmp L00416DBA L00416DB8: xor eax,eax L00416DBA: mov [esi+000000B8h],eax mov [eax+000000E3h],bl mov edx,[esi+000000B8h] push edi push esi mov [ebp-04h],bl mov [edx+000000B4h],edi mov ecx,[esi+000000B8h] call SUB_L004415C0 push 00000158h call SUB_L0049A820 add esp,00000004h mov [ebp-1Ch],eax cmp eax,ebx mov byte ptr [ebp-04h],05h jz L00416E2D mov edx,[esi+30h] push ebx push edi push edi push 00000386h push edi push 000003E7h push edi mov ecx,000000F4h push 0000000Ch push 0000001Bh sub ecx,edx push esi push ecx mov ecx,[esi+2Ch] mov edx,00000156h sub edx,ecx mov ecx,eax push edx call SUB_L0041A980 jmp L00416E2F L00416E2D: xor eax,eax L00416E2F: mov [esi+000000BCh],eax mov [eax+000000E3h],bl mov eax,[esi+000000BCh] push edi push esi mov [ebp-04h],bl mov [eax+000000B4h],edi mov ecx,[esi+000000BCh] call SUB_L004415C0 push 00000158h call SUB_L0049A820 add esp,00000004h mov [ebp-1Ch],eax cmp eax,ebx mov byte ptr [ebp-04h],06h jz L00416EA2 mov edx,[esi+30h] push ebx push edi push edi push 00000386h push edi push 000003E7h push edi mov ecx,00000113h push 0000000Ch push 0000001Bh sub ecx,edx push esi push ecx mov ecx,[esi+2Ch] mov edx,00000156h sub edx,ecx mov ecx,eax push edx call SUB_L0041A980 jmp L00416EA4 L00416EA2: xor eax,eax L00416EA4: mov [esi+000000C0h],eax mov [eax+000000E3h],bl mov eax,[esi+000000C0h] push edi push esi mov [ebp-04h],bl mov [eax+000000B4h],edi mov ecx,[esi+000000C0h] call SUB_L004415C0 push 00000158h call SUB_L0049A820 add esp,00000004h mov [ebp-1Ch],eax cmp eax,ebx mov byte ptr [ebp-04h],07h jz L00416F14 mov edx,[esi+30h] push ebx push edi push edi push 00000386h push edi push 00000023h push edi mov ecx,000000D6h push 0000000Ch push 0000001Bh sub ecx,edx push esi push ecx mov ecx,[esi+2Ch] mov edx,00000112h sub edx,ecx mov ecx,eax push edx call SUB_L0041A980 jmp L00416F16 L00416F14: xor eax,eax L00416F16: mov [esi+000000A0h],eax mov dword ptr [eax+000000E8h],00000016h mov eax,[esi+000000A0h] mov [ebp-04h],bl mov [eax+000000E3h],bl mov ecx,[esi+000000A0h] mov [ecx+000000B4h],edi mov ecx,[esi+000000A0h] call SUB_L0041AC50 mov ecx,[esi+000000A0h] push edi push esi call SUB_L004415C0 push 00000158h call SUB_L0049A820 add esp,00000004h mov [ebp-1Ch],eax cmp eax,ebx mov byte ptr [ebp-04h],08h jz L00416FA1 mov ecx,[esi+30h] push ebx push edi push edi push 00000386h push edi push 00000023h push edi mov edx,000000F4h push 0000000Ch push 0000001Bh sub edx,ecx push esi push edx mov edx,[esi+2Ch] mov ecx,00000111h sub ecx,edx push ecx mov ecx,eax call SUB_L0041A980 jmp L00416FA3 L00416FA1: xor eax,eax L00416FA3: mov [esi+000000A4h],eax mov dword ptr [eax+000000E8h],00000015h mov edx,[esi+000000A4h] mov [ebp-04h],bl mov [edx+000000E3h],bl mov eax,[esi+000000A4h] mov [eax+000000B4h],edi mov ecx,[esi+000000A4h] call SUB_L0041AC50 mov ecx,[esi+000000A4h] push edi push esi call SUB_L004415C0 push 00000158h call SUB_L0049A820 add esp,00000004h mov [ebp-1Ch],eax cmp eax,ebx mov byte ptr [ebp-04h],09h jz L0041702E mov edx,[esi+30h] push ebx push edi push edi push 00000386h push edi push 00000023h push edi mov ecx,00000113h push 0000000Ch push 0000001Bh sub ecx,edx push esi push ecx mov ecx,[esi+2Ch] mov edx,00000111h sub edx,ecx mov ecx,eax push edx call SUB_L0041A980 jmp L00417030 L0041702E: xor eax,eax L00417030: mov [esi+000000A8h],eax mov dword ptr [eax+000000E8h],00000016h mov eax,[esi+000000A8h] mov [ebp-04h],bl mov [eax+000000E3h],bl mov ecx,[esi+000000A8h] mov [ecx+000000B4h],edi mov ecx,[esi+000000A8h] call SUB_L0041AC50 mov ecx,[esi+000000A8h] push edi push esi call SUB_L004415C0 push 000000B4h call SUB_L0049A820 add esp,00000004h mov [ebp-1Ch],eax cmp eax,ebx mov byte ptr [ebp-04h],0Ah jz L004170B9 mov ecx,[esi+2Ch] mov edi,[esi+30h] mov edx,0000010Dh push 000004B9h sub edx,ecx push esi push edx mov edx,000000DCh sub edx,edi push ebx push edx mov edx,000000B3h sub edx,ecx mov ecx,eax push edx call SUB_L00412A50 jmp L004170BB L004170B9: xor eax,eax L004170BB: mov edi,000004BAh mov [esi+000000ACh],eax mov [eax+000000ACh],di mov eax,[esi+000000A0h] push 00000023h mov [ebp-04h],bl mov ecx,[eax+000000E8h] sub ecx,0000000Ah push ecx mov ecx,[esi+000000ACh] call SUB_L00412F50 mov ecx,[esi+000000ACh] push 00000001h push esi call SUB_L004415C0 push 000000B4h call SUB_L0049A820 add esp,00000004h mov [ebp-1Ch],eax cmp eax,ebx mov byte ptr [ebp-04h],0Bh jz L0041713F mov ecx,[esi+2Ch] mov edx,0000010Dh push 000004B9h sub edx,ecx push esi push edx mov edx,000000FAh push ebx sub edx,[esi+30h] push edx mov edx,000000B3h sub edx,ecx mov ecx,eax push edx call SUB_L00412A50 jmp L00417141 L0041713F: xor eax,eax L00417141: mov [esi+000000B0h],eax mov [eax+000000ACh],di mov eax,[esi+000000A4h] push 00000023h mov [ebp-04h],bl mov ecx,[eax+000000E8h] sub ecx,0000000Ah push ecx mov ecx,[esi+000000B0h] call SUB_L00412F50 mov ecx,[esi+000000B0h] push 00000001h push esi call SUB_L004415C0 push 000000B4h call SUB_L0049A820 add esp,00000004h mov [ebp-1Ch],eax cmp eax,ebx mov byte ptr [ebp-04h],0Ch jz L004171C0 mov ecx,[esi+2Ch] mov edx,0000010Dh push 000004B9h sub edx,ecx push esi push edx mov edx,00000118h push ebx sub edx,[esi+30h] push edx mov edx,000000B3h sub edx,ecx mov ecx,eax push edx call SUB_L00412A50 jmp L004171C2 L004171C0: xor eax,eax L004171C2: mov [esi+000000B4h],eax mov [eax+000000ACh],di mov eax,[esi+000000A8h] push 00000023h mov [ebp-04h],bl mov ecx,[eax+000000E8h] sub ecx,0000000Ah push ecx mov ecx,[esi+000000B4h] call SUB_L00412F50 mov ecx,[esi+000000B4h] push 00000001h push esi call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp-1Ch],eax cmp eax,ebx mov byte ptr [ebp-04h],0Dh jz L00417247 mov edi,[esi+30h] push ebx push 000004BDh mov edx,000000B1h push 000004BCh push L00410E30 sub edx,edi mov edi,[esi+2Ch] push ebx mov ecx,0000011Bh push ebx push esi sub ecx,edi push edx push ecx mov ecx,eax call SUB_L004122F0 jmp L00417249 L00417247: xor eax,eax L00417249: push 00000001h push esi mov ecx,eax mov [ebp-04h],bl mov dword ptr [eax+000000A4h],000004BEh call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp-1Ch],eax cmp eax,ebx mov byte ptr [ebp-04h],0Eh jz L004172AA mov edi,[esi+30h] push ebx push 000004C3h mov edx,00000136h push 000004C2h push L0040EA30 sub edx,edi mov edi,[esi+2Ch] push ebx mov ecx,000000B6h push ebx push esi sub ecx,edi push edx push ecx mov ecx,eax call SUB_L004122F0 jmp L004172AC L004172AA: xor eax,eax L004172AC: push 00000001h push esi mov ecx,eax mov [ebp-04h],bl mov dword ptr [eax+000000A4h],000004C4h call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp-1Ch],eax cmp eax,ebx mov byte ptr [ebp-04h],0Fh jz L0041730D mov edi,[esi+30h] push ebx push 000004C0h mov edx,00000136h push 000004BFh push L0040E8C0 sub edx,edi mov edi,[esi+2Ch] push ebx mov ecx,00000196h push ebx push esi sub ecx,edi push edx push ecx mov ecx,eax call SUB_L004122F0 jmp L0041730F L0041730D: xor eax,eax L0041730F: push 00000001h push esi mov ecx,eax mov [ebp-04h],bl mov dword ptr [eax+000000A4h],000004C1h call SUB_L004415C0 mov edx,[esi+000000A0h] mov eax,[esi+000000B8h] mov ecx,[edx+000000E8h] mov [eax+000000E8h],ecx mov ecx,[esi+000000B8h] call SUB_L0041AC50 mov edx,[esi+000000A8h] mov eax,[esi+000000BCh] mov ecx,[edx+000000E8h] mov [eax+000000E8h],ecx mov ecx,[esi+000000BCh] call SUB_L0041AC50 mov edx,[esi+000000A4h] mov eax,[esi+000000C0h] mov ecx,[edx+000000E8h] mov [eax+000000E8h],ecx mov ecx,[esi+000000C0h] call SUB_L0041AC50 lea edx,[ebp-10h] mov ecx,000004BBh push edx lea edx,[ebp-14h] call SUB_L004390A0 push 000000B0h call SUB_L0049A820 mov edi,eax add esp,00000004h mov [ebp-1Ch],edi cmp edi,ebx mov byte ptr [ebp-04h],10h jz L004173E0 mov eax,[ebp-10h] mov ecx,[ebp-14h] push FFFFFFFFh push ebx push FFFFFFFFh push eax push ecx push ebx push 00000079h push 00000200h mov ecx,edi call SUB_L00442DD0 mov dword ptr [edi],L004B7A98 mov eax,edi jmp L004173E2 L004173E0: xor eax,eax L004173E2: mov [esi+000000C8h],eax mov edx,[eax+20h] mov ecx,[eax+1Ch] push edx mov edx,[eax+38h] push ecx mov ecx,SUB_L00488700 mov [ebp-04h],bl mov eax,[edx+04h] mov edx,000004BBh add eax,00000004h push eax push ebx push ebx call SUB_L00439100 mov ecx,[esi+000000C8h] push 00000001h push ebx call SUB_L004415C0 mov ecx,00000005h call SUB_L00455460 mov ecx,[esi+000000C4h] mov edx,[L004C4DC8+eax*4] mov [ecx+000000E8h],edx mov eax,[esi+000000C4h] push eax mov ecx,esi call SUB_L00417CE0 mov ecx,[ebp-0Ch] mov eax,esi pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 L00417460: push ebp mov ebp,esp push esi mov esi,ecx call SUB_L00417490 test byte ptr [ebp+08h],01h jz L0041747A push esi call SUB_L0049A810 add esp,00000004h L0041747A: mov eax,esi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00417490: push ebp mov ebp,esp push FFFFFFFFh push L004B1DA8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx push edi mov [ebp-10h],esi mov dword ptr [esi],L004B7D28 xor edi,edi mov [L00669654],edi mov eax,[esi+38h] mov [ebp-04h],edi mov eax,[eax+04h] cmp eax,edi jz L004174E1 push SSZ004C4FA0_CharStat_frame0_pBMP push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov ecx,[esi+38h] mov [ecx+04h],edi L004174E1: mov eax,[esi+38h] cmp eax,edi jz L004174FB push SSZ004C4F8C_CharStat_framedata push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov [esi+38h],edi L004174FB: mov ecx,esi mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00441D50 mov ecx,[ebp-0Ch] pop edi mov fs:[00000000h],ecx pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 SUB_L00417520: push ebp mov ebp,esp sub esp,00000008h push esi mov esi,ecx mov ecx,[esi+48h] test ecx,ecx jz L004175BA mov eax,[ebp+08h] mov edx,[ebp+0Ch] mov [ebp-04h],eax mov [ebp-08h],edx lea eax,[ebp-08h] lea edx,[ebp-04h] push eax push edx call SUB_L00440CD0 mov ecx,[esi+0000009Ch] mov eax,[ebp-04h] dec ecx cmp eax,ecx jl L004175BA mov edx,[esi+000000A0h] add edx,0000000Ch cmp eax,edx jg L004175BA mov eax,[esi+000000A4h] mov ecx,[ebp-08h] lea edx,[eax-01h] cmp ecx,edx jl L004175BA add eax,0000000Ch cmp ecx,eax jg L004175BA mov [L006A9DD4],esi mov eax,[esi] push 00000006h push 00000006h mov ecx,esi call [eax+14h] lea ecx,[ebp+0Ch] lea edx,[ebp+08h] push ecx push edx mov ecx,esi call SUB_L00440CD0 mov ecx,[ebp+0Ch] mov edx,[ebp+08h] mov eax,[esi] push ecx push edx mov ecx,esi call [eax+2Ch] mov eax,00000001h pop esi mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L004175BA: xor eax,eax pop esi mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 L004175D0: push ebp mov ebp,esp push ecx push ebx mov ebx,[ebp+0Ch] push esi mov esi,ecx lea eax,[ebp+08h] push edi mov edi,[ebp+08h] lea ecx,[ebp-04h] push eax push ecx mov ecx,esi mov [ebp-04h],edi mov [ebp+08h],ebx call SUB_L00440C60 mov edx,[ebp+08h] mov eax,[ebp-04h] mov ecx,[esi+000000ACh] push edx push eax call SUB_L00417520 test eax,eax jnz L00417649 mov ecx,[ebp+08h] mov edx,[ebp-04h] push ecx mov ecx,[esi+000000B0h] push edx call SUB_L00417520 test eax,eax jnz L00417649 mov eax,[ebp+08h] mov ecx,[ebp-04h] push eax push ecx mov ecx,[esi+000000B4h] call SUB_L00417520 test eax,eax jnz L00417649 mov dword ptr [esi+00000094h],00000001h mov [esi+6Ch],edi mov [esi+70h],ebx L00417649: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 L00417660: push ebp mov ebp,esp mov eax,[ebp+10h] push ebx push esi mov esi,ecx push edi cmp eax,[esi+000000ACh] jnz L0041783C mov ecx,[ebp+08h] push 0000E023h mov eax,ecx shl eax,03h sub eax,ecx mov ecx,[esi+000000A0h] lea eax,[eax+eax*4] cdq idiv [ebp+0Ch] mov [ecx+000000E8h],eax mov eax,[esi+000000A0h] mov ecx,[eax+000000E8h] add ecx,0000000Ah mov [eax+000000E8h],ecx mov ecx,[esi+000000A0h] mov edx,[ecx] call [edx+44h] mov ecx,[esi+000000A0h] call SUB_L0041AC50 mov ecx,[esi+000000A4h] mov edx,[esi+000000A8h] mov eax,[esi+000000A0h] mov ecx,[ecx+000000E8h] mov ebx,[edx+000000E8h] mov eax,[eax+000000E8h] lea edx,[ebx+ecx] add edx,eax cmp edx,00000041h jbe L004177B4 lea edi,[edx-41h] mov eax,edi cdq sub eax,edx lea edx,[ecx-0Ah] sar eax,1 sub edi,eax cmp eax,edx jle L00417713 sub eax,ecx lea edi,[edi+eax+0Ah] mov eax,edx jmp L00417722 L00417713: lea edx,[ebx-0Ah] cmp edi,edx jle L00417722 sub edi,ebx lea eax,[eax+edi+0Ah] mov edi,edx L00417722: sub ecx,eax mov eax,[esi+000000A4h] push 0000E023h mov [eax+000000E8h],ecx mov ecx,[esi+000000A4h] mov eax,[ecx] call [eax+44h] mov ecx,[esi+000000A4h] call SUB_L0041AC50 mov ecx,[esi+000000A4h] push 00000023h mov edx,[ecx+000000E8h] mov ecx,[esi+000000B0h] sub edx,0000000Ah push edx call SUB_L00412F50 mov eax,[esi+000000A8h] push 0000E023h mov ebx,[eax+000000E8h] sub ebx,edi mov [eax+000000E8h],ebx mov ecx,[esi+000000A8h] mov eax,[ecx] call [eax+44h] mov ecx,[esi+000000A8h] call SUB_L0041AC50 mov ecx,[esi+000000A8h] push 00000023h mov edx,[ecx+000000E8h] mov ecx,[esi+000000B4h] sub edx,0000000Ah push edx jmp L00417C6B L004177B4: jnc L00417C70 mov edi,00000041h sub edi,eax sub edi,ebx sub edi,ecx mov eax,edi cdq sub eax,edx mov edx,0000002Dh sar eax,1 sub edx,ecx sub edi,eax cmp eax,edx jle L004177E3 add eax,ecx lea edi,[edi+eax-2Dh] mov eax,edx jmp L004177F6 L004177E3: mov edx,0000002Dh sub edx,ebx cmp edi,edx jle L004177F6 add edi,ebx lea eax,[eax+edi-2Dh] mov edi,edx L004177F6: add ecx,eax mov eax,[esi+000000A4h] push 0000E023h mov [eax+000000E8h],ecx mov ecx,[esi+000000A4h] mov edx,[ecx] call [edx+44h] mov ecx,[esi+000000A4h] call SUB_L0041AC50 mov eax,[esi+000000A4h] push 00000023h mov ecx,[eax+000000E8h] sub ecx,0000000Ah push ecx mov ecx,[esi+000000B0h] jmp L00417A08 L0041783C: cmp eax,[esi+000000B0h] jnz L00417A59 mov ecx,[ebp+08h] push 0000E023h mov eax,ecx shl eax,03h sub eax,ecx lea eax,[eax+eax*4] cdq idiv [ebp+0Ch] mov edx,[esi+000000A4h] mov [edx+000000E8h],eax mov eax,[esi+000000A4h] mov ecx,[eax+000000E8h] add ecx,0000000Ah mov [eax+000000E8h],ecx mov ecx,[esi+000000A4h] mov eax,[ecx] call [eax+44h] mov ecx,[esi+000000A4h] call SUB_L0041AC50 mov eax,[esi+000000A0h] mov edx,[esi+000000A4h] mov ecx,[eax+000000E8h] mov eax,[edx+000000E8h] mov edx,[esi+000000A8h] mov ebx,[edx+000000E8h] lea edx,[ebx+eax] add edx,ecx cmp edx,00000041h jbe L00417985 lea edi,[edx-41h] mov eax,edi cdq sub eax,edx lea edx,[ecx-0Ah] sar eax,1 sub edi,eax cmp eax,edx jle L004178E4 sub eax,ecx lea edi,[edi+eax+0Ah] mov eax,edx jmp L004178F3 L004178E4: lea edx,[ebx-0Ah] cmp edi,edx jle L004178F3 sub edi,ebx lea eax,[eax+edi+0Ah] mov edi,edx L004178F3: sub ecx,eax mov eax,[esi+000000A0h] push 0000E023h mov [eax+000000E8h],ecx mov ecx,[esi+000000A0h] mov eax,[ecx] call [eax+44h] mov ecx,[esi+000000A0h] call SUB_L0041AC50 mov ecx,[esi+000000A0h] push 00000023h mov edx,[ecx+000000E8h] mov ecx,[esi+000000ACh] sub edx,0000000Ah push edx call SUB_L00412F50 mov eax,[esi+000000A8h] push 0000E023h mov ebx,[eax+000000E8h] sub ebx,edi mov [eax+000000E8h],ebx mov ecx,[esi+000000A8h] mov eax,[ecx] call [eax+44h] mov ecx,[esi+000000A8h] call SUB_L0041AC50 mov ecx,[esi+000000A8h] push 00000023h mov edx,[ecx+000000E8h] mov ecx,[esi+000000B4h] sub edx,0000000Ah push edx jmp L00417C6B L00417985: jnc L00417C70 mov edi,00000041h sub edi,ecx sub edi,ebx sub edi,eax mov eax,edi cdq sub eax,edx mov edx,0000002Dh sar eax,1 sub edx,ecx sub edi,eax cmp eax,edx jle L004179B4 add eax,ecx lea edi,[edi+eax-2Dh] mov eax,edx jmp L004179C7 L004179B4: mov edx,0000002Dh sub edx,ebx cmp edi,edx jle L004179C7 add edi,ebx lea eax,[eax+edi-2Dh] mov edi,edx L004179C7: add ecx,eax mov eax,[esi+000000A0h] push 0000E023h mov [eax+000000E8h],ecx mov ecx,[esi+000000A0h] mov edx,[ecx] call [edx+44h] mov ecx,[esi+000000A0h] call SUB_L0041AC50 mov eax,[esi+000000A0h] push 00000023h mov ecx,[eax+000000E8h] sub ecx,0000000Ah push ecx mov ecx,[esi+000000ACh] L00417A08: call SUB_L00412F50 mov eax,[esi+000000A8h] push 0000E023h mov ecx,[eax+000000E8h] add ecx,edi mov [eax+000000E8h],ecx mov ecx,[esi+000000A8h] mov edx,[ecx] call [edx+44h] mov ecx,[esi+000000A8h] call SUB_L0041AC50 mov eax,[esi+000000A8h] push 00000023h mov ecx,[eax+000000E8h] sub ecx,0000000Ah push ecx mov ecx,[esi+000000B4h] jmp L00417C6B L00417A59: cmp eax,[esi+000000B4h] jnz L00417CD9 mov ecx,[ebp+08h] push 0000E023h mov eax,ecx shl eax,03h sub eax,ecx lea eax,[eax+eax*4] cdq idiv [ebp+0Ch] mov edx,[esi+000000A8h] mov [edx+000000E8h],eax mov eax,[esi+000000A8h] mov ecx,[eax+000000E8h] add ecx,0000000Ah mov [eax+000000E8h],ecx mov ecx,[esi+000000A8h] mov eax,[ecx] call [eax+44h] mov ecx,[esi+000000A8h] call SUB_L0041AC50 mov eax,[esi+000000A0h] mov edx,[esi+000000A4h] mov ecx,[eax+000000E8h] mov eax,[esi+000000A8h] mov ebx,[edx+000000E8h] mov eax,[eax+000000E8h] lea edx,[eax+ebx] add edx,ecx cmp edx,00000041h jbe L00417B9C lea edi,[edx-41h] mov eax,edi cdq sub eax,edx lea edx,[ecx-0Ah] sar eax,1 sub edi,eax cmp eax,edx jle L00417B01 sub eax,ecx lea edi,[edi+eax+0Ah] mov eax,edx jmp L00417B10 L00417B01: lea edx,[ebx-0Ah] cmp edi,edx jle L00417B10 sub edi,ebx lea eax,[eax+edi+0Ah] mov edi,edx L00417B10: sub ecx,eax mov eax,[esi+000000A0h] push 0000E023h mov [eax+000000E8h],ecx mov ecx,[esi+000000A0h] mov eax,[ecx] call [eax+44h] mov ecx,[esi+000000A0h] call SUB_L0041AC50 mov ecx,[esi+000000A0h] push 00000023h mov edx,[ecx+000000E8h] mov ecx,[esi+000000ACh] sub edx,0000000Ah push edx call SUB_L00412F50 mov eax,[esi+000000A4h] push 0000E023h mov ebx,[eax+000000E8h] sub ebx,edi mov [eax+000000E8h],ebx mov ecx,[esi+000000A4h] mov eax,[ecx] call [eax+44h] mov ecx,[esi+000000A4h] call SUB_L0041AC50 mov ecx,[esi+000000A4h] push 00000023h mov edx,[ecx+000000E8h] sub edx,0000000Ah push edx jmp L00417C65 L00417B9C: jnc L00417C70 mov edi,00000041h sub edi,ecx sub edi,eax sub edi,ebx mov eax,edi cdq sub eax,edx mov edx,0000002Dh sar eax,1 sub edx,ecx sub edi,eax cmp eax,edx jle L00417BCB add eax,ecx lea edi,[edi+eax-2Dh] mov eax,edx jmp L00417BDE L00417BCB: mov edx,0000002Dh sub edx,ebx cmp edi,edx jle L00417BDE add edi,ebx lea eax,[eax+edi-2Dh] mov edi,edx L00417BDE: add ecx,eax mov eax,[esi+000000A0h] push 0000E023h mov [eax+000000E8h],ecx mov ecx,[esi+000000A0h] mov edx,[ecx] call [edx+44h] mov ecx,[esi+000000A0h] call SUB_L0041AC50 mov eax,[esi+000000A0h] push 00000023h mov ecx,[eax+000000E8h] sub ecx,0000000Ah push ecx mov ecx,[esi+000000ACh] call SUB_L00412F50 mov eax,[esi+000000A4h] push 0000E023h mov ecx,[eax+000000E8h] add ecx,edi mov [eax+000000E8h],ecx mov ecx,[esi+000000A4h] mov edx,[ecx] call [edx+44h] mov ecx,[esi+000000A4h] call SUB_L0041AC50 mov eax,[esi+000000A4h] push 00000023h mov ecx,[eax+000000E8h] sub ecx,0000000Ah push ecx L00417C65: mov ecx,[esi+000000B0h] L00417C6B: call SUB_L00412F50 L00417C70: mov edx,[esi+000000A0h] mov eax,[esi+000000B8h] mov ecx,[edx+000000E8h] mov [eax+000000E8h],ecx mov ecx,[esi+000000B8h] call SUB_L0041AC50 mov edx,[esi+000000A8h] mov eax,[esi+000000BCh] mov ecx,[edx+000000E8h] mov [eax+000000E8h],ecx mov ecx,[esi+000000BCh] call SUB_L0041AC50 mov edx,[esi+000000A4h] mov eax,[esi+000000C0h] mov ecx,[edx+000000E8h] mov [eax+000000E8h],ecx mov ecx,[esi+000000C0h] call SUB_L0041AC50 L00417CD9: pop edi pop esi pop ebx pop ebp retn 000Ch ;------------------------------------------------------------------------------ SUB_L00417CE0: push ebp mov ebp,esp mov eax,[ecx+000000C4h] mov edx,[ebp+08h] cmp edx,eax jnz L00417E81 mov eax,[eax+000000E8h] dec eax cmp eax,0000000Dh ja L00417E81 jmp [CASE_PROCTABLE_00417E88+eax*4] CASE_00417E88_PROC0000: push 00000021h push 00000021h push 00000022h push 00000024h push 0000001Ah push 00000000h push 00000032h push 0000001Eh push 00000014h call SUB_L00418030 pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_00417E88_PROC0001: push 00000021h push 00000022h push 00000021h push 00000027h push 00000023h push 00000002h push 00000032h push 00000019h push 00000019h call SUB_L00418030 pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_00417E88_PROC0002: push 00000021h push 00000022h push 00000021h push 00000024h push 0000001Eh push 00000015h push 0000002Dh push 00000023h push 00000014h call SUB_L00418030 pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_00417E88_PROC0003: push 00000022h push 00000021h push 00000021h push 0000001Dh push 00000016h push 00000009h push 00000023h push 0000002Dh push 00000014h call SUB_L00418030 pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_00417E88_PROC0004: push 00000022h push 00000021h push 00000021h push 00000007h push 00000005h push 00000004h push 00000019h push 00000019h push 00000032h call SUB_L00418030 pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_00417E88_PROC0005: push 00000021h push 00000022h push 00000021h push 0000001Fh push 00000008h push 00000005h push 00000019h push 00000032h push 00000019h call SUB_L00418030 pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_00417E88_PROC0006: push 00000021h push 00000022h push 00000021h push 00000013h push 00000011h push 00000001h push 00000032h push 0000001Eh push 00000014h call SUB_L00418030 pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_00417E88_PROC0007: push 00000022h push 00000021h push 00000021h push 00000026h push 0000001Fh push 0000000Ah push 00000022h push 00000021h push 00000021h call SUB_L00418030 pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_00417E88_PROC0008: push 00000021h push 00000022h push 00000021h push 00000027h push 00000014h push 00000002h push 00000028h push 00000028h push 00000014h call SUB_L00418030 pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_00417E88_PROC0009: push 00000022h push 00000021h push 00000021h push 00000021h push 00000018h push 0000001Ch push 0000001Eh push 00000032h push 00000014h call SUB_L00418030 pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_00417E88_PROC000A: push 00000022h push 00000021h push 00000021h push 00000025h push 00000018h push 00000003h push 00000028h push 00000028h push 00000014h call SUB_L00418030 pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_00417E88_PROC000B: push 00000022h push 00000021h push 00000021h push 0000000Ch push 00000004h push 00000003h push 00000032h push 0000001Eh push 00000014h call SUB_L00418030 pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_00417E88_PROC000C: push 00000022h push 00000021h push 00000021h push 0000001Bh push 00000005h push 00000004h push 00000018h push 00000026h push 00000026h call SUB_L00418030 pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_00417E88_PROC000D: push 00000021h push 00000022h push 00000021h push 0000001Ah push 00000019h push 00000017h push 00000032h push 00000019h push 00000019h call SUB_L00418030 L00417E81: pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_00417E88: dd CASE_00417E88_PROC0000 dd CASE_00417E88_PROC0001 dd CASE_00417E88_PROC0002 dd CASE_00417E88_PROC0003 dd CASE_00417E88_PROC0004 dd CASE_00417E88_PROC0005 dd CASE_00417E88_PROC0006 dd CASE_00417E88_PROC0007 dd CASE_00417E88_PROC0008 dd CASE_00417E88_PROC0009 dd CASE_00417E88_PROC000A dd CASE_00417E88_PROC000B dd CASE_00417E88_PROC000C dd CASE_00417E88_PROC000D L00417EC0: push esi push edi mov edi,[L0066962C] mov esi,ecx push 00000000h call SUB_L00441340 mov ecx,L00669608 call SUB_L0043FDA0 mov eax,[esi+00000098h] cmp edi,eax jnz L00417F13 mov dword ptr [eax+000000D8h],00000000h mov ecx,[esi+00000098h] call SUB_L0041AC50 mov eax,[esi+0000009Ch] mov dword ptr [eax+000000D8h],00000001h mov ecx,[esi+0000009Ch] push ecx jmp L00417F49 L00417F13: mov eax,[esi+0000009Ch] cmp edi,eax jnz L00417F53 mov dword ptr [eax+000000D8h],00000000h mov ecx,[esi+0000009Ch] call SUB_L0041AC50 mov edx,[esi+00000098h] mov dword ptr [edx+000000D8h],00000001h mov eax,[esi+00000098h] push eax L00417F49: mov ecx,L00669608 call SUB_L0043FF10 L00417F53: mov ecx,[L0066962C] test ecx,ecx jz L00417F62 call SUB_L0041AC50 L00417F62: pop edi pop esi retn ;------------------------------------------------------------------------------ Align 16 L00417F70: push ebp mov ebp,esp push esi mov esi,ecx mov ecx,[ebp+08h] mov eax,[ecx+000000D8h] test eax,eax jnz L00417FFA mov eax,[esi+00000098h] cmp ecx,eax jnz L00417FC2 mov dword ptr [eax+000000D8h],00000001h mov ecx,[esi+00000098h] call SUB_L0041AC50 mov eax,[esi+0000009Ch] mov dword ptr [eax+000000D8h],00000000h mov ecx,[esi+0000009Ch] call SUB_L0041AC50 pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ L00417FC2: cmp ecx,[esi+0000009Ch] jnz L00417FFA mov dword ptr [eax+000000D8h],00000000h mov ecx,[esi+00000098h] call SUB_L0041AC50 mov ecx,[esi+0000009Ch] mov dword ptr [ecx+000000D8h],00000001h mov ecx,[esi+0000009Ch] call SUB_L0041AC50 L00417FFA: pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 4 L00418000: jmp L0040E8C0 Align 16 L00418010: jmp L0040EA30 Align 16 L00418020: mov eax,[ecx+000000C8h] mov dword ptr [eax+68h],00000001h retn ;------------------------------------------------------------------------------ Align 4 SUB_L00418030: push ebp mov ebp,esp push ecx push ebx mov ebx,[ebp+0Ch] push esi mov esi,[ebp+08h] push edi mov edi,[ebp+10h] mov [ebp-04h],ecx lea eax,[edi+ebx] add eax,esi cmp eax,00000041h jle L004180A9 mov edi,eax mov eax,esi shl eax,06h add eax,esi cdq idiv edi mov esi,eax sub edi,esi cmp esi,0000000Ah jge L00418067 mov esi,0000000Ah L00418067: mov eax,00000041h sub eax,esi imul eax,ebx cdq idiv edi mov ebx,eax cmp ebx,0000000Ah jge L00418080 mov ebx,0000000Ah L00418080: mov edi,00000041h sub edi,ebx sub edi,esi cmp edi,0000000Ah jge L004180A9 L0041808E: cmp esi,0000000Ah jnz L00418099 cmp ebx,esi jz L004180A9 cmp esi,esi L00418099: jle L0041809D dec esi inc edi L0041809D: cmp ebx,0000000Ah jle L004180A4 dec ebx inc edi L004180A4: cmp edi,0000000Ah jl L0041808E L004180A9: mov edx,[ecx+000000A0h] mov [edx+000000E8h],esi mov ecx,[ecx+000000A0h] call SUB_L0041AC50 mov eax,[ebp-04h] mov ecx,[eax+000000A4h] mov [ecx+000000E8h],ebx mov ecx,[eax+000000A4h] call SUB_L0041AC50 mov eax,[ebp-04h] mov edx,[eax+000000A8h] mov [edx+000000E8h],edi mov ecx,[eax+000000A8h] call SUB_L0041AC50 add esi,FFFFFFF6h push 00000023h push esi mov esi,[ebp-04h] mov ecx,[esi+000000ACh] call SUB_L00412F50 mov ecx,[esi+000000B0h] add ebx,FFFFFFF6h push 00000023h push ebx call SUB_L00412F50 mov ecx,[esi+000000B4h] add edi,FFFFFFF6h push 00000023h push edi call SUB_L00412F50 mov eax,[L00669658] test eax,eax jz L00418304 mov ecx,[eax+0000009Ch] mov eax,[ebp+14h] mov [ecx+000000E8h],eax mov edx,[L00669658] lea edi,[eax+eax*4] or ecx,FFFFFFFFh mov edx,[edx+0000009Ch] xor eax,eax shl edi,04h add edi,L00764170 add edx,000000ECh repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov ecx,[L00669658] mov ecx,[ecx+0000009Ch] call SUB_L0041AC50 mov edx,[L00669658] mov eax,[ebp+18h] mov ecx,[edx+000000A0h] lea edi,[eax+eax*4] shl edi,04h mov [ecx+000000E8h],eax mov edx,[L00669658] add edi,L00764170 or ecx,FFFFFFFFh mov edx,[edx+000000A0h] xor eax,eax add edx,000000ECh repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov ecx,[L00669658] mov ecx,[ecx+000000A0h] call SUB_L0041AC50 mov edx,[L00669658] mov eax,[ebp+1Ch] mov ecx,[edx+000000A4h] lea edi,[eax+eax*4] shl edi,04h mov [ecx+000000E8h],eax mov edx,[L00669658] add edi,L00764170 or ecx,FFFFFFFFh mov edx,[edx+000000A4h] xor eax,eax add edx,000000ECh repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov ecx,[L00669658] mov ecx,[ecx+000000A4h] call SUB_L0041AC50 mov edx,[L00669658] mov esi,[ebp+20h] mov eax,[edx+000000A8h] mov [eax+000000E8h],esi mov ecx,[L00669658] mov ecx,[ecx+000000A8h] call SUB_L0041AC50 mov edx,[L00669658] mov edi,[ebp+24h] mov eax,[edx+000000ACh] mov [eax+000000E8h],edi mov ecx,[L00669658] mov ecx,[ecx+000000ACh] call SUB_L0041AC50 mov edx,[L00669658] mov ebx,[ebp+28h] mov eax,[edx+000000B0h] mov [eax+000000E8h],ebx mov ecx,[L00669658] mov ecx,[ecx+000000B0h] call SUB_L0041AC50 mov edx,[L00669658] push 00000032h push esi mov ecx,[edx+000000B4h] call SUB_L00412F50 mov eax,[L00669658] push 00000032h push edi mov ecx,[eax+000000B8h] call SUB_L00412F50 mov ecx,[L00669658] push 00000032h push ebx mov ecx,[ecx+000000BCh] call SUB_L00412F50 mov esi,[ebp-04h] L00418304: mov edx,[esi+000000A0h] mov eax,[esi+000000B8h] mov ecx,[edx+000000E8h] mov [eax+000000E8h],ecx mov ecx,[esi+000000B8h] call SUB_L0041AC50 mov edx,[esi+000000A8h] mov eax,[esi+000000BCh] mov ecx,[edx+000000E8h] mov [eax+000000E8h],ecx mov ecx,[esi+000000BCh] call SUB_L0041AC50 mov edx,[esi+000000A4h] mov eax,[esi+000000C0h] mov ecx,[edx+000000E8h] mov [eax+000000E8h],ecx mov ecx,[esi+000000C0h] call SUB_L0041AC50 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0024h ;------------------------------------------------------------------------------ Align 16 SUB_L00418380: push ebp mov ebp,esp push FFFFFFFFh push L004B1E6D mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000010h push ebx push esi mov ebx,ecx push edi mov [ebp-18h],ebx call SUB_L00441CB0 lea esi,[ebx+20h] xor edi,edi mov ecx,000004CEh lea edx,[ebx+1Ch] push esi mov [ebp-04h],edi mov dword ptr [ebx],L004B7E70 mov dword ptr [ebx+04h],SSZ004C4FEC_InitSkill_gump mov [ebx+5Ch],edi mov [ebx+50h],ecx mov [ebx+60h],edi mov [ebx+4Ch],edi mov [ebx+48h],edi mov [ebx+44h],edi mov [ebx+40h],edi mov [ebx+3Ch],edi call SUB_L004390A0 push SSZ004C4FCC_framedata_for_CInitSkillGump push 00000008h mov ecx,L00669C8C mov dword ptr [ebx+2Ch],00000062h mov dword ptr [ebx+30h],00000065h mov [ebx+10h],edi mov dword ptr [ebx+14h],00000001h call SUB_L0044FBD0 mov ecx,[ebx+14h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [ebx+38h],edi push SSZ004C4FB8_initskill_frame0 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[ebx+1Ch] imul eax,[esi] lea ecx,[eax+eax+04h] push ecx mov ecx,L00669C8C call SUB_L0044FBD0 mov edx,[ebx+38h] mov [edx+04h],eax mov eax,[ebx+38h] mov dx,[ebx+1Ch] mov ecx,[eax+04h] mov [ecx],dx mov eax,[ebx+38h] mov dx,[esi] mov ecx,[eax+04h] xor eax,eax mov [ecx+02h],dx mov ecx,[ebx+1Ch] imul ecx,[esi] mov edx,[ebx+38h] shl ecx,1 mov edi,[edx+04h] mov edx,ecx add edi,00000004h shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi] mov edx,[ebx+38h] mov ecx,[ebx+1Ch] push eax mov eax,[edx+04h] push ecx add eax,00000004h push eax mov edx,[ebx+50h] push 00000000h push 00000000h mov ecx,SUB_L00488700 call SUB_L00439100 call SUB_L004156A0 push 00000158h call SUB_L0049A820 add esp,00000004h mov [ebp-1Ch],eax test eax,eax mov byte ptr [ebp-04h],01h jz L004184F9 mov edx,[ebx+30h] mov esi,[ebx+2Ch] push 00000000h push 00000001h push 00000001h push 00000386h push 00000001h mov ecx,00000096h push 00000018h push 00000002h sub ecx,edx push 00000014h mov edx,000000E5h push 000000A6h push ebx sub edx,esi push ecx push edx mov ecx,eax call SUB_L0041A980 jmp L004184FB L004184F9: xor eax,eax L004184FB: mov [ebx+0000009Ch],eax mov dword ptr [eax+000000B4h],00000001h mov ecx,[ebx+0000009Ch] push 00000001h push ebx mov byte ptr [ebp-04h],00h call SUB_L004415C0 mov eax,[ebx+0000009Ch] mov edi,L00764170 or ecx,FFFFFFFFh mov dword ptr [eax+000000E8h],00000000h mov edx,[ebx+0000009Ch] xor eax,eax add edx,000000ECh repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov ecx,[ebx+0000009Ch] call SUB_L0041AC50 push 00000158h call SUB_L0049A820 add esp,00000004h mov [ebp-1Ch],eax test eax,eax mov byte ptr [ebp-04h],02h jz L004185AE mov edi,[ebx+30h] mov esi,00000001h push 00000000h push esi push esi push 00000386h push esi push 00000032h push esi mov ecx,0000009Fh push 0000000Eh push 00000024h sub ecx,edi push ebx push ecx push 0000012Dh mov ecx,eax call SUB_L0041A980 jmp L004185B5 L004185AE: xor eax,eax mov esi,00000001h L004185B5: mov [ebx+000000A8h],eax mov dword ptr [eax+000000E8h],00000022h mov edx,[ebx+000000A8h] mov byte ptr [ebp-04h],00h mov [edx+000000B4h],esi mov ecx,[ebx+000000A8h] call SUB_L0041AC50 mov ecx,[ebx+000000A8h] push esi push ebx call SUB_L004415C0 push 00000158h call SUB_L0049A820 add esp,00000004h mov [ebp-1Ch],eax test eax,eax mov byte ptr [ebp-04h],03h jz L0041863A mov edi,[ebx+30h] push 00000000h push esi push esi push 00000386h push esi mov ecx,000000C2h push 00000018h push 00000002h sub ecx,edi mov edi,[ebx+2Ch] push 00000014h mov edx,000000E5h push 000000A6h push ebx sub edx,edi push ecx push edx mov ecx,eax call SUB_L0041A980 jmp L0041863C L0041863A: xor eax,eax L0041863C: mov [ebx+000000A0h],eax mov [eax+000000B4h],esi mov ecx,[ebx+000000A0h] push esi push ebx mov byte ptr [ebp-04h],00h call SUB_L004415C0 mov eax,[ebx+000000A0h] mov edi,L007641C0 or ecx,FFFFFFFFh mov [eax+000000E8h],esi mov edx,[ebx+000000A0h] xor eax,eax add edx,000000ECh repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov ecx,[ebx+000000A0h] call SUB_L0041AC50 push 00000158h call SUB_L0049A820 add esp,00000004h mov [ebp-1Ch],eax test eax,eax mov byte ptr [ebp-04h],04h jz L004186E5 mov esi,[ebx+30h] push 00000000h push 00000001h push 00000001h push 00000386h push 00000001h push 00000032h push 00000001h mov ecx,000000CCh push 0000000Eh push 00000024h sub ecx,esi push ebx push ecx push 0000012Eh mov ecx,eax call SUB_L0041A980 jmp L004186E7 L004186E5: xor eax,eax L004186E7: mov [ebx+000000ACh],eax mov dword ptr [eax+000000E8h],00000021h mov edx,[ebx+000000ACh] mov esi,00000001h mov byte ptr [ebp-04h],00h mov [edx+000000B4h],esi mov ecx,[ebx+000000ACh] call SUB_L0041AC50 mov ecx,[ebx+000000ACh] push esi push ebx call SUB_L004415C0 push 00000158h call SUB_L0049A820 add esp,00000004h mov [ebp-1Ch],eax test eax,eax mov byte ptr [ebp-04h],05h jz L00418771 mov edi,[ebx+30h] push 00000000h push esi push esi push 00000386h push esi mov ecx,000000EFh push 00000018h push 00000002h sub ecx,edi mov edi,[ebx+2Ch] push 00000014h mov edx,000000E5h push 000000A6h push ebx sub edx,edi push ecx push edx mov ecx,eax call SUB_L0041A980 jmp L00418773 L00418771: xor eax,eax L00418773: mov [ebx+000000A4h],eax mov [eax+000000B4h],esi mov ecx,[ebx+000000A4h] push esi push ebx mov byte ptr [ebp-04h],00h call SUB_L004415C0 mov eax,[ebx+000000A4h] mov edi,L00764210 or ecx,FFFFFFFFh mov dword ptr [eax+000000E8h],00000002h mov edx,[ebx+000000A4h] xor eax,eax add edx,000000ECh repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov ecx,[ebx+000000A4h] call SUB_L0041AC50 push 00000158h call SUB_L0049A820 add esp,00000004h mov [ebp-1Ch],eax test eax,eax mov byte ptr [ebp-04h],06h jz L00418820 mov esi,[ebx+30h] push 00000000h push 00000001h push 00000001h push 00000386h push 00000001h push 00000032h push 00000001h mov ecx,000000FAh push 0000000Eh push 00000024h sub ecx,esi push ebx push ecx push 0000012Fh mov ecx,eax call SUB_L0041A980 jmp L00418822 L00418820: xor eax,eax L00418822: mov [ebx+000000B0h],eax mov dword ptr [eax+000000E8h],00000021h mov edx,[ebx+000000B0h] mov byte ptr [ebp-04h],00h mov dword ptr [edx+000000B4h],00000001h mov ecx,[ebx+000000B0h] call SUB_L0041AC50 mov ecx,[ebx+000000B0h] push 00000001h push ebx call SUB_L004415C0 push 000000B4h call SUB_L0049A820 add esp,00000004h mov [ebp-1Ch],eax test eax,eax mov byte ptr [ebp-04h],07h jz L004188A6 mov ecx,[ebx+2Ch] mov esi,[ebx+30h] mov edx,0000018Ah push 000004B9h sub edx,ecx push ebx push edx mov edx,000000A9h sub edx,esi push 00000000h push edx mov edx,000000E4h sub edx,ecx mov ecx,eax push edx call SUB_L00412A50 jmp L004188A8 L004188A6: xor eax,eax L004188A8: mov esi,000004BAh mov [ebx+000000B4h],eax mov [eax+000000ACh],si mov eax,[ebx+000000A8h] push 00000032h mov byte ptr [ebp-04h],00h mov ecx,[eax+000000E8h] push ecx mov ecx,[ebx+000000B4h] call SUB_L00412F50 mov ecx,[ebx+000000B4h] push 00000001h push ebx call SUB_L004415C0 push 000000B4h call SUB_L0049A820 add esp,00000004h mov [ebp-1Ch],eax test eax,eax mov byte ptr [ebp-04h],08h jz L0041892D mov ecx,[ebx+2Ch] mov edi,[ebx+30h] mov edx,0000018Ah push 000004B9h sub edx,ecx push ebx push edx mov edx,000000D6h sub edx,edi push 00000000h push edx mov edx,000000E4h sub edx,ecx mov ecx,eax push edx call SUB_L00412A50 jmp L0041892F L0041892D: xor eax,eax L0041892F: mov [ebx+000000B8h],eax mov [eax+000000ACh],si mov eax,[ebx+000000ACh] push 00000032h mov byte ptr [ebp-04h],00h mov ecx,[eax+000000E8h] push ecx mov ecx,[ebx+000000B8h] call SUB_L00412F50 mov ecx,[ebx+000000B8h] push 00000001h push ebx call SUB_L004415C0 push 000000B4h call SUB_L0049A820 add esp,00000004h mov [ebp-1Ch],eax test eax,eax mov byte ptr [ebp-04h],09h jz L004189AF mov edx,[ebx+2Ch] mov edi,[ebx+30h] mov ecx,0000018Ah push 000004B9h sub ecx,edx push ebx push ecx mov ecx,00000104h sub ecx,edi push 00000000h push ecx mov ecx,000000E4h sub ecx,edx push ecx mov ecx,eax call SUB_L00412A50 jmp L004189B1 L004189AF: xor eax,eax L004189B1: mov [ebx+000000BCh],eax mov [eax+000000ACh],si mov edx,[ebx+000000B0h] mov ecx,[ebx+000000BCh] push 00000032h mov byte ptr [ebp-04h],00h mov eax,[edx+000000E8h] push eax call SUB_L00412F50 mov ecx,[ebx+000000BCh] push 00000001h push ebx call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp-1Ch],eax test eax,eax mov byte ptr [ebp-04h],0Ah jz L00418A37 mov edx,[ebx+30h] mov esi,[ebx+2Ch] push 00000000h push 000004D7h mov ecx,00000099h push 000004D6h push L004107F0 sub ecx,edx push 00000000h mov edx,000000BEh push 00000000h push ebx sub edx,esi push ecx push edx mov ecx,eax call SUB_L004122F0 jmp L00418A39 L00418A37: xor eax,eax L00418A39: push 00000001h push ebx mov ecx,eax mov byte ptr [ebp-04h],00h mov dword ptr [eax+000000A4h],000004D8h call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp-1Ch],eax test eax,eax mov byte ptr [ebp-04h],0Bh jz L00418A9E mov edx,[ebx+30h] mov esi,[ebx+2Ch] push 00000000h push 000004DAh mov ecx,000000C6h push 000004D9h push L004108C0 sub ecx,edx push 00000000h mov edx,000000BCh push 00000000h push ebx sub edx,esi push ecx push edx mov ecx,eax call SUB_L004122F0 jmp L00418AA0 L00418A9E: xor eax,eax L00418AA0: push 00000001h push ebx mov ecx,eax mov byte ptr [ebp-04h],00h mov dword ptr [eax+000000A4h],000004DBh call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp-1Ch],eax test eax,eax mov byte ptr [ebp-04h],0Ch jz L00418B05 mov edx,[ebx+30h] mov esi,[ebx+2Ch] push 00000000h push 000004DDh mov ecx,000000F2h push 000004DCh push L00410990 sub ecx,edx push 00000000h mov edx,000000BCh push 00000000h push ebx sub edx,esi push ecx push edx mov ecx,eax call SUB_L004122F0 jmp L00418B07 L00418B05: xor eax,eax L00418B07: push 00000001h push ebx mov ecx,eax mov byte ptr [ebp-04h],00h mov dword ptr [eax+000000A4h],000004DEh call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp-1Ch],eax test eax,eax mov byte ptr [ebp-04h],0Dh jz L00418B6C mov edx,[ebx+30h] mov esi,[ebx+2Ch] push 00000000h push 000004D4h mov ecx,00000130h push 000004D3h push L0040ECD0 sub ecx,edx push 00000000h mov edx,000000BFh push 00000000h push ebx sub edx,esi push ecx push edx mov ecx,eax call SUB_L004122F0 jmp L00418B6E L00418B6C: xor eax,eax L00418B6E: push 00000001h push ebx mov ecx,eax mov byte ptr [ebp-04h],00h mov dword ptr [eax+000000A4h],000004D5h call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp-1Ch],eax test eax,eax mov byte ptr [ebp-04h],0Eh jz L00418BD3 mov edx,[ebx+30h] mov esi,[ebx+2Ch] push 00000000h push 000004D1h mov ecx,0000012Fh push 000004D0h push L0040EB90 sub ecx,edx push 00000000h mov edx,0000017Ah push 00000000h push ebx sub edx,esi push ecx push edx mov ecx,eax call SUB_L004122F0 jmp L00418BD5 L00418BD3: xor eax,eax L00418BD5: push 00000001h push ebx mov ecx,eax mov byte ptr [ebp-04h],00h mov dword ptr [eax+000000A4h],000004D2h call SUB_L004415C0 lea eax,[ebp-10h] lea edx,[ebp-14h] push eax mov ecx,000004CFh call SUB_L004390A0 push 000000B0h call SUB_L0049A820 mov esi,eax add esp,00000004h mov [ebp-1Ch],esi test esi,esi mov byte ptr [ebp-04h],0Fh jz L00418C40 mov ecx,[ebp-10h] mov edx,[ebp-14h] push FFFFFFFFh push 00000000h push FFFFFFFFh push ecx push edx push 00000000h push 00000078h push 00000205h mov ecx,esi call SUB_L00442DD0 mov dword ptr [esi],L004B7A98 mov eax,esi jmp L00418C42 L00418C40: xor eax,eax L00418C42: mov [ebx+00000098h],eax mov ecx,[eax+20h] mov edx,[eax+1Ch] mov eax,[eax+38h] push ecx push edx mov ecx,[eax+04h] mov edx,000004CFh add ecx,00000004h mov byte ptr [ebp-04h],00h push ecx push 00000000h push 00000000h mov ecx,SUB_L00488700 call SUB_L00439100 mov ecx,[ebx+00000098h] push 00000001h push 00000000h call SUB_L004415C0 mov ecx,[ebp-0Ch] pop edi mov eax,ebx pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 L00418CA0: push ebp mov ebp,esp push esi mov esi,ecx call SUB_L00418CD0 test byte ptr [ebp+08h],01h jz L00418CBA push esi call SUB_L0049A810 add esp,00000004h L00418CBA: mov eax,esi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00418CD0: push ebp mov ebp,esp push FFFFFFFFh push L004B1E88 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx push edi mov [ebp-10h],esi mov dword ptr [esi],L004B7E70 xor edi,edi mov [L00669658],edi mov eax,[esi+38h] mov [ebp-04h],edi mov eax,[eax+04h] cmp eax,edi jz L00418D21 push SSZ004C5010_InitSkill_frame0_pBMP push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov ecx,[esi+38h] mov [ecx+04h],edi L00418D21: mov eax,[esi+38h] cmp eax,edi jz L00418D3B push SSZ004C4FFC_InitSkill_framedata push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov [esi+38h],edi L00418D3B: mov ecx,esi mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00441D50 mov ecx,[ebp-0Ch] pop edi mov fs:[00000000h],ecx pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 L00418D60: push ebp mov ebp,esp push ecx push ebx mov ebx,[ebp+0Ch] push esi mov esi,ecx lea eax,[ebp+08h] push edi mov edi,[ebp+08h] lea ecx,[ebp-04h] push eax push ecx mov ecx,esi mov [ebp-04h],edi mov [ebp+08h],ebx call SUB_L00440C60 mov edx,[ebp+08h] mov eax,[ebp-04h] mov ecx,[esi+000000B4h] push edx push eax call SUB_L00417520 test eax,eax jnz L00418DD9 mov ecx,[ebp+08h] mov edx,[ebp-04h] push ecx mov ecx,[esi+000000B8h] push edx call SUB_L00417520 test eax,eax jnz L00418DD9 mov eax,[ebp+08h] mov ecx,[ebp-04h] push eax push ecx mov ecx,[esi+000000BCh] call SUB_L00417520 test eax,eax jnz L00418DD9 mov dword ptr [esi+00000094h],00000001h mov [esi+6Ch],edi mov [esi+70h],ebx L00418DD9: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 L00418DF0: push ebp mov ebp,esp mov eax,[ebp+10h] push ebx push esi mov esi,ecx push edi cmp eax,[esi+000000B4h] jnz L00418F52 mov eax,[ebp+08h] mov ecx,[esi+000000A8h] push 0000E023h lea eax,[eax+eax*4] lea eax,[eax+eax*4] shl eax,1 cdq idiv [ebp+0Ch] mov [ecx+000000E8h],eax mov ecx,[esi+000000A8h] mov edx,[ecx] call [edx+44h] mov ecx,[esi+000000A8h] call SUB_L0041AC50 mov eax,[esi+000000ACh] mov edx,[esi+000000B0h] mov [ebp+08h],eax mov ecx,[eax+000000E8h] mov eax,[esi+000000A8h] mov ebx,[edx+000000E8h] mov eax,[eax+000000E8h] lea edx,[ebx+eax] add edx,ecx cmp edx,00000064h jbe L00418ED0 lea edi,[edx-64h] mov eax,edi cdq sub eax,edx sar eax,1 sub edi,eax cmp eax,ecx jle L00418E86 sub eax,ecx add edi,eax mov eax,ecx jmp L00418E90 L00418E86: cmp edi,ebx jle L00418E90 sub edi,ebx add eax,edi mov edi,ebx L00418E90: sub ecx,eax mov eax,[ebp+08h] push 0000E023h mov [eax+000000E8h],ecx mov ecx,[esi+000000ACh] mov edx,[ecx] call [edx+44h] mov ecx,[esi+000000ACh] call SUB_L0041AC50 mov eax,[esi+000000ACh] push 00000032h mov ecx,[eax+000000E8h] push ecx mov ecx,[esi+000000B8h] jmp L00419026 L00418ED0: jnc L00419341 mov edi,00000064h sub edi,ebx sub edi,ecx sub edi,eax mov eax,edi cdq sub eax,edx mov edx,00000032h sar eax,1 sub edx,ecx sub edi,eax cmp eax,edx jle L00418EFF add eax,ecx lea edi,[edi+eax-32h] mov eax,edx jmp L00418F12 L00418EFF: mov edx,00000032h sub edx,ebx cmp edi,edx jle L00418F12 add edi,ebx lea eax,[eax+edi-32h] mov edi,edx L00418F12: mov edx,[ebp+08h] add eax,ecx push 0000E023h mov [edx+000000E8h],eax mov ecx,[esi+000000ACh] mov eax,[ecx] call [eax+44h] mov ecx,[esi+000000ACh] call SUB_L0041AC50 mov ecx,[esi+000000ACh] push 00000032h mov edx,[ecx+000000E8h] mov ecx,[esi+000000B8h] push edx jmp L004190F8 L00418F52: cmp eax,[esi+000000B8h] jnz L0041914D mov eax,[ebp+08h] mov ecx,[esi+000000ACh] push 0000E023h lea eax,[eax+eax*4] lea eax,[eax+eax*4] shl eax,1 cdq idiv [ebp+0Ch] mov [ecx+000000E8h],eax mov ecx,[esi+000000ACh] mov edx,[ecx] call [edx+44h] mov ecx,[esi+000000ACh] call SUB_L0041AC50 mov ecx,[esi+000000A8h] mov edx,[esi+000000B0h] mov eax,[esi+000000ACh] mov [ebp+08h],ecx mov ecx,[ecx+000000E8h] mov ebx,[edx+000000E8h] mov eax,[eax+000000E8h] lea edx,[ebx+ecx] add edx,eax cmp edx,00000064h jbe L0041907B lea edi,[edx-64h] mov eax,edi cdq sub eax,edx sar eax,1 sub edi,eax cmp eax,ecx jle L00418FE1 sub eax,ecx add edi,eax mov eax,ecx jmp L00418FEB L00418FE1: cmp edi,ebx jle L00418FEB sub edi,ebx add eax,edi mov edi,ebx L00418FEB: sub ecx,eax mov eax,[ebp+08h] push 0000E023h mov [eax+000000E8h],ecx mov ecx,[esi+000000A8h] mov edx,[ecx] call [edx+44h] mov ecx,[esi+000000A8h] call SUB_L0041AC50 mov eax,[esi+000000A8h] push 00000032h mov ecx,[eax+000000E8h] push ecx mov ecx,[esi+000000B4h] L00419026: call SUB_L00412F50 mov eax,[esi+000000B0h] push 0000E023h mov ebx,[eax+000000E8h] sub ebx,edi mov [eax+000000E8h],ebx mov ecx,[esi+000000B0h] mov edx,[ecx] call [edx+44h] mov ecx,[esi+000000B0h] call SUB_L0041AC50 mov eax,[esi+000000B0h] push 00000032h mov ecx,[eax+000000E8h] push ecx mov ecx,[esi+000000BCh] call SUB_L00412F50 pop edi pop esi pop ebx pop ebp retn 000Ch ;------------------------------------------------------------------------------ L0041907B: jnc L00419341 mov edi,00000064h sub edi,ebx sub edi,eax sub edi,ecx mov eax,edi cdq sub eax,edx mov edx,00000032h sar eax,1 sub edx,ecx sub edi,eax cmp eax,edx jle L004190AA add eax,ecx lea edi,[edi+eax-32h] mov eax,edx jmp L004190BD L004190AA: mov edx,00000032h sub edx,ebx cmp edi,edx jle L004190BD add edi,ebx lea eax,[eax+edi-32h] mov edi,edx L004190BD: mov edx,[ebp+08h] add eax,ecx push 0000E023h mov [edx+000000E8h],eax mov ecx,[esi+000000A8h] mov eax,[ecx] call [eax+44h] mov ecx,[esi+000000A8h] call SUB_L0041AC50 mov ecx,[esi+000000A8h] push 00000032h mov edx,[ecx+000000E8h] mov ecx,[esi+000000B4h] push edx L004190F8: call SUB_L00412F50 mov eax,[esi+000000B0h] push 0000E023h mov ebx,[eax+000000E8h] add ebx,edi mov [eax+000000E8h],ebx mov ecx,[esi+000000B0h] mov eax,[ecx] call [eax+44h] mov ecx,[esi+000000B0h] call SUB_L0041AC50 mov ecx,[esi+000000B0h] push 00000032h mov edx,[ecx+000000E8h] mov ecx,[esi+000000BCh] push edx call SUB_L00412F50 pop edi pop esi pop ebx pop ebp retn 000Ch ;------------------------------------------------------------------------------ L0041914D: cmp eax,[esi+000000BCh] jnz L00419341 mov eax,[ebp+08h] mov ecx,[esi+000000B0h] push 0000E023h lea eax,[eax+eax*4] lea eax,[eax+eax*4] shl eax,1 cdq idiv [ebp+0Ch] mov [ecx+000000E8h],eax mov ecx,[esi+000000B0h] mov edx,[ecx] call [edx+44h] mov ecx,[esi+000000B0h] call SUB_L0041AC50 mov ecx,[esi+000000ACh] mov eax,[esi+000000A8h] mov edx,[esi+000000B0h] mov [ebp+08h],eax mov ebx,[ecx+000000E8h] mov ecx,[eax+000000E8h] mov eax,[edx+000000E8h] lea edx,[eax+ecx] add edx,ebx cmp edx,00000064h jbe L00419276 lea edi,[edx-64h] mov eax,edi cdq sub eax,edx sar eax,1 sub edi,eax cmp eax,ecx jle L004191DC sub eax,ecx add edi,eax mov eax,ecx jmp L004191E6 L004191DC: cmp edi,ebx jle L004191E6 sub edi,ebx add eax,edi mov edi,ebx L004191E6: sub ecx,eax mov eax,[ebp+08h] push 0000E023h mov [eax+000000E8h],ecx mov ecx,[esi+000000A8h] mov edx,[ecx] call [edx+44h] mov ecx,[esi+000000A8h] call SUB_L0041AC50 mov eax,[esi+000000A8h] push 00000032h mov ecx,[eax+000000E8h] push ecx mov ecx,[esi+000000B4h] call SUB_L00412F50 mov eax,[esi+000000ACh] push 0000E023h mov ebx,[eax+000000E8h] sub ebx,edi mov [eax+000000E8h],ebx mov ecx,[esi+000000ACh] mov edx,[ecx] call [edx+44h] mov ecx,[esi+000000ACh] call SUB_L0041AC50 mov eax,[esi+000000ACh] push 00000032h mov ecx,[eax+000000E8h] push ecx mov ecx,[esi+000000B8h] call SUB_L00412F50 pop edi pop esi pop ebx pop ebp retn 000Ch ;------------------------------------------------------------------------------ L00419276: jnc L00419341 mov edi,00000064h sub edi,eax sub edi,ebx sub edi,ecx mov eax,edi cdq sub eax,edx mov edx,00000032h sar eax,1 sub edx,ecx sub edi,eax cmp eax,edx jle L004192A5 add eax,ecx lea edi,[edi+eax-32h] mov eax,edx jmp L004192B8 L004192A5: mov edx,00000032h sub edx,ebx cmp edi,edx jle L004192B8 add edi,ebx lea eax,[eax+edi-32h] mov edi,edx L004192B8: mov edx,[ebp+08h] add eax,ecx push 0000E023h mov [edx+000000E8h],eax mov ecx,[esi+000000A8h] mov eax,[ecx] call [eax+44h] mov ecx,[esi+000000A8h] call SUB_L0041AC50 mov ecx,[esi+000000A8h] push 00000032h mov edx,[ecx+000000E8h] mov ecx,[esi+000000B4h] push edx call SUB_L00412F50 mov eax,[esi+000000ACh] push 0000E023h mov ebx,[eax+000000E8h] add ebx,edi mov [eax+000000E8h],ebx mov ecx,[esi+000000ACh] mov eax,[ecx] call [eax+44h] mov ecx,[esi+000000ACh] call SUB_L0041AC50 mov ecx,[esi+000000ACh] push 00000032h mov edx,[ecx+000000E8h] mov ecx,[esi+000000B8h] push edx call SUB_L00412F50 L00419341: pop edi pop esi pop ebx pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 16 L00419350: jmp L0040EB90 Align 16 L00419360: jmp L0040ECD0 Align 16 L00419370: mov eax,[ecx+00000098h] mov dword ptr [eax+68h],00000001h retn ;------------------------------------------------------------------------------ Align 4 SUB_L00419380: push ebp mov ebp,esp push FFFFFFFFh push L004B1EEA mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push esi mov ebx,ecx push edi mov [ebp-10h],ebx call SUB_L00441CB0 xor edx,edx mov dword ptr [ebx],L004B7FB8 mov [ebp-04h],edx lea ecx,[ebx+0000226Ch] lea eax,[ebx+0000032Ch] mov esi,00000064h L004193C2: mov byte ptr [eax],00h mov [ecx],dx add eax,00000050h add ecx,000000A0h dec esi jnz L004193C2 mov al,[ebp+14h] or ecx,FFFFFFFFh mov [ebx+0000614Ch],al mov [L004C4DDC],ecx mov [ebx+000000C0h],edx mov [ebx+000000BCh],edx mov [ebx+000000C4h],edx mov [ebx+000000D0h],ecx mov [ebx+000000CCh],ecx mov [ebx+000000C8h],ecx mov edi,L004D77C0 xor eax,eax mov dword ptr [ebx+04h],SSZ004C5054_scrollchoice_gump lea esi,[ebx+000060ECh] repne scasb not ecx sub edi,ecx mov [ebp+14h],esi mov eax,ecx mov esi,edi mov edi,[ebp+14h] shr ecx,02h rep movsd mov ecx,eax mov eax,[ebp+0Ch] and ecx,00000003h rep movsb mov ecx,[ebp+08h] lea esi,[ebx+20h] mov [ebx+0000613Ch],ecx mov ecx,[ebp+10h] lea edi,[ebx+1Ch] mov [ebx+5Ch],edx mov [ebx+58h],edx mov [ebx+000000A0h],edx mov [ebx+0000009Ch],edx mov [ebx+00000098h],edx mov [ebx+00000094h],edx mov [ebx+000000A8h],edx mov [ebx+000000A4h],edx mov [ebx+60h],edx mov [ebx+4Ch],edx mov [ebx+48h],edx mov [ebx+44h],edx mov [ebx+40h],edx mov [ebx+3Ch],edx push esi mov edx,edi mov [ebx+00006144h],eax mov [ebx+50h],ecx call SUB_L004390A0 mov eax,[edi] mov ecx,00000140h cdq sub eax,edx push SSZ004C5034_framedata_for_CScrollChoiceGump sar eax,1 sub ecx,eax mov eax,[esi] cdq sub eax,edx mov edx,000000F0h sar eax,1 mov [ebx+2Ch],ecx sub edx,eax push 00000008h mov ecx,L00669C8C mov [ebx+30h],edx mov dword ptr [ebx+10h],00000000h mov dword ptr [ebx+14h],00000001h call SUB_L0044FBD0 mov ecx,[ebx+14h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [ebx+38h],edi rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[ebx+1Ch] push SSZ004C5028_text_frame0 imul eax,[esi] lea ecx,[eax+eax+04h] push ecx mov ecx,L00669C8C call SUB_L0044FBD0 mov edx,[ebx+38h] mov [edx+04h],eax mov ecx,[ebx+1Ch] imul ecx,[esi] mov edx,[ebx+38h] xor eax,eax shl ecx,1 mov edi,[edx+04h] mov edx,ecx add edi,00000004h shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[ebx+38h] mov dx,[ebx+1Ch] mov ecx,[eax+04h] mov [ecx],dx mov eax,[ebx+38h] mov dx,[esi] mov ecx,[eax+04h] mov [ecx+02h],dx mov eax,[ebx+50h] cmp eax,000004CAh jnz L00419664 mov eax,00000022h push 000000B4h mov [ebx+000000ACh],eax mov [ebx+000000B0h],eax mov dword ptr [ebx+000000B4h],000000CCh mov dword ptr [ebx+000000B8h],000000FDh call SUB_L0049A820 add esp,00000004h mov [ebp+14h],eax test eax,eax mov byte ptr [ebp-04h],01h jz L004195BB push 000004CBh push ebx push 000000F8h push 00000001h push 00000024h push 000000C6h mov ecx,eax call SUB_L00412A50 jmp L004195BD L004195BB: xor eax,eax L004195BD: push 00000001h push ebx mov ecx,eax mov byte ptr [ebp-04h],00h mov [ebx+00006140h],eax call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp+14h],eax test eax,eax mov byte ptr [ebp-04h],02h jz L0041960C push 00000000h push L00410FA0 push 00000000h push 00000002h push ebx push 00000014h push 000000D2h push 00000002h push 000000B9h mov ecx,eax call SUB_L00412450 jmp L0041960E L0041960C: xor eax,eax L0041960E: push 00000001h push ebx mov ecx,eax mov byte ptr [ebp-04h],00h call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp+14h],eax test eax,eax mov byte ptr [ebp-04h],03h jz L0041976B push 00000000h push L00410FE0 push 00000000h push 00000002h push ebx push 0000011Ch push 000000CCh push 00000108h push 000000B2h mov ecx,eax call SUB_L00412450 jmp L0041976D L00419664: cmp eax,000004CCh jnz L0041977B mov eax,00000022h push 000000B4h mov [ebx+000000ACh],eax mov [ebx+000000B0h],eax mov dword ptr [ebx+000000B4h],00000168h mov dword ptr [ebx+000000B8h],000000FDh call SUB_L0049A820 add esp,00000004h mov [ebp+14h],eax test eax,eax mov byte ptr [ebp-04h],04h jz L004196C9 push 000004CBh push ebx push 000000F8h push 00000001h push 00000024h push 0000016Ah mov ecx,eax call SUB_L00412A50 jmp L004196CB L004196C9: xor eax,eax L004196CB: push 00000001h push ebx mov ecx,eax mov byte ptr [ebp-04h],00h mov [ebx+00006140h],eax call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp+14h],eax test eax,eax mov byte ptr [ebp-04h],05h jz L0041971A push 00000000h push L00410FA0 push 00000000h push 00000002h push ebx push 00000016h push 0000017Ah push 00000004h push 00000162h mov ecx,eax call SUB_L00412450 jmp L0041971C L0041971A: xor eax,eax L0041971C: push 00000001h push ebx mov ecx,eax mov byte ptr [ebp-04h],00h call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp+14h],eax test eax,eax mov byte ptr [ebp-04h],06h jz L0041976B push 00000000h push L00410FE0 push 00000000h push 00000002h push ebx push 0000011Eh push 00000174h push 00000108h push 0000015Eh mov ecx,eax call SUB_L00412450 jmp L0041976D L0041976B: xor eax,eax L0041976D: push 00000001h push ebx mov ecx,eax mov byte ptr [ebp-04h],00h call SUB_L004415C0 L0041977B: mov ecx,ebx call SUB_L0041A2E0 mov ecx,[ebp-0Ch] pop edi mov eax,ebx pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0010h ;------------------------------------------------------------------------------ Align 16 L004197A0: push ebp mov ebp,esp push esi mov esi,ecx call SUB_L00419D40 test byte ptr [ebp+08h],01h jz L004197BA push esi call SUB_L0049A810 add esp,00000004h L004197BA: mov eax,esi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L004197D0: push ebp mov ebp,esp push FFFFFFFFh push L004B1F6B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,0000000Ch push ebx push esi mov ebx,ecx push edi mov [ebp-14h],ebx call SUB_L00441CB0 xor edx,edx mov dword ptr [ebx],L004B7FB8 mov [ebp-04h],edx lea ecx,[ebx+0000226Ch] lea eax,[ebx+0000032Ch] mov esi,00000064h L00419814: mov byte ptr [eax],00h mov [ecx],dx add eax,00000050h add ecx,000000A0h dec esi jnz L00419814 mov al,[ebp+10h] or ecx,FFFFFFFFh mov [ebx+0000614Ch],al mov [L004C4DDC],ecx mov [ebx+000000C0h],edx mov [ebx+000000BCh],edx mov [ebx+000000C4h],edx mov [ebx+000000D0h],ecx mov [ebx+000000CCh],ecx mov [ebx+000000C8h],ecx mov edi,L004D77C0 xor eax,eax mov dword ptr [ebx+04h],SSZ004C5054_scrollchoice_gump lea esi,[ebx+000060ECh] repne scasb not ecx sub edi,ecx mov [ebp+10h],esi mov eax,ecx mov esi,edi mov edi,[ebp+10h] shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov ecx,[ebp+08h] lea esi,[ebx+20h] mov [ebx+0000613Ch],ecx mov ecx,[ebp+0Ch] lea edi,[ebx+1Ch] mov [ebx+5Ch],edx mov [ebx+58h],edx mov [ebx+00006144h],edx mov [ebx+000000A0h],edx mov [ebx+0000009Ch],edx mov [ebx+00000098h],edx mov [ebx+00000094h],edx mov [ebx+000000A8h],edx mov [ebx+000000A4h],edx mov [ebx+60h],edx mov [ebx+4Ch],edx mov [ebx+48h],edx mov [ebx+44h],edx mov [ebx+40h],edx mov [ebx+3Ch],edx push esi mov edx,edi mov dword ptr [ebx+00006148h],00000001h mov [ebx+50h],ecx call SUB_L004390A0 mov eax,[edi] mov ecx,000000F0h cdq sub eax,edx mov edx,00000140h sar eax,1 sub edx,eax mov eax,[esi] mov [ebx+2Ch],edx push SSZ004C5034_framedata_for_CScrollChoiceGump cdq sub eax,edx push 00000008h sar eax,1 sub ecx,eax mov dword ptr [ebx+10h],00000000h mov [ebx+30h],ecx mov ecx,L00669C8C mov dword ptr [ebx+14h],00000001h call SUB_L0044FBD0 mov ecx,[ebx+14h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [ebx+38h],edi rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi] push SSZ004C5028_text_frame0 imul eax,[ebx+1Ch] lea ecx,[eax+eax+04h] push ecx mov ecx,L00669C8C call SUB_L0044FBD0 mov edx,[ebx+38h] mov [edx+04h],eax mov ecx,[esi] imul ecx,[ebx+1Ch] mov edx,[ebx+38h] xor eax,eax shl ecx,1 mov edi,[edx+04h] mov edx,ecx add edi,00000004h shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[ebx+38h] mov dx,[ebx+1Ch] mov ecx,[eax+04h] mov [ecx],dx mov eax,[ebx+38h] mov dx,[esi] mov ecx,[eax+04h] mov [ecx+02h],dx mov eax,[ebx+50h] cmp eax,000004CAh jnz L00419ABD mov eax,00000022h push 000000B4h mov [ebx+000000ACh],eax mov [ebx+000000B0h],eax mov dword ptr [ebx+000000B4h],000000CCh mov dword ptr [ebx+000000B8h],000000FDh call SUB_L0049A820 add esp,00000004h mov [ebp+10h],eax test eax,eax mov byte ptr [ebp-04h],01h jz L00419A14 push 000004CBh push ebx push 000000F8h push 00000001h push 00000024h push 000000C6h mov ecx,eax call SUB_L00412A50 jmp L00419A16 L00419A14: xor eax,eax L00419A16: push 00000001h push ebx mov ecx,eax mov byte ptr [ebp-04h],00h mov [ebx+00006140h],eax call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp+10h],eax test eax,eax mov byte ptr [ebp-04h],02h jz L00419A65 push 00000000h push L00410FA0 push 00000000h push 00000002h push ebx push 00000014h push 000000D2h push 00000002h push 000000B9h mov ecx,eax call SUB_L00412450 jmp L00419A67 L00419A65: xor eax,eax L00419A67: push 00000001h push ebx mov ecx,eax mov byte ptr [ebp-04h],00h call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp+10h],eax test eax,eax mov byte ptr [ebp-04h],03h jz L00419BC7 push 00000000h push L00410FE0 push 00000000h push 00000002h push ebx push 0000011Ch push 000000CCh push 00000108h push 000000B2h mov ecx,eax call SUB_L00412450 jmp L00419BC9 L00419ABD: cmp eax,000004CCh jnz L00419BD7 push 000000B4h mov dword ptr [ebx+000000ACh],0000004Ah mov dword ptr [ebx+000000B0h],00000022h mov dword ptr [ebx+000000B4h],00000168h mov dword ptr [ebx+000000B8h],000000FDh call SUB_L0049A820 add esp,00000004h mov [ebp+10h],eax test eax,eax mov byte ptr [ebp-04h],04h jz L00419B25 push 000004CBh push ebx push 000000F8h push 00000001h push 00000024h push 0000016Ah mov ecx,eax call SUB_L00412A50 jmp L00419B27 L00419B25: xor eax,eax L00419B27: push 00000001h push ebx mov ecx,eax mov byte ptr [ebp-04h],00h mov [ebx+00006140h],eax call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp+10h],eax test eax,eax mov byte ptr [ebp-04h],05h jz L00419B76 push 00000000h push L00410FA0 push 00000000h push 00000002h push ebx push 00000016h push 0000017Ah push 00000004h push 00000162h mov ecx,eax call SUB_L00412450 jmp L00419B78 L00419B76: xor eax,eax L00419B78: push 00000001h push ebx mov ecx,eax mov byte ptr [ebp-04h],00h call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp+10h],eax test eax,eax mov byte ptr [ebp-04h],06h jz L00419BC7 push 00000000h push L00410FE0 push 00000000h push 00000002h push ebx push 0000011Eh push 00000174h push 00000108h push 0000015Eh mov ecx,eax call SUB_L00412450 jmp L00419BC9 L00419BC7: xor eax,eax L00419BC9: push 00000001h push ebx mov ecx,eax mov byte ptr [ebp-04h],00h call SUB_L004415C0 L00419BD7: lea eax,[ebp-18h] lea edx,[ebp-10h] push eax mov ecx,0000093Bh call SUB_L004390A0 mov eax,[ebp-10h] test eax,eax jnz L00419C06 push 00000000h push 00000000h push 00000000h push 00000000h push SSZ004C5068_Missing_gump_ mov ecx,L00669608 call SUB_L0043F200 L00419C06: push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp+10h],eax test eax,eax mov byte ptr [ebp-04h],07h jz L00419C44 push 00000000h push 0000093Ch push 0000093Bh push L00411E70 push 00000000h push 00000002h push ebx push 00000108h push 0000006Ch mov ecx,eax call SUB_L004122F0 jmp L00419C46 L00419C44: xor eax,eax L00419C46: push 00000001h push ebx mov ecx,eax mov byte ptr [ebp-04h],00h mov dword ptr [eax+000000A4h],0000093Dh call SUB_L004415C0 cmp dword ptr [ebx+50h],000004CCh jnz L00419D21 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp+10h],eax test eax,eax mov byte ptr [ebp-04h],08h jz L00419CAC push 00000000h push 0000093Fh push 0000093Eh push L00411F90 push 00000000h push 00000002h push ebx push 00000108h push 000000B9h mov ecx,eax call SUB_L004122F0 jmp L00419CAE L00419CAC: xor eax,eax L00419CAE: push 00000001h push ebx mov ecx,eax mov byte ptr [ebp-04h],00h mov dword ptr [eax+000000A4h],00000940h call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp+10h],eax test eax,eax mov byte ptr [ebp-04h],09h jz L00419D07 push 00000000h push 00000942h push 00000941h push L004120B0 push 00000000h push 00000002h push ebx push 00000108h push 000000FAh mov ecx,eax call SUB_L004122F0 jmp L00419D09 L00419D07: xor eax,eax L00419D09: push 00000001h push ebx mov ecx,eax mov byte ptr [ebp-04h],00h mov dword ptr [eax+000000A4h],00000943h call SUB_L004415C0 L00419D21: mov ecx,ebx call SUB_L0041A2E0 mov ecx,[ebp-0Ch] pop edi mov eax,ebx pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 4 SUB_L00419D40: push ebp mov ebp,esp push FFFFFFFFh push L004B1F9E mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000008h push ebx push esi mov esi,ecx mov [ebp-10h],esi mov dword ptr [esi],L004B7FB8 mov eax,[L00669630] xor ebx,ebx cmp eax,esi mov [ebp-04h],ebx jnz L00419D7C mov [L00669630],ebx L00419D7C: mov eax,[esi+38h] mov eax,[eax+04h] cmp eax,ebx jz L00419D9C push SSZ004C5090_scrollchoice_frame0_pBMP push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov ecx,[esi+38h] mov [ecx+04h],ebx L00419D9C: mov eax,[esi+38h] cmp eax,ebx jz L00419DB6 push SSZ004C5078_scrollchoice_framedata push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov [esi+38h],ebx L00419DB6: mov ecx,[esi+0000613Ch] cmp ecx,ebx jz L00419DCD cmp [esi+00006144h],ebx jz L00419DD9 mov edx,[ecx] call [edx+68h] L00419DCD: cmp [esi+00006144h],ebx jnz L00419E98 L00419DD9: cmp [esi+00006148h],ebx jz L00419E49 mov eax,[L0066964C] cmp eax,ebx jz L00419DF3 mov dword ptr [eax+68h],00000001h jmp L00419E28 L00419DF3: push 0000009Ch call SUB_L0049A820 add esp,00000004h mov [ebp-14h],eax cmp eax,ebx mov byte ptr [ebp-04h],01h jz L00419E14 mov ecx,eax call SUB_L0041FD50 jmp L00419E16 L00419E14: xor eax,eax L00419E16: push 00000001h push ebx mov ecx,eax mov [ebp-04h],bl mov [L0066964C],eax call SUB_L004415C0 L00419E28: mov ecx,[L006BB1CC] cmp ecx,ebx jz L00419E37 call SUB_L00489420 L00419E37: mov ecx,L004D77C0 mov [L0071238C],ebx call SUB_L00497E40 jmp L00419E98 L00419E49: push 000002B0h call SUB_L0049A820 add esp,00000004h mov [ebp-14h],eax cmp eax,ebx mov byte ptr [ebp-04h],02h jz L00419E7A push ebx push ebx push 00000001h push 00000001h push ebx push SSZ004C472C_Connecting____ push FFFFFFFFh push FFFFFFFFh mov ecx,eax call SUB_L00443490 jmp L00419E7C L00419E7A: xor eax,eax L00419E7C: mov [L00669670],eax mov eax,[eax+44h] push 00000001h push ebx mov [eax+68h],ebx mov ecx,[L00669670] mov [ebp-04h],bl call SUB_L004415C0 L00419E98: mov ecx,esi mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00441D50 mov ecx,[ebp-0Ch] pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 L00419EC0: push ebp mov ebp,esp mov dword ptr [L006A9DD4],00000000h mov dword ptr [ecx+00006148h],00000001h test ecx,ecx jz L00419EE1 mov eax,[ecx] push 00000001h call [eax] L00419EE1: pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 L00419EF0: push ebp mov ebp,esp mov eax,[ebp+08h] push esi mov esi,ecx push edi mov ecx,[ebp+0Ch] mov edi,00000001h mov [esi+70h],ecx push 00000000h mov ecx,esi mov [esi+6Ch],eax mov [esi+0000009Ch],edi mov [esi+000000C4h],edi call SUB_L00441340 cmp [esi+000000A8h],edi jnz L00419F35 mov dword ptr [esi+000000A8h],00000002h pop edi pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ L00419F35: mov [esi+000000A8h],edi call [KERNEL32.dll!GetTickCount] mov [esi+000000A4h],eax pop edi pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 4 SUB_L00419F50: push ebp mov ebp,esp sub esp,00000008h mov eax,[ebp+08h] push ebx mov ebx,ecx push esi push edi cmp eax,[ebx+000000ACh] jl L0041A0BC cmp eax,[ebx+000000B4h] jg L0041A0BC mov esi,[ebp+0Ch] mov eax,[ebx+000000B0h] cmp esi,eax jl L0041A0BC cmp esi,[ebx+000000B8h] jg L0041A0BC lea eax,[ebp-04h] lea ecx,[ebp+08h] push eax lea edx,[ebp-08h] push ecx push edx push L004C41E4 push 00000005h mov ecx,L00669CC8 call SUB_L00437A10 mov edx,[ebx+000000B0h] mov eax,esi sub eax,edx mov ecx,[ebx+000000BCh] cdq idiv [ebp+08h] mov esi,eax mov eax,[ebx+000000C0h] add esi,ecx cmp esi,eax jge L0041A0BC mov eax,[ebx+00006144h] test eax,eax jz L0041A046 mov ecx,[ebx+esi*4+000000D4h] lea edx,[esi+esi*4] shl edx,04h mov [eax+000000E8h],ecx or ecx,FFFFFFFFh lea edi,[edx+ebx+0000032Ch] mov edx,[ebx+00006144h] xor eax,eax add edx,000000ECh repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov ecx,[ebx+00006144h] call SUB_L0041AC50 mov ecx,[ebx+0000613Ch] test ecx,ecx jz L0041A0B0 mov eax,[ebx+00006144h] mov edx,[ecx] push eax call [edx+4Ch] jmp L0041A0B0 L0041A046: mov cx,[ebx+esi*4+000000D4h] lea edx,[ebp+0Ch] push ecx push edx mov ecx,L006BB1C0 call SUB_L00476870 mov ecx,[L006BB1CC] lea eax,[ebp+0Ch] push eax call SUB_L0048B170 lea edx,[esi+esi*4] mov dword ptr [ebx+00006148h],00000000h mov ecx,[ebx+esi*4+000000D4h] xor eax,eax shl edx,04h mov [L006BB3A8],ecx or ecx,FFFFFFFFh lea edi,[edx+ebx+0000032Ch] repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,L004D7E20 shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb L0041A0B0: test ebx,ebx jz L0041A0BC mov edx,[ebx] push 00000001h mov ecx,ebx call [edx] L0041A0BC: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 L0041A0D0: push ebp mov ebp,esp sub esp,0000000Ch push esi mov esi,ecx push edi push 00000000h mov ecx,L006BB1C8 call SUB_L0049A010 mov eax,[ebp+08h] mov ecx,[esi+000000ACh] cmp eax,ecx jl L0041A16E cmp eax,[esi+000000B4h] jg L0041A16E mov edi,[ebp+0Ch] mov eax,[esi+000000B0h] cmp edi,eax jl L0041A16E cmp edi,[esi+000000B8h] jg L0041A16E lea eax,[ebp-08h] lea ecx,[ebp-04h] push eax lea edx,[ebp-0Ch] push ecx push edx push L004C41E4 push 00000005h mov ecx,L00669CC8 call SUB_L00437A10 mov ecx,[esi+000000B0h] mov eax,edi sub eax,ecx mov edi,[esi+000000BCh] cdq idiv [ebp-04h] mov edx,[esi+000000C0h] mov ecx,[L004C4DDC] add eax,edi cmp eax,edx jl L0041A156 or eax,FFFFFFFFh L0041A156: cmp eax,ecx mov [L004C4DDC],eax jz L0041A187 mov ecx,esi call SUB_L0041A2E0 pop edi pop esi mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L0041A16E: mov ecx,[L004C4DDC] or eax,FFFFFFFFh cmp ecx,eax jz L0041A187 mov ecx,esi mov [L004C4DDC],eax call SUB_L0041A2E0 L0041A187: pop edi pop esi mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 4 L0041A190: mov edx,[L004C4DDC] or eax,FFFFFFFFh cmp edx,eax jz L0041A1A7 mov [L004C4DDC],eax jmp SUB_L0041A2E0 L0041A1A7: retn ;------------------------------------------------------------------------------ Align 16 L0041A1B0: push ebx push esi push edi mov esi,ecx call [KERNEL32.dll!GetTickCount] mov edi,eax call [USER32.dll!GetDoubleClickTime] mov ebx,[esi+000000A8h] mov ecx,00000001h xor edx,edx cmp ebx,ecx jnz L0041A1F4 sub edi,[esi+000000A4h] cmp edi,eax jbe L0041A1F4 mov eax,[esi+0000009Ch] mov [esi+000000A8h],edx cmp eax,edx jz L0041A225 mov [esi+00000094h],ecx L0041A1F4: cmp [esi+0000009Ch],edx jz L0041A225 mov ecx,[esi+000000C4h] inc ecx mov eax,ecx mov [esi+000000C4h],ecx cmp eax,00000002h jnz L0041A225 mov eax,[esi+70h] mov ecx,[esi+6Ch] push eax push ecx mov ecx,esi mov [esi+000000C4h],edx call SUB_L00419F50 L0041A225: pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ Align 8 L0041A230: push ebp mov ebp,esp mov eax,[ebp+08h] push esi mov esi,[ecx+000000C0h] imul eax,esi cdq idiv [ebp+0Ch] cmp eax,esi mov [ecx+000000BCh],eax jl L0041A255 dec esi mov [ecx+000000BCh],esi L0041A255: call SUB_L0041A2E0 pop esi pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 4 SUB_L0041A260: push ebp mov ebp,esp mov edx,ecx push ebx mov ecx,[ebp+08h] push esi mov eax,[edx+000000C0h] push edi mov edi,[ebp+0Ch] mov [edx+eax*4+000000D4h],ecx mov eax,[edx+000000C0h] mov cx,[ebp+10h] mov [edx+eax*2+00000264h],cx mov eax,[edx+000000C0h] or ecx,FFFFFFFFh lea eax,[eax+eax*4] shl eax,04h lea ebx,[eax+edx+0000032Ch] xor eax,eax repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,ebx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov eax,[edx+000000C0h] pop edi inc eax pop esi mov [edx+000000C0h],eax pop ebx pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 16 SUB_L0041A2E0: push ebp mov ebp,esp sub esp,00000040h push ebx push esi mov esi,ecx push edi xor ebx,ebx mov ecx,[esi+20h] mov eax,[esi+1Ch] push ecx mov [ebp-38h],eax push eax mov eax,[esi+38h] mov edx,[esi+50h] mov [ebp-40h],ebx mov [ebp-3Ch],ebx mov [ebp-34h],ecx mov ecx,[eax+04h] add ecx,00000004h push ecx push ebx push ebx mov ecx,SUB_L00488700 call SUB_L00439100 mov edx,[esi+20h] mov ecx,[esi+38h] mov eax,[esi+1Ch] push edx mov edx,[ecx+04h] push eax add edx,00000004h mov ecx,SUB_L00488700 push edx push 0000010Ch push 00000039h mov edx,00000944h call SUB_L00439100 lea edx,[esi+000060ECh] or ecx,FFFFFFFFh mov edi,edx xor eax,eax repne scasb not ecx dec ecx jz L0041A386 mov eax,[esi+1Ch] push 0000000Eh lea ecx,[ebp-40h] push ebx push ecx mov ecx,[esi+38h] push eax add eax,FFFFFFD8h mov ecx,[ecx+04h] add ecx,00000004h push ecx push eax push edx mov edx,[esi+20h] push ebx sub edx,00000058h push 00000006h push edx push 0000001Ch mov ecx,L00669CC8 call SUB_L004372C0 L0041A386: lea eax,[ebp-04h] lea ecx,[ebp-1Ch] push eax lea edx,[ebp-20h] push ecx push edx push L004C41E4 push 00000005h mov ecx,L00669CC8 call SUB_L00437A10 mov ebx,[esi+000000B0h] mov ecx,[esi+000000B8h] mov eax,[esi+000000BCh] cmp ebx,ecx mov [ebp-14h],eax jg L0041A61B lea ecx,[eax+eax*4] shl ecx,04h lea edx,[ecx+esi+0000032Ch] lea ecx,[eax+eax*4] shl ecx,05h mov [ebp-10h],edx lea edx,[ecx+esi+0000226Ch] lea ecx,[esi+eax*2+00000264h] mov [ebp-0Ch],edx lea edx,[esi+eax*4+000000D4h] mov [ebp-18h],ecx mov [ebp-08h],edx L0041A3F4: mov eax,[ebp-14h] mov ecx,[esi+000000C0h] cmp eax,ecx jge L0041A61B lea edi,[esi+000000ACh] mov ecx,edi mov edx,[ecx] mov [ebp-30h],edx mov dword ptr [ebp-30h],00000000h mov eax,[ecx+04h] mov [ebp-2Ch],eax mov edx,[ecx+08h] mov [ebp-28h],edx mov eax,[ecx+0Ch] mov ecx,[ebp-08h] mov [ebp-24h],eax mov eax,[esi+000000C8h] mov edx,[ecx] cmp edx,eax jnz L0041A465 mov eax,[esi+20h] mov edx,[esi+38h] mov ecx,[esi+1Ch] push eax mov eax,[edx+04h] push ecx add eax,00000004h lea ecx,[ebx+0Ah] push eax push ecx lea edx,[ebp-30h] push 0000001Ah push edx mov edx,00000938h mov ecx,SUB_L00488700 call SUB_L00439290 L0041A465: mov eax,[ebp-08h] mov ecx,[eax] mov eax,[esi+000000CCh] cmp ecx,eax jnz L0041A49F mov edx,[esi+20h] mov ecx,[esi+38h] mov eax,[esi+1Ch] push edx mov edx,[ecx+04h] push eax add edx,00000004h lea eax,[ebx+0Ah] push edx push eax lea ecx,[ebp-30h] push 00000028h push ecx mov edx,00000939h mov ecx,SUB_L00488700 call SUB_L00439290 L0041A49F: mov edx,[ebp-08h] mov ecx,[esi+000000D0h] mov eax,[edx] cmp eax,ecx jnz L0041A4D9 mov ecx,[esi+20h] mov eax,[esi+38h] mov edx,[esi+1Ch] push ecx mov ecx,[eax+04h] push edx add ecx,00000004h lea edx,[ebx+0Ah] push ecx push edx lea eax,[ebp-30h] push 00000036h push eax mov edx,0000093Ah mov ecx,SUB_L00488700 call SUB_L00439290 L0041A4D9: mov ecx,[ebp-14h] mov eax,[L004C4DDC] cmp ecx,eax jnz L0041A520 mov al,[esi+0000614Ch] mov edx,[esi+1Ch] test al,al mov eax,[esi+38h] push edi push edx mov ecx,[eax+04h] jz L0041A506 mov edx,[ebp-0Ch] add ecx,00000004h push ecx push edx push 00000021h jmp L0041A54E L0041A506: mov edx,[ebp-10h] mov eax,[ebp-04h] add ecx,00000004h add eax,ebx push ecx mov ecx,[edi] push edx push 00000021h push 00000005h push eax push ecx jmp L0041A5D0 L0041A520: mov edx,[ebp-18h] mov ax,[edx] test ax,ax jz L0041A57F mov cl,[esi+0000614Ch] push edi test cl,cl jz L0041A565 mov ecx,[esi+1Ch] mov edx,[esi+38h] push ecx mov ecx,[edx+04h] mov edx,[ebp-0Ch] add ecx,00000004h and eax,0000FFFFh push ecx push edx push eax L0041A54E: mov eax,[ebp-04h] mov ecx,[edi] add eax,ebx push 00000005h push eax push ecx mov ecx,L00669CC8 call SUB_L004377E0 jmp L0041A5DA L0041A565: mov edx,[esi+1Ch] mov ecx,[esi+38h] push edx mov edx,[ecx+04h] mov ecx,[ebp-10h] add edx,00000004h and eax,0000FFFFh push edx push ecx push eax jmp L0041A5C5 L0041A57F: mov al,[esi+0000614Ch] mov edx,[esi+38h] mov ecx,[esi+1Ch] push edi test al,al mov eax,[edx+04h] push ecx jz L0041A5B8 mov ecx,[ebp-0Ch] mov edx,[ebp-04h] add eax,00000004h add edx,ebx push eax mov eax,[edi] push ecx push 00000386h push 00000005h push edx push eax mov ecx,L00669CC8 call SUB_L004377E0 jmp L0041A5DA L0041A5B8: mov ecx,[ebp-10h] add eax,00000004h push eax push ecx push 00000386h L0041A5C5: mov edx,[ebp-04h] mov eax,[edi] add edx,ebx push 00000005h push edx push eax L0041A5D0: mov ecx,L00669CC8 call SUB_L004375A0 L0041A5DA: mov edx,[ebp-1Ch] mov ecx,[ebp-14h] mov eax,[ebp-08h] mov edi,[ebp-18h] add ebx,edx mov edx,[ebp-0Ch] inc ecx add eax,00000004h mov [ebp-14h],ecx mov ecx,[ebp-10h] mov [ebp-08h],eax mov eax,[esi+000000B8h] add edi,00000002h add edx,000000A0h add ecx,00000050h cmp ebx,eax mov [ebp-18h],edi mov [ebp-0Ch],edx mov [ebp-10h],ecx jle L0041A3F4 L0041A61B: pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 L0041A630: push ebp mov ebp,esp sub esp,00000018h push ebx push esi xor eax,eax push edi mov edi,ecx mov [ebp-08h],eax mov [ebp-04h],eax lea eax,[ebp-04h] lea ecx,[ebp-08h] push eax push ecx mov ecx,edi call SUB_L00440C60 mov edx,[edi+38h] mov ecx,[ebp-08h] mov eax,[ebp-04h] mov ebx,[ebp+08h] mov esi,[edx+04h] xor edx,edx mov [ebp-18h],ecx mov [ebp-14h],eax mov dx,[esi] add edx,ecx xor ecx,ecx mov [ebp-10h],edx mov cx,[esi+02h] lea edx,[ebp-18h] add eax,ecx push edx push ebx mov ecx,L00669608 mov [ebp-0Ch],eax call SUB_L00440D40 test eax,eax jz L0041A6DC mov eax,[L004C7F38] mov ecx,[L004C7F34] mov edx,[L006BAE7C] push eax mov eax,[ebp-04h] push ecx mov ecx,[ebp-08h] push edx push eax xor edx,edx mov dx,[esi+02h] xor eax,eax mov ax,[esi] push ecx push edx push eax push ebx lea edx,[esi+04h] mov ecx,SUB_L00488700 call SUB_L00439500 mov esi,[edi+4Ch] test esi,esi jz L0041A6DC L0041A6CD: mov edx,[esi] push ebx mov ecx,esi call [edx+0Ch] mov esi,[esi+40h] test esi,esi jnz L0041A6CD L0041A6DC: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L0041A6F0: push ebp mov ebp,esp push FFFFFFFFh push L004B1FB8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push esi mov ebx,ecx push edi mov [ebp-10h],ebx call SUB_L00441CB0 mov eax,[ebp+08h] mov ecx,[ebp+0Ch] mov edx,[ebp+14h] mov dword ptr [ebx],L004B8100 mov [ebx+2Ch],eax mov eax,[ebp+18h] xor esi,esi mov [ebx+30h],ecx mov dword ptr [ebx+04h],SSZ004C50DC_InputControl_gump mov [ebx+5Ch],esi mov [ebx+50h],edx mov [ebx+00000140h],eax mov [ebx+000000DCh],si mov [ebx+000000E0h],si mov [ebx+000000DEh],si mov [ebx+60h],esi mov [ebx+000000C4h],esi mov [ebx+000000A0h],esi mov [ebx+0000009Ch],esi mov [ebx+00000098h],esi mov [ebx+00000094h],esi mov [ebx+000000A8h],esi mov [ebx+000000A4h],esi mov [ebx+000000BCh],esi mov [ebx+000000D8h],esi lea eax,[ebx+20h] lea edi,[ebx+1Ch] mov [ebx+000000D4h],esi mov ecx,[ebx+50h] push eax mov edx,edi mov [ebp-04h],esi mov [ebx+000000D0h],esi mov [ebx+000000CCh],esi mov [ebx+000000C8h],esi mov byte ptr [ebx+000000E2h],03h mov byte ptr [ebx+000000E3h],02h mov [ebx+4Ch],esi mov [ebx+48h],esi mov [ebx+44h],esi mov [ebx+40h],esi mov [ebx+3Ch],esi call SUB_L004390A0 mov edx,[ebx+20h] mov eax,[ebp+34h] inc edx cmp eax,esi mov [ebx+20h],edx jz L0041A7EA mov [edi],eax L0041A7EA: mov ecx,[edi] push SSZ004C50BC_framedata_for_CInputControlGump mov [ebx+18h],ecx push 00000008h mov ecx,L00669C8C mov [ebx+10h],esi mov dword ptr [ebx+14h],00000001h call SUB_L0044FBD0 mov ecx,[ebx+14h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [ebx+38h],edi push SSZ004C50AC_inpctrl_frame0 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[ebx+20h] imul eax,[ebx+1Ch] lea ecx,[eax+eax+04h] push ecx mov ecx,L00669C8C call SUB_L0044FBD0 mov edx,[ebx+38h] mov [edx+04h],eax mov ecx,[ebx+20h] imul ecx,[ebx+1Ch] mov edx,[ebx+38h] xor eax,eax shl ecx,1 mov edi,[edx+04h] mov edx,ecx add edi,00000004h shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[ebx+38h] mov dx,[ebx+1Ch] mov edi,L004D77C0 mov ecx,[eax+04h] mov [ecx],dx mov eax,[ebx+38h] mov dx,[ebx+20h] mov ecx,[eax+04h] mov al,[ebp+1Ch] mov [ecx+02h],dx mov edx,[ebp+2Ch] mov ecx,[ebp+20h] mov [ebx+000000ACh],edx mov edx,[ebp+34h] mov [ebx+00000144h],ecx xor ecx,ecx cmp edx,esi mov [ebx+000000E4h],al mov eax,[ebp+30h] setnz cl mov [ebx+000000B8h],eax mov [ebx+000000C0h],ecx or ecx,FFFFFFFFh xor eax,eax mov [ebx+000000B4h],esi mov [ebx+000000B0h],esi repne scasb not ecx sub edi,ecx lea edx,[ebx+000000ECh] mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h xor eax,eax rep movsb mov [ebx+000000E8h],eax cmp byte ptr [ebx+000000E4h],01h jnz L0041A908 mov dword ptr [ebx+00000148h],00000001h jmp L0041A90E L0041A908: mov [ebx+00000148h],eax L0041A90E: mov cx,[ebp+24h] mov dx,[ebp+28h] mov [ebx+00000150h],cx mov ecx,ebx mov [ebx+0000014Ch],eax mov [ebx+00000152h],dx mov [ebx+00000154h],eax call SUB_L0041AC50 mov ecx,[ebp-0Ch] pop edi mov eax,ebx pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0030h ;------------------------------------------------------------------------------ Align 8 L0041A950: push ebp mov ebp,esp push esi mov esi,ecx call SUB_L0041ABB0 test byte ptr [ebp+08h],01h jz L0041A96A push esi call SUB_L0049A810 add esp,00000004h L0041A96A: mov eax,esi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L0041A980: push ebp mov ebp,esp push FFFFFFFFh push L004B1FD8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push esi mov ebx,ecx push edi mov [ebp-10h],ebx call SUB_L00441CB0 mov eax,[ebp+08h] mov ecx,[ebp+0Ch] mov dword ptr [ebx],L004B8100 mov [ebx+2Ch],eax mov eax,[ebp+18h] mov edx,[ebp+14h] xor esi,esi mov [ebx+30h],ecx mov dword ptr [ebx+04h],SSZ004C50DC_InputControl_gump mov [ebx+5Ch],esi mov [ebx+50h],esi mov [ebx+00000140h],esi mov [ebx+000000DCh],si mov [ebx+000000E0h],si and eax,0000FFFFh mov [ebx+000000DEh],si mov [ebx+60h],esi mov [ebx+20h],eax mov [ebx+4Ch],esi and edx,0000FFFFh mov eax,00000001h push SSZ004C50BC_framedata_for_CInputControlGump mov [ebx+48h],esi push 00000008h mov ecx,L00669C8C mov [ebp-04h],esi mov [ebx+44h],esi mov [ebx+40h],esi mov [ebx+3Ch],esi mov [ebx+1Ch],edx mov [ebx+000000C4h],eax mov [ebx+10h],esi mov [ebx+14h],eax call SUB_L0044FBD0 mov ecx,[ebx+14h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [ebx+38h],edi push SSZ004C50AC_inpctrl_frame0 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[ebx+1Ch] imul eax,[ebx+20h] lea ecx,[eax+eax+04h] push ecx mov ecx,L00669C8C call SUB_L0044FBD0 mov edx,[ebx+38h] mov [edx+04h],eax mov ecx,[ebx+1Ch] imul ecx,[ebx+20h] mov edx,[ebx+38h] xor eax,eax shl ecx,1 mov edi,[edx+04h] mov edx,ecx add edi,00000004h shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[ebx+38h] mov dx,[ebx+1Ch] mov ecx,[eax+04h] mov [ecx],dx mov eax,[ebx+38h] mov dx,[ebx+20h] mov ecx,[eax+04h] mov al,[ebp+1Ch] mov [ecx+02h],dx mov edx,[ebp+2Ch] mov ecx,[ebp+20h] mov [ebx+000000ACh],edx mov edx,[ebp+34h] mov [ebx+00000144h],ecx xor ecx,ecx cmp edx,esi mov [ebx+000000E4h],al mov eax,[ebp+30h] mov edi,L004D77C0 setnz cl mov [ebx+000000B8h],eax mov [ebx+000000C0h],ecx or ecx,FFFFFFFFh xor eax,eax mov [ebx+000000B4h],esi mov [ebx+000000B0h],esi mov [ebx+000000BCh],esi mov [ebx+000000D8h],esi mov [ebx+000000D4h],esi mov [ebx+000000D0h],esi mov [ebx+000000CCh],esi mov [ebx+000000C8h],esi mov byte ptr [ebx+000000E2h],03h mov byte ptr [ebx+000000E3h],02h repne scasb not ecx sub edi,ecx lea edx,[ebx+000000ECh] mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax xor eax,eax and ecx,00000003h rep movsb mov cl,[ebx+000000E4h] mov [ebx+000000E8h],eax cmp cl,01h jnz L0041AB62 mov dword ptr [ebx+00000148h],00000001h jmp L0041AB68 L0041AB62: mov [ebx+00000148h],eax L0041AB68: mov cx,[ebp+24h] mov dx,[ebp+28h] mov [ebx+00000150h],cx mov ecx,ebx mov [ebx+0000014Ch],eax mov [ebx+00000152h],dx mov [ebx+00000154h],eax call SUB_L0041AC50 mov ecx,[ebp-0Ch] pop edi mov eax,ebx pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0030h ;------------------------------------------------------------------------------ Align 16 SUB_L0041ABB0: push ebp mov ebp,esp push FFFFFFFFh push L004B1FF8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx push edi mov [ebp-10h],esi mov dword ptr [esi],L004B8100 mov eax,[L004D7E70] xor edi,edi cmp eax,esi mov [ebp-04h],edi jnz L0041ABEA mov [L004D7E70],edi L0041ABEA: mov eax,[esi+38h] mov eax,[eax+04h] cmp eax,edi jz L0041AC0A push SSZ004C5108_InputControl_frame0_pBMP push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov ecx,[esi+38h] mov [ecx+04h],edi L0041AC0A: mov eax,[esi+38h] cmp eax,edi jz L0041AC24 push SSZ004C50F0_InputControl_framedata push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov [esi+38h],edi L0041AC24: cmp [L0066962C],esi jnz L0041AC32 mov [L0066962C],edi L0041AC32: mov ecx,esi mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00441D50 mov ecx,[ebp-0Ch] pop edi mov fs:[00000000h],ecx pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ SUB_L0041AC50: push ebp mov ebp,esp sub esp,00000088h push ebx push esi mov esi,ecx mov dword ptr [L004DB7E0],00000001h xor ebx,ebx push edi mov eax,[esi+000000D8h] mov [ebp-08h],ebx cmp eax,ebx mov [ebp-2Ch],ebx jz L0041AC86 mov di,[esi+000000E0h] cmp di,bx jnz L0041ACCD L0041AC86: mov di,[esi+000000DEh] cmp di,bx jz L0041AC9A cmp [esi+000000D4h],ebx jnz L0041ACCD L0041AC9A: lea edi,[esi+000000ECh] or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx jnz L0041ACB8 mov di,[esi+000000DCh] cmp di,bx jnz L0041ACCD L0041ACB8: cmp [esi+000000B4h],ebx jz L0041ACC9 mov di,[esi+00000140h] jmp L0041ACCD L0041ACC9: mov di,[esi+50h] L0041ACCD: lea eax,[ebp-04h] lea ecx,[ebp-30h] push eax lea edx,[ebp-1Ch] xor eax,eax push ecx mov ax,[esi+00000150h] push edx push L004C41E4 push eax mov ecx,L00669CC8 call SUB_L00437A10 cmp [esi+000000C4h],ebx jz L0041AD1E mov ecx,[esi+20h] mov edx,[esi+38h] imul ecx,[esi+1Ch] mov edi,[edx+04h] xor eax,eax shl ecx,1 mov edx,ecx add edi,00000004h shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb jmp L0041AD66 L0041AD1E: cmp [esi+000000C0h],ebx jz L0041AD3B mov eax,[esi+38h] mov ecx,edi and ecx,0000FFFFh mov edx,[eax+04h] call SUB_L0041C9B0 jmp L0041AD66 L0041AD3B: mov ecx,[esi+38h] xor edx,edx mov eax,[ecx+04h] xor ecx,ecx mov dx,[eax+02h] mov cx,[eax] push edx add eax,00000004h push ecx push eax mov edx,edi push ebx push ebx and edx,0000FFFFh mov ecx,SUB_L00488700 call SUB_L00439100 L0041AD66: mov edx,[esi+1Ch] xor ebx,ebx mov bl,[esi+000000E2h] mov eax,edx xor ecx,ecx sub eax,ebx mov cl,[esi+000000E3h] mov [ebp-10h],eax mov eax,[esi+20h] mov edi,ecx sub eax,edi mov [ebp-28h],ebx mov [ebp-0Ch],eax mov al,[esi+000000E4h] test al,al mov [ebp-18h],ebx mov [ebp-24h],edi mov [ebp-14h],edi jz L0041AF7E cmp al,02h jz L0041AF7E mov ecx,[esi+000000E8h] lea edx,[ebp-00000088h] push ecx push L004C43EC push edx call SUB_L0049AC80 mov eax,[L0066962C] add esp,0000000Ch cmp eax,esi jnz L0041AEA0 mov eax,[esi+0000014Ch] mov edx,[esi+00000148h] sub edx,eax lea ecx,[ebp+eax-00000088h] xor eax,eax mov ax,[esi+00000150h] push ecx push edx push eax mov ecx,L00669CC8 call SUB_L00438880 mov edx,[esi+1Ch] mov [ebp-08h],eax mov eax,[esi+38h] lea ecx,[ebp-18h] push ecx push edx mov ecx,[eax+04h] mov edx,[esi+0000014Ch] add ecx,00000004h push ecx lea eax,[ebp+edx-00000088h] xor ecx,ecx xor edx,edx mov cx,[esi+00000152h] mov dx,[esi+00000150h] push eax xor eax,eax mov al,[esi+000000E3h] push ecx mov ecx,[ebp-04h] push edx xor edx,edx add ecx,eax mov dl,[esi+000000E2h] push ecx push edx mov ecx,L00669CC8 call SUB_L004371A0 mov edx,[esi+38h] mov ecx,[esi+1Ch] lea eax,[ebp-18h] push eax mov eax,[edx+04h] push ecx add eax,00000004h xor ecx,ecx xor edx,edx mov cx,[esi+00000150h] mov dl,[esi+000000E3h] push eax mov eax,[ebp-04h] push L004C4304 push 00000386h push ecx lea ecx,[eax+edx+02h] mov eax,[ebp-08h] xor edx,edx mov dl,[esi+000000E2h] push ecx add eax,edx push eax jmp L0041B52E L0041AEA0: mov eax,[esi+000000B8h] test eax,eax jz L0041AF2E lea ecx,[ebp-00000088h] lea edi,[ebp-00000088h] push ecx or ecx,FFFFFFFFh xor eax,eax xor edx,edx repne scasb mov dx,[esi+00000150h] not ecx dec ecx push ecx push edx mov ecx,L00669CC8 call SUB_L00438880 lea edx,[ebp-18h] mov ecx,eax mov eax,[esi+1Ch] push edx mov edx,[esi+38h] mov [ebp-08h],ecx push eax sub eax,ecx mov edx,[edx+04h] add edx,00000004h push edx mov edx,[esi+0000014Ch] lea edx,[ebp+edx-00000088h] push edx xor edx,edx mov dx,[esi+00000152h] push edx xor edx,edx mov dx,[esi+00000150h] push edx xor edx,edx mov dl,[esi+000000E3h] mov esi,[ebp-04h] add esi,edx cdq sub eax,edx push esi sar eax,1 push eax jmp L0041B52E L0041AF2E: mov edx,[esi+38h] mov ecx,[esi+1Ch] lea eax,[ebp-18h] push eax mov eax,[edx+04h] push ecx mov ecx,[esi+0000014Ch] add eax,00000004h push eax lea edx,[ebp+ecx-00000088h] xor eax,eax push edx mov ax,[esi+00000152h] xor ecx,ecx mov cx,[esi+00000150h] xor edx,edx mov dl,[esi+000000E3h] push eax mov eax,[ebp-04h] push ecx add eax,edx xor ecx,ecx mov cl,[esi+000000E2h] push eax push ecx jmp L0041B52E L0041AF7E: mov eax,[L0066962C] cmp eax,esi mov eax,[esi+000000B0h] jnz L0041B199 test eax,eax jz L0041B041 lea edi,[esi+000000ECh] or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx test ecx,ecx mov [ebp-20h],ecx jle L0041AFCE mov ebx,ecx mov eax,2A2A2A2Ah lea edi,[ebp-00000088h] shr ecx,02h rep stosd mov ecx,ebx and ecx,00000003h rep stosb mov eax,ebx mov ebx,[ebp-28h] L0041AFCE: mov ecx,[esi+38h] mov byte ptr [ebp+eax-00000088h],00h lea eax,[ebp-18h] push eax mov eax,[esi+0000014Ch] push edx mov edx,[ecx+04h] add edx,00000004h lea ecx,[ebp+eax-00000088h] push edx xor edx,edx mov dx,[esi+00000152h] push ecx mov ecx,[ebp-04h] push edx mov edx,[ebp-24h] xor eax,eax mov ax,[esi+00000150h] add ecx,edx push eax push ecx push ebx mov ecx,L00669CC8 call SUB_L004371A0 mov eax,[esi+0000014Ch] mov edx,[esi+00000148h] sub edx,eax lea ecx,[ebp+eax-00000088h] xor eax,eax mov ax,[esi+00000150h] push ecx push edx push eax jmp L0041B141 L0041B041: mov eax,[esi+000000C8h] test eax,eax jz L0041B0DE mov eax,[esi+38h] push 00000000h lea ecx,[ebp-18h] push 00000000h push ecx mov ecx,[eax+04h] add ecx,00000004h push edx lea eax,[ebx+ebx] push ecx mov ecx,[esi+0000014Ch] sub edx,eax push edx xor eax,eax mov ax,[esi+00000152h] lea edx,[esi+ecx+000000ECh] xor ecx,ecx push edx mov cx,[esi+00000150h] push eax push ecx push edi push ebx mov ecx,L00669CC8 call SUB_L004372C0 mov eax,[esi+0000014Ch] lea edx,[ebp-2Ch] push edx xor edx,edx mov dl,[esi+000000E2h] lea ecx,[ebp-08h] push ecx mov ecx,[esi+1Ch] shl edx,1 sub ecx,edx lea edx,[esi+eax+000000ECh] push ecx mov ecx,[esi+00000148h] push edx xor edx,edx mov dx,[esi+00000150h] sub ecx,eax push ecx push edx mov ecx,L00669CC8 call SUB_L00438920 mov eax,[ebp-08h] jmp L0041B14E L0041B0DE: mov ecx,[esi+38h] lea eax,[ebp-18h] push eax mov eax,[esi+0000014Ch] push edx mov edx,[ecx+04h] add edx,00000004h lea ecx,[esi+eax+000000ECh] push edx xor edx,edx mov dx,[esi+00000152h] push ecx mov ecx,[ebp-04h] xor eax,eax mov ax,[esi+00000150h] push edx add ecx,edi push eax push ecx push ebx mov ecx,L00669CC8 call SUB_L004371A0 mov eax,[esi+0000014Ch] mov ecx,[esi+00000148h] sub ecx,eax lea edx,[esi+eax+000000ECh] push edx xor edx,edx mov dx,[esi+00000150h] push ecx push edx L0041B141: mov ecx,L00669CC8 call SUB_L00438880 mov [ebp-08h],eax L0041B14E: mov edx,[esi+1Ch] lea ecx,[ebp-18h] push ecx mov ecx,[esi+38h] push edx mov edx,[ecx+04h] xor ecx,ecx mov cx,[esi+00000150h] add edx,00000004h push edx mov edx,[ebp-2Ch] push L004C4304 push 00000386h push ecx mov ecx,[ebp-04h] add ecx,edx xor edx,edx mov dl,[esi+000000E3h] lea ecx,[ecx+edx+02h] xor edx,edx mov dl,[esi+000000E2h] push ecx add eax,edx push eax jmp L0041B52E L0041B199: test eax,eax jz L0041B218 lea edi,[esi+000000ECh] or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx test ecx,ecx mov [ebp-20h],ecx jle L0041B1D2 mov ebx,ecx mov eax,2A2A2A2Ah lea edi,[ebp-00000088h] shr ecx,02h rep stosd mov ecx,ebx and ecx,00000003h rep stosb mov eax,ebx mov ebx,[ebp-28h] L0041B1D2: mov ecx,[esi+38h] mov byte ptr [ebp+eax-00000088h],00h lea eax,[ebp-18h] push eax mov eax,[esi+0000014Ch] push edx mov edx,[ecx+04h] add edx,00000004h lea ecx,[ebp+eax-00000088h] push edx xor edx,edx mov dx,[esi+00000152h] push ecx mov ecx,[ebp-04h] xor eax,eax mov ax,[esi+00000150h] push edx mov edx,[ebp-24h] push eax add ecx,edx jmp L0041B52C L0041B218: mov eax,[esi+000000B8h] test eax,eax jz L0041B494 mov eax,[esi+000000B4h] lea edi,[esi+000000ECh] test eax,eax jnz L0041B3D1 lea eax,[ebp-34h] lea ecx,[ebp-30h] push eax lea edx,[ebp-1Ch] xor eax,eax push ecx mov ax,[esi+00000150h] push edx push edi push eax mov ecx,L00669CC8 call SUB_L00437A10 mov edx,[ebp-1Ch] mov eax,[esi+1Ch] xor ecx,ecx mov cl,[esi+000000E2h] lea ebx,[edx+ecx*2] cmp ebx,eax jl L0041B2AF lea edx,[ebp-18h] push edx push eax mov eax,[esi+38h] mov edx,[eax+04h] xor eax,eax mov ax,[esi+00000152h] add edx,00000004h push edx xor edx,edx mov dx,[esi+00000150h] push edi push eax xor eax,eax mov al,[esi+000000E3h] push edx mov edx,[ebp-04h] add edx,eax push edx push ecx mov ecx,L00669CC8 call SUB_L004375A0 jmp L0041B2F3 L0041B2AF: lea ecx,[ebp-18h] push ecx mov ecx,[esi+38h] push eax sub eax,edx mov ecx,[ecx+04h] add ecx,00000004h push ecx xor ecx,ecx mov cx,[esi+00000152h] push edi push ecx mov edi,[ebp-04h] xor ecx,ecx mov cx,[esi+00000150h] push ecx xor ecx,ecx mov cl,[esi+000000E3h] cdq sub eax,edx add edi,ecx sar eax,1 push edi push eax mov ecx,L00669CC8 call SUB_L004371A0 L0041B2F3: mov eax,[esi+50h] cmp eax,0000098Dh jnz L0041B332 mov edx,[esi+38h] xor ecx,ecx mov eax,[edx+04h] xor edx,edx mov cx,[eax+02h] mov dx,[eax] push ecx add eax,00000004h push edx mov edx,[esi+1Ch] push eax xor eax,eax mov al,[esi+000000E3h] xor ecx,ecx mov cl,[esi+000000E2h] add eax,00000002h sub edx,ecx push eax sub edx,0000000Bh jmp L0041B36C L0041B332: cmp eax,0000098Eh mov eax,[esi+38h] mov eax,[eax+04h] jnz L0041B38D xor ecx,ecx xor edx,edx mov cx,[eax+02h] mov dx,[eax] push ecx add eax,00000004h push edx mov edx,[esi+1Ch] push eax xor eax,eax mov al,[esi+000000E3h] xor ecx,ecx mov cl,[esi+000000E2h] add eax,00000002h sub edx,ecx push eax sub edx,0000000Fh L0041B36C: push edx mov edx,00000985h mov ecx,SUB_L00488700 call SUB_L00439100 mov dword ptr [L004DB7E0],00000000h pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L0041B38D: xor ecx,ecx xor edx,edx mov cx,[eax+02h] mov dx,[eax] push ecx mov ecx,[esi+1Ch] add eax,00000004h push edx push eax xor eax,eax mov al,[esi+000000E2h] push 00000001h sub ecx,eax mov edx,00001391h sub ecx,00000009h push ecx mov ecx,SUB_L00488700 call SUB_L00439100 mov dword ptr [L004DB7E0],00000000h pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L0041B3D1: lea edx,[ebp-34h] lea eax,[ebp-30h] push edx lea ecx,[ebp-1Ch] xor edx,edx push eax mov dx,[esi+00000150h] push ecx push edi push edx mov ecx,L00669CC8 call SUB_L00437A10 mov edx,[ebp-10h] mov eax,[ebp-18h] mov ecx,[ebp-1Ch] sub edx,eax cmp ecx,edx jl L0041B452 mov edx,[esi+1Ch] lea ecx,[ebp-18h] push ecx mov ecx,[esi+38h] push edx mov edx,[ecx+04h] xor ecx,ecx mov cx,[esi+00000152h] add edx,00000004h push edx xor edx,edx mov dx,[esi+00000150h] push edi push ecx xor ecx,ecx mov cl,[esi+000000E3h] push edx mov edx,[ebp-04h] add edx,ecx mov ecx,L00669CC8 push edx push eax call SUB_L004375A0 mov dword ptr [L004DB7E0],00000000h pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L0041B452: mov eax,[esi+1Ch] lea edx,[ebp-18h] push edx mov edx,[esi+38h] push eax sub eax,ecx mov edx,[edx+04h] add edx,00000004h push edx xor edx,edx mov dx,[esi+00000152h] push edi push edx xor edx,edx mov dx,[esi+00000150h] push edx xor edx,edx mov dl,[esi+000000E3h] mov esi,[ebp-04h] add esi,edx cdq sub eax,edx push esi sar eax,1 push eax jmp L0041B52E L0041B494: mov eax,[esi+000000C8h] test eax,eax jz L0041B4F6 mov ecx,[esi+38h] push 00000000h lea eax,[ebp-18h] push 00000000h push eax mov eax,[ecx+04h] lea ecx,[ebx+ebx] push edx add eax,00000004h sub edx,ecx push eax push edx mov edx,[esi+0000014Ch] xor ecx,ecx mov cx,[esi+00000152h] lea eax,[edx+esi+000000ECh] xor edx,edx mov dx,[esi+00000150h] push eax push ecx push edx push edi push ebx mov ecx,L00669CC8 call SUB_L004372C0 mov dword ptr [L004DB7E0],00000000h pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L0041B4F6: mov ecx,[esi+38h] lea eax,[ebp-18h] push eax mov eax,[esi+0000014Ch] push edx mov edx,[ecx+04h] add edx,00000004h lea ecx,[eax+esi+000000ECh] push edx xor edx,edx mov dx,[esi+00000152h] xor eax,eax mov ax,[esi+00000150h] push ecx mov ecx,[ebp-04h] push edx push eax add ecx,edi L0041B52C: push ecx push ebx L0041B52E: mov ecx,L00669CC8 call SUB_L004371A0 pop edi pop esi mov dword ptr [L004DB7E0],00000000h pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 L0041B550: push ebp mov ebp,esp sub esp,00000018h push esi mov esi,ecx xor eax,eax push edi cmp [esi+68h],eax jz L0041B5EE mov [ebp-08h],eax mov [ebp-04h],eax lea eax,[ebp-04h] lea ecx,[ebp-08h] push eax push ecx mov ecx,esi call SUB_L00440C60 mov edx,[esi+38h] mov eax,[ebp-08h] mov ecx,[ebp-04h] mov edi,[ebp+08h] mov esi,[edx+04h] xor edx,edx mov [ebp-18h],eax mov [ebp-14h],ecx mov dx,[esi] add eax,edx mov [ebp-10h],eax xor eax,eax mov ax,[esi+02h] add ecx,eax mov [ebp-0Ch],ecx lea ecx,[ebp-18h] push ecx push edi mov ecx,L00669608 call SUB_L00440D40 test eax,eax jz L0041B5EE mov edx,[L004C7F38] mov eax,[L004C7F34] mov ecx,[L006BAE7C] push edx mov edx,[ebp-04h] push eax mov eax,[ebp-08h] push ecx push edx xor ecx,ecx mov cx,[esi+02h] xor edx,edx mov dx,[esi] push eax push ecx push edx push edi lea edx,[esi+04h] mov ecx,SUB_L00488700 call SUB_L00439500 L0041B5EE: pop edi pop esi mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 L0041B600: push ebp mov ebp,esp mov dword ptr [L006A9DD4],00000000h mov ecx,[ecx+48h] test ecx,ecx jz L0041B621 mov edx,[ebp+0Ch] mov eax,[ecx] push edx mov edx,[ebp+08h] push edx call [eax+20h] L0041B621: pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 L0041B630: push ebp mov ebp,esp sub esp,00000054h push ebx push esi mov esi,ecx push edi mov ecx,[esi+48h] test ecx,ecx jz L0041B652 push 00000000h call SUB_L00441340 mov ecx,[esi+48h] push esi mov eax,[ecx] call [eax+5Ch] L0041B652: mov eax,[esi+000000ACh] mov ebx,[ebp+08h] test eax,eax jz L0041B7A0 mov eax,[esi+000000B4h] test eax,eax jnz L0041B7A0 mov ecx,L00669608 call SUB_L0043FDA0 push esi mov ecx,L00669608 call SUB_L0043FF10 mov al,[esi+000000E4h] test al,al jz L0041B6CB cmp al,02h jz L0041B6CB mov ecx,[esi+000000E8h] lea edx,[ebp-54h] push ecx push L004C43EC push edx call SUB_L0049AC80 lea edi,[ebp-54h] or ecx,FFFFFFFFh xor eax,eax add esp,0000000Ch repne scasb not ecx dec ecx mov [esi+00000148h],ecx mov ecx,esi call SUB_L0041AC50 jmp L0041B7BC L0041B6CB: mov eax,[esi+000000B0h] test eax,eax jz L0041B726 lea edi,[esi+000000ECh] or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx mov edx,ecx test edx,edx jle L0041B706 mov ebx,ecx mov eax,2A2A2A2Ah lea edi,[ebp-54h] shr ecx,02h rep stosd mov ecx,ebx mov ebx,[ebp+08h] and ecx,00000003h rep stosb mov eax,edx L0041B706: mov ecx,[esi+0000014Ch] mov byte ptr [ebp+eax-54h],00h lea eax,[ebx-01h] push eax xor eax,eax mov ax,[esi+00000150h] lea edx,[ebp+ecx-54h] push edx push eax jmp L0041B77F L0041B726: mov eax,[esi+000000C8h] test eax,eax jz L0041B763 mov ecx,[ebp+0Ch] mov eax,[esi+1Ch] lea edx,[ebx-01h] push ecx mov ecx,[esi+0000014Ch] sub eax,00000006h push edx push eax xor eax,eax lea edx,[esi+ecx+000000ECh] mov ax,[esi+00000150h] push edx push eax mov ecx,L00669CC8 call SUB_L00438D60 jmp L0041B789 L0041B763: mov edx,[esi+0000014Ch] lea ecx,[ebx-01h] push ecx xor ecx,ecx mov cx,[esi+00000150h] lea eax,[esi+edx+000000ECh] push eax push ecx L0041B77F: mov ecx,L00669CC8 call SUB_L00438C80 L0041B789: mov ecx,[esi+0000014Ch] add eax,ecx mov ecx,esi mov [esi+00000148h],eax call SUB_L0041AC50 jmp L0041B7BC L0041B7A0: cmp byte ptr [esi+000000E4h],02h jnz L0041B7BC mov eax,[esi+000000B4h] test eax,eax jnz L0041B7BC mov ecx,[esi+48h] push esi mov edx,[ecx] call [edx+6Ch] L0041B7BC: mov ecx,[esi+000000A8h] mov eax,00000001h cmp ecx,eax mov [esi+0000009Ch],eax jnz L0041B7ED mov eax,[ebp+0Ch] mov dword ptr [esi+000000A8h],00000002h mov [esi+6Ch],ebx mov [esi+70h],eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L0041B7ED: mov [esi+000000A8h],eax call [KERNEL32.dll!GetTickCount] mov [esi+000000A4h],eax mov eax,[ebp+0Ch] mov [esi+6Ch],ebx mov [esi+70h],eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 L0041B820: push ebp mov ebp,esp push esi mov esi,ecx push edi xor edi,edi mov eax,[esi+00000094h] mov [esi+0000009Ch],edi cmp eax,edi jz L0041B851 mov [esi+00000094h],edi mov [esi+000000A8h],edi mov [L006A9DD4],edi pop edi pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ L0041B851: cmp dword ptr [esi+000000A8h],00000002h jnz L0041B8B0 mov eax,[esi+000000D0h] mov [esi+000000A8h],edi cmp eax,edi jz L0041B8A3 cmp [L007121C4],edi jnz L0041B8A3 push SSZ004C5124_Select_a_player_ push 00000003h push edi mov ecx,L006693F8 call SUB_L0048C0A0 mov [L004D7E70],esi call SUB_L00455010 mov dword ptr [L007121C8],00000002h mov dword ptr [L007121D4],L0041B930 L0041B8A3: mov ecx,[esi+48h] cmp ecx,edi jz L0041B8B0 mov eax,[ecx] push esi call [eax+60h] L0041B8B0: mov [L006A9DD4],edi pop edi pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 8 L0041B8C0: push ebp mov ebp,esp push esi mov esi,ecx push 00000000h mov ecx,L006BB1C8 call SUB_L0049A010 mov eax,[esi+000000D4h] test eax,eax jnz L0041B8F7 cmp word ptr [esi+000000DEh],0000h mov dword ptr [esi+000000D4h],00000001h jz L0041B8F7 mov ecx,esi call SUB_L0041AC50 L0041B8F7: pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 8 L0041B900: mov eax,[ecx+000000D4h] test eax,eax jz L0041B923 cmp word ptr [ecx+000000DEh],0000h mov dword ptr [ecx+000000D4h],00000000h jz L0041B923 jmp SUB_L0041AC50 L0041B923: retn ;------------------------------------------------------------------------------ Align 16 L0041B930: push ebp mov ebp,esp sub esp,00000028h push esi mov esi,ecx test esi,esi push edi jz L0041B9E7 mov eax,[esi] call [eax+24h] test eax,eax jz L0041B9E7 mov eax,[L004D7E70] test eax,eax jz L0041B9E7 mov ecx,[esi+78h] mov edi,SSZ004C5148__mobile_ mov [eax+000000E8h],ecx mov edx,[L004D7E70] or ecx,FFFFFFFFh xor eax,eax add edx,000000ECh repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov ecx,[L004D7E70] call SUB_L0041AC50 mov eax,[L004D7E70] push eax mov ecx,[eax+48h] mov edx,[ecx] call [edx+4Ch] mov eax,[L004D7E70] lea edx,[ebp-28h] mov ecx,[eax+000000E8h] push ecx push edx mov ecx,L006BB1C0 call SUB_L00476650 mov ecx,[L006BB1CC] lea eax,[ebp-28h] push eax call SUB_L0048B170 call SUB_L00455030 mov byte ptr [L007121D0],00h pop edi pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L0041B9E7: push SSZ004C5138_Not_a_mobile_ push 00000003h push 00000000h mov ecx,L006693F8 call SUB_L0048C0A0 call SUB_L00455030 mov byte ptr [L007121D0],00h pop edi pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 SUB_L0041BA10: push ebp mov ebp,esp sub esp,00000014h push esi mov esi,ecx mov eax,[esi+000000CCh] test eax,eax jz L0041BA2D mov eax,00000001h pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L0041BA2D: mov al,[esi+000000E4h] push edi test al,al push ebx jz L0041BA61 cmp al,02h jz L0041BA61 mov eax,[esi+000000E8h] lea ecx,[ebp-14h] push eax push L004C43EC push ecx call SUB_L0049AC80 mov edx,[esi+0000014Ch] add esp,0000000Ch lea edi,[ebp+edx-14h] jmp L0041BA73 L0041BA61: mov eax,[esi+0000014Ch] lea ecx,[esi+eax+000000ECh] mov [ebp-04h],ecx mov edi,ecx L0041BA73: mov edx,[esi+1Ch] mov ebx,[esi+0000014Ch] sub edx,0000000Ch xor eax,eax mov ax,[esi+00000150h] push edx push edi push eax mov ecx,L00669CC8 call SUB_L00438C80 mov ecx,[esi+00000148h] add eax,ebx sub edi,ebx cmp eax,ecx mov [ebp-04h],edi jg L0041BB0D lea edx,[eax+edi] sub ecx,eax xor eax,eax push edx mov ax,[esi+00000150h] push ecx push eax mov ecx,L00669CC8 call SUB_L00438880 mov ebx,eax or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx mov edi,ecx dec edi test ebx,ebx jle L0041BB0D L0041BAD4: mov eax,[esi+0000014Ch] cmp eax,edi jge L0041BB0D mov ecx,[ebp-04h] movsx edx,[ecx+eax] xor eax,eax push edx mov ax,[esi+00000150h] mov ecx,L00669CC8 push eax call SUB_L00438830 mov ecx,[esi+0000014Ch] sub ebx,eax inc ecx test ebx,ebx mov [esi+0000014Ch],ecx jg L0041BAD4 L0041BB0D: pop ebx pop edi mov eax,00000001h pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 L0041BB20: push ebp mov ebp,esp sub esp,0000006Ch push ebx mov ebx,ecx push esi xor esi,esi mov eax,[ebx+000000B4h] push edi cmp eax,esi jnz L0041C0EC mov edx,[ebp+08h] cmp edx,00000009h jnz L0041BB54 mov ecx,[ebx+48h] mov eax,[ecx] call [eax+50h] pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L0041BB54: cmp edx,0000000Dh jnz L0041BB6A mov ecx,[ebx+48h] mov edx,[ecx] call [edx+54h] pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L0041BB6A: cmp edx,0000001Bh jnz L0041BB80 mov ecx,[ebx+48h] mov eax,[ecx] call [eax+58h] pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L0041BB80: cmp edx,0000E024h jnz L0041BBBE mov al,[ebx+000000E4h] test al,al jnz L0041C0EC cmp [ebx+00000148h],esi jle L0041C0EC mov ecx,ebx mov [ebx+00000148h],esi mov [ebx+0000014Ch],esi call SUB_L0041AC50 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L0041BBBE: cmp edx,0000E023h jnz L0041BC22 mov al,[ebx+000000E4h] test al,al jz L0041BBF9 cmp al,02h jz L0041BBF9 cmp al,01h jnz L0041C0EC mov ecx,[ebx+000000E8h] lea edx,[ebp-1Ch] push ecx push L004C43EC push edx call SUB_L0049AC80 add esp,0000000Ch lea edi,[ebp-1Ch] jmp L0041BBFF L0041BBF9: lea edi,[ebx+000000ECh] L0041BBFF: or ecx,FFFFFFFFh xor eax,eax repne scasb mov eax,[ebx+00000148h] not ecx dec ecx cmp eax,ecx jge L0041C0EC mov [ebx+00000148h],ecx jmp L0041C0DE L0041BC22: cmp edx,0000E026h jz L0041C0EC cmp edx,0000E028h jz L0041C0EC cmp edx,0000E025h jz L0041C063 cmp edx,0000E027h jz L0041C063 cmp edx,00000008h jz L0041BF2F cmp edx,0000E02Eh jz L0041BF2F xor eax,eax push edx mov ax,[ebx+00000150h] mov ecx,L00669CC8 push eax call SUB_L00437140 test eax,eax jz L0041BEBE mov al,[ebx+000000E4h] test al,al jz L0041BC96 cmp al,02h jnz L0041BEBE L0041BC96: mov eax,[ebx+000000BCh] mov edx,[ebp+08h] cmp eax,esi jz L0041BCC9 cmp edx,00000030h jl L0041BCAD cmp edx,00000039h jle L0041BCC9 L0041BCAD: cmp edx,00000061h jl L0041BCB7 cmp edx,0000007Ah jle L0041BCC9 L0041BCB7: cmp edx,00000041h jl L0041C0EC cmp edx,0000005Ah jg L0041C0EC L0041BCC9: lea edi,[ebx+000000ECh] or ecx,FFFFFFFFh xor eax,eax repne scasb mov eax,[ebx+00000144h] not ecx dec ecx mov edi,ecx cmp edi,eax jge L0041C0EC mov eax,[ebx+00000148h] cmp edi,eax jg L0041BCFC mov [edi+ebx+000000ECh],dl jmp L0041BD28 L0041BCFC: mov esi,FFFFFF14h lea eax,[edi+ebx+000000ECh] sub esi,ebx L0041BD0A: mov cl,[eax-01h] mov [eax],cl dec eax lea ecx,[esi+eax] cmp ecx,[ebx+00000148h] jg L0041BD0A mov eax,[ebx+00000148h] mov [ebx+eax+000000ECh],dl L0041BD28: mov byte ptr [edi+ebx+000000EDh],00h mov eax,[ebx+00000148h] inc eax mov ecx,ebx mov [ebx+00000148h],eax call SUB_L0041BA10 mov eax,[ebx+000000CCh] test eax,eax mov eax,[ebx+000000C8h] jz L0041BDFA test eax,eax jnz L0041BE02 lea edi,[ebx+000000ECh] or ecx,FFFFFFFFh xor eax,eax lea edx,[ebp-6Ch] repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx lea edx,[ebp-6Ch] shr ecx,02h rep movsd mov ecx,eax xor eax,eax and ecx,00000003h rep movsb mov edi,L004C4304 or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov esi,edi mov edi,edx mov edx,ecx or ecx,FFFFFFFFh repne scasb mov ecx,edx dec edi shr ecx,02h rep movsd mov ecx,edx lea eax,[ebp-0Ch] and ecx,00000003h push eax rep movsb lea ecx,[ebp-08h] lea edx,[ebp-04h] push ecx xor ecx,ecx mov cx,[ebx+00000150h] lea eax,[ebp-6Ch] push edx push eax push ecx mov ecx,L00669CC8 call SUB_L00437A10 mov edx,[ebx+1Ch] mov eax,[ebp-04h] sub edx,00000006h cmp eax,edx jl L0041BE9D mov eax,[ebx] push 00000008h mov ecx,ebx call [eax+44h] pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L0041BDFA: test eax,eax jz L0041BE9D L0041BE02: lea edi,[ebx+000000ECh] or ecx,FFFFFFFFh xor eax,eax lea edx,[ebp-6Ch] repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx lea edx,[ebp-6Ch] shr ecx,02h rep movsd mov ecx,eax xor eax,eax and ecx,00000003h push eax rep movsb mov edi,L004C4304 or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov esi,edi mov edi,edx mov edx,ecx or ecx,FFFFFFFFh repne scasb mov ecx,edx dec edi shr ecx,02h rep movsd mov ecx,edx lea eax,[ebp-0Ch] and ecx,00000003h push eax mov eax,[ebx+1Ch] lea edx,[ebp-04h] rep movsb lea ecx,[ebp-08h] sub eax,00000006h push ecx push edx xor edx,edx lea ecx,[ebp-6Ch] mov dx,[ebx+00000150h] push eax push ecx push edx mov ecx,L00669CC8 call SUB_L00437B40 mov eax,[ebp-08h] mov ecx,[ebx+20h] cmp eax,ecx jl L0041BE9D mov edx,[ebx] push 00000008h mov ecx,ebx call [edx+44h] pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L0041BE9D: mov ecx,ebx call SUB_L0041AC50 mov ecx,[ebx+48h] test ecx,ecx jz L0041C0EC mov eax,[ecx] push ebx call [eax+4Ch] pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L0041BEBE: cmp byte ptr [ebx+000000E4h],01h jnz L0041C0EC mov ecx,[ebp+08h] cmp ecx,00000030h jl L0041C0EC cmp ecx,00000039h jg L0041C0EC mov eax,[ebx+000000E8h] lea edx,[eax+eax*4] lea eax,[ecx+edx*2-30h] mov ecx,[ebx+00000144h] cmp eax,ecx jg L0041C0EC mov ecx,[ebx+00000148h] mov [ebx+000000E8h],eax inc ecx mov [ebx+00000148h],ecx mov ecx,ebx call SUB_L0041AC50 mov ecx,[ebx+48h] cmp ecx,esi jz L0041C0EC mov eax,[ecx] push ebx call [eax+4Ch] pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L0041BF2F: mov al,[ebx+000000E4h] test al,al jz L0041BFB1 cmp al,02h jz L0041BFB1 mov ecx,[ebx+000000E8h] cmp ecx,esi jbe L0041C0EC mov eax,CCCCCCCDh mul ecx mov eax,[ebx+00000148h] shr edx,03h cmp eax,00000001h mov [ebx+000000E8h],edx jle L0041BF6D dec eax mov [ebx+00000148h],eax L0041BF6D: mov eax,[ebx+0000014Ch] mov ecx,[ebx+00000148h] cmp ecx,eax jge L0041BF90 add eax,FFFFFFF8h xor ecx,ecx cmp eax,esi setl cl dec ecx and eax,ecx mov [ebx+0000014Ch],eax L0041BF90: mov ecx,ebx call SUB_L0041AC50 mov ecx,[ebx+48h] cmp ecx,esi jz L0041C0EC mov edx,[ecx] push ebx call [edx+4Ch] pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L0041BFB1: lea esi,[ebx+000000ECh] or ecx,FFFFFFFFh mov edi,esi xor eax,eax repne scasb not ecx dec ecx test ecx,ecx jle L0041C0EC cmp edx,0000E02Eh jnz L0041BFE8 mov eax,[ebx+00000148h] cmp eax,ecx jge L0041C0EC inc eax mov [ebx+00000148h],eax L0041BFE8: mov eax,[ebx+00000148h] cmp eax,ecx jge L0041C00A test eax,eax jle L0041C01F dec eax lea edi,[ecx-01h] cmp eax,edi jge L0041C00A L0041BFFE: mov dl,[eax+esi+01h] mov [eax+esi],dl inc eax cmp eax,edi jl L0041BFFE L0041C00A: mov byte ptr [ecx+ebx+000000EBh],00h mov eax,[ebx+00000148h] dec eax mov [ebx+00000148h],eax L0041C01F: mov eax,[ebx+0000014Ch] mov ecx,[ebx+00000148h] cmp ecx,eax jge L0041C042 add eax,FFFFFFF8h xor ecx,ecx test eax,eax setl cl dec ecx and eax,ecx mov [ebx+0000014Ch],eax L0041C042: mov ecx,ebx call SUB_L0041AC50 mov ecx,[ebx+48h] test ecx,ecx jz L0041C0EC mov edx,[ecx] push ebx call [edx+4Ch] pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L0041C063: mov al,[ebx+000000E4h] test al,al jnz L0041C0EC cmp edx,0000E025h jnz L0041C0B5 mov eax,[ebx+00000148h] cmp eax,esi jle L0041C0B5 lea ecx,[eax-01h] mov eax,[ebx+0000014Ch] cmp ecx,eax mov [ebx+00000148h],ecx jge L0041C0E5 add eax,FFFFFFF8h xor ecx,ecx cmp eax,esi setl cl dec ecx and eax,ecx mov ecx,ebx mov [ebx+0000014Ch],eax call SUB_L0041AC50 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L0041C0B5: cmp edx,0000E027h jnz L0041C0EC lea edi,[ebx+000000ECh] or ecx,FFFFFFFFh xor eax,eax mov edx,[ebx+00000148h] repne scasb not ecx dec ecx cmp edx,ecx jge L0041C0EC inc edx mov [ebx+00000148h],edx L0041C0DE: mov ecx,ebx call SUB_L0041BA10 L0041C0E5: mov ecx,ebx call SUB_L0041AC50 L0041C0EC: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L0041C100: push ebp mov ebp,esp sub esp,00000050h push ebx push esi mov esi,edx xor eax,eax xor ebx,ebx push edi mov ax,[esi+02h] mov bx,[esi] mov [ebp-28h],eax lea eax,[ebp-14h] mov edi,ecx push eax lea edx,[ebp-08h] mov [ebp-0Ch],edi mov [ebp-40h],ebx call SUB_L004390A0 lea edx,[ebp-14h] lea ecx,[edi+02h] push edx lea edx,[ebp-04h] mov [ebp-34h],ecx call SUB_L004390A0 mov edi,[ebp-04h] xor ecx,ecx mov cx,[esi+02h] mov eax,ebx xor edx,edx sub eax,edi mov dx,[esi] lea edi,[esi+04h] push ecx push edx mov edx,[ebp-0Ch] push edi push 00000000h push 00000000h mov ecx,SUB_L00488700 mov [ebp-04h],eax call SUB_L00439100 mov eax,[ebp-0Ch] lea edx,[ebp-14h] push edx lea edx,[ebp-18h] lea ecx,[eax+01h] mov [ebp-20h],ecx call SUB_L004390A0 mov eax,[ebp-18h] test eax,eax jz L0041C9A7 mov edx,[ebp-28h] mov eax,[ebp-08h] mov ecx,[ebp-04h] mov [ebp-44h],edx mov edx,eax mov [ebp-10h],eax cmp edx,ecx mov [ebp-50h],eax mov [ebp-48h],ecx mov dword ptr [ebp-4Ch],00000000h jge L0041C20F mov edx,[ebp-18h] jmp L0041C1B5 L0041C1B2: mov eax,[ebp-10h] L0041C1B5: add edx,eax cmp edx,ecx jg L0041C1DB xor ecx,ecx xor edx,edx mov cx,[esi+02h] mov dx,[esi] push ecx push edx mov edx,[ebp-20h] push edi push 00000000h push eax mov ecx,SUB_L00488700 call SUB_L00439100 jmp L0041C1FD L0041C1DB: xor ecx,ecx xor edx,edx mov cx,[esi+02h] mov dx,[esi] push ecx push edx mov edx,[ebp-20h] push edi push 00000000h push eax lea eax,[ebp-50h] mov ecx,SUB_L00488700 push eax call SUB_L00439290 L0041C1FD: mov edx,[ebp-18h] mov eax,[ebp-10h] mov ecx,[ebp-04h] add eax,edx cmp eax,ecx mov [ebp-10h],eax jl L0041C1B2 L0041C20F: xor edx,edx xor eax,eax mov dx,[esi+02h] mov ax,[esi] push edx mov edx,[ebp-34h] push eax push edi push 00000000h push ecx mov ecx,SUB_L00488700 call SUB_L00439100 lea ecx,[ebp-08h] lea edx,[ebp-14h] push ecx mov ecx,[ebp-0Ch] call SUB_L004390A0 mov edx,[ebp-0Ch] lea eax,[ebp-04h] push eax lea ecx,[edx+06h] lea edx,[ebp-14h] mov [ebp-38h],ecx call SUB_L004390A0 mov ecx,[ebp-28h] mov eax,[ebp-04h] mov edx,[ebp-0Ch] sub ecx,eax mov [ebp-04h],ecx lea eax,[ebp-1Ch] lea ecx,[edx+03h] push eax lea edx,[ebp-14h] mov [ebp-30h],ecx call SUB_L004390A0 mov ecx,[ebp-08h] mov eax,[ebp-04h] cmp ecx,eax mov [ebp-10h],ecx mov dword ptr [ebp-50h],00000000h mov [ebp-48h],ebx mov [ebp-4Ch],ecx mov [ebp-44h],eax jge L0041C2F0 mov edx,[ebp-1Ch] jmp L0041C296 L0041C293: mov ecx,[ebp-10h] L0041C296: add edx,ecx cmp edx,eax jg L0041C2BC xor eax,eax xor edx,edx mov ax,[esi+02h] mov dx,[esi] push eax push edx mov edx,[ebp-30h] push edi push ecx push 00000000h mov ecx,SUB_L00488700 call SUB_L00439100 jmp L0041C2DE L0041C2BC: xor eax,eax xor edx,edx mov ax,[esi+02h] mov dx,[esi] push eax push edx mov edx,[ebp-30h] push edi push ecx lea eax,[ebp-50h] push 00000000h push eax mov ecx,SUB_L00488700 call SUB_L00439290 L0041C2DE: mov edx,[ebp-1Ch] mov ecx,[ebp-10h] mov eax,[ebp-04h] add ecx,edx cmp ecx,eax mov [ebp-10h],ecx jl L0041C293 L0041C2F0: xor ecx,ecx xor edx,edx mov cx,[esi+02h] mov dx,[esi] push ecx push edx mov edx,[ebp-38h] push edi push eax push 00000000h mov ecx,SUB_L00488700 call SUB_L00439100 mov ecx,[ebp-34h] lea eax,[ebp-08h] push eax lea edx,[ebp-14h] call SUB_L004390A0 mov ecx,[ebp-0Ch] lea edx,[ebp-04h] add ecx,00000008h push edx lea edx,[ebp-14h] mov [ebp-24h],ecx call SUB_L004390A0 mov eax,[ebp-28h] mov ecx,[ebp-04h] sub eax,ecx mov ecx,[ebp-0Ch] lea edx,[ebp-1Ch] add ecx,00000005h push edx lea edx,[ebp-18h] mov [ebp-04h],eax mov [ebp-34h],ecx call SUB_L004390A0 mov eax,[ebp-08h] mov ecx,[ebp-04h] cmp eax,ecx mov [ebp-10h],eax mov dword ptr [ebp-50h],00000000h mov [ebp-48h],ebx mov [ebp-4Ch],eax mov [ebp-44h],ecx jge L0041C3DD mov edx,[ebp-1Ch] jmp L0041C377 L0041C374: mov eax,[ebp-10h] L0041C377: add edx,eax cmp edx,ecx jg L0041C3A3 xor ecx,ecx xor edx,edx mov cx,[esi+02h] mov dx,[esi] push ecx push edx mov edx,[ebp-18h] push edi push eax mov eax,ebx sub eax,edx mov edx,[ebp-34h] push eax mov ecx,SUB_L00488700 call SUB_L00439100 jmp L0041C3CB L0041C3A3: xor ecx,ecx xor edx,edx mov cx,[esi+02h] mov dx,[esi] push ecx push edx mov edx,[ebp-18h] push edi push eax mov eax,ebx sub eax,edx mov edx,[ebp-34h] lea ecx,[ebp-50h] push eax push ecx mov ecx,SUB_L00488700 call SUB_L00439290 L0041C3CB: mov edx,[ebp-1Ch] mov eax,[ebp-10h] mov ecx,[ebp-04h] add eax,edx cmp eax,ecx mov [ebp-10h],eax jl L0041C374 L0041C3DD: mov ecx,[ebp-24h] lea edx,[ebp-14h] push edx lea edx,[ebp-18h] call SUB_L004390A0 mov edx,[ebp-04h] xor eax,eax mov ax,[esi+02h] xor ecx,ecx mov cx,[esi] push eax push ecx push edi push edx mov edx,[ebp-18h] mov eax,ebx mov ecx,SUB_L00488700 sub eax,edx mov edx,[ebp-24h] push eax call SUB_L00439100 lea ecx,[ebp-14h] lea edx,[ebp-08h] push ecx mov ecx,[ebp-38h] call SUB_L004390A0 mov ecx,[ebp-24h] lea edx,[ebp-14h] push edx lea edx,[ebp-04h] call SUB_L004390A0 mov ecx,[ebp-04h] mov eax,ebx sub eax,ecx mov ecx,[ebp-0Ch] lea edx,[ebp-1Ch] add ecx,00000007h push edx lea edx,[ebp-18h] mov [ebp-04h],eax mov [ebp-24h],ecx call SUB_L004390A0 mov edx,[ebp-28h] mov eax,[ebp-08h] mov ecx,[ebp-04h] mov [ebp-44h],edx mov edx,eax mov [ebp-10h],eax cmp edx,ecx mov [ebp-50h],eax mov [ebp-48h],ecx mov dword ptr [ebp-4Ch],00000000h jge L0041C4E2 mov edx,[ebp-18h] jmp L0041C47A L0041C477: mov eax,[ebp-10h] L0041C47A: add edx,eax cmp edx,ecx jg L0041C4A7 xor ecx,ecx xor edx,edx mov cx,[esi+02h] mov dx,[esi] push ecx mov ecx,[ebp-28h] push edx mov edx,[ebp-1Ch] sub ecx,edx mov edx,[ebp-24h] push edi push ecx push eax mov ecx,SUB_L00488700 call SUB_L00439100 jmp L0041C4D0 L0041C4A7: xor edx,edx xor ecx,ecx mov dx,[esi+02h] mov cx,[esi] push edx mov edx,[ebp-28h] push ecx mov ecx,[ebp-1Ch] sub edx,ecx push edi push edx mov edx,[ebp-24h] push eax lea eax,[ebp-50h] push eax mov ecx,SUB_L00488700 call SUB_L00439290 L0041C4D0: mov edx,[ebp-18h] mov eax,[ebp-10h] mov ecx,[ebp-04h] add eax,edx cmp eax,ecx mov [ebp-10h],eax jl L0041C477 L0041C4E2: lea ecx,[ebp-3Ch] lea edx,[ebp-14h] push ecx mov ecx,[ebp-20h] call SUB_L004390A0 mov ecx,[ebp-24h] lea edx,[ebp-2Ch] push edx lea edx,[ebp-14h] call SUB_L004390A0 mov eax,[ebp-28h] mov ecx,[ebp-2Ch] sub eax,ecx lea ecx,[ebp-14h] push ecx mov ecx,[ebp-30h] lea edx,[ebp-08h] mov [ebp-2Ch],eax call SUB_L004390A0 mov ecx,[ebp-34h] lea edx,[ebp-14h] push edx lea edx,[ebp-04h] call SUB_L004390A0 mov ecx,[ebp-04h] mov eax,ebx sub eax,ecx mov ecx,[ebp-0Ch] lea edx,[ebp-1Ch] add ecx,00000004h push edx lea edx,[ebp-18h] mov [ebp-04h],eax mov [ebp-38h],ecx call SUB_L004390A0 mov ecx,[ebp-08h] mov eax,[ebp-3Ch] mov edx,[ebp-04h] mov [ebp-50h],ecx mov ecx,[ebp-2Ch] mov [ebp-34h],eax cmp eax,ecx mov [ebp-48h],edx mov [ebp-4Ch],eax mov [ebp-44h],ecx jge L0041C5F1 mov ebx,[ebp-08h] L0041C56E: cmp ebx,edx jge L0041C5DF mov ecx,[ebp-18h] jmp L0041C57A L0041C577: mov eax,[ebp-34h] L0041C57A: add ecx,ebx cmp ecx,edx jg L0041C5AC mov edx,[ebp-1Ch] lea ecx,[eax+edx] mov edx,[ebp-2Ch] cmp ecx,edx jge L0041C5AC xor edx,edx xor ecx,ecx mov dx,[esi+02h] mov cx,[esi] push edx mov edx,[ebp-38h] push ecx push edi push eax push ebx mov ecx,SUB_L00488700 call SUB_L00439100 jmp L0041C5CD L0041C5AC: xor edx,edx xor ecx,ecx mov dx,[esi+02h] mov cx,[esi] push edx push ecx push edi push eax lea edx,[ebp-50h] push ebx push edx mov edx,[ebp-38h] mov ecx,SUB_L00488700 call SUB_L00439290 L0041C5CD: mov ecx,[ebp-18h] mov edx,[ebp-04h] add ebx,ecx cmp ebx,edx jl L0041C577 mov ebx,[ebp-08h] mov eax,[ebp-34h] L0041C5DF: mov ecx,[ebp-1Ch] add eax,ecx mov ecx,[ebp-2Ch] cmp eax,ecx mov [ebp-34h],eax jl L0041C56E mov ebx,[ebp-40h] L0041C5F1: mov eax,[ebp+08h] test eax,eax jnz L0041C9A7 mov esi,[ebp-0Ch] lea eax,[ebp-24h] push eax lea edx,[ebp+08h] lea ecx,[esi+0Bh] mov [ebp-40h],ecx call SUB_L004390A0 lea edx,[ebp-20h] lea ecx,[esi+0Ch] push edx lea edx,[ebp-10h] mov [ebp-38h],ecx call SUB_L004390A0 mov eax,[ebp+08h] test eax,eax jz L0041C6DF mov ecx,[ebp-10h] test ecx,ecx jz L0041C6DF lea ecx,[ecx+eax+50h] cmp ebx,ecx jle L0041C6DF mov ecx,ebx sub ecx,eax sub ecx,00000014h call SUB_L00455460 mov esi,[ebp-10h] mov ecx,ebx sub ecx,esi add eax,0000000Ah sub ecx,00000014h mov [ebp-08h],eax call SUB_L00455460 mov ecx,[ebp-08h] mov edx,eax add edx,0000000Ah mov eax,ecx sub eax,edx mov [ebp-04h],edx cdq xor eax,edx sub eax,edx mov edx,[ebp+08h] add edx,0000000Ah cmp eax,edx jge L0041C6B1 L0041C684: mov esi,[ebp-10h] mov ecx,ebx sub ecx,esi sub ecx,00000014h call SUB_L00455460 mov ecx,[ebp-08h] mov edx,eax add edx,0000000Ah mov eax,ecx sub eax,edx mov [ebp-04h],edx cdq xor eax,edx sub eax,edx mov edx,[ebp+08h] add edx,0000000Ah cmp eax,edx jl L0041C684 L0041C6B1: mov esi,[ebp-28h] mov edx,[ebp-40h] push esi push ebx push edi push 00000000h push ecx mov ecx,SUB_L00488380 call SUB_L00439100 mov eax,[ebp-04h] mov edx,[ebp-38h] push esi push ebx push edi push 00000000h push eax mov ecx,SUB_L00488380 call SUB_L00439100 jmp L0041C6E2 L0041C6DF: mov esi,[ebp-28h] L0041C6E2: mov ecx,[ebp-0Ch] lea edx,[ebp-24h] add ecx,00000011h push edx lea edx,[ebp+08h] mov [ebp-40h],ecx call SUB_L004390A0 mov eax,[ebp-0Ch] lea edx,[ebp-20h] push edx lea edx,[ebp-10h] lea ecx,[eax+12h] mov [ebp-38h],ecx call SUB_L004390A0 mov eax,[ebp+08h] test eax,eax jz L0041C7CF mov ecx,[ebp-10h] test ecx,ecx jz L0041C7CF lea ecx,[ecx+eax+50h] cmp ebx,ecx jle L0041C7CF mov ecx,ebx sub ecx,eax sub ecx,00000014h call SUB_L00455460 add eax,0000000Ah mov ecx,ebx mov [ebp-08h],eax mov eax,[ebp-10h] sub ecx,eax sub ecx,00000014h call SUB_L00455460 mov ecx,[ebp-08h] mov edx,eax add edx,0000000Ah mov eax,ecx sub eax,edx mov [ebp-04h],edx cdq xor eax,edx sub eax,edx mov edx,[ebp+08h] add edx,0000000Ah cmp eax,edx jge L0041C79A L0041C76D: mov eax,[ebp-10h] mov ecx,ebx sub ecx,eax sub ecx,00000014h call SUB_L00455460 mov ecx,[ebp-08h] mov edx,eax add edx,0000000Ah mov eax,ecx sub eax,edx mov [ebp-04h],edx cdq xor eax,edx sub eax,edx mov edx,[ebp+08h] add edx,0000000Ah cmp eax,edx jl L0041C76D L0041C79A: mov edx,[ebp-24h] mov eax,esi push esi push ebx sub eax,edx mov edx,[ebp-40h] push edi push eax push ecx mov ecx,SUB_L00488380 call SUB_L00439100 mov eax,[ebp-20h] mov edx,[ebp-04h] mov ecx,esi push esi push ebx sub ecx,eax push edi push ecx push edx mov edx,[ebp-38h] mov ecx,SUB_L00488380 call SUB_L00439100 L0041C7CF: mov eax,[ebp-0Ch] lea edx,[ebp-24h] push edx lea edx,[ebp+08h] lea ecx,[eax+0Dh] mov [ebp-40h],ecx call SUB_L004390A0 mov eax,[ebp-0Ch] lea edx,[ebp-20h] push edx lea edx,[ebp-10h] lea ecx,[eax+0Eh] mov [ebp-38h],ecx call SUB_L004390A0 mov eax,[ebp+08h] test eax,eax jz L0041C8B6 mov eax,[ebp-10h] test eax,eax jz L0041C8B6 mov eax,[ebp-24h] mov ecx,[ebp-20h] lea edx,[ecx+eax+50h] cmp esi,edx jle L0041C8B6 mov ecx,esi sub ecx,eax sub ecx,00000014h call SUB_L00455460 add eax,0000000Ah mov ecx,esi mov [ebp-08h],eax mov eax,[ebp-20h] sub ecx,eax sub ecx,00000014h call SUB_L00455460 mov ecx,[ebp-08h] mov edx,eax add edx,0000000Ah mov eax,ecx sub eax,edx mov [ebp-04h],edx cdq xor eax,edx sub eax,edx mov edx,[ebp-24h] add edx,0000000Ah cmp eax,edx jge L0041C88D L0041C860: mov eax,[ebp-20h] mov ecx,esi sub ecx,eax sub ecx,00000014h call SUB_L00455460 mov ecx,[ebp-08h] mov edx,eax add edx,0000000Ah mov eax,ecx sub eax,edx mov [ebp-04h],edx cdq xor eax,edx sub eax,edx mov edx,[ebp-24h] add edx,0000000Ah cmp eax,edx jl L0041C860 L0041C88D: mov edx,[ebp-40h] push esi push ebx push edi push ecx push 00000000h mov ecx,SUB_L00488380 call SUB_L00439100 mov eax,[ebp-04h] mov edx,[ebp-38h] push esi push ebx push edi push eax push 00000000h mov ecx,SUB_L00488380 call SUB_L00439100 L0041C8B6: mov ecx,[ebp-0Ch] lea edx,[ebp-24h] add ecx,0000000Fh push edx lea edx,[ebp+08h] mov [ebp-40h],ecx call SUB_L004390A0 mov eax,[ebp-0Ch] lea edx,[ebp-20h] push edx lea edx,[ebp-10h] lea ecx,[eax+10h] mov [ebp-38h],ecx call SUB_L004390A0 mov eax,[ebp+08h] test eax,eax jz L0041C9A7 mov eax,[ebp-10h] test eax,eax jz L0041C9A7 mov eax,[ebp-24h] mov ecx,[ebp-20h] lea edx,[ecx+eax+50h] cmp esi,edx jle L0041C9A7 mov ecx,esi sub ecx,eax sub ecx,00000014h call SUB_L00455460 add eax,0000000Ah mov ecx,esi mov [ebp-08h],eax mov eax,[ebp-20h] sub ecx,eax sub ecx,00000014h call SUB_L00455460 mov ecx,[ebp-08h] mov edx,eax add edx,0000000Ah mov eax,ecx sub eax,edx mov [ebp-04h],edx cdq xor eax,edx sub eax,edx mov edx,[ebp-24h] add edx,0000000Ah cmp eax,edx jge L0041C974 L0041C947: mov eax,[ebp-20h] mov ecx,esi sub ecx,eax sub ecx,00000014h call SUB_L00455460 mov ecx,[ebp-08h] mov edx,eax add edx,0000000Ah mov eax,ecx sub eax,edx mov [ebp-04h],edx cdq xor eax,edx sub eax,edx mov edx,[ebp-24h] add edx,0000000Ah cmp eax,edx jl L0041C947 L0041C974: push esi mov edx,[ebp-40h] push ebx push edi push ecx mov ecx,[ebp+08h] mov eax,ebx sub eax,ecx mov ecx,SUB_L00488380 push eax call SUB_L00439100 mov ecx,[ebp-04h] mov edx,[ebp-38h] push esi push ebx push edi push ecx mov ecx,[ebp-10h] sub ebx,ecx mov ecx,SUB_L00488380 push ebx call SUB_L00439100 L0041C9A7: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ SUB_L0041C9B0: push ebp mov ebp,esp sub esp,00000030h push esi push edi mov edi,edx lea eax,[ebp-18h] mov esi,ecx push eax lea edx,[ebp-08h] call SUB_L004390A0 lea edx,[ebp-1Ch] lea ecx,[esi+01h] push edx lea edx,[ebp-0Ch] mov [ebp-10h],ecx call SUB_L004390A0 lea eax,[ebp-20h] lea ecx,[esi+02h] push eax lea edx,[ebp-04h] mov [ebp-14h],ecx call SUB_L004390A0 mov eax,[ebp-08h] xor edx,edx cmp eax,edx jz L0041CAA2 cmp [ebp-0Ch],edx jz L0041CAA2 cmp [ebp-04h],edx jz L0041CAA2 xor ecx,ecx xor eax,eax mov cx,[edi+02h] mov ax,[edi] push ebx lea ebx,[edi+04h] push ecx push eax push ebx push edx mov [ebp-30h],edx mov [ebp-2Ch],edx mov [ebp-24h],ecx push edx mov edx,esi mov ecx,SUB_L00488700 mov [ebp-28h],eax call SUB_L00439100 mov edx,[ebp-04h] mov esi,[ebp-08h] xor eax,eax mov ax,[edi] mov ecx,eax sub ecx,edx mov edx,esi cmp edx,ecx jge L0041CA7E L0041CA4C: xor edx,edx mov ecx,SUB_L00488700 mov dx,[edi+02h] push edx mov edx,[ebp-10h] push eax push ebx push 00000000h lea eax,[ebp-30h] push esi push eax call SUB_L00439290 mov eax,[ebp-0Ch] mov edx,[ebp-04h] add esi,eax xor eax,eax mov ax,[edi] mov ecx,eax sub ecx,edx cmp esi,ecx jl L0041CA4C L0041CA7E: xor edx,edx xor eax,eax mov dx,[edi+02h] mov ax,[edi] push edx mov edx,[ebp-04h] push eax push ebx sub eax,edx mov edx,[ebp-14h] push 00000000h push eax mov ecx,SUB_L00488700 call SUB_L00439100 pop ebx L0041CAA2: pop edi pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L0041CAB0: push ebp mov ebp,esp sub esp,0000001Ch push ebx push esi mov esi,[ebp+0Ch] push edi mov edi,edx mov ebx,ecx lea eax,[ebp-14h] lea edx,[ebp-04h] push eax mov ecx,esi call SUB_L004390A0 lea edx,[ebp-1Ch] lea ecx,[esi+01h] push edx lea edx,[ebp-0Ch] mov [ebp-18h],ecx call SUB_L004390A0 mov eax,[ebp+08h] mov ecx,[ebp-04h] mov esi,[ebp-0Ch] sub eax,ecx sub eax,esi mov esi,[ebp+10h] xor ecx,ecx mov [ebp-08h],eax mov cx,[esi] mov eax,[ebp-14h] imul edi,ecx add edi,ebx mov [ebp-10h],eax test eax,eax lea ebx,[esi+edi*2+04h] mov dword ptr [ebp+08h],00000000h jle L0041CB72 L0041CB12: mov ecx,[ebp-04h] xor edi,edi test ecx,ecx jle L0041CB67 L0041CB1B: mov edx,[ebp+08h] mov ecx,[ebp+0Ch] push edx mov edx,edi call SUB_L00439630 test ax,ax jz L0041CB5C mov ax,[esi] mov ecx,[L004D0740] imul ax,[ebp+08h] add eax,edi and eax,0000FFFFh sar ecx,1 mov dx,[ebx+eax*2] lea eax,[ebx+eax*2] shr dx,1 and ecx,edx mov edx,[L004D0748] add ecx,edx mov [eax],cx L0041CB5C: mov eax,[ebp-04h] inc edi cmp edi,eax jl L0041CB1B mov eax,[ebp-10h] L0041CB67: mov ecx,[ebp+08h] inc ecx cmp ecx,eax mov [ebp+08h],ecx jl L0041CB12 L0041CB72: test eax,eax mov dword ptr [ebp+08h],00000000h jle L0041CBCF L0041CB7D: mov edx,[ebp-08h] xor ecx,ecx test edx,edx jle L0041CBC4 L0041CB86: mov ax,[esi] mov edx,[ebp-04h] imul ax,[ebp+08h] add eax,edx mov edx,[L004D0740] add eax,ecx and eax,0000FFFFh sar edx,1 mov di,[ebx+eax*2] lea eax,[ebx+eax*2] shr di,1 and edx,edi mov edi,[L004D0748] add edx,edi inc ecx mov [eax],dx mov eax,[ebp-08h] cmp ecx,eax jl L0041CB86 mov eax,[ebp-10h] L0041CBC4: mov ecx,[ebp+08h] inc ecx cmp ecx,eax mov [ebp+08h],ecx jl L0041CB7D L0041CBCF: test eax,eax mov dword ptr [ebp+08h],00000000h jle L0041CC46 mov ecx,[ebp-0Ch] L0041CBDD: xor edi,edi test ecx,ecx jle L0041CC3B L0041CBE3: mov eax,[ebp+08h] mov ecx,[ebp-18h] push eax mov edx,edi call SUB_L00439630 test ax,ax jz L0041CC30 mov cx,[esi] mov edx,[ebp-04h] imul cx,[ebp+08h] mov eax,[ebp-08h] add ecx,edx add ecx,eax mov edx,[L004D0740] sar edx,1 lea eax,[ecx+edi-01h] and eax,0000FFFFh mov cx,[ebx+eax*2] lea eax,[ebx+eax*2] shr cx,1 and edx,ecx mov ecx,[L004D0748] add edx,ecx mov [eax],dx L0041CC30: mov ecx,[ebp-0Ch] inc edi cmp edi,ecx jl L0041CBE3 mov eax,[ebp-10h] L0041CC3B: mov edx,[ebp+08h] inc edx cmp edx,eax mov [ebp+08h],edx jl L0041CBDD L0041CC46: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 4 SUB_L0041CC50: push ebp mov ebp,esp push FFFFFFFFh push L004B2018 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,0000000Ch push ebx push esi mov esi,ecx push edi mov [ebp-14h],esi call SUB_L00441CB0 mov ecx,[ebp+0Ch] mov eax,[ebp+08h] mov [esi+30h],ecx mov ecx,[ebp+10h] lea edi,[esi+20h] xor ebx,ebx and ecx,0000FFFFh push edi lea edx,[esi+1Ch] mov [ebp-04h],ebx mov dword ptr [esi],L004B8248 mov [esi+2Ch],eax mov dword ptr [esi+04h],SSZ004C5178_ListBoxControl_gump mov [esi+5Ch],ebx mov [esi+50h],ecx mov [esi+60h],ebx mov [esi+4Ch],ebx mov [esi+48h],ebx mov [esi+44h],ebx mov [esi+40h],ebx mov [esi+3Ch],ebx call SUB_L004390A0 mov ecx,[esi+50h] lea edx,[ebp-10h] push edx lea edx,[ebp-18h] add ecx,00000004h call SUB_L004390A0 mov eax,[ebp-10h] mov ecx,[edi] add ecx,eax push SSZ004C5154_framedata_for_CListBoxControlGum mov [edi],ecx push 00000008h mov ecx,L00669C8C mov [esi+10h],ebx mov dword ptr [esi+14h],00000001h call SUB_L0044FBD0 mov ecx,[esi+14h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+38h],edi rep stosd mov ecx,edx mov dx,[ebp+20h] and ecx,00000003h rep stosb mov eax,[esi+38h] mov cx,[ebp+1Ch] mov [eax+04h],ebx mov eax,[ebp+24h] and eax,000000FFh mov [esi+00001240h],cx mov [esi+00001242h],dx mov [esi+000000A8h],ebx mov [esi+0000009Ch],ebx mov dword ptr [esi+000000A0h],FFFFFFFFh mov [esi+000000A4h],eax jz L0041CD62 mov dword ptr [esi+00000098h],00000001h jmp L0041CD68 L0041CD62: mov [esi+00000098h],ebx L0041CD68: mov ecx,[ebp-0Ch] mov [esi+00000094h],ebx mov [esi+68h],ebx mov eax,esi pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0020h ;------------------------------------------------------------------------------ Align 16 L0041CD90: push ebp mov ebp,esp push esi mov esi,ecx call SUB_L0041CDC0 test byte ptr [ebp+08h],01h jz L0041CDAA push esi call SUB_L0049A810 add esp,00000004h L0041CDAA: mov eax,esi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L0041CDC0: push ebp mov ebp,esp push FFFFFFFFh push L004B2038 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx mov [ebp-10h],esi mov dword ptr [esi],L004B8248 mov eax,[esi+38h] mov dword ptr [ebp-04h],00000000h mov eax,[eax+04h] test eax,eax jz L0041CE10 push SSZ004C51A8_ListBoxControl_frame0_pBMP push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov ecx,[esi+38h] mov dword ptr [ecx+04h],00000000h L0041CE10: mov eax,[esi+38h] test eax,eax jz L0041CE2E push SSZ004C518C_ListBoxControl_framedata push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov dword ptr [esi+38h],00000000h L0041CE2E: mov ecx,esi mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00441D50 mov ecx,[ebp-0Ch] pop esi mov fs:[00000000h],ecx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 SUB_L0041CE50: push ebp mov ebp,esp sub esp,0000003Ch push ebx push esi mov esi,ecx xor ebx,ebx push edi mov [ebp-20h],ebx mov eax,[esi+38h] cmp [eax+04h],ebx jnz L0041CEC6 mov ecx,[esi+1Ch] push SSZ004C51C4_listboxctrl_frame0 imul ecx,[esi+20h] lea edx,[ecx+ecx+04h] mov ecx,L00669C8C push edx call SUB_L0044FBD0 mov ecx,[esi+38h] mov [ecx+04h],eax mov edx,[esi+38h] mov cx,[esi+1Ch] mov eax,[edx+04h] mov [eax],cx mov edx,[esi+38h] mov cx,[esi+20h] mov eax,[edx+04h] mov [eax+02h],cx mov ecx,[esi+1Ch] imul ecx,[esi+20h] mov edx,[esi+38h] xor eax,eax shl ecx,1 mov edi,[edx+04h] mov edx,ecx add edi,00000004h shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb L0041CEC6: mov ecx,[esi+50h] lea eax,[ebp-0Ch] push eax lea edx,[ebp-04h] call SUB_L004390A0 lea ecx,[ebp-08h] lea edx,[ebp-04h] push ecx mov ecx,[esi+50h] inc ecx call SUB_L004390A0 mov ecx,[esi+1Ch] mov edx,[ebp-04h] cmp edx,ecx jge L0041CEFB mov eax,ecx sub eax,edx cdq sub eax,edx sar eax,1 mov [ebp-20h],eax L0041CEFB: mov edx,[ebp-20h] mov eax,[ebp-0Ch] add ecx,FFFFFFFAh mov dword ptr [ebp-04h],00000006h mov [ebp-34h],ecx lea ecx,[ebp-08h] push ecx mov ecx,[esi+50h] lea edi,[edx+06h] lea edx,[ebp-04h] add ecx,00000004h mov [ebp-14h],edi mov [ebp-3Ch],edi mov [ebp-38h],eax call SUB_L004390A0 mov edx,[esi+20h] mov eax,[ebp-08h] sub edx,eax mov eax,[ebp+08h] cmp eax,FFFFFFFFh mov [ebp-30h],edx jnz L0041D18B mov eax,[esi+38h] push ebx push ebx mov edx,00000003h mov ecx,[eax+04h] push ecx mov ecx,[esi+50h] call SUB_L00484D60 mov eax,[esi+000000A0h] cmp eax,FFFFFFFFh jz L0041CF8B mov edx,[esi+38h] mov ecx,[edx+04h] lea edx,[edi+edi] push ecx mov ecx,[esi+1Ch] sub ecx,edx lea edx,[eax+eax*2] mov eax,[ebp-0Ch] push 000013F5h push ecx lea ecx,[eax+edx*4] add edx,ecx mov ecx,edi call SUB_L0041CAB0 L0041CF8B: cmp [esi+00000098h],ebx jz L0041D0F1 mov eax,[esi+000000A4h] xor edi,edi cmp eax,ebx jle L0041D04C L0041CFA7: lea edx,[ebp-10h] lea eax,[ebp-28h] push edx lea ecx,[ebp-2Ch] push eax push ecx mov ecx,[esi+000000A8h] mov eax,edi add eax,ecx mov ecx,esi add ecx,eax lea edx,[eax+eax*4] xor eax,eax mov ax,[esi+00001240h] lea edx,[ecx+edx*8+0000023Ch] mov ecx,L00669CC8 push edx push eax call SUB_L00437A10 mov eax,[esi+38h] mov edx,[esi+1Ch] lea ecx,[ebp-3Ch] push ecx mov ecx,[eax+04h] add ecx,00000004h push edx push ecx mov ecx,[esi+000000A8h] mov eax,edi add eax,ecx mov ecx,esi add ecx,eax lea edx,[eax+eax*4] xor eax,eax mov ax,[esi+00001242h] lea edx,[ecx+edx*8+0000023Ch] xor ecx,ecx mov cx,[esi+00001240h] push edx mov edx,[ebp-0Ch] push eax mov eax,[ebp-10h] push ecx add eax,edx mov edx,[ebp-14h] lea ecx,[eax+ebx+01h] push ecx push edx mov ecx,L00669CC8 call SUB_L004375A0 mov eax,[esi+000000A4h] inc edi add ebx,0000000Fh cmp edi,eax jl L0041CFA7 L0041D04C: mov eax,[esi+000000A8h] test eax,eax jle L0041D098 lea eax,[ebp-08h] lea edx,[ebp-04h] push eax mov ecx,00000983h call SUB_L004390A0 mov ecx,[esi+20h] mov eax,[esi+38h] mov edx,[esi+1Ch] mov edi,[ebp-04h] push ecx mov ecx,[eax+04h] mov eax,[ebp-34h] push edx mov edx,[ebp-38h] add ecx,00000004h sub eax,edi push ecx sub eax,00000006h push edx push eax mov edx,00000983h mov ecx,SUB_L00488700 call SUB_L00439100 L0041D098: mov ecx,[esi+000000A8h] mov edx,[esi+000000A4h] mov eax,[esi+0000009Ch] add ecx,edx cmp ecx,eax jge L0041D40D lea edx,[ebp-08h] mov ecx,00000985h push edx lea edx,[ebp-04h] call SUB_L004390A0 mov eax,[esi+20h] mov edx,[esi+38h] mov ecx,[esi+1Ch] mov esi,[ebp-04h] mov ebx,[ebp-08h] push eax mov eax,[edx+04h] mov edx,[ebp-34h] push ecx mov ecx,[ebp-30h] add eax,00000004h sub edx,esi sub ecx,ebx push eax sub edx,00000006h push ecx push edx jmp L0041D3FE L0041D0F1: mov eax,[esi+0000009Ch] mov [ebp+08h],ebx cmp eax,ebx jle L0041D40D lea edi,[esi+0000023Ch] L0041D108: lea eax,[ebp-10h] lea ecx,[ebp-28h] push eax lea edx,[ebp-2Ch] xor eax,eax push ecx mov ax,[esi+00001240h] push edx push edi push eax mov ecx,L00669CC8 call SUB_L00437A10 mov eax,[esi+38h] mov edx,[esi+1Ch] lea ecx,[ebp-3Ch] push ecx mov ecx,[eax+04h] push edx add ecx,00000004h xor edx,edx push ecx mov dx,[esi+00001242h] mov ecx,[ebp-0Ch] push edi push edx mov edx,[ebp-10h] xor eax,eax mov ax,[esi+00001240h] add edx,ecx mov ecx,[ebp-14h] push eax lea eax,[edx+ebx+01h] push eax push ecx mov ecx,L00669CC8 call SUB_L004375A0 mov eax,[ebp+08h] mov ecx,[esi+0000009Ch] inc eax add edi,00000029h add ebx,0000000Fh cmp eax,ecx mov [ebp+08h],eax jl L0041D108 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L0041D18B: mov ebx,[esi+000000A8h] xor edi,edi sub eax,ebx mov ebx,[ebp-0Ch] lea ecx,[eax+eax*2] lea edx,[ebx+ecx*4] add ecx,edx inc eax mov [ebp-1Ch],ecx lea edx,[ebp-18h] lea eax,[eax+eax*2] push edx lea edx,[ebp-04h] lea ecx,[ebx+eax*4] add eax,ecx mov ecx,[esi+50h] dec ebx inc ecx mov [ebp-24h],eax call SUB_L004390A0 mov eax,[ebp-18h] mov ecx,[ebp-1Ch] add eax,ebx cmp eax,ecx jg L0041D1F6 L0041D1CC: inc edi mov ebx,eax cmp edi,00000003h jnz L0041D1D6 xor edi,edi L0041D1D6: mov eax,[esi+50h] lea ecx,[ebp-18h] push ecx lea edx,[ebp-04h] lea ecx,[edi+eax+01h] call SUB_L004390A0 mov ecx,[ebp-18h] lea eax,[ecx+ebx] mov ecx,[ebp-1Ch] cmp eax,ecx jle L0041D1CC L0041D1F6: mov eax,[ebp-24h] mov edx,[ebp-1Ch] cmp ebx,eax mov [ebp-38h],edx lea ecx,[eax+01h] mov dword ptr [ebp-04h],00000006h mov [ebp-30h],ecx jge L0041D266 L0041D210: mov eax,[esi+50h] lea edx,[ebp-08h] push edx lea edx,[ebp-04h] lea ecx,[edi+eax+01h] call SUB_L004390A0 mov ecx,[esi+38h] xor edx,edx mov eax,[ecx+04h] xor ecx,ecx mov dx,[eax+02h] mov cx,[eax] push edx mov edx,[ebp-20h] add eax,00000004h push ecx mov ecx,[esi+50h] push eax push ebx push edx lea eax,[ebp-3Ch] lea edx,[edi+ecx+01h] push eax mov ecx,SUB_L00488700 call SUB_L00439290 mov edx,[ebp-08h] add ebx,edx inc edi cmp edi,00000003h jnz L0041D261 xor edi,edi L0041D261: cmp ebx,[ebp-24h] jl L0041D210 L0041D266: mov eax,[esi+000000A0h] mov edi,[ebp+08h] cmp edi,eax jnz L0041D2A3 mov edx,[esi+38h] mov ebx,[esi+1Ch] mov ecx,[edx+04h] push ecx mov ecx,[ebp-14h] push 000013F5h lea edx,[ecx+ecx] sub ebx,edx mov edx,[esi+000000A8h] sub eax,edx push ebx lea edx,[eax+eax*2] mov eax,[ebp-0Ch] lea eax,[eax+edx*4] add edx,eax call SUB_L0041CAB0 L0041D2A3: mov edx,esi lea ecx,[edi+edi*4] add edx,edi lea eax,[ebp-10h] push eax xor eax,eax mov ax,[esi+00001240h] lea ebx,[edx+ecx*8+0000023Ch] lea ecx,[ebp-28h] lea edx,[ebp-2Ch] push ecx push edx push ebx push eax mov ecx,L00669CC8 call SUB_L00437A10 mov eax,[esi+38h] mov edx,[esi+1Ch] lea ecx,[ebp-3Ch] push ecx mov ecx,[eax+04h] push edx add ecx,00000004h xor edx,edx xor eax,eax mov dx,[esi+00001242h] mov ax,[esi+00001240h] push ecx push ebx mov ecx,[ebp-10h] push edx push eax mov eax,[esi+000000A8h] sub edi,eax lea eax,[edi+edi*2] lea edx,[ecx+eax*4] mov ecx,[ebp-0Ch] add eax,edx lea edx,[eax+ecx+01h] mov eax,[ebp-14h] push edx push eax mov ecx,L00669CC8 call SUB_L004375A0 mov eax,[esi+00000098h] test eax,eax jz L0041D40D mov eax,[esi+000000A8h] test eax,eax jle L0041D391 lea ecx,[ebp-08h] lea edx,[ebp-04h] push ecx mov ecx,[esi+50h] call SUB_L004390A0 mov edx,[ebp-08h] lea eax,[ebp-08h] mov [ebp-38h],edx push eax lea edx,[ebp-04h] mov ecx,00000983h call SUB_L004390A0 mov ecx,[esi+20h] mov eax,[esi+38h] mov edx,[esi+1Ch] mov edi,[ebp-04h] push ecx mov ecx,[eax+04h] mov eax,[ebp-34h] push edx mov edx,[ebp-38h] add ecx,00000004h sub eax,edi push ecx sub eax,00000006h push edx push eax mov edx,00000983h mov ecx,SUB_L00488700 call SUB_L00439100 L0041D391: mov ecx,[esi+000000A4h] mov edx,[esi+000000A8h] mov eax,[esi+0000009Ch] add ecx,edx cmp ecx,eax jge L0041D40D mov ecx,[esi+50h] lea edx,[ebp-08h] push edx lea edx,[ebp-04h] add ecx,00000004h call SUB_L004390A0 mov eax,[esi+20h] mov ecx,[ebp-08h] sub eax,ecx lea ecx,[ebp-08h] push ecx lea edx,[ebp-04h] mov ecx,00000985h mov [ebp-30h],eax call SUB_L004390A0 mov edx,[esi+20h] mov ecx,[esi+38h] mov eax,[esi+1Ch] mov esi,[ebp-04h] mov ebx,[ebp-08h] push edx mov edx,[ecx+04h] mov ecx,[ebp-34h] push eax mov eax,[ebp-30h] add edx,00000004h sub ecx,esi sub eax,ebx push edx sub ecx,00000006h push eax push ecx L0041D3FE: mov edx,00000985h mov ecx,SUB_L00488700 call SUB_L00439100 L0041D40D: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 L0041D420: push ebp mov ebp,esp push ebx mov ebx,ecx mov dword ptr [L006A9DD4],00000000h push esi mov ecx,[ebx+000000A0h] push edi cmp ecx,FFFFFFFFh jz L0041D4B5 mov eax,[ebx+00000094h] test eax,eax jz L0041D4B5 mov ecx,[ebx+ecx*4+000000ACh] mov edx,[eax+000000E8h] cmp edx,ecx jz L0041D4B5 mov [eax+000000E8h],ecx mov eax,[ebx+000000A0h] mov edx,ebx lea ecx,[eax+eax*4] add edx,eax xor eax,eax lea edi,[edx+ecx*8+0000023Ch] mov edx,[ebx+00000094h] or ecx,FFFFFFFFh add edx,000000ECh repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov ecx,[ebx+00000094h] call SUB_L0041AC50 mov eax,[ebx+00000094h] push eax mov ecx,[eax+48h] mov edx,[ecx] call [edx+4Ch] L0041D4B5: test ebx,ebx jz L0041D4C1 mov eax,[ebx] push 00000001h mov ecx,ebx call [eax] L0041D4C1: pop edi pop esi pop ebx pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 L0041D4D0: push ebp mov ebp,esp sub esp,0000000Ch push ebx push esi mov esi,ecx lea eax,[ebp-0Ch] push edi push eax mov ecx,[esi+50h] mov edi,[esi+000000A0h] lea edx,[ebp-08h] call SUB_L004390A0 lea ecx,[ebp-04h] lea edx,[ebp-08h] push ecx mov ecx,[esi+50h] add ecx,00000004h call SUB_L004390A0 mov ecx,[esi+20h] mov edx,[ebp-04h] mov ebx,[ebp+08h] sub ecx,edx test ebx,ebx mov [ebp-04h],ecx jl L0041D575 mov eax,[ebp+0Ch] mov edx,[ebp-0Ch] cmp eax,edx jl L0041D575 cmp ebx,[esi+1Ch] jge L0041D575 cmp eax,ecx jge L0041D575 sub eax,edx mov ecx,eax mov eax,88888889h imul ecx add edx,ecx mov ecx,[esi+000000A8h] sar edx,03h mov eax,edx shr eax,1Fh add edx,eax lea eax,[edx+ecx] cmp edi,eax mov [esi+000000A0h],eax jz L0041D58C cmp edi,FFFFFFFFh jz L0041D55E push edi mov ecx,esi call SUB_L0041CE50 L0041D55E: mov edx,[esi+000000A0h] mov ecx,esi push edx call SUB_L0041CE50 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L0041D575: cmp edi,FFFFFFFFh mov dword ptr [esi+000000A0h],FFFFFFFFh jz L0041D58C push edi mov ecx,esi call SUB_L0041CE50 L0041D58C: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 L0041D5A0: push ebp mov ebp,esp sub esp,00000008h push esi mov esi,ecx mov eax,[esi+00000098h] test eax,eax jz L0041D627 lea eax,[ebp-04h] lea ecx,[ebp-08h] push eax push ecx mov ecx,L006A9DC0 call SUB_L00450540 lea edx,[ebp-04h] lea eax,[ebp-08h] push edx push eax mov ecx,esi call SUB_L00440CD0 mov ecx,[ebp-04h] test ecx,ecx jge L0041D5FA mov eax,[esi+000000A8h] test eax,eax jle L0041D5FA dec eax push FFFFFFFFh mov ecx,esi mov [esi+000000A8h],eax call SUB_L0041CE50 pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L0041D5FA: cmp ecx,[esi+20h] jle L0041D627 mov eax,[esi+000000A8h] mov ecx,[esi+000000A4h] mov edx,[esi+0000009Ch] add ecx,eax cmp ecx,edx jge L0041D627 inc eax push FFFFFFFFh mov ecx,esi mov [esi+000000A8h],eax call SUB_L0041CE50 L0041D627: pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 SUB_L0041D630: push ebp mov ebp,esp sub esp,00000010h push ebx mov ebx,ecx push esi push edi mov eax,[ebx+1Ch] sub eax,0000000Ch mov [ebp-08h],eax mov eax,[ebx+0000009Ch] cmp eax,00000064h jge L0041D741 mov ecx,[ebp+08h] mov [ebx+eax*4+000000ACh],ecx mov eax,[ebx+0000009Ch] mov ecx,ebx lea edx,[eax+eax*4] add ecx,eax xor eax,eax lea esi,[ecx+edx*8+0000023Ch] mov edx,[ebp+0Ch] mov edi,edx or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov [ebp+08h],esi mov eax,ecx mov esi,edi mov edi,[ebp+08h] shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov edi,[ebx+0000009Ch] mov ecx,[ebx+00000098h] inc edi test ecx,ecx mov [ebx+0000009Ch],edi mov eax,edi jz L0041D6B8 cmp eax,[ebx+000000A4h] jg L0041D6BC L0041D6B8: add dword ptr [ebx+20h],0000000Fh L0041D6BC: mov eax,[ebx+20h] mov esi,[ebx+30h] add esi,eax cmp esi,000001E0h jle L0041D6D6 mov esi,000001E0h sub esi,eax mov [ebx+30h],esi L0041D6D6: test ecx,ecx jz L0041D6F1 mov ecx,[ebx+30h] add ecx,eax cmp ecx,000001CCh jle L0041D6F1 mov ecx,000001CCh sub ecx,eax mov [ebx+30h],ecx L0041D6F1: mov eax,[ebx+30h] test eax,eax jge L0041D6FF mov dword ptr [ebx+30h],00000000h L0041D6FF: lea eax,[ebp-0Ch] lea ecx,[ebp-10h] push eax push ecx lea eax,[ebp-04h] xor ecx,ecx mov cx,[ebx+00001240h] push eax push edx push ecx mov ecx,L00669CC8 call SUB_L00437A10 mov eax,[ebp-04h] mov ecx,[ebp-08h] cmp eax,ecx jle L0041D741 lea edx,[eax+0Ch] sub eax,ecx mov [ebx+1Ch],edx mov ecx,[ebx+2Ch] cdq sub eax,edx sar eax,1 neg eax add ecx,eax mov [ebx+2Ch],ecx L0041D741: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 8 SUB_L0041D750: push ebp mov ebp,esp push FFFFFFFFh push L004B20C6 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000008h push ebx push esi mov esi,ecx push edi mov [ebp-10h],esi call SUB_L00441CB0 xor ebx,ebx mov ecx,0000044Ch mov dword ptr [esi],L004B8390 mov dword ptr [esi+04h],SSZ004C51D8_Login_gump mov [esi+5Ch],ebx mov [esi+50h],ecx mov [esi+60h],ebx mov [esi+00000094h],ebx mov eax,[L006BD428] lea edx,[esi+1Ch] mov [esi+00000098h],eax lea eax,[esi+20h] push eax mov [ebp-04h],ebx mov [esi+4Ch],ebx mov [esi+48h],ebx mov [esi+44h],ebx mov [esi+40h],ebx mov [esi+3Ch],ebx call SUB_L004390A0 push SSZ004C4EF0_framedata_for_CDumbGump push 00000008h mov ecx,L00669C8C mov dword ptr [esi+2Ch],0000007Ch mov dword ptr [esi+30h],00000068h mov [esi+10h],ebx mov dword ptr [esi+14h],00000001h call SUB_L0044FBD0 mov ecx,[esi+14h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+38h],edi push SSZ004C4EE4_dumb_frame0 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+1Ch] imul eax,[esi+20h] lea ecx,[eax+eax+04h] push ecx mov ecx,L00669C8C call SUB_L0044FBD0 mov edx,[esi+38h] mov [edx+04h],eax mov eax,[esi+38h] mov dx,[esi+1Ch] mov ecx,[eax+04h] mov [ecx],dx mov eax,[esi+38h] mov dx,[esi+20h] mov ecx,[eax+04h] xor eax,eax mov [ecx+02h],dx mov ecx,[esi+1Ch] imul ecx,[esi+20h] mov edx,[esi+38h] shl ecx,1 mov edi,[edx+04h] mov edx,ecx add edi,00000004h shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+20h] mov ecx,[esi+1Ch] mov edx,[esi+38h] push eax push ecx mov eax,[edx+04h] mov edx,[esi+50h] add eax,00000004h mov ecx,SUB_L00488700 push eax push ebx push ebx call SUB_L00439100 push 00000158h call SUB_L0049A820 add esp,00000004h mov [ebp-14h],eax cmp eax,ebx mov byte ptr [ebp-04h],01h jz L0041D8DA mov edx,[esi+30h] push ebx mov edi,00000001h push ebx push edi push 00000386h push edi push 0000001Eh push ebx mov ecx,000000B5h push 0000045Ch push 0000045Ch sub ecx,edx push esi push ecx mov ecx,[esi+2Ch] mov edx,000000CDh sub edx,ecx mov ecx,eax push edx call SUB_L0041A6F0 jmp L0041D8E1 L0041D8DA: xor eax,eax mov edi,00000001h L0041D8E1: push edi push esi mov ecx,eax mov [ebp-04h],bl mov [esi+000000B0h],eax call SUB_L004415C0 mov eax,[esi+000000B0h] mov word ptr [eax+000000DEh],045Dh mov ecx,[esi+000000B0h] mov word ptr [ecx+000000E0h],045Eh mov edx,[esi+000000B0h] mov byte ptr [edx+000000E2h],16h mov eax,[esi+000000B0h] mov [eax+000000E3h],bl mov ecx,[esi+000000B0h] mov [ecx+000000B4h],edi mov ecx,[esi+000000B0h] call SUB_L0041AC50 push 00000158h mov dword ptr [esi+0000009Ch],FFFFFFFFh call SUB_L0049A820 add esp,00000004h mov [ebp-14h],eax cmp eax,ebx mov byte ptr [ebp-04h],02h jz L0041D999 mov ecx,[esi+30h] push ebx push ebx push edi push 00000386h push edi push 0000001Eh push ebx mov edx,000000C8h push 0000045Fh push 0000045Fh sub edx,ecx push esi push edx mov edx,[esi+2Ch] mov ecx,000000D9h sub ecx,edx push ecx mov ecx,eax call SUB_L0041A6F0 jmp L0041D99B L0041D999: xor eax,eax L0041D99B: push edi push esi mov ecx,eax mov [ebp-04h],bl mov [esi+000000B4h],eax call SUB_L004415C0 mov edx,[esi+000000B4h] mov word ptr [edx+000000DEh],0460h mov eax,[esi+000000B4h] mov word ptr [eax+000000E0h],0461h mov ecx,[esi+000000B4h] mov byte ptr [ecx+000000E2h],0Ah mov edx,[esi+000000B4h] mov [edx+000000E3h],bl mov eax,[esi+000000B4h] mov [eax+000000B4h],edi mov ecx,[esi+000000B4h] call SUB_L0041AC50 push 00000158h mov dword ptr [esi+000000A0h],FFFFFFFFh call SUB_L0049A820 add esp,00000004h mov [ebp-14h],eax cmp eax,ebx mov byte ptr [ebp-04h],03h jz L0041DA53 mov edx,[esi+30h] push ebx push ebx push edi push 00000386h push edi push 0000001Eh push ebx mov ecx,000000DAh push 00000462h push 00000462h sub ecx,edx push esi push ecx mov ecx,[esi+2Ch] mov edx,000000E0h sub edx,ecx mov ecx,eax push edx call SUB_L0041A6F0 jmp L0041DA55 L0041DA53: xor eax,eax L0041DA55: push edi push esi mov ecx,eax mov [ebp-04h],bl mov [esi+000000B8h],eax call SUB_L004415C0 mov eax,[esi+000000B8h] mov word ptr [eax+000000DEh],0463h mov ecx,[esi+000000B8h] mov word ptr [ecx+000000E0h],0464h mov edx,[esi+000000B8h] mov byte ptr [edx+000000E2h],03h mov eax,[esi+000000B8h] mov [eax+000000E3h],bl mov ecx,[esi+000000B8h] mov [ecx+000000B4h],edi mov ecx,[esi+000000B8h] call SUB_L0041AC50 push 00000158h mov dword ptr [esi+000000A4h],FFFFFFFFh call SUB_L0049A820 add esp,00000004h mov [ebp-14h],eax cmp eax,ebx mov byte ptr [ebp-04h],04h jz L0041DB0D mov ecx,[esi+30h] push ebx push ebx push edi push 00000386h push edi push 0000001Eh push ebx mov edx,000000EEh push 00000465h push 00000465h sub edx,ecx push esi push edx mov edx,[esi+2Ch] mov ecx,000000D8h sub ecx,edx push ecx mov ecx,eax call SUB_L0041A6F0 jmp L0041DB0F L0041DB0D: xor eax,eax L0041DB0F: push edi push esi mov ecx,eax mov [ebp-04h],bl mov [esi+000000BCh],eax call SUB_L004415C0 mov edx,[esi+000000BCh] mov word ptr [edx+000000DEh],0466h mov eax,[esi+000000BCh] mov word ptr [eax+000000E0h],0467h mov ecx,[esi+000000BCh] mov byte ptr [ecx+000000E2h],0Bh mov edx,[esi+000000BCh] mov [edx+000000E3h],bl mov eax,[esi+000000BCh] mov [eax+000000B4h],edi mov ecx,[esi+000000BCh] call SUB_L0041AC50 push 00000158h mov dword ptr [esi+000000A8h],FFFFFFFFh call SUB_L0049A820 add esp,00000004h mov [ebp-14h],eax cmp eax,ebx mov byte ptr [ebp-04h],05h jz L0041DBC7 mov edx,[esi+30h] push ebx push ebx push edi push 00000386h push edi push 0000001Eh push ebx mov ecx,00000101h push 00000468h push 00000468h sub ecx,edx push esi push ecx mov ecx,[esi+2Ch] mov edx,000000CAh sub edx,ecx mov ecx,eax push edx call SUB_L0041A6F0 jmp L0041DBC9 L0041DBC7: xor eax,eax L0041DBC9: push edi push esi mov ecx,eax mov [ebp-04h],bl mov [esi+000000C0h],eax call SUB_L004415C0 mov eax,[esi+000000C0h] mov word ptr [eax+000000DEh],0469h mov ecx,[esi+000000C0h] mov word ptr [ecx+000000E0h],046Ah mov edx,[esi+000000C0h] mov byte ptr [edx+000000E2h],19h mov eax,[esi+000000C0h] mov [eax+000000E3h],bl mov ecx,[esi+000000C0h] mov [ecx+000000B4h],edi mov ecx,[esi+000000C0h] call SUB_L0041AC50 mov edx,[esi+00000098h] mov dword ptr [esi+000000ACh],FFFFFFFFh mov eax,[esi+edx*4+000000B0h] mov [eax+000000D8h],edi mov ecx,[esi+00000098h] mov ecx,[esi+ecx*4+000000B0h] call SUB_L0041AC50 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp-14h],eax cmp eax,ebx mov byte ptr [ebp-04h],06h jz L0041DCA2 mov ecx,[esi+30h] push ebx push 00000454h push 00000453h push SUB_L0040F0D0 mov edx,00000086h push ebx push ebx sub edx,ecx push esi push edx mov edx,[esi+2Ch] mov ecx,000000BBh sub ecx,edx push ecx mov ecx,eax call SUB_L004122F0 jmp L0041DCA4 L0041DCA2: xor eax,eax L0041DCA4: push edi push esi mov ecx,eax mov [ebp-04h],bl mov dword ptr [eax+000000A4h],00000455h call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp-14h],eax cmp eax,ebx mov byte ptr [ebp-04h],07h jz L0041DD04 mov ecx,[esi+30h] push ebx push 0000044Eh push 0000044Dh push L0040F1D0 mov edx,0000011Fh push ebx push ebx sub edx,ecx push esi push edx mov edx,[esi+2Ch] mov ecx,000000B5h sub ecx,edx push ecx mov ecx,eax call SUB_L004122F0 jmp L0041DD06 L0041DD04: xor eax,eax L0041DD06: push edi push esi mov ecx,eax mov [ebp-04h],bl mov dword ptr [eax+000000A4h],0000044Fh call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp-14h],eax cmp eax,ebx mov byte ptr [ebp-04h],08h jz L0041DD66 mov ecx,[esi+30h] push ebx push 00000451h push 00000450h push L0040F400 mov edx,0000011Fh push ebx push ebx sub edx,ecx push esi push edx mov edx,[esi+2Ch] mov ecx,00000172h sub ecx,edx push ecx mov ecx,eax call SUB_L004122F0 jmp L0041DD68 L0041DD66: xor eax,eax L0041DD68: push edi push esi mov ecx,eax mov [ebp-04h],bl mov [eax+000000B0h],edi mov dword ptr [eax+000000A4h],00000452h call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp-14h],eax cmp eax,ebx mov byte ptr [ebp-04h],09h jz L0041DDCE mov ecx,[esi+30h] push ebx push 0000045Ah push 00000459h push SUB_L0040EE40 mov edx,00000086h push ebx push ebx sub edx,ecx push esi push edx mov edx,[esi+2Ch] mov ecx,00000171h sub ecx,edx push ecx mov ecx,eax call SUB_L004122F0 jmp L0041DDD0 L0041DDCE: xor eax,eax L0041DDD0: push edi push esi mov ecx,eax mov [ebp-04h],bl mov dword ptr [eax+000000A4h],0000045Bh call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp-14h],eax cmp eax,ebx mov byte ptr [ebp-04h],0Ah jz L0041DE30 mov ecx,[esi+30h] push ebx push 00000457h push 00000456h push L0040EFE0 mov edx,00000075h push ebx push ebx sub edx,ecx push esi push edx mov edx,[esi+2Ch] mov ecx,0000011Ch sub ecx,edx push ecx mov ecx,eax call SUB_L004122F0 jmp L0041DE32 L0041DE30: xor eax,eax L0041DE32: push edi push esi mov ecx,eax mov [ebp-04h],bl mov dword ptr [eax+000000A4h],00000458h call SUB_L004415C0 mov ecx,[ebp-0Ch] mov eax,esi pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 L0041DE60: push ebp mov ebp,esp push esi mov esi,ecx call SUB_L0041DE90 test byte ptr [ebp+08h],01h jz L0041DE7A push esi call SUB_L0049A810 add esp,00000004h L0041DE7A: mov eax,esi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L0041DE90: push ebp mov ebp,esp push FFFFFFFFh push L004B20D8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push esi push edi mov edi,ecx mov [ebp-10h],edi mov dword ptr [edi],L004B8390 mov dword ptr [ebp-04h],00000000h lea esi,[edi+000000B0h] mov ebx,00000005h L0041DEC9: mov ecx,[esi] test ecx,ecx jz L0041DEDB mov eax,[ecx] push 00000001h call [eax] mov dword ptr [esi],00000000h L0041DEDB: add esi,00000004h dec ebx jnz L0041DEC9 mov ecx,[edi+38h] mov eax,[ecx+04h] test eax,eax jz L0041DF05 push SSZ004C51F4_Login_frame0_pBMP push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov edx,[edi+38h] mov dword ptr [edx+04h],00000000h L0041DF05: mov eax,[edi+38h] test eax,eax jz L0041DF23 push SSZ004C51E4_Login_framedata push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov dword ptr [edi+38h],00000000h L0041DF23: mov ecx,edi mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00441D50 mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 L0041DF50: jmp SUB_L0040EE40 Align 16 L0041DF60: jmp L0040EFE0 Align 16 L0041DF70: push ebp mov ebp,esp mov edx,[ebp+08h] push esi mov esi,ecx push edi xor eax,eax mov edi,[esi+00000098h] lea ecx,[esi+000000B0h] L0041DF88: cmp edx,[ecx] jnz L0041DF92 mov [esi+00000098h],eax L0041DF92: inc eax add ecx,00000004h cmp eax,00000005h jl L0041DF88 cmp edi,[esi+00000098h] jz L0041DFE9 mov eax,[esi+edi*4+000000B0h] mov dword ptr [eax+000000D8h],00000000h mov ecx,[esi+edi*4+000000B0h] call SUB_L0041AC50 mov ecx,[esi+00000098h] mov edx,[esi+ecx*4+000000B0h] mov dword ptr [edx+000000D8h],00000001h mov eax,[esi+00000098h] mov ecx,[esi+eax*4+000000B0h] call SUB_L0041AC50 L0041DFE9: pop edi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 4 L0041DFF0: push ebp mov ebp,esp push esi mov esi,ecx mov ecx,[ebp+08h] push edi mov eax,[esi] push ecx mov ecx,esi call [eax+5Ch] mov edx,[esi+00000098h] or ecx,FFFFFFFFh xor eax,eax mov edi,[esi+edx*4+000000B0h] add edi,000000ECh repne scasb not ecx dec ecx mov ecx,esi jnz L0041E02E call SUB_L0040F0D0 pop edi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ L0041E02E: call SUB_L0040EE40 pop edi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 8 SUB_L0041E040: push ebp mov ebp,esp mov edx,[ebp+08h] push ebx mov ebx,ecx push edi mov edi,edx or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx jz L0041E0E5 mov eax,[ebx+00000094h] push esi mov edi,edx or ecx,FFFFFFFFh mov esi,[ebx+eax*4+000000B0h] xor eax,eax add esi,000000ECh repne scasb not ecx sub edi,ecx mov [ebp+08h],esi mov eax,[ebp+08h] mov edx,ecx mov esi,edi mov edi,eax shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb mov ecx,[ebx+00000094h] mov ecx,[ebx+ecx*4+000000B0h] call SUB_L0041AC50 mov edx,[ebx+00000094h] mov eax,[L0066962C] mov ecx,[ebx+edx*4+000000B0h] cmp ecx,eax jnz L0041E0C7 mov eax,[ecx] push 0000E023h call [eax+44h] L0041E0C7: mov ecx,[ebx+00000094h] mov edx,[ebp+10h] pop esi mov [ebx+ecx*4+0000009Ch],edx mov eax,[ebx+00000094h] inc eax mov [ebx+00000094h],eax L0041E0E5: pop edi pop ebx pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 8 SUB_L0041E0F0: push ebp mov ebp,esp sub esp,00000008h push ebx mov ebx,ecx xor eax,eax push esi mov ecx,[ebx+00000094h] push edi test ecx,ecx mov [ebp-08h],ebx mov [ebp-04h],eax jle L0041E125 mov esi,[ebp+08h] lea edx,[ebx+0000009Ch] L0041E116: cmp [edx],esi jz L0041E122 inc eax add edx,00000004h cmp eax,ecx jl L0041E116 L0041E122: mov [ebp-04h],eax L0041E125: cmp eax,ecx jz L0041E207 dec ecx cmp eax,ecx jge L0041E18E lea ebx,[ebx+eax*4+000000B0h] L0041E139: mov edi,[ebx+04h] mov edx,[ebx] add edi,000000ECh or ecx,FFFFFFFFh xor eax,eax add edx,000000ECh repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov ecx,[ebx] call SUB_L0041AC50 mov ecx,[ebx-10h] mov edx,[ebp-08h] mov eax,[ebp-04h] mov [ebx-14h],ecx mov ecx,[edx+00000094h] inc eax add ebx,00000004h dec ecx cmp eax,ecx mov [ebp-04h],eax jl L0041E139 mov ebx,edx L0041E18E: mov edx,[ebx+00000094h] mov edi,L004D77C0 or ecx,FFFFFFFFh xor eax,eax mov edx,[ebx+edx*4+000000ACh] add edx,000000ECh repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov ecx,[ebx+00000094h] mov ecx,[ebx+ecx*4+000000ACh] call SUB_L0041AC50 mov eax,[ebp-08h] mov edx,[eax+00000094h] mov dword ptr [eax+edx*4+00000098h],FFFFFFFFh mov ecx,[eax+00000094h] dec ecx mov [eax+00000094h],ecx mov eax,[eax+ecx*4+000000B0h] mov dword ptr [eax+000000B4h],00000001h L0041E207: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ SUB_L0041E210: push ebp mov ebp,esp push FFFFFFFFh push L004B212F mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000008h push ebx push esi mov esi,ecx push edi mov [ebp-10h],esi call SUB_L00441CB0 lea ebx,[esi+20h] xor edi,edi mov ecx,00000410h lea edx,[esi+1Ch] push ebx mov [ebp-04h],edi mov dword ptr [esi],L004B84D8 mov dword ptr [esi+04h],SSZ004C5228_AcctLogin_gump mov [esi+5Ch],edi mov [esi+50h],ecx mov [esi+60h],edi mov [esi+4Ch],edi mov [esi+48h],edi mov [esi+44h],edi mov [esi+40h],edi mov [esi+3Ch],edi call SUB_L004390A0 push SSZ004C5208_framedata_for_CAcctLoginGump push 00000008h mov ecx,L00669C8C mov dword ptr [esi+2Ch],00000080h mov dword ptr [esi+30h],0000006Ch mov [esi+10h],edi mov dword ptr [esi+14h],00000001h call SUB_L0044FBD0 mov ecx,[esi+14h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+38h],edi push SSZ004C4EE4_dumb_frame0 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+1Ch] imul eax,[ebx] lea ecx,[eax+eax+04h] push ecx mov ecx,L00669C8C call SUB_L0044FBD0 mov edx,[esi+38h] mov [edx+04h],eax mov eax,[esi+38h] mov dx,[esi+1Ch] mov ecx,[eax+04h] mov [ecx],dx mov eax,[esi+38h] mov dx,[ebx] mov ecx,[eax+04h] xor eax,eax mov [ecx+02h],dx mov ecx,[esi+1Ch] imul ecx,[ebx] mov edx,[esi+38h] shl ecx,1 mov edi,[edx+04h] mov edx,ecx add edi,00000004h shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[ebx] mov edx,[esi+38h] mov ecx,[esi+1Ch] push eax mov eax,[edx+04h] push ecx add eax,00000004h push eax mov edx,[esi+50h] push 00000000h push 00000000h mov ecx,SUB_L00488700 call SUB_L00439100 push 00000158h call SUB_L0049A820 add esp,00000004h mov [ebp-14h],eax test eax,eax mov byte ptr [ebp-04h],01h mov ebx,00000002h jz L0041E38B mov edi,[esi+30h] push 00000000h push 00000000h push 00000001h push 00000386h push ebx mov ecx,0000008Ah push 0000001Eh push 00000000h sub ecx,edi mov edi,[esi+2Ch] push 0000041Fh mov edx,000000DBh push 0000041Fh push esi sub edx,edi push ecx push edx mov ecx,eax call SUB_L0041A6F0 jmp L0041E38D L0041E38B: xor eax,eax L0041E38D: mov [esi+00000094h],eax mov word ptr [eax+000000DEh],0412h mov eax,[esi+00000094h] mov byte ptr [ebp-04h],00h mov word ptr [eax+000000E0h],0420h mov ecx,[esi+00000094h] mov word ptr [ecx+000000DCh],0411h mov edx,[esi+00000094h] mov byte ptr [edx+000000E2h],05h mov eax,[esi+00000094h] mov byte ptr [eax+000000E3h],01h mov ecx,[esi+00000094h] call SUB_L0041AC50 mov ecx,[esi+00000094h] push 00000001h push esi call SUB_L004415C0 push 00000158h call SUB_L0049A820 add esp,00000004h mov [ebp-14h],eax test eax,eax mov [ebp-04h],bl jz L0041E442 mov edi,[esi+30h] push 00000000h push 00000000h push 00000001h push 00000386h push ebx mov ecx,000000ADh push 0000001Eh push 00000000h sub ecx,edi mov edi,[esi+2Ch] push 00000421h mov edx,000000D9h push 00000421h push esi sub edx,edi push ecx push edx mov ecx,eax call SUB_L0041A6F0 jmp L0041E444 L0041E442: xor eax,eax L0041E444: mov [esi+00000098h],eax mov word ptr [eax+000000DEh],0414h mov eax,[esi+00000098h] mov byte ptr [ebp-04h],00h mov word ptr [eax+000000E0h],0422h mov ecx,[esi+00000098h] mov word ptr [ecx+000000DCh],0413h mov edx,[esi+00000098h] mov byte ptr [edx+000000E2h],07h mov eax,[esi+00000098h] mov [eax+000000E3h],bl mov ecx,[esi+00000098h] mov dword ptr [ecx+000000B0h],00000001h mov ecx,[esi+00000098h] call SUB_L0041AC50 mov ecx,[esi+00000098h] push 00000001h push esi call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp-14h],eax test eax,eax mov byte ptr [ebp-04h],03h jz L0041E504 mov ecx,[esi+30h] mov edi,[esi+2Ch] push 00000000h push 00000419h mov edx,000000DEh push 00000418h push L0040F630 sub edx,ecx push 00000000h mov ecx,00000173h push 00000000h push esi sub ecx,edi push edx push ecx mov ecx,eax call SUB_L004122F0 jmp L0041E506 L0041E504: xor eax,eax L0041E506: push 00000001h push esi mov ecx,eax mov byte ptr [ebp-04h],00h mov dword ptr [eax+000000A4h],0000041Ah call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp-14h],eax test eax,eax mov byte ptr [ebp-04h],04h jz L0041E56B mov ecx,[esi+30h] mov edi,[esi+2Ch] push 00000000h push 00000416h mov edx,000000DEh push 00000415h push L0040F890 sub edx,ecx push 00000000h mov ecx,000000A1h push 00000000h push esi sub ecx,edi push edx push ecx mov ecx,eax call SUB_L004122F0 jmp L0041E56D L0041E56B: xor eax,eax L0041E56D: push 00000001h push esi mov ecx,eax mov byte ptr [ebp-04h],00h mov dword ptr [eax+000000A4h],00000417h call SUB_L004415C0 push 000000B8h call SUB_L0049A820 add esp,00000004h mov [ebp-14h],eax test eax,eax mov byte ptr [ebp-04h],05h jz L0041E5DE mov dl,[L0073EC1C] mov edi,[esi+2Ch] push 00000000h push 00000000h push edx mov edx,[esi+30h] push L004D77C0 mov ecx,000000D4h push 00000386h push 00000001h sub ecx,edx push 0000041Dh mov edx,00000105h push 0000041Bh push esi sub edx,edi push ecx push edx mov ecx,eax call SUB_L00412FC0 jmp L0041E5E0 L0041E5DE: xor eax,eax L0041E5E0: mov [esi+0000009Ch],eax mov dword ptr [eax+000000A0h],0000041Ch mov eax,[esi+0000009Ch] push 00000001h push esi mov byte ptr [ebp-04h],00h mov dword ptr [eax+000000A4h],0000041Eh mov ecx,[esi+0000009Ch] call SUB_L004415C0 mov ecx,[ebp-0Ch] mov eax,esi pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 L0041E630: push ebp mov ebp,esp push esi mov esi,ecx call SUB_L0041E660 test byte ptr [ebp+08h],01h jz L0041E64A push esi call SUB_L0049A810 add esp,00000004h L0041E64A: mov eax,esi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L0041E660: push ebp mov ebp,esp push FFFFFFFFh push L004B2148 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx push edi mov [ebp-10h],esi mov dword ptr [esi],L004B84D8 mov ecx,[esi+00000094h] xor edi,edi cmp ecx,edi mov [ebp-04h],edi jz L0041E6A1 mov eax,[ecx] push 00000001h call [eax] mov [esi+00000094h],edi L0041E6A1: mov ecx,[esi+00000098h] cmp ecx,edi jz L0041E6B7 mov edx,[ecx] push 00000001h call [edx] mov [esi+00000098h],edi L0041E6B7: mov ecx,[esi+0000009Ch] cmp ecx,edi jz L0041E6CD mov eax,[ecx] push 00000001h call [eax] mov [esi+0000009Ch],edi L0041E6CD: mov ecx,[esi+38h] mov eax,[ecx+04h] cmp eax,edi jz L0041E6ED push SSZ004C524C_AcctLogin_frame0_pBMP push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov edx,[esi+38h] mov [edx+04h],edi L0041E6ED: mov eax,[esi+38h] cmp eax,edi jz L0041E707 push SSZ004C5238_AcctLogin_framedata push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov [esi+38h],edi L0041E707: mov ecx,esi mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00441D50 mov ecx,[ebp-0Ch] pop edi mov fs:[00000000h],ecx pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 L0041E730: push esi push edi mov edi,[L0066962C] mov esi,ecx push 00000000h call SUB_L00441340 mov ecx,L00669608 call SUB_L0043FDA0 mov eax,[esi+00000094h] cmp edi,eax jnz L0041E783 mov dword ptr [eax+000000D8h],00000000h mov ecx,[esi+00000094h] call SUB_L0041AC50 mov eax,[esi+00000098h] mov dword ptr [eax+000000D8h],00000001h mov ecx,[esi+00000098h] push ecx jmp L0041E7B9 L0041E783: mov eax,[esi+00000098h] cmp edi,eax jnz L0041E7C3 mov dword ptr [eax+000000D8h],00000000h mov ecx,[esi+00000098h] call SUB_L0041AC50 mov edx,[esi+00000094h] mov dword ptr [edx+000000D8h],00000001h mov eax,[esi+00000094h] push eax L0041E7B9: mov ecx,L00669608 call SUB_L0043FF10 L0041E7C3: mov ecx,[L0066962C] test ecx,ecx jz L0041E7D2 call SUB_L0041AC50 L0041E7D2: pop edi pop esi retn ;------------------------------------------------------------------------------ Align 16 L0041E7E0: jmp L0040F630 Align 16 L0041E7F0: jmp L0040F890 Align 16 L0041E800: push ebp mov ebp,esp push esi mov esi,ecx mov ecx,[ebp+08h] mov eax,[ecx+000000D8h] test eax,eax jnz L0041E882 mov eax,[esi+00000094h] cmp ecx,eax jnz L0041E852 mov dword ptr [eax+000000D8h],00000001h mov ecx,[esi+00000094h] call SUB_L0041AC50 mov eax,[esi+00000098h] mov dword ptr [eax+000000D8h],00000000h mov ecx,[esi+00000098h] call SUB_L0041AC50 pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ L0041E852: mov dword ptr [eax+000000D8h],00000000h mov ecx,[esi+00000094h] call SUB_L0041AC50 mov ecx,[esi+00000098h] mov dword ptr [ecx+000000D8h],00000001h mov ecx,[esi+00000098h] call SUB_L0041AC50 L0041E882: pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L0041E890: push ebp mov ebp,esp push FFFFFFFFh push L004B219F mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000014h push ebx push esi mov ebx,ecx push edi mov [ebp-10h],ebx call SUB_L00441CB0 mov edi,[ebp+0Ch] mov dword ptr [ebx],L004B8620 or ecx,FFFFFFFFh xor eax,eax xor edx,edx mov [L00669630],ebx repne scasb not ecx lea esi,[ebx+00000098h] sub edi,ecx mov eax,ecx mov [ebp+0Ch],esi mov esi,edi mov edi,[ebp+0Ch] shr ecx,02h rep movsd mov ecx,eax lea eax,[ebx+20h] and ecx,00000003h mov [ebp-04h],edx rep movsb lea esi,[ebx+1Ch] mov [ebx+00000094h],edx mov [ebx+5Ch],edx mov ecx,00000474h mov [ebx+60h],edx mov [ebx+4Ch],edx mov [ebx+48h],edx mov [ebx+44h],edx mov [ebx+40h],edx mov [ebx+3Ch],edx push eax mov edx,esi mov dword ptr [ebx+04h],SSZ004C52B0_ChgPW_gump mov [ebx+50h],ecx call SUB_L004390A0 push SSZ004C5294_framedata_for_CChgPWGump push 00000008h mov ecx,L00669C8C mov dword ptr [ebx+2Ch],00000079h mov dword ptr [ebx+30h],00000066h mov dword ptr [ebx+10h],00000000h mov dword ptr [ebx+14h],00000001h call SUB_L0044FBD0 mov ecx,[ebx+14h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [ebx+38h],edi push SSZ004C4EE4_dumb_frame0 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi] imul eax,[ebx+20h] lea ecx,[eax+eax+04h] push ecx mov ecx,L00669C8C call SUB_L0044FBD0 mov edx,[ebx+38h] mov [edx+04h],eax mov eax,[ebx+38h] mov dx,[esi] mov ecx,[eax+04h] mov [ecx],dx mov eax,[ebx+38h] mov dx,[ebx+20h] mov ecx,[eax+04h] mov [ecx+02h],dx mov ecx,[esi] imul ecx,[ebx+20h] mov edx,[ebx+38h] xor eax,eax shl ecx,1 mov edi,[edx+04h] mov edx,ecx add edi,00000004h shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[ebx+20h] mov edx,[ebx+38h] mov ecx,[esi] push eax mov eax,[edx+04h] mov edx,[ebx+50h] add eax,00000004h push ecx xor edi,edi push eax push edi push edi mov ecx,SUB_L00488700 call SUB_L00439100 mov eax,[esi] mov ecx,[ebx+20h] lea edx,[ebp-20h] mov [ebp-18h],eax push edx push eax mov eax,[ebx+38h] mov [ebp-20h],edi mov [ebp-1Ch],edi mov [ebp-14h],ecx mov ecx,[eax+04h] add ecx,00000004h push ecx push SSZ004C5284_Old_Password push 00000386h push 00000002h push 00000037h push 0000003Ch mov ecx,L00669CC8 call SUB_L004371A0 mov ecx,[ebx+38h] mov eax,[esi] lea edx,[ebp-20h] push edx mov edx,[ecx+04h] add edx,00000004h push eax push edx push SSZ004C5274_New_Password push 00000386h push 00000002h push 00000063h push 0000003Ch mov ecx,L00669CC8 call SUB_L004371A0 mov edx,[ebx+38h] mov ecx,[esi] lea eax,[ebp-20h] push eax mov eax,[edx+04h] add eax,00000004h push ecx push eax push SSZ004C5264_Verify_Password push 00000386h push 00000002h push 0000008Fh push 0000003Ch mov ecx,L00669CC8 call SUB_L004371A0 push 00000158h call SUB_L0049A820 add esp,00000004h mov [ebp+0Ch],eax mov byte ptr [ebp-04h],01h cmp eax,edi jz L0041EAC4 push edi mov esi,00000001h push edi push esi push 00000386h push esi push 0000001Eh push edi push 00000475h push 00000475h push ebx push 0000003Ah push 0000003Ch mov ecx,eax call SUB_L0041A6F0 jmp L0041EACB L0041EAC4: xor eax,eax mov esi,00000001h L0041EACB: mov [ebx+000000B8h],eax mov word ptr [eax+000000DEh],0476h mov ecx,[ebx+000000B8h] mov byte ptr [ebp-04h],00h mov word ptr [ecx+000000E0h],0477h mov edx,[ebx+000000B8h] mov byte ptr [edx+000000E2h],0Ch mov eax,[ebx+000000B8h] mov byte ptr [eax+000000E3h],05h mov ecx,[ebx+000000B8h] mov [ecx+000000D8h],esi mov edx,[ebx+000000B8h] mov [edx+000000B0h],esi mov eax,[ebx+000000B8h] mov [L0066962C],eax mov ecx,[ebx+000000B8h] call SUB_L0041AC50 mov ecx,[ebx+000000B8h] push esi push ebx call SUB_L004415C0 push 00000158h call SUB_L0049A820 add esp,00000004h mov [ebp+0Ch],eax cmp eax,edi mov byte ptr [ebp-04h],02h jz L0041EB7E push edi push edi push esi push 00000386h push esi push 0000001Eh push edi push 00000475h push 00000475h push ebx push 00000066h push 0000003Ch mov ecx,eax call SUB_L0041A6F0 jmp L0041EB80 L0041EB7E: xor eax,eax L0041EB80: mov [ebx+000000BCh],eax mov word ptr [eax+000000DEh],0476h mov ecx,[ebx+000000BCh] push esi push ebx mov byte ptr [ebp-04h],00h mov word ptr [ecx+000000E0h],0477h mov edx,[ebx+000000BCh] mov byte ptr [edx+000000E2h],0Ch mov eax,[ebx+000000BCh] mov byte ptr [eax+000000E3h],05h mov ecx,[ebx+000000BCh] call SUB_L004415C0 mov ecx,[ebx+000000BCh] mov [ecx+000000B0h],esi mov ecx,[ebx+000000BCh] call SUB_L0041AC50 push 00000158h call SUB_L0049A820 add esp,00000004h mov [ebp+0Ch],eax cmp eax,edi mov byte ptr [ebp-04h],03h jz L0041EC1F push edi push edi push esi push 00000386h push esi push 0000001Eh push edi push 00000475h push 00000475h push ebx push 00000092h push 0000003Ch mov ecx,eax call SUB_L0041A6F0 jmp L0041EC21 L0041EC1F: xor eax,eax L0041EC21: mov [ebx+000000C0h],eax mov word ptr [eax+000000DEh],0476h mov edx,[ebx+000000C0h] push esi push ebx mov byte ptr [ebp-04h],00h mov word ptr [edx+000000E0h],0477h mov eax,[ebx+000000C0h] mov byte ptr [eax+000000E2h],0Ch mov ecx,[ebx+000000C0h] mov byte ptr [ecx+000000E3h],05h mov ecx,[ebx+000000C0h] call SUB_L004415C0 mov edx,[ebx+000000C0h] mov [edx+000000B0h],esi mov ecx,[ebx+000000C0h] call SUB_L0041AC50 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp+0Ch],eax cmp eax,edi mov byte ptr [ebp-04h],04h jz L0041ECCB mov edx,[ebx+30h] push edi push 0000047Ch push 0000047Bh push L0040F4D0 mov ecx,00000124h push edi push edi sub ecx,edx push ebx push ecx mov ecx,[ebx+2Ch] mov edx,000000EEh sub edx,ecx mov ecx,eax push edx call SUB_L004122F0 jmp L0041ECCD L0041ECCB: xor eax,eax L0041ECCD: push esi push ebx mov ecx,eax mov byte ptr [ebp-04h],00h mov dword ptr [eax+000000A4h],0000047Dh call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp+0Ch],eax cmp eax,edi mov byte ptr [ebp-04h],05h jz L0041ED2E push edi push 00000479h push 00000478h push L004068E0 push edi push edi mov edi,[ebx+30h] mov ecx,00000124h sub ecx,edi mov edi,[ebx+2Ch] mov edx,00000145h push ebx sub edx,edi push ecx push edx mov ecx,eax call SUB_L004122F0 jmp L0041ED30 L0041ED2E: xor eax,eax L0041ED30: push esi push ebx mov ecx,eax mov byte ptr [ebp-04h],00h mov dword ptr [eax+000000A4h],0000047Ah call SUB_L004415C0 mov ecx,[ebp-0Ch] pop edi mov eax,ebx pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 8 L0041ED60: push ebp mov ebp,esp push esi mov esi,ecx call SUB_L0041ED90 test byte ptr [ebp+08h],01h jz L0041ED7A push esi call SUB_L0049A810 add esp,00000004h L0041ED7A: mov eax,esi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L0041ED90: push ebp mov ebp,esp push FFFFFFFFh push L004B21B8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx push edi mov [ebp-10h],esi mov dword ptr [esi],L004B8620 mov eax,[L00669630] xor edi,edi cmp eax,esi mov [ebp-04h],edi jnz L0041EDCA mov [L00669630],edi L0041EDCA: mov eax,[L00669644] cmp eax,edi jz L0041EDDA mov dword ptr [eax+68h],00000001h L0041EDDA: mov ecx,[esi+000000B8h] cmp ecx,edi jz L0041EDF0 mov eax,[ecx] push 00000001h call [eax] mov [esi+000000B8h],edi L0041EDF0: mov ecx,[esi+000000BCh] cmp ecx,edi jz L0041EE06 mov edx,[ecx] push 00000001h call [edx] mov [esi+000000BCh],edi L0041EE06: mov eax,[esi+38h] mov eax,[eax+04h] cmp eax,edi jz L0041EE26 push SSZ004C52CC_ChgPW_frame0_pBMP push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov ecx,[esi+38h] mov [ecx+04h],edi L0041EE26: mov eax,[esi+38h] cmp eax,edi jz L0041EE40 push SSZ004C52BC_ChgPW_framedata push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov [esi+38h],edi L0041EE40: mov ecx,esi mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00441D50 mov ecx,[ebp-0Ch] pop edi mov fs:[00000000h],ecx pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 4 L0041EE60: push ebp mov ebp,esp push esi mov esi,ecx push 00000000h call SUB_L00441340 mov eax,[ebp+08h] mov ecx,[ebp+0Ch] mov dword ptr [esi+00000094h],00000001h mov [esi+6Ch],eax mov [esi+70h],ecx pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 L0041EE90: push esi push edi mov edi,[L0066962C] mov esi,ecx push 00000000h call SUB_L00441340 mov ecx,L00669608 call SUB_L0043FDA0 cmp edi,[esi+000000B8h] jnz L0041EEE9 mov eax,[esi+000000BCh] mov [L0066962C],eax mov ecx,[esi+000000BCh] mov dword ptr [ecx+000000D8h],00000001h mov edx,[esi+000000B8h] mov dword ptr [edx+000000D8h],00000000h mov ecx,[esi+000000B8h] call SUB_L0041AC50 L0041EEE9: mov eax,[esi+000000BCh] cmp edi,eax mov eax,[esi+000000C0h] jnz L0041EF26 mov [L0066962C],eax mov ecx,[esi+000000C0h] mov dword ptr [ecx+000000D8h],00000001h mov edx,[esi+000000BCh] mov dword ptr [edx+000000D8h],00000000h mov ecx,[esi+000000BCh] jmp L0041EF5B L0041EF26: cmp edi,eax jnz L0041EF60 mov eax,[esi+000000B8h] mov [L0066962C],eax mov ecx,[esi+000000B8h] mov dword ptr [ecx+000000D8h],00000001h mov edx,[esi+000000C0h] mov dword ptr [edx+000000D8h],00000000h mov ecx,[esi+000000C0h] L0041EF5B: call SUB_L0041AC50 L0041EF60: mov ecx,[L0066962C] test ecx,ecx jz L0041EF6F call SUB_L0041AC50 L0041EF6F: pop edi pop esi retn ;------------------------------------------------------------------------------ Align 16 L0041EF80: push ebp mov ebp,esp push esi mov esi,ecx mov ecx,[ebp+08h] push edi xor edi,edi cmp [ecx+000000D8h],edi jnz L0041F081 mov eax,[esi+000000B8h] cmp ecx,eax jnz L0041EFEB mov dword ptr [eax+000000D8h],00000001h mov ecx,[esi+000000B8h] call SUB_L0041AC50 mov eax,[esi+000000BCh] mov [eax+000000D8h],edi mov ecx,[esi+000000BCh] call SUB_L0041AC50 mov ecx,[esi+000000C0h] mov [ecx+000000D8h],edi mov ecx,[esi+000000C0h] call SUB_L0041AC50 pop edi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ L0041EFEB: mov eax,[esi+000000BCh] cmp ecx,eax jnz L0041F03E mov dword ptr [eax+000000D8h],00000001h mov ecx,[esi+000000BCh] call SUB_L0041AC50 mov edx,[esi+000000B8h] mov [edx+000000D8h],edi mov ecx,[esi+000000B8h] call SUB_L0041AC50 mov eax,[esi+000000C0h] mov [eax+000000D8h],edi mov ecx,[esi+000000C0h] call SUB_L0041AC50 pop edi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ L0041F03E: mov [eax+000000D8h],edi mov ecx,[esi+000000BCh] call SUB_L0041AC50 mov ecx,[esi+000000B8h] mov [ecx+000000D8h],edi mov ecx,[esi+000000B8h] call SUB_L0041AC50 mov edx,[esi+000000C0h] mov dword ptr [edx+000000D8h],00000001h mov ecx,[esi+000000C0h] call SUB_L0041AC50 L0041F081: pop edi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 L0041F090: jmp L0040F4D0 Align 16 L0041F0A0: mov eax,[ecx] push 00000000h push 00000000h call [eax+20h] retn ;------------------------------------------------------------------------------ Align 8 SUB_L0041F0B0: push ebp mov ebp,esp push FFFFFFFFh push L004B21F9 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000064h push ebx push esi mov esi,ecx push edi mov [ebp-10h],esi call SUB_L00441CB0 lea eax,[esi+20h] lea ebx,[esi+1Ch] xor edi,edi mov ecx,00000474h push eax mov edx,ebx mov [ebp-04h],edi mov dword ptr [esi],L004B8768 mov [esi+00000094h],edi mov dword ptr [esi+04h],SSZ004C5324_DeleteChar_gump mov [esi+5Ch],edi mov [esi+50h],ecx mov [esi+60h],edi mov [esi+4Ch],edi mov [esi+48h],edi mov [esi+44h],edi mov [esi+40h],edi mov [esi+3Ch],edi call SUB_L004390A0 push SSZ004C5304_framedata_for_CDeleteCharGump push 00000008h mov ecx,L00669C8C mov dword ptr [esi+2Ch],00000079h mov dword ptr [esi+30h],00000066h mov [esi+10h],edi mov dword ptr [esi+14h],00000001h call SUB_L0044FBD0 mov ecx,[esi+14h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+38h],edi push SSZ004C4EE4_dumb_frame0 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+20h] imul eax,[ebx] lea ecx,[eax+eax+04h] push ecx mov ecx,L00669C8C call SUB_L0044FBD0 mov edx,[esi+38h] mov [edx+04h],eax mov eax,[esi+38h] mov dx,[ebx] mov ecx,[eax+04h] mov [ecx],dx mov eax,[esi+38h] mov dx,[esi+20h] mov ecx,[eax+04h] xor eax,eax mov [ecx+02h],dx mov ecx,[esi+20h] imul ecx,[ebx] mov edx,[esi+38h] shl ecx,1 mov edi,[edx+04h] mov edx,ecx add edi,00000004h shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+20h] mov edx,[esi+38h] mov ecx,[ebx] push eax mov eax,[edx+04h] push ecx mov edx,[esi+50h] add eax,00000004h xor edi,edi push eax push edi push edi mov ecx,SUB_L00488700 call SUB_L00439100 mov eax,[ebx] mov ecx,[esi+20h] lea edx,[ebp-20h] mov [ebp-18h],eax push edx push eax mov eax,[esi+38h] mov [ebp-20h],edi mov [ebp-1Ch],edi mov [ebp-14h],ecx mov ecx,[eax+04h] add ecx,00000004h push ecx push SSZ004C52F8_Password push 00000386h push 00000002h push 0000007Dh push 0000003Ch mov ecx,L00669CC8 call SUB_L004371A0 mov edx,[ebp+08h] lea eax,[ebp-70h] push edx push SSZ004C52E0_Permanently_delete__s_ push eax call SUB_L0049AC80 mov edx,[esi+38h] mov ebx,[ebx] add esp,0000000Ch lea ecx,[ebp-20h] mov eax,[edx+04h] push edi push edi push ecx push ebx add eax,00000004h add ebx,FFFFFF88h push eax lea ecx,[ebp-70h] push ebx push ecx push 00000386h push 00000002h push 00000032h push 0000003Ch mov ecx,L00669CC8 call SUB_L004372C0 push 00000158h call SUB_L0049A820 add esp,00000004h mov [ebp+08h],eax cmp eax,edi mov byte ptr [ebp-04h],01h jz L0041F29C push edi push edi push 00000001h push 00000386h push 00000001h push 0000001Eh push edi push 00000475h push 00000475h push esi push 00000082h push 0000003Ch mov ecx,eax call SUB_L0041A6F0 jmp L0041F29E L0041F29C: xor eax,eax L0041F29E: mov [esi+00000098h],eax mov word ptr [eax+000000DEh],0476h mov edx,[esi+00000098h] mov ebx,00000001h push ebx push esi mov word ptr [edx+000000E0h],0477h mov eax,[esi+00000098h] mov byte ptr [ebp-04h],00h mov byte ptr [eax+000000E2h],0Ch mov ecx,[esi+00000098h] mov byte ptr [ecx+000000E3h],05h mov ecx,[esi+00000098h] call SUB_L004415C0 mov edx,[esi+00000098h] mov [edx+000000B0h],ebx mov eax,[esi+00000098h] mov [eax+000000D8h],ebx mov ecx,[esi+00000098h] mov [L0066962C],ecx mov ecx,[esi+00000098h] call SUB_L0041AC50 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp+08h],eax cmp eax,edi mov byte ptr [ebp-04h],02h jz L0041F365 mov ecx,[esi+30h] push edi push 0000047Ch push 0000047Bh push L0040F2A0 mov edx,00000124h push edi push edi sub edx,ecx push esi push edx mov edx,[esi+2Ch] mov ecx,000000EEh sub ecx,edx push ecx mov ecx,eax call SUB_L004122F0 jmp L0041F367 L0041F365: xor eax,eax L0041F367: push ebx push esi mov ecx,eax mov byte ptr [ebp-04h],00h mov dword ptr [eax+000000A4h],0000047Dh call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp+08h],eax cmp eax,edi mov byte ptr [ebp-04h],03h jz L0041F3C8 push edi push 00000479h push 00000478h push L004068E0 push edi push edi mov edi,[esi+30h] mov edx,00000124h sub edx,edi mov edi,[esi+2Ch] mov ecx,00000145h push esi sub ecx,edi push edx push ecx mov ecx,eax call SUB_L004122F0 jmp L0041F3CA L0041F3C8: xor eax,eax L0041F3CA: push ebx push esi mov ecx,eax mov byte ptr [ebp-04h],00h mov dword ptr [eax+000000A4h],0000047Ah call SUB_L004415C0 mov ecx,[ebp-0Ch] mov eax,esi pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 L0041F400: push ebp mov ebp,esp push esi mov esi,ecx call SUB_L0041F430 test byte ptr [ebp+08h],01h jz L0041F41A push esi call SUB_L0049A810 add esp,00000004h L0041F41A: mov eax,esi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L0041F430: push ebp mov ebp,esp push FFFFFFFFh push L004B2218 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx push edi mov [ebp-10h],esi mov dword ptr [esi],L004B8768 mov eax,[L00669644] xor edi,edi cmp eax,edi mov [ebp-04h],edi jz L0041F46B mov dword ptr [eax+68h],00000001h L0041F46B: mov ecx,[esi+00000098h] cmp ecx,edi jz L0041F481 mov eax,[ecx] push 00000001h call [eax] mov [esi+00000098h],edi L0041F481: mov ecx,[esi+38h] mov eax,[ecx+04h] cmp eax,edi jz L0041F4A1 push SSZ004C534C_DeleteChar_frame0_pBMP push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov edx,[esi+38h] mov [edx+04h],edi L0041F4A1: mov eax,[esi+38h] cmp eax,edi jz L0041F4BB push SSZ004C5334_DeleteChar_framedata push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov [esi+38h],edi L0041F4BB: mov ecx,esi mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00441D50 mov ecx,[ebp-0Ch] pop edi mov fs:[00000000h],ecx pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 L0041F4E0: jmp L0040F2A0 Align 16 SUB_L0041F4F0: push ebp mov ebp,esp push FFFFFFFFh push L004B2259 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000064h push ebx push esi mov esi,ecx push edi mov [ebp-10h],esi call SUB_L00441CB0 lea eax,[esi+20h] lea ebx,[esi+1Ch] xor edi,edi mov ecx,00000474h push eax mov edx,ebx mov [ebp-04h],edi mov dword ptr [esi],L004B88B0 mov [esi+00000094h],edi mov dword ptr [esi+04h],SSZ004C538C_PlayChar_gump mov [esi+5Ch],edi mov [esi+50h],ecx mov [esi+60h],edi mov [esi+4Ch],edi mov [esi+48h],edi mov [esi+44h],edi mov [esi+40h],edi mov [esi+3Ch],edi call SUB_L004390A0 push SSZ004C5370_framedata_for_CPlayCharGump push 00000008h mov ecx,L00669C8C mov dword ptr [esi+2Ch],00000079h mov dword ptr [esi+30h],00000066h mov [esi+10h],edi mov dword ptr [esi+14h],00000001h call SUB_L0044FBD0 mov ecx,[esi+14h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+38h],edi push SSZ004C4EE4_dumb_frame0 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+20h] imul eax,[ebx] lea ecx,[eax+eax+04h] push ecx mov ecx,L00669C8C call SUB_L0044FBD0 mov edx,[esi+38h] mov [edx+04h],eax mov eax,[esi+38h] mov dx,[ebx] mov ecx,[eax+04h] mov [ecx],dx mov eax,[esi+38h] mov dx,[esi+20h] mov ecx,[eax+04h] xor eax,eax mov [ecx+02h],dx mov ecx,[esi+20h] imul ecx,[ebx] mov edx,[esi+38h] shl ecx,1 mov edi,[edx+04h] mov edx,ecx add edi,00000004h shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+20h] mov edx,[esi+38h] mov ecx,[ebx] push eax mov eax,[edx+04h] push ecx mov edx,[esi+50h] add eax,00000004h xor edi,edi push eax push edi push edi mov ecx,SUB_L00488700 call SUB_L00439100 mov eax,[ebx] mov ecx,[esi+20h] lea edx,[ebp-20h] mov [ebp-18h],eax push edx push eax mov eax,[esi+38h] mov [ebp-20h],edi mov [ebp-1Ch],edi mov [ebp-14h],ecx mov ecx,[eax+04h] add ecx,00000004h push ecx push SSZ004C52F8_Password push 00000386h push 00000002h push 0000007Dh push 0000003Ch mov ecx,L00669CC8 call SUB_L004371A0 mov edx,[ebp+08h] lea eax,[ebp-70h] push edx push SSZ004C5364_Play_as__s_ push eax call SUB_L0049AC80 mov edx,[esi+38h] mov ebx,[ebx] add esp,0000000Ch lea ecx,[ebp-20h] mov eax,[edx+04h] push edi push edi push ecx push ebx add eax,00000004h add ebx,FFFFFF88h push eax lea ecx,[ebp-70h] push ebx push ecx push 00000386h push 00000002h push 00000032h push 0000003Ch mov ecx,L00669CC8 call SUB_L004372C0 push 00000158h call SUB_L0049A820 add esp,00000004h mov [ebp+08h],eax cmp eax,edi mov byte ptr [ebp-04h],01h jz L0041F6DC push edi push edi push 00000001h push 00000386h push 00000001h push 0000001Eh push edi push 00000475h push 00000475h push esi push 00000082h push 0000003Ch mov ecx,eax call SUB_L0041A6F0 jmp L0041F6DE L0041F6DC: xor eax,eax L0041F6DE: mov [esi+00000098h],eax mov word ptr [eax+000000DEh],0476h mov edx,[esi+00000098h] mov ebx,00000001h push ebx push esi mov word ptr [edx+000000E0h],0477h mov eax,[esi+00000098h] mov byte ptr [ebp-04h],00h mov byte ptr [eax+000000E2h],0Ch mov ecx,[esi+00000098h] mov byte ptr [ecx+000000E3h],05h mov ecx,[esi+00000098h] call SUB_L004415C0 mov edx,[esi+00000098h] mov [edx+000000B0h],ebx mov eax,[esi+00000098h] mov [eax+000000D8h],ebx mov ecx,[esi+00000098h] mov [L0066962C],ecx mov ecx,[esi+00000098h] call SUB_L0041AC50 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp+08h],eax cmp eax,edi mov byte ptr [ebp-04h],02h jz L0041F7A5 mov ecx,[esi+30h] push edi push 0000047Ch push 0000047Bh push L0040ED10 mov edx,00000124h push edi push edi sub edx,ecx push esi push edx mov edx,[esi+2Ch] mov ecx,000000EEh sub ecx,edx push ecx mov ecx,eax call SUB_L004122F0 jmp L0041F7A7 L0041F7A5: xor eax,eax L0041F7A7: push ebx push esi mov ecx,eax mov byte ptr [ebp-04h],00h mov dword ptr [eax+000000A4h],0000047Dh call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp+08h],eax cmp eax,edi mov byte ptr [ebp-04h],03h jz L0041F808 push edi push 00000479h push 00000478h push L004068E0 push edi push edi mov edi,[esi+30h] mov edx,00000124h sub edx,edi mov edi,[esi+2Ch] mov ecx,00000145h push esi sub ecx,edi push edx push ecx mov ecx,eax call SUB_L004122F0 jmp L0041F80A L0041F808: xor eax,eax L0041F80A: push ebx push esi mov ecx,eax mov byte ptr [ebp-04h],00h mov dword ptr [eax+000000A4h],0000047Ah call SUB_L004415C0 mov ecx,[ebp-0Ch] mov eax,esi pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 L0041F840: push ebp mov ebp,esp push esi mov esi,ecx call SUB_L0041F870 test byte ptr [ebp+08h],01h jz L0041F85A push esi call SUB_L0049A810 add esp,00000004h L0041F85A: mov eax,esi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L0041F870: push ebp mov ebp,esp push FFFFFFFFh push L004B2278 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx push edi mov [ebp-10h],esi mov dword ptr [esi],L004B88B0 mov eax,[L00669644] xor edi,edi cmp eax,edi mov [ebp-04h],edi jz L0041F8AB mov dword ptr [eax+68h],00000001h L0041F8AB: mov ecx,[esi+00000098h] cmp ecx,edi jz L0041F8C1 mov eax,[ecx] push 00000001h call [eax] mov [esi+00000098h],edi L0041F8C1: mov ecx,[esi+38h] mov eax,[ecx+04h] cmp eax,edi jz L0041F8E1 push SSZ004C53B0_PlayChar_frame0_pBMP push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov edx,[esi+38h] mov [edx+04h],edi L0041F8E1: mov eax,[esi+38h] cmp eax,edi jz L0041F8FB push SSZ004C539C_PlayChar_framedata push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov [esi+38h],edi L0041F8FB: mov ecx,esi mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00441D50 mov ecx,[ebp-0Ch] pop edi mov fs:[00000000h],ecx pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 L0041F920: push ebp mov ebp,esp sub esp,00000028h push ebx push esi push edi mov edi,ecx xor eax,eax cmp [edi+68h],eax jz L0041F9E9 mov [ebp-08h],eax mov [ebp-04h],eax lea eax,[ebp-04h] lea ecx,[ebp-08h] push eax push ecx mov ecx,edi call SUB_L00440C60 mov edx,[edi+38h] mov ecx,[ebp-08h] mov eax,[ebp-04h] mov ebx,[ebp+08h] mov esi,[edx+04h] xor edx,edx mov [ebp-18h],ecx mov [ebp-14h],eax mov dx,[esi] add edx,ecx xor ecx,ecx mov [ebp-10h],edx mov cx,[esi+02h] lea edx,[ebp-18h] add eax,ecx push edx push ebx mov ecx,L00669608 mov [ebp-0Ch],eax call SUB_L00440D40 test eax,eax jz L0041F9E9 lea eax,[ebp-28h] lea edx,[ebp-18h] push eax mov ecx,ebx call SUB_L00440D90 mov ecx,[L004C7F38] mov edx,[L004C7F34] mov eax,[L006BAE7C] push ecx mov ecx,[ebp-04h] push edx mov edx,[ebp-08h] push eax push ecx xor eax,eax mov ax,[esi+02h] xor ecx,ecx mov cx,[esi] push edx push eax lea edx,[ebp-28h] push ecx push edx lea edx,[esi+04h] mov ecx,SUB_L00488700 call SUB_L00439500 mov esi,[edi+4Ch] test esi,esi jz L0041F9E9 L0041F9D7: mov eax,[esi] lea ecx,[ebp-28h] push ecx mov ecx,esi call [eax+0Ch] mov esi,[esi+40h] test esi,esi jnz L0041F9D7 L0041F9E9: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 L0041FA00: jmp L0040ED10 Align 16 SUB_L0041FA10: push ebp mov ebp,esp push FFFFFFFFh push L004B22AE mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000014h push ebx push esi mov esi,ecx push edi mov [ebp-10h],esi call SUB_L00441CB0 mov eax,[ebp+14h] mov dword ptr [esi],L004B89F8 mov [L00669630],esi mov [esi+00000098h],eax lea eax,[esi+20h] lea ebx,[esi+1Ch] xor edi,edi mov ecx,00000816h push eax mov edx,ebx mov [ebp-04h],edi mov [esi+00000094h],edi mov dword ptr [esi+04h],SSZ004C53E4_YesNo_gump mov [esi+5Ch],edi mov [esi+50h],ecx mov [esi+60h],edi mov [esi+4Ch],edi mov [esi+48h],edi mov [esi+44h],edi mov [esi+40h],edi mov [esi+3Ch],edi call SUB_L004390A0 mov eax,[L004C7F34] push SSZ004C53C8_framedata_for_CYesNoGump cdq sub eax,edx push 00000008h mov ecx,eax mov eax,[ebx] cdq sub eax,edx sar ecx,1 sar eax,1 sub ecx,eax mov [esi+2Ch],ecx mov eax,[L004C7F38] cdq sub eax,edx mov [esi+10h],edi mov ecx,eax mov eax,[esi+20h] cdq sub eax,edx mov dword ptr [esi+14h],00000001h sar ecx,1 sar eax,1 sub ecx,eax mov [esi+30h],ecx mov ecx,L00669C8C call SUB_L0044FBD0 mov ecx,[esi+14h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+38h],edi push SSZ004C4EE4_dumb_frame0 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[ebx] imul eax,[esi+20h] lea ecx,[eax+eax+04h] push ecx mov ecx,L00669C8C call SUB_L0044FBD0 mov edx,[esi+38h] mov [edx+04h],eax mov eax,[esi+38h] mov dx,[ebx] mov ecx,[eax+04h] mov [ecx],dx mov eax,[esi+38h] mov dx,[esi+20h] mov ecx,[eax+04h] xor eax,eax mov [ecx+02h],dx mov ecx,[ebx] imul ecx,[esi+20h] mov edx,[esi+38h] shl ecx,1 mov edi,[edx+04h] mov edx,ecx add edi,00000004h shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+20h] mov edx,[esi+38h] mov ecx,[ebx] push eax mov eax,[edx+04h] mov edx,[esi+50h] add eax,00000004h push ecx push eax push 00000000h push 00000000h mov ecx,SUB_L00488700 call SUB_L00439100 mov eax,[esi+38h] mov edx,[ebx] push 00000000h lea ecx,[ebp-20h] push 00000000h mov dword ptr [ebp-20h],00000021h mov dword ptr [ebp-18h],00000094h mov dword ptr [ebp-1Ch],0000001Eh mov dword ptr [ebp-14h],0000003Fh push ecx mov ecx,[eax+04h] push edx mov edx,[ebp+08h] add ecx,00000004h push ecx push 00000073h push edx push 00000386h push 00000001h push 0000001Eh push 00000021h mov ecx,L00669CC8 call SUB_L004372C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp+14h],eax test eax,eax mov byte ptr [ebp-04h],01h jz L0041FBF4 mov ecx,[ebp+0Ch] push 00000000h push 0000081Bh push 0000081Ah push ecx push 00000000h push 00000000h push esi push 0000004Bh push 00000064h mov ecx,eax call SUB_L004122F0 jmp L0041FBF6 L0041FBF4: xor eax,eax L0041FBF6: push 00000001h push esi mov ecx,eax mov byte ptr [ebp-04h],00h mov dword ptr [eax+000000A4h],0000081Ch call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp+14h],eax test eax,eax mov byte ptr [ebp-04h],02h jz L0041FC48 mov edx,[ebp+10h] push 00000000h push 00000818h push 00000817h push edx push 00000000h push 00000000h push esi push 0000004Bh push 00000025h mov ecx,eax call SUB_L004122F0 jmp L0041FC4A L0041FC48: xor eax,eax L0041FC4A: push 00000001h push esi mov ecx,eax mov byte ptr [ebp-04h],00h mov dword ptr [eax+000000A4h],00000819h call SUB_L004415C0 mov ecx,[ebp-0Ch] mov eax,esi pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0010h ;------------------------------------------------------------------------------ Align 16 L0041FC80: push ebp mov ebp,esp push esi mov esi,ecx call SUB_L0041FCB0 test byte ptr [ebp+08h],01h jz L0041FC9A push esi call SUB_L0049A810 add esp,00000004h L0041FC9A: mov eax,esi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L0041FCB0: push ebp mov ebp,esp push FFFFFFFFh push L004B22C8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx push edi mov [ebp-10h],esi mov dword ptr [esi],L004B89F8 mov eax,[L00669630] xor edi,edi cmp eax,esi mov [ebp-04h],edi jnz L0041FCEA mov [L00669630],edi L0041FCEA: mov eax,[esi+38h] mov eax,[eax+04h] cmp eax,edi jz L0041FD0A push SSZ004C5400_YesNo_frame0_pBMP push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov ecx,[esi+38h] mov [ecx+04h],edi L0041FD0A: mov eax,[esi+38h] cmp eax,edi jz L0041FD24 push SSZ004C53F0_YesNo_framedata push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov [esi+38h],edi L0041FD24: mov ecx,esi mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00441D50 mov ecx,[ebp-0Ch] pop edi mov fs:[00000000h],ecx pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L0041FD50: push ebp mov ebp,esp push FFFFFFFFh push L004B2340 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000008h push ebx push esi mov esi,ecx push edi mov [ebp-10h],esi call SUB_L00441CB0 lea eax,[esi+20h] xor ebx,ebx mov ecx,00000501h lea edx,[esi+1Ch] push eax mov [ebp-04h],ebx mov dword ptr [esi],L004B8B40 mov dword ptr [esi+04h],SSZ004C5414_MainMenu_gump mov [esi+5Ch],ebx mov [esi+50h],ecx mov [esi+60h],ebx mov [esi+4Ch],ebx mov [esi+48h],ebx mov [esi+44h],ebx mov [esi+40h],ebx mov [esi+3Ch],ebx call SUB_L004390A0 push SSZ004C4EF0_framedata_for_CDumbGump push 00000008h mov ecx,L00669C8C mov dword ptr [esi+2Ch],0000006Ah mov dword ptr [esi+30h],00000075h mov [esi+10h],ebx mov dword ptr [esi+14h],00000001h call SUB_L0044FBD0 mov ecx,[esi+14h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+38h],edi push SSZ004C4EE4_dumb_frame0 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+1Ch] imul eax,[esi+20h] lea ecx,[eax+eax+04h] push ecx mov ecx,L00669C8C call SUB_L0044FBD0 mov edx,[esi+38h] mov [edx+04h],eax mov eax,[esi+38h] mov dx,[esi+1Ch] mov ecx,[eax+04h] mov [ecx],dx mov eax,[esi+38h] mov dx,[esi+20h] mov ecx,[eax+04h] xor eax,eax mov [ecx+02h],dx mov ecx,[esi+1Ch] imul ecx,[esi+20h] mov edx,[esi+38h] shl ecx,1 mov edi,[edx+04h] mov edx,ecx add edi,00000004h shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+20h] mov edx,[esi+38h] mov ecx,[esi+1Ch] push eax mov eax,[edx+04h] push ecx add eax,00000004h push eax mov edx,[esi+50h] push ebx push ebx mov ecx,SUB_L00488700 call SUB_L00439100 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp-14h],eax cmp eax,ebx mov byte ptr [ebp-04h],01h jz L0041FEC0 mov edi,[esi+30h] push ebx push 000003F7h mov ecx,000000C7h push 000003F6h push L00410600 sub ecx,edi mov edi,[esi+2Ch] push ebx mov edx,00000091h push ebx push esi sub edx,edi push ecx push edx mov ecx,eax call SUB_L004122F0 jmp L0041FEC2 L0041FEC0: xor eax,eax L0041FEC2: push 00000001h push esi mov ecx,eax mov [ebp-04h],bl mov dword ptr [eax+000000A4h],000003F8h call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp-14h],eax cmp eax,ebx mov byte ptr [ebp-04h],02h jz L0041FF23 mov edi,[esi+30h] push ebx push 000003FDh mov ecx,00000082h push 000003FCh push L00410680 sub ecx,edi mov edi,[esi+2Ch] push ebx mov edx,00000101h push ebx push esi sub edx,edi push ecx push edx mov ecx,eax call SUB_L004122F0 jmp L0041FF25 L0041FF23: xor eax,eax L0041FF25: push 00000001h push esi mov ecx,eax mov [ebp-04h],bl mov dword ptr [eax+000000A4h],000003FEh call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp-14h],eax cmp eax,ebx mov byte ptr [ebp-04h],03h jz L0041FF86 mov edi,[esi+30h] push ebx push 00000400h mov ecx,0000009Bh push 000003FFh push L004106C0 sub ecx,edi mov edi,[esi+2Ch] push ebx mov edx,00000109h push ebx push esi sub edx,edi push ecx push edx mov ecx,eax call SUB_L004122F0 jmp L0041FF88 L0041FF86: xor eax,eax L0041FF88: push 00000001h push esi mov ecx,eax mov [ebp-04h],bl mov dword ptr [eax+000000A4h],00000401h call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp-14h],eax cmp eax,ebx mov byte ptr [ebp-04h],04h jz L0041FFE9 mov edi,[esi+30h] push ebx push 000003F4h mov ecx,000000BBh push 000003F3h push L004104E0 sub ecx,edi mov edi,[esi+2Ch] push ebx mov edx,000000FDh push ebx push esi sub edx,edi push ecx push edx mov ecx,eax call SUB_L004122F0 jmp L0041FFEB L0041FFE9: xor eax,eax L0041FFEB: push 00000001h push esi mov ecx,eax mov [ebp-04h],bl mov dword ptr [eax+000000A4h],000003F5h call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp-14h],eax cmp eax,ebx mov byte ptr [ebp-04h],05h jz L0042004C mov edi,[esi+30h] push ebx push 000003FAh mov ecx,000000C7h push 000003F9h push L004106D0 sub ecx,edi mov edi,[esi+2Ch] push ebx mov edx,0000019Fh push ebx push esi sub edx,edi push ecx push edx mov ecx,eax call SUB_L004122F0 jmp L0042004E L0042004C: xor eax,eax L0042004E: push 00000001h push esi mov ecx,eax mov [ebp-04h],bl mov dword ptr [eax+000000A4h],000003FBh call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp-14h],eax cmp eax,ebx mov byte ptr [ebp-04h],06h jz L004200AF mov edi,[esi+30h] push ebx push 00000503h mov ecx,00000135h push 00000502h push L00410330 sub ecx,edi mov edi,[esi+2Ch] push ebx mov edx,00000102h push ebx push esi sub edx,edi push ecx push edx mov ecx,eax call SUB_L004122F0 jmp L004200B1 L004200AF: xor eax,eax L004200B1: push 00000001h push esi mov ecx,eax mov [ebp-04h],bl mov dword ptr [eax+000000A4h],00000504h call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp-14h],eax cmp eax,ebx mov byte ptr [ebp-04h],07h jz L00420112 mov edi,[esi+30h] push ebx push 00000506h mov ecx,0000011Dh push 00000505h push L00410340 sub ecx,edi mov edi,[esi+2Ch] push ebx mov edx,0000010Bh push ebx push esi sub edx,edi push ecx push edx mov ecx,eax call SUB_L004122F0 jmp L00420114 L00420112: xor eax,eax L00420114: push 00000001h push esi mov ecx,eax mov [ebp-04h],bl mov dword ptr [eax+000000A4h],00000507h call SUB_L004415C0 call SUB_L004584A0 cmp [L004CCB28],bl jz L004201DC mov ecx,00000587h call SUB_L0045A110 push 000000B0h call SUB_L0049A820 mov edi,eax add esp,00000004h mov [ebp-14h],edi cmp edi,ebx mov byte ptr [ebp-04h],08h jz L00420183 push FFFFFFFFh push ebx push FFFFFFFFh push 000001E0h push 00000280h push ebx push ebx push ebx mov ecx,edi call SUB_L00442DD0 mov dword ptr [edi],L004B7A98 mov eax,edi jmp L00420185 L00420183: xor eax,eax L00420185: mov [esi+00000094h],eax mov ecx,[eax+20h] mov edx,[eax+1Ch] mov eax,[eax+38h] push ecx push edx mov ecx,[eax+04h] mov edx,00000578h add ecx,00000004h mov [ebp-04h],bl push ecx push ebx push ebx mov ecx,SUB_L00488700 call SUB_L00439100 mov ecx,[esi+00000094h] push 00000001h push ebx call SUB_L004415C0 mov dword ptr [esi+00000098h],00000014h mov eax,esi mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L004201DC: mov ecx,000003E8h call SUB_L0045A110 mov ecx,[ebp-0Ch] mov [esi+00000098h],ebx mov [esi+00000094h],ebx mov eax,esi pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 L00420210: push ebp mov ebp,esp push esi mov esi,ecx call SUB_L00420240 test byte ptr [ebp+08h],01h jz L0042022A push esi call SUB_L0049A810 add esp,00000004h L0042022A: mov eax,esi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00420240: push ebp mov ebp,esp push FFFFFFFFh push L004B2358 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx mov [ebp-10h],esi mov dword ptr [esi],L004B8B40 mov ecx,[esi+00000094h] mov dword ptr [ebp-04h],00000000h test ecx,ecx jz L0042027C mov eax,[ecx] push 00000001h call [eax] L0042027C: mov ecx,[esi+38h] mov eax,[ecx+04h] test eax,eax jz L004202A0 push SSZ004C5438_MainMenu_frame0_pBMP push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov edx,[esi+38h] mov dword ptr [edx+04h],00000000h L004202A0: mov eax,[esi+38h] test eax,eax jz L004202BE push SSZ004C5424_MainMenu_framedata push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov dword ptr [esi+38h],00000000h L004202BE: mov ecx,esi mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00441D50 mov ecx,[ebp-0Ch] pop esi mov fs:[00000000h],ecx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 L004202E0: push ebp mov ebp,esp mov eax,[ecx+68h] push esi test eax,eax jz L00420326 mov eax,[ecx+00000098h] test eax,eax jnz L00420326 mov eax,[ecx+38h] xor edx,edx mov ecx,[eax+04h] xor eax,eax mov ax,[ecx] mov dx,[ecx+02h] mov ecx,[ebp+08h] test ecx,ecx jl L00420326 mov esi,[ebp+0Ch] test esi,esi jl L00420326 cmp ecx,eax jge L00420326 cmp esi,edx jge L00420326 mov eax,00000001h pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ L00420326: xor eax,eax pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 4 L00420330: push ebp mov ebp,esp push 00000011h mov ecx,L006A9DC0 call SUB_L00450120 pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 L00420350: push esi mov esi,ecx push edi mov eax,[esi+00000098h] test eax,eax jz L004203C8 mov ecx,[esi+00000094h] push 00000000h call SUB_L00441340 cmp dword ptr [esi+00000098h],0000000Fh jge L004203BF mov edx,[esi+00000094h] mov ecx,00025800h xor eax,eax mov edx,[edx+38h] mov edi,[edx+04h] add edi,00000004h rep stosd mov eax,[esi+00000094h] mov ecx,[eax+20h] mov edx,[eax+1Ch] mov eax,[eax+38h] push ecx push edx mov edx,00000587h mov ecx,[eax+04h] mov eax,[esi+00000098h] add ecx,00000004h sub edx,eax push ecx push 00000000h push 00000000h mov ecx,SUB_L00488700 call SUB_L00439100 L004203BF: dec [esi+00000098h] pop edi pop esi retn ;------------------------------------------------------------------------------ L004203C8: mov eax,[esi+00000094h] test eax,eax jz L004203F6 mov ecx,000003E8h call SUB_L0045A110 mov ecx,[esi+00000094h] test ecx,ecx jz L004203EC mov edx,[ecx] push 00000001h call [edx] L004203EC: mov dword ptr [esi+00000094h],00000000h L004203F6: pop edi pop esi retn ;------------------------------------------------------------------------------ Align 8 SUB_L00420400: push ebp mov ebp,esp push FFFFFFFFh push L004B23D0 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000010h push ebx push esi mov ebx,ecx push edi mov [ebp-18h],ebx call SUB_L00441CB0 lea esi,[ebx+20h] xor edi,edi mov ecx,00000514h lea edx,[ebx+1Ch] push esi mov [ebp-04h],edi mov dword ptr [ebx],L004B8C88 mov dword ptr [ebx+04h],SSZ004C5494_CityChoice_gump mov [ebx+5Ch],edi mov [ebx+50h],ecx mov [ebx+60h],edi mov [ebx+4Ch],edi mov [ebx+48h],edi mov [ebx+44h],edi mov [ebx+40h],edi mov [ebx+3Ch],edi call SUB_L004390A0 push SSZ004C5474_framedata_for_CCityChoiceGump push 00000008h mov ecx,L00669C8C mov dword ptr [ebx+2Ch],00000077h mov dword ptr [ebx+30h],00000071h mov [ebx+10h],edi mov dword ptr [ebx+14h],00000001h call SUB_L0044FBD0 mov ecx,[ebx+14h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [ebx+38h],edi push SSZ004C4EE4_dumb_frame0 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[ebx+1Ch] imul eax,[esi] lea ecx,[eax+eax+04h] push ecx mov ecx,L00669C8C call SUB_L0044FBD0 mov edx,[ebx+38h] mov [edx+04h],eax mov eax,[ebx+38h] mov dx,[ebx+1Ch] mov ecx,[eax+04h] mov [ecx],dx mov eax,[ebx+38h] mov dx,[esi] mov ecx,[eax+04h] xor eax,eax mov [ecx+02h],dx mov ecx,[ebx+1Ch] imul ecx,[esi] mov edx,[ebx+38h] shl ecx,1 mov edi,[edx+04h] mov edx,ecx add edi,00000004h shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi] mov edx,[ebx+38h] mov ecx,[ebx+1Ch] push eax mov eax,[edx+04h] push ecx add eax,00000004h push eax mov edx,[ebx+50h] push 00000000h push 00000000h mov ecx,SUB_L00488700 call SUB_L00439100 push 00000158h call SUB_L0049A820 add esp,00000004h mov [ebp-1Ch],eax test eax,eax mov byte ptr [ebp-04h],01h jz L00420574 mov edx,[ebx+30h] mov esi,[ebx+2Ch] push 00000000h push 00000001h push 00000001h push 00000386h push 00000001h mov ecx,000000ABh push 0000001Eh push 00000002h sub ecx,edx push 00000010h mov edx,000000E0h push 000000B4h push ebx sub edx,esi push ecx push edx mov ecx,eax call SUB_L0041A980 jmp L00420576 L00420574: xor eax,eax L00420576: mov [ebx+00000094h],eax mov dword ptr [eax+000000B4h],00000001h mov eax,[ebx+00000094h] mov byte ptr [ebp-04h],00h mov dword ptr [eax+000000E8h],00000000h mov ecx,[L006BD2B8] mov edx,[L006BB3A8] xor eax,eax L004205A8: xor esi,esi mov si,[ecx] cmp esi,edx jz L004205BA inc eax add ecx,00000002h cmp eax,00000040h jl L004205A8 L004205BA: mov ecx,[L007121B8] test ecx,ecx jz L004205D7 mov edx,[ebx+00000094h] mov edi,SSZ004C5460_Standalone_Server add edx,000000ECh jmp L004205FF L004205D7: mov ecx,[L006BD2B4] mov edx,[ebx+00000094h] mov eax,[ecx+eax*4] test eax,eax jz L004205F4 add edx,000000ECh mov edi,eax jmp L004205FF L004205F4: add edx,000000ECh mov edi,SSZ004C5450_Unknown_Server L004205FF: or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov ecx,[ebx+00000094h] call SUB_L0041AC50 mov ecx,[ebx+00000094h] push 00000001h push ebx call SUB_L004415C0 push 00000158h call SUB_L0049A820 add esp,00000004h mov [ebp-1Ch],eax test eax,eax mov byte ptr [ebp-04h],02h jz L00420685 mov edx,[ebx+30h] mov esi,[ebx+2Ch] push 00000000h push 00000001h push 00000001h push 00000386h push 00000001h mov ecx,000000F7h push 0000001Eh push 00000002h sub ecx,edx push 00000010h mov edx,000000E0h push 000000B4h push ebx sub edx,esi push ecx push edx mov ecx,eax call SUB_L0041A980 jmp L00420687 L00420685: xor eax,eax L00420687: mov [ebx+00000098h],eax mov dword ptr [eax+000000B4h],00000001h mov eax,[ebx+00000098h] mov byte ptr [ebp-04h],00h mov dword ptr [eax+000000E8h],00000000h mov eax,[L006BD2D4] L004206B0: mov edi,[eax] test edi,edi jz L004206BB cmp byte ptr [edi],00h jnz L004206C0 L004206BB: add eax,00000004h jmp L004206B0 L004206C0: mov edx,[ebx+00000098h] or ecx,FFFFFFFFh xor eax,eax add edx,000000ECh repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov ecx,[ebx+00000098h] call SUB_L0041AC50 mov ecx,[ebx+00000098h] push 00000001h push ebx call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp-1Ch],eax test eax,eax mov byte ptr [ebp-04h],03h jz L0042074F mov edx,[ebx+30h] mov esi,[ebx+2Ch] push 00000000h push 0000051Ch mov ecx,00000086h push 0000051Bh push L004112F0 sub ecx,edx push 00000000h mov edx,000000FDh push 00000000h push ebx sub edx,esi push ecx push edx mov ecx,eax call SUB_L004122F0 jmp L00420751 L0042074F: xor eax,eax L00420751: push 00000001h push ebx mov ecx,eax mov byte ptr [ebp-04h],00h mov dword ptr [eax+000000B0h],00000001h call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp-1Ch],eax test eax,eax mov byte ptr [ebp-04h],04h jz L004207B6 mov edx,[ebx+30h] mov esi,[ebx+2Ch] push 00000000h push 0000051Fh mov ecx,000000D0h push 0000051Eh push L004113C0 sub ecx,edx push 00000000h mov edx,00000112h push 00000000h push ebx sub edx,esi push ecx push edx mov ecx,eax call SUB_L004122F0 jmp L004207B8 L004207B6: xor eax,eax L004207B8: push 00000001h push ebx mov ecx,eax mov byte ptr [ebp-04h],00h mov dword ptr [eax+000000A4h],00000520h call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp-1Ch],eax test eax,eax mov byte ptr [ebp-04h],05h jz L0042081D mov edx,[ebx+30h] mov esi,[ebx+2Ch] push 00000000h push 00000519h mov ecx,00000119h push 00000518h push L00410AB0 sub ecx,edx push 00000000h mov edx,00000187h push 00000000h push ebx sub edx,esi push ecx push edx mov ecx,eax call SUB_L004122F0 jmp L0042081F L0042081D: xor eax,eax L0042081F: push 00000001h push ebx mov ecx,eax mov byte ptr [ebp-04h],00h mov dword ptr [eax+000000A4h],0000051Ah call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp-1Ch],eax test eax,eax mov byte ptr [ebp-04h],06h jz L00420884 mov edx,[ebx+30h] mov esi,[ebx+2Ch] push 00000000h push 00000516h mov ecx,00000119h push 00000515h push L00410A60 sub ecx,edx push 00000000h mov edx,000000B4h push 00000000h push ebx sub edx,esi push ecx push edx mov ecx,eax call SUB_L004122F0 jmp L00420886 L00420884: xor eax,eax L00420886: push 00000001h push ebx mov ecx,eax mov byte ptr [ebp-04h],00h mov dword ptr [eax+000000A4h],00000517h call SUB_L004415C0 lea eax,[ebp-10h] lea edx,[ebp-14h] push eax mov ecx,000004EDh call SUB_L004390A0 push 000000B0h call SUB_L0049A820 mov esi,eax add esp,00000004h mov [ebp-1Ch],esi test esi,esi mov byte ptr [ebp-04h],07h jz L004208EE mov ecx,[ebp-10h] mov edx,[ebp-14h] push FFFFFFFFh push 00000000h push FFFFFFFFh push ecx push edx push 00000000h push 00000079h push 00000055h mov ecx,esi call SUB_L00442DD0 mov dword ptr [esi],L004B7A98 mov eax,esi jmp L004208F0 L004208EE: xor eax,eax L004208F0: mov [ebx+0000009Ch],eax mov ecx,[eax+20h] mov edx,[eax+1Ch] mov eax,[eax+38h] push ecx push edx mov ecx,[eax+04h] mov edx,000004EDh add ecx,00000004h mov byte ptr [ebp-04h],00h push ecx push 00000000h push 00000000h mov ecx,SUB_L00488700 call SUB_L00439100 mov ecx,[ebx+0000009Ch] push 00000001h push 00000000h call SUB_L004415C0 lea edx,[ebp-10h] mov ecx,000004EEh push edx lea edx,[ebp-14h] call SUB_L004390A0 push 000000B0h call SUB_L0049A820 mov esi,eax add esp,00000004h mov [ebp-1Ch],esi test esi,esi mov byte ptr [ebp-04h],08h jz L0042097F mov eax,[ebp-10h] mov ecx,[ebp-14h] push FFFFFFFFh push 00000000h push FFFFFFFFh push eax push ecx push 00000000h push 00000074h push 000001F7h mov ecx,esi call SUB_L00442DD0 mov dword ptr [esi],L004B7A98 jmp L00420981 L0042097F: xor esi,esi L00420981: mov [ebx+000000A0h],esi mov edx,[esi+20h] mov ecx,[esi+38h] mov eax,[esi+1Ch] push edx push eax mov edx,[ecx+04h] mov ecx,SUB_L00488700 add edx,00000004h mov byte ptr [ebp-04h],00h push edx push 00000000h push 00000000h mov edx,000004EEh call SUB_L00439100 mov ecx,[ebx+000000A0h] push 00000001h push 00000000h call SUB_L004415C0 mov ecx,[ebp-0Ch] pop edi mov eax,ebx pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 L004209E0: push ebp mov ebp,esp push esi mov esi,ecx call SUB_L00420A10 test byte ptr [ebp+08h],01h jz L004209FA push esi call SUB_L0049A810 add esp,00000004h L004209FA: mov eax,esi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00420A10: push ebp mov ebp,esp push FFFFFFFFh push L004B23E8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx push edi mov [ebp-10h],esi mov dword ptr [esi],L004B8C88 xor edi,edi mov [L0066965C],edi mov ecx,[esi+00000094h] cmp ecx,edi mov [ebp-04h],edi jz L00420A57 mov eax,[ecx] push 00000001h call [eax] mov [esi+00000094h],edi L00420A57: mov ecx,[esi+00000098h] cmp ecx,edi jz L00420A6D mov edx,[ecx] push 00000001h call [edx] mov [esi+00000098h],edi L00420A6D: mov eax,[esi+38h] mov eax,[eax+04h] cmp eax,edi jz L00420A8D push SSZ004C54BC_CityChoice_frame0_pBMP push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov ecx,[esi+38h] mov [ecx+04h],edi L00420A8D: mov eax,[esi+38h] cmp eax,edi jz L00420AA7 push SSZ004C54A4_CityChoice_framedata push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov [esi+38h],edi L00420AA7: mov ecx,esi mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00441D50 mov ecx,[ebp-0Ch] pop edi mov fs:[00000000h],ecx pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 L00420AD0: push ebp mov ebp,esp sub esp,00000028h push ebx push esi push edi mov edi,ecx xor eax,eax cmp [edi+68h],eax jz L00420B99 mov [ebp-08h],eax mov [ebp-04h],eax lea eax,[ebp-04h] lea ecx,[ebp-08h] push eax push ecx mov ecx,edi call SUB_L00440C60 mov edx,[edi+38h] mov eax,[ebp-08h] mov ecx,[ebp-04h] mov ebx,[ebp+08h] mov esi,[edx+04h] xor edx,edx mov [ebp-18h],eax mov [ebp-14h],ecx mov dx,[esi] add eax,edx mov [ebp-10h],eax xor eax,eax mov ax,[esi+02h] add ecx,eax mov [ebp-0Ch],ecx lea ecx,[ebp-18h] push ecx push ebx mov ecx,L00669608 call SUB_L00440D40 test eax,eax jz L00420B99 lea edx,[ebp-28h] mov ecx,ebx push edx lea edx,[ebp-18h] call SUB_L00440D90 mov eax,[L004C7F38] mov ecx,[L004C7F34] mov edx,[L006BAE7C] push eax mov eax,[ebp-04h] push ecx mov ecx,[ebp-08h] push edx push eax xor edx,edx mov dx,[esi+02h] xor eax,eax mov ax,[esi] push ecx push edx lea ecx,[ebp-28h] push eax push ecx lea edx,[esi+04h] mov ecx,SUB_L00488700 call SUB_L00439500 mov esi,[edi+4Ch] test esi,esi jz L00420B99 L00420B87: mov edx,[esi] lea eax,[ebp-28h] push eax mov ecx,esi call [edx+0Ch] mov esi,[esi+40h] test esi,esi jnz L00420B87 L00420B99: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 L00420BB0: push ebp mov ebp,esp mov dword ptr [L006A9DD4],00000000h pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 L00420BD0: mov edx,[ecx+0000009Ch] mov eax,00000001h mov [edx+68h],eax mov ecx,[ecx+000000A0h] mov [ecx+68h],eax retn ;------------------------------------------------------------------------------ Align 16 SUB_L00420BF0: push ebp mov ebp,esp push FFFFFFFFh push L004B2429 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,0000002Ch push ebx push esi mov esi,ecx push edi mov [ebp-10h],esi call SUB_L00441CB0 mov ecx,[ebp+08h] xor eax,eax mov [esi+00000098h],ecx push SSZ004C4EF0_framedata_for_CDumbGump push 00000008h mov ecx,L00669C8C mov [ebp-04h],eax mov dword ptr [esi],L004B8DD0 mov [esi+2Ch],eax mov [esi+30h],eax mov dword ptr [esi+04h],SSZ004C54D8_tutorial_gump mov [esi+5Ch],eax mov [esi+60h],eax mov [esi+50h],eax mov [esi+4Ch],eax mov [esi+48h],eax mov [esi+44h],eax mov [esi+40h],eax mov [esi+3Ch],eax mov dword ptr [esi+1Ch],00000280h mov dword ptr [esi+20h],000001E0h mov [esi+10h],eax mov dword ptr [esi+14h],00000001h call SUB_L0044FBD0 mov ecx,[esi+14h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+38h],edi push SSZ004C4EE4_dumb_frame0 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+1Ch] imul eax,[esi+20h] lea ecx,[eax+eax+04h] push ecx mov ecx,L00669C8C call SUB_L0044FBD0 mov edx,[esi+38h] push 00000008h push 00000008h push 00000008h mov [edx+04h],eax mov ebx,[esi+1Ch] imul ebx,[esi+20h] mov ecx,L006AAE78 shl ebx,1 call SUB_L0043BA40 mov ecx,[esi+38h] and eax,0000FFFFh mov edi,[ecx+04h] mov ecx,ebx mov bl,al mov edx,ecx mov bh,bl add edi,00000004h mov eax,ebx shl eax,10h mov ax,bx shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+38h] mov dx,[esi+1Ch] mov ecx,[eax+04h] mov [ecx],dx mov eax,[esi+38h] mov ecx,[eax+04h] mov dx,[esi+20h] mov [ecx+02h],dx mov eax,[esi+00000098h] or ecx,FFFFFFFFh mov edx,[L004C4DE0+eax*4] xor eax,eax mov edi,edx repne scasb not ecx dec ecx cmp ecx,00000001h jnz L00420DAB mov dl,[edx] cmp dl,31h jnz L00420D58 mov ecx,[L00669658] mov edx,[ecx+0000009Ch] lea ecx,[ebp-38h] mov eax,[edx+000000E8h] inc eax push eax push SSZ004C4958_tutorial_skill_02d_tga push ecx jmp L00420D98 L00420D58: cmp dl,32h jnz L00420D7C mov edx,[L00669658] mov eax,[edx+000000A0h] lea edx,[ebp-38h] mov ecx,[eax+000000E8h] inc ecx push ecx push SSZ004C4958_tutorial_skill_02d_tga push edx jmp L00420D98 L00420D7C: mov eax,[L00669658] mov ecx,[eax+000000A4h] lea eax,[ebp-38h] mov edx,[ecx+000000E8h] inc edx push edx push SSZ004C4958_tutorial_skill_02d_tga push eax L00420D98: call SUB_L0049AC80 mov ecx,[esi+38h] add esp,0000000Ch lea edx,[ebp-38h] mov edi,[ecx+04h] jmp L00420DB1 L00420DAB: mov eax,[esi+38h] mov edi,[eax+04h] L00420DB1: push edx mov ecx,L006BB1C8 call SUB_L00455EC0 mov ecx,eax mov edx,edi call SUB_L00444A50 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp+08h],eax xor ebx,ebx mov byte ptr [ebp-04h],01h cmp eax,ebx jz L00420E05 push ebx push SUB_L00411A40 push ebx push ebx push esi push 000001B7h push 00000279h push 00000195h push 0000024Eh mov ecx,eax call SUB_L00412450 jmp L00420E07 L00420E05: xor eax,eax L00420E07: push 00000001h push esi mov ecx,eax mov [ebp-04h],bl call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp+08h],eax cmp eax,ebx mov byte ptr [ebp-04h],02h jz L00420E52 push ebx push SUB_L00411B90 push ebx push ebx push esi push 000001B7h push 00000245h push 00000195h push 0000021Ah mov ecx,eax call SUB_L00412450 jmp L00420E54 L00420E52: xor eax,eax L00420E54: push 00000001h push esi mov ecx,eax mov [ebp-04h],bl call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp+08h],eax cmp eax,ebx mov byte ptr [ebp-04h],03h jz L00420E9F push ebx push L00411CE0 push ebx push ebx push esi push 000001D6h push 00000278h push 000001BEh push 0000021Bh mov ecx,eax call SUB_L00412450 jmp L00420EA1 L00420E9F: xor eax,eax L00420EA1: push 00000001h push esi mov ecx,eax mov [ebp-04h],bl call SUB_L004415C0 mov ecx,[ebp-0Ch] mov eax,esi pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 L00420ED0: push ebp mov ebp,esp push esi mov esi,ecx call SUB_L00420F00 test byte ptr [ebp+08h],01h jz L00420EEA push esi call SUB_L0049A810 add esp,00000004h L00420EEA: mov eax,esi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00420F00: push ebp mov ebp,esp push FFFFFFFFh push L004B2448 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx mov [ebp-10h],esi mov dword ptr [esi],L004B8DD0 mov eax,[esi+38h] mov dword ptr [ebp-04h],00000000h mov eax,[eax+04h] test eax,eax jz L00420F50 push SSZ004C54FC_tutorial_frame0_pBMP push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov ecx,[esi+38h] mov dword ptr [ecx+04h],00000000h L00420F50: mov eax,[esi+38h] test eax,eax jz L00420F6E push SSZ004C54E8_tutorial_framedata push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov dword ptr [esi+38h],00000000h L00420F6E: mov ecx,esi mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00441D50 mov ecx,[ebp-0Ch] pop esi mov fs:[00000000h],ecx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 L00420F90: push ebp mov ebp,esp sub esp,0000006Ch push ebx mov ebx,ecx xor eax,eax push esi mov ecx,[ebx+68h] push edi cmp ecx,eax jz L004211E3 mov [ebp-08h],eax mov [ebp-04h],eax lea eax,[ebp-04h] lea ecx,[ebp-08h] push eax push ecx mov ecx,ebx call SUB_L00440C60 mov edx,[ebx+38h] mov eax,[ebp-08h] mov ecx,[ebp-04h] mov esi,[ebp+08h] mov edi,[edx+04h] xor edx,edx mov [ebp-24h],eax mov [ebp-20h],ecx mov dx,[edi] add eax,edx mov [ebp-1Ch],eax xor eax,eax mov ax,[edi+02h] add ecx,eax mov [ebp-18h],ecx lea ecx,[ebp-24h] push ecx push esi mov ecx,L00669608 call SUB_L00440D40 test eax,eax jz L004211E3 lea edx,[ebp-44h] mov ecx,esi push edx lea edx,[ebp-24h] call SUB_L00440D90 mov eax,[L004C7F38] mov ecx,[L004C7F34] mov edx,[L006BAE7C] push eax mov eax,[ebp-04h] push ecx mov ecx,[ebp-08h] push edx push eax xor edx,edx mov dx,[edi+02h] xor eax,eax mov ax,[edi] push ecx push edx lea ecx,[ebp-44h] push eax push ecx lea edx,[edi+04h] mov ecx,SUB_L00488700 call SUB_L00439500 mov edi,[ebx+4Ch] test edi,edi jz L0042105F L0042104D: mov edx,[edi] lea eax,[ebp-44h] push eax mov ecx,edi call [edx+0Ch] mov edi,[edi+40h] test edi,edi jnz L0042104D L0042105F: mov esi,[ebx+00000098h] or ecx,FFFFFFFFh shl esi,02h xor eax,eax mov edx,[esi+L004C4DE0] mov edi,edx repne scasb not ecx dec ecx cmp ecx,00000001h jnz L004210FA mov dl,[edx] cmp dl,31h jnz L004210A5 mov ecx,[L00669658] mov edx,[ecx+0000009Ch] lea ecx,[ebp-6Ch] mov eax,[edx+000000E8h] inc eax push eax push SSZ004C5514_skill_02d push ecx jmp L004210E5 L004210A5: cmp dl,32h jnz L004210C9 mov edx,[L00669658] mov eax,[edx+000000A0h] lea edx,[ebp-6Ch] mov ecx,[eax+000000E8h] inc ecx push ecx push SSZ004C5514_skill_02d push edx jmp L004210E5 L004210C9: mov eax,[L00669658] mov ecx,[eax+000000A4h] lea eax,[ebp-6Ch] mov edx,[ecx+000000E8h] inc edx push edx push SSZ004C5514_skill_02d push eax L004210E5: call SUB_L0049AC80 add esp,0000000Ch xor edx,edx lea ecx,[ebp-6Ch] push 00000001h push 00000000h push 00000000h jmp L00421108 L004210FA: mov ecx,[esi+L004C4E08] push 00000001h push 00000000h push 00000000h xor edx,edx L00421108: call SUB_L0044B850 mov esi,eax test esi,esi jz L004211E3 xor cl,cl call SUB_L00491B30 mov ecx,00000004h call SUB_L00491B00 mov ecx,[esi+20h] xor eax,eax xor edi,edi cmp ecx,eax jle L004211E3 jmp L0042113B L00421139: xor eax,eax L0042113B: mov ecx,[ebx+1Ch] mov edx,[ebx+20h] mov [ebp-30h],eax mov [ebp-34h],eax dec ecx lea eax,[ebp-0Ch] mov [ebp-2Ch],ecx dec edx push eax push edi mov ecx,esi mov [ebp-28h],edx call SUB_L0044C9D0 test al,al jnz L00421166 mov dword ptr [ebp-0Ch],00FFFFFFh L00421166: lea ecx,[ebp+08h] push ecx push edi mov ecx,esi call SUB_L0044CA00 test al,al jnz L0042117D mov dword ptr [ebp+08h],00000001h L0042117D: push edi mov ecx,esi call SUB_L0044C840 test eax,eax jz L004211D7 mov ecx,eax call SUB_L00493EC0 mov [ebp-10h],eax call SUB_L00492730 mov ecx,[ebp+08h] mov [ebp-14h],eax call SUB_L00492740 mov eax,[ebp-0Ch] lea edx,[ebp-34h] push edx push eax push edi mov ecx,esi call SUB_L0044C9A0 push eax push edi mov ecx,esi call SUB_L0044C970 mov ecx,[ebp-10h] mov edx,[ebx+1Ch] push eax mov eax,[ebx+38h] push ecx mov ecx,[eax+04h] call SUB_L00492A20 mov ecx,[ebp-14h] call SUB_L00492740 L004211D7: mov eax,[esi+20h] inc edi cmp edi,eax jl L00421139 L004211E3: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 8 SUB_L004211F0: push ebp mov ebp,esp push FFFFFFFFh push L004B2502 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000014h push ebx push esi mov esi,ecx push edi mov [ebp-18h],esi call SUB_L00441CB0 mov eax,[ebp+0Ch] xor ebx,ebx mov [esi+00000094h],eax mov eax,00000001h mov [esi+00000098h],eax mov [esi+14h],eax mov eax,000000C8h push SSZ004C552C_ChatDialog_framedata push 00000008h mov ecx,L00669C8C mov [ebp-04h],ebx mov [esi+0000009Ch],ebx mov [esi+000000A0h],ebx mov [esi+000000A4h],ebx mov [esi+000000A8h],ebx mov [esi+000000ACh],ebx mov [esi+000000B0h],ebx mov [esi+000000B4h],ebx mov [esi+000000B8h],ebx mov [esi+000000BCh],ebx mov dword ptr [esi],L004B8F18 mov [esi+18h],eax mov [esi+1Ch],eax call SUB_L0044FBD0 mov ecx,[esi+14h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+38h],edi rep stosd mov ecx,edx lea edx,[ebp-1Ch] and ecx,00000003h rep stosb lea eax,[ebp-10h] mov ecx,00000A8Ch push eax call SUB_L004390A0 lea ecx,[ebp-20h] lea edx,[ebp-14h] push ecx mov ecx,00000A8Dh call SUB_L004390A0 push 00000094h call SUB_L0049A820 add esp,00000004h mov [ebp+0Ch],eax cmp eax,ebx mov byte ptr [ebp-04h],01h jz L004212EB push esi mov ecx,eax call SUB_L00424F50 jmp L004212ED L004212EB: xor eax,eax L004212ED: push 00000094h mov [ebp-04h],bl mov [esi+000000C0h],eax call SUB_L0049A820 add esp,00000004h mov [ebp+0Ch],eax cmp eax,ebx mov byte ptr [ebp-04h],02h jz L00421318 push esi mov ecx,eax call SUB_L00424F50 jmp L0042131A L00421318: xor eax,eax L0042131A: push 00000094h mov [ebp-04h],bl mov [esi+000000C4h],eax call SUB_L0049A820 add esp,00000004h mov [ebp+0Ch],eax cmp eax,ebx mov byte ptr [ebp-04h],03h jz L00421345 push esi mov ecx,eax call SUB_L00424F50 jmp L00421347 L00421345: xor eax,eax L00421347: push 00000094h mov [ebp-04h],bl mov [esi+000000C8h],eax call SUB_L0049A820 add esp,00000004h mov [ebp+0Ch],eax cmp eax,ebx mov byte ptr [ebp-04h],04h jz L00421372 push esi mov ecx,eax call SUB_L00424F50 jmp L00421374 L00421372: xor eax,eax L00421374: push 00000094h mov [ebp-04h],bl mov [esi+000000CCh],eax call SUB_L0049A820 add esp,00000004h mov [ebp+0Ch],eax cmp eax,ebx mov byte ptr [ebp-04h],05h jz L0042139F push esi mov ecx,eax call SUB_L00424F50 jmp L004213A1 L0042139F: xor eax,eax L004213A1: push 00000094h mov [ebp-04h],bl mov [esi+000000D0h],eax call SUB_L0049A820 add esp,00000004h mov [ebp+0Ch],eax cmp eax,ebx mov byte ptr [ebp-04h],06h jz L004213CC push esi mov ecx,eax call SUB_L00424F50 jmp L004213CE L004213CC: xor eax,eax L004213CE: mov [esi+000000D4h],eax mov eax,[ebp+18h] cmp eax,ebx mov [ebp-04h],bl jz L00421416 push 00000094h call SUB_L0049A820 add esp,00000004h mov [ebp+0Ch],eax cmp eax,ebx mov byte ptr [ebp-04h],07h jz L00421409 push esi mov ecx,eax call SUB_L00424F50 mov [ebp-04h],bl mov [esi+000000D8h],eax jmp L0042141C L00421409: xor eax,eax mov [ebp-04h],bl mov [esi+000000D8h],eax jmp L0042141C L00421416: mov [esi+000000D8h],ebx L0042141C: push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp+0Ch],eax cmp eax,ebx mov byte ptr [ebp-04h],08h jz L00421452 push ebx push 00000A95h push 00000A94h push L00411A30 push ebx push ebx push esi push ebx push ebx mov ecx,eax call SUB_L004122F0 jmp L00421454 L00421452: xor eax,eax L00421454: mov [esi+000000DCh],eax mov [eax+0000009Ch],ebx mov edx,[esi+000000DCh] mov edi,00000001h push edi push esi mov [edx+000000ACh],edi mov ecx,[esi+000000DCh] mov [ebp-04h],bl call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp+0Ch],eax cmp eax,ebx mov byte ptr [ebp-04h],09h jz L004214B7 push ebx push 00000A9Bh push 00000A9Ah push L00411A30 push ebx push ebx push esi push ebx push ebx mov ecx,eax call SUB_L004122F0 jmp L004214B9 L004214B7: xor eax,eax L004214B9: mov [esi+000000E0h],eax mov [eax+0000009Ch],edi mov eax,[esi+000000E0h] push edi push esi mov [ebp-04h],bl mov [eax+000000ACh],edi mov ecx,[esi+000000E0h] call SUB_L004415C0 push 000000C0h call SUB_L0049A820 add esp,00000004h mov [ebp+0Ch],eax cmp eax,ebx mov byte ptr [ebp-04h],0Ah jz L0042150E mov ecx,[L0073EC4C] push ecx push ebx push edi push ebx push edi push esi mov ecx,eax call SUB_L00425F90 jmp L00421510 L0042150E: xor eax,eax L00421510: mov ecx,[ebp+10h] push ebx mov [esi+000000A8h],eax mov edx,[L004C5520] push FFFFFFFFh push FFFFFFFFh push ebx push edx push ecx mov ecx,eax mov [ebp-04h],bl call SUB_L00426260 mov edx,[ebp-14h] mov ecx,[esi+1Ch] push 000001E0h lea eax,[edx+edx] sub ecx,eax push ecx mov ecx,[esi+000000A8h] push ebx push ebx call SUB_L004261E0 push 000000C0h call SUB_L0049A820 add esp,00000004h mov [ebp+0Ch],eax cmp eax,ebx mov byte ptr [ebp-04h],0Bh jz L0042157C mov edx,[L0073EC4C] mov ecx,eax push edx push ebx push edi push ebx push edi push esi call SUB_L00425F90 jmp L0042157E L0042157C: xor eax,eax L0042157E: mov edx,[ebp+14h] push ebx mov [esi+000000ACh],eax mov ecx,[L004C5528] push FFFFFFFFh push FFFFFFFFh push ebx push ecx push edx mov ecx,eax mov [ebp-04h],bl call SUB_L00426260 push 000000C0h call SUB_L0049A820 add esp,00000004h mov [ebp+0Ch],eax cmp eax,ebx mov byte ptr [ebp-04h],0Ch jz L004215CC mov ecx,[L0073EC4C] push ecx push ebx push edi push ebx push edi push esi mov ecx,eax call SUB_L00425F90 jmp L004215CE L004215CC: xor eax,eax L004215CE: push ebx mov [esi+000000B0h],eax mov edx,[L004C5524] push FFFFFFFFh push FFFFFFFFh push ebx push edx push L007B7D28 mov ecx,eax mov [ebp-04h],bl call SUB_L00426260 mov ecx,[esi+000000A8h] call SUB_L00426FA0 mov ecx,[ebp-10h] lea edx,[eax+ecx*4] mov eax,[esi+000000E0h] mov ecx,[eax+20h] mov eax,[ebp+18h] cmp eax,ebx lea edi,[edx+ecx+12h] jz L004216C5 push 000000C0h call SUB_L0049A820 add esp,00000004h mov [ebp+0Ch],eax cmp eax,ebx mov byte ptr [ebp-04h],0Dh jz L00421648 mov edx,[L0073EC4C] mov ecx,eax push edx push ebx push 00000001h push ebx push 00000001h push esi call SUB_L00425F90 jmp L0042164A L00421648: xor eax,eax L0042164A: mov edx,[ebp+18h] push ebx mov [esi+000000B4h],eax mov ecx,[L004C5528] push FFFFFFFFh push FFFFFFFFh push ebx push ecx push edx mov ecx,eax mov [ebp-04h],bl call SUB_L00426260 push 000000C0h call SUB_L0049A820 add esp,00000004h mov [ebp+18h],eax cmp eax,ebx mov byte ptr [ebp-04h],0Eh jz L0042169A mov ecx,[L0073EC4C] push ecx push ebx push 00000001h push ebx push 00000001h push esi mov ecx,eax call SUB_L00425F90 jmp L0042169C L0042169A: xor eax,eax L0042169C: push ebx mov [esi+000000B8h],eax mov edx,[L004C5524] push FFFFFFFFh push FFFFFFFFh push ebx push edx push L007B7D28 mov ecx,eax mov [ebp-04h],bl call SUB_L00426260 mov eax,[ebp-10h] lea edi,[edi+eax+12h] L004216C5: push edi mov ecx,esi call SUB_L004218C0 mov ecx,esi call SUB_L00421B10 mov ecx,[ebp+08h] cmp ecx,ebx jz L0042170B mov eax,[ecx+1Ch] cdq sub eax,edx mov edi,eax mov eax,[esi+1Ch] cdq sub eax,edx sar edi,1 sar eax,1 sub edi,eax mov eax,[esi+20h] cdq sub eax,edx mov [esi+2Ch],edi mov edi,eax mov eax,[ecx+20h] cdq sub eax,edx sar edi,1 sar eax,1 sub eax,edi mov [esi+30h],eax jmp L0042172F L0042170B: mov eax,[esi+1Ch] cdq sub eax,edx mov edx,00000140h sar eax,1 sub edx,eax mov eax,[esi+20h] mov [esi+2Ch],edx cdq sub eax,edx mov edx,000000F0h sar eax,1 sub edx,eax mov [esi+30h],edx L0042172F: push 00000001h push ecx mov ecx,esi call SUB_L004415C0 mov ecx,L00669608 call SUB_L0043FDA0 mov eax,[esi+000000B0h] mov ecx,L00669608 push eax call SUB_L0043FF10 mov ecx,[esi+000000B0h] call SUB_L00426D70 mov ecx,[ebp-0Ch] mov eax,esi pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0014h ;------------------------------------------------------------------------------ Align 16 L00421780: push ebp mov ebp,esp push esi mov esi,ecx call SUB_L004217C0 test byte ptr [ebp+08h],01h jz L0042179A push esi call SUB_L0049A810 add esp,00000004h L0042179A: mov eax,esi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 L004217B0: jmp SUB_L00441D50 Align 16 SUB_L004217C0: push ebp mov ebp,esp push FFFFFFFFh push L004B2518 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000044h push esi mov esi,ecx push edi mov [ebp-10h],esi mov dword ptr [esi],L004B8F18 mov ecx,[esi+48h] mov eax,[esi+00000098h] test ecx,ecx mov dword ptr [ebp-04h],00000000h jz L00421854 test eax,eax jz L0042180E mov eax,[ecx] push esi call [eax+00000158h] jmp L00421893 L0042180E: mov ecx,[esi+000000B8h] test ecx,ecx jz L00421821 call SUB_L00426F90 mov edi,eax jmp L00421823 L00421821: xor edi,edi L00421823: mov ecx,[esi+000000B0h] test ecx,ecx jz L00421842 call SUB_L00426F90 mov ecx,[esi+48h] push edi push eax push esi mov edx,[ecx] call [edx+0000015Ch] jmp L00421893 L00421842: mov ecx,[esi+48h] xor eax,eax push edi push eax mov edx,[ecx] push esi call [edx+0000015Ch] jmp L00421893 L00421854: test eax,eax jnz L00421893 mov eax,[L007121E4] test eax,eax jnz L00421893 mov eax,[L006BB1CC] test eax,eax jz L00421893 mov ecx,[esi+000000B0h] call SUB_L00426F90 push eax lea eax,[ebp-50h] push eax mov ecx,L006BB1C0 call SUB_L00422880 lea ecx,[ebp-50h] push ecx mov ecx,[L006BB1CC] call SUB_L0048B170 L00421893: mov ecx,esi mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00441D50 mov ecx,[ebp-0Ch] pop edi mov fs:[00000000h],ecx pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L004218C0: push ebp mov ebp,esp mov eax,[ebp+08h] push esi mov esi,ecx push edi mov ecx,[esi+38h] mov [esi+20h],eax mov eax,[ecx+04h] test eax,eax jz L004218F1 push SSZ004C5544_ChatDialog_frame0 push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov edx,[esi+38h] mov dword ptr [edx+04h],00000000h L004218F1: mov eax,[esi+1Ch] push SSZ004C5544_ChatDialog_frame0 imul eax,[esi+20h] lea ecx,[eax+eax+04h] push ecx mov ecx,L00669C8C call SUB_L0044FBD0 mov edx,[esi+38h] mov [edx+04h],eax mov ecx,[esi+1Ch] imul ecx,[esi+20h] mov edx,[esi+38h] xor eax,eax shl ecx,1 mov edi,[edx+04h] mov edx,ecx add edi,00000004h shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+38h] mov dx,[esi+1Ch] pop edi mov ecx,[eax+04h] mov [ecx],dx mov eax,[esi+38h] mov dx,[esi+20h] pop esi mov ecx,[eax+04h] mov [ecx+02h],dx pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 L00421960: push ebp mov ebp,esp cmp dword ptr [ebp+08h],00000001h jnz L00421973 mov dword ptr [ecx+00000098h],00000000h L00421973: test ecx,ecx jz L0042197D mov eax,[ecx] push 00000001h call [eax] L0042197D: pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 L00421990: push ebp mov ebp,esp test ecx,ecx jz L0042199D mov eax,[ecx] push 00000001h call [eax] L0042199D: pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 L004219B0: push ebp mov ebp,esp mov eax,[L0066962C] push esi mov esi,ecx cmp eax,esi jnz L004219C3 push 00000001h jmp L004219C5 L004219C3: push 00000000h L004219C5: mov ecx,esi call SUB_L00441340 mov eax,[ebp+08h] mov ecx,[ebp+0Ch] mov [esi+6Ch],eax mov eax,[esi+60h] test eax,eax mov dword ptr [esi+0000009Ch],00000001h mov [esi+70h],ecx jz L00421A17 cmp dword ptr [esi+000000A0h],00000001h jnz L00421A01 mov dword ptr [esi+000000A0h],00000002h pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ L00421A01: mov dword ptr [esi+000000A0h],00000001h call [KERNEL32.dll!GetTickCount] mov [esi+000000A4h],eax L00421A17: pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 8 L00421A20: push ebp mov ebp,esp push ebx push esi mov esi,ecx mov eax,[esi+000000A0h] mov dword ptr [esi+0000009Ch],00000000h cmp eax,00000002h jnz L00421A46 mov dword ptr [esi+000000A0h],00000000h L00421A46: mov ecx,L00669608 call SUB_L0043FDA0 push esi mov ecx,L00669608 call SUB_L0043FF10 mov eax,[esi+000000B8h] test eax,eax jz L00421A7A mov ecx,[esi+000000B0h] mov edx,[ecx+30h] mov ebx,[ecx+20h] mov ecx,[ebp+0Ch] add edx,ebx cmp ecx,edx jg L00421A80 L00421A7A: mov eax,[esi+000000B0h] L00421A80: mov ecx,eax mov [esi+000000BCh],eax call SUB_L00426D70 pop esi mov dword ptr [L006A9DD4],00000000h pop ebx pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 4 L00421AA0: push ebp mov ebp,esp mov ecx,[ecx+000000BCh] test ecx,ecx jz L00421AB6 mov edx,[ebp+08h] mov eax,[ecx] push edx call [eax+44h] L00421AB6: pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 8 L00421AC0: push esi mov esi,ecx mov ecx,[esi+000000BCh] test ecx,ecx jz L00421ADF mov eax,[ecx] call [eax+00000160h] mov dword ptr [esi+000000BCh],00000000h L00421ADF: pop esi retn ;------------------------------------------------------------------------------ Align 16 L00421AF0: push ebp mov ebp,esp test ecx,ecx mov dword ptr [ecx+00000098h],00000000h jz L00421B07 mov eax,[ecx] push 00000001h call [eax] L00421B07: xor eax,eax pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 4 SUB_L00421B10: push ebp mov ebp,esp sub esp,00000010h push esi mov esi,ecx lea eax,[ebp-04h] lea edx,[ebp-0Ch] push eax mov ecx,00000A8Ch call SUB_L004390A0 lea ecx,[ebp-10h] lea edx,[ebp-08h] push ecx mov ecx,00000A8Dh call SUB_L004390A0 mov edx,[esi+1Ch] mov ecx,[esi+000000C0h] push edx push 00000000h push 00000000h push 00000A8Ch push 00000000h call SUB_L00425130 mov ecx,[esi+20h] mov edx,[ebp-04h] mov eax,[esi+1Ch] sub ecx,edx push eax push ecx mov ecx,[esi+000000C4h] push 00000000h push 00000A8Ch push 00000000h call SUB_L00425130 mov eax,[ebp-04h] mov ecx,[esi+20h] lea edx,[eax+eax] sub ecx,edx push ecx mov ecx,[esi+000000C8h] push eax push 00000000h push 00000A8Dh push 00000001h call SUB_L00425130 mov eax,[ebp-04h] mov ecx,[esi+20h] lea edx,[eax+eax] sub ecx,edx mov edx,[esi+1Ch] push ecx mov ecx,[esi+000000CCh] push eax mov eax,[ebp-08h] sub edx,eax push edx push 00000A8Dh push 00000001h call SUB_L00425130 mov eax,[esi+1Ch] mov ecx,[esi+000000A8h] push eax call SUB_L00426FA0 mov edx,[ebp-04h] mov ecx,[esi+000000D0h] add eax,edx push eax push 00000000h push 00000A8Ch push 00000000h call SUB_L00425130 mov ecx,[esi+1Ch] push ecx mov ecx,[esi+000000A8h] call SUB_L00426FA0 mov edx,[ebp-04h] mov ecx,[esi+000000D4h] lea eax,[eax+edx*2+12h] push eax push 00000000h push 00000A8Ch push 00000000h call SUB_L00425130 mov eax,[esi+000000B8h] test eax,eax jz L00421C4D mov edx,[ebp-04h] mov ecx,[esi+1Ch] mov eax,[esi+000000E0h] push ecx neg edx mov ecx,[eax+20h] shl edx,1 sub edx,ecx mov ecx,[esi+20h] add edx,ecx mov ecx,[esi+000000D8h] push edx push 00000000h push 00000A8Ch push 00000000h call SUB_L00425130 L00421C4D: mov ecx,[esi+000000A8h] call SUB_L00426FA0 mov edx,[esi+1Ch] push eax mov eax,[ebp-08h] lea ecx,[eax+eax] sub edx,ecx mov ecx,[ebp-04h] push edx push ecx mov ecx,[esi+000000A8h] push eax call SUB_L004261E0 mov ecx,[esi+000000A8h] push 00000000h call SUB_L004265E0 mov ecx,[esi+000000ACh] push 00000012h call SUB_L00426FB0 mov ecx,[esi+000000A8h] push eax call SUB_L00426FA0 mov edx,[ebp-04h] mov ecx,[ebp-08h] lea eax,[eax+edx*2] push eax push ecx mov ecx,[esi+000000ACh] call SUB_L004261E0 mov ecx,[esi+000000ACh] push 00000012h call SUB_L00426FB0 mov edx,[ebp-08h] lea ecx,[edx+edx] mov edx,[esi+1Ch] sub edx,ecx mov ecx,[esi+000000A8h] sub edx,eax push edx call SUB_L00426FA0 mov ecx,[ebp-04h] lea edx,[eax+ecx*2] mov ecx,[esi+000000ACh] push edx call SUB_L00426FB0 mov edx,[ebp-08h] mov ecx,[esi+000000B0h] add eax,edx push eax call SUB_L004261E0 mov eax,[esi+000000B8h] test eax,eax jz L00421D8C mov ecx,[esi+000000B4h] push 00000012h call SUB_L00426FB0 mov edx,[esi+20h] push eax mov eax,[ebp-04h] lea ecx,[eax+eax+12h] mov eax,[esi+000000E0h] sub edx,ecx mov ecx,[eax+20h] sub edx,ecx mov ecx,[ebp-08h] push edx push ecx mov ecx,[esi+000000B4h] call SUB_L004261E0 mov ecx,[esi+000000B4h] push 00000012h call SUB_L00426FB0 mov edx,[ebp-08h] lea ecx,[edx+edx] mov edx,[esi+1Ch] sub edx,ecx sub edx,eax mov eax,[ebp-04h] push edx mov edx,[esi+20h] lea ecx,[eax+eax+12h] mov eax,[esi+000000E0h] sub edx,ecx mov ecx,[eax+20h] sub edx,ecx mov ecx,[esi+000000B4h] push edx call SUB_L00426FB0 mov edx,[ebp-08h] mov ecx,[esi+000000B8h] add eax,edx push eax call SUB_L004261E0 L00421D8C: mov ecx,[esi+000000E0h] mov edx,[esi+20h] mov eax,[ecx+20h] sub edx,eax mov eax,[ebp-04h] sub edx,eax mov eax,[esi+000000DCh] mov [eax+30h],edx mov ecx,[esi+000000DCh] mov edx,[esi+000000E0h] mov eax,[ecx+30h] mov [edx+30h],eax mov eax,[esi+000000DCh] mov ecx,[esi+1Ch] mov edx,[eax+1Ch] sub ecx,edx mov edx,[ebp-08h] sub ecx,edx mov [eax+2Ch],ecx mov edx,[esi+000000DCh] mov eax,[esi+000000E0h] pop esi mov ecx,[edx+2Ch] sub ecx,[eax+1Ch] mov [eax+2Ch],ecx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 SUB_L00421DF0: push esi push edi xor edi,edi mov esi,ecx push 00000001h push edi push edi xor edx,edx mov ecx,SSZ004C5560_chat call SUB_L0044B850 test eax,eax jz L00421E1F push esi mov ecx,eax call SUB_L0044C840 test eax,eax jz L00421E1F mov ecx,eax call SUB_L00493EC0 mov edi,eax L00421E1F: mov eax,edi pop edi pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L00421E30: push ebp mov ebp,esp push ecx mov ecx,[ebp+08h] lea eax,[ebp+0Bh] push eax lea edx,[ebp-04h] mov dword ptr [ebp-04h],00000000h call SUB_L004687A0 mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ SUB_L00421E50: push ebp mov ebp,esp mov eax,fs:[00000000h] push FFFFFFFFh push L004B2551 push eax mov eax,00002810h mov fs:[00000000h],esp call SUB_L0049ACF0 push ebx push esi push edi mov edi,[ebp+08h] lea eax,[ebp-18h] lea edx,[ebp-10h] push eax mov ecx,edi mov dword ptr [ebp-10h],00000000h call SUB_L004687E0 lea ecx,[ebp-1Ch] push 00000004h push ecx lea edx,[ebp-10h] mov ecx,edi call SUB_L00468880 lea esi,[ebp-0000081Ch] sub esi,00000002h L00421EA6: add esi,00000002h lea edx,[ebp-10h] push esi mov ecx,edi call SUB_L004687E0 cmp word ptr [esi],0000h jnz L00421EA6 lea esi,[ebp-0000101Ch] sub esi,00000002h L00421EC3: add esi,00000002h lea edx,[ebp-10h] push esi mov ecx,edi call SUB_L004687E0 cmp word ptr [esi],0000h jnz L00421EC3 mov eax,[ebp-18h] and eax,0000FFFFh cmp eax,00000026h jg L00421FEE cmp eax,00000025h jge L0042211C lea ecx,[eax-01h] cmp ecx,00000023h ja CASE_0042269C_PROC0001 xor edx,edx mov dl,[ecx+CASE_00422664] jmp [CASE_PROCTABLE_00422654+edx*4] CASE_00422654_PROC0001: mov ecx,[L00669668] test ecx,ecx jz L00422641 xor esi,esi push 00000001h push esi push esi xor edx,edx mov ecx,SSZ004C5560_chat lea edi,[ebp-0000201Ch] lea ebx,[eax+13h] call SUB_L0044B850 test eax,eax jz L00421F4E push ebx mov ecx,eax call SUB_L0044C840 test eax,eax jz L00421F4E mov ecx,eax call SUB_L00493EC0 mov esi,eax L00421F4E: cmp word ptr [esi],0000h jz L00421F9A L00421F54: mov ax,[esi] cmp ax,0025h jnz L00421F85 add esi,00000002h lea edx,[ebp-0000081Ch] cmp word ptr [esi],0031h jz L00421F72 lea edx,[ebp-0000101Ch] L00421F72: mov ecx,edi call SUB_L00491D10 mov ecx,edi call SUB_L00491C00 lea edi,[edi+eax*2] jmp L00421F8B L00421F85: mov [edi],ax add edi,00000002h L00421F8B: cmp word ptr [esi],0000h jz L00421F9A add esi,00000002h cmp word ptr [esi],0000h jnz L00421F54 L00421F9A: mov word ptr [edi],0000h mov ecx,[L004CCD78] mov eax,[L00669668] push 00000000h push FFFFFFFFh push FFFFFFFFh push ecx push ecx lea ecx,[ebp-0000201Ch] push ecx mov ecx,[eax+000000BCh] call SUB_L00426260 mov eax,[L00669668] lea edx,[ebp-0000081Ch] push edx mov ecx,[eax+000000B8h] call SUB_L004264A0 mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L00421FEE: cmp eax,000003E8h jg L004222A2 jz L00422267 cmp eax,00000027h jz L004220CF jle CASE_0042269C_PROC0001 cmp eax,00000029h jg CASE_0042269C_PROC0001 CASE_00422654_PROC0000: mov ecx,[L00669668] test ecx,ecx jz L00422641 xor esi,esi push 00000001h push esi push esi xor edx,edx mov ecx,SSZ004C5560_chat lea edi,[ebp-0000201Ch] lea ebx,[eax+13h] call SUB_L0044B850 test eax,eax jz L00422059 push ebx mov ecx,eax call SUB_L0044C840 test eax,eax jz L00422059 mov ecx,eax call SUB_L00493EC0 mov esi,eax L00422059: cmp word ptr [esi],0000h jz L004220A5 L0042205F: mov ax,[esi] cmp ax,0025h jnz L00422090 add esi,00000002h lea edx,[ebp-0000081Ch] cmp word ptr [esi],0031h jz L0042207D lea edx,[ebp-0000101Ch] L0042207D: mov ecx,edi call SUB_L00491D10 mov ecx,edi call SUB_L00491C00 lea edi,[edi+eax*2] jmp L00422096 L00422090: mov [edi],ax add edi,00000002h L00422096: cmp word ptr [esi],0000h jz L004220A5 add esi,00000002h cmp word ptr [esi],0000h jnz L0042205F L004220A5: mov word ptr [edi],0000h mov ecx,[L004CCD78] mov eax,[L00669668] push 00000000h push FFFFFFFFh push FFFFFFFFh push ecx push ecx lea ecx,[ebp-0000201Ch] push ecx mov ecx,[eax+000000BCh] jmp L0042263C L004220CF: mov eax,[L00669668] test eax,eax jz L00422641 mov ecx,[eax+60h] test ecx,ecx jz L00422121 mov ecx,[eax+00000120h] test ecx,ecx jnz L00422121 mov edx,[eax+28h] mov ecx,[eax+24h] push edx mov edx,[eax+38h] mov dword ptr [eax+00000120h],00000001h push ecx mov eax,[edx+0Ch] mov edx,00000A53h add eax,00000004h mov ecx,SUB_L00488700 push eax push 00000000h push 00000000h call SUB_L00439100 L0042211C: mov eax,[L00669668] L00422121: test eax,eax jz L00422641 mov esi,[ebp-0000081Ch] mov edx,[eax+0000011Ch] and esi,0000FFFFh lea ecx,[ebp-0000081Ah] sub esi,00000030h call SUB_L00491C20 test eax,eax jnz L00422152 mov esi,00000004h L00422152: or eax,FFFFFFFFh lea ecx,[ebp+08h] mov [ebp-14h],eax mov [ebp+08h],eax lea edx,[ebp-14h] push ecx lea eax,[ebp-0000101Ch] mov ebx,[ebp-1Ch] mov edi,[L00669668] push edx lea ecx,[ebp-0000081Ah] push eax push ecx mov ecx,[ebp-18h] and ecx,0000FFFFh lea edx,[ebp-0000201Ch] add ecx,00000013h call SUB_L004226C0 mov al,[L004C79CC] test al,al jz L0042223C mov ecx,ebx call SUB_L0044CEC0 test al,al jz L0042223C mov edx,[edi+000000BCh] push 00000000h push edx push L00427330 lea edx,[ebp-0000101Ch] lea ecx,[ebp-0000081Ah] call SUB_L0044CF50 cmp eax,FFFFFFFFh jnz L00422641 lea eax,[esi-01h] cmp eax,00000004h ja L00422214 jmp [CASE_PROCTABLE_00422688+eax*4] CASE_00422688_PROC0004: mov eax,[L004CCD78] mov ecx,eax jmp L0042221F CASE_00422688_PROC0003: mov eax,[L004CCD74] mov ecx,[L004CCD70] jmp L0042221F CASE_00422688_PROC0000: mov eax,[L004CCD6C] mov ecx,[L004CCD68] jmp L0042221F CASE_00422688_PROC0001: mov eax,[L004CCD64] mov ecx,[L004CCD60] jmp L0042221F L00422214: mov eax,[L004CCD5C] mov ecx,[L004CCD58] L0042221F: mov edx,[ebp+08h] push ebx push edx mov edx,[ebp-14h] push edx push ecx mov ecx,[edi+000000BCh] push eax lea eax,[ebp-0000201Ch] push eax jmp L0042263C L0042223C: mov ecx,[ebp+08h] mov edx,[ebp-14h] push ebx push ecx push edx lea eax,[ebp-0000201Ch] push esi push eax mov ecx,edi call SUB_L00423310 mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L00422267: mov ecx,[L00669668] test ecx,ecx jz L00422641 xor edx,edx cmp word ptr [ebp-0000101Ch],0031h lea eax,[ebp-0000081Ch] setz dl push edx push eax call SUB_L00424AE0 mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L004222A2: add eax,FFFFFC17h cmp eax,00000008h ja CASE_0042269C_PROC0001 jmp [CASE_PROCTABLE_0042269C+eax*4] CASE_0042269C_PROC0002: push 000000E4h call SUB_L0049A820 mov ebx,eax add esp,00000004h mov [ebp+08h],ebx xor edi,edi cmp ebx,edi mov [ebp-04h],edi jz L00422641 push 00000001h push edi push edi xor edx,edx mov ecx,SSZ004C5560_chat call SUB_L0044B850 cmp eax,edi jz L00422300 push 00000010h mov ecx,eax call SUB_L0044C840 cmp eax,edi jz L00422300 mov ecx,eax call SUB_L00493EC0 mov edi,eax L00422300: xor esi,esi push 00000001h push esi push esi xor edx,edx mov ecx,SSZ004C5560_chat call SUB_L0044B850 test eax,eax jz L0042232C push 0000000Fh mov ecx,eax call SUB_L0044C840 test eax,eax jz L0042232C mov ecx,eax call SUB_L00493EC0 mov esi,eax L0042232C: push 00000000h push edi push esi push FFFFFFFFh push 00000000h mov ecx,ebx call SUB_L004211F0 mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0042269C_PROC0003: mov ecx,[L00669668] test ecx,ecx jz L00422641 mov edx,[ecx] push 00000001h call [edx] mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0042269C_PROC0004: mov eax,[L004C555C] or esi,FFFFFFFFh cmp eax,esi push 00000124h jnz L004223CF call SUB_L0049A820 add esp,00000004h mov [ebp+08h],eax test eax,eax mov dword ptr [ebp-04h],00000001h jz L00422641 lea ecx,[ebp-0000081Ch] push ecx push 000001E0h push 00000280h push 00000000h push 00000000h mov ecx,eax call SUB_L004228E0 mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L004223CF: call SUB_L0049A820 add esp,00000004h mov [ebp+08h],eax test eax,eax mov dword ptr [ebp-04h],00000002h jz L00422411 mov ecx,[L004D7E74] lea edx,[ebp-0000081Ch] push edx mov edx,[L004D7E80] push ecx mov ecx,[L004D7E7C] push edx mov edx,[L004C555C] push ecx push edx mov ecx,eax call SUB_L004228E0 jmp L00422413 L00422411: xor eax,eax L00422413: mov ecx,[L004D7E78] mov [ebp-04h],esi test ecx,ecx jz L00422641 mov ecx,eax call SUB_L0040D6E0 mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0042269C_PROC0000: mov ecx,[L00669668] test ecx,ecx jz L00422641 lea eax,[ebp-0000081Ch] push eax call SUB_L00424C90 mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0042269C_PROC0005: mov ecx,[L00669668] test ecx,ecx jz L00422641 mov eax,[ebp-0000081Ch] and eax,0000FFFFh sub eax,00000030h dec eax jz L0042249E dec eax jz L00422497 dec eax jz L0042249E mov eax,[L004CCD58] jmp L004224A3 L00422497: mov eax,[L004CCD60] jmp L004224A3 L0042249E: mov eax,[L004CCD68] L004224A3: mov ecx,[ecx+000000B8h] push 00000000h push FFFFFFFFh push FFFFFFFFh push 00000000h lea edx,[ebp-0000081Ah] push eax push edx call SUB_L00426400 mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0042269C_PROC0006: mov eax,[L00669668] test eax,eax jz L00422641 lea ecx,[ebp-0000081Ch] push ecx mov ecx,[eax+000000B8h] call SUB_L004264A0 mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0042269C_PROC0007: mov esi,[L00669668] test esi,esi jz L00422641 mov ecx,[esi+000000B8h] call SUB_L00426570 xor edi,edi push 00000001h push edi push edi xor edx,edx mov ecx,SSZ004C5560_chat call SUB_L0044B850 test eax,eax jz L00422548 push 00000001h mov ecx,eax call SUB_L0044C840 test eax,eax jz L00422548 mov ecx,eax call SUB_L00493EC0 mov edi,eax L00422548: mov edx,[L004CCD54] mov ecx,[esi+000000ACh] push 00000000h push FFFFFFFFh push FFFFFFFFh push 00000000h push edx push edi jmp L0042263C CASE_0042269C_PROC0008: mov eax,[L00669668] test eax,eax jz L00422641 push 00000000h mov ebx,eax mov eax,[L004CCD54] push FFFFFFFFh push FFFFFFFFh push 00000000h lea ecx,[ebp-0000081Ch] push eax push ecx mov ecx,[ebx+000000ACh] call SUB_L00426260 mov ecx,0000005Ah lea esi,[ebp-0000281Ch] call SUB_L00421DF0 mov edi,eax mov ax,[edi] test ax,ax jz L004225F1 L004225AC: cmp ax,0025h jnz L004225DA add edi,00000002h xor edx,edx lea eax,[ebp-0000081Ch] mov ecx,esi cmp word ptr [edi],0031h setnz dl dec edx and edx,eax call SUB_L00491D10 mov ecx,esi call SUB_L00491C00 lea esi,[esi+eax*2] jmp L004225E0 L004225DA: mov [esi],ax add esi,00000002h L004225E0: cmp word ptr [edi],0000h jz L004225E9 add edi,00000002h L004225E9: mov ax,[edi] test ax,ax jnz L004225AC L004225F1: push 00000000h mov word ptr [esi],0000h mov ecx,[L004CCD78] push FFFFFFFFh push FFFFFFFFh push 00000000h lea edx,[ebp-0000281Ch] push ecx mov ecx,[ebx+000000BCh] push edx jmp L0042263C CASE_0042269C_PROC0001: mov edx,[L00669668] test edx,edx jz L00422641 mov ecx,[L004CCD58] mov eax,[L004CCD5C] push 00000000h push FFFFFFFFh push FFFFFFFFh push ecx mov ecx,[edx+000000BCh] push eax push SWC004D0598_Error L0042263C: call SUB_L00426260 L00422641: mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_PROCTABLE_00422654: dd CASE_00422654_PROC0000 dd CASE_00422654_PROC0001 dd CASE_00422654_PROC0000 db 14h; db 26h; '&' db 42h; 'B' db 00h; CASE_00422664: db 00h, 00h, 01h, 02h, 02h, 02h, 02h, 02h, 02h, 02h, 02h, 02h, 02h, 02h, 02h, 02h db 02h, 02h, 02h, 02h, 02h, 02h, 02h, 02h, 02h, 02h, 02h, 02h, 02h, 02h, 02h, 02h db 02h, 02h, 02h, 02h CASE_PROCTABLE_00422688: dd CASE_00422688_PROC0000 dd CASE_00422688_PROC0001 dd CASE_00422688_PROC0000 dd CASE_00422688_PROC0003 dd CASE_00422688_PROC0004 CASE_PROCTABLE_0042269C: dd CASE_0042269C_PROC0000 dd CASE_0042269C_PROC0001 dd CASE_0042269C_PROC0002 dd CASE_0042269C_PROC0003 dd CASE_0042269C_PROC0004 dd CASE_0042269C_PROC0005 dd CASE_0042269C_PROC0006 dd CASE_0042269C_PROC0007 dd CASE_0042269C_PROC0008 SUB_L004226C0: push ebp mov ebp,esp push ecx push ebx push esi push edi xor edi,edi mov esi,edx mov ebx,ecx push 00000001h push edi push edi xor edx,edx mov ecx,SSZ004C5560_chat call SUB_L0044B850 test eax,eax jz L004226F6 push ebx mov ecx,eax call SUB_L0044C840 test eax,eax jz L004226F6 mov ecx,eax call SUB_L00493EC0 mov edi,eax L004226F6: cmp word ptr [edi],0000h mov [ebp-04h],esi jz L00422776 mov ebx,[ebp+10h] L00422702: mov ax,[edi] cmp ax,0025h jnz L00422761 add edi,00000002h cmp word ptr [edi],0031h jnz L0042274B mov ecx,[ebp-04h] mov word ptr [esi],0000h call SUB_L00491C00 mov edx,[ebp+08h] mov ecx,esi mov [ebx],eax call SUB_L00491D10 mov ecx,esi call SUB_L00491C00 mov ecx,[ebx] lea edx,[eax+ecx-01h] mov eax,[ebp+14h] mov ecx,esi mov [eax],edx call SUB_L00491C00 lea esi,[esi+eax*2] jmp L00422767 L0042274B: mov edx,[ebp+0Ch] mov ecx,esi call SUB_L00491D10 mov ecx,esi call SUB_L00491C00 lea esi,[esi+eax*2] jmp L00422767 L00422761: mov [esi],ax add esi,00000002h L00422767: cmp word ptr [edi],0000h jz L00422776 add edi,00000002h cmp word ptr [edi],0000h jnz L00422702 L00422776: mov word ptr [esi],0000h pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0010h ;------------------------------------------------------------------------------ Align 16 SUB_L00422790: push ebp mov ebp,esp sub esp,00000808h push edi mov edi,[ebp+08h] lea eax,[ebp-08h] push 00000004h push eax lea edx,[ebp-04h] mov ecx,edi mov dword ptr [ebp-04h],00000000h call SUB_L00468880 lea ecx,[ebp+08h] lea edx,[ebp-04h] push ecx mov ecx,edi call SUB_L004687E0 mov eax,[L00669668] test eax,eax jz L0042285E push esi lea esi,[ebp-00000808h] sub esi,00000002h L004227D9: add esi,00000002h lea edx,[ebp-04h] push esi mov ecx,edi call SUB_L004687E0 cmp word ptr [esi],0000h jnz L004227D9 mov eax,[ebp+08h] mov edx,[L00669668] and eax,0000FFFFh dec eax cmp eax,00000004h ja L00422838 jmp [CASE_PROCTABLE_00422868+eax*4] CASE_00422868_PROC0004: mov eax,[L004CCD78] mov ecx,eax jmp L00422843 CASE_00422868_PROC0003: mov eax,[L004CCD74] mov ecx,[L004CCD70] jmp L00422843 CASE_00422868_PROC0000: mov eax,[L004CCD6C] mov ecx,[L004CCD68] jmp L00422843 CASE_00422868_PROC0001: mov eax,[L004CCD64] mov ecx,[L004CCD60] jmp L00422843 L00422838: mov eax,[L004CCD5C] mov ecx,[L004CCD58] L00422843: push 00000000h push FFFFFFFFh push FFFFFFFFh push ecx lea ecx,[ebp-00000808h] push eax push ecx mov ecx,[edx+000000BCh] call SUB_L00426260 pop esi L0042285E: pop edi mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_00422868: dd CASE_00422868_PROC0000 dd CASE_00422868_PROC0001 dd CASE_00422868_PROC0000 dd CASE_00422868_PROC0003 dd CASE_00422868_PROC0004 Align 8 SUB_L00422880: push ebp mov ebp,esp push ebx push esi push edi mov edi,[ebp+08h] mov dl,B5h mov ecx,edi call SUB_L004685A0 xor dl,dl mov ecx,edi call SUB_L004685E0 mov esi,[ebp+0Ch] mov ebx,0000001Eh L004228A3: mov dx,[esi] test dx,dx jz L004228B7 mov ecx,edi call SUB_L00468630 add esi,00000002h jmp L004228C0 L004228B7: xor edx,edx mov ecx,edi call SUB_L00468630 L004228C0: dec ebx jnz L004228A3 xor edx,edx mov ecx,edi call SUB_L00468630 pop edi pop esi pop ebx pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L004228E0: push ebp mov ebp,esp push FFFFFFFFh push L004B265A mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push esi mov esi,ecx push edi mov [ebp-10h],esi call SUB_L00441CB0 mov edi,[ebp+18h] xor ebx,ebx mov [esi+000000ECh],ebx mov [esi+000000F0h],ebx mov [esi+000000FCh],ebx mov [esi+00000100h],ebx mov [esi+00000104h],ebx mov [esi+00000108h],ebx mov [esi+00000120h],ebx mov dword ptr [esi],L004B9170 mov ecx,edi mov [ebp-04h],ebx mov [L00669668],esi call SUB_L00491C00 lea eax,[eax+eax+02h] push eax call SUB_L0049A820 add esp,00000004h mov edx,edi mov ecx,eax mov [esi+0000011Ch],eax call SUB_L00491D10 mov ecx,[ebp+08h] mov edx,[ebp+0Ch] mov [esi+60h],ebx mov [esi+4Ch],ebx mov [esi+48h],ebx mov [esi+44h],ebx mov [esi+40h],ebx mov [esi+3Ch],ebx mov [esi+2Ch],ecx mov [esi+30h],edx mov [esi+10h],ebx mov dword ptr [esi+14h],00000002h cmp dword ptr [L004C555C],FFFFFFFFh jnz L004229AE mov dword ptr [esi+000000F8h],000000C8h mov dword ptr [esi+000000F4h],00000078h jmp L004229C5 L004229AE: mov eax,[L004D7E88] mov [esi+000000F8h],eax mov ecx,[L004D7E84] mov [esi+000000F4h],ecx L004229C5: lea eax,[esi+28h] lea edx,[esi+24h] push eax mov ecx,00000A52h call SUB_L004390A0 mov eax,00000001h push SSZ004C5578_ChatGump_framedata mov [esi+20h],eax mov edx,[esi+14h] shl edx,03h push edx mov ecx,L00669C8C mov [esi+18h],eax mov [esi+1Ch],eax call SUB_L0044FBD0 mov ecx,[esi+14h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+38h],edi push SSZ004C5568_ChatGump_frame1 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+28h] imul eax,[esi+24h] lea ecx,[eax+eax+04h] push ecx mov ecx,L00669C8C call SUB_L0044FBD0 mov edx,[esi+38h] mov [edx+0Ch],eax mov ecx,[esi+28h] imul ecx,[esi+24h] mov edx,[esi+38h] xor eax,eax shl ecx,1 mov edi,[edx+0Ch] mov edx,ecx add edi,00000004h shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+38h] mov dx,[esi+24h] mov ecx,[eax+0Ch] mov [ecx],dx mov eax,[esi+38h] mov dx,[esi+28h] mov ecx,[eax+0Ch] mov [ecx+02h],dx mov eax,[esi+28h] mov edx,[esi+38h] mov ecx,[esi+24h] push eax push ecx mov eax,[edx+0Ch] mov edx,00000A52h add eax,00000004h mov ecx,SUB_L00488700 push eax push ebx push ebx call SUB_L00439100 push 00000094h call SUB_L0049A820 add esp,00000004h mov [ebp+18h],eax cmp eax,ebx mov byte ptr [ebp-04h],01h jz L00422AB8 push esi mov ecx,eax call SUB_L00424F50 jmp L00422ABA L00422AB8: xor eax,eax L00422ABA: push 00000094h mov [ebp-04h],bl mov [esi+000000C8h],eax call SUB_L0049A820 add esp,00000004h mov [ebp+18h],eax cmp eax,ebx mov byte ptr [ebp-04h],02h jz L00422AE5 push esi mov ecx,eax call SUB_L00424F50 jmp L00422AE7 L00422AE5: xor eax,eax L00422AE7: push 00000094h mov [ebp-04h],bl mov [esi+000000CCh],eax call SUB_L0049A820 add esp,00000004h mov [ebp+18h],eax cmp eax,ebx mov byte ptr [ebp-04h],03h jz L00422B12 push esi mov ecx,eax call SUB_L00424F50 jmp L00422B14 L00422B12: xor eax,eax L00422B14: push 00000094h mov [ebp-04h],bl mov [esi+000000D0h],eax call SUB_L0049A820 add esp,00000004h mov [ebp+18h],eax cmp eax,ebx mov byte ptr [ebp-04h],04h jz L00422B3F push esi mov ecx,eax call SUB_L00424F50 jmp L00422B41 L00422B3F: xor eax,eax L00422B41: push 00000094h mov [ebp-04h],bl mov [esi+000000D4h],eax call SUB_L0049A820 add esp,00000004h mov [ebp+18h],eax cmp eax,ebx mov byte ptr [ebp-04h],05h jz L00422B6C push esi mov ecx,eax call SUB_L00424F50 jmp L00422B6E L00422B6C: xor eax,eax L00422B6E: push 00000094h mov [ebp-04h],bl mov [esi+000000D8h],eax call SUB_L0049A820 add esp,00000004h mov [ebp+18h],eax cmp eax,ebx mov byte ptr [ebp-04h],06h jz L00422B99 push esi mov ecx,eax call SUB_L00424F50 jmp L00422B9B L00422B99: xor eax,eax L00422B9B: push 00000094h mov [ebp-04h],bl mov [esi+000000DCh],eax call SUB_L0049A820 add esp,00000004h mov [ebp+18h],eax cmp eax,ebx mov byte ptr [ebp-04h],07h jz L00422BC6 push esi mov ecx,eax call SUB_L00424F50 jmp L00422BC8 L00422BC6: xor eax,eax L00422BC8: push 00000094h mov [ebp-04h],bl mov [esi+000000E0h],eax call SUB_L0049A820 add esp,00000004h mov [ebp+18h],eax cmp eax,ebx mov byte ptr [ebp-04h],08h jz L00422BF3 push esi mov ecx,eax call SUB_L00424F50 jmp L00422BF5 L00422BF3: xor eax,eax L00422BF5: push 00000094h mov [ebp-04h],bl mov [esi+000000E4h],eax call SUB_L0049A820 add esp,00000004h mov [ebp+18h],eax cmp eax,ebx mov byte ptr [ebp-04h],09h jz L00422C20 push esi mov ecx,eax call SUB_L00424F50 jmp L00422C22 L00422C20: xor eax,eax L00422C22: push 000000CCh mov [ebp-04h],bl mov [esi+000000E8h],eax call SUB_L0049A820 add esp,00000004h mov [ebp+18h],eax cmp eax,ebx mov byte ptr [ebp-04h],0Ah jz L00422C61 push ebx push 00000A97h push 00000A96h push SUB_L0040D6E0 push ebx push ebx push esi push ebx push ebx mov ecx,eax call SUB_L004122F0 jmp L00422C63 L00422C61: xor eax,eax L00422C63: mov edi,00000001h mov ecx,eax push edi push esi mov [ebp-04h],bl mov [esi+00000094h],eax call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp+18h],eax cmp eax,ebx mov byte ptr [ebp-04h],0Bh jz L00422CB0 push ebx push 00000A95h push 00000A94h push L004068E0 push ebx push ebx push esi push ebx push ebx mov ecx,eax call SUB_L004122F0 jmp L00422CB2 L00422CB0: xor eax,eax L00422CB2: push edi push esi mov ecx,eax mov [ebp-04h],bl mov [esi+000000A0h],eax call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp+18h],eax cmp eax,ebx mov byte ptr [ebp-04h],0Ch jz L00422CFA push ebx push 00000A93h push 00000A92h push L00411A30 push ebx push ebx push esi push ebx push ebx mov ecx,eax call SUB_L004122F0 jmp L00422CFC L00422CFA: xor eax,eax L00422CFC: mov [esi+000000A4h],eax mov [eax+0000009Ch],ebx mov ecx,[esi+000000A4h] push edi push esi mov [ebp-04h],bl mov [ecx+000000ACh],edi mov ecx,[esi+000000A4h] call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp+18h],eax cmp eax,ebx mov byte ptr [ebp-04h],0Dh jz L00422D5A push ebx push 00000A93h push 00000A92h push L00411A30 push ebx push ebx push esi push ebx push ebx mov ecx,eax call SUB_L004122F0 jmp L00422D5C L00422D5A: xor eax,eax L00422D5C: mov [esi+000000A8h],eax mov [eax+0000009Ch],edi mov edx,[esi+000000A8h] push edi push esi mov [ebp-04h],bl mov [edx+000000ACh],edi mov ecx,[esi+000000A8h] call SUB_L004415C0 push 000000A8h call SUB_L0049A820 add esp,00000004h mov [ebp+18h],eax cmp eax,ebx mov byte ptr [ebp-04h],0Eh jz L00422DA6 push esi mov ecx,eax call SUB_L00425AB0 jmp L00422DA8 L00422DA6: xor eax,eax L00422DA8: push 000000A8h mov [ebp-04h],bl mov [esi+000000C0h],eax call SUB_L0049A820 add esp,00000004h mov [ebp+18h],eax cmp eax,ebx mov byte ptr [ebp-04h],0Fh jz L00422DD3 push esi mov ecx,eax call SUB_L00425AB0 jmp L00422DD5 L00422DD3: xor eax,eax L00422DD5: push 000000C0h mov [ebp-04h],bl mov [esi+000000C4h],eax call SUB_L0049A820 add esp,00000004h mov [ebp+18h],eax cmp eax,ebx mov byte ptr [ebp-04h],10h jz L00422E0B mov ecx,[L004CCD7C] push ecx push ebx push edi push ebx push ebx push esi mov ecx,eax call SUB_L00425F90 jmp L00422E0D L00422E0B: xor eax,eax L00422E0D: push 000000C0h mov [ebp-04h],bl mov [esi+000000ACh],eax call SUB_L0049A820 add esp,00000004h mov [ebp+18h],eax cmp eax,ebx mov byte ptr [ebp-04h],11h jz L00422E43 mov edx,[L004CCD80] mov ecx,eax push edx push edi push edi push ebx push ebx push esi call SUB_L00425F90 jmp L00422E45 L00422E43: xor eax,eax L00422E45: push 000000C0h mov [ebp-04h],bl mov [esi+000000B0h],eax call SUB_L0049A820 add esp,00000004h mov [ebp+18h],eax cmp eax,ebx mov byte ptr [ebp-04h],12h jz L00422E82 mov ecx,[L0073EC40] mov edx,[L004C5558] push ecx push 00000002h push edx push ebx push edi push esi mov ecx,eax call SUB_L00425F90 jmp L00422E84 L00422E82: xor eax,eax L00422E84: push 000000C0h mov [ebp-04h],bl mov [esi+000000BCh],eax call SUB_L0049A820 add esp,00000004h mov [ebp+18h],eax cmp eax,ebx mov byte ptr [ebp-04h],13h jz L00422EBC mov ecx,[L0073EC44] push ecx push 00000003h push 0000000Ch push ebx push edi push esi mov ecx,eax call SUB_L00425F90 jmp L00422EBE L00422EBC: xor eax,eax L00422EBE: push 000000C0h mov [ebp-04h],bl mov [esi+000000B4h],eax call SUB_L0049A820 add esp,00000004h mov [ebp+18h],eax cmp eax,ebx mov byte ptr [ebp-04h],14h jz L00422EF9 mov edx,[L0073EC48] mov ecx,eax push edx push 00000004h push 00000BB8h push edi push ebx push esi call SUB_L00425F90 jmp L00422EFB L00422EF9: xor eax,eax L00422EFB: push 00000008h mov [ebp-04h],bl mov [esi+000000B8h],eax mov [esi+00000110h],edi call SUB_L0049A820 add esp,00000004h xor edx,edx mov ecx,SSZ004C5560_chat mov [esi+0000010Ch],eax push 00000001h push ebx push ebx xor edi,edi call SUB_L0044B850 cmp eax,ebx jz L00422F45 push ebx mov ecx,eax call SUB_L0044C840 cmp eax,ebx jz L00422F45 mov ecx,eax call SUB_L00493EC0 mov edi,eax L00422F45: mov ecx,edi call SUB_L00491D30 mov ecx,[esi+0000010Ch] mov [ecx],eax mov edx,[esi+0000010Ch] mov ecx,esi mov [edx+04h],ebx call SUB_L004233A0 push 00000001h push ebx push ebx xor edx,edx mov ecx,SSZ004C5560_chat xor edi,edi call SUB_L0044B850 cmp eax,ebx jz L00422F90 push 00000059h mov ecx,eax call SUB_L0044C840 cmp eax,ebx jz L00422F90 mov ecx,eax call SUB_L00493EC0 mov edi,eax L00422F90: mov eax,[L004CCD78] mov ecx,[esi+000000BCh] push ebx push FFFFFFFFh push FFFFFFFFh push ebx push eax push edi call SUB_L00426260 mov ecx,[L004CCD50] push ebx push FFFFFFFFh push FFFFFFFFh push ebx push ecx mov ecx,[esi+000000B4h] push L007B7D28 call SUB_L00426260 push 00000001h push ebx push ebx xor edx,edx mov ecx,SSZ004C5560_chat xor edi,edi call SUB_L0044B850 cmp eax,ebx jz L00422FF1 push 00000001h mov ecx,eax call SUB_L0044C840 cmp eax,ebx jz L00422FF1 mov ecx,eax call SUB_L00493EC0 mov edi,eax L00422FF1: mov edx,[L004CCD54] mov ecx,[esi+000000ACh] push ebx push FFFFFFFFh push FFFFFFFFh push ebx push edx push edi call SUB_L00426260 push 00000001h push ebx push ebx xor edx,edx mov ecx,SSZ004C5560_chat xor edi,edi call SUB_L0044B850 cmp eax,ebx jz L00423036 push 00000002h mov ecx,eax call SUB_L0044C840 cmp eax,ebx jz L00423036 mov ecx,eax call SUB_L00493EC0 mov edi,eax L00423036: mov eax,[L004CCD54] mov ecx,[esi+000000B0h] push ebx push FFFFFFFFh push FFFFFFFFh push ebx push eax push edi call SUB_L00426260 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp+18h],eax cmp eax,ebx mov byte ptr [ebp-04h],15h jz L00423084 push ebx push 00000A8Fh push 00000A8Fh push L004118C0 push ebx push ebx push esi push ebx push ebx mov ecx,eax call SUB_L004122F0 jmp L00423086 L00423084: xor eax,eax L00423086: push 00000001h push esi mov ecx,eax mov [ebp-04h],bl mov [esi+00000098h],eax call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp+18h],eax cmp eax,ebx mov byte ptr [ebp-04h],16h jz L004230CF push ebx push 00000A8Fh push 00000A8Fh push L00411970 push ebx push ebx push esi push ebx push ebx mov ecx,eax call SUB_L004122F0 jmp L004230D1 L004230CF: xor eax,eax L004230D1: push 00000001h push esi mov ecx,eax mov [ebp-04h],bl mov [esi+0000009Ch],eax call SUB_L004415C0 mov ecx,[ebp+14h] mov eax,[ebp+10h] mov [esi+20h],ecx mov ecx,esi mov [esi+18h],eax mov [esi+1Ch],eax call SUB_L00423850 mov ecx,esi call SUB_L00423A10 push 00000001h push ebx mov ecx,esi call SUB_L004415C0 mov ecx,[ebp-0Ch] mov eax,esi pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0014h ;------------------------------------------------------------------------------ L00423120: push ebp mov ebp,esp push esi mov esi,ecx call SUB_L00423150 test byte ptr [ebp+08h],01h jz L0042313A push esi call SUB_L0049A810 add esp,00000004h L0042313A: mov eax,esi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00423150: push ebp mov ebp,esp mov eax,fs:[00000000h] push FFFFFFFFh push L004B2678 push eax mov eax,0000200Ch mov fs:[00000000h],esp call SUB_L0049ACF0 push ebx push esi mov esi,ecx push edi mov [ebp-10h],esi mov dword ptr [esi],L004B9170 xor ebx,ebx mov [L00669668],ebx mov eax,[esi+00000110h] cmp eax,ebx mov [ebp-04h],ebx jz L004231CB xor edi,edi cmp eax,ebx jle L004231BC L0042319B: mov eax,[esi+0000010Ch] mov eax,[eax+edi*4] cmp eax,ebx jz L004231B1 push eax call SUB_L0049A810 add esp,00000004h L004231B1: mov eax,[esi+00000110h] inc edi cmp edi,eax jl L0042319B L004231BC: mov ecx,[esi+0000010Ch] push ecx call SUB_L0049A810 add esp,00000004h L004231CB: mov eax,[esi+00000118h] cmp eax,ebx jz L0042320B xor edi,edi cmp eax,ebx jle L004231FC L004231DB: mov edx,[esi+00000114h] mov eax,[edx+edi*4] cmp eax,ebx jz L004231F1 push eax call SUB_L0049A810 add esp,00000004h L004231F1: mov eax,[esi+00000118h] inc edi cmp edi,eax jl L004231DB L004231FC: mov eax,[esi+00000114h] push eax call SUB_L0049A810 add esp,00000004h L0042320B: cmp [L005492A0],ebx jz L00423281 cmp [L006BB1CC],ebx jz L00423281 mov dl,B3h lea ecx,[ebp-00002018h] mov edi,L004D0588 call SUB_L004685A0 push 00000004h mov edx,L005492F4 lea ecx,[ebp-00002018h] call SUB_L00468720 mov dx,[L004D0588] cmp dx,bx jz L00423262 L0042324B: lea ecx,[ebp-00002018h] call SUB_L00468630 mov dx,[edi+02h] add edi,00000002h cmp dx,bx jnz L0042324B L00423262: xor edx,edx lea ecx,[ebp-00002018h] call SUB_L00468630 lea ecx,[ebp-00002018h] push ecx mov ecx,[L006BB1CC] call SUB_L0048B170 L00423281: mov ecx,[esi+44h] cmp ecx,ebx jz L00423295 L00423288: mov edx,[ecx] push 00000001h call [edx] mov ecx,[esi+44h] cmp ecx,ebx jnz L00423288 L00423295: mov eax,[esi+38h] mov eax,[eax+0Ch] cmp eax,ebx jz L004232B5 push SSZ004C5568_ChatGump_frame1 push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov ecx,[esi+38h] mov [ecx+0Ch],ebx L004232B5: mov eax,[esi+38h] cmp eax,ebx jz L004232CF push SSZ004C5578_ChatGump_framedata push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov [esi+38h],ebx L004232CF: mov eax,[esi+0000011Ch] cmp eax,ebx jz L004232E8 push eax call SUB_L0049A810 add esp,00000004h mov [esi+0000011Ch],ebx L004232E8: mov ecx,esi mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00441D50 mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L00423310: push ebp mov ebp,esp mov eax,[ebp+0Ch] push esi dec eax cmp eax,00000004h ja L00423354 jmp [CASE_PROCTABLE_00423384+eax*4] CASE_00423384_PROC0004: mov eax,[L004CCD78] mov edx,eax jmp L0042335F CASE_00423384_PROC0003: mov eax,[L004CCD74] mov edx,[L004CCD70] jmp L0042335F CASE_00423384_PROC0000: mov eax,[L004CCD6C] mov edx,[L004CCD68] jmp L0042335F CASE_00423384_PROC0001: mov eax,[L004CCD64] mov edx,[L004CCD60] jmp L0042335F L00423354: mov eax,[L004CCD5C] mov edx,[L004CCD58] L0042335F: mov esi,[ebp+18h] mov ecx,[ecx+000000BCh] push esi mov esi,[ebp+14h] push esi mov esi,[ebp+10h] push esi push edx mov edx,[ebp+08h] push eax push edx call SUB_L00426260 pop esi pop ebp retn 0014h ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_00423384: dd CASE_00423384_PROC0000 dd CASE_00423384_PROC0001 dd CASE_00423384_PROC0000 dd CASE_00423384_PROC0003 dd CASE_00423384_PROC0004 Align 16 SUB_L004233A0: push esi mov esi,ecx push edi push 00000050h mov dword ptr [esi+00000118h],0000000Ah call SUB_L0049A820 add esp,00000004h xor edi,edi xor edx,edx mov ecx,SSZ004C5560_chat push 00000001h push edi push edi mov [esi+00000114h],eax call SUB_L0044B850 test eax,eax jz L004233EA push 00000003h mov ecx,eax call SUB_L0044C840 test eax,eax jz L004233EA mov ecx,eax call SUB_L00493EC0 mov edi,eax L004233EA: mov ecx,edi call SUB_L00491D30 mov ecx,[esi+00000114h] xor edi,edi push 00000001h push edi mov [ecx],eax push edi xor edx,edx mov ecx,SSZ004C5560_chat call SUB_L0044B850 test eax,eax jz L00423425 push 00000040h mov ecx,eax call SUB_L0044C840 test eax,eax jz L00423425 mov ecx,eax call SUB_L00493EC0 mov edi,eax L00423425: mov ecx,edi call SUB_L00491D30 mov edx,[esi+00000114h] xor edi,edi push 00000001h push edi mov [edx+04h],eax push edi xor edx,edx mov ecx,SSZ004C5560_chat call SUB_L0044B850 test eax,eax jz L00423461 push 00000004h mov ecx,eax call SUB_L0044C840 test eax,eax jz L00423461 mov ecx,eax call SUB_L00493EC0 mov edi,eax L00423461: mov ecx,edi call SUB_L00491D30 mov ecx,[esi+00000114h] xor edi,edi push 00000001h push edi mov [ecx+08h],eax push edi xor edx,edx mov ecx,SSZ004C5560_chat call SUB_L0044B850 test eax,eax jz L0042349D push 00000043h mov ecx,eax call SUB_L0044C840 test eax,eax jz L0042349D mov ecx,eax call SUB_L00493EC0 mov edi,eax L0042349D: mov ecx,edi call SUB_L00491D30 mov edx,[esi+00000114h] xor edi,edi push 00000001h push edi mov [edx+0Ch],eax push edi xor edx,edx mov ecx,SSZ004C5560_chat call SUB_L0044B850 test eax,eax jz L004234D9 push 00000005h mov ecx,eax call SUB_L0044C840 test eax,eax jz L004234D9 mov ecx,eax call SUB_L00493EC0 mov edi,eax L004234D9: mov ecx,edi call SUB_L00491D30 mov ecx,[esi+00000114h] xor edi,edi push 00000001h push edi mov [ecx+10h],eax push edi xor edx,edx mov ecx,SSZ004C5560_chat call SUB_L0044B850 test eax,eax jz L00423515 push 00000050h mov ecx,eax call SUB_L0044C840 test eax,eax jz L00423515 mov ecx,eax call SUB_L00493EC0 mov edi,eax L00423515: mov ecx,edi call SUB_L00491D30 mov edx,[esi+00000114h] xor edi,edi push 00000001h push edi mov [edx+14h],eax push edi xor edx,edx mov ecx,SSZ004C5560_chat call SUB_L0044B850 test eax,eax jz L00423551 push 00000006h mov ecx,eax call SUB_L0044C840 test eax,eax jz L00423551 mov ecx,eax call SUB_L00493EC0 mov edi,eax L00423551: mov ecx,edi call SUB_L00491D30 mov ecx,[esi+00000114h] xor edi,edi push 00000001h push edi mov [ecx+18h],eax push edi xor edx,edx mov ecx,SSZ004C5560_chat call SUB_L0044B850 test eax,eax jz L0042358D push 0000004Fh mov ecx,eax call SUB_L0044C840 test eax,eax jz L0042358D mov ecx,eax call SUB_L00493EC0 mov edi,eax L0042358D: mov ecx,edi call SUB_L00491D30 mov edx,[esi+00000114h] xor edi,edi push 00000001h push edi mov [edx+1Ch],eax push edi xor edx,edx mov ecx,SSZ004C5560_chat call SUB_L0044B850 test eax,eax jz L004235C9 push 00000007h mov ecx,eax call SUB_L0044C840 test eax,eax jz L004235C9 mov ecx,eax call SUB_L00493EC0 mov edi,eax L004235C9: mov ecx,edi call SUB_L00491D30 mov ecx,[esi+00000114h] xor edi,edi push 00000001h push edi mov [ecx+20h],eax push edi xor edx,edx mov ecx,SSZ004C5560_chat call SUB_L0044B850 test eax,eax jz L00423605 push 0000004Ch mov ecx,eax call SUB_L0044C840 test eax,eax jz L00423605 mov ecx,eax call SUB_L00493EC0 mov edi,eax L00423605: mov ecx,edi call SUB_L00491D30 mov edx,[esi+00000114h] xor edi,edi push 00000001h push edi mov [edx+24h],eax push edi xor edx,edx mov ecx,SSZ004C5560_chat call SUB_L0044B850 test eax,eax jz L00423641 push 00000009h mov ecx,eax call SUB_L0044C840 test eax,eax jz L00423641 mov ecx,eax call SUB_L00493EC0 mov edi,eax L00423641: mov ecx,edi call SUB_L00491D30 mov ecx,[esi+00000114h] mov [ecx+28h],eax mov ecx,00000044h call SUB_L00421DF0 mov ecx,eax call SUB_L00491D30 mov edx,[esi+00000114h] mov ecx,0000000Ah mov [edx+2Ch],eax call SUB_L00421DF0 mov ecx,eax call SUB_L00491D30 mov ecx,[esi+00000114h] mov [ecx+30h],eax mov ecx,00000045h call SUB_L00421DF0 mov ecx,eax call SUB_L00491D30 mov edx,[esi+00000114h] mov ecx,0000000Bh mov [edx+34h],eax call SUB_L00421DF0 mov ecx,eax call SUB_L00491D30 mov ecx,[esi+00000114h] mov [ecx+38h],eax mov ecx,00000047h call SUB_L00421DF0 mov ecx,eax call SUB_L00491D30 mov edx,[esi+00000114h] mov ecx,0000000Ch mov [edx+3Ch],eax call SUB_L00421DF0 mov ecx,eax call SUB_L00491D30 mov ecx,[esi+00000114h] mov [ecx+40h],eax mov ecx,00000048h call SUB_L00421DF0 mov ecx,eax call SUB_L00491D30 mov edx,[esi+00000114h] mov ecx,0000000Eh mov [edx+44h],eax call SUB_L00421DF0 mov ecx,eax call SUB_L00491D30 mov ecx,[esi+00000114h] mov [ecx+48h],eax mov ecx,00000051h call SUB_L00421DF0 mov ecx,eax call SUB_L00491D30 mov edx,[esi+00000114h] pop edi pop esi mov [edx+4Ch],eax retn ;------------------------------------------------------------------------------ Align 4 L00423740: push ebp mov ebp,esp mov eax,[ebp+10h] cmp eax,00000002h jnz L00423762 mov eax,[ebp+0Ch] mov edx,[ebp+08h] mov ecx,[ecx+000000C0h] push eax push edx call SUB_L00425F20 pop ebp retn 000Ch ;------------------------------------------------------------------------------ L00423762: cmp eax,00000004h jnz L0042377A mov eax,[ebp+0Ch] mov edx,[ebp+08h] mov ecx,[ecx+000000C4h] push eax push edx call SUB_L00425F20 L0042377A: pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 4 L00423780: push ebp mov ebp,esp mov eax,[ebp+10h] mov edx,[ecx+000000C0h] cmp eax,edx jnz L004237A7 mov eax,[ebp+0Ch] mov edx,[ebp+08h] mov ecx,[ecx+000000BCh] push eax push edx call SUB_L00426620 pop ebp retn 000Ch ;------------------------------------------------------------------------------ L004237A7: cmp eax,[ecx+000000C4h] jnz L004237C2 mov eax,[ebp+0Ch] mov edx,[ebp+08h] mov ecx,[ecx+000000B8h] push eax push edx call SUB_L00426620 L004237C2: pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 16 L004237D0: push ebp mov ebp,esp mov eax,[ebp+0Ch] mov edx,[ecx+000000C0h] cmp eax,edx jnz L004237F3 mov eax,[ebp+08h] mov ecx,[ecx+000000BCh] push eax call SUB_L00426650 pop ebp retn 0008h ;------------------------------------------------------------------------------ L004237F3: cmp eax,[ecx+000000C4h] jnz L0042380A mov edx,[ebp+08h] mov ecx,[ecx+000000B8h] push edx call SUB_L00426650 L0042380A: pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 4 SUB_L00423810: mov eax,[ecx+1Ch] mov edx,[ecx+000000F8h] sub eax,edx cmp eax,00000022h jg L00423825 mov eax,00000022h L00423825: retn ;------------------------------------------------------------------------------ Align 16 SUB_L00423830: mov eax,[ecx+20h] mov edx,[ecx+000000F4h] sub eax,edx cmp eax,0000005Ah jg L00423845 mov eax,0000005Ah L00423845: retn ;------------------------------------------------------------------------------ Align 16 SUB_L00423850: push ebp mov ebp,esp sub esp,00000018h push esi mov esi,ecx lea eax,[ebp-04h] push edi push eax lea edx,[ebp-10h] mov ecx,00000A8Ch call SUB_L004390A0 lea ecx,[ebp-14h] lea edx,[ebp-08h] push ecx mov ecx,00000A8Dh call SUB_L004390A0 lea edx,[ebp-0Ch] mov ecx,00000A92h push edx lea edx,[ebp-18h] call SUB_L004390A0 mov eax,[esi+1Ch] mov ecx,[esi+000000C8h] push eax push 00000000h push 00000000h push 00000A8Ch push 00000000h call SUB_L00425130 mov edx,[esi+20h] mov eax,[ebp-04h] mov ecx,[esi+1Ch] sub edx,eax push ecx mov ecx,[esi+000000CCh] push edx push 00000000h push 00000A8Ch push 00000000h call SUB_L00425130 mov eax,[ebp-08h] mov edx,[esi+1Ch] lea ecx,[eax+eax] sub edx,ecx mov ecx,[ebp-04h] push edx mov edx,[ebp-0Ch] add edx,ecx mov ecx,[esi+000000D0h] push edx push eax push 00000A8Ch push 00000000h call SUB_L00425130 mov eax,[esi+1Ch] mov edx,[esi+000000F8h] sub eax,edx cmp eax,00000022h jg L00423905 mov eax,00000022h L00423905: mov edx,[esi+20h] mov edi,[esi+000000F4h] sub edx,edi cmp edx,0000005Ah jg L0042391A mov edx,0000005Ah L0042391A: mov ecx,[ebp-08h] sub eax,ecx push eax push edx push ecx mov ecx,[esi+000000D4h] push 00000A8Ch push 00000000h call SUB_L00425130 mov eax,[ebp-04h] mov edx,[esi+20h] lea ecx,[eax+eax] sub edx,ecx mov ecx,[esi+000000D8h] push edx push eax push 00000000h push 00000A8Dh push 00000001h call SUB_L00425130 mov eax,[ebp-04h] mov edx,[esi+20h] lea ecx,[eax+eax] sub edx,ecx mov ecx,[esi+000000DCh] push edx mov edx,[ebp-08h] push eax mov eax,[esi+1Ch] sub eax,edx push eax push 00000A8Dh push 00000001h call SUB_L00425130 mov eax,[esi+1Ch] mov edx,[esi+000000F8h] sub eax,edx cmp eax,00000022h jg L00423992 mov eax,00000022h L00423992: mov ecx,[ebp-04h] mov edi,[esi+20h] lea edx,[ecx+ecx] sub edi,edx push edi push ecx mov ecx,[esi+000000E0h] push eax push 00000A8Dh push 00000001h call SUB_L00425130 mov eax,[ebp-0Ch] mov ecx,[ebp-04h] mov edx,[ebp-08h] push eax push ecx mov ecx,[esi+000000E4h] push edx push 00000A98h push 00000001h call SUB_L00425130 mov eax,[esi+1Ch] mov edx,[esi+000000F8h] sub eax,edx cmp eax,00000022h jg L004239E5 mov eax,00000022h L004239E5: mov ecx,[ebp-0Ch] mov edx,[ebp-04h] push ecx mov ecx,[ebp-08h] add eax,ecx mov ecx,[esi+000000E8h] push edx push eax push 00000A98h push 00000001h call SUB_L00425130 pop edi pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 SUB_L00423A10: push ebp mov ebp,esp sub esp,00000020h push ebx push esi mov esi,ecx lea eax,[ebp-04h] push edi push eax lea edx,[ebp-1Ch] mov ecx,00000A8Ch call SUB_L004390A0 lea ecx,[ebp-20h] lea edx,[ebp-08h] push ecx mov ecx,00000A8Dh call SUB_L004390A0 lea edx,[ebp-0Ch] mov ecx,00000A92h push edx lea edx,[ebp-10h] call SUB_L004390A0 mov eax,[esi+00000098h] mov ecx,[esi+1Ch] mov edx,[ebp-08h] sub ecx,[eax+1Ch] sub ecx,edx mov [eax+2Ch],ecx mov eax,[esi+00000098h] mov edx,[esi+20h] mov edi,[ebp-04h] sub edx,[eax+20h] sub edx,edi mov [eax+30h],edx mov eax,[esi+1Ch] sub eax,[esi+000000F8h] cmp eax,00000022h jg L00423A89 mov eax,00000022h L00423A89: mov ecx,[esi+0000009Ch] sub eax,[ecx+1Ch] mov [ecx+2Ch],eax mov eax,[esi+20h] sub eax,[esi+000000F4h] cmp eax,0000005Ah jg L00423AA8 mov eax,0000005Ah L00423AA8: mov ecx,[esi+0000009Ch] sub eax,[ecx+20h] mov [ecx+30h],eax mov eax,[esi+000000A0h] mov ecx,[esi+1Ch] mov ebx,[ebp-08h] sub ecx,[eax+1Ch] sub ecx,ebx mov [eax+2Ch],ecx mov edx,[esi+000000A0h] mov eax,[ebp-04h] mov [edx+30h],eax mov ecx,[esi+000000A0h] mov eax,[esi+00000094h] mov edx,[esi+1Ch] mov edi,[ecx+1Ch] mov ebx,[eax+1Ch] sub edx,edi mov edi,[ebp-08h] sub edx,ebx sub edx,edi mov [eax+2Ch],edx mov eax,[esi+00000094h] mov ecx,[ebp-04h] mov [eax+30h],ecx mov edx,[ebp-08h] mov eax,[esi+000000A4h] add edx,00000002h mov [eax+2Ch],edx mov ecx,[esi+000000A4h] mov edx,[ebp-04h] mov [ecx+30h],edx mov eax,[esi+1Ch] sub eax,[esi+000000F8h] cmp eax,00000022h jg L00423B2F mov eax,00000022h L00423B2F: mov ecx,[ebp-08h] lea edx,[eax+ecx+02h] mov eax,[esi+000000A8h] mov [eax+2Ch],edx mov ecx,[esi+000000A8h] mov edx,[ebp-04h] mov [ecx+30h],edx mov eax,[esi+20h] sub eax,[esi+000000F4h] cmp eax,0000005Ah jg L00423B5E mov eax,0000005Ah L00423B5E: mov ecx,[ebp-04h] mov edx,[ebp-0Ch] add ecx,ecx sub eax,edx sub eax,ecx add edx,ecx mov ecx,[esi+000000C0h] push eax push edx mov edx,[ebp-08h] push edx call SUB_L00425DB0 mov eax,[esi+1Ch] mov edx,[esi+000000F8h] sub eax,edx cmp eax,00000022h jg L00423B92 mov eax,00000022h L00423B92: mov ecx,[ebp-04h] mov edi,[esi+20h] lea edx,[ecx+ecx*2] sub edi,edx mov edx,[ebp-0Ch] sub edi,edx lea ecx,[edx+ecx*2] mov edx,[ebp-08h] push edi add eax,edx push ecx mov ecx,[esi+000000C4h] push eax call SUB_L00425DB0 mov eax,[esi+1Ch] mov edx,[esi+000000F8h] sub eax,edx cmp eax,00000022h jg L00423BCD mov eax,00000022h L00423BCD: mov ecx,[ebp-0Ch] mov edx,[ebp-10h] push ecx mov ecx,[ebp-08h] sub eax,ecx sub eax,edx lea ecx,[edx+ecx+02h] sub eax,00000002h push eax mov eax,[ebp-04h] push eax push ecx mov ecx,[esi+000000ACh] call SUB_L004261E0 mov eax,[esi+1Ch] mov edi,[esi+000000F8h] mov ecx,eax sub ecx,edi cmp ecx,00000022h mov edi,ecx jg L00423C0C mov edi,00000022h L00423C0C: cmp ecx,00000022h jg L00423C16 mov ecx,00000022h L00423C16: mov edx,[ebp-0Ch] push edx mov edx,[ebp-08h] lea ebx,[edx+edx+02h] sub eax,ebx mov ebx,[esi+000000A0h] sub eax,[ebx+1Ch] mov ebx,[esi+00000094h] sub eax,[ebx+1Ch] sub eax,edi mov edi,[ebp-10h] sub eax,edi add ecx,edi push eax mov eax,[ebp-04h] lea ecx,[ecx+edx+02h] push eax push ecx mov ecx,[esi+000000B0h] call SUB_L004261E0 mov ecx,[esi+20h] mov edx,[esi+000000F4h] sub ecx,edx cmp ecx,0000005Ah jg L00423C68 mov ecx,0000005Ah L00423C68: mov eax,[esi+1Ch] mov edi,[esi+000000F8h] sub eax,edi cmp eax,00000022h jg L00423C7D mov eax,00000022h L00423C7D: mov edx,[ebp-04h] mov edi,[ebp-0Ch] mov ebx,[ebp-10h] add edx,edx sub ecx,edi add edi,edx sub ecx,edx push ecx mov ecx,[ebp-08h] sub eax,ecx sub eax,ebx sub eax,00000002h push eax lea eax,[ebx+ecx+02h] mov ecx,[esi+000000BCh] push edi push eax call SUB_L004261E0 mov eax,[esi+20h] mov edi,[esi+000000F4h] mov ecx,eax sub ecx,edi cmp ecx,0000005Ah mov [ebp-14h],ecx jg L00423CC7 mov dword ptr [ebp-14h],0000005Ah L00423CC7: mov edx,[esi+1Ch] mov ebx,[esi+000000F8h] sub edx,ebx cmp edx,00000022h jg L00423CDC mov edx,00000022h L00423CDC: cmp ecx,0000005Ah jg L00423CE6 mov ecx,0000005Ah L00423CE6: mov edi,[ebp-04h] add ecx,edi lea ebx,[edi+edi] sub eax,ebx mov ebx,[ebp-14h] sub eax,ebx push eax mov eax,[ebp-08h] sub edx,eax push edx push ecx mov ecx,[esi+000000B4h] push eax call SUB_L004261E0 mov eax,[esi+1Ch] mov ebx,[esi+000000F8h] mov ecx,eax mov edx,00000022h sub ecx,ebx cmp ecx,edx mov [ebp-14h],ecx jg L00423D25 mov [ebp-14h],edx L00423D25: cmp ecx,edx mov [ebp-18h],ecx jg L00423D2F mov [ebp-18h],edx L00423D2F: mov edx,[ebp-04h] mov ebx,[esi+20h] mov edi,[ebp-0Ch] lea ecx,[edx+edx*2] sub ebx,ecx mov ecx,[ebp-08h] sub ebx,edi lea edx,[edi+edx*2] push ebx lea ebx,[ecx+ecx+02h] sub eax,ebx mov ebx,[ebp-14h] sub eax,ebx mov ebx,[ebp-10h] sub eax,ebx push eax mov eax,[ebp-18h] add eax,ebx push edx lea ecx,[eax+ecx+02h] push ecx mov ecx,[esi+000000B8h] call SUB_L004261E0 mov ecx,[esi+000000B8h] push 00000000h call SUB_L004265E0 mov eax,[esi+000000F0h] test eax,eax jz L00423D9C mov ecx,[esi+1Ch] mov edi,[esi+000000F8h] sub ecx,edi cmp ecx,00000022h jg L00423D99 mov ecx,00000022h L00423D99: mov [eax+2Ch],ecx L00423D9C: pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 L00423DB0: push ebp mov ebp,esp mov eax,[L0066962C] push esi mov esi,ecx cmp eax,esi jnz L00423DC3 push 00000001h jmp L00423DC5 L00423DC3: push 00000000h L00423DC5: mov ecx,esi call SUB_L00441340 mov eax,[ebp+08h] mov ecx,[ebp+0Ch] mov [esi+6Ch],eax mov eax,[esi+60h] test eax,eax mov dword ptr [esi+000000FCh],00000001h mov [esi+70h],ecx jz L00423E17 cmp dword ptr [esi+00000100h],00000001h jnz L00423E01 mov dword ptr [esi+00000100h],00000002h pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ L00423E01: mov dword ptr [esi+00000100h],00000001h call [KERNEL32.dll!GetTickCount] mov [esi+00000104h],eax L00423E17: pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 8 L00423E20: push ebp mov ebp,esp push ebx push esi mov esi,ecx xor ebx,ebx push edi mov eax,[esi+00000108h] mov [esi+000000FCh],ebx cmp eax,ebx jz L00423E48 mov [esi+00000108h],ebx mov [esi+00000100h],ebx jmp L00423E8E L00423E48: cmp dword ptr [esi+00000100h],00000002h jnz L00423E8E mov eax,[esi+60h] mov [esi+00000100h],ebx cmp eax,ebx jz L00423E97 mov ecx,esi call SUB_L0040D760 mov eax,[esi+28h] mov edx,[esi+38h] mov ecx,[esi+24h] mov [esi+00000120h],ebx push eax mov eax,[edx+0Ch] add eax,00000004h push ecx push eax push ebx push ebx mov edx,00000A52h mov ecx,SUB_L00488700 call SUB_L00439100 L00423E8E: cmp [esi+60h],ebx jnz L00423F62 L00423E97: mov eax,[esi+000000ACh] mov edx,[ebp+08h] mov edi,[ebp+0Ch] mov ecx,[eax+2Ch] cmp edx,ecx jl L00423ED1 mov ebx,[eax+1Ch] add ebx,ecx cmp edx,ebx jge L00423ECF mov ecx,[eax+30h] cmp edi,ecx jl L00423ECF mov eax,[eax+20h] add eax,ecx cmp edi,eax jge L00423ECF mov edx,[esi] xor ebx,ebx push ebx mov ecx,esi call [edx+70h] jmp L00423F26 L00423ECF: xor ebx,ebx L00423ED1: mov eax,[esi+000000B0h] mov ecx,[eax+2Ch] cmp edx,ecx jl L00423F06 mov ebx,[eax+1Ch] add ebx,ecx cmp edx,ebx jge L00423F04 mov ecx,[eax+30h] cmp edi,ecx jl L00423F04 mov eax,[eax+20h] add eax,ecx cmp edi,eax jge L00423F04 mov edx,[esi] push 00000001h mov ecx,esi call [edx+70h] xor ebx,ebx jmp L00423F26 L00423F04: xor ebx,ebx L00423F06: mov ecx,L00669608 call SUB_L0043FDA0 push esi mov ecx,L00669608 call SUB_L0043FF10 mov ecx,[esi+000000B4h] call SUB_L00426D70 L00423F26: mov ecx,[esi+000000BCh] push ebx call SUB_L00426C30 mov edi,eax cmp edi,ebx jz L00423F62 cmp [L004C79D0],bl jz L00423F62 lea ecx,[edi+20h] call SUB_L0044CEC0 test al,al jz L00423F62 mov eax,[esi+000000BCh] mov edx,[edi] push ebx push eax push L00427330 xor ecx,ecx call SUB_L0044CF50 L00423F62: pop edi mov [L006A9DD4],ebx pop esi pop ebx pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 4 L00423F70: push ebx push esi mov esi,ecx cmp dword ptr [esi+00000100h],00000001h jnz L00423FB5 call [KERNEL32.dll!GetTickCount] mov edx,[esi+00000104h] mov ebx,eax sub ebx,edx call [USER32.dll!GetDoubleClickTime] cmp ebx,eax jbe L00423FB5 mov eax,[esi+000000FCh] mov dword ptr [esi+00000100h],00000000h test eax,eax jz L00423FB5 mov dword ptr [esi+00000108h],00000001h L00423FB5: pop esi pop ebx retn ;------------------------------------------------------------------------------ Align 16 L00423FC0: push ebp mov ebp,esp sub esp,00000008h mov edx,[ebp+08h] push ebx push esi push edi mov edi,ecx mov ecx,[ebp+0Ch] mov eax,[edi] push ecx push edx mov ecx,edi call [eax+10h] test eax,eax jnz L00423FE7 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ L00423FE7: mov eax,[edi+60h] test eax,eax jnz L0042406C lea eax,[ebp+0Ch] lea ecx,[ebp+08h] push eax push ecx mov ecx,edi call SUB_L00440C60 mov esi,[edi+44h] test esi,esi jz L0042406C mov ebx,[ebp+10h] L00424007: mov eax,[esi+68h] test eax,eax jz L00424040 mov edx,[ebp+08h] mov eax,[ebp+0Ch] mov [ebp-08h],edx lea ecx,[ebp-04h] lea edx,[ebp-08h] push ecx push edx mov ecx,esi mov [ebp-04h],eax call SUB_L00440CD0 cmp esi,ebx jz L00424040 mov ecx,[ebp-04h] mov edx,[ebp-08h] mov eax,[esi] push ecx push edx mov ecx,esi call [eax+10h] test eax,eax jnz L00424052 L00424040: mov esi,[esi+3Ch] test esi,esi jnz L00424007 mov eax,edi pop edi pop esi pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ L00424052: mov ecx,[ebp-04h] mov edx,[ebp-08h] mov eax,[esi] push 00000000h push ecx push edx mov ecx,esi call [eax+04h] pop edi pop esi pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ L0042406C: mov eax,edi pop edi pop esi pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 16 L00424080: db 8Bh; '<' db 89h; '%' db B4h; '?' db 00h; db 00h; db 00h; db 8Bh; '<' db 01h; db FFh; 'ï' db A0h; 'ÿ' db 60h; '`' db 01h; db 00h; db 00h; db 90h; '?' db 90h; '?' L00424090: push ebp mov ebp,esp mov ecx,[ecx+000000B4h] mov edx,[ebp+08h] push edx mov eax,[ecx] call [eax+44h] pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L004240B0: push ebp mov ebp,esp mov eax,[ebp+08h] mov edx,[ecx+000000ECh] cmp edx,eax jnz L004240CE mov dword ptr [ecx+000000ECh],00000000h pop ebp retn 0004h ;------------------------------------------------------------------------------ L004240CE: cmp [ecx+000000F0h],eax jnz L004240E0 mov dword ptr [ecx+000000F0h],00000000h L004240E0: pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 L004240F0: push ebp mov ebp,esp push FFFFFFFFh push L004B26A6 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000010h push esi mov esi,ecx lea eax,[ebp-10h] lea edx,[ebp-18h] push eax mov ecx,00000A8Ch call SUB_L004390A0 lea ecx,[ebp-14h] lea edx,[ebp-1Ch] push ecx mov ecx,00000A92h call SUB_L004390A0 mov eax,[ebp+08h] test eax,eax jnz L004241C7 mov ecx,[esi+000000ECh] test ecx,ecx jz L0042415C mov edx,[ecx] push 00000001h call [edx] mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop esi mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L0042415C: push 000000ACh call SUB_L0049A820 add esp,00000004h mov [ebp+08h],eax test eax,eax mov dword ptr [ebp-04h],00000000h jz L00424196 mov ecx,[L004CCD7C] mov edx,[esi+00000110h] push ecx mov ecx,[esi+0000010Ch] push edx push ecx push esi mov ecx,eax call SUB_L00425530 jmp L00424198 L00424196: xor eax,eax L00424198: mov [esi+000000ECh],eax mov dword ptr [eax+2Ch],00000000h mov edx,[ebp-10h] mov eax,[ebp-14h] mov ecx,[esi+000000ECh] add eax,edx mov [ecx+30h],eax mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop esi mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L004241C7: cmp eax,00000001h jnz L0042425B mov ecx,[esi+000000F0h] test ecx,ecx jz L004241F0 mov edx,[ecx] push eax call [edx] mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop esi mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L004241F0: push 000000ACh call SUB_L0049A820 add esp,00000004h mov [ebp+08h],eax test eax,eax mov dword ptr [ebp-04h],00000001h jz L0042422A mov ecx,[L004CCD80] mov edx,[esi+00000118h] push ecx mov ecx,[esi+00000114h] push edx push ecx push esi mov ecx,eax call SUB_L00425530 jmp L0042422C L0042422A: xor eax,eax L0042422C: mov ecx,[esi+1Ch] mov edx,[esi+000000F8h] sub ecx,edx mov [esi+000000F0h],eax cmp ecx,00000022h jg L00424247 mov ecx,00000022h L00424247: mov [eax+2Ch],ecx mov edx,[ebp-10h] mov eax,[ebp-14h] mov ecx,[esi+000000F0h] add eax,edx mov [ecx+30h],eax L0042425B: mov ecx,[ebp-0Ch] pop esi mov fs:[00000000h],ecx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 8 L00424270: push ebp mov ebp,esp mov eax,00003010h call SUB_L0049ACF0 mov eax,[ebp+08h] mov edx,[L004B9084] mov [ebp-04h],eax mov eax,[ebp+0Ch] mov [ebp-08h],edx mov edx,[ecx+000000B4h] push ebx push esi cmp eax,edx push edi jnz L00424338 cmp word ptr [L004B908C],0000h mov dword ptr [ebp+0Ch],00000001h jz L00424338 mov ebx,L004B908C L004242BA: mov edi,[ebx-04h] xor esi,esi push 00000001h push esi push esi xor edx,edx mov ecx,SSZ004C5560_chat call SUB_L0044B850 test eax,eax jz L004242E8 push edi mov ecx,eax call SUB_L0044C840 test eax,eax jz L004242E8 mov ecx,eax call SUB_L00493EC0 mov esi,eax L004242E8: mov ecx,esi call SUB_L00491C00 mov edx,[ebp+08h] mov edi,eax dec edi mov ecx,esi push edi call SUB_L00491CA0 test eax,eax jz L00424313 mov edx,[ebp+0Ch] add ebx,00000008h inc edx cmp word ptr [ebx],0000h mov [ebp+0Ch],edx jnz L004242BA jmp L00424338 L00424313: mov ecx,[ebp+08h] cmp word ptr [ecx+edi*2],0020h lea edi,[ecx+edi*2] mov [ebp-04h],edi jnz L00424329 add edi,00000002h mov [ebp-04h],edi L00424329: mov edx,[ebp+0Ch] mov ax,[L004B9084+edx*8] mov [ebp-08h],ax L00424338: mov cx,[ebp-08h] mov edx,[ebp-04h] mov [ebp-00001008h],cx lea ecx,[ebp-00001006h] call SUB_L00491D10 mov eax,[L006BB1CC] test eax,eax jz L004243C5 mov dl,B3h lea ecx,[ebp-00003010h] lea esi,[ebp-00001008h] call SUB_L004685A0 push 00000004h mov edx,L005492F4 lea ecx,[ebp-00003010h] call SUB_L00468720 cmp word ptr [ebp-00001008h],0000h jz L004243A6 mov edx,[ebp-00001008h] L0042438F: lea ecx,[ebp-00003010h] call SUB_L00468630 mov dx,[esi+02h] add esi,00000002h test dx,dx jnz L0042438F L004243A6: xor edx,edx lea ecx,[ebp-00003010h] call SUB_L00468630 mov ecx,[L006BB1CC] lea edx,[ebp-00003010h] push edx call SUB_L0048B170 L004243C5: pop edi pop esi mov eax,00000001h pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 L004243E0: push ebp mov ebp,esp mov eax,00003008h call SUB_L0049ACF0 push esi mov esi,[ebp+08h] push edi mov edi,ecx mov eax,[esi+00000094h] cmp eax,FFFFFFFFh jz L00424456 mov ecx,[edi+00000114h] mov edx,[ecx+eax*4] mov ecx,[edi+000000B4h] push edx call SUB_L00426E60 mov eax,[ebp+0Ch] mov ecx,[edi+000000B4h] push eax call SUB_L00426EE0 cmp dword ptr [esi+00000094h],00000001h jnz L00424441 mov ecx,[edi+000000B4h] push L004D0584 call SUB_L00426EE0 jmp L00424520 L00424441: mov ecx,[edi+000000B4h] push L004D058C call SUB_L00426EE0 jmp L00424520 L00424456: mov edx,[ebp+0Ch] lea ecx,[ebp-00001000h] mov word ptr [ebp-00001000h],0063h mov word ptr [ebp-00000FFEh],0000h call SUB_L00491DC0 mov esi,[ebp+10h] cmp word ptr [esi],0000h jz L004244AC mov edx,L004D0590 lea ecx,[ebp-00001000h] call SUB_L00491DC0 mov edx,esi lea ecx,[ebp-00001000h] call SUB_L00491DC0 mov edx,L004D0594 lea ecx,[ebp-00001000h] call SUB_L00491DC0 L004244AC: mov eax,[L006BB1CC] test eax,eax jz L00424520 mov dl,B3h lea ecx,[ebp-00003008h] lea esi,[ebp-00001000h] call SUB_L004685A0 push 00000004h mov edx,L005492F4 lea ecx,[ebp-00003008h] call SUB_L00468720 cmp word ptr [ebp-00001000h],0000h jz L00424501 mov edx,[ebp-00001000h] L004244EA: lea ecx,[ebp-00003008h] call SUB_L00468630 mov dx,[esi+02h] add esi,00000002h test dx,dx jnz L004244EA L00424501: xor edx,edx lea ecx,[ebp-00003008h] call SUB_L00468630 lea ecx,[ebp-00003008h] push ecx mov ecx,[L006BB1CC] call SUB_L0048B170 L00424520: mov ecx,L00669608 call SUB_L0043FDA0 push edi mov ecx,L00669608 call SUB_L0043FF10 mov ecx,[edi+000000B4h] call SUB_L00426D70 pop edi pop esi mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 16 L00424550: push ebp mov ebp,esp push FFFFFFFFh push L004B26C6 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,0000000Ch push ebx push esi mov esi,ecx push edi mov ecx,[ebp+0Ch] mov dword ptr [ebp-14h],00000001h cmp ecx,[esi+000000ECh] jnz L004246B3 mov eax,[esi+00000110h] xor ebx,ebx test eax,eax jle L004246A0 mov edi,[ebp+08h] L00424599: mov eax,[esi+0000010Ch] mov edx,edi mov ecx,[eax+ebx*8] call SUB_L00491C20 test eax,eax jz L004245BD mov eax,[esi+00000110h] inc ebx cmp ebx,eax jl L00424599 jmp L0042469D L004245BD: xor edi,edi cmp ebx,edi jnz L00424687 push 000000E4h call SUB_L0049A820 add esp,00000004h mov [ebp-18h],eax cmp eax,edi mov [ebp-04h],edi jz L0042467B push 00000001h push edi push edi xor edx,edx mov ecx,SSZ004C5560_chat mov [ebp+08h],edi call SUB_L0044B850 cmp eax,edi jz L00424610 push 00000013h mov ecx,eax call SUB_L0044C840 cmp eax,edi jz L00424610 mov ecx,eax call SUB_L00493EC0 mov [ebp+08h],eax L00424610: push 00000001h push 00000000h push 00000000h xor edx,edx mov ecx,SSZ004C5560_chat call SUB_L0044B850 test eax,eax jz L0042463C push 00000012h mov ecx,eax call SUB_L0044C840 test eax,eax jz L0042463C mov ecx,eax call SUB_L00493EC0 mov edi,eax L0042463C: xor ebx,ebx push 00000001h push ebx push ebx xor edx,edx mov ecx,SSZ004C5560_chat call SUB_L0044B850 test eax,eax jz L00424668 push 00000011h mov ecx,eax call SUB_L0044C840 test eax,eax jz L00424668 mov ecx,eax call SUB_L00493EC0 mov ebx,eax L00424668: mov ecx,[ebp+08h] push ecx mov ecx,[ebp-18h] push edi push ebx push FFFFFFFFh push esi call SUB_L004211F0 xor edi,edi L0042467B: mov dword ptr [ebp-04h],FFFFFFFFh mov [ebp-14h],edi jmp L0042469D L00424687: mov edx,[esi+0000010Ch] mov ecx,[esi+000000B4h] mov eax,[edx+ebx*8+04h] push eax call SUB_L00426E60 L0042469D: mov ecx,[ebp+0Ch] L004246A0: test ecx,ecx jz L00424830 mov edx,[ecx] push 00000001h call [edx] jmp L00424830 L004246B3: cmp ecx,[esi+000000F0h] jnz L004247BA mov eax,[esi+00000118h] xor ebx,ebx cmp eax,ebx mov [ebp-10h],ebx jle L004247AE L004246D2: mov eax,[esi+00000114h] mov ecx,eax lea edi,[eax+ebx*8] mov ecx,[ecx+ebx*8+04h] call SUB_L00491C00 mov edx,[edi+04h] xor ecx,ecx cmp word ptr [edx+eax*2-02h],0024h mov edx,[ebp+08h] setnz cl mov [ebp-18h],ecx mov ecx,[edi] call SUB_L00491C20 test eax,eax mov eax,[ebp-18h] jz L0042471F test eax,eax jz L0042470F inc [ebp-10h] L0042470F: mov eax,[esi+00000118h] inc ebx cmp ebx,eax jl L004246D2 jmp L004247AB L0042471F: test eax,eax jz L00424795 push 000000E4h call SUB_L0049A820 add esp,00000004h mov [ebp+08h],eax test eax,eax mov dword ptr [ebp-04h],00000001h jz L00424785 xor edi,edi push 00000001h push edi push edi xor edx,edx mov ecx,SSZ004C5560_chat call SUB_L0044B850 test eax,eax jz L0042476F mov edx,[ebp-10h] mov ecx,eax add edx,0000005Bh push edx call SUB_L0044C840 test eax,eax jz L0042476F mov ecx,eax call SUB_L00493EC0 mov edi,eax L0042476F: mov ecx,[ebp+08h] push 00000000h push L007B7D28 lea eax,[ebx+ebx+01h] push edi push eax push esi call SUB_L004211F0 L00424785: mov dword ptr [ebp-04h],FFFFFFFFh mov dword ptr [ebp-14h],00000000h jmp L004247AB L00424795: mov ecx,[esi+00000114h] mov edx,[ecx+ebx*8+04h] mov ecx,[esi+000000B4h] push edx call SUB_L00426E60 L004247AB: mov ecx,[ebp+0Ch] L004247AE: test ecx,ecx jz L00424830 mov eax,[ecx] push 00000001h call [eax] jmp L00424830 L004247BA: cmp ecx,[esi+000000B8h] jnz L00424830 mov ecx,[esi+000000B4h] call SUB_L00426F90 cmp word ptr [eax],0000h jnz L00424821 xor edi,edi push 00000001h push edi push edi xor edx,edx mov ecx,SSZ004C5560_chat call SUB_L0044B850 test eax,eax jz L004247FF push 00000040h mov ecx,eax call SUB_L0044C840 test eax,eax jz L004247FF mov ecx,eax call SUB_L00493EC0 mov edi,eax L004247FF: mov ecx,[esi+000000B4h] push edi call SUB_L00426EE0 mov ecx,[ebp+08h] push ecx mov ecx,[esi+000000B4h] call SUB_L00426EE0 push L004D0584 jmp L00424825 L00424821: mov edx,[ebp+08h] push edx L00424825: mov ecx,[esi+000000B4h] call SUB_L00426EE0 L00424830: mov eax,[ebp-14h] test eax,eax jz L00424857 mov ecx,L00669608 call SUB_L0043FDA0 push esi mov ecx,L00669608 call SUB_L0043FF10 mov ecx,[esi+000000B4h] call SUB_L00426D70 L00424857: mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 8 L00424870: push ebp mov ebp,esp mov eax,[ecx+000000FCh] test eax,eax jz L00424898 mov eax,[ebp+0Ch] mov edx,[ecx+70h] push 00000001h push 00000000h sub eax,edx mov edx,[ebp+08h] push 00000001h push eax sub edx,[ecx+6Ch] push edx call SUB_L00440850 L00424898: pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 8 L004248A0: push ebp mov ebp,esp sub esp,00000018h push ebx push esi push edi mov edi,ecx xor eax,eax cmp [edi+60h],eax jz L00424950 mov [ebp-08h],eax mov [ebp-04h],eax lea eax,[ebp-04h] lea ecx,[ebp-08h] push eax push ecx mov ecx,edi call SUB_L00440C60 mov eax,[ebp-08h] mov edx,[ebp-04h] mov ecx,[edi+38h] mov [ebp-18h],eax mov [ebp-14h],edx xor ebx,ebx mov esi,[ecx+0Ch] mov bx,[esi] mov esi,[ebp+08h] add eax,ebx mov [ebp-10h],eax mov eax,[ecx+0Ch] xor ecx,ecx mov cx,[eax+02h] add ecx,edx lea edx,[ebp-18h] mov [ebp-0Ch],ecx push edx push esi mov ecx,L00669608 call SUB_L00440D40 test eax,eax jz L00424995 mov eax,[L004C7F38] mov ecx,[L004C7F34] mov edx,[L006BAE7C] push eax mov eax,[ebp-04h] push ecx mov ecx,[ebp-08h] push edx mov edx,[edi+28h] push eax mov eax,[edi+24h] push ecx mov ecx,[edi+38h] push edx push eax push esi mov edx,[ecx+0Ch] mov ecx,SUB_L00488700 add edx,00000004h call SUB_L00439500 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L00424950: mov esi,[edi+4Ch] cmp esi,eax jz L00424995 mov ebx,[ebp+08h] L0042495A: mov edx,[esi] mov ecx,esi call [edx+000000C4h] test eax,eax jz L0042497F mov eax,[esi+000000B4h] mov ecx,[edi+60h] cmp eax,ecx jnz L0042497F mov edx,[esi] push ebx mov ecx,esi call [edx+0Ch] jmp L0042498E L0042497F: mov eax,[edi+60h] test eax,eax jnz L0042498E mov eax,[esi] push ebx mov ecx,esi call [eax+0Ch] L0042498E: mov esi,[esi+40h] test esi,esi jnz L0042495A L00424995: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 4 L004249A0: push ebp mov ebp,esp mov eax,[ebp+10h] push esi test eax,eax mov esi,ecx jnz L004249BE mov eax,[ebp+08h] mov [esi+18h],eax mov [esi+1Ch],eax mov eax,[ebp+0Ch] mov [esi+20h],eax jmp L004249DF L004249BE: mov eax,[esi+1Ch] mov edx,[ebp+08h] mov ecx,eax mov [esi+18h],eax sub ecx,edx mov edx,[esi+20h] mov [esi+000000F8h],ecx mov ecx,[ebp+0Ch] sub edx,ecx mov [esi+000000F4h],edx L004249DF: mov ecx,esi call SUB_L00423850 mov ecx,esi call SUB_L00423A10 mov ecx,[esi+000000ECh] test ecx,ecx jz L004249FC call SUB_L00425890 L004249FC: mov ecx,[esi+000000F0h] test ecx,ecx jz L00424A0B call SUB_L00425890 L00424A0B: pop esi pop ebp retn 000Ch ;------------------------------------------------------------------------------ L00424A10: push ebp mov ebp,esp sub esp,00000008h push esi mov esi,ecx push edi mov eax,[esi+60h] test eax,eax jz L00424A70 mov ecx,[ebp+08h] test ecx,ecx jl L00424AD0 mov edx,[ebp+0Ch] test edx,edx jl L00424AD0 mov eax,[esi+38h] xor edi,edi mov eax,[eax+0Ch] mov di,[eax] cmp ecx,edi jge L00424AD0 xor edi,edi mov di,[eax+02h] cmp edx,edi jge L00424AD0 mov esi,[esi+24h] imul esi,edx add esi,ecx xor ecx,ecx cmp [eax+esi*2+04h],cx setnz cl mov eax,ecx pop edi pop esi mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L00424A70: lea edx,[ebp+0Ch] lea eax,[ebp+08h] push edx push eax mov ecx,esi call SUB_L00440C60 mov esi,[esi+44h] test esi,esi jz L00424AD0 L00424A86: mov ecx,[ebp+08h] mov edx,[ebp+0Ch] mov [ebp-08h],ecx lea eax,[ebp-04h] lea ecx,[ebp-08h] push eax push ecx mov ecx,esi mov [ebp-04h],edx call SUB_L00440CD0 mov eax,[ebp-04h] mov ecx,[ebp-08h] mov edx,[esi] push eax push ecx mov ecx,esi call [edx+10h] test eax,eax jnz L00424AC3 mov esi,[esi+3Ch] test esi,esi jnz L00424A86 pop edi pop esi mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L00424AC3: mov eax,00000001h pop edi pop esi mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L00424AD0: pop edi xor eax,eax pop esi mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 8 SUB_L00424AE0: push ebp mov ebp,esp sub esp,00000800h push ebx mov ebx,[ebp+08h] push esi mov esi,ecx push edi mov edi,00000001h cmp [esi+00000110h],edi jle L00424B21 L00424AFE: mov eax,[esi+0000010Ch] mov ecx,ebx mov edx,[eax+edi*8] call SUB_L00491C20 test eax,eax jz L00424C4A mov eax,[esi+00000110h] inc edi cmp edi,eax jl L00424AFE L00424B21: mov eax,[esi+00000110h] lea ecx,[00000008h+eax*8] push ecx call SUB_L0049A820 mov ecx,[esi+00000110h] mov edi,eax add esp,00000004h xor eax,eax test ecx,ecx jle L00424B6C L00424B45: mov edx,[esi+0000010Ch] inc eax mov ecx,[edx+eax*8-08h] mov [edi+eax*8-08h],ecx mov edx,[esi+0000010Ch] mov ecx,[edx+eax*8-04h] mov [edi+eax*8-04h],ecx mov ecx,[esi+00000110h] cmp eax,ecx jl L00424B45 L00424B6C: mov edx,[esi+0000010Ch] push edx call SUB_L0049A810 add esp,00000004h mov [esi+0000010Ch],edi xor edi,edi xor edx,edx push 00000001h push edi push edi mov ecx,SSZ004C5560_chat call SUB_L0044B850 test eax,eax jz L00424BAD push 0000003Dh mov ecx,eax call SUB_L0044C840 test eax,eax jz L00424BAD mov ecx,eax call SUB_L00493EC0 mov edi,eax L00424BAD: mov edx,edi lea ecx,[ebp-00000800h] call SUB_L00491D10 mov edx,L004D05A4 lea ecx,[ebp-00000800h] call SUB_L00491DC0 mov edx,ebx lea ecx,[ebp-00000800h] call SUB_L00491DC0 mov edx,L004D05A4 lea ecx,[ebp-00000800h] call SUB_L00491DC0 mov eax,[ebp+0Ch] mov edx,L004D0584 test eax,eax jnz L00424BF8 mov edx,L004D058C L00424BF8: lea ecx,[ebp-00000800h] call SUB_L00491DC0 mov ecx,ebx call SUB_L00491D30 mov ecx,[esi+00000110h] mov edx,[esi+0000010Ch] mov [edx+ecx*8],eax lea ecx,[ebp-00000800h] call SUB_L00491D30 mov ecx,[esi+00000110h] mov edx,[esi+0000010Ch] mov [edx+ecx*8+04h],eax mov eax,[esi+00000110h] inc eax mov [esi+00000110h],eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L00424C4A: mov ecx,[ebp+0Ch] mov edx,[esi+0000010Ch] shl edi,03h neg ecx sbb cl,cl and cl,FCh add cl,24h movsx bx,cl mov ecx,[edx+edi+04h] call SUB_L00491C00 mov ecx,[esi+0000010Ch] mov edx,[ecx+edi+04h] pop edi pop esi mov [edx+eax*2-02h],bx pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L00424C90: push ebp mov ebp,esp push ebx push esi mov esi,ecx push edi mov edi,00000001h cmp [esi+00000110h],edi jle L00424D64 mov ebx,[ebp+08h] L00424CAC: mov eax,[esi+0000010Ch] mov ecx,ebx mov edx,[eax+edi*8] call SUB_L00491C20 test eax,eax jz L00424CD2 mov eax,[esi+00000110h] inc edi cmp edi,eax jl L00424CAC pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ L00424CD2: mov ecx,[esi+0000010Ch] mov eax,[ecx+edi*8] test eax,eax jz L00424CE8 push eax call SUB_L0049A810 add esp,00000004h L00424CE8: mov edx,[esi+0000010Ch] mov eax,[edx+edi*8+04h] test eax,eax jz L00424CFF push eax call SUB_L0049A810 add esp,00000004h L00424CFF: mov ecx,[esi+00000110h] lea eax,[edi+01h] cmp eax,ecx jge L00424D36 L00424D0C: mov ecx,[esi+0000010Ch] mov edx,[ecx+eax*8] lea ecx,[ecx+eax*8] mov [ecx-08h],edx mov ecx,[esi+0000010Ch] mov edx,[ecx+eax*8+04h] lea ecx,[ecx+eax*8] inc eax mov [ecx-04h],edx mov ecx,[esi+00000110h] cmp eax,ecx jl L00424D0C L00424D36: mov eax,[esi+00000110h] mov ecx,[esi+0000010Ch] dec eax mov [esi+00000110h],eax mov dword ptr [ecx+eax*8],00000000h mov edx,[esi+00000110h] mov eax,[esi+0000010Ch] mov dword ptr [eax+edx*8+04h],00000000h L00424D64: pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 8 L00424D70: push ebp mov ebp,esp sub esp,00000028h push ebx push esi push edi mov edi,ecx xor esi,esi mov eax,[edi+68h] mov [ebp-08h],esi cmp eax,esi mov [ebp-04h],esi jz L00424F3F lea eax,[ebp-04h] lea ecx,[ebp-08h] push eax push ecx mov ecx,edi call SUB_L00440C60 mov ecx,[ebp-04h] mov edx,[edi+60h] mov eax,[ebp-08h] mov ebx,ecx cmp edx,esi mov [ebp-18h],eax mov [ebp-14h],ebx jz L00424DC4 mov edx,[edi+24h] add edx,eax mov eax,[edi+28h] add eax,ecx mov [ebp-10h],edx mov [ebp-0Ch],eax jmp L00424E39 L00424DC4: mov edx,[edi+1Ch] mov esi,[edi+44h] add edx,eax mov eax,[edi+20h] add eax,ecx mov [ebp-10h],edx test esi,esi mov [ebp-0Ch],eax jz L00424E37 L00424DDB: xor eax,eax lea edx,[ebp-04h] mov [ebp-04h],eax mov [ebp-08h],eax lea eax,[ebp-08h] push edx push eax mov ecx,esi call SUB_L00440C60 mov eax,[ebp-08h] mov ecx,[ebp-18h] cmp eax,ecx jge L00424DFF mov [ebp-18h],eax L00424DFF: mov ecx,[esi+1Ch] mov edx,[ebp-10h] add eax,ecx cmp eax,edx jle L00424E10 mov edx,eax mov [ebp-10h],edx L00424E10: mov eax,[ebp-04h] mov ebx,[ebp-14h] cmp eax,ebx jge L00424E1F mov ebx,eax mov [ebp-14h],ebx L00424E1F: mov ecx,[esi+20h] add ecx,eax mov eax,[ebp-0Ch] cmp ecx,eax jle L00424E30 mov eax,ecx mov [ebp-0Ch],eax L00424E30: mov esi,[esi+3Ch] test esi,esi jnz L00424DDB L00424E37: xor esi,esi L00424E39: cmp [ebp-18h],esi jge L00424E41 mov [ebp-18h],esi L00424E41: cmp ebx,esi jge L00424E48 mov [ebp-14h],esi L00424E48: mov ecx,[L004C7F34] cmp edx,ecx jle L00424E55 mov [ebp-10h],ecx L00424E55: mov ecx,[L004C7F38] cmp eax,ecx jle L00424E62 mov [ebp-0Ch],ecx L00424E62: mov esi,[ebp+08h] lea edx,[ebp-18h] push edx push esi mov ecx,L00669608 call SUB_L00440D40 test eax,eax jz L00424F3F lea eax,[ebp-28h] lea edx,[ebp-18h] push eax mov ecx,esi call SUB_L00440D90 mov esi,[ebp-24h] mov dword ptr [edi+5Ch],00000001h mov edx,esi mov eax,[ebp-28h] imul edx,[L004C7F34] mov ecx,[L006BAE7C] add edx,eax lea edx,[ecx+edx*2] mov edi,edx sub edi,ecx mov ecx,[L004E3FD0] sar edi,1 lea ebx,[ecx+edi*2] mov ecx,[L004F3FEC] cmp ecx,00001000h jge L00424EFC mov edi,ecx mov [L004DBFD0+ecx*4],edx shl edi,04h add edi,L004E3FD8 mov [L004DFFD0+ecx*4],ebx inc ecx mov [edi],eax mov [L004F3FEC],ecx mov [edi+04h],esi mov esi,[ebp-20h] mov [edi+08h],esi mov esi,[ebp-1Ch] mov [edi+0Ch],esi mov esi,[ebp-24h] L00424EFC: mov ecx,[ebp-1Ch] mov [ebp-04h],esi cmp esi,ecx jge L00424F3F jmp L00424F0B L00424F08: mov eax,[ebp-28h] L00424F0B: mov ecx,[ebp-20h] mov esi,edx sub ecx,eax mov edi,ebx shl ecx,1 mov eax,ecx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov ecx,[L004C7F34] lea eax,[ecx+ecx] mov ecx,[ebp-1Ch] add ebx,eax add edx,eax mov eax,[ebp-04h] inc eax cmp eax,ecx mov [ebp-04h],eax jl L00424F08 L00424F3F: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00424F50: push ebp mov ebp,esp push FFFFFFFFh push L004B26D8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push esi mov esi,ecx push edi mov [ebp-10h],esi call SUB_L00441CB0 xor eax,eax mov ebx,00000001h push SSZ004C55A0_ChatBorder_framedata push 00000008h mov ecx,L00669C8C mov [ebp-04h],eax mov dword ptr [esi],L004B92D8 mov [esi+4Ch],eax mov [esi+48h],eax mov [esi+44h],eax mov [esi+40h],eax mov [esi+3Ch],eax mov [esi+2Ch],eax mov [esi+30h],eax mov [esi+10h],eax mov [esi+14h],ebx mov [esi+20h],ebx mov [esi+18h],ebx mov [esi+1Ch],ebx call SUB_L0044FBD0 mov ecx,[esi+14h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+38h],edi push SSZ004C558C_ChatBorder_frame0 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+1Ch] imul eax,[esi+20h] lea ecx,[eax+eax+04h] push ecx mov ecx,L00669C8C call SUB_L0044FBD0 mov edx,[esi+38h] push ebx mov [edx+04h],eax mov ecx,[esi+1Ch] imul ecx,[esi+20h] mov edx,[esi+38h] xor eax,eax shl ecx,1 mov edi,[edx+04h] mov edx,ecx add edi,00000004h shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+38h] mov dx,[esi+1Ch] mov ecx,[eax+04h] mov [ecx],dx mov eax,[esi+38h] mov dx,[esi+20h] mov ecx,[eax+04h] mov eax,[ebp+08h] push eax mov [ecx+02h],dx mov ecx,esi call SUB_L004415C0 mov ecx,[ebp-0Ch] mov eax,esi pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 L00425060: push ebp mov ebp,esp mov eax,00000001h pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 8 L00425070: push ebp mov ebp,esp push esi mov esi,ecx call SUB_L004250A0 test byte ptr [ebp+08h],01h jz L0042508A push esi call SUB_L0049A810 add esp,00000004h L0042508A: mov eax,esi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L004250A0: push ebp mov ebp,esp push FFFFFFFFh push L004B26F8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx mov [ebp-10h],esi mov dword ptr [esi],L004B92D8 mov eax,[esi+38h] mov dword ptr [ebp-04h],00000000h mov eax,[eax+04h] test eax,eax jz L004250F0 push SSZ004C558C_ChatBorder_frame0 push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov ecx,[esi+38h] mov dword ptr [ecx+04h],00000000h L004250F0: mov eax,[esi+38h] test eax,eax jz L0042510E push SSZ004C55A0_ChatBorder_framedata push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov dword ptr [esi+38h],00000000h L0042510E: mov ecx,esi mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00441D50 mov ecx,[ebp-0Ch] pop esi mov fs:[00000000h],ecx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 SUB_L00425130: push ebp mov ebp,esp mov eax,[ebp+10h] push ebx push esi mov esi,ecx mov ecx,[ebp+14h] push edi mov edx,[esi+38h] mov [esi+2Ch],eax mov [esi+30h],ecx mov eax,[edx+04h] test eax,eax jz L00425168 push SSZ004C558C_ChatBorder_frame0 push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov eax,[esi+38h] mov dword ptr [eax+04h],00000000h L00425168: mov ecx,[ebp+0Ch] lea ebx,[esi+20h] lea edi,[esi+1Ch] push ebx mov edx,edi call SUB_L004390A0 mov eax,[ebp+08h] test eax,eax jz L00425187 mov ecx,[ebp+18h] mov [ebx],ecx jmp L0042518C L00425187: mov edx,[ebp+18h] mov [edi],edx L0042518C: mov eax,[edi] mov ecx,[ebx] imul ecx,eax push SSZ004C558C_ChatBorder_frame0 mov [esi+18h],eax lea edx,[ecx+ecx+04h] mov ecx,L00669C8C push edx call SUB_L0044FBD0 mov ecx,[esi+38h] mov [ecx+04h],eax mov ecx,[edi] imul ecx,[ebx] mov edx,[esi+38h] xor eax,eax shl ecx,1 mov edi,[edx+04h] mov edx,ecx add edi,00000004h shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+38h] mov dx,[esi+1Ch] mov ecx,[eax+04h] mov [ecx],dx mov eax,[esi+38h] mov dx,[ebx] mov ecx,[eax+04h] mov eax,[ebp+08h] test eax,eax mov [ecx+02h],dx jz L00425212 mov eax,[ebp+18h] mov edx,[esi+38h] mov ecx,[ebp+0Ch] push eax mov eax,[edx+04h] push 00000000h push 00000000h push ecx push eax mov ecx,esi call SUB_L00425470 pop edi pop esi pop ebx pop ebp retn 0014h ;------------------------------------------------------------------------------ L00425212: mov ecx,[ebp+18h] mov eax,[esi+38h] mov edx,[ebp+0Ch] push ecx mov ecx,[eax+04h] push 00000000h push 00000000h push edx push ecx mov ecx,esi call SUB_L004253B0 pop edi pop esi pop ebx pop ebp retn 0014h ;------------------------------------------------------------------------------ Align 16 L00425240: push ebp mov ebp,esp push esi mov esi,ecx mov eax,[esi+48h] test eax,eax jz L0042527C lea eax,[ebp+0Ch] lea ecx,[ebp+08h] push eax push ecx mov ecx,esi call SUB_L00440C60 mov ecx,[esi+48h] lea edx,[ebp+0Ch] lea eax,[ebp+08h] push edx push eax call SUB_L00440CD0 mov eax,[ebp+0Ch] mov ecx,[esi+48h] push eax mov eax,[ebp+08h] mov edx,[ecx] push eax call [edx+20h] L0042527C: pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 L00425290: push ebp mov ebp,esp push esi mov esi,ecx mov eax,[esi+48h] test eax,eax jz L004252CC lea eax,[ebp+0Ch] lea ecx,[ebp+08h] push eax push ecx mov ecx,esi call SUB_L00440C60 mov ecx,[esi+48h] lea edx,[ebp+0Ch] lea eax,[ebp+08h] push edx push eax call SUB_L00440CD0 mov eax,[ebp+0Ch] mov ecx,[esi+48h] push eax mov eax,[ebp+08h] mov edx,[ecx] push eax call [edx+14h] L004252CC: pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 L004252E0: push ebp mov ebp,esp push esi mov esi,ecx mov eax,[esi+48h] test eax,eax jz L0042531C lea eax,[ebp+0Ch] lea ecx,[ebp+08h] push eax push ecx mov ecx,esi call SUB_L00440C60 mov ecx,[esi+48h] lea edx,[ebp+0Ch] lea eax,[ebp+08h] push edx push eax call SUB_L00440CD0 mov eax,[ebp+0Ch] mov ecx,[esi+48h] push eax mov eax,[ebp+08h] mov edx,[ecx] push eax call [edx+18h] L0042531C: pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 L00425330: push ebp mov ebp,esp push esi mov esi,ecx mov eax,[esi+48h] test eax,eax jz L0042536C lea eax,[ebp+0Ch] lea ecx,[ebp+08h] push eax push ecx mov ecx,esi call SUB_L00440C60 mov ecx,[esi+48h] lea edx,[ebp+0Ch] lea eax,[ebp+08h] push edx push eax call SUB_L00440CD0 mov eax,[ebp+0Ch] mov ecx,[esi+48h] push eax mov eax,[ebp+08h] mov edx,[ecx] push eax call [edx+2Ch] L0042536C: pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 L00425380: push ebp mov ebp,esp mov eax,[ecx+48h] test eax,eax jz L00425399 mov edx,[eax] push ecx mov ecx,[ebp+08h] push ecx mov ecx,eax call [edx+00000144h] L00425399: pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 4 L004253A0: mov ecx,[ecx+48h] test ecx,ecx jz L004253AC mov eax,[ecx] jmp [eax+30h] L004253AC: retn ;------------------------------------------------------------------------------ Align 4 SUB_L004253B0: push ebp mov ebp,esp sub esp,00000010h mov eax,[ebp+18h] push ebx push esi mov esi,[ebp+08h] push edi mov edi,[ebp+10h] mov ebx,[ebp+14h] xor edx,edx mov dx,[esi+02h] lea ecx,[eax+edi] xor eax,eax mov [ebp-10h],edi mov ax,[esi] mov [ebp-0Ch],ebx cmp ecx,eax mov [ebp+14h],ecx mov [ebp-08h],ecx mov [ebp-04h],edx jle L004253E9 mov [ebp-08h],eax L004253E9: mov ecx,[ebp+0Ch] lea eax,[ebp+08h] push eax lea edx,[ebp+10h] call SUB_L004390A0 cmp edi,[ebp+14h] jge L0042545C mov eax,[ebp+10h] L00425400: lea ecx,[edi+eax] mov eax,[ebp+18h] cmp ecx,eax jle L00425430 xor edx,edx xor eax,eax mov dx,[esi+02h] mov ax,[esi] push edx lea ecx,[esi+04h] push eax push ecx push ebx lea edx,[ebp-10h] push edi push edx mov edx,[ebp+0Ch] mov ecx,SUB_L00488380 call SUB_L00439290 jmp L00425450 L00425430: xor eax,eax xor ecx,ecx mov ax,[esi+02h] mov cx,[esi] push eax lea edx,[esi+04h] push ecx push edx mov edx,[ebp+0Ch] push ebx push edi mov ecx,SUB_L00488380 call SUB_L00439100 L00425450: mov eax,[ebp+10h] mov ecx,[ebp+14h] add edi,eax cmp edi,ecx jl L00425400 L0042545C: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0014h ;------------------------------------------------------------------------------ Align 16 SUB_L00425470: push ebp mov ebp,esp sub esp,00000010h push ebx mov ecx,[ebp+18h] push esi mov esi,[ebp+08h] mov ebx,[ebp+10h] xor eax,eax mov ax,[esi] push edi mov edi,[ebp+14h] mov [ebp-08h],eax xor eax,eax add ecx,edi mov ax,[esi+02h] mov [ebp-10h],ebx cmp ecx,eax mov [ebp-0Ch],edi mov [ebp+14h],ecx mov [ebp-04h],ecx jle L004254A8 mov [ebp-04h],eax L004254A8: mov ecx,[ebp+0Ch] lea edx,[ebp+10h] push edx lea edx,[ebp+08h] call SUB_L004390A0 cmp edi,[ebp+14h] jge L0042551A mov eax,[ebp+10h] L004254BF: mov ecx,[ebp+18h] add eax,edi cmp eax,ecx jle L004254EE xor ecx,ecx xor edx,edx mov cx,[esi+02h] mov dx,[esi] push ecx lea eax,[esi+04h] push edx mov edx,[ebp+0Ch] push eax push edi lea ecx,[ebp-10h] push ebx push ecx mov ecx,SUB_L00488380 call SUB_L00439290 jmp L0042550E L004254EE: xor edx,edx xor eax,eax mov dx,[esi+02h] mov ax,[esi] push edx mov edx,[ebp+0Ch] lea ecx,[esi+04h] push eax push ecx push edi push ebx mov ecx,SUB_L00488380 call SUB_L00439100 L0042550E: mov eax,[ebp+10h] mov ecx,[ebp+14h] add edi,eax cmp edi,ecx jl L004254BF L0042551A: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0014h ;------------------------------------------------------------------------------ Align 16 SUB_L00425530: push ebp mov ebp,esp push FFFFFFFFh push L004B275A mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000014h push ebx push esi mov esi,ecx push edi mov [ebp-18h],esi call SUB_L00441CB0 lea eax,[ebp-10h] lea edx,[ebp-1Ch] push eax mov ecx,00000A8Ch mov dword ptr [ebp-04h],00000000h mov dword ptr [esi],L004B9440 call SUB_L004390A0 lea ecx,[ebp-14h] lea edx,[ebp-20h] push ecx mov ecx,00000A92h call SUB_L004390A0 mov edi,[ebp+08h] mov ecx,[ebp-10h] mov eax,[ebp-14h] mov ebx,[ebp+10h] mov edx,[edi+20h] sub edx,ecx mov ecx,[ebp+0Ch] sub edx,eax mov eax,[edi+1Ch] push edx push eax push ebx push ecx mov ecx,esi call SUB_L004257B0 push 00000094h call SUB_L0049A820 add esp,00000004h mov [ebp+10h],eax test eax,eax mov byte ptr [ebp-04h],01h jz L004255CD push esi mov ecx,eax call SUB_L00424F50 jmp L004255CF L004255CD: xor eax,eax L004255CF: push 00000094h mov byte ptr [ebp-04h],00h mov [esi+00000094h],eax call SUB_L0049A820 add esp,00000004h mov [ebp+10h],eax test eax,eax mov byte ptr [ebp-04h],02h jz L004255FB push esi mov ecx,eax call SUB_L00424F50 jmp L004255FD L004255FB: xor eax,eax L004255FD: push 00000094h mov byte ptr [ebp-04h],00h mov [esi+00000098h],eax call SUB_L0049A820 add esp,00000004h mov [ebp+10h],eax test eax,eax mov byte ptr [ebp-04h],03h jz L00425629 push esi mov ecx,eax call SUB_L00424F50 jmp L0042562B L00425629: xor eax,eax L0042562B: push 00000094h mov byte ptr [ebp-04h],00h mov [esi+0000009Ch],eax call SUB_L0049A820 add esp,00000004h mov [ebp+10h],eax test eax,eax mov byte ptr [ebp-04h],04h jz L00425657 push esi mov ecx,eax call SUB_L00424F50 jmp L00425659 L00425657: xor eax,eax L00425659: push 000000C0h mov byte ptr [ebp-04h],00h mov [esi+000000A0h],eax call SUB_L0049A820 add esp,00000004h mov [ebp+10h],eax test eax,eax mov byte ptr [ebp-04h],05h jz L00425694 mov edx,[ebp+14h] mov ecx,eax push edx push 00000000h push 00000800h push 00000001h push 00000000h push esi call SUB_L00425F90 jmp L00425696 L00425694: xor eax,eax L00425696: push 000000A8h mov byte ptr [ebp-04h],00h mov [esi+000000A4h],eax call SUB_L0049A820 add esp,00000004h mov [ebp+10h],eax test eax,eax mov byte ptr [ebp-04h],06h jz L004256C2 push esi mov ecx,eax call SUB_L00425AB0 jmp L004256C4 L004256C2: xor eax,eax L004256C4: test ebx,ebx mov byte ptr [ebp-04h],00h mov [esi+000000A8h],eax jle L004256FA mov edi,[ebp+0Ch] L004256D5: mov eax,[L004CCD54] mov ecx,[edi] push 00000000h push FFFFFFFFh push FFFFFFFFh push 00000000h push eax push ecx mov ecx,[esi+000000A4h] call SUB_L00426260 add edi,00000008h dec ebx jnz L004256D5 mov edi,[ebp+08h] L004256FA: mov ecx,esi call SUB_L00425930 push 00000001h push edi mov ecx,esi call SUB_L004415C0 mov ecx,[ebp-0Ch] mov eax,esi pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0010h ;------------------------------------------------------------------------------ L00425720: push ebp mov ebp,esp push esi mov esi,ecx call SUB_L00425750 test byte ptr [ebp+08h],01h jz L0042573A push esi call SUB_L0049A810 add esp,00000004h L0042573A: mov eax,esi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00425750: push ebp mov ebp,esp push FFFFFFFFh push L004B2778 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx mov [ebp-10h],esi mov dword ptr [esi],L004B9440 mov ecx,[esi+48h] push esi mov dword ptr [ebp-04h],00000000h call SUB_L004240B0 mov ecx,esi mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00441D50 mov ecx,[ebp-0Ch] pop esi mov fs:[00000000h],ecx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L004257B0: push ebp mov ebp,esp sub esp,0000002Ch push ebx push esi mov ebx,ecx lea eax,[ebp-08h] push edi push eax lea edx,[ebp-1Ch] mov ecx,00000A8Ch call SUB_L004390A0 lea ecx,[ebp-20h] lea edx,[ebp-14h] push ecx mov ecx,00000A8Dh call SUB_L004390A0 lea edx,[ebp-0Ch] mov ecx,00000A92h push edx lea edx,[ebp-18h] call SUB_L004390A0 lea eax,[ebp-10h] lea edx,[ebp-24h] push eax mov ecx,00000A99h call SUB_L004390A0 mov eax,[ebp+0Ch] xor edi,edi test eax,eax jle L00425838 mov esi,[ebp+08h] mov [ebp+08h],eax L0042580E: lea ecx,[ebp-28h] lea edx,[ebp-2Ch] push ecx mov ecx,[esi] push edx lea edx,[ebp-04h] call SUB_L00492DC0 mov eax,[ebp-04h] cmp eax,edi jle L00425829 mov edi,eax L00425829: mov eax,[ebp+08h] add esi,00000008h dec eax mov [ebp+08h],eax jnz L0042580E mov eax,[ebp+0Ch] L00425838: cmp eax,0000000Ah jle L00425842 mov eax,0000000Ah L00425842: mov ecx,[ebp-08h] lea edx,[ecx+eax*8] add eax,edx mov edx,[ebp-0Ch] add edx,ecx mov ecx,[ebp-10h] shl eax,1 lea ecx,[ecx+edx*2] mov [ebx+20h],eax cmp eax,ecx jge L00425861 mov [ebx+20h],ecx L00425861: mov edx,[ebp-14h] mov ecx,[ebp-18h] lea eax,[edi+edx*2+06h] mov edx,[ebx+20h] add eax,ecx mov ecx,[ebp+14h] cmp edx,ecx mov [ebx+1Ch],eax jle L0042587D mov [ebx+20h],ecx L0042587D: mov ecx,[ebp+10h] cmp eax,ecx jle L00425887 mov [ebx+1Ch],ecx L00425887: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0010h ;------------------------------------------------------------------------------ SUB_L00425890: push ebp mov ebp,esp sub esp,00000010h push esi mov esi,ecx lea eax,[ebp-04h] push edi push eax lea edx,[ebp-0Ch] mov ecx,00000A8Ch xor edi,edi call SUB_L004390A0 lea ecx,[ebp-08h] lea edx,[ebp-10h] push ecx mov ecx,00000A92h call SUB_L004390A0 mov eax,[esi+48h] mov edx,[ebp-04h] mov ecx,[eax+1Ch] mov eax,[eax+20h] sub eax,edx mov edx,[ebp-08h] sub eax,edx mov edx,[esi+20h] cmp edx,eax jle L004258E0 mov [esi+20h],eax mov edi,00000001h L004258E0: cmp [esi+1Ch],ecx jle L004258ED mov [esi+1Ch],ecx mov edi,00000001h L004258ED: test edi,edi jz L004258F8 mov ecx,esi call SUB_L00425930 L004258F8: pop edi pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 4 L00425900: push ebp mov ebp,esp push esi mov esi,[ecx+4Ch] test esi,esi jz L0042591F push edi mov edi,[ebp+08h] L0042590F: mov eax,[esi] push edi mov ecx,esi call [eax+0Ch] mov esi,[esi+40h] test esi,esi jnz L0042590F pop edi L0042591F: pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00425930: push ebp mov ebp,esp sub esp,00000018h push esi mov esi,ecx lea eax,[ebp-04h] push edi push eax lea edx,[ebp-10h] mov ecx,00000A8Ch call SUB_L004390A0 lea ecx,[ebp-14h] lea edx,[ebp-08h] push ecx mov ecx,00000A8Dh call SUB_L004390A0 lea edx,[ebp-18h] mov ecx,00000A92h push edx lea edx,[ebp-0Ch] call SUB_L004390A0 mov eax,[esi+1Ch] mov ecx,[esi+00000094h] push eax push 00000000h push 00000000h push 00000A8Ch push 00000000h call SUB_L00425130 mov edx,[esi+20h] mov eax,[ebp-04h] mov ecx,[esi+1Ch] sub edx,eax push ecx mov ecx,[esi+00000098h] push edx push 00000000h push 00000A8Ch push 00000000h call SUB_L00425130 mov eax,[ebp-04h] mov edx,[esi+20h] lea ecx,[eax+eax] sub edx,ecx mov ecx,[esi+0000009Ch] push edx push eax push 00000000h push 00000A8Dh push 00000001h call SUB_L00425130 mov eax,[ebp-04h] mov edx,[esi+20h] mov edi,[ebp-08h] lea ecx,[eax+eax] sub edx,ecx mov ecx,[esi+000000A0h] push edx push eax mov eax,[esi+1Ch] sub eax,edi push eax push 00000A8Dh push 00000001h call SUB_L00425130 mov eax,[ebp-04h] mov edx,[esi+20h] lea ecx,[eax+eax] sub edx,ecx mov ecx,[esi+000000A8h] push edx push eax mov eax,[ebp-08h] push eax call SUB_L00425DB0 mov eax,[ebp-04h] mov edx,[esi+20h] mov edi,[esi+1Ch] lea ecx,[eax+eax] sub edx,ecx mov ecx,[ebp-08h] push edx lea edx,[ecx+ecx+02h] sub edi,edx mov edx,[ebp-0Ch] sub edi,edx push edi push eax lea eax,[edx+ecx+02h] mov ecx,[esi+000000A4h] push eax call SUB_L004261E0 mov ecx,[esi+000000A4h] push 00000000h call SUB_L004265E0 pop edi pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 4 L00425A50: push ebp mov ebp,esp mov eax,[ebp+0Ch] mov edx,[ebp+08h] mov ecx,[ecx+000000A8h] push eax push edx call SUB_L00425F20 pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 8 L00425A70: push ebp mov ebp,esp mov eax,[ebp+0Ch] mov edx,[ebp+08h] mov ecx,[ecx+000000A4h] push eax push edx call SUB_L00426620 pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 8 L00425A90: push ebp mov ebp,esp mov eax,[ebp+08h] mov ecx,[ecx+000000A4h] push eax call SUB_L00426650 pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L00425AB0: push ebp mov ebp,esp push FFFFFFFFh push L004B27B9 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000008h push ebx push esi mov esi,ecx push edi mov [ebp-10h],esi call SUB_L00441CB0 xor ebx,ebx mov eax,00000001h push SSZ004C55D0_ChatScrollBar_framedata push 00000008h mov ecx,L00669C8C mov [ebp-04h],ebx mov dword ptr [esi],L004B95A8 mov [esi+4Ch],ebx mov [esi+48h],ebx mov [esi+44h],ebx mov [esi+40h],ebx mov [esi+3Ch],ebx mov [esi+2Ch],ebx mov [esi+30h],ebx mov [esi+10h],ebx mov [esi+14h],eax mov [esi+20h],eax mov [esi+18h],eax mov [esi+1Ch],eax call SUB_L0044FBD0 mov ecx,[esi+14h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+38h],edi push SSZ004C55B8_ChatScrollBar_frame0 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+1Ch] imul eax,[esi+20h] lea ecx,[eax+eax+04h] push ecx mov ecx,L00669C8C call SUB_L0044FBD0 mov edx,[esi+38h] push 000000CCh mov [edx+04h],eax mov ecx,[esi+1Ch] imul ecx,[esi+20h] mov edx,[esi+38h] xor eax,eax shl ecx,1 mov edi,[edx+04h] mov edx,ecx add edi,00000004h shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+38h] mov dx,[esi+1Ch] mov ecx,[eax+04h] mov [ecx],dx mov eax,[esi+38h] mov dx,[esi+20h] mov ecx,[eax+04h] mov [ecx+02h],dx mov [esi+0000009Ch],ebx mov [esi+000000A4h],bl call SUB_L0049A820 add esp,00000004h mov [ebp-14h],eax cmp eax,ebx mov byte ptr [ebp-04h],01h jz L00425BDA push ebx push 00000A91h push 00000A90h push L00411A30 push ebx push 00000002h push esi push ebx push 00000002h mov ecx,eax call SUB_L004122F0 jmp L00425BDC L00425BDA: xor eax,eax L00425BDC: mov [esi+00000094h],eax mov [eax+0000009Ch],ebx mov eax,[esi+00000094h] mov edi,00000001h push edi push esi mov [eax+000000ACh],edi mov ecx,[esi+00000094h] mov [ebp-04h],bl call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp-14h],eax cmp eax,ebx mov byte ptr [ebp-04h],02h jz L00425C41 push ebx push 00000A93h push 00000A92h push L00411A30 push ebx push 00000002h push esi push ebx push 00000002h mov ecx,eax call SUB_L004122F0 jmp L00425C43 L00425C41: xor eax,eax L00425C43: mov [esi+00000098h],eax mov [eax+0000009Ch],edi mov ecx,[esi+00000098h] push edi push esi mov [ebp-04h],bl mov [ecx+000000ACh],edi mov ecx,[esi+00000098h] call SUB_L004415C0 push 000000B4h call SUB_L0049A820 add esp,00000004h mov [ebp-14h],eax cmp eax,ebx mov byte ptr [ebp-04h],03h jz L00425C97 push 00000A99h push esi push ebx push edi push ebx push 00000002h mov ecx,eax call SUB_L00412A50 jmp L00425C99 L00425C97: xor eax,eax L00425C99: push edi push esi mov ecx,eax mov [ebp-04h],bl mov [esi+000000A0h],eax call SUB_L004415C0 mov edx,[ebp+08h] push edi push edx mov ecx,esi call SUB_L004415C0 mov ecx,[ebp-0Ch] mov eax,esi pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 8 L00425CD0: push ebp mov ebp,esp push esi mov esi,ecx call SUB_L00425D00 test byte ptr [ebp+08h],01h jz L00425CEA push esi call SUB_L0049A810 add esp,00000004h L00425CEA: mov eax,esi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00425D00: push ebp mov ebp,esp push FFFFFFFFh push L004B27D8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx mov [ebp-10h],esi mov dword ptr [esi],L004B95A8 mov eax,[esi+38h] mov dword ptr [ebp-04h],00000000h mov eax,[eax+04h] test eax,eax jz L00425D50 push SSZ004C55B8_ChatScrollBar_frame0 push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov ecx,[esi+38h] mov dword ptr [ecx+04h],00000000h L00425D50: mov eax,[esi+38h] test eax,eax jz L00425D6E push SSZ004C55D0_ChatScrollBar_framedata push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov dword ptr [esi+38h],00000000h L00425D6E: mov ecx,esi mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00441D50 mov ecx,[ebp-0Ch] pop esi mov fs:[00000000h],ecx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 L00425D90: push ebp mov ebp,esp mov eax,ecx push eax mov ecx,[eax+48h] mov eax,[ebp+08h] push eax mov edx,[ecx] call [edx+00000154h] pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 8 SUB_L00425DB0: push ebp mov ebp,esp mov eax,fs:[00000000h] push FFFFFFFFh push L004B27FB push eax mov eax,[ebp+08h] mov fs:[00000000h],esp push ebx push esi mov esi,ecx push edi mov ecx,[ebp+0Ch] mov edx,[esi+38h] mov [esi+2Ch],eax mov [esi+30h],ecx mov eax,[edx+04h] test eax,eax jz L00425DFD push SSZ004C55B8_ChatScrollBar_frame0 push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov eax,[esi+38h] mov dword ptr [eax+04h],00000000h L00425DFD: lea ecx,[ebp+08h] lea ebx,[esi+1Ch] push ecx mov edx,ebx mov ecx,00000A98h call SUB_L004390A0 mov eax,[ebp+10h] mov ecx,[ebx] mov [esi+20h],eax imul eax,ecx lea edx,[eax+eax+04h] mov [esi+18h],ecx push SSZ004C55B8_ChatScrollBar_frame0 push edx mov ecx,L00669C8C call SUB_L0044FBD0 mov ecx,[esi+38h] mov [ecx+04h],eax mov ecx,[esi+20h] imul ecx,[ebx] mov edx,[esi+38h] xor eax,eax shl ecx,1 mov edi,[edx+04h] mov edx,ecx add edi,00000004h shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+38h] mov dx,[ebx] mov ecx,[eax+04h] mov [ecx],dx mov eax,[esi+38h] mov dx,[esi+20h] mov ecx,[eax+04h] mov [ecx+02h],dx mov eax,[esi+20h] mov ecx,[esi+38h] push eax push 00000000h push 00000000h mov edx,[ecx+04h] push 00000A98h push edx mov ecx,esi call SUB_L00425470 mov eax,[esi+00000098h] mov ecx,[esi+20h] sub ecx,[eax+20h] mov [eax+30h],ecx mov ecx,[esi+000000A0h] test ecx,ecx jz L00425EAD mov edx,[ecx] push 00000001h call [edx] L00425EAD: push 000000B4h call SUB_L0049A820 add esp,00000004h mov [ebp+0Ch],eax test eax,eax mov dword ptr [ebp-04h],00000000h jz L00425EF4 mov ecx,[esi+00000098h] mov edx,[esi+20h] push 00000A99h push esi mov edi,[ecx+20h] mov ecx,[esi+00000094h] sub edx,edi push edx mov edx,[ecx+20h] push 00000001h push edx push 00000002h mov ecx,eax call SUB_L00412A50 jmp L00425EF6 L00425EF4: xor eax,eax L00425EF6: push 00000001h push esi mov ecx,eax mov dword ptr [ebp-04h],FFFFFFFFh mov [esi+000000A0h],eax call SUB_L004415C0 mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ SUB_L00425F20: push ebp mov ebp,esp mov eax,[ebp+0Ch] test eax,eax jnz L00425F2F mov eax,00000001h L00425F2F: mov ecx,[ecx+000000A0h] push eax mov eax,[ebp+08h] push eax call SUB_L00412F50 pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 L00425F50: push ebp mov ebp,esp mov eax,ecx push eax mov ecx,[eax+48h] mov eax,[ebp+0Ch] push eax mov eax,[ebp+08h] mov edx,[ecx] push eax call [edx+00000150h] pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 4 L00425F70: mov al,[ecx+000000A4h] test al,al jz L00425F85 mov ecx,[ecx+0000009Ch] mov eax,[ecx] jmp [eax+30h] L00425F85: retn ;------------------------------------------------------------------------------ Align 16 SUB_L00425F90: push ebp mov ebp,esp push FFFFFFFFh push L004B2818 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push esi mov esi,ecx push edi mov [ebp-10h],esi call SUB_L00441CB0 mov ecx,[ebp+18h] mov edx,[ebp+0Ch] mov [esi+00000094h],ecx mov ecx,[ebp+10h] mov [esi+0000009Ch],ecx mov ecx,[ebp+1Ch] mov [esi+00000098h],edx mov edx,[ebp+14h] xor eax,eax mov [esi+000000B4h],ecx mov ebx,00000001h push SSZ004C5600_ChatTextBox_framedata push 00000008h mov ecx,L00669C8C mov [ebp-04h],eax mov [esi+000000A0h],edx mov [esi+000000A4h],eax mov [esi+000000A8h],eax mov [esi+000000ACh],eax mov dword ptr [esi+000000B0h],FFFFFFFFh mov [esi+000000B8h],eax mov [esi+000000BCh],eax mov dword ptr [esi],L004B9710 mov [esi+4Ch],eax mov [esi+48h],eax mov [esi+44h],eax mov [esi+40h],eax mov [esi+3Ch],eax mov [esi+2Ch],eax mov [esi+30h],eax mov [esi+10h],eax mov [esi+14h],ebx mov [esi+20h],ebx mov [esi+18h],ebx mov [esi+1Ch],ebx call SUB_L0044FBD0 mov ecx,[esi+14h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+38h],edi push SSZ004C55EC_ChatTextBox_frame0 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+1Ch] imul eax,[esi+20h] lea ecx,[eax+eax+04h] push ecx mov ecx,L00669C8C call SUB_L0044FBD0 mov edx,[esi+38h] mov [edx+04h],eax mov ecx,[esi+1Ch] imul ecx,[esi+20h] mov edx,[esi+38h] xor eax,eax shl ecx,1 mov edi,[edx+04h] mov edx,ecx add edi,00000004h shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+38h] mov dx,[esi+1Ch] mov ecx,[eax+04h] mov [ecx],dx mov eax,[esi+38h] mov ecx,[eax+04h] mov dx,[esi+20h] mov eax,[ebp+08h] push ebx mov [ecx+02h],dx push eax mov ecx,esi call SUB_L004415C0 mov ecx,[ebp-0Ch] mov eax,esi pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0018h ;------------------------------------------------------------------------------ Align 8 L004260F0: push ebp mov ebp,esp push esi mov esi,ecx call SUB_L00426120 test byte ptr [ebp+08h],01h jz L0042610A push esi call SUB_L0049A810 add esp,00000004h L0042610A: mov eax,esi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00426120: push ebp mov ebp,esp push FFFFFFFFh push L004B2838 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx mov [ebp-10h],esi mov dword ptr [esi],L004B9710 mov eax,[esi+000000BCh] mov dword ptr [ebp-04h],00000000h test eax,eax jz L0042617E L00426156: mov [esi+000000B8h],eax mov ecx,[esi+000000B8h] mov eax,[eax+18h] push ecx mov [esi+000000BCh],eax call SUB_L0049A810 mov eax,[esi+000000BCh] add esp,00000004h test eax,eax jnz L00426156 L0042617E: mov edx,[esi+38h] mov eax,[edx+04h] test eax,eax jz L004261A2 push SSZ004C55EC_ChatTextBox_frame0 push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov eax,[esi+38h] mov dword ptr [eax+04h],00000000h L004261A2: mov eax,[esi+38h] test eax,eax jz L004261C0 push SSZ004C5600_ChatTextBox_framedata push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov dword ptr [esi+38h],00000000h L004261C0: mov ecx,esi mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00441D50 mov ecx,[ebp-0Ch] pop esi mov fs:[00000000h],ecx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 4 SUB_L004261E0: push ebp mov ebp,esp mov eax,[ebp+08h] push esi mov esi,ecx mov ecx,[ebp+0Ch] mov edx,[esi+38h] mov [esi+2Ch],eax mov [esi+30h],ecx mov eax,[edx+04h] push eax call SUB_L0049A810 mov eax,[ebp+14h] mov ecx,[ebp+10h] mov [esi+20h],eax imul eax,ecx add esp,00000004h mov [esi+18h],ecx mov [esi+1Ch],ecx lea ecx,[eax+eax+04h] push SSZ004C55EC_ChatTextBox_frame0 push ecx mov ecx,L00669C8C call SUB_L0044FBD0 mov edx,[esi+38h] mov [edx+04h],eax mov eax,[esi+38h] mov dx,[esi+1Ch] mov ecx,[eax+04h] mov [ecx],dx mov eax,[esi+38h] mov dx,[esi+20h] mov ecx,[eax+04h] mov [ecx+02h],dx mov ecx,esi call SUB_L004266D0 mov ecx,esi call SUB_L004268F0 pop esi pop ebp retn 0010h ;------------------------------------------------------------------------------ Align 8 SUB_L00426260: push ebp mov ebp,esp sub esp,0000000Ch push ebx push esi mov esi,ecx push edi mov eax,[esi+000000A4h] mov ecx,[esi+000000A0h] cmp eax,ecx jnz L004262D2 mov edi,[esi+000000BCh] xor ebx,ebx mov eax,[edi+18h] cmp eax,ebx mov [esi+000000BCh],eax jz L00426295 mov [eax+1Ch],ebx jmp L0042629B L00426295: mov [esi+000000B8h],ebx L0042629B: mov ecx,[edi] push ecx call SUB_L0049A810 mov edx,[edi+14h] mov eax,[esi+000000A8h] mov ecx,[esi+000000ACh] sub eax,edx mov [esi+000000A8h],eax mov eax,[edi+14h] add esp,00000004h sub ecx,eax mov [esi+000000ACh],ecx jns L004262ED mov [esi+000000ACh],ebx jmp L004262ED L004262D2: push 00000024h call SUB_L0049A820 mov edi,eax mov eax,[esi+000000A4h] add esp,00000004h inc eax mov [esi+000000A4h],eax xor ebx,ebx L004262ED: mov eax,[ebp+14h] mov ecx,[ebp+0Ch] mov edx,[ebp+10h] mov [edi+0Ch],eax mov eax,[ebp+1Ch] mov [edi+04h],ecx mov ecx,[ebp+18h] cmp eax,ebx mov [edi+08h],edx mov [edi+10h],ecx jz L00426321 push 00000003h lea edx,[edi+20h] push eax push edx call SUB_L0049B200 add esp,0000000Ch mov byte ptr [edi+23h],00h jmp L00426325 L00426321: mov byte ptr [edi+20h],00h L00426325: mov ebx,[ebp+08h] mov ecx,ebx call SUB_L00491C00 lea eax,[eax+eax+02h] push eax call SUB_L0049A820 add esp,00000004h mov edx,ebx mov ecx,eax mov [edi],eax call SUB_L00491D10 mov eax,[esi+00000098h] lea ecx,[ebp-08h] lea edx,[ebp-04h] push ecx test eax,eax push edx jz L0042636C mov edx,[esi+1Ch] mov ecx,[edi] lea eax,[ebp-0Ch] sub edx,00000004h push eax call SUB_L00492F30 jmp L00426376 L0042636C: mov ecx,[edi] lea edx,[ebp-0Ch] call SUB_L00492DC0 L00426376: mov eax,[ebp-04h] cmp eax,00000012h jge L00426383 mov eax,00000012h L00426383: mov [edi+14h],eax mov dword ptr [edi+18h],00000000h mov eax,[esi+000000B8h] mov [edi+1Ch],eax mov eax,[esi+000000B8h] test eax,eax jz L004263A5 mov [eax+18h],edi jmp L004263AB L004263A5: mov [esi+000000BCh],edi L004263AB: mov ecx,[esi+000000ACh] mov eax,[esi+000000A8h] mov edx,[ebp-04h] cmp ecx,eax mov [esi+000000B8h],edi jnz L004263CC add ecx,edx mov [esi+000000ACh],ecx L004263CC: mov edi,[esi+00000094h] mov ecx,[esi+48h] add eax,edx push edi mov [esi+000000A8h],eax mov edx,[ecx] push eax mov eax,[esi+000000ACh] push eax call [edx+00000148h] mov ecx,esi call SUB_L004268F0 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0018h ;------------------------------------------------------------------------------ Align 4 SUB_L00426400: push ebp mov ebp,esp push ebx mov ebx,ecx push esi push edi mov esi,[ebx+000000BCh] mov edi,[ebp+08h] test esi,esi jz L00426429 L00426415: mov ecx,[esi] mov edx,edi call SUB_L00491C20 test eax,eax jz L0042644A mov esi,[esi+18h] test esi,esi jnz L00426415 L00426429: mov edx,[ebp+18h] mov eax,[ebp+14h] mov ecx,[ebp+10h] push 00000000h push edx mov edx,[ebp+0Ch] push eax push ecx push edx push edi mov ecx,ebx call SUB_L00426260 pop edi pop esi pop ebx pop ebp retn 0018h ;------------------------------------------------------------------------------ L0042644A: mov eax,[ebp+0Ch] mov ecx,[ebp+10h] mov edx,[ebp+14h] mov [esi+04h],eax mov eax,[ebp+18h] mov [esi+08h],ecx mov [esi+10h],eax mov eax,[ebp+1Ch] test eax,eax mov [esi+0Ch],edx jz L0042648A push 00000003h lea ecx,[esi+20h] push eax push ecx call SUB_L0049B200 add esp,0000000Ch mov ecx,ebx mov byte ptr [esi+23h],00h call SUB_L004268F0 pop edi pop esi pop ebx pop ebp retn 0018h ;------------------------------------------------------------------------------ L0042648A: mov ecx,ebx mov byte ptr [esi+20h],00h call SUB_L004268F0 pop edi pop esi pop ebx pop ebp retn 0018h ;------------------------------------------------------------------------------ Align 8 SUB_L004264A0: push ebp mov ebp,esp push ebx push esi push edi mov edi,ecx mov esi,[edi+000000BCh] test esi,esi jz L00426566 mov ebx,[ebp+08h] L004264B9: mov edx,[esi] mov ecx,ebx call SUB_L00491C20 test eax,eax jz L004264CD mov esi,[esi+18h] test esi,esi jnz L004264B9 L004264CD: test esi,esi jz L00426566 mov edx,[edi+000000A4h] dec edx mov [edi+000000A4h],edx mov eax,[esi+18h] test eax,eax jz L004264F1 mov ecx,[esi+1Ch] mov [eax+1Ch],ecx jmp L004264FA L004264F1: mov edx,[esi+1Ch] mov [edi+000000B8h],edx L004264FA: mov eax,[esi+1Ch] test eax,eax jz L00426509 mov ecx,[esi+18h] mov [eax+18h],ecx jmp L00426512 L00426509: mov edx,[esi+18h] mov [edi+000000BCh],edx L00426512: mov ecx,[edi+000000ACh] mov eax,[edi+000000A8h] cmp ecx,eax jnz L0042652B sub ecx,[esi+14h] mov [edi+000000ACh],ecx L0042652B: mov ecx,[esi+14h] push esi sub eax,ecx mov [edi+000000A8h],eax call SUB_L0049A810 mov edx,[edi+00000094h] mov ecx,[edi+48h] add esp,00000004h mov eax,[ecx] push edx mov edx,[edi+000000A8h] push edx mov edx,[edi+000000ACh] push edx call [eax+00000148h] mov ecx,edi call SUB_L004268F0 L00426566: pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L00426570: push esi mov esi,ecx mov eax,[esi+000000BCh] test eax,eax jz L004265D6 L0042657D: mov ecx,[eax+18h] push eax mov [esi+000000BCh],ecx mov edx,[eax+14h] sub [esi+000000A8h],edx call SUB_L0049A810 mov eax,[esi+000000BCh] add esp,00000004h test eax,eax jnz L0042657D mov edx,[esi+00000094h] mov ecx,[esi+48h] push edx mov edx,[esi+000000A8h] mov [esi+000000B8h],eax mov [esi+000000ACh],eax mov [esi+000000A4h],eax mov eax,[ecx] push edx push 00000000h call [eax+00000148h] mov ecx,esi call SUB_L004268F0 L004265D6: pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L004265E0: push ebp mov ebp,esp mov eax,[ebp+08h] push esi mov esi,ecx push edi mov edi,[esi+00000094h] mov ecx,[esi+48h] push edi mov edi,[esi+000000A8h] mov [esi+000000ACh],eax mov edx,[ecx] push edi push eax call [edx+00000148h] mov ecx,esi call SUB_L004268F0 pop edi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00426620: push ebp mov ebp,esp mov edx,[ecx+000000A8h] push esi test edx,edx jle L00426644 mov esi,[ebp+0Ch] test esi,esi jle L00426644 mov eax,[ebp+08h] imul eax,edx cdq idiv esi mov [ecx+000000ACh],eax L00426644: call SUB_L004268F0 pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 4 SUB_L00426650: push ebp mov ebp,esp mov edx,[ebp+08h] push ebx push esi mov esi,ecx test edx,edx mov eax,[esi+000000ACh] push edi mov ecx,eax jnz L0042666C add eax,FFFFFFEEh jmp L0042666F L0042666C: add eax,00000012h L0042666F: test eax,eax mov [esi+000000ACh],eax jge L00426683 mov dword ptr [esi+000000ACh],00000000h L00426683: mov edx,[esi+000000A8h] mov eax,[esi+000000ACh] cmp eax,edx jle L00426699 mov [esi+000000ACh],edx L00426699: mov eax,[esi+000000ACh] cmp eax,ecx jz L004266BE mov ecx,[esi+48h] mov ebx,[esi+00000094h] push ebx push edx mov edi,[ecx] push eax call [edi+00000148h] mov ecx,esi call SUB_L004268F0 L004266BE: pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L004266D0: push ebp mov ebp,esp sub esp,00000014h push ebx push esi push edi mov esi,ecx call SUB_L00492730 mov ebx,eax call SUB_L00491AF0 mov [ebp-14h],eax mov al,[L007B7D2C] mov [ebp-01h],al mov al,[L0054906C] test al,al jz L00426708 mov ecx,[L004C7230] call SUB_L00492740 jmp L0042672D L00426708: mov ecx,[L004CCE3C] call SUB_L00492740 mov ecx,[L004C55E8] call SUB_L00491B00 mov eax,[L004D7E8C] test eax,eax setnz cl call SUB_L00491B30 L0042672D: mov ecx,[esi+20h] mov edi,[esi+000000B8h] neg ecx test edi,edi mov [esi+000000A8h],ecx jz L00426799 L00426742: mov eax,[esi+00000098h] lea edx,[ebp-0Ch] test eax,eax lea eax,[ebp-08h] push edx push eax jz L00426767 mov edx,[esi+1Ch] lea ecx,[ebp-10h] push ecx mov ecx,[edi] sub edx,00000004h call SUB_L00492F30 jmp L00426771 L00426767: mov ecx,[edi] lea edx,[ebp-10h] call SUB_L00492DC0 L00426771: mov eax,[ebp-08h] cmp eax,00000012h jge L0042677E mov eax,00000012h L0042677E: mov [edi+14h],eax mov ecx,[ebp-08h] mov edx,[esi+000000A8h] add edx,ecx mov [esi+000000A8h],edx mov edi,[edi+1Ch] test edi,edi jnz L00426742 L00426799: mov eax,[esi+000000A8h] mov ecx,[esi+48h] mov [esi+000000ACh],eax mov esi,[esi+00000094h] mov edx,[ecx] push esi push eax push eax call [edx+00000148h] mov ecx,ebx call SUB_L00492740 mov ecx,[ebp-14h] call SUB_L00491B00 mov cl,[ebp-01h] call SUB_L00491B30 pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L004267E0: push ebp mov ebp,esp sub esp,00000010h push ebx push esi push edi mov esi,ecx call SUB_L00492730 mov edi,eax call SUB_L00491AF0 mov ebx,eax mov al,[L007B7D2C] mov [ebp-01h],al mov al,[L0054906C] test al,al jz L00426817 mov ecx,[L004C7230] call SUB_L00492740 jmp L0042683C L00426817: mov ecx,[L004CCE3C] call SUB_L00492740 mov ecx,[L004C55E8] call SUB_L00491B00 mov eax,[L004D7E8C] test eax,eax setnz cl call SUB_L00491B30 L0042683C: mov eax,[esi+000000B8h] mov edx,[esi+000000A8h] mov ecx,[eax+14h] sub edx,ecx mov ecx,[esi+00000098h] test ecx,ecx mov [esi+000000A8h],edx jz L00426878 lea edx,[ebp-0Ch] lea ecx,[ebp-08h] push edx lea edx,[ebp-10h] push ecx mov ecx,[eax] push edx mov edx,[esi+1Ch] sub edx,00000004h call SUB_L00492F30 jmp L0042688A L00426878: lea ecx,[ebp-0Ch] lea edx,[ebp-08h] push ecx mov ecx,[eax] push edx lea edx,[ebp-10h] call SUB_L00492DC0 L0042688A: mov eax,[ebp-08h] cmp eax,00000012h jge L00426897 mov eax,00000012h L00426897: mov ecx,[esi+000000B8h] mov [ecx+14h],eax mov edx,[ebp-08h] mov eax,[esi+000000A8h] mov ecx,[esi+48h] add eax,edx mov [esi+000000A8h],eax mov [esi+000000ACh],eax mov esi,[esi+00000094h] mov edx,[ecx] push esi push eax push eax call [edx+00000148h] mov ecx,edi call SUB_L00492740 mov ecx,ebx call SUB_L00491B00 mov cl,[ebp-01h] call SUB_L00491B30 pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L004268F0: push ebp mov ebp,esp sub esp,0000002Ch push ebx push esi push edi mov esi,ecx call SUB_L00492730 mov [ebp-18h],eax call SUB_L00491AF0 mov [ebp-1Ch],eax mov al,[L007B7D2C] mov [ebp-01h],al mov al,[L0054906C] test al,al jz L00426929 mov ecx,[L004C7230] call SUB_L00492740 jmp L0042694E L00426929: mov ecx,[L004CCE3C] call SUB_L00492740 mov ecx,[L004C55E8] call SUB_L00491B00 mov eax,[L004D7E8C] test eax,eax setnz cl call SUB_L00491B30 L0042694E: mov ecx,[esi+000000B4h] xor ebx,ebx cmp ecx,ebx jge L004269D0 lea edx,[ebp-0Ch] push edx lea edx,[ebp-08h] neg ecx call SUB_L004390A0 cmp [ebp-08h],ebx jz L004269CA mov ecx,[esi+20h] mov eax,[esi+1Ch] cmp ecx,ebx mov [ebp-28h],ebx mov [ebp-2Ch],ebx mov [ebp-24h],eax mov [ebp-20h],ecx jle L004269D0 L00426983: xor edi,edi test eax,eax jle L004269BC L00426989: mov ecx,[esi+20h] mov edx,[esi+38h] push ecx push eax mov eax,[edx+04h] mov edx,[esi+000000B4h] add eax,00000004h lea ecx,[ebp-2Ch] push eax push ebx push edi push ecx neg edx mov ecx,SUB_L00488380 call SUB_L00439290 mov edx,[ebp-08h] mov eax,[esi+1Ch] add edi,edx cmp edi,eax jl L00426989 L004269BC: mov edx,[ebp-0Ch] mov ecx,[esi+20h] add ebx,edx cmp ebx,ecx jl L00426983 jmp L004269D0 L004269CA: mov [esi+000000B4h],ebx L004269D0: mov eax,[esi+000000B4h] test eax,eax jl L00426A1F mov cl,[L0073EC3C] mov edx,eax test cl,cl jz L004269F3 and edx,00007FE0h and eax,0000001Fh shl edx,1 or edx,eax L004269F3: mov ecx,[esi+1Ch] xor eax,eax imul ecx,[esi+20h] test ecx,ecx jle L00426A1F mov ecx,00000004h L00426A05: mov edi,[esi+38h] inc eax add ecx,00000002h mov edi,[edi+04h] mov [edi+ecx-02h],dx mov edi,[esi+1Ch] imul edi,[esi+20h] cmp eax,edi jl L00426A05 L00426A1F: mov edx,[esi+1Ch] mov ebx,[esi+20h] mov ecx,[esi+000000A8h] mov edi,[esi+000000B8h] sub edx,00000002h mov [ebp-20h],ebx mov [ebp-24h],edx mov edx,[esi+000000ACh] sub ebx,edx mov dword ptr [ebp-28h],00000000h add ebx,ecx mov dword ptr [ebp-2Ch],00000002h test edi,edi jz L00426AD3 L00426A56: mov ecx,[edi+14h] mov eax,[esi+20h] sub ebx,ecx cmp ebx,eax jge L00426AC8 mov eax,[esi+00000098h] test eax,eax jz L00426A9D mov ecx,[edi+10h] mov edx,[edi+0Ch] mov eax,[esi+1Ch] push ecx mov ecx,[edi+08h] push edx push ecx mov ecx,[edi+04h] lea edx,[ebp-2Ch] push edx mov edx,[edi] push ecx push ebx push 00000002h push edx push eax lea edx,[eax-04h] mov eax,[esi+38h] mov ecx,[eax+04h] add ecx,00000004h call SUB_L00493820 jmp L00426AC8 L00426A9D: mov ecx,[edi+10h] mov edx,[edi+0Ch] mov eax,[edi+08h] push ecx push edx mov edx,[edi+04h] lea ecx,[ebp-2Ch] push eax mov eax,[edi] push ecx mov ecx,[esi+38h] push edx mov edx,[esi+1Ch] push ebx mov ecx,[ecx+04h] push 00000002h push eax add ecx,00000004h call SUB_L00492BE0 L00426AC8: test ebx,ebx jl L00426AD3 mov edi,[edi+1Ch] test edi,edi jnz L00426A56 L00426AD3: mov ecx,[esi+000000B0h] cmp ecx,FFFFFFFFh jz L00426B5D mov eax,[esi+000000B8h] test eax,eax jz L00426B5D mov edx,[esi+000000A8h] mov ebx,[eax+14h] mov edi,[esi+000000ACh] sub edx,ebx sub edx,edi jns L00426B5D lea edx,[ebp-0Ch] push edx lea edx,[ebp-08h] push edx mov edx,[esi+1Ch] sub edx,00000004h push edx mov edx,[eax] call SUB_L004932B0 mov ecx,[esi+000000B8h] mov edx,[ebp-0Ch] mov ebx,[esi+000000A8h] lea eax,[ebp-2Ch] mov edi,[ecx+14h] mov ecx,[esi+000000ACh] sub edx,edi push eax mov eax,[esi+20h] sub edx,ecx mov ecx,[esi+38h] add edx,eax mov eax,[ebp-08h] add edx,ebx mov ecx,[ecx+04h] push 00007FFFh add eax,00000002h push edx mov edx,[esi+1Ch] push eax push L004C5618 add ecx,00000004h call SUB_L00492A20 L00426B5D: mov eax,[esi+0000009Ch] test eax,eax jz L00426C0C lea edx,[ebp-0Ch] mov ecx,esi push edx call SUB_L00426C30 test eax,eax jz L00426C0C mov edi,[ebp-28h] mov ecx,[ebp-0Ch] cmp edi,ecx jge L00426B8D mov edi,ecx mov [ebp-28h],edi L00426B8D: mov eax,[eax+14h] add ecx,eax mov eax,[ebp-20h] cmp eax,ecx jle L00426B9E mov eax,ecx mov [ebp-20h],eax L00426B9E: mov ebx,edi mov ecx,[ebp-24h] imul ebx,[esi+1Ch] mov edx,[ebp-2Ch] mov [ebp-08h],edi sub ecx,edx add ebx,edx mov edx,[esi+38h] mov [ebp-14h],ecx mov edx,[edx+04h] lea edx,[edx+ebx*2+04h] mov bl,[L0073EC3C] neg bl sbb ebx,ebx and ebx,00008000h add ebx,00007FFFh cmp edi,eax mov [ebp-10h],ebx jge L00426C0C L00426BDB: test ecx,ecx jle L00426BFB mov eax,edx L00426BE1: mov di,[eax] mov ebx,[ebp-10h] not di and ebx,edi mov [eax],bx add eax,00000002h dec ecx jnz L00426BE1 mov eax,[ebp-20h] mov ecx,[ebp-14h] L00426BFB: mov edi,[esi+1Ch] lea edx,[edx+edi*2] mov edi,[ebp-08h] inc edi cmp edi,eax mov [ebp-08h],edi jl L00426BDB L00426C0C: mov ecx,[ebp-18h] call SUB_L00492740 mov ecx,[ebp-1Ch] call SUB_L00491B00 mov cl,[ebp-01h] call SUB_L00491B30 pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 SUB_L00426C30: push ebp mov ebp,esp sub esp,00000008h push esi mov esi,ecx lea eax,[ebp-04h] push edi lea ecx,[ebp-08h] push eax push ecx mov ecx,L006A9DC0 call SUB_L00450540 lea edx,[ebp-04h] lea eax,[ebp-08h] push edx push eax mov ecx,esi call SUB_L00440CD0 mov eax,[ebp-04h] mov ecx,[ebp-08h] mov edx,[esi] push eax push ecx mov ecx,esi call [edx+10h] test eax,eax jz L00426CC5 mov ecx,[esi+000000A8h] mov edx,[esi+000000ACh] mov edi,[esi+20h] mov eax,[esi+000000B8h] sub ecx,edx add ecx,edi test eax,eax jz L00426CC5 mov esi,[ebp-04h] L00426C8E: mov edx,[eax+14h] sub ecx,edx cmp ecx,edi jge L00426CA1 cmp esi,ecx jl L00426CA1 add edx,ecx cmp esi,edx jl L00426CB4 L00426CA1: test ecx,ecx jl L00426CC5 mov eax,[eax+1Ch] test eax,eax jnz L00426C8E pop edi pop esi mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L00426CB4: mov edx,[ebp+08h] test edx,edx jz L00426CC7 mov [edx],ecx pop edi pop esi mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L00426CC5: xor eax,eax L00426CC7: pop edi pop esi mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 4 L00426CD0: push ebp mov ebp,esp mov eax,[ecx+0000009Ch] test eax,eax jz L00426CE2 call SUB_L004268F0 L00426CE2: pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 L00426CF0: push ebp mov ebp,esp push esi mov esi,ecx mov eax,[esi+0000009Ch] test eax,eax jz L00426D0A call SUB_L004268F0 pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ L00426D0A: mov eax,[esi+48h] test eax,eax jz L00426D40 lea eax,[ebp+0Ch] lea ecx,[ebp+08h] push eax push ecx mov ecx,esi call SUB_L00440C60 mov ecx,[esi+48h] lea edx,[ebp+0Ch] lea eax,[ebp+08h] push edx push eax call SUB_L00440CD0 mov eax,[ebp+0Ch] mov ecx,[esi+48h] push eax mov eax,[ebp+08h] mov edx,[ecx] push eax call [edx+2Ch] L00426D40: pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 L00426D50: mov eax,[ecx+0000009Ch] test eax,eax jz L00426D5F jmp SUB_L004268F0 L00426D5F: retn ;------------------------------------------------------------------------------ L00426D60: db C7h; '‡' db 81h; '?' db B0h; 'ø' db 00h; db 00h; db 00h; db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db E9h; '©' db 81h; '?' db FBh; 'ë' db FFh; 'ï' db FFh; 'ï' db 90h; '?' SUB_L00426D70: push esi mov esi,ecx mov eax,[esi+000000B8h] mov ecx,[eax] call SUB_L00491C00 mov ecx,esi mov [esi+000000B0h],eax call SUB_L004268F0 pop esi retn ;------------------------------------------------------------------------------ Align 4 L00426D90: push ebp mov ebp,esp push esi mov esi,ecx mov eax,[esi+0000009Ch] test eax,eax jnz L00426DD6 mov eax,[esi+48h] test eax,eax jz L00426DD6 lea eax,[ebp+0Ch] lea ecx,[ebp+08h] push eax push ecx mov ecx,esi call SUB_L00440C60 mov ecx,[esi+48h] lea edx,[ebp+0Ch] lea eax,[ebp+08h] push edx push eax call SUB_L00440CD0 mov eax,[ebp+0Ch] mov ecx,[esi+48h] push eax mov eax,[ebp+08h] mov edx,[ecx] push eax call [edx+14h] L00426DD6: pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 8 L00426DE0: push ebp mov ebp,esp push esi mov esi,ecx mov eax,[esi+0000009Ch] test eax,eax jz L00426E1D push 00000000h mov dword ptr [L006A9DD4],00000000h call SUB_L00426C30 test eax,eax jz L00426E53 mov ecx,[esi+48h] test ecx,ecx jz L00426E53 mov eax,[eax] mov edx,[ecx] push esi push eax call [edx+00000144h] pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ L00426E1D: mov eax,[esi+48h] test eax,eax jz L00426E53 lea ecx,[ebp+0Ch] lea edx,[ebp+08h] push ecx push edx mov ecx,esi call SUB_L00440C60 lea eax,[ebp+0Ch] lea ecx,[ebp+08h] push eax push ecx mov ecx,[esi+48h] call SUB_L00440CD0 mov eax,[ebp+0Ch] mov ecx,[esi+48h] push eax mov eax,[ebp+08h] mov edx,[ecx] push eax call [edx+18h] L00426E53: pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L00426E60: push ebp mov ebp,esp push esi mov esi,ecx push edi mov eax,[esi+000000B8h] mov ecx,[eax] push ecx call SUB_L0049A810 mov edi,[ebp+08h] add esp,00000004h mov ecx,edi call SUB_L00491D30 mov edx,[esi+000000B8h] mov ecx,edi mov [edx],eax call SUB_L00491C00 cmp word ptr [edi+eax*2-02h],0024h jnz L00426ECB mov eax,[esi+000000B8h] mov ecx,[eax] call SUB_L00491C00 mov ecx,[esi+000000B8h] mov edx,[ecx] mov ecx,esi mov word ptr [edx+eax*2-02h],0000h call SUB_L004267E0 mov eax,[esi] push 0000000Dh mov ecx,esi call [eax+44h] pop edi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ L00426ECB: mov ecx,esi call SUB_L004267E0 mov ecx,esi call SUB_L004268F0 pop edi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L00426EE0: push ebp mov ebp,esp push ebx push esi mov esi,ecx push edi mov eax,[esi+000000B8h] mov ecx,[eax] call SUB_L00491C00 mov ebx,[ebp+08h] mov edi,eax mov ecx,ebx call SUB_L00491C00 add edi,eax lea ecx,[edi+edi+02h] push ecx call SUB_L0049A820 mov edx,[esi+000000B8h] mov edi,eax add esp,00000004h mov ecx,edi mov edx,[edx] call SUB_L00491D10 mov edx,ebx mov ecx,edi call SUB_L00491DC0 mov eax,[esi+000000B8h] mov ecx,[eax] push ecx call SUB_L0049A810 mov edx,[esi+000000B8h] add esp,00000004h mov ecx,ebx mov [edx],edi call SUB_L00491C00 cmp word ptr [ebx+eax*2-02h],0024h jnz L00426F77 mov ecx,edi call SUB_L00491C00 mov ecx,esi mov word ptr [edi+eax*2-02h],0000h call SUB_L004267E0 mov eax,[esi] push 0000000Dh mov ecx,esi call [eax+44h] pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ L00426F77: mov ecx,esi call SUB_L004267E0 mov ecx,esi call SUB_L004268F0 pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 8 SUB_L00426F90: mov eax,[ecx+000000B8h] mov eax,[eax] retn ;------------------------------------------------------------------------------ Align 8 SUB_L00426FA0: mov eax,[ecx+000000B8h] mov eax,[eax+14h] retn ;------------------------------------------------------------------------------ Align 8 SUB_L00426FB0: push ebp mov ebp,esp sub esp,00000010h push ebx push esi push edi mov esi,ecx call SUB_L00492730 mov edi,eax call SUB_L00491AF0 mov ebx,eax mov al,[L007B7D2C] mov [ebp-01h],al mov al,[L0054906C] test al,al jz L00426FE7 mov ecx,[L004C7230] call SUB_L00492740 jmp L0042700C L00426FE7: mov ecx,[L004CCE3C] call SUB_L00492740 mov ecx,[L004C55E8] call SUB_L00491B00 mov eax,[L004D7E8C] test eax,eax setnz cl call SUB_L00491B30 L0042700C: mov eax,[esi+000000B8h] lea ecx,[ebp-0Ch] lea edx,[ebp-10h] push ecx mov ecx,[eax] push edx lea edx,[ebp-08h] call SUB_L00492DC0 mov ecx,edi call SUB_L00492740 mov ecx,ebx call SUB_L00491B00 mov cl,[ebp-01h] call SUB_L00491B30 mov eax,[ebp-08h] test eax,eax jz L0042704B add eax,00000004h pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L0042704B: pop edi pop esi xor eax,eax pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 L00427060: push ebp mov ebp,esp push ebx push esi mov esi,ecx push edi mov ecx,[ebp+08h] cmp ecx,0000000Dh jg L004271D5 jz L00427187 mov eax,ecx sub eax,00000008h jz L00427163 dec eax jz L0042715C CASE_00427304_PROC0005: call SUB_L00492940 test eax,eax jz L0042715C mov ecx,[esi+000000B8h] mov ecx,[ecx] call SUB_L00491C00 mov edi,eax cmp edi,000003FFh jge L0042715C lea edx,[edi+edi+04h] push edx call SUB_L0049A820 mov ecx,[esi+000000B0h] mov ebx,eax add esp,00000004h xor eax,eax test ecx,ecx jle L004270EC L004270CF: mov ecx,[esi+000000B8h] inc eax mov edx,[ecx] mov cx,[edx+eax*2-02h] mov [ebx+eax*2-02h],cx mov ecx,[esi+000000B0h] cmp eax,ecx jl L004270CF L004270EC: mov edx,[esi+000000B0h] mov ax,[ebp+08h] mov [ebx+edx*2],ax mov eax,[esi+000000B0h] cmp eax,edi jge L00427121 lea ecx,[ebx+eax*2+02h] L00427108: mov edx,[esi+000000B8h] inc eax add ecx,00000002h cmp eax,edi mov edx,[edx] mov dx,[edx+eax*2-02h] mov [ecx-02h],dx jl L00427108 L00427121: mov word ptr [ebx+edi*2+02h],0000h mov eax,[esi+000000B8h] mov ecx,[eax] push ecx call SUB_L0049A810 mov edx,[esi+000000B8h] add esp,00000004h mov [edx],ebx mov eax,[esi+000000B0h] inc eax mov [esi+000000B0h],eax L0042714E: mov ecx,esi call SUB_L004267E0 mov ecx,esi call SUB_L004268F0 L0042715C: pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ L00427163: mov eax,[esi+000000B0h] test eax,eax jle L0042715C dec eax push 0000E02Eh mov [esi+000000B0h],eax mov eax,[esi] mov ecx,esi call [eax+44h] pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ L00427187: mov eax,[esi+000000B8h] mov ecx,[esi+48h] push esi mov eax,[eax] mov edx,[ecx] push eax call [edx+0000014Ch] test eax,eax jz L0042715C mov eax,[esi+000000B8h] mov dword ptr [esi+000000B0h],00000000h push 00000000h mov ecx,[eax+10h] mov edx,[eax+0Ch] push ecx mov ecx,[eax+08h] push edx mov edx,[eax+04h] push ecx push edx push L004D7E98 mov ecx,esi call SUB_L00426260 pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ L004271D5: cmp ecx,0000E023h jg L004271FD jz CASE_00427304_PROC0004 cmp ecx,0000001Bh jnz CASE_00427304_PROC0005 mov ecx,L00669608 call SUB_L0043FDA0 pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ L004271FD: lea eax,[ecx-0000E024h] cmp eax,0000000Ah ja CASE_00427304_PROC0005 jmp [CASE_PROCTABLE_00427304+eax*4] CASE_00427304_PROC000A: mov eax,[esi+000000B8h] mov ecx,[esi+000000B0h] mov eax,[eax] cmp word ptr [eax+ecx*2],0000h jz L0042715C lea ecx,[ecx+ecx-02h] L00427230: mov dx,[ecx+eax+04h] add ecx,00000002h mov [ecx+eax],dx mov eax,[esi+000000B8h] mov eax,[eax] cmp word ptr [ecx+eax],0000h jnz L00427230 jmp L0042714E CASE_00427304_PROC0001: mov eax,[esi+000000B0h] test eax,eax jle L0042715C dec eax mov ecx,esi mov [esi+000000B0h],eax call SUB_L004268F0 pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_00427304_PROC0003: mov ecx,[esi+000000B8h] mov edi,[esi+000000B0h] mov ecx,[ecx] call SUB_L00491C00 cmp edi,eax jz L0042715C inc edi mov ecx,esi mov [esi+000000B0h],edi call SUB_L004268F0 pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_00427304_PROC0004: mov edx,[esi+000000B8h] mov ecx,[edx] call SUB_L00491C00 cmp [esi+000000B0h],eax jz L0042715C mov eax,[esi+000000B8h] mov ecx,[eax] call SUB_L00491C00 mov ecx,esi mov [esi+000000B0h],eax call SUB_L004268F0 pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_00427304_PROC0000: mov eax,[esi+000000B0h] test eax,eax jz L0042715C mov ecx,esi mov dword ptr [esi+000000B0h],00000000h call SUB_L004268F0 pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_00427304: dd CASE_00427304_PROC0000 dd CASE_00427304_PROC0001 dd CASE_00427304_PROC0000 dd CASE_00427304_PROC0003 dd CASE_00427304_PROC0004 dd CASE_00427304_PROC0005 dd CASE_00427304_PROC0005 dd CASE_00427304_PROC0005 dd CASE_00427304_PROC0005 dd CASE_00427304_PROC0005 dd CASE_00427304_PROC000A L00427330: push ebp mov ebp,esp sub esp,0000000Ch push ebx push esi test ecx,ecx push edi mov [ebp-04h],ecx jz L00427417 mov edi,[ebp+08h] xor esi,esi test edi,edi jz L00427356 mov ecx,edi call SUB_L00491C00 mov esi,eax L00427356: mov ebx,[ebp+0Ch] mov ecx,ebx call SUB_L00491C00 add esi,eax test esi,esi jle L00427417 mov ecx,[L004D7E94] lea eax,[esi+08h] cmp eax,ecx jle L004273A3 mov [L004D7E94],eax mov eax,[L004D7E90] push eax call SUB_L0049A810 mov ecx,[L004D7E94] add esp,00000004h lea edx,[ecx+ecx] push edx call SUB_L0049A820 add esp,00000004h mov [L004D7E90],eax jmp L004273A8 L004273A3: mov eax,[L004D7E90] L004273A8: test eax,eax jz L00427417 test edi,edi mov word ptr [eax],0000h jz L004273E6 mov ecx,[L004D7E90] mov edx,edi call SUB_L00491DC0 mov ecx,[L004D7E90] xor eax,eax lea edx,[ebp-0Ch] mov word ptr [ebp-0Ch],003Ah mov word ptr [ebp-0Ah],0020h mov [ebp-08h],ax mov [ebp-06h],ax call SUB_L00491DC0 L004273E6: test ebx,ebx jz L004273F7 mov ecx,[L004D7E90] mov edx,ebx call SUB_L00491DC0 L004273F7: mov eax,[L004CCD5C] mov ecx,[L004D7E90] push L005492F4 push FFFFFFFFh push FFFFFFFFh push 00000000h push eax push ecx mov ecx,[ebp-04h] call SUB_L00426260 L00427417: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ mov dword ptr [L004D7EB0],00000040h mov dword ptr [L004D7EBC],00000140h mov dword ptr [L004D7EC0],000000EBh mov dword ptr [L004D7EC4],00000000h mov ecx,L004D7EA0 jmp SUB_L004274D0 Align 16 SUB_L00427460: push ebp mov ebp,esp mov eax,[ebp+08h] cmp eax,00000002h jge L00427470 mov eax,00000002h L00427470: cmp eax,00000100h jle L0042747C mov eax,00000100h L0042747C: mov [ecx+10h],eax call SUB_L004274D0 pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00427490: push ebp mov ebp,esp mov edx,[ebp+08h] test edx,edx jge L0042749C xor edx,edx L0042749C: cmp edx,00000280h jl L004274A9 mov edx,0000027Fh L004274A9: mov eax,[ebp+0Ch] test eax,eax jge L004274B2 xor eax,eax L004274B2: cmp eax,000001E0h jl L004274BE mov eax,000001DFh L004274BE: mov [ecx+1Ch],edx mov [ecx+20h],eax call SUB_L004274D0 pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 4 SUB_L004274D0: mov edx,[ecx+10h] mov eax,edx push esi imul eax,edx xor esi,esi mov [ecx+14h],eax test eax,eax mov dword ptr [ecx+18h],00000000h jz L004274F9 L004274E9: test al,01h jz L004274EE inc esi L004274EE: sar eax,1 jz L004274F5 inc [ecx+18h] L004274F5: test eax,eax jnz L004274E9 L004274F9: cmp esi,00000001h jz L0042750E mov dword ptr [ecx+18h],00000000h mov dword ptr [ecx+24h],L004275C0 jmp L00427515 L0042750E: mov dword ptr [ecx+24h],L00427540 L00427515: mov eax,[ecx+1Ch] mov esi,eax sub esi,edx lea eax,[eax+edx+01h] dec esi mov [ecx+08h],eax mov eax,[ecx+20h] mov [ecx],esi mov esi,eax sub esi,edx lea edx,[eax+edx+01h] dec esi mov [ecx+0Ch],edx mov [ecx+04h],esi pop esi retn ;------------------------------------------------------------------------------ Align 8 L00427540: push ebp mov ebp,esp push ecx mov edx,[ebp+0Ch] push ebx push esi mov esi,[ecx+14h] push edi mov edi,[ebp+10h] mov eax,edx sub esi,edi sar eax,0Ah mov [ebp+10h],esi imul eax,esi mov esi,[ebp+08h] mov ecx,[ecx+18h] mov ebx,esi mov [ebp-04h],ecx sar ebx,0Ah imul ebx,edi add eax,ebx mov ebx,esi sar eax,cl mov ecx,edx and edx,0000001Fh sar ebx,05h imul edx,[ebp+10h] sar ecx,05h and ebx,0000001Fh and ecx,0000001Fh imul ecx,[ebp+10h] imul ebx,edi and esi,0000001Fh add ebx,ecx mov ecx,[ebp-04h] imul esi,edi sar ebx,cl add edx,esi pop edi shl eax,05h sar edx,cl or eax,ebx pop esi shl eax,05h pop ebx or eax,edx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 16 L004275C0: push ebp mov ebp,esp push ecx mov edx,[ebp+10h] push ebx mov ebx,[ebp+0Ch] push esi push edi mov edi,[ecx+14h] mov ecx,[ebp+08h] mov esi,edi sub esi,edx mov eax,ebx mov edx,ecx mov [ebp-04h],edi sar eax,0Ah sar edx,0Ah imul eax,esi imul edx,[ebp+10h] add eax,edx cdq idiv edi mov edx,ecx and ecx,0000001Fh sar edx,05h imul ecx,[ebp+10h] and edx,0000001Fh imul edx,[ebp+10h] mov edi,eax mov eax,ebx sar eax,05h and eax,0000001Fh imul eax,esi shl edi,05h add eax,edx mov [ebp+08h],edi mov edi,[ebp-04h] mov ebx,[ebp+08h] cdq idiv edi or ebx,eax mov eax,[ebp+0Ch] and eax,0000001Fh imul eax,esi add eax,ecx cdq idiv edi shl ebx,05h pop edi pop esi or eax,ebx pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 4 SUB_L00427640: push ebp mov ebp,esp sub esp,00000010h push esi mov esi,ecx push edi mov eax,[esi] call [eax+2Ch] test eax,eax jnz L004276CA mov ax,[esi+38h] cmp ax,17B2h ja L00427663 cmp ax,1796h jnc L004276CA L00427663: mov edx,[esi] mov ecx,esi call [edx+70h] movsx ecx,[esi+24h] mov edx,[L0073EBE4] add eax,ecx movsx ecx,[edx+24h] add ecx,00000005h cmp eax,ecx jle L004276CA mov edi,[L004DAF40] add esi,00000004h mov eax,[esi] sub eax,edi mov ecx,[esi+04h] mov [ebp-10h],eax mov eax,[L004DAF44] mov edx,[esi+08h] sub ecx,eax sub edx,edi mov [ebp-0Ch],ecx mov esi,[esi+0Ch] mov [ebp-08h],edx sub esi,eax mov edx,L004D7EA0 lea ecx,[ebp-10h] mov [ebp-04h],esi call SUB_L00430FE0 test eax,eax jz L004276CA mov eax,00000001h pop edi pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L004276CA: pop edi xor eax,eax pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L004276E0: push ebp mov ebp,esp sub esp,00000008h mov edx,[L006BAE7C] push ebx push esi mov esi,[ebp+0Ch] push edi mov edi,esi sub edi,edx mov ebx,ecx shr edi,1 mov eax,edi cdq idiv [L004C7F34] mov eax,[ebx+1Ch] mov ecx,edx sub ecx,eax mov eax,edi cdq idiv [L004C7F34] mov edx,[ebx+20h] mov edi,[ebx+14h] mov [ebp+0Ch],ecx sub eax,edx mov edx,eax imul edx,eax mov eax,[ebp+08h] mov [ebp-04h],edx cmp eax,SUB_L00488380 jnz L004277AF cmp edx,edi jle L00427748 mov ecx,[ebp+14h] mov edx,[ebp+10h] push ecx mov ecx,esi call eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0010h ;------------------------------------------------------------------------------ L00427748: mov eax,[ebp+14h] test eax,eax jle L0042783E mov edi,[ebp+10h] mov [ebp+14h],eax sub edi,esi jmp L00427763 L0042775D: mov edx,[ebp-04h] mov ecx,[ebp+0Ch] L00427763: mov eax,ecx imul eax,ecx mov ecx,[ebx+14h] add eax,edx cmp eax,ecx jg L00427789 xor ecx,ecx xor edx,edx mov cx,[esi] mov dx,[edi+esi] push eax push ecx push edx mov ecx,ebx call [ebx+24h] mov [esi],ax jmp L00427793 L00427789: push 00000001h lea edx,[edi+esi] mov ecx,esi call [ebp+08h] L00427793: mov edx,[ebp+0Ch] mov eax,[ebp+14h] inc edx add esi,00000002h dec eax mov [ebp+0Ch],edx mov [ebp+14h],eax jnz L0042775D pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0010h ;------------------------------------------------------------------------------ L004277AF: cmp edx,edi jle L004277C7 mov ecx,[ebp+14h] mov edx,[ebp+10h] push ecx mov ecx,esi call eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0010h ;------------------------------------------------------------------------------ L004277C7: mov eax,[ebp+14h] test eax,eax jle L0042783E mov eax,[ebp+10h] mov edi,[ebp+14h] sub eax,esi mov [ebp+10h],edi mov [ebp-08h],eax jmp L004277E7 L004277DE: mov edx,[ebp-04h] mov ecx,[ebp+0Ch] mov eax,[ebp-08h] L004277E7: mov edi,ecx imul edi,ecx mov ecx,[ebx+14h] add edi,edx cmp edi,ecx jg L00427821 mov dx,[esi] push 00000001h mov [ebp+14h],edx lea edx,[esi+eax] lea ecx,[ebp+14h] call [ebp+08h] mov ecx,[ebp+14h] xor eax,eax mov ax,[esi] push edi and ecx,0000FFFFh push eax push ecx mov ecx,ebx call [ebx+24h] mov [esi],ax jmp L0042782B L00427821: push 00000001h lea edx,[esi+eax] mov ecx,esi call [ebp+08h] L0042782B: mov edx,[ebp+0Ch] mov eax,[ebp+10h] inc edx add esi,00000002h dec eax mov [ebp+0Ch],edx mov [ebp+10h],eax jnz L004277DE L0042783E: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0010h ;------------------------------------------------------------------------------ Align 16 SUB_L00427850: push ebp mov ebp,esp sub esp,0000001Ch push ebx push esi test edx,edx push edi mov [ebp-0Ch],ecx jz L00427A05 xor ebx,ebx mov esi,[ebp+0Ch] mov bx,[edx+06h] xor eax,eax mov ax,[edx+04h] mov [ebp-14h],ebx lea ecx,[edx+ebx*2+08h] mov [ebp-18h],ecx mov ecx,[ebp+08h] mov ecx,[ecx] cmp ecx,esi jle L0042788F sub ecx,esi mov edi,ecx mov [ebp-08h],edi jmp L00427899 L0042788F: mov dword ptr [ebp-08h],00000000h mov edi,[ebp-08h] L00427899: mov ecx,[ebp+08h] add esi,eax mov ecx,[ecx+08h] cmp ecx,esi jge L004278AD sub ecx,[ebp+0Ch] mov [ebp-04h],ecx jmp L004278B0 L004278AD: mov [ebp-04h],eax L004278B0: cmp edi,[ebp-04h] jge L00427A05 mov esi,[ebp+08h] mov ecx,[ebp+10h] mov eax,[esi+04h] cmp eax,ecx jle L004278CA sub eax,ecx jmp L004278CC L004278CA: xor eax,eax L004278CC: mov esi,[esi+0Ch] add ebx,ecx cmp esi,ebx jge L004278D9 sub esi,ecx jmp L004278DD L004278D9: mov esi,[ebp-14h] dec esi L004278DD: add ecx,eax mov ebx,[ebp+0Ch] imul ecx,[L00767360] add ecx,ebx mov ebx,[L00767364] lea edx,[edx+eax*2+08h] lea ecx,[ebx+ecx*2] mov [ebp-10h],edx mov [ebp+08h],ecx mov ecx,[ebp-04h] sub ecx,edi cmp eax,esi mov [ebp-1Ch],ecx jge L00427A05 sub esi,eax mov [ebp-14h],esi L00427913: mov ecx,[ebp-18h] xor eax,eax mov ax,[edx] lea esi,[ecx+eax*2] mov ax,[ecx+eax*2] mov bx,[esi+02h] add esi,00000002h mov [ebp+10h],eax add esi,00000002h test bx,bx jz L004279E1 L00427938: and eax,0000FFFFh cmp edi,eax jle L00427977 mov edx,[ebp+08h] lea ecx,[edx+edi*2] sub edi,eax lea edx,[esi+edi*2] mov edi,ebx and edi,0000FFFFh add eax,edi cmp eax,[ebp-04h] jle L00427967 mov eax,[ebp-1Ch] push eax push edx push ecx mov ecx,[ebp-0Ch] push ecx jmp L004279AE L00427967: sub eax,[ebp-08h] test eax,eax jle L004279B8 push eax push edx mov edx,[ebp-0Ch] push ecx push edx jmp L004279AE L00427977: mov ecx,[ebp+08h] mov edi,ebx and edi,0000FFFFh lea edx,[ecx+eax*2] mov ecx,[ebp-04h] mov [ebp+0Ch],edx lea edx,[edi+eax] cmp edx,ecx jle L004279A4 sub ecx,eax test ecx,ecx jle L004279B8 mov eax,[ebp+0Ch] push ecx mov ecx,[ebp-0Ch] push esi push eax push ecx jmp L004279AE L004279A4: mov edx,[ebp+0Ch] mov eax,[ebp-0Ch] push edi push esi push edx push eax L004279AE: mov ecx,L004D7EA0 call SUB_L004276E0 L004279B8: lea esi,[esi+edi*2] xor eax,eax mov edi,[ebp-08h] mov ax,[esi] add esi,00000002h add esi,00000002h lea ecx,[eax+ebx] mov eax,[ebp+10h] mov bx,[esi-02h] add eax,ecx test bx,bx mov [ebp+10h],eax jnz L00427938 L004279E1: mov edx,[ebp+08h] mov eax,[L00767360] lea ecx,[edx+eax*2] mov edx,[ebp-10h] mov eax,[ebp-14h] add edx,00000002h dec eax mov [ebp+08h],ecx mov [ebp-10h],edx mov [ebp-14h],eax jnz L00427913 L00427A05: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ db 90h; '?' db 90h; '?' mov eax,ecx mov dword ptr [eax+04h],00000000h mov dword ptr [eax],00000000h retn ;------------------------------------------------------------------------------ SUB_L00427A20: push ebp mov ebp,esp push esi mov esi,[ebp+08h] push edi mov edi,ecx mov eax,[esi+08h] mov dword ptr [eax+000001BCh],00000000h mov ecx,[esi+08h] call SUB_L00430E30 cmp [edi+04h],esi jnz L00427A4A mov ecx,[esi+04h] mov [edi+04h],ecx L00427A4A: cmp [edi],esi jnz L00427A52 mov edx,[esi] mov [edi],edx L00427A52: mov eax,[esi+04h] test eax,eax jz L00427A5D mov ecx,[esi] mov [eax],ecx L00427A5D: mov eax,[esi] test eax,eax jz L00427A69 mov edx,[esi+04h] mov [eax+04h],edx L00427A69: mov dword ptr [esi+04h],00000000h mov dword ptr [esi],00000000h pop edi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 8 SUB_L00427A80: push ebp mov ebp,esp mov eax,[ecx] test eax,eax jz L00427A97 mov ecx,[ebp+08h] L00427A8C: cmp [eax+08h],ecx jz L00427A99 mov eax,[eax] test eax,eax jnz L00427A8C L00427A97: xor eax,eax L00427A99: pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L00427AA0: push esi push edi mov edi,ecx mov esi,[edi] test esi,esi jz L00427B09 push ebx L00427AAB: mov eax,[esi+08h] mov ebx,[esi] mov dword ptr [eax+000001BCh],00000000h mov ecx,[esi+08h] call SUB_L00430E30 cmp [edi+04h],esi jnz L00427ACD mov ecx,[esi+04h] mov [edi+04h],ecx L00427ACD: cmp [edi],esi jnz L00427AD5 mov edx,[esi] mov [edi],edx L00427AD5: mov eax,[esi+04h] test eax,eax jz L00427AE0 mov ecx,[esi] mov [eax],ecx L00427AE0: mov eax,[esi] test eax,eax jz L00427AEC mov edx,[esi+04h] mov [eax+04h],edx L00427AEC: push esi mov dword ptr [esi+04h],00000000h mov dword ptr [esi],00000000h call SUB_L0049A810 add esp,00000004h mov esi,ebx test ebx,ebx jnz L00427AAB pop ebx L00427B09: pop edi pop esi retn ;------------------------------------------------------------------------------ Align 8 SUB_L00427B10: push ebp mov ebp,esp mov eax,[ebp+08h] push esi push L004C61C4 push eax mov ecx,L006BB1C8 call SUB_L00455E10 push eax call SUB_L0049A7F0 mov esi,eax add esp,00000008h test esi,esi mov [ebp+08h],esi jz L00427BE0 test byte ptr [esi+0Ch],10h jnz L00427BD7 push edi push ebx L00427B49: mov ecx,esi call SUB_L00454B10 push L004C61BC push eax call SUB_L0049B3D0 mov ebx,eax add esp,00000008h test ebx,ebx jz L00427BCB mov eax,[L004C5630] xor edi,edi test eax,eax jz L00427B96 mov eax,L004C5630 mov esi,eax L00427B76: mov ecx,[eax] push ecx push ebx call SUB_L0049B300 add esp,00000008h test eax,eax jz L00427BE5 mov ecx,[esi+08h] add esi,00000008h inc edi mov eax,esi test ecx,ecx jnz L00427B76 mov esi,[ebp+08h] L00427B96: mov edi,00000073h L00427B9B: cmp edi,00000073h jz L00427BCB push L004C61B4 push 00000000h call SUB_L0049B3D0 add esp,00000008h test eax,eax jz L00427BCB cmp byte ptr [eax],00h jz L00427BCB mov edx,[ebp+0Ch] mov ecx,edi and edx,000000FFh push edx mov edx,eax call SUB_L004280E0 L00427BCB: test byte ptr [esi+0Ch],10h jz L00427B49 pop ebx pop edi L00427BD7: push esi call SUB_L0049A580 add esp,00000004h L00427BE0: pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ L00427BE5: mov edi,[L004C5634+edi*8] mov esi,[ebp+08h] jmp L00427B9B Align 16 SUB_L00427C00: push ebp mov ebp,esp sub esp,00000024h push ebx push esi push edi mov [ebp-04h],ecx push L004C40E0 mov [ebp-0Ch],edx push SSZ004C61D8_uo_cfg mov ecx,L006BB1C8 call SUB_L00455E10 push eax call SUB_L0049A7F0 mov edi,eax xor ebx,ebx add esp,00000008h cmp edi,ebx mov [ebp-10h],edi mov [ebp-1Ch],ebx mov [ebp-14h],ebx mov [ebp-08h],ebx mov [ebp-20h],ebx mov [ebp-24h],ebx jz L00427EC3 L00427C4A: mov eax,[ebp-08h] test eax,eax jnz L00427CEF push edi call SUB_L0049B7E0 add esp,00000004h mov ecx,edi mov [ebp-18h],eax call SUB_L00454B10 mov esi,eax mov al,[edi+0Ch] test al,10h jz L00427C7A mov dword ptr [ebp-08h],00000001h jmp L00427CE1 L00427C7A: push edi call SUB_L0049B7E0 add esp,00000004h mov [ebp-1Ch],eax push L004C61BC push esi call SUB_L0049B3D0 mov ebx,eax add esp,00000008h test ebx,ebx jz L00427CE1 mov eax,[L004C5630] xor edi,edi test eax,eax jz L00427CCD mov eax,L004C5630 mov esi,eax L00427CAC: mov eax,[eax] push eax push ebx call SUB_L0049B300 add esp,00000008h test eax,eax jz L00427ECA mov ecx,[esi+08h] add esi,00000008h inc edi mov eax,esi test ecx,ecx jnz L00427CAC L00427CCD: mov edi,00000073h L00427CD2: cmp edi,[ebp-04h] jnz L00427CDE mov dword ptr [ebp-14h],00000001h L00427CDE: mov edi,[ebp-10h] L00427CE1: mov eax,[ebp-14h] mov ebx,[ebp-18h] test eax,eax jz L00427C4A L00427CEF: push edi call SUB_L0049A580 mov eax,[ebp-08h] add esp,00000004h test eax,eax jz L00427D4B push L004C61D4 push SSZ004C61D8_uo_cfg mov ecx,L006BB1C8 call SUB_L00455E10 push eax call SUB_L0049A7F0 mov edx,[ebp-04h] mov ecx,[ebp-0Ch] add esp,00000008h mov esi,eax mov eax,[L004C5630+edx*8] push ecx push eax push SSZ004C61CC__s__s_ push esi call SUB_L0049B790 add esp,00000010h push esi call SUB_L0049A580 add esp,00000004h pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00427D4B: push L004C40E0 push SSZ004C61D8_uo_cfg mov ecx,L006BB1C8 call SUB_L00455E10 push eax call SUB_L0049A7F0 add esp,00000008h mov esi,eax test ebx,ebx jle L00427D87 push ebx call SUB_L0049A820 add esp,00000004h mov [ebp-20h],eax push esi push ebx push 00000001h push eax call SUB_L0049A630 add esp,00000010h L00427D87: push 00000002h push 00000000h push esi call SUB_L0049B6B0 add esp,0000000Ch push esi call SUB_L0049B7E0 mov edi,eax mov eax,[ebp-1Ch] sub edi,eax add esp,00000004h test edi,edi mov [ebp-1Ch],edi jle L00427DD0 push 00000000h push eax push esi call SUB_L0049B6B0 add esp,0000000Ch push edi call SUB_L0049A820 add esp,00000004h mov [ebp-24h],eax push esi push edi push 00000001h push eax call SUB_L0049A630 add esp,00000010h L00427DD0: push esi call SUB_L0049A580 add esp,00000004h mov ecx,L006BB1C8 push L004C61C8 push SSZ004C61D8_uo_cfg call SUB_L00455E10 push eax call SUB_L0049A7F0 add esp,00000008h mov esi,eax test ebx,ebx jle L00427E15 mov edi,[ebp-20h] push esi push ebx push 00000001h push edi call SUB_L0049B520 add esp,00000010h push edi call SUB_L0049A810 add esp,00000004h L00427E15: mov ecx,[ebp-04h] xor eax,eax mov edi,[L004C5630+ecx*8] or ecx,FFFFFFFFh repne scasb not ecx dec ecx xor edi,edi mov ebx,ecx test ebx,ebx jle L00427E4E L00427E31: mov edx,[ebp-04h] push esi mov eax,[L004C5630+edx*8] movsx ecx,[edi+eax] push ecx call SUB_L0049B4C0 add esp,00000008h inc edi cmp edi,ebx jl L00427E31 L00427E4E: push esi push 0000003Dh call SUB_L0049B4C0 mov edi,[ebp-0Ch] or ecx,FFFFFFFFh xor eax,eax add esp,00000008h repne scasb not ecx dec ecx xor edi,edi mov ebx,ecx test ebx,ebx jle L00427E84 L00427E6E: mov edx,[ebp-0Ch] push esi movsx eax,[edi+edx] push eax call SUB_L0049B4C0 add esp,00000008h inc edi cmp edi,ebx jl L00427E6E L00427E84: push esi push 0000000Dh call SUB_L0049B4C0 add esp,00000008h push esi push 0000000Ah call SUB_L0049B4C0 mov eax,[ebp-1Ch] add esp,00000008h test eax,eax jle L00427EBA mov edi,[ebp-24h] push esi push eax push 00000001h push edi call SUB_L0049B520 add esp,00000010h push edi call SUB_L0049A810 add esp,00000004h L00427EBA: push esi call SUB_L0049A580 add esp,00000004h L00427EC3: pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00427ECA: mov edi,[L004C5634+edi*8] jmp L00427CD2 Align 16 SUB_L00427EE0: push esi push edi mov esi,ecx xor edi,edi L00427EE6: movsx eax,[esi] push eax call SUB_L0049B9C0 add esp,00000004h test eax,eax jz L00427F88 movsx ecx,[esi+01h] inc esi push ecx call SUB_L0049B9C0 add esp,00000004h test eax,eax jz L00427F0D inc esi L00427F0D: movsx edx,[esi] push edx call SUB_L0049B9C0 add esp,00000004h test eax,eax jz L00427F1E inc esi L00427F1E: cmp edi,00000003h jge L00427F2B cmp byte ptr [esi],2Eh jnz L00427F88 cmp edi,00000003h L00427F2B: jnz L00427F32 cmp byte ptr [esi],2Ch jnz L00427F88 L00427F32: inc esi inc edi cmp edi,00000004h jl L00427EE6 movsx eax,[esi] push eax call SUB_L0049B9C0 add esp,00000004h test eax,eax jnz L00427F4C pop edi pop esi retn ;------------------------------------------------------------------------------ L00427F4C: movsx ecx,[esi+01h] inc esi push ecx call SUB_L0049B9C0 add esp,00000004h test eax,eax jnz L00427F61 pop edi pop esi retn ;------------------------------------------------------------------------------ L00427F61: movsx edx,[esi+01h] inc esi push edx call SUB_L0049B9C0 add esp,00000004h test eax,eax jnz L00427F76 pop edi pop esi retn ;------------------------------------------------------------------------------ L00427F76: movsx eax,[esi+01h] inc esi push eax call SUB_L0049B9C0 add esp,00000004h test eax,eax jnz L00427F8D L00427F88: xor eax,eax pop edi pop esi retn ;------------------------------------------------------------------------------ L00427F8D: movsx ecx,[esi+01h] inc esi push ecx call SUB_L0049B9C0 add esp,00000004h test eax,eax jz L00427FA0 inc esi L00427FA0: movsx edx,[esi] push edx call SUB_L0049B9C0 add esp,00000004h neg eax sbb eax,eax pop edi inc eax pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L00427FC0: push ebp mov ebp,esp sub esp,00000590h mov al,[ecx] push ebx mov ebx,edx push esi xor edx,edx push edi test al,al jz L00427FEA L00427FD6: cmp al,2Ch jz L00427FEA mov [ebp+edx-00000590h],al mov al,[ecx+01h] inc edx inc ecx test al,al jnz L00427FD6 L00427FEA: mov al,[ecx] mov esi,[ebp+14h] cmp al,2Ch mov byte ptr [ebp+edx-00000590h],00h jnz L0042800D push esi inc ecx push L004C43EC push ecx call SUB_L0049BA20 add esp,0000000Ch jmp L00428013 L0042800D: mov dword ptr [esi],00000000h L00428013: lea eax,[ebp-00000190h] push eax push 00000101h call jmp_WSOCK32.dll!WSOCK32.115 test eax,eax jz L00428058 mov ecx,[ebp+10h] mov edx,[ebp+0Ch] mov eax,[ebp+08h] mov dword ptr [esi],00000000h mov dword ptr [ecx],00000000h mov dword ptr [edx],00000000h mov dword ptr [eax],00000000h mov dword ptr [ebx],00000000h pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0010h ;------------------------------------------------------------------------------ L00428058: lea ecx,[ebp-00000590h] push ecx call jmp_WSOCK32.dll!WSOCK32.52 mov edi,eax call jmp_WSOCK32.dll!WSOCK32.116 test edi,edi jz L004280AC mov edx,[edi+0Ch] mov eax,[edx] mov ecx,[eax] push ecx call jmp_WSOCK32.dll!WSOCK32.14 mov edx,eax mov [ebp+14h],eax shr edx,18h mov [ebx],edx mov edx,[ebp+08h] xor ecx,ecx mov cl,[ebp+16h] mov [edx],ecx mov edx,[ebp+0Ch] xor ecx,ecx mov cl,ah and eax,000000FFh mov [edx],ecx mov ecx,[ebp+10h] mov [ecx],eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0010h ;------------------------------------------------------------------------------ L004280AC: mov edx,[ebp+10h] mov eax,[ebp+0Ch] mov ecx,[ebp+08h] mov dword ptr [esi],00000000h mov dword ptr [edx],00000000h mov dword ptr [eax],00000000h mov dword ptr [ecx],00000000h pop edi mov dword ptr [ebx],00000000h pop esi pop ebx mov esp,ebp pop ebp retn 0010h ;------------------------------------------------------------------------------ Align 8 SUB_L004280E0: push ebp mov ebp,esp push FFFFFFFFh push L004B2858 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,0000002Ch push ebx push esi push edi mov edi,ecx mov esi,edx lea ecx,[ebp-38h] call SUB_L004823D0 mov eax,[ebp+08h] xor ebx,ebx cmp eax,ebx mov [ebp-04h],ebx jz L00428128 cmp edi,0000001Ch jz CASE_00429670_PROC000A cmp edi,0000001Dh jz CASE_00429670_PROC000A L00428128: cmp edi,00000072h ja CASE_00429670_PROC000A jmp [CASE_PROCTABLE_00429670+edi*4] CASE_00429670_PROC002A: push L004C4740 push esi call SUB_L0049B300 add esp,00000008h test eax,eax jz L00428167 push L004C46E0 push esi call SUB_L0049B300 add esp,00000008h test eax,eax jz L00428167 mov [L0073EC0C],bl jmp CASE_00429670_PROC000A L00428167: mov byte ptr [L0073EC0C],01h jmp CASE_00429670_PROC000A CASE_00429670_PROC0027: push L004C4740 push esi call SUB_L0049B300 add esp,00000008h test eax,eax jz L004281DD push L004C46E0 push esi call SUB_L0049B300 add esp,00000008h test eax,eax jz L004281DD mov [L0073EC14],bl jmp CASE_00429670_PROC000A CASE_00429670_PROC0028: mov edi,esi or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx push ecx call SUB_L0049A820 mov edx,eax mov edi,esi or ecx,FFFFFFFFh xor eax,eax add esp,00000004h mov [L0077738C],edx repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb L004281DD: mov byte ptr [L0073EC14],01h jmp CASE_00429670_PROC000A CASE_00429670_PROC0029: push L004C4740 push esi call SUB_L0049B300 add esp,00000008h test eax,eax jz L00428218 push L004C46E0 push esi call SUB_L0049B300 add esp,00000008h test eax,eax jz L00428218 mov [L0073EC18],bl jmp CASE_00429670_PROC000A L00428218: mov byte ptr [L0073EC18],01h jmp CASE_00429670_PROC000A CASE_00429670_PROC005C: push L004C4740 push esi call SUB_L0049B300 add esp,00000008h test eax,eax jz L00428253 push L004C46E0 push esi call SUB_L0049B300 add esp,00000008h test eax,eax jz L00428253 mov [L0073EC00],bl jmp CASE_00429670_PROC000A L00428253: mov byte ptr [L0073EC00],01h jmp CASE_00429670_PROC000A CASE_00429670_PROC005D: push L004C4740 push esi call SUB_L0049B300 add esp,00000008h test eax,eax jz L0042828E push L004C46E0 push esi call SUB_L0049B300 add esp,00000008h test eax,eax jz L0042828E mov [L004CCB30],bl jmp CASE_00429670_PROC000A L0042828E: mov byte ptr [L004CCB30],01h jmp CASE_00429670_PROC000A CASE_00429670_PROC005E: push esi call SUB_L0049BB10 add esp,00000004h cmp eax,ebx jge L004282A9 xor eax,eax L004282A9: cmp eax,00000003h jl L004282B3 mov eax,00000002h L004282B3: mov [L004CCE44],eax mov [L004D04A8],eax jmp CASE_00429670_PROC000A CASE_00429670_PROC005F: push esi call SUB_L0049BB10 add esp,00000004h cmp eax,00000064h mov [L004CCDF4],eax jge CASE_00429670_PROC000A mov dword ptr [L004CCDF4],00000064h jmp CASE_00429670_PROC000A CASE_00429670_PROC0060: mov ecx,esi call SUB_L004488B0 mov [L004CCD88],eax jmp CASE_00429670_PROC000A CASE_00429670_PROC0061: push L004C4740 push esi mov byte ptr [L00549068],01h call SUB_L0049B300 add esp,00000008h test eax,eax jz L00428353 push L004C46E0 push esi call SUB_L0049B300 add esp,00000008h test eax,eax jz L00428353 push SSZ004C6224_true push esi call SUB_L0049B300 add esp,00000008h test eax,eax jz L00428353 push L004C4E68 push esi call SUB_L0049B300 add esp,00000008h test eax,eax jz L00428353 mov [L004CCB34],bl jmp CASE_00429670_PROC000A L00428353: mov byte ptr [L004C7224],01h mov byte ptr [L004CCB34],01h jmp CASE_00429670_PROC000A CASE_00429670_PROC0062: push esi call SUB_L0049BB10 add esp,00000004h cmp eax,00000064h jge L00428379 mov eax,00000064h L00428379: mov [L004CCDF8],eax mov [L004C7228],eax jmp CASE_00429670_PROC000A CASE_00429670_PROC0063: mov ecx,esi call SUB_L004488B0 mov [L004CCD84],eax mov [L004C722C],eax jmp CASE_00429670_PROC000A CASE_00429670_PROC0064: push esi call SUB_L0049BB10 add esp,00000004h cmp eax,ebx jge L004283AD xor eax,eax L004283AD: cmp eax,00000003h jl L004283B7 mov eax,00000002h L004283B7: mov [L004CCE40],eax mov [L004C7230],eax jmp CASE_00429670_PROC000A CASE_00429670_PROC0065: push L004C4740 push esi call SUB_L0049B300 add esp,00000008h test eax,eax jz L00428419 push L004C46E0 push esi call SUB_L0049B300 add esp,00000008h test eax,eax jz L00428419 push SSZ004C6224_true push esi call SUB_L0049B300 add esp,00000008h test eax,eax jz L00428419 push L004C4E68 push esi call SUB_L0049B300 add esp,00000008h test eax,eax jz L00428419 mov [L0073EC28],bl jmp CASE_00429670_PROC000A L00428419: mov byte ptr [L00549070],01h mov byte ptr [L0073EC28],01h jmp CASE_00429670_PROC000A CASE_00429670_PROC0066: push L004C46DC push esi call SUB_L0049B300 add esp,00000008h test eax,eax jz L00428480 push L004C473C push esi call SUB_L0049B300 add esp,00000008h test eax,eax jz L00428480 push SSZ004C621C_false push esi call SUB_L0049B300 add esp,00000008h test eax,eax jz L00428480 push L004C6218 push esi call SUB_L0049B300 add esp,00000008h test eax,eax jz L00428480 mov byte ptr [L004CCB38],01h jmp CASE_00429670_PROC000A L00428480: mov [L004C7234],bl mov [L004CCB38],bl jmp CASE_00429670_PROC000A CASE_00429670_PROC006A: push L004C4740 push esi call SUB_L0049B300 add esp,00000008h test eax,eax jz L004284DD push L004C46E0 push esi call SUB_L0049B300 add esp,00000008h test eax,eax jz L004284DD push SSZ004C6224_true push esi call SUB_L0049B300 add esp,00000008h test eax,eax jz L004284DD push L004C4E68 push esi call SUB_L0049B300 add esp,00000008h test eax,eax jnz CASE_00429670_PROC000A L004284DD: call SUB_L0044CAB0 jmp CASE_00429670_PROC000A CASE_00429670_PROC006B: mov ecx,esi mov dword ptr [ebp-10h],0000007Fh mov [ebp-14h],ebx mov [ebp-18h],ebx mov dword ptr [ebp-1Ch],00000001h mov dword ptr [ebp-20h],000070D8h call SUB_L00427EE0 test eax,eax jz L0042852F lea ecx,[ebp-20h] lea edx,[ebp-1Ch] push ecx lea eax,[ebp-18h] push edx lea ecx,[ebp-14h] push eax lea edx,[ebp-10h] push ecx push edx push SSZ004C6208__d__d__d__d__d push esi call SUB_L0049BA20 add esp,0000001Ch L0042852F: mov ecx,[ebp-10h] mov ebx,[ebp-14h] mov esi,[ebp-18h] mov eax,[ebp-1Ch] shl ecx,08h or ecx,ebx shl ecx,08h or ecx,esi shl ecx,08h or ecx,eax call SUB_L0044CE00 mov ecx,[ebp-20h] call SUB_L0044CE10 jmp CASE_00429670_PROC000A CASE_00429670_PROC006C: mov ecx,esi call SUB_L0044CE20 jmp CASE_00429670_PROC000A CASE_00429670_PROC006D: mov ecx,esi call SUB_L0044CE70 jmp CASE_00429670_PROC000A CASE_00429670_PROC006E: mov ecx,esi call SUB_L0044CEA0 jmp CASE_00429670_PROC000A CASE_00429670_PROC006F: mov ecx,esi call SUB_L0044CEB0 jmp CASE_00429670_PROC000A CASE_00429670_PROC0070: push L004C4740 push esi call SUB_L0049B300 add esp,00000008h test eax,eax jz L004285EC push L004C46E0 push esi call SUB_L0049B300 add esp,00000008h test eax,eax jz L004285EC push SSZ004C6224_true push esi call SUB_L0049B300 add esp,00000008h test eax,eax jz L004285EC push L004C4E68 push esi call SUB_L0049B300 add esp,00000008h test eax,eax jz L004285EC mov [L004CCBA0],bl mov [L004C79CC],bl mov byte ptr [L004C79D0],01h jmp CASE_00429670_PROC000A L004285EC: mov byte ptr [L004CCBA0],01h mov byte ptr [L004C79CC],01h mov [L004C79D0],bl jmp CASE_00429670_PROC000A CASE_00429670_PROC0072: push L004C4740 push esi call SUB_L0049B300 add esp,00000008h test eax,eax jz L0042864D push L004C46E0 push esi call SUB_L0049B300 add esp,00000008h test eax,eax jz L0042864D push SSZ004C6224_true push esi call SUB_L0049B300 add esp,00000008h test eax,eax jz L0042864D push L004C4E68 push esi call SUB_L0049B300 add esp,00000008h test eax,eax jnz L00428654 L0042864D: mov byte ptr [L004C5624],01h L00428654: push L004C473C push esi call SUB_L0049B300 add esp,00000008h test eax,eax jz L004286A0 push L004C46DC push esi call SUB_L0049B300 add esp,00000008h test eax,eax jz L004286A0 push SSZ004C621C_false push esi call SUB_L0049B300 add esp,00000008h test eax,eax jz L004286A0 push L004C6218 push esi call SUB_L0049B300 add esp,00000008h test eax,eax jnz CASE_00429670_PROC000A L004286A0: mov [L004C5624],bl jmp CASE_00429670_PROC000A CASE_00429670_PROC0067: push L004C4740 push esi call SUB_L0049B300 add esp,00000008h test eax,eax jz L004286DA push L004C46E0 push esi call SUB_L0049B300 add esp,00000008h test eax,eax jz L004286DA mov [L004D7ECC],ebx jmp CASE_00429670_PROC000A L004286DA: mov dword ptr [L004D7ECC],00000001h jmp CASE_00429670_PROC000A CASE_00429670_PROC0068: push L004C4740 push esi call SUB_L0049B300 add esp,00000008h test eax,eax jz L00428718 push L004C46E0 push esi call SUB_L0049B300 add esp,00000008h test eax,eax jz L00428718 mov [L004D7ED0],ebx jmp CASE_00429670_PROC000A L00428718: mov dword ptr [L004D7ED0],00000001h jmp CASE_00429670_PROC000A CASE_00429670_PROC0069: mov ecx,esi call SUB_L004488B0 mov [L004C562C],eax jmp CASE_00429670_PROC000A CASE_00429670_PROC0025: push L004C4740 push esi call SUB_L0049B300 add esp,00000008h test eax,eax jz L00428767 push L004C46E0 push esi call SUB_L0049B300 add esp,00000008h test eax,eax jz L00428767 mov [L004D0218],ebx jmp CASE_00429670_PROC000A L00428767: mov dword ptr [L004D0218],00000001h jmp CASE_00429670_PROC000A CASE_00429670_PROC0026: push L004C4740 push esi call SUB_L0049B300 add esp,00000008h test eax,eax jz L004287A5 push L004C46E0 push esi call SUB_L0049B300 add esp,00000008h test eax,eax jz L004287A5 mov [L004CCB28],bl jmp CASE_00429670_PROC000A L004287A5: mov byte ptr [L004CCB28],01h jmp CASE_00429670_PROC000A CASE_00429670_PROC0000: push 00000104h push esi push L006BB604 call SUB_L0049B200 add esp,0000000Ch jmp CASE_00429670_PROC000A CASE_00429670_PROC0001: push esi call SUB_L0049BB10 add esp,00000004h mov [L006BB600],eax jmp CASE_00429670_PROC000A CASE_00429670_PROC0002: push L004C6204 push esi call SUB_L0049B300 add esp,00000008h neg eax sbb eax,eax inc eax mov [L006BB5FC],eax jmp CASE_00429670_PROC000A CASE_00429670_PROC0003: cmp esi,ebx jz CASE_00429670_PROC000A cmp [esi],bl jz CASE_00429670_PROC000A mov edi,esi or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,L006BB372 shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb jmp CASE_00429670_PROC000A CASE_00429670_PROC0004: cmp esi,ebx jz CASE_00429670_PROC000A cmp [esi],bl jz CASE_00429670_PROC000A mov ecx,esi call SUB_L00454C70 mov edi,esi or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx mov edx,ecx mov esi,edi mov edi,L006BB354 shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb jmp CASE_00429670_PROC000A CASE_00429670_PROC0005: push L004C4740 push esi call SUB_L0049B300 add esp,00000008h test eax,eax jz L0042889D push L004C46E0 push esi call SUB_L0049B300 add esp,00000008h test eax,eax jz L0042889D mov [L004CCB04],bl jmp CASE_00429670_PROC000A L0042889D: mov byte ptr [L004CCB04],01h jmp CASE_00429670_PROC000A CASE_00429670_PROC003D: push L004C4740 push esi call SUB_L0049B300 add esp,00000008h test eax,eax jz L004288D8 push L004C46E0 push esi call SUB_L0049B300 add esp,00000008h test eax,eax jz L004288D8 mov [L0073EC2C],bl jmp CASE_00429670_PROC000A L004288D8: mov byte ptr [L0073EC2C],01h jmp CASE_00429670_PROC000A CASE_00429670_PROC003E: push L004C4740 push esi call SUB_L0049B300 add esp,00000008h test eax,eax jz L00428913 push L004C46E0 push esi call SUB_L0049B300 add esp,00000008h test eax,eax jz L00428913 mov [L0073EC30],bl jmp CASE_00429670_PROC000A L00428913: mov byte ptr [L0073EC30],01h jmp CASE_00429670_PROC000A CASE_00429670_PROC003F: mov ecx,esi call SUB_L004488B0 mov [L004CCD74],eax jmp CASE_00429670_PROC000A CASE_00429670_PROC0040: mov ecx,esi call SUB_L004488B0 mov [L004CCD70],eax jmp CASE_00429670_PROC000A CASE_00429670_PROC0041: mov ecx,esi call SUB_L004488B0 mov [L004CCD6C],eax jmp CASE_00429670_PROC000A CASE_00429670_PROC0042: mov ecx,esi call SUB_L004488B0 mov [L004CCD68],eax jmp CASE_00429670_PROC000A CASE_00429670_PROC0043: mov ecx,esi call SUB_L004488B0 mov [L004CCD64],eax jmp CASE_00429670_PROC000A CASE_00429670_PROC0044: mov ecx,esi call SUB_L004488B0 mov [L004CCD60],eax jmp CASE_00429670_PROC000A CASE_00429670_PROC0045: mov ecx,esi call SUB_L004488B0 mov [L004CCD5C],eax jmp CASE_00429670_PROC000A CASE_00429670_PROC0046: mov ecx,esi call SUB_L004488B0 mov [L004CCD58],eax jmp CASE_00429670_PROC000A CASE_00429670_PROC0047: mov ecx,esi call SUB_L004488B0 mov [L004CCD54],eax jmp CASE_00429670_PROC000A CASE_00429670_PROC0048: mov ecx,esi call SUB_L004488B0 mov [L004CCD50],eax jmp CASE_00429670_PROC000A CASE_00429670_PROC0049: mov ecx,esi call SUB_L004488B0 mov [L004CCD78],eax jmp CASE_00429670_PROC000A CASE_00429670_PROC004A: mov ecx,esi call SUB_L004488B0 mov [L004CCD7C],eax jmp CASE_00429670_PROC000A CASE_00429670_PROC004B: mov ecx,esi call SUB_L004488B0 mov [L004CCD80],eax jmp CASE_00429670_PROC000A CASE_00429670_PROC004C: mov ecx,esi call SUB_L004488B0 mov [L0073EC48],eax jmp CASE_00429670_PROC000A CASE_00429670_PROC004D: mov ecx,esi call SUB_L004488B0 mov [L0073EC40],eax jmp CASE_00429670_PROC000A CASE_00429670_PROC004E: mov ecx,esi call SUB_L004488B0 mov [L0073EC44],eax jmp CASE_00429670_PROC000A CASE_00429670_PROC004F: mov ecx,esi call SUB_L004488B0 mov [L0073EC4C],eax jmp CASE_00429670_PROC000A CASE_00429670_PROC0050: push esi call SUB_L0049BB10 add esp,00000004h mov [L004CCE3C],eax jmp CASE_00429670_PROC000A CASE_00429670_PROC0051: push esi call SUB_L0049BB10 add esp,00000004h mov [L004C55E8],eax jmp CASE_00429670_PROC000A CASE_00429670_PROC0052: push L004C4740 push esi call SUB_L0049B300 add esp,00000008h test eax,eax jz L00428A95 push L004C46E0 push esi call SUB_L0049B300 add esp,00000008h test eax,eax jz L00428A95 mov [L004D7E8C],ebx jmp CASE_00429670_PROC000A L00428A95: mov dword ptr [L004D7E8C],00000001h jmp CASE_00429670_PROC000A CASE_00429670_PROC0053: push esi call SUB_L0049BB10 add esp,00000004h mov [L0073EC50],eax jmp CASE_00429670_PROC000A CASE_00429670_PROC0054: mov ecx,esi call SUB_L004488B0 mov [L004CE3D8],eax jmp CASE_00429670_PROC000A CASE_00429670_PROC0055: mov ecx,esi call SUB_L004488B0 mov [L004CE3DC],eax jmp CASE_00429670_PROC000A CASE_00429670_PROC0056: mov ecx,esi call SUB_L004488B0 or al,01h mov [L004DAE54+edi*4],eax jmp CASE_00429670_PROC000A CASE_00429670_PROC0006: push esi call SUB_L0049BB10 add esp,00000004h mov [L004CCDE4],eax jmp CASE_00429670_PROC000A CASE_00429670_PROC0033: push esi call SUB_L0049BB10 add esp,00000004h mov [L004CCDEC],eax jmp CASE_00429670_PROC000A CASE_00429670_PROC0034: push L004C4740 push esi call SUB_L0049B300 add esp,00000008h test eax,eax jz L00428B43 push L004C46E0 push esi call SUB_L0049B300 add esp,00000008h test eax,eax jz L00428B43 mov [L004CCB20],bl jmp CASE_00429670_PROC000A L00428B43: mov byte ptr [L004CCB20],01h jmp CASE_00429670_PROC000A CASE_00429670_PROC0035: mov ecx,esi call SUB_L004488B0 mov [L005493A8],eax jmp CASE_00429670_PROC000A CASE_00429670_PROC0036: push L004C4740 push esi call SUB_L0049B300 add esp,00000008h test eax,eax jz L00428B8F push L004C46E0 push esi call SUB_L0049B300 add esp,00000008h test eax,eax jz L00428B8F mov [L0073EC08],bl jmp CASE_00429670_PROC000A L00428B8F: mov byte ptr [L0073EC08],01h jmp CASE_00429670_PROC000A CASE_00429670_PROC0037: push L004C4740 push esi call SUB_L0049B300 add esp,00000008h test eax,eax jz L00428BCA push L004C46E0 push esi call SUB_L0049B300 add esp,00000008h test eax,eax jz L00428BCA mov [L004CCB10],bl jmp CASE_00429670_PROC000A L00428BCA: mov byte ptr [L004CCB10],01h jmp CASE_00429670_PROC000A CASE_00429670_PROC0038: push L004C4740 push esi call SUB_L0049B300 add esp,00000008h test eax,eax jz L00428C05 push L004C46E0 push esi call SUB_L0049B300 add esp,00000008h test eax,eax jz L00428C05 mov [L004CCB14],bl jmp CASE_00429670_PROC000A L00428C05: mov byte ptr [L004CCB14],01h jmp CASE_00429670_PROC000A CASE_00429670_PROC0039: push L004C4740 push esi call SUB_L0049B300 add esp,00000008h test eax,eax jz L00428C40 push L004C46E0 push esi call SUB_L0049B300 add esp,00000008h test eax,eax jz L00428C40 mov [L004CCB18],bl jmp CASE_00429670_PROC000A L00428C40: mov byte ptr [L004CCB18],01h jmp CASE_00429670_PROC000A CASE_00429670_PROC003A: push L004C4740 push esi call SUB_L0049B300 add esp,00000008h test eax,eax jz L00428C7B push L004C46E0 push esi call SUB_L0049B300 add esp,00000008h test eax,eax jz L00428C7B mov [L004CCB1C],bl jmp CASE_00429670_PROC000A L00428C7B: mov byte ptr [L004CCB1C],01h jmp CASE_00429670_PROC000A CASE_00429670_PROC003B: push L004C4740 push esi call SUB_L0049B300 add esp,00000008h test eax,eax jz L00428CB6 push L004C46E0 push esi call SUB_L0049B300 add esp,00000008h test eax,eax jz L00428CB6 mov [L0073EC34],bl jmp CASE_00429670_PROC000A L00428CB6: mov byte ptr [L0073EC34],01h jmp CASE_00429670_PROC000A CASE_00429670_PROC003C: push esi call SUB_L0049BB10 add esp,00000004h mov [L004C5628],eax jmp CASE_00429670_PROC000A CASE_00429670_PROC0007: push L004C4740 push esi call SUB_L0049B300 add esp,00000008h test eax,eax jz L00428D04 push L004C46E0 push esi call SUB_L0049B300 add esp,00000008h test eax,eax jz L00428D04 mov [L004CCB08],bl jmp CASE_00429670_PROC000A L00428D04: mov byte ptr [L004CCB08],01h jmp CASE_00429670_PROC000A CASE_00429670_PROC0008: push esi call SUB_L0049BB10 add esp,00000004h mov [L004CCDE8],eax jmp CASE_00429670_PROC000A CASE_00429670_PROC000B: cmp esi,ebx jz CASE_00429670_PROC000A cmp [esi],bl jz CASE_00429670_PROC000A mov ecx,esi call SUB_L00454C70 mov edi,esi or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,L006BB70C shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb jmp CASE_00429670_PROC000A CASE_00429670_PROC0009: push L004C4740 push esi call SUB_L0049B300 add esp,00000008h test eax,eax jz L00428D90 push L004C46E0 push esi call SUB_L0049B300 add esp,00000008h test eax,eax jz L00428D90 mov [L004CCB2C],bl jmp CASE_00429670_PROC000A L00428D90: mov byte ptr [L004CCB2C],01h jmp CASE_00429670_PROC000A CASE_00429670_PROC000C: cmp [L004D7ED4],ebx jnz L00428DAA mov [L0073EC38],bl L00428DAA: push L004C4740 push esi call SUB_L0049B300 add esp,00000008h test eax,eax jz L00428E02 push L004C46E0 push esi call SUB_L0049B300 add esp,00000008h test eax,eax jz L00428E02 push L004C6200 push esi mov [L004CCBA8],bl call SUB_L0049B300 add esp,00000008h test eax,eax jnz CASE_00429670_PROC000A cmp [L004D7ED4],ebx jnz CASE_00429670_PROC000A mov byte ptr [L0073EC38],01h jmp CASE_00429670_PROC000A L00428E02: mov byte ptr [L004CCBA8],01h jmp CASE_00429670_PROC000A CASE_00429670_PROC000D: push L004C4740 push esi mov dword ptr [L004D7ED4],00000001h call SUB_L0049B300 add esp,00000008h test eax,eax jz L00428E47 push L004C46E0 push esi call SUB_L0049B300 add esp,00000008h test eax,eax jz L00428E47 mov [L0073EC38],bl jmp CASE_00429670_PROC000A L00428E47: mov byte ptr [L0073EC38],01h jmp CASE_00429670_PROC000A CASE_00429670_PROC000E: push L004C4740 push esi call SUB_L0049B300 add esp,00000008h test eax,eax jz L00428E82 push L004C46E0 push esi call SUB_L0049B300 add esp,00000008h test eax,eax jz L00428E82 mov [L004D77B8],ebx jmp CASE_00429670_PROC000A L00428E82: mov dword ptr [L004D77B8],00000001h jmp CASE_00429670_PROC000A CASE_00429670_PROC000F: push L004C4740 push esi call SUB_L0049B300 add esp,00000008h test eax,eax jz L00428EC0 push L004C46E0 push esi call SUB_L0049B300 add esp,00000008h test eax,eax jz L00428EC0 mov [L006BB708],ebx jmp CASE_00429670_PROC000A L00428EC0: mov dword ptr [L006BB708],00000001h jmp CASE_00429670_PROC000A CASE_00429670_PROC0010: push L004C4740 push esi call SUB_L0049B300 add esp,00000008h test eax,eax jz L00428EFE push L004C46E0 push esi call SUB_L0049B300 add esp,00000008h test eax,eax jz L00428EFE mov [L0073EC24],bl jmp CASE_00429670_PROC000A L00428EFE: mov byte ptr [L0073EC24],01h jmp CASE_00429670_PROC000A CASE_00429670_PROC0011: mov edi,esi or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx mov edx,ecx mov esi,edi mov edi,SSZ004CCE78_640x480 shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb jmp CASE_00429670_PROC000A CASE_00429670_PROC0013: lea eax,[ebp-20h] lea ecx,[ebp-1Ch] push eax lea edx,[ebp-18h] push ecx lea eax,[ebp-14h] push edx lea ecx,[ebp-10h] push eax push ecx push SSZ004C6208__d__d__d__d__d push esi call SUB_L0049BA20 mov edx,[ebp-10h] mov ebx,[ebp-14h] mov esi,[ebp-18h] mov eax,[ebp-1Ch] shl edx,08h or edx,ebx add esp,0000001Ch shl edx,08h or edx,esi shl edx,08h or edx,eax mov ax,[ebp-20h] mov [L00712208],edx mov [L0071220C],ax jmp CASE_00429670_PROC000A CASE_00429670_PROC001B: mov eax,[L006BD2E0] cmp eax,ebx jz L00428F95 push eax call SUB_L0049A810 add esp,00000004h L00428F95: mov edi,esi or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx push ecx call SUB_L0049A820 mov edx,eax mov edi,esi or ecx,FFFFFFFFh xor eax,eax add esp,00000004h mov [L006BD2E0],edx repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb jmp CASE_00429670_PROC000A CASE_00429670_PROC001C: mov ecx,esi call SUB_L00427EE0 test eax,eax jnz L00429036 mov edi,esi or ecx,FFFFFFFFh repne scasb not ecx push ecx call SUB_L0049A820 mov ecx,[L00712210] mov edx,eax mov edi,esi xor eax,eax mov [L006BD8B8+ecx*4],edx or ecx,FFFFFFFFh add esp,00000004h repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov eax,[L00712210] mov [L006BDA18+eax*4],ebx mov [L00669580+eax*2],bx jmp L00429092 L00429036: lea ecx,[ebp-20h] lea edx,[ebp-1Ch] push ecx lea eax,[ebp-18h] push edx lea ecx,[ebp-14h] push eax lea edx,[ebp-10h] push ecx push edx push SSZ004C6208__d__d__d__d__d push esi call SUB_L0049BA20 mov ecx,[ebp-10h] mov esi,[ebp-14h] mov edi,[ebp-18h] mov edx,[ebp-1Ch] shl ecx,08h mov eax,[L00712210] or ecx,esi shl ecx,08h or ecx,edi add esp,0000001Ch shl ecx,08h or ecx,edx mov dx,[ebp-20h] mov [L006BD8B8+eax*4],ebx mov [L006BDA18+eax*4],ecx mov [L00669580+eax*2],dx L00429092: inc eax mov [L00712210],eax mov eax,[L004C7F3C] cmp eax,ebx jge CASE_00429670_PROC000A mov [L004C7F3C],ebx jmp CASE_00429670_PROC000A CASE_00429670_PROC001D: mov ecx,esi call SUB_L00427EE0 test eax,eax jnz L00429119 mov edi,esi or ecx,FFFFFFFFh repne scasb not ecx push ecx call SUB_L0049A820 mov edx,eax mov eax,[L00712214] mov edi,esi or ecx,FFFFFFFFh mov [L00669C68+eax*4],edx xor eax,eax add esp,00000004h repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov eax,[L00712214] mov [L00712198+eax*4],ebx mov [L006BD8D8+eax*2],bx inc eax mov [L00712214],eax jmp CASE_00429670_PROC000A L00429119: lea ecx,[ebp-20h] lea edx,[ebp-1Ch] push ecx lea eax,[ebp-18h] push edx lea ecx,[ebp-14h] push eax lea edx,[ebp-10h] push ecx push edx push SSZ004C6208__d__d__d__d__d push esi call SUB_L0049BA20 mov ecx,[ebp-10h] mov edx,[ebp-14h] mov edi,[ebp-18h] mov eax,[L00712214] shl ecx,08h or ecx,edx mov edx,[ebp-1Ch] shl ecx,08h or ecx,edi add esp,0000001Ch shl ecx,08h or ecx,edx mov dx,[ebp-20h] mov [L00669C68+eax*4],ebx mov [L00712198+eax*4],ecx mov [L006BD8D8+eax*2],dx inc eax mov [L00712214],eax jmp CASE_00429670_PROC000A CASE_00429670_PROC0014: push esi call SUB_L0049BB10 add esp,00000004h mov [L007121E8],eax jmp CASE_00429670_PROC000A CASE_00429670_PROC002B: push L004C4740 push esi call SUB_L0049B300 add esp,00000008h test eax,eax jz L004291C2 push L004C46E0 push esi call SUB_L0049B300 add esp,00000008h test eax,eax jz L004291C2 mov [L0073EC04],bl jmp CASE_00429670_PROC000A L004291C2: mov byte ptr [L0073EC04],01h jmp CASE_00429670_PROC000A CASE_00429670_PROC002C: push esi call SUB_L0049BB10 add esp,00000004h mov ecx,L004D7EA0 mov [L004CCDF0],eax push eax call SUB_L00427460 jmp CASE_00429670_PROC000A CASE_00429670_PROC002D: lea eax,[ebp-24h] lea ecx,[ebp-28h] push eax push ecx push SSZ004C61F8__d__d push esi call SUB_L0049BA20 mov edx,[ebp-24h] mov eax,[ebp-28h] add esp,00000010h mov ecx,L004D7EA0 push edx push eax call SUB_L00427490 jmp CASE_00429670_PROC000A CASE_00429670_PROC002E: push L004C4740 push esi call SUB_L0049B300 add esp,00000008h test eax,eax jz L00429248 push L004C46E0 push esi call SUB_L0049B300 add esp,00000008h test eax,eax jz L00429248 mov [L0073EC20],bl jmp CASE_00429670_PROC000A L00429248: mov byte ptr [L0073EC20],01h jmp CASE_00429670_PROC000A CASE_00429670_PROC002F: push L004C4740 push esi call SUB_L0049B300 add esp,00000008h test eax,eax jz L00429283 push L004C46E0 push esi call SUB_L0049B300 add esp,00000008h test eax,eax jz L00429283 mov [L004CCB0C],bl jmp CASE_00429670_PROC000A L00429283: mov byte ptr [L004CCB0C],01h jmp CASE_00429670_PROC000A CASE_00429670_PROC0030: push L004C4740 push esi call SUB_L0049B300 add esp,00000008h test eax,eax jz L004292BE push L004C46E0 push esi call SUB_L0049B300 add esp,00000008h test eax,eax jz L004292BE mov [L004C59D0],ebx jmp CASE_00429670_PROC000A L004292BE: mov dword ptr [L004C59D0],00000001h jmp CASE_00429670_PROC000A CASE_00429670_PROC0031: push esi call SUB_L0049BB10 add esp,00000004h mov [L004C59D4],eax jmp CASE_00429670_PROC000A CASE_00429670_PROC0032: push esi call SUB_L0049BB10 add esp,00000004h mov [L004C59D8],eax jmp CASE_00429670_PROC000A CASE_00429670_PROC0016: push L004C4740 push esi mov dword ptr [L004D0738],0000000Ah mov dword ptr [L004D073C],00000005h mov [L0073EC3C],bl mov dword ptr [L004D0740],00007BDEh mov dword ptr [L004D0744],0000739Ch mov dword ptr [L004D0748],00003DEFh mov dword ptr [L004C6764],0000781Fh call SUB_L0049B300 add esp,00000008h test eax,eax jz L0042935D push L004C46E0 push esi call SUB_L0049B300 add esp,00000008h test eax,eax jnz CASE_00429670_PROC000A L0042935D: mov byte ptr [L0073EC3C],01h jmp CASE_00429670_PROC000A CASE_00429670_PROC0017: push L004C4740 push esi call SUB_L0049B300 add esp,00000008h test eax,eax jz L00429398 push L004C46E0 push esi call SUB_L0049B300 add esp,00000008h test eax,eax jz L00429398 mov [L004D7EC8],ebx jmp CASE_00429670_PROC000A L00429398: mov dword ptr [L004D7EC8],00000001h jmp CASE_00429670_PROC000A CASE_00429670_PROC0015: push L004C4740 push esi call SUB_L0049B300 add esp,00000008h test eax,eax jz L004293D6 push L004C46E0 push esi call SUB_L0049B300 add esp,00000008h test eax,eax jz L004293D6 mov [L004CCB24],bl jmp CASE_00429670_PROC000A L004293D6: mov byte ptr [L004CCB24],01h jmp CASE_00429670_PROC000A CASE_00429670_PROC0018: push L004C4740 push esi call SUB_L0049B300 add esp,00000008h test eax,eax jz L00429411 push L004C46E0 push esi call SUB_L0049B300 add esp,00000008h test eax,eax jz L00429411 mov [L0073EC10],bl jmp CASE_00429670_PROC000A L00429411: mov byte ptr [L0073EC10],01h jmp CASE_00429670_PROC000A CASE_00429670_PROC0019: mov [L0073EC10],bl mov al,[esi] cmp al,bl jz CASE_00429670_PROC000A L0042942D: cmp al,bl mov ecx,esi jz L0042943F L00429433: cmp al,2Ch jz L0042943F mov al,[esi+01h] inc esi cmp al,bl jnz L00429433 L0042943F: cmp [esi],bl jz L00429446 mov [esi],bl inc esi L00429446: push SSZ004C61F0_startup push ecx call SUB_L0049B300 add esp,00000008h test eax,eax jnz L0042945F mov byte ptr [L0073EC10],01h L0042945F: mov al,[esi] cmp al,bl jnz L0042942D jmp CASE_00429670_PROC000A CASE_00429670_PROC001A: push L004C4740 push esi call SUB_L0049B300 add esp,00000008h test eax,eax jz L00429499 push L004C46E0 push esi call SUB_L0049B300 add esp,00000008h test eax,eax jz L00429499 mov [L0073EC1C],bl jmp CASE_00429670_PROC000A L00429499: mov byte ptr [L0073EC1C],01h jmp CASE_00429670_PROC000A CASE_00429670_PROC001E: cmp esi,ebx jz CASE_00429670_PROC000A cmp [esi],bl jz CASE_00429670_PROC000A mov edi,esi or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx mov edx,ecx mov esi,edi mov edi,L006BD468 shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb jmp CASE_00429670_PROC000A CASE_00429670_PROC001F: cmp esi,ebx jz CASE_00429670_PROC000A cmp [esi],bl jz CASE_00429670_PROC000A mov edi,esi or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,L006BD42C shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb jmp CASE_00429670_PROC000A CASE_00429670_PROC0020: cmp esi,ebx jz CASE_00429670_PROC000A cmp [esi],bl jz CASE_00429670_PROC000A mov ecx,esi call SUB_L00454C70 mov edi,esi or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx mov edx,ecx mov esi,edi mov edi,L006BD486 shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb jmp CASE_00429670_PROC000A CASE_00429670_PROC0021: cmp esi,ebx jz CASE_00429670_PROC000A cmp [esi],bl jz CASE_00429670_PROC000A lea eax,[ebp+08h] push eax push L004C43EC push esi call SUB_L0049BA20 mov cl,[ebp+08h] add esp,0000000Ch mov [L006BD2DC],cl jmp CASE_00429670_PROC000A CASE_00429670_PROC0022: cmp esi,ebx jz CASE_00429670_PROC000A cmp [esi],bl jz CASE_00429670_PROC000A lea edx,[ebp+08h] push edx push L004C43EC push esi call SUB_L0049BA20 mov eax,[ebp+08h] add esp,0000000Ch cmp eax,ebx jl CASE_00429670_PROC000A cmp eax,00000004h jg CASE_00429670_PROC000A mov [L006BD428],eax jmp CASE_00429670_PROC000A CASE_00429670_PROC0024: push SSZ004C61E8_slow push esi call SUB_L0049B300 add esp,00000008h test eax,eax jnz L004295DB mov [L004CCBA4],bl jmp CASE_00429670_PROC000A L004295DB: push SSZ004C61E0_fast push esi call SUB_L0049B300 add esp,00000008h test eax,eax jnz CASE_00429670_PROC000A mov byte ptr [L004CCBA4],01h jmp CASE_00429670_PROC000A CASE_00429670_PROC0023: push L004C4740 push esi call SUB_L0049B300 add esp,00000008h test eax,eax jz L00429634 push L004C46E0 push esi call SUB_L0049B300 add esp,00000008h test eax,eax jz L00429634 push SSZ004C61E0_fast push esi call SUB_L0049B300 add esp,00000008h test eax,eax jz L00429634 mov [L004CCBA4],bl jmp CASE_00429670_PROC000A L00429634: mov byte ptr [L004CCBA4],01h jmp CASE_00429670_PROC000A CASE_00429670_PROC0071: push esi call SUB_L0049BB10 add esp,00000004h mov [L004C5620],eax CASE_00429670_PROC000A: lea ecx,[ebp-38h] mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L004823F0 mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_00429670: dd CASE_00429670_PROC0000 dd CASE_00429670_PROC0001 dd CASE_00429670_PROC0002 dd CASE_00429670_PROC0003 dd CASE_00429670_PROC0004 dd CASE_00429670_PROC0005 dd CASE_00429670_PROC0006 dd CASE_00429670_PROC0007 dd CASE_00429670_PROC0008 dd CASE_00429670_PROC0009 dd CASE_00429670_PROC000A dd CASE_00429670_PROC000B dd CASE_00429670_PROC000C dd CASE_00429670_PROC000D dd CASE_00429670_PROC000E dd CASE_00429670_PROC000F dd CASE_00429670_PROC0010 dd CASE_00429670_PROC0011 dd CASE_00429670_PROC000A dd CASE_00429670_PROC0013 dd CASE_00429670_PROC0014 dd CASE_00429670_PROC0015 dd CASE_00429670_PROC0016 dd CASE_00429670_PROC0017 dd CASE_00429670_PROC0018 dd CASE_00429670_PROC0019 dd CASE_00429670_PROC001A dd CASE_00429670_PROC001B dd CASE_00429670_PROC001C dd CASE_00429670_PROC001D dd CASE_00429670_PROC001E dd CASE_00429670_PROC001F dd CASE_00429670_PROC0020 dd CASE_00429670_PROC0021 dd CASE_00429670_PROC0022 dd CASE_00429670_PROC0023 dd CASE_00429670_PROC0024 dd CASE_00429670_PROC0025 dd CASE_00429670_PROC0026 dd CASE_00429670_PROC0027 dd CASE_00429670_PROC0028 dd CASE_00429670_PROC0029 dd CASE_00429670_PROC002A dd CASE_00429670_PROC002B dd CASE_00429670_PROC002C dd CASE_00429670_PROC002D dd CASE_00429670_PROC002E dd CASE_00429670_PROC002F dd CASE_00429670_PROC0030 dd CASE_00429670_PROC0031 dd CASE_00429670_PROC0032 dd CASE_00429670_PROC0033 dd CASE_00429670_PROC0034 dd CASE_00429670_PROC0035 dd CASE_00429670_PROC0036 dd CASE_00429670_PROC0037 dd CASE_00429670_PROC0038 dd CASE_00429670_PROC0039 dd CASE_00429670_PROC003A dd CASE_00429670_PROC003B dd CASE_00429670_PROC003C dd CASE_00429670_PROC003D dd CASE_00429670_PROC003E dd CASE_00429670_PROC003F dd CASE_00429670_PROC0040 dd CASE_00429670_PROC0041 dd CASE_00429670_PROC0042 dd CASE_00429670_PROC0043 dd CASE_00429670_PROC0044 dd CASE_00429670_PROC0045 dd CASE_00429670_PROC0046 dd CASE_00429670_PROC0047 dd CASE_00429670_PROC0048 dd CASE_00429670_PROC0049 dd CASE_00429670_PROC004A dd CASE_00429670_PROC004B dd CASE_00429670_PROC004C dd CASE_00429670_PROC004D dd CASE_00429670_PROC004E dd CASE_00429670_PROC004F dd CASE_00429670_PROC0050 dd CASE_00429670_PROC0051 dd CASE_00429670_PROC0052 dd CASE_00429670_PROC0053 dd CASE_00429670_PROC0054 dd CASE_00429670_PROC0055 dd CASE_00429670_PROC0056 dd CASE_00429670_PROC0056 dd CASE_00429670_PROC0056 dd CASE_00429670_PROC0056 dd CASE_00429670_PROC0056 dd CASE_00429670_PROC0056 dd CASE_00429670_PROC005C dd CASE_00429670_PROC005D dd CASE_00429670_PROC005E dd CASE_00429670_PROC005F dd CASE_00429670_PROC0060 dd CASE_00429670_PROC0061 dd CASE_00429670_PROC0062 dd CASE_00429670_PROC0063 dd CASE_00429670_PROC0064 dd CASE_00429670_PROC0065 dd CASE_00429670_PROC0066 dd CASE_00429670_PROC0067 dd CASE_00429670_PROC0068 dd CASE_00429670_PROC0069 dd CASE_00429670_PROC006A dd CASE_00429670_PROC006B dd CASE_00429670_PROC006C dd CASE_00429670_PROC006D dd CASE_00429670_PROC006E dd CASE_00429670_PROC006F dd CASE_00429670_PROC0070 dd CASE_00429670_PROC0071 dd CASE_00429670_PROC0072 Align 8 SUB_L00429840: push ebp mov ebp,esp sub esp,00000010h mov [ebp-08h],ecx push L004C61C4 mov [ebp-0Ch],edx push SSZ004C61D8_uo_cfg mov ecx,L006BB1C8 mov byte ptr [ebp-01h],00h call SUB_L00455E10 push eax call SUB_L0049A7F0 add esp,00000008h mov [ebp-10h],eax test eax,eax jz L00429933 test byte ptr [eax+0Ch],10h jnz L0042992A push edi push esi push ebx L00429885: mov ecx,eax call SUB_L00454B10 push L004C61BC push eax call SUB_L0049B3D0 mov ebx,eax add esp,00000008h test ebx,ebx jz L0042991A mov eax,[L004C5630] xor edi,edi test eax,eax jz L004298CF mov eax,L004C5630 mov esi,eax L004298B2: mov eax,[eax] push eax push ebx call SUB_L0049B300 add esp,00000008h test eax,eax jz L0042993A mov ecx,[esi+08h] add esi,00000008h inc edi mov eax,esi test ecx,ecx jnz L004298B2 L004298CF: mov edi,00000073h L004298D4: cmp edi,00000073h jz L0042991A push L004C622C push 00000000h call SUB_L0049B3D0 add esp,00000008h test eax,eax jz L0042991A cmp byte ptr [eax],00h jz L0042991A cmp [ebp-08h],edi jnz L0042991A mov edi,eax or ecx,FFFFFFFFh xor eax,eax mov byte ptr [ebp-01h],01h repne scasb not ecx sub edi,ecx mov edx,ecx mov esi,edi mov edi,[ebp-0Ch] shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb L0042991A: mov eax,[ebp-10h] test byte ptr [eax+0Ch],10h jz L00429885 pop ebx pop esi pop edi L0042992A: push eax call SUB_L0049A580 add esp,00000004h L00429933: mov al,[ebp-01h] mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L0042993A: mov edi,[L004C5634+edi*8] jmp L004298D4 Align 16 SUB_L00429950: push ebp mov ebp,esp push FFFFFFFFh push L004B2883 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000014h push ebx push esi mov esi,ecx push edi mov [ebp-10h],esi call SUB_L00441CB0 mov edi,[ebp+24h] mov eax,[ebp+08h] mov ecx,[ebp+0Ch] xor ebx,ebx mov dword ptr [esi],L004B9878 mov dword ptr [esi+04h],SSZ004C627C_container_gump mov [esi+5Ch],ebx mov [esi+000000B0h],ebx mov [esi+000000ACh],ebx cmp edi,0000091Ah mov [ebp-04h],ebx mov [esi+000000A8h],ebx mov [esi+000000A4h],ebx mov [esi+000000B8h],ebx mov [esi+000000B4h],ebx mov [esi+00000094h],ebx mov [esi+000000A0h],ebx mov [esi+000000C0h],ebx mov [esi+000000BCh],ebx mov [esi+0000009Ch],ebx mov [esi+2Ch],eax mov [esi+30h],ecx jnz L004299F2 mov dword ptr [esi+00000098h],00000014h jmp L004299F8 L004299F2: mov [esi+00000098h],ebx L004299F8: mov ecx,[ebp+14h] cmp ecx,ebx mov [esi+34h],ecx jz L00429A14 mov edx,[ecx] call [edx+30h] test eax,eax jz L00429A14 mov eax,[esi+34h] mov [eax+000000ACh],esi L00429A14: mov ecx,[ebp+20h] mov edx,[esi+00000098h] mov eax,[ebp+1Ch] add ecx,edx mov [esi+18h],eax mov [esi+1Ch],eax cmp edi,0000003Ch mov [esi+4Ch],ebx mov [esi+48h],ebx mov [esi+44h],ebx mov [esi+40h],ebx mov [esi+3Ch],ebx mov [esi+20h],ecx mov [esi+10h],ebx mov eax,00000002h jz L00429A4A mov eax,[ebp+18h] L00429A4A: lea edx,[00000000h+eax*8] push SSZ004C625C_framedata_for_CContainerGump push edx mov ecx,L00669C8C mov [esi+14h],eax call SUB_L0044FBD0 mov ecx,[esi+14h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+38h],edi push SSZ004C624C_container_frame rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+20h] imul eax,[esi+1Ch] lea ecx,[eax+eax+04h] push ecx mov ecx,L00669C8C call SUB_L0044FBD0 mov edx,[esi+38h] mov [edx+04h],eax mov ecx,[esi+20h] imul ecx,[esi+1Ch] mov edx,[esi+38h] xor eax,eax shl ecx,1 mov edi,[edx+04h] mov edx,ecx add edi,00000004h shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+38h] mov dx,[esi+1Ch] mov ecx,[eax+04h] mov [ecx],dx mov eax,[esi+38h] mov dx,[esi+20h] mov ecx,[eax+04h] mov eax,[ebp+24h] cmp eax,0000003Ch mov [ecx+02h],dx mov [esi+50h],eax jnz L00429BD0 lea ebx,[esi+28h] lea edi,[esi+24h] push ebx mov edx,edi mov ecx,00000050h mov dword ptr [esi+14h],00000002h call SUB_L004390A0 mov eax,[edi] push SSZ004C6238_container_frame1 imul eax,[ebx] lea ecx,[eax+eax+04h] push ecx mov ecx,L00669C8C call SUB_L0044FBD0 mov edx,[esi+38h] mov [edx+0Ch],eax mov ecx,[edi] imul ecx,[ebx] mov edx,[esi+38h] xor eax,eax shl ecx,1 mov edi,[edx+0Ch] mov edx,ecx add edi,00000004h shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+38h] mov dx,[esi+24h] mov ecx,[eax+0Ch] mov [ecx],dx mov eax,[esi+38h] mov dx,[ebx] mov ecx,[eax+0Ch] mov [ecx+02h],dx mov eax,[ebx] mov edx,[esi+38h] mov ecx,[esi+24h] push eax push ecx mov eax,[edx+0Ch] mov edx,00000050h add eax,00000004h mov ecx,SUB_L00488700 push eax push 00000000h push 00000000h call SUB_L00439100 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp+24h],eax test eax,eax mov byte ptr [ebp-04h],01h jz L00429BBE push 00000000h push SUB_L0040D6E0 push 00000000h push 00000000h push esi push 000000B4h push 0000007Bh push 000000A1h push 00000067h mov ecx,eax call SUB_L00412450 jmp L00429BC0 L00429BBE: xor eax,eax L00429BC0: push 00000001h push esi mov ecx,eax mov byte ptr [ebp-04h],00h call SUB_L004415C0 xor ebx,ebx L00429BD0: mov ecx,[esi+1Ch] mov edx,[esi+20h] dec ecx lea eax,[ebp-20h] mov [ebp-18h],ecx dec edx push eax mov ecx,esi mov [ebp-20h],ebx mov [ebp-1Ch],ebx mov [ebp-14h],edx call SUB_L0042A720 mov eax,[esi+34h] cmp eax,ebx jz L00429C11 cmp byte ptr [eax+00000099h],1Dh jnz L00429C11 mov ecx,[eax+7Ch] mov eax,[L0073EBE4] cmp ecx,eax jnz L00429C11 mov [L00669678],esi L00429C11: xor eax,eax mov ax,[esi+50h] add eax,FFFFFFC4h cmp eax,00000015h ja CASE_00429C70_PROC000A xor edx,edx mov dl,[eax+CASE_00429C9C] jmp [CASE_PROCTABLE_00429C70+edx*4] CASE_00429C70_PROC0000: mov eax,00000048h jmp L00429C48 CASE_00429C70_PROC0002: mov eax,0000004Fh jmp L00429C48 CASE_00429C70_PROC0004: mov eax,0000002Dh jmp L00429C48 CASE_00429C70_PROC0001: mov eax,0000002Fh L00429C48: push ebx push ebx push ebx push ebx push ebx push eax mov ecx,L006AAA10 call SUB_L004971D0 CASE_00429C70_PROC000A: mov ecx,[ebp-0Ch] mov eax,esi pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0020h ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_00429C70: dd CASE_00429C70_PROC0000 dd CASE_00429C70_PROC0001 dd CASE_00429C70_PROC0002 dd CASE_00429C70_PROC0002 dd CASE_00429C70_PROC0004 dd CASE_00429C70_PROC0001 dd CASE_00429C70_PROC0004 dd CASE_00429C70_PROC0001 dd CASE_00429C70_PROC0004 dd CASE_00429C70_PROC0001 dd CASE_00429C70_PROC000A CASE_00429C9C: db 00h, 00h, 01h, 02h, 0Ah, 03h, 04h, 04h, 04h, 0Ah, 0Ah, 0Ah, 05h, 06h, 06h, 06h db 06h, 07h, 08h, 08h, 0Ah, 09h Align 16 L00429CC0: push ebp mov ebp,esp push esi mov esi,ecx call SUB_L00429CF0 test byte ptr [ebp+08h],01h jz L00429CDA push esi call SUB_L0049A810 add esp,00000004h L00429CDA: mov eax,esi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00429CF0: push ebp mov ebp,esp push FFFFFFFFh push L004B2898 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000008h push ebx push esi push edi mov edi,ecx mov [ebp-14h],edi mov dword ptr [edi],L004B9878 mov esi,[L00669620] mov eax,[L00669C58] xor ebx,ebx mov [ebp-10h],eax cmp esi,ebx mov [ebp-04h],ebx jz L00429D65 L00429D30: mov ecx,[esi+3Ch] mov [L00669C58],ecx mov edx,[esi] mov ecx,esi call [edx+00000098h] test eax,eax jz L00429D5B cmp [esi+000000B8h],edi jnz L00429D5B cmp esi,ebx jz L00429D5B mov eax,[esi] push 00000001h mov ecx,esi call [eax] L00429D5B: mov esi,[L00669C58] cmp esi,ebx jnz L00429D30 L00429D65: mov ecx,[ebp-10h] mov esi,[L007121E4] mov [L00669C58],ecx mov dword ptr [L007121E4],00000001h mov ecx,[edi+34h] cmp ecx,ebx jz L00429D96 mov edx,[ecx] call [edx+54h] test eax,eax jnz L00429D96 mov ecx,[edi+34h] call SUB_L0045E310 L00429D96: mov [L007121E4],esi mov eax,[edi+38h] mov eax,[eax+04h] cmp eax,ebx jz L00429DBC push SSZ004C62B4_congump_frame0_pBMP push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov ecx,[edi+38h] mov [ecx+04h],ebx L00429DBC: cmp dword ptr [edi+14h],00000002h jnz L00429DE2 mov edx,[edi+38h] mov eax,[edx+0Ch] cmp eax,ebx jz L00429DE2 push SSZ004C62A0_congump_frame1_pBMP push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov eax,[edi+38h] mov [eax+0Ch],ebx L00429DE2: mov eax,[edi+38h] cmp eax,ebx jz L00429DFC push SSZ004C628C_congump_framedata push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov [edi+38h],ebx L00429DFC: cmp [L00669678],edi jnz L00429E33 mov [L00669678],ebx mov ecx,[edi+34h] cmp ecx,ebx jz L00429E33 mov edx,[ecx] call [edx+30h] test eax,eax jz L00429E23 mov eax,[edi+34h] mov [eax+000000ACh],ebx L00429E23: mov ecx,[edi+34h] cmp ecx,ebx jz L00429E30 mov edx,[ecx] push 00000001h call [edx] L00429E30: mov [edi+34h],ebx L00429E33: xor eax,eax mov ax,[edi+50h] add eax,FFFFFFC4h cmp eax,00000015h ja CASE_00429E9C_PROC000A xor ecx,ecx mov cl,[eax+CASE_00429EC8] jmp [CASE_PROCTABLE_00429E9C+ecx*4] mov eax,00000058h jmp L00429E6A CASE_00429E9C_PROC0000: mov eax,00000058h jmp L00429E6A CASE_00429E9C_PROC0004: mov eax,0000002Ch jmp L00429E6A CASE_00429E9C_PROC0001: mov eax,0000002Eh L00429E6A: push ebx push ebx push ebx push ebx push ebx push eax mov ecx,L006AAA10 call SUB_L004971D0 CASE_00429E9C_PROC000A: mov ecx,edi mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00441D50 mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_00429E9C: dd CASE_00429E9C_PROC0000 dd CASE_00429E9C_PROC0001 dd CASE_00429E9C_PROC0000 dd CASE_00429E9C_PROC0000 dd CASE_00429E9C_PROC0004 dd CASE_00429E9C_PROC0001 dd CASE_00429E9C_PROC0004 dd CASE_00429E9C_PROC0001 dd CASE_00429E9C_PROC0004 dd CASE_00429E9C_PROC0001 dd CASE_00429E9C_PROC000A CASE_00429EC8: db 00h, 00h, 01h, 02h, 0Ah, 03h, 04h, 04h, 04h, 0Ah, 0Ah, 0Ah, 05h, 06h, 06h, 06h db 06h, 07h, 08h, 08h, 0Ah, 09h Align 4 L00429EE0: push ebp mov ebp,esp push ecx push esi mov esi,ecx mov eax,[esi+48h] test eax,eax jz L00429F30 mov eax,[ebp+08h] mov ecx,[ebp+0Ch] mov [ebp-04h],eax lea edx,[ebp+08h] lea eax,[ebp-04h] mov [ebp+08h],ecx push edx push eax mov ecx,esi call SUB_L00440C60 lea ecx,[ebp+08h] lea edx,[ebp-04h] push ecx mov ecx,[esi+48h] push edx call SUB_L00440CD0 mov edx,[ebp+08h] mov ecx,[esi+48h] push edx mov edx,[ebp-04h] mov eax,[ecx] push edx call [eax+20h] pop esi mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L00429F30: mov ecx,[esi+44h] mov dword ptr [esi+00000094h],00000001h test ecx,ecx jz L00429F4E L00429F41: mov eax,[ecx] push 00000001h call [eax] mov ecx,[esi+44h] test ecx,ecx jnz L00429F41 L00429F4E: test esi,esi mov dword ptr [L006A9DD4],00000000h jz L00429F64 mov edx,[esi] push 00000001h mov ecx,esi call [edx] L00429F64: pop esi mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 8 L00429F70: push ebp mov ebp,esp push esi mov esi,ecx push 00000000h mov ecx,[esi+48h] test ecx,ecx jnz L00429F81 mov ecx,esi L00429F81: call SUB_L00441340 mov ecx,[esi+000000B8h] mov eax,00000001h cmp ecx,eax mov [esi+000000ACh],eax jnz L00429FA7 mov dword ptr [esi+000000B8h],00000002h jmp L00429FB9 L00429FA7: mov [esi+000000B8h],eax call [KERNEL32.dll!GetTickCount] mov [esi+000000B4h],eax L00429FB9: mov edx,[esi+60h] mov eax,[ebp+08h] mov ecx,[ebp+0Ch] mov [esi+6Ch],eax test edx,edx mov [esi+70h],ecx mov dword ptr [esi+0000009Ch],00000000h jnz L00429FE5 push ecx push eax mov ecx,esi call SUB_L0042AC70 mov [esi+0000009Ch],eax L00429FE5: pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 8 L00429FF0: push ebp mov ebp,esp sub esp,00000008h push esi mov esi,ecx push edi xor edi,edi mov eax,[esi+000000A4h] mov [esi+000000ACh],edi cmp eax,edi jz L0042A02C mov [esi+000000A4h],edi mov [esi+000000B8h],edi mov [esi+000000B0h],edi mov [L006A9DD4],edi pop edi pop esi mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L0042A02C: mov eax,[esi+000000B8h] cmp eax,00000002h jnz L0042A0AD mov [esi+000000B8h],edi mov eax,[L007121C4] cmp eax,edi jnz L0042A133 cmp [esi+60h],edi jz L0042A06A mov ecx,esi call SUB_L0040D760 mov [esi+000000B0h],edi mov [L006A9DD4],edi pop edi pop esi mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L0042A06A: mov ecx,[L0073EBE4] mov eax,[ecx] call [eax+00000090h] test eax,eax jnz L0042A133 mov eax,[esi+0000009Ch] cmp eax,edi jz L0042A133 push eax mov ecx,L006A9D38 call SUB_L004611C0 mov [esi+000000B0h],edi mov [L006A9DD4],edi pop edi pop esi mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L0042A0AD: cmp [esi+000000B0h],edi jnz L0042A133 cmp eax,edi jnz L0042A133 mov ecx,[esi+0000009Ch] cmp ecx,edi jz L0042A133 cmp [L007121C4],edi jz L0042A0F2 mov eax,[L007121D4] cmp eax,edi jz L0042A0F2 cmp [L006BB5F0],edi jnz L0042A0F2 call eax mov [esi+000000B0h],edi mov [L006A9DD4],edi pop edi pop esi mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L0042A0F2: call SUB_L0048B870 test eax,eax jz L0042A10C mov ecx,[esi+0000009Ch] push ecx mov ecx,L006A9D38 call SUB_L00461340 L0042A10C: mov edx,[esi+0000009Ch] lea ecx,[ebp-08h] mov eax,[edx+78h] push eax push ecx mov ecx,L006BB1C0 call SUB_L00474350 mov ecx,[L006BB1CC] lea edx,[ebp-08h] push edx call SUB_L0048B170 L0042A133: mov [esi+000000B0h],edi mov [L006A9DD4],edi pop edi pop esi mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 L0042A150: push ebp mov ebp,esp sub esp,00000014h push ebx push esi push edi mov edi,ecx mov eax,[edi+60h] test eax,eax jnz L0042A179 mov eax,[L007121C4] test eax,eax jz L0042A179 push 00000013h mov ecx,L006A9DC0 call SUB_L00450120 jmp L0042A185 L0042A179: push 00000000h mov ecx,L006BB1C8 call SUB_L0049A010 L0042A185: mov eax,[edi+60h] test eax,eax jnz L0042A338 mov eax,[edi+50h] mov esi,[edi+0000009Ch] cmp eax,0000091Ah mov dword ptr [ebp-04h],00000000h jz L0042A1AE cmp eax,0000092Eh jnz L0042A1B5 L0042A1AE: mov dword ptr [ebp-04h],00000001h L0042A1B5: mov eax,[ebp+0Ch] mov ecx,[ebp+08h] push eax push ecx mov ecx,edi call SUB_L0042AC70 cmp esi,eax mov [edi+0000009Ch],eax jz L0042A338 test esi,esi jz L0042A278 mov eax,[ebp-04h] test eax,eax jz L0042A214 xor ecx,ecx lea edx,[ebp+08h] mov cx,[esi+38h] push edx lea edx,[ebp+0Ch] sub ecx,00002C69h call SUB_L004390A0 movsx eax,[esi+20h] mov edx,[ebp+0Ch] mov [ebp-14h],eax movsx ecx,[esi+22h] add edx,eax mov eax,[ebp+08h] mov [ebp-10h],ecx mov [ebp-0Ch],edx jmp L0042A268 L0042A214: mov edx,[esi] mov ecx,esi call [edx+78h] mov ebx,eax mov eax,[L004D7ECC] test eax,eax jz L0042A242 mov ecx,esi call SUB_L0045D740 test eax,eax jz L0042A242 push 00006127h mov ecx,L006A9DB8 call SUB_L004882D0 mov ebx,eax L0042A242: mov eax,[esi] mov ecx,esi call [eax+7Ch] movsx eax,[esi+20h] mov [ebp-14h],eax xor edx,edx movsx ecx,[esi+22h] mov [ebp-10h],ecx mov dx,[ebx+04h] add edx,eax xor eax,eax mov [ebp-0Ch],edx mov ax,[ebx+06h] L0042A268: add eax,ecx lea ecx,[ebp-14h] push ecx mov ecx,edi mov [ebp-08h],eax call SUB_L0042A720 L0042A278: mov ecx,[edi+0000009Ch] test ecx,ecx jz L0042A338 mov eax,[ebp-04h] test eax,eax jz L0042A2C8 xor edx,edx lea eax,[ebp+08h] mov dx,[ecx+38h] push eax mov ecx,edx lea edx,[ebp+0Ch] sub ecx,00002C69h call SUB_L004390A0 mov eax,[edi+0000009Ch] mov edx,[ebp+0Ch] movsx ecx,[eax+20h] mov [ebp-14h],ecx add edx,ecx movsx eax,[eax+22h] mov ecx,[ebp+08h] mov [ebp-10h],eax mov [ebp-0Ch],edx jmp L0042A328 L0042A2C8: mov edx,[ecx] call [edx+78h] mov esi,eax mov eax,[L004D7ECC] test eax,eax jz L0042A2F8 mov ecx,[edi+0000009Ch] call SUB_L0045D740 test eax,eax jz L0042A2F8 push 00006127h mov ecx,L006A9DB8 call SUB_L004882D0 mov esi,eax L0042A2F8: mov ecx,[edi+0000009Ch] mov eax,[ecx] call [eax+7Ch] mov eax,[edi+0000009Ch] xor edx,edx movsx ecx,[eax+20h] mov [ebp-14h],ecx movsx eax,[eax+22h] mov [ebp-10h],eax mov dx,[esi+04h] add edx,ecx xor ecx,ecx mov [ebp-0Ch],edx mov cx,[esi+06h] L0042A328: add ecx,eax lea edx,[ebp-14h] mov [ebp-08h],ecx push edx mov ecx,edi call SUB_L0042A720 L0042A338: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 L0042A350: push ebp mov ebp,esp sub esp,00000018h push ebx mov ebx,ecx push esi push edi mov eax,[ebx+50h] mov esi,[ebx+0000009Ch] cmp eax,0000091Ah mov dword ptr [ebx+0000009Ch],00000000h jz L0042A380 cmp eax,0000092Eh jz L0042A380 xor eax,eax jmp L0042A385 L0042A380: mov eax,00000001h L0042A385: test esi,esi jz L0042A42D test eax,eax jz L0042A3C9 xor ecx,ecx lea eax,[ebp-08h] mov cx,[esi+38h] push eax lea edx,[ebp-04h] sub ecx,00002C69h call SUB_L004390A0 movsx eax,[esi+20h] mov ecx,[ebp-04h] mov edx,[ebp-08h] add ecx,eax mov [ebp-18h],eax mov [ebp-10h],ecx movsx eax,[esi+22h] add edx,eax mov [ebp-14h],eax mov [ebp-0Ch],edx jmp L0042A422 L0042A3C9: mov eax,[esi] mov ecx,esi call [eax+78h] mov edi,eax mov eax,[L004D7ECC] test eax,eax jz L0042A3F7 mov ecx,esi call SUB_L0045D740 test eax,eax jz L0042A3F7 push 00006127h mov ecx,L006A9DB8 call SUB_L004882D0 mov edi,eax L0042A3F7: mov edx,[esi] mov ecx,esi call [edx+7Ch] movsx eax,[esi+20h] mov [ebp-18h],eax xor edx,edx movsx ecx,[esi+22h] mov [ebp-14h],ecx mov dx,[edi+04h] add edx,eax xor eax,eax mov [ebp-10h],edx mov ax,[edi+06h] add eax,ecx mov [ebp-0Ch],eax L0042A422: lea ecx,[ebp-18h] push ecx mov ecx,ebx call SUB_L0042A720 L0042A42D: pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 L0042A440: push ebp mov ebp,esp push esi mov esi,ecx push edi xor edi,edi mov eax,[esi+0000009Ch] cmp eax,edi mov eax,[esi+000000ACh] jnz L0042A4A6 cmp eax,edi jz L0042A54A mov ecx,[esi+48h] mov eax,[ebp+0Ch] push 00000001h cmp ecx,edi push edi push 00000001h jz L0042A48A mov edi,[esi+70h] mov edx,[ebp+08h] sub eax,edi mov edi,[esi+6Ch] sub edx,edi push eax push edx call SUB_L00440850 pop edi pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ L0042A48A: mov ecx,[esi+70h] mov edx,[esi+6Ch] sub eax,ecx mov ecx,[ebp+08h] sub ecx,edx push eax push ecx mov ecx,esi call SUB_L00440850 pop edi pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ L0042A4A6: cmp eax,edi jz L0042A54A cmp [esi+000000B8h],edi jbe L0042A54A mov eax,[ebp+08h] mov edx,[esi+6Ch] sub eax,edx cdq xor eax,edx sub eax,edx cmp eax,00000004h jg L0042A4DE mov eax,[ebp+0Ch] mov edx,[esi+70h] sub eax,edx cdq xor eax,edx sub eax,edx cmp eax,00000004h jle L0042A54A L0042A4DE: mov eax,[esi+000000A0h] mov dword ptr [esi+000000A4h],00000001h cmp eax,edi mov [esi+000000B8h],edi jz L0042A50C cmp [eax+000000B8h],esi jz L0042A50C mov [esi+0000009Ch],edi pop edi pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ L0042A50C: cmp [L006A9DA8],edi jnz L0042A54A mov ecx,[L0073EBE4] mov edx,[ecx] call [edx+00000090h] test eax,eax jnz L0042A54A mov eax,[esi+0000009Ch] push edi push eax mov ecx,L006A9D38 call SUB_L004614B0 mov [esi+000000ACh],edi mov [esi+000000A4h],edi mov [esi+000000B8h],edi L0042A54A: pop edi pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ L0042A550: push esi mov esi,ecx cmp dword ptr [esi+50h],00000009h jnz L0042A5D4 mov edx,[esi+000000BCh] inc edx mov [esi+000000BCh],edx mov ecx,[L004C6234] mov eax,edx cmp eax,ecx jnz L0042A5D4 mov ecx,00000014h call SUB_L00455460 add eax,00000005h mov [L004C6234],eax mov edx,[esi+000000C0h] xor eax,eax inc edx mov ecx,edx mov [esi+000000BCh],eax cmp ecx,00000001h mov [esi+000000C0h],edx jbe L0042A5A6 mov [esi+000000C0h],eax L0042A5A6: mov eax,[esi+38h] xor ecx,ecx xor edx,edx mov eax,[eax+04h] mov cx,[eax+02h] mov dx,[eax] push ecx add eax,00000004h push edx mov edx,[esi+000000C0h] push eax push 0000001Eh push 0000002Dh add edx,00000045h mov ecx,SUB_L00488700 call SUB_L00439100 L0042A5D4: pop esi retn ;------------------------------------------------------------------------------ Align 16 L0042A5E0: push ebp mov ebp,esp sub esp,00000008h push esi push edi mov esi,ecx call [KERNEL32.dll!GetTickCount] mov edi,eax call [USER32.dll!GetDoubleClickTime] mov edx,[esi+000000B8h] mov ecx,00000001h cmp edx,ecx jnz L0042A70B sub edi,[esi+000000B4h] cmp edi,eax jbe L0042A70B mov eax,[esi+000000ACh] xor edi,edi cmp eax,edi mov [esi+000000B8h],edi jnz L0042A6A1 mov ecx,[esi+0000009Ch] cmp ecx,edi jz L0042A70B cmp [L007121C4],edi jz L0042A65A mov eax,[L007121D4] cmp eax,edi jz L0042A65A cmp [L006BB5F0],edi jnz L0042A65A call eax pop edi pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L0042A65A: call SUB_L0048B870 test eax,eax jz L0042A674 mov eax,[esi+0000009Ch] mov ecx,L006A9D38 push eax call SUB_L00461340 L0042A674: mov ecx,[esi+0000009Ch] lea eax,[ebp-08h] mov edx,[ecx+78h] mov ecx,L006BB1C0 push edx push eax call SUB_L00474350 lea ecx,[ebp-08h] push ecx mov ecx,[L006BB1CC] call SUB_L0048B170 pop edi pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L0042A6A1: mov eax,[esi+000000A0h] mov [esi+000000A4h],ecx cmp eax,edi jz L0042A6C5 cmp [eax+000000B8h],esi jz L0042A6C5 mov [esi+0000009Ch],edi pop edi pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L0042A6C5: cmp [esi+0000009Ch],edi jz L0042A70B cmp [L006A9DA8],edi jnz L0042A70B mov ecx,[L0073EBE4] mov edx,[ecx] call [edx+00000090h] test eax,eax jnz L0042A70B mov eax,[esi+0000009Ch] push edi push eax mov ecx,L006A9D38 call SUB_L004614B0 mov [esi+000000ACh],edi mov [esi+000000A4h],edi mov [esi+000000B8h],edi L0042A70B: pop edi pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L0042A720: push ebp mov ebp,esp sub esp,00000030h mov eax,[L007121E4] push ebx push esi xor ebx,ebx mov esi,ecx cmp eax,ebx push edi mov [ebp-08h],esi mov [ebp-04h],ebx jnz L0042ABAB mov eax,[esi+38h] mov [ebp-2Ch],ebx mov [ebp-30h],ebx xor edx,edx mov ecx,[eax+04h] mov dx,[ecx+02h] xor ecx,ecx mov [ebp-24h],edx mov eax,[eax+04h] lea edx,[ebp-20h] mov cx,[eax] push edx mov [ebp-28h],ecx mov ecx,[ebp+08h] lea edx,[ebp-30h] call SUB_L00440D90 cmp [esi+00000098h],ebx jz L0042A7AD mov eax,[esi+1Ch] mov [ebp-20h],ebx mov [ebp-1Ch],ebx lea ecx,[eax-01h] mov [ebp-18h],ecx mov ecx,[esi+20h] lea edx,[ecx-01h] imul ecx,eax mov [ebp-14h],edx mov edx,[esi+38h] shl ecx,1 mov edi,[edx+04h] mov edx,ecx xor eax,eax add edi,00000004h shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb L0042A7AD: mov edx,[esi+50h] cmp edx,0000091Ah jz L0042A7C3 cmp edx,0000092Eh mov [ebp+08h],ebx jnz L0042A7CA L0042A7C3: mov dword ptr [ebp+08h],00000001h L0042A7CA: mov eax,[esi+38h] xor ecx,ecx mov eax,[eax+04h] mov cx,[eax+02h] add eax,00000004h push ecx xor ecx,ecx mov cx,[eax-04h] push ecx push eax mov eax,[esi+00000098h] lea ecx,[ebp-20h] push eax push ebx push ecx mov ecx,SUB_L00488700 call SUB_L00439290 mov edx,[esi+34h] mov ebx,[edx+000000A8h] test ebx,ebx jz L0042ABAB mov eax,[ebx+40h] test eax,eax jz L0042A819 L0042A810: mov ebx,eax mov eax,[ebx+40h] test eax,eax jnz L0042A810 L0042A819: mov al,[L0073EC3C] mov dword ptr [ebp-10h],00000000h test al,al jz L0042A89A mov eax,[esi+38h] xor ecx,ecx xor edx,edx mov eax,[eax+04h] mov cx,[eax+02h] mov dx,[eax] imul ecx,edx lea eax,[ecx+ecx+04h] push eax call SUB_L0049A820 mov ecx,[esi+38h] mov edx,eax add esp,00000004h mov [ebp-10h],edx mov eax,[ecx+04h] lea edi,[edx+04h] mov [ebp-0Ch],edi mov cx,[eax] mov [edx],cx mov eax,[esi+38h] mov ecx,[eax+04h] mov ax,[ecx+02h] xor ecx,ecx mov cx,[edx] mov [edx+02h],ax and eax,0000FFFFh imul ecx,eax shl ecx,1 mov esi,ecx xor eax,eax shr ecx,02h rep stosd mov ecx,esi and ecx,00000003h rep stosb mov ecx,[ebp-0Ch] xor eax,eax mov ax,[edx] mov edx,eax jmp L0042A8A8 L0042A89A: mov ecx,[esi+38h] xor edx,edx mov eax,[ecx+04h] mov dx,[eax] lea ecx,[eax+04h] L0042A8A8: call SUB_L00488A00 test ebx,ebx jz L0042AB39 L0042A8B5: mov ax,[ebx+38h] cmp ax,4000h jnc L0042A8ED and eax,0000FFFFh lea edx,[eax+eax*4] mov eax,[L006A9D98] mov ecx,[eax+edx*8] lea eax,[eax+edx*8] test ecx,00400000h jz L0042A8ED mov al,[eax+05h] cmp al,0Bh jz L0042AB2E cmp al,10h jz L0042AB2E L0042A8ED: mov eax,[ebp+08h] test eax,eax jnz L0042A930 mov edx,[ebx] mov ecx,ebx call [edx+78h] mov [ebp-04h],eax mov eax,[L004D7ECC] test eax,eax jz L0042A924 mov ecx,ebx call SUB_L0045D740 test eax,eax jz L0042A924 push 00006127h mov ecx,L006A9DB8 call SUB_L004882D0 mov [ebp-04h],eax L0042A924: mov eax,[ebx] mov ecx,ebx call [eax+7Ch] mov [ebp-0Ch],eax jmp L0042A937 L0042A930: mov dword ptr [ebp-0Ch],00000000h L0042A937: mov ax,[ebx+3Eh] mov ecx,[ebp-08h] movsx esi,[ebx+20h] movsx edi,[ebx+22h] mov edx,[ecx+0000009Ch] test ax,ax jnz L0042A9F0 cmp ebx,edx jz L0042A9F4 mov eax,[ebp+08h] test eax,eax jz L0042A995 mov ecx,[ecx+38h] xor edx,edx mov eax,[ecx+04h] xor ecx,ecx mov dx,[eax+02h] mov cx,[eax] push edx add eax,00000004h xor edx,edx push ecx mov dx,[ebx+38h] push eax push edi push esi sub edx,00002C69h mov ecx,SUB_L00488700 call SUB_L00439100 jmp L0042A9CC L0042A995: mov eax,[L004D7ED0] test eax,eax jz L0042A9B9 mov ecx,ebx call SUB_L0045D8A0 test eax,eax jz L0042A9B9 push edi lea edx,[ebp-20h] push esi push edx mov edx,[ebp-04h] mov ecx,L00488400 jmp L0042A9C7 L0042A9B9: mov edx,[ebp-04h] push edi lea eax,[ebp-20h] push esi push eax mov ecx,SUB_L00488380 L0042A9C7: call SUB_L00488A10 L0042A9CC: mov eax,[ebp-0Ch] test eax,eax jz L0042AB2E mov edx,[ebp-04h] add edi,00000005h add esi,00000005h push edi lea ecx,[ebp-20h] push esi push ecx mov ecx,SUB_L00488380 jmp L0042AB29 L0042A9F0: cmp ebx,edx jnz L0042AA00 L0042A9F4: mov dword ptr [L0076735C],00000035h jmp L0042AA1D L0042AA00: cmp ax,EA60h jbe L0042AA12 mov dword ptr [L0076735C],00000001h jmp L0042AA1D L0042AA12: and eax,0000FFFFh dec eax mov [L0076735C],eax L0042AA1D: mov eax,[ebp+08h] test eax,eax jz L0042AA55 mov edx,[ecx+38h] xor ecx,ecx mov eax,[edx+04h] xor edx,edx mov cx,[eax+02h] mov dx,[eax] push ecx push edx add eax,00000004h xor edx,edx mov dx,[ebx+38h] push eax push edi push esi sub edx,00002C69h mov ecx,SUB_L004887E0 call SUB_L00439100 jmp L0042AAB5 L0042AA55: mov eax,[L004D7ED0] test eax,eax jz L0042AA7C mov ecx,ebx call SUB_L0045D8A0 test eax,eax jz L0042AA79 mov edx,[ebp-04h] push edi lea eax,[ebp-20h] push esi push eax mov ecx,L00488400 jmp L0042AAB0 L0042AA79: mov ecx,[ebp-08h] L0042AA7C: cmp ebx,[ecx+0000009Ch] jz L0042AAA2 mov edx,[ebx] mov ecx,ebx call [edx+40h] test eax,00040000h jz L0042AAA2 mov edx,[ebp-04h] push edi lea eax,[ebp-20h] push esi push eax mov ecx,L004884A0 jmp L0042AAB0 L0042AAA2: mov edx,[ebp-04h] push edi lea ecx,[ebp-20h] push esi push ecx mov ecx,L004883B0 L0042AAB0: call SUB_L00488A10 L0042AAB5: mov eax,[ebp-0Ch] test eax,eax jz L0042AB2E mov eax,[L004D7ED0] test eax,eax jz L0042AAE6 mov ecx,ebx call SUB_L0045D8A0 test eax,eax jz L0042AAE6 add edi,00000005h add esi,00000005h push edi lea edx,[ebp-20h] push esi push edx mov edx,[ebp-04h] mov ecx,L00488400 jmp L0042AB29 L0042AAE6: mov eax,[ebp-08h] cmp ebx,[eax+0000009Ch] jz L0042AB15 mov edx,[ebx] mov ecx,ebx call [edx+40h] test eax,00040000h jz L0042AB15 mov edx,[ebp-04h] add edi,00000005h add esi,00000005h push edi lea eax,[ebp-20h] push esi push eax mov ecx,L004884A0 jmp L0042AB29 L0042AB15: mov edx,[ebp-04h] add edi,00000005h add esi,00000005h push edi lea ecx,[ebp-20h] push esi push ecx mov ecx,L004883B0 L0042AB29: call SUB_L00488A10 L0042AB2E: mov ebx,[ebx+44h] test ebx,ebx jnz L0042A8B5 L0042AB39: mov al,[L0073EC3C] test al,al jz L0042ABAB mov edi,[ebp-10h] xor esi,esi xor eax,eax mov si,[edi] mov ax,[edi+02h] imul esi,eax test esi,esi lea edx,[edi+04h] jle L0042AB78 mov ecx,edx L0042AB5C: mov ax,[ecx] add ecx,00000002h mov ebx,eax and eax,0000001Fh and ebx,0000FFE0h shl ebx,1 or ebx,eax dec esi mov [ecx-02h],bx jnz L0042AB5C L0042AB78: mov esi,[ebp-08h] xor eax,eax mov ax,[edi+02h] xor ecx,ecx mov esi,[esi+38h] mov cx,[edi] push eax push ecx mov esi,[esi+04h] add esi,00000004h push esi push 00000000h push 00000000h push eax push ecx mov ecx,SUB_L00488700 call SUB_L00439480 push edi call SUB_L0049A810 add esp,00000004h L0042ABAB: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 L0042ABC0: push ebp mov ebp,esp sub esp,00000018h mov edx,[ecx+60h] xor eax,eax push esi cmp edx,eax mov edx,[ecx+38h] push edi jz L0042ABD9 mov esi,[edx+0Ch] jmp L0042ABDC L0042ABD9: mov esi,[edx+04h] L0042ABDC: mov [ebp-08h],eax mov [ebp-04h],eax lea eax,[ebp-04h] lea edx,[ebp-08h] push eax push edx call SUB_L00440C60 mov ecx,[ebp-08h] mov eax,[ebp-04h] xor edx,edx mov edi,[ebp+08h] mov [ebp-18h],ecx mov [ebp-14h],eax mov dx,[esi] add edx,ecx xor ecx,ecx mov [ebp-10h],edx mov cx,[esi+02h] lea edx,[ebp-18h] add eax,ecx push edx push edi mov ecx,L00669608 mov [ebp-0Ch],eax call SUB_L00440D40 test eax,eax jz L0042AC5D mov eax,[L004C7F38] mov ecx,[L004C7F34] mov edx,[L006BAE7C] push eax mov eax,[ebp-04h] push ecx mov ecx,[ebp-08h] push edx push eax xor edx,edx mov dx,[esi+02h] xor eax,eax mov ax,[esi] push ecx push edx push eax push edi lea edx,[esi+04h] mov ecx,SUB_L00488700 call SUB_L00439500 L0042AC5D: pop edi pop esi mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L0042AC70: push ebp mov ebp,esp sub esp,00000010h push ebx mov ebx,[ebp+08h] push esi push edi test ebx,ebx jl L0042AEA1 mov eax,[ebp+0Ch] test eax,eax jl L0042AEA1 cmp ebx,[ecx+1Ch] jge L0042AEA1 cmp eax,[ecx+20h] jge L0042AEA1 mov eax,[ecx+50h] cmp eax,0000091Ah jz L0042ACB9 cmp eax,0000092Eh mov dword ptr [ebp-04h],00000000h jnz L0042ACC0 L0042ACB9: mov dword ptr [ebp-04h],00000001h L0042ACC0: mov eax,[ecx+34h] mov edi,[eax+000000A8h] test edi,edi jz L0042AEA1 L0042ACD1: mov ax,[edi+38h] cmp ax,4000h jnc L0042AD0C mov edx,[L006A9D98] mov ecx,eax and ecx,0000FFFFh lea ecx,[ecx+ecx*4] lea ecx,[edx+ecx*8] test dword ptr [ecx],00400000h jz L0042AD0C mov cl,[ecx+05h] cmp cl,0Bh jz L0042AE80 cmp cl,10h jz L0042AE80 L0042AD0C: mov ecx,[ebp-04h] test ecx,ecx jnz L0042AE20 mov eax,[edi] mov ecx,edi call [eax+78h] mov esi,eax mov eax,[L004D7ECC] test eax,eax jz L0042AD45 mov ecx,edi call SUB_L0045D740 test eax,eax jz L0042AD45 push 00006127h mov ecx,L006A9DB8 call SUB_L004882D0 mov esi,eax L0042AD45: mov edx,[edi] mov ecx,edi call [edx+7Ch] test esi,esi mov [ebp-08h],eax jz L0042AE80 movsx ecx,[edi+20h] cmp ebx,ecx jl L0042ADA7 movsx eax,[edi+22h] cmp [ebp+0Ch],eax jl L0042ADA7 xor edx,edx mov dx,[esi+04h] lea ecx,[edx+ecx-01h] cmp ebx,ecx jg L0042ADA7 xor edx,edx mov dx,[esi+06h] lea ecx,[edx+eax-01h] mov edx,[ebp+0Ch] cmp edx,ecx jg L0042ADA7 sub edx,eax mov ecx,ebx movsx eax,[edi+20h] sub ecx,eax push edx push ecx push esi mov ecx,L006A9DB8 call SUB_L00488300 test ax,ax jnz L0042AE96 L0042ADA7: mov eax,[ebp-08h] test eax,eax jz L0042AE80 movsx ecx,[edi+20h] lea edx,[ecx+05h] cmp ebx,edx jl L0042AE80 movsx eax,[edi+22h] mov ebx,[ebp+0Ch] lea edx,[eax+05h] cmp ebx,edx jl L0042AE7D mov ebx,[ebp+08h] xor edx,edx mov dx,[esi+04h] lea edx,[edx+ecx+04h] cmp ebx,edx jg L0042AE80 xor edx,edx mov dx,[esi+06h] lea ebx,[edx+eax+04h] mov edx,[ebp+0Ch] cmp edx,ebx jg L0042AE7D mov ebx,[ebp+08h] sub edx,eax mov eax,ebx sub edx,00000005h sub eax,ecx push edx sub eax,00000005h mov ecx,L006A9DB8 push eax push esi call SUB_L00488300 test ax,ax jnz L0042AE96 jmp L0042AE80 L0042AE20: and eax,0000FFFFh lea ecx,[ebp-10h] sub eax,00002C69h push ecx mov esi,eax lea edx,[ebp-0Ch] mov ecx,esi call SUB_L004390A0 movsx eax,[edi+20h] cmp ebx,eax jl L0042AE80 movsx ecx,[edi+22h] cmp [ebp+0Ch],ecx jl L0042AE80 mov edx,[ebp-0Ch] lea edx,[edx+eax-01h] cmp ebx,edx jg L0042AE80 mov edx,[ebp-10h] lea ecx,[edx+ecx-01h] mov edx,[ebp+0Ch] cmp edx,ecx jg L0042AE80 movsx ecx,[edi+22h] sub edx,ecx mov ecx,esi push edx mov edx,ebx sub edx,eax call SUB_L00439630 test ax,ax jnz L0042AE96 jmp L0042AE80 L0042AE7D: mov ebx,[ebp+08h] L0042AE80: mov edi,[edi+40h] test edi,edi jnz L0042ACD1 xor eax,eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L0042AE96: mov eax,edi pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L0042AEA1: pop edi pop esi xor eax,eax pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 8 SUB_L0042AEB0: push ebp mov ebp,esp sub esp,00000034h push ebx push esi mov esi,ecx push edi mov [ebp-10h],esi mov dword ptr [ebp-04h],00000000h mov ecx,[esi+48h] push 00000000h test ecx,ecx jnz L0042AED0 mov ecx,esi L0042AED0: call SUB_L00441340 mov ecx,[L006A9D6C] test ecx,ecx jz L0042AEEC push 00000000h call SUB_L00441340 mov ecx,[L006A9D6C] L0042AEEC: mov eax,[esi+000000A0h] test eax,eax jz L0042AF09 cmp [eax+000000B8h],esi jz L0042AF09 xor eax,eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L0042AF09: mov ax,[ecx+1Ch] mov cx,[ecx+20h] mov ebx,[ebp+0Ch] mov edi,[ebp+08h] mov [ebp-0Ch],cx push ebx push edi mov ecx,esi mov [ebp-08h],ax call SUB_L0042AC70 mov esi,eax test esi,esi jz L0042B05A mov edx,[esi] mov ecx,esi call [edx+30h] test eax,eax jnz L0042AF9B cmp [esi+3Ch],ax jz L0042AF8F mov cx,[esi+38h] movsx eax,[esi+3Ah] mov edx,ecx and edx,0000FFFFh add eax,edx mov edx,[L006A9D98] lea eax,[eax+eax*4] test byte ptr [edx+eax*8+01h],08h jz L0042AF8F cmp word ptr [L006A9D82],0000h jz L0042AF8F mov eax,[L006A9D84] test ah,08h jz L0042AF8F cmp cx,[L006A9D76] jnz L0042AF8F mov ax,[esi+3Eh] cmp ax,[L006A9D80] jz L0042AF9B L0042AF8F: mov dword ptr [ebp-04h],00000001h jmp L0042B04B L0042AF9B: mov edx,[esi] mov ecx,esi call [edx+30h] test eax,eax jz L0042B015 mov cx,[esi+38h] lea eax,[ebp-20h] push eax push ecx mov ecx,L00669608 call SUB_L00440210 push eax mov ecx,L00669608 call SUB_L00440500 mov edx,[ebp-18h] mov eax,[ebp-20h] sub edx,eax mov eax,[ebp-08h] and eax,0000FFFFh cmp edx,eax jge L0042AFE3 xor eax,eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L0042AFE3: mov ecx,[ebp-14h] mov edx,[ebp-1Ch] sub ecx,edx mov edx,[ebp-0Ch] and edx,0000FFFFh cmp ecx,edx jge L0042B003 xor eax,eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L0042B003: mov eax,[esi+78h] push eax push 00000000h push 0000FFFFh push 0000FFFFh jmp L0042B027 L0042B015: mov eax,[esi+78h] mov cl,[esi+24h] mov dx,[esi+22h] push eax mov ax,[esi+20h] push ecx push edx push eax L0042B027: mov ecx,[L006A9D7C] lea edx,[ebp-34h] push ecx push edx mov ecx,L006BB1C0 call SUB_L00473C50 mov ecx,[L006BB1CC] lea eax,[ebp-34h] push eax call SUB_L0048B170 L0042B04B: test esi,esi jz L0042B05A mov eax,[ebp-04h] test eax,eax jz L0042B0FA L0042B05A: mov edx,[ebp-10h] lea ecx,[ebp-20h] push ecx mov eax,[edx+34h] mov cx,[eax+38h] push ecx mov ecx,L00669608 call SUB_L00440210 push eax mov ecx,L00669608 call SUB_L00440500 mov eax,[ebp-08h] mov ecx,[ebp-0Ch] and eax,0000FFFFh and ecx,0000FFFFh mov edx,eax shr edx,1 sub edi,edx mov edx,ecx shr edx,1 sub ebx,edx mov edx,[ebp-18h] lea esi,[edi+eax] cmp esi,edx jle L0042B0A9 sub edx,eax mov edi,edx L0042B0A9: mov eax,[ebp-14h] lea edx,[ebx+ecx] cmp edx,eax jle L0042B0B7 sub eax,ecx mov ebx,eax L0042B0B7: mov eax,[ebp-20h] cmp edi,eax jge L0042B0C0 mov edi,eax L0042B0C0: mov eax,[ebp-1Ch] cmp ebx,eax jge L0042B0C9 mov ebx,eax L0042B0C9: mov eax,[ebp-10h] mov ecx,[eax+34h] mov eax,[L006A9D7C] mov edx,[ecx+78h] lea ecx,[ebp-34h] push edx push 00000000h push ebx push edi push eax push ecx mov ecx,L006BB1C0 call SUB_L00473C50 mov ecx,[L006BB1CC] lea edx,[ebp-34h] push edx call SUB_L0048B170 L0042B0FA: pop edi pop esi mov eax,00000001h pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L0042B110: push ebp mov ebp,esp sub esp,00000018h push ebx mov ebx,ecx push esi push edi mov eax,[ebx+50h] xor edi,edi xor ecx,ecx cmp eax,0000091Ah mov [ebp-04h],ecx jz L0042B133 cmp eax,0000092Eh jnz L0042B13B L0042B133: mov ecx,00000001h mov [ebp-04h],ecx L0042B13B: test ecx,ecx jz L0042B17A mov esi,[ebp+08h] xor ecx,ecx lea eax,[ebp-08h] lea edx,[ebp+08h] mov cx,[esi+38h] push eax sub ecx,00002C69h call SUB_L004390A0 movsx eax,[esi+20h] movsx edx,[esi+22h] mov ecx,[ebp+08h] mov esi,[ebp-08h] add ecx,eax add esi,edx mov [ebp-18h],eax mov [ebp-14h],edx mov [ebp-10h],ecx mov [ebp-0Ch],esi jmp L0042B1E1 L0042B17A: mov esi,[ebp+08h] mov ecx,esi mov edx,[esi] call [edx+78h] mov edi,eax mov eax,[L004D7ECC] test eax,eax jz L0042B1AB mov ecx,esi call SUB_L0045D740 test eax,eax jz L0042B1AB push 00006127h mov ecx,L006A9DB8 call SUB_L004882D0 mov edi,eax L0042B1AB: test edi,edi jz L0042B1D5 movsx eax,[esi+20h] movsx edx,[esi+22h] xor ecx,ecx mov [ebp-18h],eax mov cx,[edi+04h] xor esi,esi add ecx,eax mov [ebp-14h],edx mov [ebp-10h],ecx mov si,[edi+06h] add esi,edx mov [ebp-0Ch],esi jmp L0042B1E1 L0042B1D5: mov esi,[ebp-0Ch] mov ecx,[ebp-10h] mov edx,[ebp-14h] mov eax,[ebp-18h] L0042B1E1: cmp dword ptr [ebp-04h],00000000h jnz L0042B1EB test edi,edi jz L0042B24D L0042B1EB: test eax,eax jge L0042B1F4 xor eax,eax mov [ebp-18h],eax L0042B1F4: mov edi,[ebx+1Ch] cmp eax,edi jl L0042B201 lea eax,[edi-01h] mov [ebp-18h],eax L0042B201: test ecx,ecx jge L0042B20A xor ecx,ecx mov [ebp-10h],ecx L0042B20A: cmp ecx,edi jl L0042B212 dec edi mov [ebp-10h],edi L0042B212: test edx,edx jge L0042B21B xor edx,edx mov [ebp-14h],edx L0042B21B: mov eax,[ebx+20h] cmp edx,eax jl L0042B228 lea ecx,[eax-01h] mov [ebp-14h],ecx L0042B228: test esi,esi jge L0042B231 xor esi,esi mov [ebp-0Ch],esi L0042B231: cmp esi,eax jl L0042B239 dec eax mov [ebp-0Ch],eax L0042B239: mov eax,[L0073EC58] test eax,eax jnz L0042B24D lea edx,[ebp-18h] mov ecx,ebx push edx call SUB_L0042A720 L0042B24D: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 L0042B260: push ebp mov ebp,esp mov eax,[ebp+0Ch] mov edx,[ebp+08h] push eax push edx call SUB_L0042AC70 pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L0042B280: push ebp mov ebp,esp push FFFFFFFFh push L004B28F4 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push esi mov esi,ecx push edi mov [ebp-10h],esi call SUB_L00441CB0 push SUB_L0040CC60 push L0040D090 push 00000002h lea eax,[esi+000000E4h] push 0000000Ch push eax mov dword ptr [ebp-04h],00000001h call SUB_L0049AFF0 mov ecx,[ebp+18h] mov edx,[ebp+1Ch] mov eax,[ebp+20h] and ecx,0000FFFFh mov dword ptr [esi],L004B99C0 and edx,0000FFFFh mov [esi+00000110h],ecx mov ecx,[ebp+24h] and eax,0000FFFFh mov [esi+00000114h],edx mov edx,[ebp+28h] mov [esi+00000118h],eax mov eax,[ebp+2Ch] and ecx,0000FFFFh and edx,0000FFFFh mov [esi+0000011Ch],ecx mov ecx,[ebp+14h] and eax,0000FFFFh mov [esi+00000120h],edx mov [esi+00000124h],eax xor edi,edi mov dword ptr [esi+04h],SSZ004C62EC_Course_gump mov [esi+5Ch],edi cmp ecx,edi mov byte ptr [ebp-04h],02h mov [esi+34h],ecx jz L0042B351 mov edx,[ecx] call [edx+60h] test eax,eax jz L0042B351 mov eax,[esi+34h] mov [eax+000000B0h],esi L0042B351: mov ecx,[ebp+08h] mov edx,[ebp+0Ch] mov [esi+000000BCh],edi mov byte ptr [esi+000000ACh],00h mov [esi+000000B0h],edi mov [esi+000000B8h],edi mov [esi+000000B4h],edi mov [esi+2Ch],ecx mov ecx,[ebp+10h] mov [esi+000000CCh],edi mov [esi+000000C8h],edi mov [esi+000000C4h],edi cmp ecx,0000139Dh mov [esi+000000C0h],edi mov byte ptr [esi+000000E0h],00h mov [esi+000000A0h],edi mov [esi+0000009Ch],edi mov [esi+00000098h],edi mov [esi+00000094h],edi mov [esi+000000A8h],edi mov [esi+000000A4h],edi mov [esi+30h],edx mov [esi+60h],edi mov [esi+50h],ecx mov [esi+4Ch],edi mov [esi+48h],edi mov [esi+44h],edi mov [esi+40h],edi mov [esi+3Ch],edi jle L0042B3F4 lea eax,[esi+20h] lea ebx,[esi+1Ch] push eax mov edx,ebx call SUB_L004390A0 mov eax,[ebx] mov [esi+18h],eax jmp L0042B411 L0042B3F4: mov eax,[esi+00000120h] mov ecx,[esi+00000124h] add eax,0000002Ch lea ebx,[esi+1Ch] add ecx,0000003Dh mov [esi+18h],eax mov [ebx],eax mov [esi+20h],ecx L0042B411: push SSZ004C43B0_framedata_for_CCourseGump push 00000010h mov ecx,L00669C8C mov dword ptr [esi+24h],00000028h mov dword ptr [esi+28h],00000014h mov [esi+10h],edi mov dword ptr [esi+14h],00000002h call SUB_L0044FBD0 mov ecx,[esi+14h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+38h],edi push SSZ004C43A0_course_frame0 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[ebx] imul eax,[esi+20h] lea ecx,[eax+eax+04h] push ecx mov ecx,L00669C8C call SUB_L0044FBD0 mov edx,[esi+38h] push SSZ004C62DC_course_frame1 mov [edx+04h],eax mov ecx,[ebx] imul ecx,[esi+20h] mov edx,[esi+38h] xor eax,eax shl ecx,1 mov edi,[edx+04h] mov edx,ecx add edi,00000004h shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+38h] mov dx,[ebx] mov ecx,[eax+04h] mov [ecx],dx mov eax,[esi+38h] mov dx,[esi+20h] mov ecx,[eax+04h] mov [ecx+02h],dx mov eax,[esi+28h] imul eax,[esi+24h] lea ecx,[eax+eax+04h] push ecx mov ecx,L00669C8C call SUB_L0044FBD0 mov edx,[esi+38h] push SSZ004C62C8_course_backupFrame mov [edx+0Ch],eax mov ecx,[esi+28h] imul ecx,[esi+24h] mov edx,[esi+38h] xor eax,eax shl ecx,1 mov edi,[edx+0Ch] mov edx,ecx add edi,00000004h shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+38h] mov dx,[esi+24h] mov ecx,[eax+0Ch] mov [ecx],dx mov eax,[esi+38h] mov dx,[esi+28h] mov ecx,[eax+0Ch] mov [ecx+02h],dx mov eax,[ebx] imul eax,[esi+20h] lea ecx,[eax+eax+04h] push ecx mov ecx,L00669C8C call SUB_L0044FBD0 mov ecx,[ebx] mov edx,eax imul ecx,[esi+20h] shl ecx,1 mov [esi+00000104h],edx lea edi,[edx+04h] mov edx,ecx xor eax,eax shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+00000104h] mov cx,[ebx] mov [eax],cx mov edx,[esi+00000104h] mov ax,[esi+20h] mov [edx+02h],ax mov ecx,[esi+28h] imul ecx,[esi+24h] mov edx,[esi+38h] mov eax,14141414h shl ecx,1 mov edi,[edx+0Ch] mov edx,ecx add edi,00000004h shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov ecx,esi call SUB_L0042C6D0 push 000000CCh call SUB_L0049A820 mov ecx,eax add esp,00000004h mov [ebp+18h],ecx test ecx,ecx mov byte ptr [ebp-04h],03h jz L0042B5DA mov eax,[esi+20h] push 00000000h push 0000139Ah push 0000139Ah push L0040E6F0 push 00000000h push 00000000h sub eax,00000018h push esi push eax mov eax,[ebx] cdq sub eax,edx sar eax,1 sub eax,00000037h push eax call SUB_L004122F0 jmp L0042B5DC L0042B5DA: xor eax,eax L0042B5DC: push 00000001h push esi mov ecx,eax mov byte ptr [ebp-04h],02h mov [esi+00000108h],eax call SUB_L004415C0 mov ecx,[esi+00000108h] push 000000CCh mov dword ptr [ecx+68h],00000000h call SUB_L0049A820 mov ecx,eax add esp,00000004h mov [ebp+18h],ecx test ecx,ecx mov byte ptr [ebp-04h],04h jz L0042B641 mov eax,[ebx] push 00000000h cdq push 00001399h push 00001398h sub eax,edx push L0040D2C0 push 00000000h push 00000001h sar eax,1 push esi sub eax,00000046h push 00000005h push eax call SUB_L004122F0 jmp L0042B643 L0042B641: xor eax,eax L0042B643: push 00000001h push esi mov ecx,eax mov byte ptr [ebp-04h],02h mov [esi+0000010Ch],eax call SUB_L004415C0 mov ecx,[ebp-0Ch] mov eax,esi pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0028h ;------------------------------------------------------------------------------ Align 8 L0042B670: push ebp mov ebp,esp push esi mov esi,ecx call SUB_L0042B6A0 test byte ptr [ebp+08h],01h jz L0042B68A push esi call SUB_L0049A810 add esp,00000004h L0042B68A: mov eax,esi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L0042B6A0: push ebp mov ebp,esp push FFFFFFFFh push L004B292E mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000014h push esi mov esi,ecx push edi mov [ebp-10h],esi mov dword ptr [esi],L004B99C0 mov eax,[L007121E4] xor edi,edi cmp eax,edi mov dword ptr [ebp-04h],00000002h jnz L0042B70B cmp [esi+000000CCh],edi jz L0042B70B mov eax,[esi+34h] push edi push edi push edi mov ecx,[eax+78h] push 00000006h lea edx,[ebp-20h] push ecx push edx mov ecx,L006BB1C0 call SUB_L00474F30 mov ecx,[L006BB1CC] lea eax,[ebp-20h] push eax call SUB_L0048B170 L0042B70B: mov ecx,[esi+34h] cmp ecx,edi jz L0042B724 mov edx,[ecx] call [edx+60h] test eax,eax jz L0042B724 mov eax,[esi+34h] mov [eax+000000B0h],edi L0042B724: mov ecx,[esi+000000BCh] cmp ecx,edi jz L0042B734 mov edx,[ecx] push 00000001h call [edx] L0042B734: mov eax,[esi+00000104h] cmp eax,edi jz L0042B754 push SSZ004C6334_Course_backupFrame push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov [esi+00000104h],edi L0042B754: mov eax,[esi+38h] mov eax,[eax+04h] cmp eax,edi jz L0042B774 push SSZ004C6320_Course_frame0_pBMP push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov ecx,[esi+38h] mov [ecx+04h],edi L0042B774: mov edx,[esi+38h] mov eax,[edx+0Ch] cmp eax,edi jz L0042B794 push SSZ004C630C_Course_frame1_pBMP push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov eax,[esi+38h] mov [eax+0Ch],edi L0042B794: mov eax,[esi+38h] cmp eax,edi jz L0042B7AE push SSZ004C62F8_Course_framedata push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov [esi+38h],edi L0042B7AE: push SUB_L0040CC60 push 00000002h lea ecx,[esi+000000E4h] push 0000000Ch push ecx mov byte ptr [ebp-04h],01h call SUB_L0049AEB0 mov ecx,esi mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00441D50 mov ecx,[ebp-0Ch] pop edi mov fs:[00000000h],ecx pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 L0042B7F0: push ebp mov ebp,esp mov eax,[ebp+08h] push ebx push esi push edi mov edi,ecx mov esi,00000001h mov ecx,[ebp+0Ch] push 00000000h mov [edi+70h],ecx mov ecx,edi mov [edi+0000009Ch],esi mov [edi+6Ch],eax call SUB_L00441340 cmp [edi+000000A8h],esi jnz L0042B82C mov dword ptr [edi+000000A8h],00000002h jmp L0042B83E L0042B82C: mov [edi+000000A8h],esi call [KERNEL32.dll!GetTickCount] mov [edi+000000A4h],eax L0042B83E: mov eax,[edi+000000CCh] test eax,eax jz L0042B8B0 mov edx,[edi+34h] lea eax,[ebp+08h] push eax mov ecx,0000139Ch mov esi,[edx+000000A8h] lea edx,[ebp+0Ch] call SUB_L004390A0 mov edx,[ebp+0Ch] mov ecx,[ebp+08h] sar edx,1 sar ecx,1 test esi,esi mov [ebp+0Ch],edx mov [ebp+08h],ecx jz L0042B8B0 L0042B876: movsx eax,[esi] mov ecx,[edi+6Ch] mov ebx,eax sub ebx,edx cmp ecx,ebx jl L0042B8A9 add eax,edx cmp ecx,eax jg L0042B8A9 movsx eax,[esi+02h] mov ecx,[edi+70h] mov ebx,eax sub ebx,[ebp+08h] cmp ecx,ebx jl L0042B8A9 mov ebx,[ebp+08h] add ebx,eax cmp ecx,ebx jg L0042B8A9 mov [edi+000000B4h],esi L0042B8A9: mov esi,[esi+08h] test esi,esi jnz L0042B876 L0042B8B0: pop edi pop esi pop ebx pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 L0042B8C0: push ebp mov ebp,esp sub esp,00000010h push ebx mov ebx,[ebp+0Ch] push esi mov esi,ecx push edi xor ecx,ecx mov edi,[esi+00000094h] mov [esi+0000009Ch],ecx cmp edi,ecx jz L0042B8EE mov [esi+00000094h],ecx mov [esi+000000A8h],ecx jmp L0042B91B L0042B8EE: mov eax,[esi+000000A8h] cmp eax,00000002h jnz L0042B901 mov [esi+000000A8h],ecx jmp L0042B91B L0042B901: cmp [esi+000000A0h],ecx jnz L0042B91B cmp eax,ecx jnz L0042B91B mov eax,[ebp+08h] push ebx push eax mov ecx,esi call SUB_L0042BA10 xor ecx,ecx L0042B91B: mov eax,[esi+000000B4h] mov [esi+000000A0h],ecx cmp eax,ecx jz L0042B9F4 cmp edi,00000001h jnz L0042B9F4 mov edx,[esi+34h] mov ecx,[esi+000000B0h] xor edi,edi mov eax,[edx+000000A8h] cmp eax,ecx jz L0042B955 L0042B94D: mov eax,[eax+08h] inc edi cmp eax,ecx jnz L0042B94D L0042B955: mov eax,[ebp+08h] test eax,eax jl L0042B9A2 cmp eax,[esi+1Ch] jge L0042B9A2 test ebx,ebx jl L0042B9A2 cmp ebx,[esi+20h] jge L0042B9A2 mov ecx,[edx+78h] push ebx push eax push edi push 00000003h lea edx,[ebp-10h] push ecx push edx mov ecx,L006BB1C0 call SUB_L00474F30 mov ecx,[L006BB1CC] lea eax,[ebp-10h] push eax call SUB_L0048B170 mov ecx,[ebp+08h] push ebx push ecx mov ecx,[esi+34h] push edi push 00000002h call SUB_L0045E4A0 jmp L0042B9CA L0042B9A2: mov edx,[edx+78h] push 00000000h push 00000000h push edi push 00000004h lea eax,[ebp-10h] push edx push eax mov ecx,L006BB1C0 call SUB_L00474F30 lea ecx,[ebp-10h] push ecx mov ecx,[L006BB1CC] call SUB_L0048B170 L0042B9CA: xor edi,edi mov ecx,esi mov [esi+000000C4h],edi mov [esi+000000B8h],edi call SUB_L0042C6D0 mov byte ptr [esi+000000E0h],00h mov [esi+000000B4h],edi mov [esi+000000B0h],edi xor ecx,ecx L0042B9F4: pop edi pop esi mov [L006A9DD4],ecx pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L0042BA10: push ebp mov ebp,esp sub esp,00000044h push ebx mov ebx,ecx push esi push edi mov eax,[ebx+34h] xor esi,esi xor edi,edi mov [ebp-2Ch],ebx mov ecx,[eax+000000ACh] mov dword ptr [ebp-18h],0000000Ah cmp ecx,00000032h mov [ebp-24h],esi mov [ebp-28h],edi jge L0042BC00 mov ecx,[ebx+000000CCh] test ecx,ecx jz L0042BC00 mov ecx,[eax+000000A8h] mov dword ptr [ebp-10h],FFFFFFFFh test ecx,ecx mov dword ptr [ebp-0Ch],00000001h jz L0042BB80 L0042BA6B: mov eax,[ecx+08h] test eax,eax mov [ebp-08h],eax jz L0042BB80 movsx ebx,[ecx] movsx esi,[eax] movsx ecx,[ecx+02h] movsx edi,[eax+02h] mov [ebp-1Ch],esi sub esi,ebx sub edi,ecx mov [ebp-04h],ecx mov eax,esi mov ecx,edi imul eax,esi imul ecx,edi add eax,ecx mov [ebp-20h],ebx mov [ebp-14h],eax fild dword ptr [ebp-14h] fsqrt call SUB_L0049BB80 mov edx,[ebp+0Ch] mov ecx,ebx mov ebx,[ebp+08h] mov [ebp-14h],eax mov eax,[ebp-04h] sub ecx,ebx sub eax,edx mov edx,ecx mov [ebp-30h],eax imul eax,esi imul edx,edi imul ecx,esi sub eax,edx cdq idiv [ebp-14h] cdq xor eax,edx sub eax,edx mov [ebp-34h],eax mov eax,[ebp-1Ch] mov edx,eax sub edx,ebx mov ebx,[ebp-20h] sub ebx,eax mov eax,[ebp-08h] imul edx,ebx movsx eax,[eax+02h] sub eax,[ebp+0Ch] imul eax,edi mov edi,[ebp-14h] sub eax,edx cdq idiv edi cdq mov ebx,eax mov eax,[ebp-04h] xor ebx,edx sub ebx,edx mov edx,[ebp-08h] movsx edx,[edx+02h] sub eax,edx mov [ebp-14h],edx imul eax,[ebp-30h] sub eax,ecx cdq idiv edi cdq xor eax,edx sub eax,edx cmp eax,edi jge L0042BB65 cmp ebx,edi jge L0042BB65 mov eax,[ebp-34h] mov ecx,[ebp-18h] cmp eax,ecx jge L0042BB65 mov ecx,[ebp-1Ch] mov edx,[ebp-20h] mov [ebp-18h],eax mov eax,[ebp-0Ch] mov [ebp-10h],eax lea eax,[ecx+edx] mov ecx,[ebp-04h] cdq sub eax,edx mov esi,eax mov eax,[ebp-14h] add eax,ecx cdq sub eax,edx mov edi,eax sar esi,1 sar edi,1 mov [ebp-24h],esi mov [ebp-28h],edi jmp L0042BB6B L0042BB65: mov esi,[ebp-24h] mov edi,[ebp-28h] L0042BB6B: mov edx,[ebp-0Ch] mov ecx,[ebp-08h] mov ebx,[ebp-2Ch] inc edx test ecx,ecx mov [ebp-0Ch],edx jnz L0042BA6B L0042BB80: mov eax,[ebp-10h] cmp eax,FFFFFFFFh jnz L0042BBC0 mov esi,[ebp+0Ch] mov edi,[ebp+08h] mov eax,[ebx+34h] push esi push edi push 00000000h mov edx,[eax+78h] push 00000001h lea eax,[ebp-44h] push edx push eax mov ecx,L006BB1C0 call SUB_L00474F30 lea ecx,[ebp-44h] push ecx mov ecx,[L006BB1CC] call SUB_L0048B170 push esi push edi push 00000000h push 00000001h jmp L0042BBF1 L0042BBC0: push edi push esi push eax mov eax,[ebx+34h] push 00000002h mov ecx,L006BB1C0 mov edx,[eax+78h] lea eax,[ebp-44h] push edx push eax call SUB_L00474F30 lea ecx,[ebp-44h] push ecx mov ecx,[L006BB1CC] call SUB_L0048B170 mov edx,[ebp-10h] push edi push esi push edx push 00000002h L0042BBF1: mov ecx,[ebx+34h] call SUB_L0045E4A0 mov ecx,ebx call SUB_L0042C6D0 L0042BC00: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 8 SUB_L0042BC10: push ebp mov ebp,esp sub esp,00000020h push ebx push esi mov esi,ecx push edi xor ebx,ebx mov eax,[esi+34h] mov ecx,[esi+1Ch] mov edx,[esi+20h] mov edi,[eax+000000A8h] mov eax,[esi+000000CCh] cmp eax,ebx mov [ebp-20h],ebx mov [ebp-1Ch],ebx mov [ebp-18h],ecx mov [ebp-14h],edx jz L0042BFF6 mov ecx,[esi+000000B4h] cmp ecx,ebx jz L0042BFF6 mov eax,[ecx+08h] cmp edi,ebx mov [esi+000000B0h],eax jz L0042BC6E L0042BC61: mov eax,[edi+08h] cmp eax,ecx jz L0042BC6E mov edi,eax cmp edi,ebx jnz L0042BC61 L0042BC6E: cmp edi,ebx mov byte ptr [esi+000000E0h],00h jz L0042BCDB mov cx,[edi] xor eax,eax mov [esi+000000E4h],cx mov al,[esi+000000E0h] lea edx,[eax+eax*2] mov ax,[edi+02h] mov [esi+edx*4+000000E6h],ax mov ecx,[esi+34h] mov edx,00000001h mov eax,[ecx+000000A8h] cmp eax,edi jz L0042BCBE mov ecx,[esi+000000B4h] L0042BCB2: mov eax,[eax+08h] cmp eax,ecx jz L0042BCBA inc edx L0042BCBA: cmp eax,edi jnz L0042BCB2 L0042BCBE: xor eax,eax mov al,[esi+000000E0h] mov [esi+eax*4+000000FCh],edx mov al,[esi+000000E0h] inc al mov [esi+000000E0h],al L0042BCDB: mov ecx,[esi+000000B0h] cmp ecx,ebx jz L0042BD5E xor eax,eax mov ebx,00000001h mov al,[esi+000000E0h] add eax,00000013h lea edx,[eax+eax*2] mov ax,[ecx] mov [esi+edx*4],ax mov ecx,[esi+000000B0h] xor eax,eax mov al,[esi+000000E0h] lea edx,[eax+eax*2] mov ax,[ecx+02h] mov [esi+edx*4+000000E6h],ax mov ecx,[esi+34h] mov eax,[ecx+000000A8h] mov ecx,[esi+000000B0h] cmp eax,ecx jz L0042BD41 mov edx,[esi+000000B4h] L0042BD35: mov eax,[eax+08h] cmp eax,edx jz L0042BD3D inc ebx L0042BD3D: cmp eax,ecx jnz L0042BD35 L0042BD41: xor edx,edx mov dl,[esi+000000E0h] mov [esi+edx*4+000000FCh],ebx mov al,[esi+000000E0h] inc al mov [esi+000000E0h],al L0042BD5E: mov ebx,[esi+000000B4h] test ebx,ebx jz L0042BD78 mov ecx,ebx call SUB_L0040CC60 push ebx call SUB_L0049A810 add esp,00000004h L0042BD78: mov eax,[esi+34h] mov ecx,[eax+000000ACh] dec ecx test edi,edi mov [eax+000000ACh],ecx jz L0042BD97 mov eax,[esi+000000B0h] mov [edi+08h],eax jmp L0042BDA6 L0042BD97: mov ecx,[esi+34h] mov edx,[esi+000000B0h] mov [ecx+000000A8h],edx L0042BDA6: cmp byte ptr [esi+000000E0h],02h jnz L0042BDBF mov dword ptr [esi+000000C4h],00000001h mov [esi+000000B8h],edi L0042BDBF: mov ecx,esi mov dword ptr [esi+000000C8h],00000000h call SUB_L0042C6D0 mov eax,[esi+20h] mov ecx,[esi+38h] imul eax,[esi+1Ch] mov edx,[ecx+04h] mov ecx,[esi+00000104h] push eax add edx,00000004h add ecx,00000004h call SUB_L00488380 lea edx,[ebp-04h] mov ecx,0000139Ch push edx lea edx,[ebp-08h] call SUB_L004390A0 mov edx,[ebp-08h] mov ecx,[ebp-04h] mov ebx,[ebp+08h] sar edx,1 sar ecx,1 test ebx,ebx mov [ebp-08h],edx mov [ebp-04h],ecx jl L0042BFF6 cmp ebx,[esi+1Ch] jge L0042BFF6 mov eax,[ebp+0Ch] test eax,eax jl L0042BFF6 cmp eax,[esi+20h] jge L0042BFF6 cmp byte ptr [esi+000000E0h],01h jc L0042BF0C mov ecx,[esi+38h] mov edx,[ecx+04h] movsx ecx,[esi+000000E6h] push edx push ecx movsx edx,[esi+000000E4h] push edx push eax push ebx mov ecx,L00669CC8 call SUB_L004381F0 mov eax,[esi+38h] xor ecx,ecx xor edx,edx mov eax,[eax+04h] mov cx,[eax+02h] mov dx,[eax] push ecx mov ecx,[ebp-04h] add eax,00000004h push edx push eax mov edx,[ebp-08h] movsx eax,[esi+000000E6h] sub eax,ecx movsx ecx,[esi+000000E4h] sub ecx,edx push eax push ecx mov edx,0000139Ch mov ecx,SUB_L00488700 call SUB_L00439100 mov edx,[esi+000000FCh] lea eax,[ebp-10h] push edx push L004C43EC push eax call SUB_L0049AC80 mov eax,[esi+38h] mov edx,[esi+1Ch] add esp,0000000Ch lea ecx,[ebp-20h] lea edi,[ebp-10h] push ecx mov ecx,[eax+04h] movsx eax,[esi+000000E6h] push edx add ecx,00000004h lea edx,[ebp-10h] push ecx push edx push 00000000h sub eax,00000005h push 00000003h push eax or ecx,FFFFFFFFh xor eax,eax repne scasb movsx edx,[esi+000000E4h] not ecx dec ecx shl ecx,04h sub edx,ecx mov ecx,L00669CC8 push edx call SUB_L004371A0 mov eax,[ebp+0Ch] L0042BF0C: cmp byte ptr [esi+000000E0h],02h jc L0042BFE0 mov ecx,[esi+38h] mov edx,[ecx+04h] movsx ecx,[esi+000000F2h] push edx push ecx movsx edx,[esi+000000F0h] push edx push eax push ebx mov ecx,L00669CC8 call SUB_L004381F0 mov eax,[esi+38h] xor ecx,ecx xor edx,edx mov eax,[eax+04h] mov cx,[eax+02h] mov dx,[eax] push ecx mov ecx,[ebp-04h] add eax,00000004h push edx push eax mov edx,[ebp-08h] movsx eax,[esi+000000F2h] sub eax,ecx movsx ecx,[esi+000000F0h] sub ecx,edx push eax push ecx mov edx,0000139Ch mov ecx,SUB_L00488700 call SUB_L00439100 mov edx,[esi+00000100h] lea eax,[ebp-10h] push edx push L004C43EC push eax call SUB_L0049AC80 mov eax,[esi+38h] mov edx,[esi+1Ch] add esp,0000000Ch lea ecx,[ebp-20h] lea edi,[ebp-10h] push ecx mov ecx,[eax+04h] movsx eax,[esi+000000F2h] push edx add ecx,00000004h lea edx,[ebp-10h] push ecx push edx push 00000000h sub eax,00000005h push 00000003h push eax or ecx,FFFFFFFFh xor eax,eax repne scasb movsx edx,[esi+000000F0h] not ecx dec ecx shl ecx,04h sub edx,ecx mov ecx,L00669CC8 push edx call SUB_L004371A0 mov eax,[ebp+0Ch] L0042BFE0: mov dword ptr [esi+000000C0h],00000001h mov [esi+000000D8h],ebx mov [esi+000000DCh],eax L0042BFF6: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 4 L0042C000: push ebp mov ebp,esp sub esp,0000002Ch mov eax,[ecx+000000CCh] push ebx push esi push edi test eax,eax mov [ebp-08h],ecx mov dword ptr [ebp-18h],0000000Ah jz L0042C280 mov eax,[ecx+34h] cmp dword ptr [eax+000000ACh],00000032h jge L0042C280 mov ebx,[eax+000000A8h] lea eax,[ebp-10h] push eax lea edx,[ebp-0Ch] mov ecx,0000139Ch mov [ebp-20h],ebx call SUB_L004390A0 mov esi,[ebp-0Ch] mov edi,[ebp-10h] sar esi,1 sar edi,1 test ebx,ebx mov [ebp-0Ch],esi mov [ebp-10h],edi mov eax,ebx jz L0042C09A L0042C061: movsx ecx,[eax] mov ebx,[ebp+08h] mov edx,ecx sub edx,esi cmp ebx,edx jl L0042C090 add ecx,esi mov edx,ebx cmp edx,ecx jg L0042C090 movsx ecx,[eax+02h] mov edx,[ebp+0Ch] mov ebx,ecx sub ebx,edi cmp edx,ebx jl L0042C090 add ecx,edi cmp edx,ecx jle L0042C295 L0042C090: mov eax,[eax+08h] test eax,eax jnz L0042C061 mov ebx,[ebp-20h] L0042C09A: mov eax,ebx mov dword ptr [ebp-20h],00000000h test ebx,ebx mov [ebp-1Ch],eax jz L0042C1DC L0042C0AE: mov edx,[eax+08h] test edx,edx mov [ebp-04h],edx jz L0042C1DC movsx ebx,[eax] movsx esi,[edx] movsx ecx,[eax+02h] movsx eax,[edx+02h] cmp ebx,esi mov [ebp-28h],ebx mov [ebp-24h],ecx mov edx,ebx jl L0042C0D8 mov edx,esi L0042C0D8: mov edi,[ebp+08h] add edx,FFFFFFF7h cmp edi,edx jl L0042C1CE cmp ebx,esi mov edx,esi jl L0042C0EE mov edx,ebx L0042C0EE: add edx,00000009h cmp edi,edx jg L0042C1CE cmp ecx,eax mov edx,ecx jl L0042C101 mov edx,eax L0042C101: mov edi,[ebp+0Ch] add edx,FFFFFFF7h cmp edi,edx jl L0042C1CE cmp ecx,eax mov edx,eax jl L0042C117 mov edx,ecx L0042C117: add edx,00000009h cmp edi,edx jg L0042C1CE mov edi,eax sub esi,ebx sub edi,ecx mov edx,esi mov eax,edi imul edx,esi imul eax,edi add edx,eax mov [ebp-14h],edx fild dword ptr [ebp-14h] fsqrt call SUB_L0049BB80 mov edx,[ebp+0Ch] mov ecx,ebx mov ebx,[ebp+08h] mov [ebp-14h],eax mov eax,[ebp-24h] sub ecx,ebx sub eax,edx mov edx,ecx mov [ebp-24h],eax imul eax,esi imul edx,edi imul ecx,esi sub eax,edx cdq idiv [ebp-14h] cdq xor eax,edx sub eax,edx mov [ebp-2Ch],eax mov eax,[ebp-04h] movsx edx,[eax] mov eax,[ebp+08h] mov ebx,edx sub ebx,eax mov eax,[ebp-28h] sub eax,edx mov edx,[ebp-04h] imul ebx,eax movsx eax,[edx+02h] sub eax,[ebp+0Ch] imul eax,edi mov edi,[ebp-14h] sub eax,ebx cdq idiv edi mov ebx,[ebp-1Ch] mov edx,[ebp-04h] movsx edx,[edx+02h] mov [ebp-28h],eax movsx eax,[ebx+02h] sub eax,edx imul eax,[ebp-24h] sub eax,ecx cdq idiv edi cmp eax,edi jge L0042C1CE cmp [ebp-28h],edi jge L0042C1CE mov eax,[ebp-2Ch] mov ecx,[ebp-18h] cmp eax,ecx jge L0042C1CE mov [ebp-18h],eax mov [ebp-20h],ebx L0042C1CE: mov eax,[ebp-04h] test eax,eax mov [ebp-1Ch],eax jnz L0042C0AE L0042C1DC: mov edi,[ebp-20h] test edi,edi jz L0042C25B push 00000000h mov ecx,L006BB1C8 call SUB_L0049A010 mov esi,[edi+08h] movsx eax,[edi] movsx ecx,[esi] add eax,ecx cdq sub eax,edx movsx edx,[esi+02h] mov ecx,eax movsx eax,[edi+02h] add eax,edx cdq sub eax,edx mov edx,[ebp-08h] sar ecx,1 mov esi,[edx+000000C8h] sar eax,1 test esi,esi jz L0042C233 movsx esi,[edx+000000D0h] cmp esi,ecx jnz L0042C233 movsx esi,[edx+000000D2h] cmp esi,eax jz L0042C28C L0042C233: mov [edx+000000D0h],cx mov ecx,edx mov dword ptr [edx+000000C8h],00000001h mov [edx+000000D2h],ax call SUB_L0042C6D0 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L0042C25B: mov ecx,[ebp-08h] mov eax,[ecx+000000C8h] test eax,eax jz L0042C28C mov dword ptr [ecx+000000C8h],00000000h call SUB_L0042C6D0 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L0042C280: push 00000000h mov ecx,L006BB1C8 call SUB_L0049A010 L0042C28C: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L0042C295: push 00000000h mov ecx,L006BB1C8 call SUB_L0049A010 jmp L0042C25B Align 16 L0042C2B0: push ebp mov ebp,esp sub esp,00000020h push ebx push esi mov esi,ecx push edi xor edi,edi mov eax,[esi+1Ch] mov ecx,[esi+20h] mov [ebp-18h],eax mov eax,[esi+000000B4h] cmp eax,edi mov [ebp-20h],edi mov [ebp-1Ch],edi mov [ebp-14h],ecx jz L0042C619 cmp [esi+000000C0h],edi jz L0042C36D cmp byte ptr [esi+000000E0h],01h jc L0042C328 mov edx,[esi+00000104h] mov eax,[esi+38h] push edx mov ecx,[eax+04h] movsx edx,[esi+000000E6h] movsx eax,[esi+000000E4h] push ecx mov ecx,[esi+000000DCh] push edx mov edx,[esi+000000D8h] push eax push ecx push edx mov ecx,L00669CC8 call SUB_L00438550 L0042C328: cmp byte ptr [esi+000000E0h],02h jc L0042C367 mov eax,[esi+00000104h] mov ecx,[esi+38h] push eax mov edx,[ecx+04h] movsx eax,[esi+000000F2h] movsx ecx,[esi+000000F0h] push edx mov edx,[esi+000000DCh] push eax mov eax,[esi+000000D8h] push ecx push edx push eax mov ecx,L00669CC8 call SUB_L00438550 L0042C367: mov [esi+000000C0h],edi L0042C36D: mov ebx,[ebp+08h] cmp ebx,edi jl L0042C59C cmp ebx,[esi+1Ch] jge L0042C59C mov edi,[ebp+0Ch] test edi,edi jl L0042C59F cmp edi,[esi+20h] jge L0042C59F mov eax,[esi+000000B8h] test eax,eax jz L0042C3BA mov eax,[esi+000000C4h] test eax,eax jnz L0042C3BA mov ecx,esi mov dword ptr [esi+000000C4h],00000001h call SUB_L0042C6D0 L0042C3BA: lea ecx,[ebp-04h] lea edx,[ebp-08h] push ecx mov ecx,0000139Ch call SUB_L004390A0 mov edx,[ebp-08h] mov ecx,[ebp-04h] mov al,[esi+000000E0h] sar edx,1 sar ecx,1 cmp al,01h mov [ebp-08h],edx mov [ebp-04h],ecx jc L0042C4B0 mov edx,[esi+38h] movsx ecx,[esi+000000E6h] mov eax,[edx+04h] movsx edx,[esi+000000E4h] push eax push ecx push edx push edi push ebx mov ecx,L00669CC8 call SUB_L004381F0 mov eax,[esi+38h] xor ecx,ecx xor edx,edx mov eax,[eax+04h] mov cx,[eax+02h] mov dx,[eax] push ecx mov ecx,[ebp-04h] add eax,00000004h push edx push eax mov edx,[ebp-08h] movsx eax,[esi+000000E6h] sub eax,ecx movsx ecx,[esi+000000E4h] sub ecx,edx push eax push ecx mov edx,0000139Ch mov ecx,SUB_L00488700 call SUB_L00439100 mov edx,[esi+000000FCh] lea eax,[ebp-10h] push edx push L004C43EC push eax call SUB_L0049AC80 mov eax,[esi+38h] mov edx,[esi+1Ch] add esp,0000000Ch lea ecx,[ebp-20h] lea edi,[ebp-10h] push ecx mov ecx,[eax+04h] movsx eax,[esi+000000E6h] push edx add ecx,00000004h lea edx,[ebp-10h] push ecx push edx push 00000000h sub eax,00000005h push 00000003h push eax or ecx,FFFFFFFFh xor eax,eax repne scasb movsx edx,[esi+000000E4h] not ecx dec ecx shl ecx,04h sub edx,ecx mov ecx,L00669CC8 push edx call SUB_L004371A0 mov edi,[ebp+0Ch] L0042C4B0: cmp byte ptr [esi+000000E0h],02h jc L0042C584 mov eax,[esi+38h] movsx edx,[esi+000000F2h] mov ecx,[eax+04h] movsx eax,[esi+000000F0h] push ecx push edx push eax push edi push ebx mov ecx,L00669CC8 call SUB_L004381F0 mov ecx,[esi+38h] xor edx,edx mov eax,[ecx+04h] xor ecx,ecx mov dx,[eax+02h] mov cx,[eax] push edx add eax,00000004h movsx edx,[esi+000000F2h] push ecx mov ecx,[ebp-08h] push eax mov eax,[ebp-04h] sub edx,eax movsx eax,[esi+000000F0h] sub eax,ecx push edx push eax mov edx,0000139Ch mov ecx,SUB_L00488700 call SUB_L00439100 mov ecx,[esi+00000100h] lea edx,[ebp-10h] push ecx push L004C43EC push edx call SUB_L0049AC80 mov edx,[esi+38h] mov ecx,[esi+1Ch] add esp,0000000Ch lea eax,[ebp-20h] lea edi,[ebp-10h] push eax mov eax,[edx+04h] movsx edx,[esi+000000F2h] push ecx add eax,00000004h lea ecx,[ebp-10h] push eax push ecx or ecx,FFFFFFFFh xor eax,eax sub edx,00000005h repne scasb movsx eax,[esi+000000F0h] not ecx dec ecx push 00000000h shl ecx,04h push 00000003h sub eax,ecx push edx push eax mov ecx,L00669CC8 call SUB_L004371A0 mov edi,[ebp+0Ch] L0042C584: mov dword ptr [esi+000000C0h],00000001h mov [esi+000000D8h],ebx mov [esi+000000DCh],edi jmp L0042C5B9 L0042C59C: mov edi,[ebp+0Ch] L0042C59F: cmp dword ptr [esi+000000C4h],00000001h jnz L0042C5B9 mov ecx,esi mov dword ptr [esi+000000C4h],00000000h call SUB_L0042C6D0 L0042C5B9: mov eax,[esi+0000009Ch] test eax,eax jz L0042C64A mov eax,[esi+000000A8h] test eax,eax jbe L0042C64A mov edx,[esi+6Ch] mov eax,ebx sub eax,edx cdq xor eax,edx sub eax,edx cmp eax,00000004h jg L0042C5F3 mov edx,[esi+70h] mov eax,edi sub eax,edx cdq xor eax,edx sub eax,edx cmp eax,00000004h jle L0042C64A L0042C5F3: push edi push ebx mov ecx,esi mov dword ptr [esi+00000094h],00000001h mov dword ptr [esi+000000A8h],00000000h call SUB_L0042BC10 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L0042C619: push edi mov ecx,L006BB1C8 call SUB_L0049A010 cmp [esi+0000009Ch],edi jz L0042C64A mov ecx,[ebp+0Ch] mov edx,[ebp+08h] push 00000001h push edi mov edi,[esi+70h] push 00000001h sub ecx,edi push ecx mov ecx,[esi+6Ch] sub edx,ecx mov ecx,esi push edx call SUB_L00440850 L0042C64A: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 L0042C660: push esi push edi mov esi,ecx call [KERNEL32.dll!GetTickCount] mov edi,eax call [USER32.dll!GetDoubleClickTime] mov edx,[esi+000000A8h] mov ecx,00000001h cmp edx,ecx jnz L0042C6C6 sub edi,[esi+000000A4h] cmp edi,eax jbe L0042C6C6 mov eax,[esi+0000009Ch] mov dword ptr [esi+000000A8h],00000000h test eax,eax jnz L0042C6B1 mov eax,[esi+70h] mov ecx,[esi+6Ch] push eax push ecx mov ecx,esi call SUB_L0042BA10 pop edi pop esi retn ;------------------------------------------------------------------------------ L0042C6B1: mov edx,[esi+70h] mov eax,[esi+6Ch] mov [esi+00000094h],ecx push edx push eax mov ecx,esi call SUB_L0042BC10 L0042C6C6: pop edi pop esi retn ;------------------------------------------------------------------------------ Align 8 SUB_L0042C6D0: push ebp mov ebp,esp push FFFFFFFFh push L004B294B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000478h push ebx mov ebx,ecx push esi xor esi,esi mov edx,[ebx+50h] push edi cmp edx,0000139Dh mov [ebx+000000C0h],esi jnz L0042CC63 mov eax,[ebx+38h] push esi mov ecx,00001432h mov edx,[eax+04h] call SUB_L0041C100 mov ecx,[ebx+00000124h] imul ecx,[ebx+00000120h] push ecx call SUB_L0049A820 mov ecx,[ebx+00000124h] mov edi,eax imul ecx,[ebx+00000120h] mov edx,ecx xor eax,eax shr ecx,02h mov [ebp-30h],edi mov [ebp-28h],edi rep stosd mov ecx,edx add esp,00000004h and ecx,00000003h rep stosb push 00000090h call SUB_L0049A820 mov edi,eax add esp,00000004h mov [ebp-54h],edi cmp edi,esi mov [ebp-04h],esi jz L0042C78B push SSZ004C6348_multimap_rle mov ecx,L006BB1C8 call SUB_L00455E10 push eax mov ecx,edi call SUB_L004958A0 mov [ebp-10h],eax jmp L0042C78E L0042C78B: mov [ebp-10h],esi L0042C78E: mov ecx,[ebp-10h] mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00495960 mov ecx,[eax+04h] mov esi,[eax] mov edx,ecx add eax,00000008h imul edx,esi mov [ebp-4Ch],edx mov edx,[ebx+00000110h] imul edx,esi mov [ebp-48h],eax mov eax,66666667h imul edx sar edx,0Bh mov eax,edx mov [ebp-34h],esi shr eax,1Fh add edx,eax mov eax,[ebx+00000114h] imul eax,ecx mov esi,edx xor edi,edi cdq and edx,00000FFFh mov [ebp-44h],edi add eax,edx mov edx,[ebx+00000118h] imul edx,[ebp-34h] sar eax,0Ch mov [ebp-38h],eax mov eax,66666667h imul edx sar edx,0Bh mov eax,edx mov [ebp-18h],edi shr eax,1Fh add edx,eax mov eax,[ebx+0000011Ch] imul eax,ecx mov [ebp-58h],edx mov [ebp-50h],esi mov ecx,[ebp-58h] cdq and edx,00000FFFh add eax,edx sar eax,0Ch sub ecx,esi mov [ebp-3Ch],eax jnz L0042C834 mov ecx,00000001h L0042C834: mov eax,[ebx+00000120h] shl eax,08h cdq idiv ecx mov ecx,[ebp-3Ch] mov [ebp-6Ch],eax mov eax,[ebp-38h] sub ecx,eax jnz L0042C852 mov ecx,00000001h L0042C852: mov eax,[ebx+00000124h] shl eax,08h cdq idiv ecx mov ecx,[ebp-4Ch] test ecx,ecx mov [ebp-24h],eax mov eax,00000001h mov [ebp-14h],eax jle L0042C975 L0042C874: mov eax,[ebp-48h] mov cl,[eax] inc eax mov [ebp-74h],cl mov [ebp-48h],eax mov eax,[ebp-74h] and eax,000000FFh mov ecx,eax and ecx,0000007Fh test eax,FFFFFF80h mov [ebp-54h],ecx jz L0042C94D test ecx,ecx jle L0042C95F mov eax,[ebp-24h] mov [ebp-40h],ecx imul eax,[ebp-18h] mov [ebp-2Ch],eax mov eax,[ebp-24h] imul eax,[ebp-38h] mov [ebp-64h],eax jmp L0042C8BF L0042C8BC: mov eax,[ebp-64h] L0042C8BF: cmp edi,esi jl L0042C91F cmp edi,[ebp-58h] jge L0042C91F mov ecx,[ebp-18h] mov edx,[ebp-38h] cmp ecx,edx jl L0042C91F cmp ecx,[ebp-3Ch] jge L0042C91F mov edx,[ebp-2Ch] mov ecx,edi sub edx,eax sub ecx,esi imul ecx,[ebp-6Ch] sar edx,08h imul edx,[ebx+00000120h] sar ecx,08h add ecx,edx mov edx,[ebp-30h] mov al,[edx+ecx] mov edx,eax and edx,000000FFh cmp edx,000000FFh jge L0042C91F mov esi,[ebp-30h] inc al mov [esi+ecx],al mov eax,[ebp-14h] cmp edx,eax jnz L0042C91C inc eax mov [ebp-14h],eax L0042C91C: mov esi,[ebp-50h] L0042C91F: mov eax,[ebp-34h] inc edi cmp edi,eax jnz L0042C93B mov edx,[ebp-18h] mov eax,[ebp-24h] mov ecx,[ebp-2Ch] xor edi,edi inc edx add ecx,eax mov [ebp-18h],edx mov [ebp-2Ch],ecx L0042C93B: mov eax,[ebp-40h] dec eax mov [ebp-40h],eax jnz L0042C8BC mov ecx,[ebp-54h] jmp L0042C95F L0042C94D: mov eax,[ebp-34h] add edi,ecx cmp edi,eax jl L0042C95F sub edi,eax mov eax,[ebp-18h] inc eax mov [ebp-18h],eax L0042C95F: mov eax,[ebp-44h] add eax,ecx mov ecx,[ebp-4Ch] cmp eax,ecx mov [ebp-44h],eax jl L0042C874 mov eax,[ebp-14h] L0042C975: cmp eax,00000001h jl L0042C9A8 mov ecx,eax lea edi,[ebp-00000480h] shl ecx,05h sub ecx,eax mov esi,eax sub ecx,0000001Fh L0042C98C: mov eax,ecx sub ecx,0000001Fh cdq idiv [ebp-14h] xor edx,edx add edi,00000004h dec esi mov dx,[L006C91E8+eax*2] mov [edi-04h],edx jnz L0042C98C L0042C9A8: mov al,[L0073EC3C] test al,al jz L0042C9DA mov edx,[ebp-14h] cmp edx,00000001h jle L0042C9DA lea ecx,[ebp-00000480h] dec edx L0042C9C0: mov eax,[ecx] add ecx,00000004h mov esi,eax and eax,0000001Fh and esi,00007FE0h shl esi,1 or esi,eax dec edx mov [ecx-04h],esi jnz L0042C9C0 L0042C9DA: mov eax,[ebx+38h] xor esi,esi mov edx,[eax+04h] xor eax,eax mov ax,[edx] mov ecx,eax shl ecx,05h sub ecx,eax mov eax,[ebx+00000124h] test eax,eax lea edx,[edx+ecx*2+34h] jle L0042CA44 L0042C9FC: mov eax,[ebx+00000120h] xor ecx,ecx test eax,eax jle L0042CA36 L0042CA08: mov eax,[ebp-28h] mov al,[eax] test al,al jz L0042CA21 and eax,000000FFh mov ax,[ebp+eax*4-00000484h] mov [edx],ax L0042CA21: mov edi,[ebp-28h] mov eax,[ebx+00000120h] inc edi add edx,00000002h inc ecx mov [ebp-28h],edi cmp ecx,eax jl L0042CA08 L0042CA36: mov eax,[ebx+00000124h] add edx,00000058h inc esi cmp esi,eax jl L0042C9FC L0042CA44: mov ecx,[ebp-30h] push ecx call SUB_L0049A810 mov esi,[ebp-10h] add esp,00000004h mov ecx,esi call SUB_L00495920 test esi,esi jz L0042CA6E mov ecx,esi call SUB_L004958E0 push esi call SUB_L0049A810 add esp,00000004h L0042CA6E: xor esi,esi L0042CA70: lea edx,[ebp-1Ch] mov ecx,0000139Ch push edx lea edx,[ebp-20h] call SUB_L004390A0 mov edx,[ebp-20h] mov ecx,[ebp-1Ch] mov eax,[ebx+1Ch] mov [ebp-00000084h],esi sar edx,1 sar ecx,1 mov [ebp-20h],edx mov edx,[ebx+34h] mov [ebp-1Ch],ecx mov ecx,[ebx+20h] mov [ebp-80h],esi mov [ebp-7Ch],eax mov [ebp-78h],ecx mov esi,[edx+000000A8h] test esi,esi jz L0042CBBF mov eax,[esi+08h] test eax,eax jz L0042CB02 L0042CABE: mov ecx,[ebx+000000C4h] test ecx,ecx jz L0042CAD0 cmp esi,[ebx+000000B8h] jz L0042CAF8 L0042CAD0: mov ecx,[ebx+38h] mov edx,[ecx+04h] movsx ecx,[eax+02h] push edx push 00007FFFh movsx edx,[eax] movsx eax,[esi+02h] push ecx push edx movsx ecx,[esi] push eax push ecx mov ecx,L00669CC8 call SUB_L00437F50 L0042CAF8: mov esi,[esi+08h] mov eax,[esi+08h] test eax,eax jnz L0042CABE L0042CB02: mov edx,[ebx+34h] mov dword ptr [ebp-10h],00000001h mov esi,[edx+000000A8h] test esi,esi jz L0042CBBF L0042CB1A: mov eax,[ebx+38h] xor ecx,ecx xor edx,edx mov eax,[eax+04h] mov cx,[eax+02h] mov dx,[eax] push ecx mov ecx,[ebp-1Ch] add eax,00000004h push edx push eax mov edx,[ebp-20h] movsx eax,[esi+02h] sub eax,ecx movsx ecx,[esi] sub ecx,edx push eax push ecx mov edx,0000139Ch mov ecx,SUB_L00488700 call SUB_L00439100 mov edx,[ebp-10h] lea eax,[ebp-60h] push edx push L004C43EC push eax call SUB_L0049AC80 mov eax,[ebx+38h] mov edx,[ebx+1Ch] add esp,0000000Ch lea ecx,[ebp-00000084h] lea edi,[ebp-60h] push ecx mov ecx,[eax+04h] movsx eax,[esi+02h] push edx add ecx,00000004h lea edx,[ebp-60h] push ecx push edx push 00000000h sub eax,00000005h push 00000003h push eax or ecx,FFFFFFFFh xor eax,eax repne scasb movsx edx,[esi] not ecx dec ecx shl ecx,04h sub edx,ecx mov ecx,L00669CC8 push edx call SUB_L004371A0 mov ecx,[ebp-10h] mov esi,[esi+08h] inc ecx test esi,esi mov [ebp-10h],ecx jnz L0042CB1A L0042CBBF: mov eax,[ebx+000000C8h] test eax,eax jz L0042CC09 mov eax,[ebx+38h] xor ecx,ecx xor edx,edx mov edi,[ebp-1Ch] mov eax,[eax+04h] mov cx,[eax+02h] mov dx,[eax] push ecx add eax,00000004h movsx ecx,[ebx+000000D0h] push edx mov edx,[ebp-20h] push eax sub ecx,edx movsx eax,[ebx+000000D2h] sub eax,edi mov edx,0000139Ch push eax push ecx mov ecx,L00488730 call SUB_L00439100 L0042CC09: lea edx,[ebp-70h] mov ecx,0000139Dh push edx lea edx,[ebp-68h] call SUB_L004390A0 mov eax,[ebx+38h] mov esi,[ebp-68h] xor ecx,ecx mov edx,[eax+04h] xor eax,eax mov ax,[edx+02h] mov cx,[edx] push eax add edx,00000004h push ecx push edx mov edx,[ebp-70h] sub ecx,esi sub eax,edx sub ecx,0000001Ah sub eax,00000022h mov edx,0000139Dh push eax push ecx mov ecx,SUB_L00488700 call SUB_L00439100 mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L0042CC63: mov eax,[ebx+38h] xor ecx,ecx mov eax,[eax+04h] mov cx,[eax+02h] add eax,00000004h push ecx xor ecx,ecx mov cx,[eax-04h] push ecx push eax push esi push esi mov ecx,SUB_L00488700 call SUB_L00439100 jmp L0042CA70 Align 8 L0042CC90: push ebp mov ebp,esp sub esp,00000028h push esi mov esi,ecx lea eax,[ebp-04h] push edi lea ecx,[ebp-08h] push eax push ecx mov ecx,esi mov dword ptr [ebp-08h],00000000h mov dword ptr [ebp-04h],00000000h call SUB_L00440C60 mov eax,[esi+60h] test eax,eax jnz L0042CCC6 mov edx,[esi+38h] mov eax,[edx+04h] jmp L0042CCCC L0042CCC6: mov eax,[esi+38h] mov eax,[eax+0Ch] L0042CCCC: mov ecx,[ebp-08h] mov edx,[ebp-04h] xor edi,edi mov [ebp-18h],ecx mov [ebp-14h],edx mov di,[eax] add edi,ecx xor ecx,ecx mov [ebp-10h],edi mov cx,[eax+02h] mov edi,[ebp+08h] add ecx,edx lea edx,[ebp-18h] mov [ebp-0Ch],ecx push edx push edi mov ecx,L00669608 call SUB_L00440D40 test eax,eax jz L0042CD6B lea eax,[ebp-28h] lea edx,[ebp-18h] push eax mov ecx,edi call SUB_L00440D90 mov ecx,[esi+38h] mov edx,[L004C7F38] push edx mov edx,[L006BAE7C] mov eax,[ecx+04h] mov ecx,[L004C7F34] push ecx mov ecx,[ebp-04h] push edx mov edx,[ebp-08h] push ecx xor ecx,ecx mov cx,[eax+02h] push edx xor edx,edx push ecx mov dx,[eax] lea ecx,[ebp-28h] push edx push ecx lea edx,[eax+04h] mov ecx,SUB_L00488700 call SUB_L00439500 mov esi,[esi+4Ch] test esi,esi jz L0042CD6B L0042CD59: mov edx,[esi] lea eax,[ebp-28h] push eax mov ecx,esi call [edx+0Ch] mov esi,[esi+40h] test esi,esi jnz L0042CD59 L0042CD6B: pop edi pop esi mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L0042CD80: push ebp mov ebp,esp sub esp,00000028h push ebx push esi mov esi,00000001h mov [ebp-08h],esi pushfd pop eax mov ecx,eax xor eax,00200000h push eax popfd pushfd pop eax xor eax,ecx jnz L0042CDA8 mov dword ptr [ebp-08h],00000000h L0042CDA8: xor ebx,ebx cmp [ebp-08h],bx jz L0042CE5E mov eax,[L004C6368] mov ecx,[L004C636C] mov edx,[L004C6370] mov [ebp-18h],eax mov al,[L004C6374] mov [ebp-14h],ecx mov ecx,[L004C6358] mov [ebp-10h],edx mov edx,[L004C635C] mov [ebp-0Ch],al mov eax,[L004C6360] mov [ebp-28h],ecx mov cl,[L004C6364] mov dword ptr [ebp-08h],0000FFFFh mov [ebp-01h],bl mov [ebp-24h],edx mov [ebp-20h],eax mov [ebp-1Ch],cl xor eax,eax cpuid mov [ebp-18h],ebx mov [ebp-14h],edx mov [ebp-10h],ecx xor eax,eax L0042CE12: mov dl,[ebp+eax-18h] mov cl,[ebp+eax-28h] cmp dl,cl jz L0042CE24 mov [L004D7ED8],esi L0042CE24: inc eax cmp eax,0000000Ch jl L0042CE12 cmp eax,00000001h jl L0042CE52 xor eax,eax inc eax cpuid mov [ebp-01h],al and byte ptr [ebp-01h],0Fh and al,F0h shr al,04h mov [ebp-02h],al and eax,00000F00h shr eax,08h and eax,0000000Fh mov [ebp-08h],ax L0042CE52: mov ax,[ebp-08h] mov eax,[ebp-08h] jmp L0042CF49 L0042CE5E: mov [ebp-08h],ebx mov ax,5555h xor dx,dx mov cx,0002h div cx clc jnz L0042CE74 jmp L0042CE75 L0042CE74: stc L0042CE75: pushf pop ax and al,01h xor al,01h mov [ebp-08h],ax mov al,[ebp-08h] mov edx,0000FFFFh and eax,esi mov [ebp-08h],edx mov [L004D7ED8],eax pushf pop ax mov cx,ax and ax,0FFFh push ax popf pushf pop ax and ax,F000h cmp ax,F000h mov word ptr [ebp-08h],0000h jz L0042CEBC mov word ptr [ebp-08h],FFFFh L0042CEBC: push cx popf mov ax,[ebp-08h] mov eax,[ebp-08h] cmp ax,bx jz L0042CF49 mov [ebp-08h],edx pushf pop cx mov bx,cx or cx,F000h push cx popf pushf pop ax and ax,F000h mov word ptr [ebp-08h],0002h jz L0042CEF5 mov word ptr [ebp-08h],FFFFh L0042CEF5: push bx popf mov ax,[ebp-08h] mov eax,[ebp-08h] cmp ax,0002h jz L0042CF49 mov [ebp-08h],edx mov bx,sp and sp,FFFCh pushfd pop eax mov ecx,eax xor eax,00040000h push eax popfd pushfd pop eax xor eax,ecx mov word ptr [ebp-08h],0003h jz L0042CF2D mov word ptr [ebp-08h],FFFFh L0042CF2D: push ecx popfd mov sp,bx mov ax,[ebp-08h] and eax,0000FFFFh mov eax,[ebp-08h] cmp ax,0003h jz L0042CF49 mov eax,00000004h L0042CF49: mov ecx,[L004D7ED8] test ecx,ecx jz L0042CF56 or ah,80h L0042CF56: pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 SUB_L0042CF60: push ebp mov ebp,esp sub esp,00000028h mov eax,[L004C6368] mov ecx,[L004C636C] mov edx,[L004C6370] mov [ebp-18h],eax mov al,[L004C6374] mov [ebp-14h],ecx mov ecx,[L004C6358] mov [ebp-10h],edx mov edx,[L004C635C] mov [ebp-0Ch],al mov eax,[L004C6360] mov [ebp-28h],ecx mov cl,[L004C6364] mov [ebp-24h],edx mov edx,00000001h mov dword ptr [ebp-04h],00000000h mov [ebp-20h],eax mov [ebp-1Ch],cl mov [ebp-08h],edx pushfd pop eax mov ecx,eax xor eax,00200000h push eax popfd pushfd pop eax xor eax,ecx jnz L0042CFD2 mov dword ptr [ebp-08h],00000000h L0042CFD2: cmp word ptr [ebp-08h],0000h jz L0042D012 push ebx xor eax,eax cpuid mov [ebp-18h],ebx mov [ebp-14h],edx mov [ebp-10h],ecx xor eax,eax L0042CFE9: mov cl,[ebp+eax-18h] mov bl,[ebp+eax-28h] cmp cl,bl jz L0042CFFB mov [L004D7ED8],edx L0042CFFB: inc eax cmp eax,0000000Ch jl L0042CFE9 cmp eax,00000001h jl L0042D00E xor eax,eax inc eax cpuid mov [ebp-04h],edx L0042D00E: mov eax,[ebp-04h] pop ebx L0042D012: mov eax,[ebp-04h] mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 SUB_L0042D020: push ebp mov ebp,esp push FFFFFFFFh push L004B296B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push esi mov esi,ecx xor ebx,ebx mov [ebp-10h],esi mov [esi],ebx mov dword ptr [esi+04h],FFFFFFE2h mov [esi+08h],bl lea ecx,[esi+14h] mov [esi+0Ch],ebx mov [esi+10h],ebx call SUB_L0048B1D0 lea ecx,[esi+0000009Ch] mov [ebp-04h],ebx call SUB_L004396D0 mov ecx,[ebp-0Ch] mov eax,esi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 SUB_L0042D080: mov eax,[ecx+0Ch] test eax,eax jz L0042D0A6 mov ecx,[eax-04h] push esi lea esi,[eax-04h] push SUB_L0042DB40 push ecx push 00000024h push eax call SUB_L0049AEB0 push esi call SUB_L0049A810 add esp,00000004h pop esi L0042D0A6: retn ;------------------------------------------------------------------------------ Align 16 SUB_L0042D0B0: push ebp mov ebp,esp sub esp,00000010h push esi mov esi,ecx push edi lea ecx,[esi+0Ch] call SUB_L0042D530 test al,al jz L0042D0F2 lea edi,[esi+14h] mov ecx,edi call SUB_L004068F0 mov ecx,L006BD8E8 call SUB_L00496440 push 00000000h push 00000001h mov ecx,edi call SUB_L0048B1E0 push eax mov ecx,L006BD8E8 call SUB_L00495FF0 mov al,01h L0042D0F2: test al,al jnz L0042D0FC pop edi pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L0042D0FC: mov al,[esi+08h] test al,al jnz L0042D111 L0042D103: mov ecx,esi call SUB_L0042D190 mov al,[esi+08h] test al,al jz L0042D103 L0042D111: mov ecx,L006BD8E8 call SUB_L00496440 mov edi,00000280h mov esi,000001E0h mov dword ptr [ebp-10h],00000000h mov dword ptr [ebp-0Ch],00000000h mov [ebp-08h],edi mov [ebp-04h],esi call SUB_L004584A0 mov eax,[L004C7F38] mov ecx,[L004C7F34] mov edx,[L006BAE7C] push eax push ecx push edx push 00000000h lea eax,[ebp-10h] push 00000000h push eax mov edx,000003E8h mov ecx,SUB_L00488380 mov dword ptr [ebp-10h],00000000h mov [ebp-08h],edi mov dword ptr [ebp-0Ch],00000000h mov [ebp-04h],esi call SUB_L00439290 pop edi mov al,01h pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L0042D190: push ebp mov ebp,esp sub esp,00000024h push ebx push esi mov esi,ecx push edi mov dword ptr [ebp-08h],00000001h xor ebx,ebx lea edi,[esi+0000009Ch] mov ecx,edi mov [ebp-04h],edi call SUB_L00439730 test al,al mov ecx,edi jz L0042D1C5 call SUB_L00439740 inc eax mov [ebp-08h],eax jmp L0042D1CC L0042D1C5: call SUB_L00439760 mov ebx,eax L0042D1CC: mov al,[esi+08h] test al,al jnz L0042D3F2 jmp L0042D1DC L0042D1D9: mov edi,[ebp-04h] L0042D1DC: test ebx,ebx jle L0042D2A8 cmp ebx,00000014h mov edi,00000014h jg L0042D1F0 mov edi,ebx L0042D1F0: push edi call [KERNEL32.dll!Sleep] mov al,[esi+08h] sub ebx,edi test al,al jnz L0042D2A5 push 00000001h push 00000000h push 00000000h lea eax,[ebp-24h] push 00000000h push eax call [USER32.dll!PeekMessageA] mov eax,[ebp-20h] cmp eax,00000010h ja L0042D229 jz L0042D237 mov ecx,eax sub ecx,00000002h jz L0042D237 jmp L0042D26E L0042D229: cmp eax,00000100h ja L0042D245 jz L0042D261 cmp eax,00000012h jnz L0042D26E L0042D237: push 00000001h mov byte ptr [esi+08h],01h call [KERNEL32.dll!ExitProcess] jmp L0042D29A L0042D245: cmp eax,00000205h ja L0042D267 cmp eax,00000204h jnc L0042D261 cmp eax,00000201h jc L0042D26E cmp eax,00000202h ja L0042D26E L0042D261: mov byte ptr [esi+08h],01h jmp L0042D29A L0042D267: cmp eax,000003B9h jz L0042D283 L0042D26E: mov ecx,[ebp-18h] mov edx,[ebp-1Ch] push ecx push edx push eax mov eax,[ebp-24h] push eax call [USER32.dll!DefWindowProcA] jmp L0042D29A L0042D283: push 00000000h push 00000001h lea ecx,[esi+14h] call SUB_L0048B1F0 push eax mov ecx,L006BD8E8 call SUB_L00495FF0 L0042D29A: mov al,[esi+08h] test al,al jz L0042D1D9 L0042D2A5: mov edi,[ebp-04h] L0042D2A8: mov al,[esi+08h] test al,al jnz L0042D3F2 push 00000001h push 00000000h push 00000000h lea ecx,[ebp-24h] push 00000000h push ecx call [USER32.dll!PeekMessageA] mov eax,[ebp-20h] cmp eax,00000010h ja L0042D2D8 jz L0042D2E6 mov ecx,eax sub ecx,00000002h jz L0042D2E6 jmp L0042D31D L0042D2D8: cmp eax,00000100h ja L0042D2F4 jz L0042D310 cmp eax,00000012h jnz L0042D31D L0042D2E6: push 00000001h mov byte ptr [esi+08h],01h call [KERNEL32.dll!ExitProcess] jmp L0042D349 L0042D2F4: cmp eax,00000205h ja L0042D316 cmp eax,00000204h jnc L0042D310 cmp eax,00000201h jc L0042D31D cmp eax,00000202h ja L0042D31D L0042D310: mov byte ptr [esi+08h],01h jmp L0042D349 L0042D316: cmp eax,000003B9h jz L0042D332 L0042D31D: mov edx,[ebp-18h] mov ecx,[ebp-1Ch] push edx mov edx,[ebp-24h] push ecx push eax push edx call [USER32.dll!DefWindowProcA] jmp L0042D349 L0042D332: push 00000000h push 00000001h lea ecx,[esi+14h] call SUB_L0048B1F0 push eax mov ecx,L006BD8E8 call SUB_L00495FF0 L0042D349: mov al,[esi+08h] test al,al jnz L0042D3F2 mov ecx,edi call SUB_L004396F0 mov eax,[ebp-08h] test eax,eax jle L0042D3D8 mov [ebp-08h],eax L0042D365: mov ecx,[esi] mov ebx,[esi+10h] xor eax,eax xor edx,edx cmp ecx,ebx setl dl test dl,dl jz L0042D382 mov ebx,[esi+0Ch] lea edx,[ecx+ecx*8] lea edx,[ebx+edx*4] jmp L0042D384 L0042D382: xor edx,edx L0042D384: test edx,edx jz L0042D38B mov eax,[edx+1Ch] L0042D38B: mov edx,[esi+04h] lea ebx,[eax+000001E0h] inc edx cmp edx,ebx mov [esi+04h],edx jl L0042D3CF inc ecx xor edx,edx mov [esi],ecx mov ebx,[esi+10h] cmp ecx,ebx setl dl test dl,dl jz L0042D3B8 mov edx,[esi+0Ch] lea ecx,[ecx+ecx*8] lea ecx,[edx+ecx*4] jmp L0042D3BA L0042D3B8: xor ecx,ecx L0042D3BA: test ecx,ecx jz L0042D3CB sub eax,[ecx+1Ch] add eax,000001E0h mov [esi+04h],eax jmp L0042D3CF L0042D3CB: mov byte ptr [esi+08h],01h L0042D3CF: mov eax,[ebp-08h] dec eax mov [ebp-08h],eax jnz L0042D365 L0042D3D8: mov ecx,esi call SUB_L0042D400 call SUB_L0049A0D0 mov ecx,edi call SUB_L00439700 mov ecx,edi call SUB_L00439710 L0042D3F2: pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 SUB_L0042D400: push ebp mov ebp,esp sub esp,00000030h mov eax,[L004C7F38] mov edx,[L006BAE7C] push ebx push esi mov esi,ecx push edi mov ecx,[L004C7F34] push eax xor ebx,ebx push ecx push edx push ebx lea eax,[ebp-20h] push ebx push eax mov edx,00000500h mov ecx,SUB_L00488380 mov [ebp-10h],esi mov [ebp-20h],ebx mov dword ptr [ebp-18h],00000280h mov [ebp-1Ch],ebx mov dword ptr [ebp-14h],000001E0h call SUB_L00439290 mov edi,[esi+04h] mov eax,000001E0h sub eax,edi mov [ebp-04h],eax mov eax,[esi] mov [ebp-08h],eax lea ecx,[eax+eax*8] shl ecx,02h mov [ebp-0Ch],ecx jmp L0042D475 L0042D46A: mov esi,[ebp-10h] mov eax,[ebp-08h] mov ecx,[ebp-0Ch] xor ebx,ebx L0042D475: mov edi,[esi+10h] xor edx,edx cmp eax,edi setl dl test dl,dl jz L0042D48A mov esi,[esi+0Ch] add esi,ecx jmp L0042D48C L0042D48A: xor esi,esi L0042D48C: cmp esi,ebx jz L0042D524 mov ecx,[esi+18h] mov eax,00000280h sub eax,ecx mov [ebp-30h],ebx cdq sub eax,edx mov dword ptr [ebp-28h],00000280h mov edi,eax mov [ebp-2Ch],ebx sar edi,1 mov dword ptr [ebp-24h],000001E0h call SUB_L00492730 mov ecx,[esi+14h] mov ebx,eax cmp ebx,ecx jz L0042D4CC call SUB_L00492740 L0042D4CC: mov ecx,[esi+10h] mov edx,[ebp-04h] lea eax,[ebp-30h] push eax push ecx push edx push edi mov ecx,esi call SUB_L00493EC0 mov edx,[L004C7F34] mov ecx,[L006BAE7C] push eax call SUB_L00492A20 cmp ebx,[esi+14h] jz L0042D4FE mov ecx,ebx call SUB_L00492740 L0042D4FE: mov eax,[ebp-04h] mov edi,[esi+1Ch] mov esi,[ebp-08h] mov edx,[ebp-0Ch] add eax,edi inc esi add edx,00000024h cmp eax,000001E0h mov [ebp-04h],eax mov [ebp-08h],esi mov [ebp-0Ch],edx jl L0042D46A L0042D524: pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 SUB_L0042D530: push ebp mov ebp,esp push FFFFFFFFh push L004B29D4 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,0000007Ch push ebx push esi push edi mov [ebp-10h],ecx push L004C63C0 push SSZ004C63B4_credits_dat mov ecx,L006BB1C8 call SUB_L00455E10 push eax call SUB_L0049A7F0 mov esi,eax xor ebx,ebx add esp,00000008h cmp esi,ebx mov [ebp-14h],esi jnz L0042D58C xor al,al mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L0042D58C: lea ecx,[ebp-00000088h] call SUB_L00493C60 push L004D77C0 lea ecx,[ebp-44h] mov [ebp-04h],ebx call SUB_L00493DA0 lea eax,[ebp-44h] lea ecx,[ebp-00000088h] push eax mov byte ptr [ebp-04h],01h call SUB_L00493F50 lea ecx,[ebp-44h] mov [ebp-04h],bl call SUB_L00493CF0 mov ecx,[L004C6378] mov edx,[L004D7EDC] mov [ebp-78h],ecx mov [ebp-74h],edx mov [ebp-70h],ebx mov [ebp-6Ch],ebx mov [ebp-68h],ebx mov dword ptr [ebp-04h],00000002h mov [ebp-24h],ebx mov [ebp-20h],ebx mov [ebp-1Ch],ebx mov al,[esi+0Ch] mov byte ptr [ebp-04h],03h test al,10h jnz L0042D966 L0042D5FF: lea ecx,[ebp-34h] call SUB_L00493C60 mov ecx,esi mov byte ptr [ebp-04h],04h call SUB_L00454B10 mov esi,eax xor eax,eax cmp esi,ebx jz L0042D64D push esi lea ecx,[ebp-54h] call SUB_L00493DA0 lea eax,[ebp-54h] lea ecx,[ebp-34h] push eax mov byte ptr [ebp-04h],05h call SUB_L00493F50 lea ecx,[ebp-54h] mov byte ptr [ebp-04h],04h call SUB_L00493CF0 push L004C61BC push esi call SUB_L0049B3D0 add esp,00000008h L0042D64D: cmp eax,ebx jz L0042D8A0 mov esi,L004C63B0 L0042D65A: mov dl,[eax] mov cl,dl cmp dl,[esi] jnz L0042D67E cmp cl,bl jz L0042D67A mov dl,[eax+01h] mov cl,dl cmp dl,[esi+01h] jnz L0042D67E add eax,00000002h add esi,00000002h cmp cl,bl jnz L0042D65A L0042D67A: xor eax,eax jmp L0042D683 L0042D67E: sbb eax,eax sbb eax,FFFFFFFFh L0042D683: cmp eax,ebx jnz L0042D8A0 push L004C622C push ebx call SUB_L0049B3D0 mov edi,eax add esp,00000008h cmp edi,ebx jz L0042D94B L0042D6A3: mov esi,SSZ004C63A8_color mov eax,edi L0042D6AA: mov dl,[eax] mov cl,dl cmp dl,[esi] jnz L0042D6CE cmp cl,bl jz L0042D6CA mov dl,[eax+01h] mov cl,dl cmp dl,[esi+01h] jnz L0042D6CE add eax,00000002h add esi,00000002h cmp cl,bl jnz L0042D6AA L0042D6CA: xor eax,eax jmp L0042D6D3 L0042D6CE: sbb eax,eax sbb eax,FFFFFFFFh L0042D6D3: cmp eax,ebx jnz L0042D6FE push L004C622C push ebx call SUB_L0049B3D0 mov edi,eax add esp,00000008h cmp edi,ebx jz L0042D94B mov ecx,edi call SUB_L004488B0 mov [ebp-78h],eax jmp L0042D87B L0042D6FE: mov esi,SSZ004C6398_defaultcolor mov eax,edi L0042D705: mov dl,[eax] mov cl,dl cmp dl,[esi] jnz L0042D729 cmp cl,bl jz L0042D725 mov dl,[eax+01h] mov cl,dl cmp dl,[esi+01h] jnz L0042D729 add eax,00000002h add esi,00000002h cmp cl,bl jnz L0042D705 L0042D725: xor eax,eax jmp L0042D72E L0042D729: sbb eax,eax sbb eax,FFFFFFFFh L0042D72E: cmp eax,ebx jnz L0042D75E push L004C622C push ebx call SUB_L0049B3D0 mov edi,eax add esp,00000008h cmp edi,ebx jz L0042D94B mov ecx,edi call SUB_L004488B0 mov [ebp-78h],eax mov [L004C6378],eax jmp L0042D87B L0042D75E: mov esi,SSZ004C6390_font mov eax,edi L0042D765: mov dl,[eax] mov cl,dl cmp dl,[esi] jnz L0042D789 cmp cl,bl jz L0042D785 mov dl,[eax+01h] mov cl,dl cmp dl,[esi+01h] jnz L0042D789 add eax,00000002h add esi,00000002h cmp cl,bl jnz L0042D765 L0042D785: xor eax,eax jmp L0042D78E L0042D789: sbb eax,eax sbb eax,FFFFFFFFh L0042D78E: cmp eax,ebx jnz L0042D7BB push L004C622C push ebx call SUB_L0049B3D0 mov edi,eax add esp,00000008h cmp edi,ebx jz L0042D94B push edi call SUB_L0049BB10 add esp,00000004h mov [ebp-74h],eax jmp L0042D87B L0042D7BB: mov esi,SSZ004C6384_defaultfont mov eax,edi L0042D7C2: mov dl,[eax] mov cl,dl cmp dl,[esi] jnz L0042D7E6 cmp cl,bl jz L0042D7E2 mov dl,[eax+01h] mov cl,dl cmp dl,[esi+01h] jnz L0042D7E6 add eax,00000002h add esi,00000002h cmp cl,bl jnz L0042D7C2 L0042D7E2: xor eax,eax jmp L0042D7EB L0042D7E6: sbb eax,eax sbb eax,FFFFFFFFh L0042D7EB: cmp eax,ebx jnz L0042D81A push L004C622C push ebx call SUB_L0049B3D0 mov edi,eax add esp,00000008h cmp edi,ebx jz L0042D94B push edi call SUB_L0049BB10 add esp,00000004h mov [ebp-74h],eax mov [L004D7EDC],eax jmp L0042D87B L0042D81A: mov esi,SSZ004C637C_song mov eax,edi L0042D821: mov dl,[eax] mov cl,dl cmp dl,[esi] jnz L0042D845 cmp cl,bl jz L0042D841 mov dl,[eax+01h] mov cl,dl cmp dl,[esi+01h] jnz L0042D845 add eax,00000002h add esi,00000002h cmp cl,bl jnz L0042D821 L0042D841: xor eax,eax jmp L0042D84A L0042D845: sbb eax,eax sbb eax,FFFFFFFFh L0042D84A: cmp eax,ebx jnz L0042D87B push L004C622C push ebx call SUB_L0049B3D0 mov edi,eax add esp,00000008h cmp edi,ebx jz L0042D94B push edi call SUB_L0049BB10 add esp,00000004h push eax mov eax,[ebp-10h] lea ecx,[eax+08h] call SUB_L0048B210 L0042D87B: cmp edi,ebx jz L0042D94B push L004C622C push ebx call SUB_L0049B3D0 mov edi,eax add esp,00000008h cmp edi,ebx jnz L0042D6A3 jmp L0042D94B L0042D8A0: lea ecx,[ebp-34h] push ecx lea ecx,[ebp-00000088h] call SUB_L00493F50 mov eax,[ebp-20h] cmp eax,ebx jz L0042D8C1 push eax lea ecx,[ebp-24h] call SUB_L0042DD50 jmp L0042D8F2 L0042D8C1: push 0000000Ch call SUB_L0049A820 add esp,00000004h mov [ebp-18h],eax cmp eax,ebx mov byte ptr [ebp-04h],06h jz L0042D8DF mov ecx,eax call SUB_L0042DDC0 jmp L0042D8E1 L0042D8DF: xor eax,eax L0042D8E1: mov ecx,[ebp-1Ch] mov byte ptr [ebp-04h],04h inc ecx mov [ebp-20h],eax mov [ebp-24h],eax mov [ebp-1Ch],ecx L0042D8F2: cmp eax,ebx jz L0042D904 lea edx,[ebp-00000088h] mov ecx,eax push edx call SUB_L0042DC70 L0042D904: push L004D77C0 lea ecx,[ebp-64h] call SUB_L00493DA0 lea eax,[ebp-64h] lea ecx,[ebp-00000088h] push eax mov byte ptr [ebp-04h],07h call SUB_L00493F50 lea ecx,[ebp-64h] mov byte ptr [ebp-04h],04h call SUB_L00493CF0 mov ecx,[L004C6378] mov edx,[L004D7EDC] mov [ebp-78h],ecx mov [ebp-74h],edx mov [ebp-70h],ebx mov [ebp-6Ch],ebx mov [ebp-68h],ebx L0042D94B: lea ecx,[ebp-34h] mov byte ptr [ebp-04h],03h call SUB_L00493CF0 mov eax,[ebp-14h] mov esi,eax test byte ptr [eax+0Ch],10h jz L0042D5FF L0042D966: push esi call SUB_L0049A580 mov eax,[ebp-1Ch] mov ecx,[ebp-10h] add esp,00000004h cmp eax,ebx mov [ecx+04h],eax jg L0042D9D1 mov eax,[ebp-24h] mov byte ptr [ebp-04h],02h cmp eax,ebx jz L0042D9AC L0042D987: lea edx,[ebp-14h] push 00000001h push edx push eax lea ecx,[ebp-24h] call SUB_L0042DE00 mov ecx,[ebp-14h] mov esi,eax cmp ecx,ebx jz L0042D9A6 push 00000001h call SUB_L0042DDD0 L0042D9A6: cmp esi,ebx mov eax,esi jnz L0042D987 L0042D9AC: lea ecx,[ebp-00000088h] mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00493CF0 xor al,al mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L0042D9D1: mov edi,eax lea eax,[eax+eax*8] lea ecx,[00000004h+eax*4] push ecx call SUB_L0049A820 add esp,00000004h mov [ebp-18h],eax cmp eax,ebx mov byte ptr [ebp-04h],08h jz L0042DA0B push SUB_L0042DB40 push L0042DB80 lea esi,[eax+04h] push edi push 00000024h push esi mov [eax],edi call SUB_L0049AFF0 jmp L0042DA0D L0042DA0B: xor esi,esi L0042DA0D: mov edx,[ebp-10h] mov eax,[ebp-24h] cmp eax,ebx mov byte ptr [ebp-04h],03h mov [edx],esi mov edi,eax jz L0042DAAF xor esi,esi L0042DA25: mov ebx,[ebp-10h] mov eax,[edi+08h] push eax mov ecx,[ebx] add ecx,esi call SUB_L00493F50 mov ecx,[edi+08h] mov edx,[ebx] mov eax,[ecx+14h] mov [edx+esi+14h],eax mov ecx,[edi+08h] mov edx,[ebx] mov eax,[ecx+10h] mov [edx+esi+10h],eax call SUB_L00492730 mov ecx,[ebx] mov [ebp-14h],eax mov ecx,[ecx+esi+14h] cmp eax,ecx jz L0042DA64 call SUB_L00492740 L0042DA64: mov edx,[ebx] lea ecx,[edx+esi] lea eax,[ecx+20h] lea edx,[ecx+1Ch] push eax push edx lea ebx,[ecx+18h] call SUB_L00493EC0 mov ecx,eax mov edx,ebx call SUB_L00492DC0 mov eax,[ebp-10h] mov ecx,[ebp-14h] mov edx,[eax] cmp ecx,[edx+esi+14h] jz L0042DA95 call SUB_L00492740 L0042DA95: xor ebx,ebx add esi,00000024h cmp edi,ebx jnz L0042DAA2 xor edi,edi jmp L0042DAA4 L0042DAA2: mov edi,[edi] L0042DAA4: cmp edi,ebx jnz L0042DA25 mov eax,[ebp-24h] L0042DAAF: cmp eax,ebx mov byte ptr [ebp-04h],02h jz L0042DB0F L0042DAB7: xor edi,edi cmp eax,ebx jnz L0042DAC1 xor esi,esi jmp L0042DAF5 L0042DAC1: mov ecx,[eax+04h] mov esi,[eax] cmp ecx,ebx jz L0042DACE mov [ecx],esi jmp L0042DAD1 L0042DACE: mov [ebp-24h],esi L0042DAD1: cmp esi,ebx jz L0042DADA mov [esi+04h],ecx jmp L0042DADD L0042DADA: mov [ebp-20h],ecx L0042DADD: mov ecx,[eax+08h] push eax mov [eax+08h],ebx mov edi,ecx call SUB_L0049A810 mov eax,[ebp-1Ch] add esp,00000004h dec eax mov [ebp-1Ch],eax L0042DAF5: cmp edi,ebx jz L0042DB09 mov ecx,edi call SUB_L00493CF0 push edi call SUB_L0049A810 add esp,00000004h L0042DB09: cmp esi,ebx mov eax,esi jnz L0042DAB7 L0042DB0F: lea ecx,[ebp-00000088h] mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00493CF0 mov ecx,[ebp-0Ch] pop edi pop esi mov al,01h mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L0042DB40: jmp SUB_L00493CF0 Align 16 L0042DB50: mov eax,[ecx] test eax,eax jz L0042DB75 mov ecx,[eax-04h] push esi lea esi,[eax-04h] push SUB_L0042DB40 push ecx push 00000024h push eax call SUB_L0049AEB0 push esi call SUB_L0049A810 add esp,00000004h pop esi L0042DB75: retn ;------------------------------------------------------------------------------ Align 16 L0042DB80: push ebp mov ebp,esp push FFFFFFFFh push L004B29F0 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000014h push ebx push esi mov esi,ecx mov [ebp-10h],esi call SUB_L00493C60 xor ebx,ebx push L004D77C0 lea ecx,[ebp-20h] mov [ebp-04h],ebx call SUB_L00493DA0 lea eax,[ebp-20h] mov ecx,esi push eax mov byte ptr [ebp-04h],01h call SUB_L00493F50 lea ecx,[ebp-20h] mov [ebp-04h],bl call SUB_L00493CF0 mov ecx,[L004C6378] mov eax,esi mov [esi+10h],ecx mov edx,[L004D7EDC] mov ecx,[ebp-0Ch] mov [esi+14h],edx mov [esi+18h],ebx mov [esi+1Ch],ebx mov [esi+20h],ebx pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L0042DC00: push ebx mov ebx,ecx mov eax,[ebx] test eax,eax jz L0042DC68 push edi push esi L0042DC0B: xor edi,edi test eax,eax jnz L0042DC15 xor esi,esi jmp L0042DC4C L0042DC15: mov ecx,[eax+04h] mov esi,[eax] test ecx,ecx jz L0042DC22 mov [ecx],esi jmp L0042DC24 L0042DC22: mov [ebx],esi L0042DC24: test esi,esi jz L0042DC2D mov [esi+04h],ecx jmp L0042DC30 L0042DC2D: mov [ebx+04h],ecx L0042DC30: mov ecx,[eax+08h] push eax mov dword ptr [eax+08h],00000000h mov edi,ecx call SUB_L0049A810 mov eax,[ebx+08h] add esp,00000004h dec eax mov [ebx+08h],eax L0042DC4C: test edi,edi jz L0042DC60 mov ecx,edi call SUB_L0042DB40 push edi call SUB_L0049A810 add esp,00000004h L0042DC60: test esi,esi mov eax,esi jnz L0042DC0B pop esi pop edi L0042DC68: pop ebx retn ;------------------------------------------------------------------------------ Align 8 SUB_L0042DC70: push ebp mov ebp,esp push FFFFFFFFh push L004B2A13 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx mov ebx,ecx push esi push edi mov esi,[ebx+08h] test esi,esi jnz L0042DD11 push 00000024h call SUB_L0049A820 mov esi,eax add esp,00000004h mov [ebp-10h],esi test esi,esi mov dword ptr [ebp-04h],00000000h jz L0042DCF9 mov ecx,esi call SUB_L00493C60 mov edi,[ebp+08h] mov ecx,esi push edi mov byte ptr [ebp-04h],01h call SUB_L00493F50 mov eax,[edi+10h] mov [esi+10h],eax mov ecx,[edi+14h] mov [esi+14h],ecx mov edx,[edi+18h] mov [esi+18h],edx mov eax,[edi+1Ch] mov [esi+1Ch],eax mov ecx,[edi+20h] mov [esi+20h],ecx mov [ebx+08h],esi mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L0042DCF9: xor esi,esi mov [ebx+08h],esi mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L0042DD11: mov edi,[ebp+08h] mov ecx,esi push edi call SUB_L00493F50 mov edx,[edi+10h] mov [esi+10h],edx mov eax,[edi+14h] mov [esi+14h],eax mov ecx,[edi+18h] mov [esi+18h],ecx mov edx,[edi+1Ch] mov ecx,[ebp-0Ch] mov [esi+1Ch],edx mov eax,[edi+20h] pop edi mov [esi+20h],eax pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L0042DD50: push ebp mov ebp,esp push ebx push esi mov esi,[ebp+08h] mov ebx,ecx test esi,esi jnz L0042DD66 xor eax,eax pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ L0042DD66: push edi mov edi,[esi] push 0000000Ch call SUB_L0049A820 xor ecx,ecx add esp,00000004h cmp eax,ecx jz L0042DD83 mov [eax],ecx mov [eax+04h],ecx mov [eax+08h],ecx jmp L0042DD85 L0042DD83: xor eax,eax L0042DD85: mov [eax],edi mov [eax+04h],esi cmp edi,ecx mov [esi],eax jz L0042DDA1 mov [edi+04h],eax mov ecx,[ebx+08h] inc ecx pop edi mov [ebx+08h],ecx pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ L0042DDA1: mov edx,[ebx] mov [ebx+04h],eax cmp edx,ecx jnz L0042DDAC mov [ebx],eax L0042DDAC: mov ecx,[ebx+08h] pop edi inc ecx pop esi mov [ebx+08h],ecx pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 8 SUB_L0042DDC0: mov eax,ecx xor ecx,ecx mov [eax],ecx mov [eax+04h],ecx mov [eax+08h],ecx retn ;------------------------------------------------------------------------------ Align 4 SUB_L0042DDD0: push ebp mov ebp,esp push esi mov esi,ecx call SUB_L0042DB40 test byte ptr [ebp+08h],01h jz L0042DDEA push esi call SUB_L0049A810 add esp,00000004h L0042DDEA: mov eax,esi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L0042DE00: push ebp mov ebp,esp push ecx mov edx,[ebp+0Ch] push ebx push esi mov esi,[ebp+08h] test esi,esi push edi mov [ebp-04h],ecx mov dword ptr [edx],00000000h jnz L0042DE25 xor eax,eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ L0042DE25: mov ebx,[esi+04h] mov eax,[esi] test ebx,ebx mov [ebp+0Ch],eax jz L0042DE35 mov [ebx],eax jmp L0042DE37 L0042DE35: mov [ecx],eax L0042DE37: test eax,eax jz L0042DE40 mov [eax+04h],ebx jmp L0042DE43 L0042DE40: mov [ecx+04h],ebx L0042DE43: mov eax,[esi+08h] mov dword ptr [esi+08h],00000000h mov [edx],eax mov edi,[esi+08h] test edi,edi jz L0042DE6D mov ecx,edi call SUB_L0042DB40 push edi call SUB_L0049A810 add esp,00000004h mov dword ptr [esi+08h],00000000h L0042DE6D: push esi call SUB_L0049A810 mov eax,[ebp-04h] add esp,00000004h mov ecx,[eax+08h] dec ecx mov [eax+08h],ecx mov eax,[ebp+10h] cmp eax,00000001h mov eax,[ebp+0Ch] jz L0042DE8D mov eax,ebx L0042DE8D: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 16 SUB_L0042DEA0: push ebp mov ebp,esp push FFFFFFFFh push L004B2A28 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000020h push ebx push esi mov esi,ecx push edi mov [ebp-2Ch],esi call SUB_L00441CB0 xor edi,edi mov dword ptr [esi],L004B9B08 mov [L00669680],edi mov dword ptr [esi+04h],SSZ004C63DC_drag_gump mov [esi+5Ch],edi mov [esi+00000098h],edi mov [esi+00000094h],edi mov ebx,00000001h push SSZ004C63C4_framedata_for_CDragGump mov [L006A9DD4],esi push 00000008h mov ecx,L00669C8C mov [ebp-04h],edi mov [ebp-10h],edi mov [esi+34h],edi mov [esi+4Ch],edi mov [esi+48h],edi mov [esi+44h],edi mov [esi+40h],edi mov [esi+3Ch],edi mov [esi+10h],edi mov [esi+14h],ebx call SUB_L0044FBD0 xor ecx,ecx mov [esi+38h],eax mov [eax],ecx mov [ebp-18h],edi mov [eax+04h],ecx mov cx,[L006A9D76] cmp cx,3584h mov [ebp-14h],edi jc L0042DF4E cmp cx,35A1h ja L0042DF4E mov [ebp-14h],ebx L0042DF4E: cmp [ebp-14h],edi jnz L0042E087 push ecx mov ecx,L006A9D38 call SUB_L004619B0 test eax,eax jz L0042DFD8 mov ax,[L006A9D82] cmp ax,bx ja L0042DF93 xor edx,edx mov ecx,L006A9DB8 mov dx,[L006A9D76] add edx,00004000h push edx call SUB_L004882D0 mov [ebp-10h],eax jmp L0042E043 L0042DF93: cmp ax,0005h ja L0042DFB9 xor eax,eax mov ecx,L006A9DB8 mov ax,[L006A9D76] add eax,00004001h push eax call SUB_L004882D0 mov [ebp-10h],eax jmp L0042E043 L0042DFB9: xor ecx,ecx mov cx,[L006A9D76] add ecx,00004002h push ecx mov ecx,L006A9DB8 call SUB_L004882D0 mov [ebp-10h],eax jmp L0042E043 L0042DFD8: cmp [L004D7ECC],edi jz L0042DFF9 xor ecx,ecx mov cx,[L006A9D76] call SUB_L0045D6F0 test eax,eax jz L0042DFF9 push 00006127h jmp L0042E009 L0042DFF9: xor edx,edx mov dx,[L006A9D76] add edx,00004000h push edx L0042E009: mov ecx,L006A9DB8 call SUB_L004882D0 cmp [L006A9D82],bx mov [ebp-10h],eax jbe L0042E043 movsx ecx,[L006A9D79] xor eax,eax mov ax,[L006A9D76] add eax,ecx lea edx,[eax+eax*4] mov eax,[L006A9D98] mov ecx,[eax+edx*8] test ch,08h jz L0042E043 mov [ebp-18h],ebx L0042E043: cmp [ebp-10h],edi jnz L0042E05A push 00004000h mov ecx,L006A9DB8 call SUB_L004882D0 mov [ebp-10h],eax L0042E05A: mov eax,[ebp-10h] xor ecx,ecx lea ebx,[esi+1Ch] xor edx,edx mov cx,[eax+04h] mov [ebx],ecx mov dx,[eax+06h] mov eax,[ebp-18h] mov [esi+20h],edx cmp eax,edi jz L0042E0A3 mov eax,edx add ecx,00000005h add eax,00000005h mov [ebx],ecx mov [esi+20h],eax jmp L0042E0A3 L0042E087: xor eax,eax lea ebx,[esi+1Ch] mov ax,cx mov edx,ebx lea ecx,[eax-00002C69h] lea eax,[esi+20h] push eax mov [esi+50h],ecx call SUB_L004390A0 L0042E0A3: mov eax,[ebx] push SSZ004C63DC_drag_gump mov [esi+18h],eax imul eax,[esi+20h] lea eax,[eax+eax+04h] mov ecx,L00669C8C push eax call SUB_L0044FBD0 mov ecx,[esi+38h] mov [ecx+04h],eax mov edx,[esi+38h] mov cx,[ebx] mov eax,[edx+04h] mov [eax],cx mov edx,[esi+38h] mov cx,[esi+20h] mov eax,[edx+04h] mov [eax+02h],cx mov ecx,[esi+20h] imul ecx,[ebx] mov edx,[esi+38h] xor eax,eax shl ecx,1 mov edi,[edx+04h] mov edx,ecx add edi,00000004h shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+38h] mov edx,[ebx] mov ecx,[eax+04h] add ecx,00000004h call SUB_L00488A00 mov eax,[L004D7ED0] test eax,eax jz L0042E133 xor ecx,ecx mov cx,[L006A9D76] call SUB_L0045D790 test eax,eax jz L0042E133 mov edi,L00488400 jmp L0042E175 L0042E133: mov eax,[L006A9D80] test ax,ax jz L0042E170 and eax,0000FFFFh mov edx,[L006A9D98] dec eax mov [L0076735C],eax xor eax,eax mov ax,[L006A9D76] lea ecx,[eax+eax*4] test dword ptr [edx+ecx*8],00040000h jz L0042E169 mov edi,L004884A0 jmp L0042E175 L0042E169: mov edi,L004883B0 jmp L0042E175 L0042E170: mov edi,SUB_L00488380 L0042E175: mov eax,[ebp-14h] test eax,eax jnz L0042E1A1 mov edx,[ebp-10h] push 00000000h push 00000000h mov ecx,edi call SUB_L00488BB0 mov eax,[ebp-18h] test eax,eax jz L0042E1C9 mov edx,[ebp-10h] push 00000005h push 00000005h mov ecx,edi call SUB_L00488BB0 jmp L0042E1C9 L0042E1A1: mov eax,[esi+38h] xor ecx,ecx xor edx,edx mov eax,[eax+04h] mov cx,[eax+02h] mov dx,[eax] push ecx add eax,00000004h push edx mov edx,[esi+50h] push eax push 00000000h push 00000000h mov ecx,SUB_L00488700 call SUB_L00439100 L0042E1C9: mov al,[L0073EC3C] test al,al jz L0042E20B mov eax,[esi+38h] xor edx,edx mov ecx,[eax+04h] mov eax,[esi+20h] imul eax,[ebx] add ecx,00000004h test eax,eax jle L0042E20B L0042E1E7: mov ax,[ecx] add ecx,00000002h mov edi,eax and eax,0000001Fh and edi,0000FFE0h shl edi,1 or edi,eax inc edx mov [ecx-02h],di mov eax,[esi+20h] imul eax,[ebx] cmp edx,eax jl L0042E1E7 L0042E20B: lea ecx,[ebp-20h] lea edx,[ebp-1Ch] push ecx push edx mov ecx,L006A9DC0 call SUB_L00450540 mov eax,[ebx] mov ecx,[ebp-1Ch] cdq sub eax,edx push 00000001h sar eax,1 sub ecx,eax mov eax,[esi+20h] cdq sub eax,edx mov edx,[ebp-20h] sar eax,1 mov [esi+2Ch],ecx sub edx,eax push 00000000h mov ecx,esi mov [esi+30h],edx call SUB_L004415C0 push 00000000h mov ecx,L006BB1C8 call SUB_L0049A010 mov eax,[ebp-1Ch] mov ecx,[ebp-20h] mov [ebp-28h],eax lea edx,[ebp-24h] lea eax,[ebp-28h] mov [ebp-24h],ecx push edx push eax mov ecx,esi call SUB_L00440CD0 mov ecx,[ebp-24h] mov edx,[ebp-28h] push ecx push edx mov ecx,esi call SUB_L0042E3B0 mov ecx,[ebp-0Ch] mov eax,esi pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L0042E290: push ebp mov ebp,esp push esi mov esi,ecx call SUB_L0042E2C0 test byte ptr [ebp+08h],01h jz L0042E2AA push esi call SUB_L0049A810 add esp,00000004h L0042E2AA: mov eax,esi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L0042E2C0: push ebp mov ebp,esp push FFFFFFFFh push L004B2A48 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx push edi mov [ebp-10h],esi mov dword ptr [esi],L004B9B08 xor edi,edi mov [L006A9DA8],edi mov [L006A9D6C],edi mov [L006A9DD4],edi mov eax,[esi+00000094h] cmp eax,edi mov [ebp-04h],edi jz L0042E325 cmp dword ptr [eax+0000009Ch],FFFFFFFFh jz L0042E325 mov dword ptr [eax+0000009Ch],FFFFFFFFh mov ecx,[esi+00000094h] call SUB_L00478800 L0042E325: mov eax,[esi+38h] cmp eax,edi jz L0042E349 mov eax,[eax+04h] cmp eax,edi jz L0042E349 push SSZ004C63E8_draggump_frame0 push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov eax,[esi+38h] mov [eax+04h],edi L0042E349: mov eax,[esi+38h] cmp eax,edi jz L0042E363 push SSZ004C411C_draggump_framedata push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov [esi+38h],edi L0042E363: mov ecx,esi mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00441D50 mov ecx,[ebp-0Ch] pop edi mov fs:[00000000h],ecx pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 L0042E390: push ebp mov ebp,esp mov edx,[ebp+0Ch] mov [L006A9DD4],ecx mov eax,[ecx] push edx mov edx,[ebp+08h] push edx call [eax+2Ch] pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 8 SUB_L0042E3B0: push ebp mov ebp,esp push ecx xor eax,eax push ebx mov ax,[L006A9D76] push esi mov esi,ecx xor ebx,ebx mov ecx,[L006A9D98] lea eax,[eax+eax*4] mov edx,[esi+00000094h] push edi mov bl,[ecx+eax*8+05h] mov eax,[esi+20h] mov ecx,[ebp+0Ch] mov [ebp-04h],edx cdq sub eax,edx push 00000001h sar eax,1 sub ecx,eax mov eax,[esi+1Ch] cdq sub eax,edx mov edx,[ebp+08h] sar eax,1 push 00000000h push 00000001h sub edx,eax push ecx push edx mov ecx,esi call SUB_L00440850 lea eax,[ebp+0Ch] lea ecx,[ebp+08h] push eax push ecx mov ecx,esi call SUB_L00440C60 mov edx,[ebp+0Ch] mov eax,[ebp+08h] push 00000000h push esi push edx push eax mov ecx,L00669608 call SUB_L0043F4D0 mov edi,eax mov eax,[L006A9D7C] or ecx,FFFFFFFFh cmp eax,ecx jz L0042E4D9 test edi,edi jz L0042E49A mov edx,[edi] mov ecx,edi call [edx+0000008Ch] test eax,eax mov eax,[esi+00000094h] jz L0042E48A cmp edi,eax jz L0042E4B4 mov ecx,[L006A9D98] xor eax,eax mov ax,[L006A9D76] lea eax,[eax+eax*4] test dword ptr [ecx+eax*8],00400000h jz L0042E4B4 mov edx,[edi+34h] mov eax,[edx+ebx*4+000000C4h] test eax,eax jnz L0042E4B4 mov [esi+00000094h],edi mov [edi+0000009Ch],ebx jmp L0042E4B4 L0042E48A: test eax,eax jz L0042E4B4 mov dword ptr [eax+0000009Ch],FFFFFFFFh jmp L0042E4AA L0042E49A: mov eax,[esi+00000094h] test eax,eax jz L0042E4B4 mov [eax+0000009Ch],ecx L0042E4AA: mov dword ptr [esi+00000094h],00000000h L0042E4B4: mov ecx,[ebp-04h] mov eax,[esi+00000094h] cmp ecx,eax jz L0042E4D9 test ecx,ecx jz L0042E4CA call SUB_L00478800 L0042E4CA: mov ecx,[esi+00000094h] test ecx,ecx jz L0042E4D9 call SUB_L00478800 L0042E4D9: mov eax,[esi+00000098h] test eax,eax jz L0042E509 cmp edi,[L006BAE80] jnz L0042E509 lea eax,[ebp+0Ch] lea ecx,[ebp+08h] push eax push ecx mov ecx,edi call SUB_L00440CD0 mov eax,[ebp+0Ch] mov ecx,[ebp+08h] mov edx,[edi] push eax push ecx mov ecx,edi call [edx+2Ch] L0042E509: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 L0042E520: push ebp mov ebp,esp push esi mov esi,ecx lea eax,[ebp+0Ch] lea ecx,[ebp+08h] push eax push ecx mov ecx,esi mov dword ptr [esi+00000098h],00000001h call SUB_L00440C60 mov edx,[ebp+0Ch] mov eax,[ebp+08h] push 00000000h push esi push edx push eax mov ecx,L00669608 call SUB_L0043F4D0 mov esi,eax mov eax,[L006BAE80] cmp esi,eax jnz L0042E58C lea ecx,[ebp+0Ch] lea edx,[ebp+08h] push ecx push edx mov ecx,esi call SUB_L00440CD0 mov ecx,[ebp+0Ch] mov edx,[ebp+08h] mov eax,[esi] push ecx push edx mov ecx,esi call [eax+24h] mov ecx,[ebp+0Ch] mov edx,[ebp+08h] mov eax,[esi] push ecx push edx mov ecx,esi call [eax+1Ch] L0042E58C: pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 L0042E5A0: push ebp mov ebp,esp push esi mov esi,ecx lea eax,[ebp+0Ch] lea ecx,[ebp+08h] push eax push ecx mov ecx,esi mov dword ptr [esi+00000098h],00000000h call SUB_L00440C60 mov edx,[ebp+0Ch] mov eax,[ebp+08h] push 00000000h push esi push edx push eax mov ecx,L00669608 call SUB_L0043F4D0 mov esi,eax mov eax,[L006BAE80] cmp esi,eax jnz L0042E60C lea ecx,[ebp+0Ch] lea edx,[ebp+08h] push ecx push edx mov ecx,esi call SUB_L00440CD0 mov ecx,[ebp+0Ch] mov edx,[ebp+08h] mov eax,[esi] push ecx push edx mov ecx,esi call [eax+24h] mov ecx,[ebp+0Ch] mov edx,[ebp+08h] mov eax,[esi] push ecx push edx mov ecx,esi call [eax+20h] L0042E60C: pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 L0042E620: mov ecx,[L006BAE80] mov eax,[ecx] jmp [eax+30h] Align 8 L0042E630: push ebp mov ebp,esp push FFFFFFFFh push L004B2A78 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,000000C4h push ebx push esi push edi mov edi,ecx lea eax,[ebp+0Ch] lea ecx,[ebp+08h] push eax xor ebx,ebx push ecx mov ecx,edi mov [ebp-04h],ebx call SUB_L00440C60 mov edx,[ebp+0Ch] mov eax,[ebp+08h] push 00000001h push edi push edx push eax mov ecx,L00669608 call SUB_L0043F4D0 mov esi,eax cmp esi,ebx jz L0042EE0C mov edx,[esi] mov ecx,esi call [edx+74h] test eax,eax jz L0042EE0C mov eax,[L006A9D7C] cmp eax,FFFFFFFFh mov eax,[L006BAE80] jnz L0042E760 cmp esi,eax jnz L0042EE0C lea eax,[ebp+0Ch] lea ecx,[ebp+08h] push eax push ecx mov ecx,esi call SUB_L00440CD0 call SUB_L0048B870 test eax,eax jz L0042E6D1 call SUB_L0048B870 test eax,eax jnz L0042E6F5 L0042E6D1: mov eax,[edi+1Ch] mov ecx,[ebp+0Ch] cdq sub eax,edx mov edx,[ebp+08h] sar eax,1 lea eax,[edx+eax-16h] mov [ebp+08h],eax mov eax,[edi+20h] cdq sub eax,edx sar eax,1 lea edx,[ecx+eax-16h] mov [ebp+0Ch],edx L0042E6F5: mov eax,[ebp+0Ch] mov ecx,[ebp+08h] push ebx push eax push ecx mov ecx,L006BB1A0 call SUB_L00434DF0 cmp eax,ebx jz L0042EE0C movsx ebx,[eax+22h] movsx esi,[eax+20h] push ebx push esi mov ecx,L006A9D38 call SUB_L0045F5D0 mov [ebp-10h],al call SUB_L0048B870 test eax,eax jz L0042E73D mov edx,[ebp-10h] mov ecx,esi push edx mov edx,ebx call SUB_L0046E100 L0042E73D: test edi,edi jz L0042EE0C mov eax,[edi] push 00000001h mov ecx,edi call [eax] mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L0042E760: cmp esi,eax jnz L0042EBCC lea ecx,[ebp+0Ch] lea edx,[ebp+08h] push ecx push edx mov ecx,esi call SUB_L00440CD0 mov eax,[ebp+0Ch] mov ecx,[ebp+08h] push eax push ecx mov ecx,L006A9D38 call SUB_L0045F9E0 mov esi,eax cmp esi,ebx jz L0042E993 mov ecx,esi call SUB_L0045D370 test eax,eax jz L0042EDFB mov edx,[esi] mov ecx,esi call [edx+24h] test eax,eax jz L0042E809 mov eax,[esi+78h] mov ecx,[L006A9D7C] push eax push ebx push 0000FFFFh push 0000FFFFh lea edx,[ebp-40h] push ecx push edx mov ecx,L006BB1C0 call SUB_L00473C50 mov ecx,[L006BB1CC] lea eax,[ebp-40h] push eax call SUB_L0048B170 cmp edi,ebx jz L0042EDE2 mov edx,[edi] push 00000001h mov ecx,edi call [edx] mov [L006A9DD4],ebx mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L0042E809: mov eax,[esi] mov ecx,esi call [eax+30h] test eax,eax jz L0042E8B7 mov dx,[esi+38h] lea ecx,[ebp-50h] push ecx push edx mov ecx,L00669608 call SUB_L00440210 push eax mov ecx,L00669608 call SUB_L00440500 mov eax,[ebp-48h] mov edx,[ebp-50h] mov ecx,[edi+1Ch] sub eax,edx cmp eax,ecx jl L0042EDFB mov ecx,[ebp-44h] mov edx,[ebp-4Ch] mov eax,[edi+20h] sub ecx,edx cmp ecx,eax jl L0042EDFB mov edx,[esi+78h] mov eax,[L006A9D7C] push edx push ebx push 0000FFFFh push 0000FFFFh lea ecx,[ebp-40h] push eax push ecx mov ecx,L006BB1C0 call SUB_L00473C50 mov ecx,[L006BB1CC] lea edx,[ebp-40h] push edx call SUB_L0048B170 cmp edi,ebx jz L0042EDE2 mov eax,[edi] push 00000001h mov ecx,edi call [eax] mov [L006A9DD4],ebx mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L0042E8B7: cmp [esi+3Ch],bx jz L0042E96F mov cx,[esi+38h] movsx eax,[esi+3Ah] mov edx,ecx and edx,0000FFFFh add eax,edx mov edx,[L006A9D98] lea eax,[eax+eax*4] test byte ptr [edx+eax*8+01h],08h jz L0042E96F cmp [L006A9D82],bx jz L0042E96F mov eax,[L006A9D84] test ah,08h jz L0042E96F cmp cx,[L006A9D76] jnz L0042E96F mov ax,[esi+3Eh] cmp ax,[L006A9D80] jnz L0042E96F mov ecx,[esi+78h] mov dl,[esi+24h] mov ax,[esi+22h] push ecx mov cx,[esi+20h] push edx mov edx,[L006A9D7C] push eax push ecx lea eax,[ebp-40h] push edx push eax mov ecx,L006BB1C0 call SUB_L00473C50 lea ecx,[ebp-40h] push ecx mov ecx,[L006BB1CC] call SUB_L0048B170 cmp edi,ebx jz L0042EDE2 mov edx,[edi] push 00000001h mov ecx,edi call [edx] mov [L006A9DD4],ebx mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L0042E96F: mov eax,[esi] mov ecx,esi call [eax+1Ch] test eax,eax jnz L0042E993 mov ax,[esi+38h] mov edx,[L006A9D98] lea ecx,[eax+eax*4] mov eax,[edx+ecx*8] test ah,02h jz L0042EDFB L0042E993: call SUB_L0048B870 test eax,eax jz L0042E9A5 call SUB_L0048B870 test eax,eax jnz L0042E9C9 L0042E9A5: mov eax,[edi+1Ch] mov ecx,[ebp+08h] cdq sub eax,edx sar eax,1 lea edx,[ecx+eax-16h] mov eax,[edi+20h] mov ecx,[ebp+0Ch] mov [ebp+08h],edx cdq sub eax,edx sar eax,1 lea edx,[ecx+eax-16h] mov [ebp+0Ch],edx L0042E9C9: mov eax,[ebp+0Ch] mov ecx,[ebp+08h] push ebx push eax push ecx mov ecx,L006BB1A0 call SUB_L00434DF0 mov esi,eax cmp esi,ebx jz L0042EE0C mov edx,[L004DAF40] mov ebx,[esi+04h] mov ecx,[ebp+0Ch] mov eax,[L004DAF44] sub edx,ebx mov ebx,[esi+08h] sub edx,ecx sub eax,ebx push edx mov edx,[ebp+08h] sub eax,edx lea ecx,[ebp-000000D0h] push eax push SSZ004C44F0__d__d push ecx call SUB_L0049AC80 movsx eax,[esi+22h] movsx ebx,[esi+20h] add esp,00000010h mov [ebp-14h],eax mov byte ptr [ebp-10h],00h mov edx,[L0073EBE4] push eax add edx,00000020h push ebx mov byte ptr [ebp-04h],02h mov ecx,[edx] mov [ebp-24h],ecx mov cx,[ebp-24h] mov dx,[edx+04h] mov [ebp-1Ch],cx mov [ebp-20h],dx mov ecx,[ebp-20h] mov dx,[ebp-22h] add ecx,0000000Ch mov [ebp-18h],cx mov ecx,L006A9D38 mov [ebp-1Ah],dx mov [ebp-24h],bx mov [ebp-22h],ax mov word ptr [ebp-20h],0000h call SUB_L00461960 test eax,eax jz L0042EAD9 mov edx,[L006AAA9C] mov eax,ebx sub eax,edx cdq xor eax,edx sub eax,edx cmp eax,00000003h jg L0042EAD9 mov eax,[ebp-14h] mov edx,[L006AAAA0] sub eax,edx cdq xor eax,edx sub eax,edx cmp eax,00000003h jg L0042EAD9 mov eax,[ebp-24h] push 00000040h mov cx,[ebp-20h] sub esp,00000008h mov edx,esp sub esp,00000008h mov [edx],eax mov eax,[ebp-1Ch] mov [edx+04h],cx mov cx,[ebp-18h] mov edx,esp mov [edx],eax mov [edx+04h],cx mov ecx,L006AAA98 call SUB_L0044FA70 test eax,eax jnz L0042EAEC L0042EAD9: call SUB_L0048B870 test eax,eax jnz L0042EAEC push eax push eax push eax push eax push eax jmp L0042EE00 L0042EAEC: mov edx,[esi] mov ecx,esi call [edx+1Ch] test eax,eax jz L0042EAFD mov eax,[ebp-14h] push eax jmp L0042EB3F L0042EAFD: mov edx,[esi] mov ecx,esi call [edx+1Ch] test eax,eax jnz L0042EB2C mov ax,[esi+38h] mov ecx,[L006A9D98] lea eax,[eax+eax*4] mov eax,[ecx+eax*8] test ah,02h jnz L0042EB2C test al,40h jnz L0042EE1F mov esi,[esi+18h] test esi,esi jnz L0042EAFD L0042EB2C: test esi,esi jz L0042EB7A mov edx,[esi] mov ecx,esi call [edx+1Ch] test eax,eax jz L0042EB60 mov eax,[ebp-14h] push eax L0042EB3F: push ebx mov ecx,L006AAA98 call SUB_L0044F910 mov ecx,eax movsx eax,[ecx+01h] movsx ecx,[ecx+03h] add eax,ecx cdq sub eax,edx sar eax,1 mov [ebp-10h],al jmp L0042EB7A L0042EB60: xor eax,eax mov ax,[esi+38h] lea edx,[eax+eax*4] mov eax,[L006A9D98] mov cl,[eax+edx*8+12h] mov al,[esi+24h] add cl,al mov [ebp-10h],cl L0042EB7A: mov edx,[ebp-10h] mov eax,[ebp-14h] mov ecx,[L006A9D7C] push FFFFFFFFh push edx push eax push ebx lea edx,[ebp-40h] push ecx push edx mov ecx,L006BB1C0 call SUB_L00473C50 mov ecx,[L006BB1CC] lea eax,[ebp-40h] push eax call SUB_L0048B170 test edi,edi jz L0042EE0C mov edx,[edi] push 00000001h mov ecx,edi call [edx] mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L0042EBCC: mov eax,[esi] mov ecx,esi call [eax+0000008Ch] test eax,eax jz L0042EC8E lea ecx,[ebp+0Ch] lea edx,[ebp+08h] push ecx push edx mov ecx,esi call SUB_L00440CD0 mov eax,[ebp+0Ch] mov ecx,[ebp+08h] push 00000001h push eax push ecx mov ecx,esi call SUB_L00478F00 cmp eax,FFFFFFFFh jz L0042EC8E mov edx,[esi+34h] lea ebx,[000000C4h+eax*4] mov ecx,[edx+ebx] mov eax,[ecx] call [eax+30h] test eax,eax jz L0042EC8C mov ecx,[esi+34h] mov edx,[ecx+ebx] mov ecx,[L006A9D7C] mov eax,[edx+78h] lea edx,[ebp-40h] push eax push 00000000h push 0000FFFFh push 0000FFFFh push ecx push edx mov ecx,L006BB1C0 call SUB_L00473C50 mov ecx,[L006BB1CC] lea eax,[ebp-40h] push eax call SUB_L0048B170 mov eax,[edi+00000094h] test eax,eax jz L0042EC80 mov dword ptr [eax+0000009Ch],FFFFFFFFh mov ecx,[edi+00000094h] call SUB_L00478800 mov dword ptr [edi+00000094h],00000000h L0042EC80: test edi,edi jz L0042EC8C mov edx,[edi] push 00000001h mov ecx,edi call [edx] L0042EC8C: xor ebx,ebx L0042EC8E: mov eax,[edi+00000094h] cmp esi,eax jnz L0042ED14 mov dword ptr [eax+0000009Ch],FFFFFFFFh mov ecx,[edi+00000094h] call SUB_L00478800 mov edx,[L006A9D98] xor eax,eax mov ax,[L006A9D76] xor ecx,ecx lea eax,[eax+eax*4] mov cl,[edx+eax*8+05h] mov eax,ecx mov ecx,[esi+34h] mov edx,[ecx+78h] lea ecx,[ebp-2Ch] push edx push eax mov eax,[L006A9D7C] push eax push ecx mov ecx,L006BB1C0 call SUB_L004743D0 mov ecx,[L006BB1CC] lea edx,[ebp-2Ch] push edx call SUB_L0048B170 cmp edi,ebx jz L0042EE0C mov eax,[edi] push 00000001h mov ecx,edi call [eax] mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L0042ED14: mov edx,[esi] mov ecx,esi call [edx+000000ACh] test eax,eax jz L0042ED83 mov ecx,[esi+34h] cmp ecx,ebx jz L0042EDFB call SUB_L0045D370 test eax,eax jz L0042EDFB lea eax,[ebp+0Ch] lea ecx,[ebp+08h] push eax push ecx mov ecx,esi call SUB_L00440CD0 mov edx,[ebp+0Ch] mov eax,[ebp+08h] push edx push eax mov ecx,esi call SUB_L0042AEB0 test eax,eax jz L0042EDFB cmp edi,ebx jz L0042EE0C mov edx,[edi] push 00000001h mov ecx,edi call [edx] mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L0042ED83: mov eax,[esi] mov ecx,esi call [eax+000000F4h] test eax,eax jz L0042EDFB mov cx,[L006A9D76] call SUB_L00461170 test eax,eax jz L0042EDFB mov ecx,[esi+34h] mov eax,[L006A9D7C] mov edx,[ecx+78h] lea ecx,[ebp-40h] push edx push ebx push 0000FFFFh push 0000FFFFh push eax push ecx mov ecx,L006BB1C0 call SUB_L00473C50 mov ecx,[L006BB1CC] lea edx,[ebp-40h] push edx call SUB_L0048B170 cmp edi,ebx jz L0042EDE2 mov eax,[edi] push 00000001h mov ecx,edi call [eax] L0042EDE2: mov [L006A9DD4],ebx mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L0042EDFB: push ebx push ebx push ebx push ebx push ebx L0042EE00: push 00000051h mov ecx,L006AAA10 call SUB_L004971D0 L0042EE0C: mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L0042EE1F: push 00000000h push 00000000h push 00000000h push 00000000h push 00000000h jmp L0042EE00 db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' push ebp mov ebp,esp mov eax,00004004h call SUB_L0049ACF0 push ebx push esi xor ecx,ecx push edi xor eax,eax lea edx,[ebp-00002004h] lea esi,[ebp-06h] L0042EE4D: mov edi,00000FFFh mov [edx],ax sub edi,eax lea eax,[eax+ecx+02h] mov [esi],di inc ecx add edx,00000002h sub esi,00000002h cmp ecx,00000040h jl L0042EE4D mov edx,00000001h mov esi,00000040h L0042EE74: xor eax,eax L0042EE76: lea ecx,[eax+edx] cmp ecx,00000040h jge L0042EE96 lea ecx,[eax+esi] mov di,[ebp+ecx*2-00002084h] add di,ax add edi,edx mov [ebp+ecx*2-00002004h],di L0042EE96: inc eax cmp eax,00000040h jl L0042EE76 add esi,00000040h inc edx cmp esi,00000FC0h jl L0042EE74 mov edx,0000003Eh mov esi,00000F80h L0042EEB2: mov ecx,0000003Fh L0042EEB7: lea eax,[ecx+edx] cmp eax,00000040h jl L0042EEDB lea eax,[ecx+esi] shl eax,1 mov di,[ebp+eax-00001F84h] add di,cx lea edi,[edi+edx-7Eh] mov [ebp+eax-00002004h],di L0042EEDB: dec ecx jns L0042EEB7 sub esi,00000040h dec edx cmp esi,00000040h jge L0042EEB2 xor eax,eax lea ecx,[ebp-00002004h] L0042EEEF: movsx edx,[ecx] add ecx,00000002h mov [ebp+edx*2-00004004h],ax inc eax cmp eax,00001000h jl L0042EEEF mov eax,[L004DAFA0] lea edi,[ebp-00004004h] mov dword ptr [ebp-04h],00001000h lea ebx,[L004D7F40+eax*4] L0042EF1E: movsx esi,[edi] mov eax,esi mov ecx,esi and eax,0000003Fh sar ecx,06h mov edx,eax add eax,ecx sub edx,ecx cmp edx,FFFFFFE8h jle L0042EF57 cmp edx,00000018h jge L0042EF57 cmp eax,00000018h jle L0042EF57 cmp eax,00000068h jge L0042EF57 mov ecx,[L004DAFA0] mov [ebx],esi inc ecx add ebx,00000004h mov [L004DAFA0],ecx L0042EF57: mov eax,[ebp-04h] add edi,00000002h dec eax mov [ebp-04h],eax jnz L0042EF1E pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 SUB_L0042EF70: mov edx,ecx push edi xor eax,eax mov ecx,00000014h mov edi,L004D7EE8 mov [edx+1Ch],eax mov [edx+18h],eax mov [edx],eax rep stosd mov eax,edx pop edi retn ;------------------------------------------------------------------------------ Align 4 SUB_L0042EF90: push ebp mov ebp,esp sub esp,00000014h mov edx,[L004C7F34] push ebx mov [ebp-04h],ecx push esi mov ecx,[L006BAE7C] push edi call SUB_L00488A00 mov ebx,[ebp+08h] mov eax,[L004DAF44] mov ecx,[ebx+04h] mov esi,[ebx+0Ch] lea edx,[eax+ecx] add eax,esi mov [ebp-10h],edx mov edx,[ebx] mov [ebp-08h],eax mov eax,[L004DAF40] lea edi,[eax+edx] mov [ebp-14h],edi mov edi,[ebx+08h] add eax,edi mov [ebp-0Ch],eax mov eax,[ebp-04h] cmp dword ptr [eax],00000000h jz L0042F02E mov eax,[L004C7F34] mov [ebp+08h],ecx imul eax,ecx add eax,edx mov edx,[L006BAE7C] cmp ecx,esi lea edx,[edx+eax*2] jge L0042F02E L0042EFFD: mov ecx,[ebx+08h] mov eax,[ebx] sub ecx,eax xor eax,eax shl ecx,1 mov esi,ecx mov edi,edx shr ecx,02h rep stosd mov ecx,esi and ecx,00000003h rep stosb mov eax,[L004C7F34] mov ecx,[ebx+0Ch] lea edx,[edx+eax*2] mov eax,[ebp+08h] inc eax cmp eax,ecx mov [ebp+08h],eax jl L0042EFFD L0042F02E: mov eax,[L004DAFA0] mov dword ptr [ebp+08h],00000000h test eax,eax jle L0042F143 mov dword ptr [ebp-04h],L004D7F40 L0042F049: mov ecx,[ebp-04h] mov esi,[L006BDA3C] mov eax,[ecx] mov ecx,[L006BDA38] mov edx,eax add eax,ecx sar edx,06h add edx,esi and eax,0000003Fh and edx,0000003Fh shl edx,06h add edx,eax mov esi,[L006BDA48+edx*4] test esi,esi jz L0042F125 L0042F07D: mov edx,[ebp-08h] mov eax,[esi+08h] cmp edx,eax jl L0042F11A mov eax,[ebp-10h] mov ecx,[esi+10h] cmp eax,ecx jg L0042F11A mov ecx,[ebp-0Ch] mov eax,[esi+04h] cmp ecx,eax jl L0042F11A mov edx,[ebp-14h] mov eax,[esi+0Ch] cmp edx,eax jg L0042F11A mov eax,[esi] mov ecx,esi call [eax+3Ch] test eax,eax jnz L0042F0C2 mov edx,[esi] push ebx mov ecx,esi call [edx+08h] jmp L0042F11A L0042F0C2: mov eax,[esi] mov ecx,esi call [eax+18h] test eax,eax jz L0042F11A mov edx,[L006A9D98] xor ecx,ecx mov cx,[esi+38h] lea eax,[ecx+ecx*4] test dword ptr [edx+eax*8],00020000h jz L0042F11A movsx eax,[esi+3Ah] add eax,ecx push ebx lea ecx,[eax+eax*4] mov edi,[edx+ecx*8] lea eax,[edx+ecx*8] mov edx,edi mov ecx,esi or edx,00000008h mov [eax],edx mov eax,[esi] call [eax+08h] movsx eax,[esi+3Ah] xor ecx,ecx mov cx,[esi+38h] add eax,ecx lea edx,[eax+eax*4] mov eax,[L006A9D98] mov [eax+edx*8],edi L0042F11A: mov esi,[esi+14h] test esi,esi jnz L0042F07D L0042F125: mov eax,[ebp+08h] mov edx,[ebp-04h] mov ecx,[L004DAFA0] inc eax add edx,00000004h cmp eax,ecx mov [ebp+08h],eax mov [ebp-04h],edx jl L0042F049 L0042F143: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 8 SUB_L0042F150: push ebp mov ebp,esp push ecx mov eax,[L004DAF44] push ebx push esi mov esi,[L004DAF40] push edi mov edi,edx mov edx,[ebp+08h] sub edi,esi sub edx,eax mov [ebp-04h],edi test ecx,ecx mov [ebp+08h],edx jz L0042F224 mov ebx,[ebp+0Ch] L0042F17C: mov ecx,[ebp+10h] mov ecx,[ecx] cmp ecx,7FFF7FFFh jz L0042F2C0 mov edx,ecx mov esi,ecx sar edx,16h mov eax,edi and esi,00000FFFh shl ecx,0Ah sub eax,edx sar ecx,16h sub eax,esi test cl,01h jz L0042F1B7 mov eax,[ebp+10h] lea ecx,[eax+esi+04h] mov [ebp+10h],ecx jmp L0042F17C L0042F1B7: mov edx,[ebp+08h] sar ecx,1 sub eax,ecx lea edi,[edx+ecx] mov edx,[ebp+10h] mov ecx,[ebx+0Ch] add edx,00000004h cmp edi,ecx mov [ebp+10h],edx jge L0042F2C0 cmp edi,[ebx+04h] jl L0042F214 xor edx,edx test esi,esi jle L0042F214 L0042F1E0: cmp eax,[ebx+08h] jge L0042F214 cmp eax,[ebx] jl L0042F20E mov ecx,edi mov ebx,[L006BAE7C] imul ecx,[L004C7F34] add ecx,eax lea ecx,[ebx+ecx*2] mov bx,[ecx] shr ebx,1 and ebx,00003DEFh mov [ecx],bx mov ebx,[ebp+0Ch] L0042F20E: inc eax inc edx cmp edx,esi jl L0042F1E0 L0042F214: mov eax,[ebp+10h] mov edi,[ebp-04h] add eax,esi mov [ebp+10h],eax jmp L0042F17C L0042F224: mov edx,[ebp+0Ch] L0042F227: mov ebx,[ebp+10h] mov ecx,[ebx] cmp ecx,7FFF7FFFh jz L0042F2C0 mov esi,ecx mov eax,ecx shl ecx,0Ah sar eax,16h sar ecx,16h and esi,00000FFFh add eax,edi test cl,01h jz L0042F25B lea eax,[ebx+esi+04h] mov [ebp+10h],eax jmp L0042F227 L0042F25B: mov edi,[ebp+08h] add ebx,00000004h sar ecx,1 sub eax,ecx add edi,ecx mov ecx,[edx+0Ch] mov [ebp+10h],ebx cmp edi,ecx jge L0042F2C0 cmp edi,[edx+04h] jl L0042F2B0 xor ebx,ebx test esi,esi jle L0042F2B0 L0042F27C: cmp eax,[edx+08h] jge L0042F2B0 cmp eax,[edx] jl L0042F2AA mov ecx,edi mov edx,[L006BAE7C] imul ecx,[L004C7F34] add ecx,eax lea ecx,[edx+ecx*2] mov dx,[ecx] shr edx,1 and edx,00003DEFh mov [ecx],dx mov edx,[ebp+0Ch] L0042F2AA: inc eax inc ebx cmp ebx,esi jl L0042F27C L0042F2B0: mov eax,[ebp+10h] mov edi,[ebp-04h] add eax,esi mov [ebp+10h],eax jmp L0042F227 L0042F2C0: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 8 SUB_L0042F2D0: push ebp mov ebp,esp sub esp,00000010h mov eax,[L004DAF40] push ebx mov ebx,[ebp+08h] push esi push edi mov edi,[ebp+0Ch] sub ebx,eax mov eax,[L004DAF44] sub edi,eax mov eax,edx and eax,00003FFFh mov [ebp+08h],ebx mov [ebp+0Ch],edi jnz L0042F447 mov edi,[ebp+10h] mov ebx,[ebp+18h] test ecx,ecx jz L0042F3B3 L0042F30E: mov eax,[ebx] cmp eax,7FFF7FFFh jz L0042FBF1 mov ecx,[ebp+08h] mov esi,eax mov edx,eax add ebx,00000004h sar esi,16h shl eax,0Ah sub ecx,esi mov esi,[ebp+0Ch] sar eax,16h add eax,esi and edx,00000FFFh mov esi,eax mov eax,[edi+0Ch] sub ecx,edx cmp esi,eax mov [ebp+18h],ebx jge L0042FBF1 cmp esi,[edi+04h] jl L0042F3AC test edx,edx mov dword ptr [ebp-04h],00000000h jle L0042F3AC lea eax,[edx+ebx] mov [ebp-0Ch],eax L0042F363: cmp ecx,[edi+08h] jge L0042F3AC cmp ecx,[edi] jl L0042F396 mov edi,[ebp-0Ch] xor eax,eax mov ebx,[ebp+14h] mov al,[edi-01h] mov edi,esi imul edi,[L004C7F34] mov ax,[ebx+eax*2] mov ebx,[L006BAE7C] add edi,ecx mov [ebx+edi*2],ax mov edi,[ebp+10h] mov ebx,[ebp+18h] L0042F396: mov eax,[ebp-04h] inc ecx inc eax mov [ebp-04h],eax mov eax,[ebp-0Ch] dec eax mov [ebp-0Ch],eax mov eax,[ebp-04h] cmp eax,edx jl L0042F363 L0042F3AC: add ebx,edx jmp L0042F30E L0042F3B3: mov eax,[ebx] cmp eax,7FFF7FFFh jz L0042FBF1 mov esi,[ebp+08h] mov ecx,eax mov edx,eax add ebx,00000004h sar ecx,16h shl eax,0Ah add ecx,esi mov esi,[ebp+0Ch] sar eax,16h add eax,esi and edx,00000FFFh mov esi,eax mov eax,[edi+0Ch] cmp esi,eax mov [ebp+18h],ebx jge L0042FBF1 cmp esi,[edi+04h] jl L0042F43D xor edi,edi test edx,edx mov [ebp-04h],edi jle L0042F43D mov eax,[ebp+10h] L0042F401: cmp ecx,[eax+08h] jge L0042F43D cmp ecx,[eax] jl L0042F434 xor eax,eax mov al,[edi+ebx] mov edi,esi imul edi,[L004C7F34] mov ebx,[ebp+14h] add edi,ecx mov ax,[ebx+eax*2] mov ebx,[L006BAE7C] mov [ebx+edi*2],ax mov edi,[ebp-04h] mov ebx,[ebp+18h] mov eax,[ebp+10h] L0042F434: inc ecx inc edi cmp edi,edx mov [ebp-04h],edi jl L0042F401 L0042F43D: mov edi,[ebp+10h] add ebx,edx jmp L0042F3B3 L0042F447: test dh,C0h jnz L0042F5CE dec edx test ecx,ecx jz L0042F521 mov ecx,[ebp+10h] L0042F45C: mov eax,[ebp+18h] mov eax,[eax] cmp eax,7FFF7FFFh jz L0042FBF1 mov esi,[ebp+08h] mov ebx,eax mov edi,eax sar ebx,16h shl eax,0Ah sub esi,ebx mov ebx,[ebp+0Ch] sar eax,16h add eax,ebx mov ebx,[ebp+18h] add ebx,00000004h and edi,00000FFFh mov [ebp+18h],ebx mov ebx,[ecx+0Ch] sub esi,edi cmp eax,ebx mov [ebp-08h],eax jge L0042FBF1 cmp eax,[ecx+04h] jl L0042F519 test edi,edi mov dword ptr [ebp-04h],00000000h jle L0042F519 mov eax,[ebp+18h] add eax,edi mov [ebp-0Ch],eax L0042F4BA: cmp esi,[ecx+08h] jge L0042F519 cmp esi,[ecx] jl L0042F506 mov eax,[ebp-0Ch] mov ebx,[ebp+14h] xor ecx,ecx mov cl,[eax-01h] xor eax,eax mov ax,[ebx+ecx*2] mov cl,[L004D0738] shr eax,cl lea ecx,[edx+edx*4] mov ebx,[L006BAE7C] lea ecx,[edx+ecx*2] lea eax,[eax+ecx*4] mov ecx,[ebp-08h] imul ecx,[L004C7F34] mov ax,[L006C1A48+eax*2] add ecx,esi mov [ebx+ecx*2],ax mov ecx,[ebp+10h] L0042F506: mov eax,[ebp-04h] mov ebx,[ebp-0Ch] inc esi inc eax dec ebx cmp eax,edi mov [ebp-04h],eax mov [ebp-0Ch],ebx jl L0042F4BA L0042F519: add [ebp+18h],edi jmp L0042F45C L0042F521: mov ebx,[ebp+10h] mov ecx,[ebp+18h] L0042F527: mov eax,[ecx] cmp eax,7FFF7FFFh jz L0042FBF1 mov edi,eax mov esi,eax shl eax,0Ah sar eax,16h add eax,[ebp+0Ch] and edi,00000FFFh sar esi,16h add esi,[ebp+08h] add ecx,00000004h cmp eax,[ebx+0Ch] mov [ebp-08h],eax mov [ebp+18h],ecx jge L0042FBF1 cmp eax,[ebx+04h] jl L0042F5C7 xor eax,eax test edi,edi mov [ebp-04h],eax jle L0042F5C7 L0042F56D: cmp esi,[ebx+08h] jge L0042F5C7 cmp esi,[ebx] jl L0042F5BE xor ebx,ebx mov bl,[eax+ecx] mov eax,[ebp+14h] xor ecx,ecx mov cx,[eax+ebx*2] mov ebx,[L006BAE7C] mov eax,ecx mov cl,[L004D0738] shr eax,cl lea ecx,[edx+edx*4] lea ecx,[edx+ecx*2] lea eax,[eax+ecx*4] mov ecx,[ebp-08h] imul ecx,[L004C7F34] mov ax,[L006C1A48+eax*2] add ecx,esi mov [ebx+ecx*2],ax mov eax,[ebp-04h] mov ebx,[ebp+10h] mov ecx,[ebp+18h] L0042F5BE: inc esi inc eax cmp eax,edi mov [ebp-04h],eax jl L0042F56D L0042F5C7: add ecx,edi jmp L0042F527 L0042F5CE: test dh,40h jnz L0042F77D dec eax test ecx,ecx mov ecx,[ebp+10h] mov [ebp-10h],eax jz L0042F6C6 mov edi,[ebp+18h] L0042F5E9: mov eax,[edi] cmp eax,7FFF7FFFh jz L0042FBF1 mov edx,[ebp+08h] mov ebx,eax mov esi,eax add edi,00000004h sar ebx,16h shl eax,0Ah sub edx,ebx mov ebx,[ebp+0Ch] sar eax,16h and esi,00000FFFh add eax,ebx mov ebx,[ecx+0Ch] sub edx,esi cmp eax,ebx mov [ebp+18h],edi jge L0042FBF1 cmp eax,[ecx+04h] jl L0042F6BF test esi,esi mov dword ptr [ebp-04h],00000000h jle L0042F6BF lea ebx,[esi+edi] mov [ebp-0Ch],ebx L0042F644: cmp edx,[ecx+08h] jge L0042F6BF cmp edx,[ecx] jl L0042F6A9 mov edi,[ebp-0Ch] mov ebx,[ebp+14h] xor ecx,ecx mov cl,[edi-01h] mov edi,ecx xor ecx,ecx mov cx,[ebx+edi*2] mov edi,ecx mov ebx,ecx and edi,000003FFh sar ebx,05h xor edi,ebx jnz L0042F68E mov edi,ecx mov ecx,[ebp-10h] sar edi,0Ah lea ebx,[ecx+ecx*4] lea ecx,[ecx+ebx*2] lea ecx,[edi+ecx*4] xor edi,edi mov di,[L006C1A48+ecx*2] mov ecx,edi L0042F68E: mov edi,eax mov ebx,[L006BAE7C] imul edi,[L004C7F34] add edi,edx mov [ebx+edi*2],cx mov edi,[ebp+18h] mov ecx,[ebp+10h] L0042F6A9: mov ebx,[ebp-04h] inc edx inc ebx mov [ebp-04h],ebx mov ebx,[ebp-0Ch] dec ebx mov [ebp-0Ch],ebx mov ebx,[ebp-04h] cmp ebx,esi jl L0042F644 L0042F6BF: add edi,esi jmp L0042F5E9 L0042F6C6: mov ebx,[ebp+18h] L0042F6C9: mov eax,[ebx] cmp eax,7FFF7FFFh jz L0042FBF1 mov edi,[ebp+08h] mov edx,eax mov esi,eax add ebx,00000004h sar edx,16h shl eax,0Ah add edx,edi mov edi,[ebp+0Ch] sar eax,16h add eax,edi mov edi,[ecx+0Ch] and esi,00000FFFh cmp eax,edi mov [ebp-08h],eax mov [ebp+18h],ebx jge L0042FBF1 cmp eax,[ecx+04h] jl L0042F776 xor edi,edi test esi,esi jle L0042F776 L0042F712: cmp edx,[ecx+08h] jge L0042F776 cmp edx,[ecx] jl L0042F770 xor eax,eax xor ecx,ecx mov al,[edi+ebx] mov ebx,[ebp+14h] mov cx,[ebx+eax*2] mov eax,ecx mov ebx,ecx and eax,000003FFh sar ebx,05h xor eax,ebx jnz L0042F754 mov eax,[ebp-10h] sar ecx,0Ah lea ebx,[eax+eax*4] lea eax,[eax+ebx*2] lea ecx,[ecx+eax*4] xor eax,eax mov ax,[L006C1A48+ecx*2] mov ecx,eax L0042F754: mov eax,[ebp-08h] mov ebx,[L006BAE7C] imul eax,[L004C7F34] add eax,edx mov [ebx+eax*2],cx mov ecx,[ebp+10h] mov ebx,[ebp+18h] L0042F770: inc edx inc edi cmp edi,esi jl L0042F712 L0042F776: add ebx,esi jmp L0042F6C9 L0042F77D: test dh,80h jnz L0042F98A mov esi,[ebp+10h] test ecx,ecx jz L0042F899 mov edi,[ebp+18h] L0042F794: mov eax,[edi] cmp eax,7FFF7FFFh jz L0042FBF1 mov edx,[ebp+08h] mov ebx,eax mov ecx,eax add edi,00000004h sar ebx,16h shl eax,0Ah sub edx,ebx mov ebx,[ebp+0Ch] sar eax,16h and ecx,00000FFFh add eax,ebx mov ebx,[esi+0Ch] sub edx,ecx cmp eax,ebx mov [ebp-0Ch],ecx mov [ebp-08h],eax mov [ebp+18h],edi jge L0042FBF1 cmp eax,[esi+04h] jl L0042F892 test ecx,ecx mov dword ptr [ebp-04h],00000000h jle L0042F892 lea ebx,[ecx+edi] mov [ebp-10h],ebx L0042F7F5: cmp edx,[esi+08h] jge L0042F892 cmp edx,[esi] jl L0042F878 imul eax,[L004C7F34] mov ecx,[L006BAE7C] mov edi,[ebp+14h] add eax,edx lea esi,[ecx+eax*2] mov ecx,[ebp-10h] xor eax,eax mov al,[ecx-01h] xor ecx,ecx mov cx,[edi+eax*2] mov eax,00000017h shr ecx,0Ah sub eax,ecx jns L0042F833 xor eax,eax L0042F833: xor ecx,ecx mov cx,[esi] shl eax,05h mov edi,ecx mov ebx,ecx add eax,L00716CF8 and ecx,0000001Fh shr edi,05h shr ebx,0Ah and edi,0000001Fh movzx bx,[ebx+eax] movzx di,[edi+eax] movzx ax,[ecx+eax] shl ebx,05h mov ecx,[ebp-0Ch] or edi,ebx shl edi,05h or edi,eax mov eax,[ebp-08h] mov [esi],di mov esi,[ebp+10h] mov edi,[ebp+18h] L0042F878: mov ebx,[ebp-04h] inc edx inc ebx mov [ebp-04h],ebx mov ebx,[ebp-10h] dec ebx mov [ebp-10h],ebx mov ebx,[ebp-04h] cmp ebx,ecx jl L0042F7F5 L0042F892: add edi,ecx jmp L0042F794 L0042F899: mov ebx,[ebp+18h] L0042F89C: mov eax,[ebx] cmp eax,7FFF7FFFh jz L0042FBF1 mov edi,[ebp+08h] mov edx,eax mov ecx,eax add ebx,00000004h sar edx,16h shl eax,0Ah add edx,edi mov edi,[ebp+0Ch] sar eax,16h add eax,edi mov edi,[esi+0Ch] and ecx,00000FFFh cmp eax,edi mov [ebp-0Ch],ecx mov [ebp-08h],eax mov [ebp+18h],ebx jge L0042FBF1 cmp eax,[esi+04h] jl L0042F983 xor edi,edi test ecx,ecx mov [ebp-04h],edi jle L0042F983 L0042F8F3: cmp edx,[esi+08h] jge L0042F983 cmp edx,[esi] jl L0042F976 imul eax,[L004C7F34] mov ecx,[L006BAE7C] add eax,edx lea esi,[ecx+eax*2] xor eax,eax mov al,[edi+ebx] mov edi,[ebp+14h] xor ecx,ecx mov cx,[edi+eax*2] mov eax,00000017h shr ecx,0Ah sub eax,ecx jns L0042F92E xor eax,eax L0042F92E: xor ecx,ecx mov cx,[esi] shl eax,05h mov edi,ecx mov ebx,ecx add eax,L00716CF8 and ecx,0000001Fh shr edi,0Ah shr ebx,05h movzx di,[edi+eax] and ebx,0000001Fh shl edi,05h movzx bx,[ebx+eax] movzx ax,[ecx+eax] mov ecx,[ebp-0Ch] or edi,ebx mov ebx,[ebp+18h] shl edi,05h or edi,eax mov eax,[ebp-08h] mov [esi],di mov esi,[ebp+10h] mov edi,[ebp-04h] L0042F976: inc edx inc edi cmp edi,ecx mov [ebp-04h],edi jl L0042F8F3 L0042F983: add ebx,ecx jmp L0042F89C L0042F98A: test ecx,ecx jz L0042FACA mov ecx,[ebp+10h] L0042F995: mov edi,[ebp+18h] mov eax,[edi] cmp eax,7FFF7FFFh jz L0042FBF1 mov edx,[ebp+08h] mov ebx,eax mov esi,eax add edi,00000004h sar ebx,16h shl eax,0Ah sub edx,ebx mov ebx,[ebp+0Ch] sar eax,16h and esi,00000FFFh add eax,ebx mov ebx,[ecx+0Ch] sub edx,esi cmp eax,ebx mov [ebp-0Ch],esi mov [ebp-08h],eax mov [ebp+18h],edi jge L0042FBF1 cmp eax,[ecx+04h] jl L0042FAC2 test esi,esi mov dword ptr [ebp-04h],00000000h jle L0042FAC2 add edi,esi mov [ebp-10h],edi L0042F9F8: cmp edx,[ecx+08h] jge L0042FAC2 cmp edx,[ecx] jl L0042FAAB mov edi,[ebp-10h] mov ebx,[ebp+14h] xor ecx,ecx mov cl,[edi-01h] mov edi,ecx xor ecx,ecx mov cx,[ebx+edi*2] mov edi,ecx mov ebx,ecx and edi,000003FFh sar ebx,05h xor edi,ebx jnz L0042FA93 imul eax,[L004C7F34] mov esi,[L006BAE7C] add eax,edx sar ecx,0Ah lea esi,[esi+eax*2] mov eax,00000017h sub eax,ecx jns L0042FA4D xor eax,eax L0042FA4D: shl eax,05h add eax,L00716CF8 mov ecx,eax xor eax,eax mov ax,[esi] mov edi,eax mov ebx,eax shr edi,0Ah shr ebx,05h movzx di,[edi+ecx] and ebx,0000001Fh and eax,0000001Fh shl edi,05h movzx bx,[ebx+ecx] movzx ax,[eax+ecx] mov ecx,[ebp+10h] or edi,ebx shl edi,05h or edi,eax mov eax,[ebp-08h] mov [esi],di mov esi,[ebp-0Ch] jmp L0042FAAB L0042FA93: mov edi,eax mov ebx,[L006BAE7C] imul edi,[L004C7F34] add edi,edx mov [ebx+edi*2],cx mov ecx,[ebp+10h] L0042FAAB: mov edi,[ebp-04h] mov ebx,[ebp-10h] inc edx inc edi dec ebx cmp edi,esi mov [ebp-04h],edi mov [ebp-10h],ebx jl L0042F9F8 L0042FAC2: add [ebp+18h],esi jmp L0042F995 L0042FACA: mov edi,[ebp+10h] L0042FACD: mov ecx,[ebp+18h] mov eax,[ecx] cmp eax,7FFF7FFFh jz L0042FBF1 mov esi,[ebp+0Ch] mov ebx,[ebp+08h] mov ecx,eax mov edx,eax shl eax,0Ah sar eax,16h sar edx,16h add eax,esi add edx,ebx mov ebx,[ebp+18h] mov esi,eax mov eax,[edi+0Ch] and ecx,00000FFFh add ebx,00000004h cmp esi,eax mov [ebp-0Ch],ecx mov [ebp-08h],esi mov [ebp+18h],ebx jge L0042FBF1 cmp esi,[edi+04h] jl L0042FBE9 xor eax,eax test ecx,ecx mov [ebp-04h],eax jle L0042FBE9 L0042FB2C: cmp edx,[edi+08h] jge L0042FBE9 cmp edx,[edi] jl L0042FBD9 mov edi,[ebp+18h] xor ebx,ebx mov bl,[eax+edi] mov edi,[ebp+14h] xor eax,eax mov ax,[edi+ebx*2] mov edi,eax mov ebx,eax and edi,000003FFh sar ebx,05h xor edi,ebx jnz L0042FBC1 imul esi,[L004C7F34] mov ecx,[L006BAE7C] add esi,edx sar eax,0Ah lea esi,[ecx+esi*2] mov ecx,00000017h sub ecx,eax jns L0042FB7F xor ecx,ecx L0042FB7F: xor eax,eax mov ax,[esi] shl ecx,05h mov edi,eax mov ebx,eax add ecx,L00716CF8 and eax,0000001Fh shr edi,05h shr ebx,0Ah movzx ax,[eax+ecx] movzx bx,[ebx+ecx] and edi,0000001Fh shl ebx,05h movzx di,[edi+ecx] mov ecx,[ebp-0Ch] or edi,ebx shl edi,05h or edi,eax mov [esi],di mov esi,[ebp-08h] jmp L0042FBD6 L0042FBC1: mov edi,esi mov ebx,[L006BAE7C] imul edi,[L004C7F34] add edi,edx mov [ebx+edi*2],ax L0042FBD6: mov edi,[ebp+10h] L0042FBD9: mov eax,[ebp-04h] inc edx inc eax cmp eax,ecx mov [ebp-04h],eax jl L0042FB2C L0042FBE9: add [ebp+18h],ecx jmp L0042FACD L0042FBF1: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0014h ;------------------------------------------------------------------------------ Align 8 SUB_L0042FC00: push ebp mov ebp,esp push ecx mov eax,[ebp+08h] push ebx mov ebx,[ebp+10h] push esi test eax,eax push edi mov [ebp-04h],ecx jz L0042FC5C mov edi,[ebp+14h] L0042FC17: mov eax,[edi] cmp eax,7FFF7FFFh jz L0042FC99 mov esi,[ebp+0Ch] mov edi,eax mov ecx,eax and edi,00000FFFh shl eax,0Ah sar ecx,16h sar eax,16h sub esi,ecx add eax,ebx sub esi,edi cmp eax,edx jg L0042FC99 jnz L0042FC50 mov eax,[ebp-04h] cmp esi,eax jg L0042FC50 lea ecx,[edi+esi] cmp ecx,eax jg L0042FCA4 L0042FC50: mov eax,[ebp+14h] lea edi,[eax+edi+04h] mov [ebp+14h],edi jmp L0042FC17 L0042FC5C: mov ecx,[ebp+14h] L0042FC5F: mov eax,[ecx] cmp eax,7FFF7FFFh jz L0042FC99 mov edi,eax mov esi,eax shl eax,0Ah sar eax,16h sar esi,16h add esi,[ebp+0Ch] add eax,ebx and edi,00000FFFh cmp eax,edx jg L0042FC99 jnz L0042FC93 mov eax,[ebp-04h] cmp esi,eax jg L0042FC93 add esi,edi cmp esi,eax jg L0042FCA4 L0042FC93: lea ecx,[ecx+edi+04h] jmp L0042FC5F L0042FC99: xor eax,eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0010h ;------------------------------------------------------------------------------ L0042FCA4: pop edi pop esi mov eax,00000001h pop ebx mov esp,ebp pop ebp retn 0010h ;------------------------------------------------------------------------------ Align 16 SUB_L0042FCC0: mov eax,ecx xor ecx,ecx mov dword ptr [eax],L004B9C50 mov [eax+18h],ecx mov [eax+14h],ecx mov [eax+1Ch],ecx retn ;------------------------------------------------------------------------------ Align 16 L0042FCE0: db 85h; ':' db C9h; '‰' db 74h; 't' db 06h; db 8Bh; '<' db 01h; db 6Ah; 'j' db 01h; db FFh; 'ï' db 10h; db C3h; 'ƒ' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' L0042FCF0: push ebp mov ebp,esp push esi mov esi,ecx call SUB_L0042FD20 test byte ptr [ebp+08h],01h jz L0042FD0A push esi call SUB_L0049A810 add esp,00000004h L0042FD0A: mov eax,esi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L0042FD20: push ebp mov ebp,esp push FFFFFFFFh push L004B2A9B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000014h push esi mov esi,ecx push edi mov [ebp-10h],esi mov dword ptr [esi],L004B9C50 mov eax,[esi+1Ch] xor edi,edi cmp eax,edi mov [ebp-04h],edi jz L0042FDD9 call [L004B9C8C] test eax,eax jnz L0042FD99 cmp [esi+1Ch],edi jz L0042FD99 mov ecx,[esi+08h] mov eax,[L004DAF44] mov edx,[esi+10h] sub ecx,eax mov [ebp-1Ch],ecx mov ecx,[esi+04h] sub edx,eax mov eax,[L004DAF40] mov [ebp-14h],edx mov edx,[esi+0Ch] sub ecx,eax sub edx,eax mov [ebp-20h],ecx lea ecx,[ebp-20h] mov [ebp-18h],edx call SUB_L00459960 L0042FD99: mov eax,[esi+14h] cmp eax,edi jz L0042FDA6 mov ecx,[esi+18h] mov [eax+18h],ecx L0042FDA6: mov eax,[esi+18h] cmp eax,edi jz L0042FDB5 mov edx,[esi+14h] mov [eax+14h],edx jmp L0042FDD0 L0042FDB5: mov al,[esi+22h] mov cl,[esi+20h] mov edx,[esi+14h] and eax,0000003Fh shl eax,06h and ecx,0000003Fh add eax,ecx mov [L006BDA48+eax*4],edx L0042FDD0: mov [esi+1Ch],edi mov [esi+18h],edi mov [esi+14h],edi L0042FDD9: mov ecx,[ebp-0Ch] pop edi mov fs:[00000000h],ecx pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 SUB_L0042FDF0: push ebp mov ebp,esp sub esp,00000010h push esi mov esi,ecx mov eax,[esi] call [eax+3Ch] test eax,eax jnz L0042FE3B mov eax,[esi+1Ch] test eax,eax jz L0042FE3B mov ecx,[esi+08h] mov eax,[L004DAF44] mov edx,[esi+10h] sub ecx,eax mov [ebp-0Ch],ecx mov ecx,[esi+04h] sub edx,eax mov eax,[L004DAF40] mov [ebp-04h],edx mov edx,[esi+0Ch] sub ecx,eax sub edx,eax mov [ebp-10h],ecx lea ecx,[ebp-10h] mov [ebp-08h],edx call SUB_L00459960 L0042FE3B: mov eax,[esi+14h] test eax,eax jz L0042FE48 mov ecx,[esi+18h] mov [eax+18h],ecx L0042FE48: mov eax,[esi+18h] test eax,eax jz L0042FE57 mov edx,[esi+14h] mov [eax+14h],edx jmp L0042FE72 L0042FE57: mov al,[esi+22h] mov cl,[esi+20h] mov edx,[esi+14h] and eax,0000003Fh shl eax,06h and ecx,0000003Fh add eax,ecx mov [L006BDA48+eax*4],edx L0042FE72: mov dword ptr [esi+1Ch],00000000h mov dword ptr [esi+18h],00000000h mov dword ptr [esi+14h],00000000h pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 L0042FE90: push ebp mov ebp,esp sub esp,00000010h push esi mov esi,ecx mov ecx,[esi+000000B0h] test ecx,ecx jz L0042FEB2 L0042FEA3: mov eax,[ecx] call [eax+04h] mov ecx,[esi+000000B0h] test ecx,ecx jnz L0042FEA3 L0042FEB2: mov edx,[esi] mov ecx,esi call [edx+3Ch] test eax,eax jnz L0042FEF6 mov eax,[esi+1Ch] test eax,eax jz L0042FEF6 mov ecx,[esi+08h] mov eax,[L004DAF44] mov edx,[esi+10h] sub ecx,eax mov [ebp-0Ch],ecx mov ecx,[esi+04h] sub edx,eax mov eax,[L004DAF40] mov [ebp-04h],edx mov edx,[esi+0Ch] sub ecx,eax sub edx,eax mov [ebp-10h],ecx lea ecx,[ebp-10h] mov [ebp-08h],edx call SUB_L00459960 L0042FEF6: mov eax,[esi+14h] test eax,eax jz L0042FF03 mov ecx,[esi+18h] mov [eax+18h],ecx L0042FF03: mov eax,[esi+18h] test eax,eax jz L0042FF12 mov edx,[esi+14h] mov [eax+14h],edx jmp L0042FF39 L0042FF12: mov eax,[esi+000000B8h] mov dx,[esi+22h] mov cx,[esi+20h] sub edx,eax add ecx,eax mov eax,[esi+14h] and edx,0000003Fh and ecx,0000003Fh shl edx,06h add ecx,edx mov [L006BDA48+ecx*4],eax L0042FF39: mov dword ptr [esi+1Ch],00000000h mov dword ptr [esi+18h],00000000h mov dword ptr [esi+14h],00000000h pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L0042FF60: push ebp mov ebp,esp sub esp,00000010h push esi mov esi,ecx mov eax,[esi+1Ch] test eax,eax jz L00430049 mov ecx,[esi+000000B0h] test ecx,ecx jz L0042FF8D L0042FF7E: mov eax,[ecx] call [eax+04h] mov ecx,[esi+000000B0h] test ecx,ecx jnz L0042FF7E L0042FF8D: mov edx,[esi] mov ecx,esi call [edx+3Ch] test eax,eax jnz L0042FFD1 mov eax,[esi+1Ch] test eax,eax jz L0042FFD1 mov ecx,[esi+08h] mov eax,[L004DAF44] mov edx,[esi+10h] sub ecx,eax mov [ebp-0Ch],ecx mov ecx,[esi+04h] sub edx,eax mov eax,[L004DAF40] mov [ebp-04h],edx mov edx,[esi+0Ch] sub ecx,eax sub edx,eax mov [ebp-10h],ecx lea ecx,[ebp-10h] mov [ebp-08h],edx call SUB_L00459960 L0042FFD1: mov eax,[esi+14h] test eax,eax jz L0042FFDE mov ecx,[esi+18h] mov [eax+18h],ecx L0042FFDE: mov eax,[esi+18h] test eax,eax jz L0042FFED mov edx,[esi+14h] mov [eax+14h],edx jmp L00430034 L0042FFED: mov ecx,[esi+0000013Ch] movsx edx,[esi+20h] movsx eax,[esi+22h] test ecx,ecx jz CASE_00430050_PROC0002 xor ecx,ecx mov cl,[esi+6Eh] cmp ecx,00000007h ja CASE_00430050_PROC0002 jmp [CASE_PROCTABLE_00430050+ecx*4] CASE_00430050_PROC0005: inc edx jmp CASE_00430050_PROC0002 CASE_00430050_PROC0007: inc edx CASE_00430050_PROC0000: inc eax CASE_00430050_PROC0002: mov ecx,[esi+000000B8h] sub eax,ecx add edx,ecx mov ecx,[esi+14h] and eax,0000003Fh shl eax,06h and edx,0000003Fh add eax,edx mov [L006BDA48+eax*4],ecx L00430034: mov dword ptr [esi+1Ch],00000000h mov dword ptr [esi+18h],00000000h mov dword ptr [esi+14h],00000000h L00430049: pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_00430050: dd CASE_00430050_PROC0000 dd CASE_00430050_PROC0000 dd CASE_00430050_PROC0002 dd CASE_00430050_PROC0002 dd CASE_00430050_PROC0002 dd CASE_00430050_PROC0005 dd CASE_00430050_PROC0005 dd CASE_00430050_PROC0007 L00430070: push ebp mov ebp,esp sub esp,00000010h push esi mov esi,ecx mov eax,[esi+1Ch] test eax,eax jz L0043015A mov ecx,[esi+000000B0h] test ecx,ecx jz L0043009D L0043008E: mov eax,[ecx] call [eax+04h] mov ecx,[esi+000000B0h] test ecx,ecx jnz L0043008E L0043009D: mov edx,[esi] mov ecx,esi call [edx+3Ch] test eax,eax jnz L004300E1 mov eax,[esi+1Ch] test eax,eax jz L004300E1 mov ecx,[esi+08h] mov eax,[L004DAF44] mov edx,[esi+10h] sub ecx,eax mov [ebp-0Ch],ecx mov ecx,[esi+04h] sub edx,eax mov eax,[L004DAF40] mov [ebp-04h],edx mov edx,[esi+0Ch] sub ecx,eax sub edx,eax mov [ebp-10h],ecx lea ecx,[ebp-10h] mov [ebp-08h],edx call SUB_L00459960 L004300E1: mov eax,[esi+14h] test eax,eax jz L004300EE mov ecx,[esi+18h] mov [eax+18h],ecx L004300EE: mov eax,[esi+18h] test eax,eax jz L004300FD mov edx,[esi+14h] mov [eax+14h],edx jmp L00430145 L004300FD: mov ecx,[L006695A0] movsx edx,[esi+20h] movsx eax,[esi+22h] test ecx,ecx jz L00430126 xor ecx,ecx mov cl,[esi+6Eh] dec ecx cmp ecx,00000004h ja L00430126 jmp [CASE_PROCTABLE_00430160+ecx*4] CASE_00430160_PROC0000: inc edx jmp L00430126 CASE_00430160_PROC0002: inc edx CASE_00430160_PROC0003: inc eax L00430126: mov ecx,[esi+000000B8h] sub eax,ecx add edx,ecx mov ecx,[esi+14h] and eax,0000003Fh shl eax,06h and edx,0000003Fh add eax,edx mov [L006BDA48+eax*4],ecx L00430145: mov dword ptr [esi+1Ch],00000000h mov dword ptr [esi+18h],00000000h mov dword ptr [esi+14h],00000000h L0043015A: pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_00430160: dd CASE_00430160_PROC0000 dd CASE_00430160_PROC0000 dd CASE_00430160_PROC0002 dd CASE_00430160_PROC0003 dd CASE_00430160_PROC0003 Align 16 SUB_L00430180: push ebp mov ebp,esp sub esp,00000010h push ebx push esi mov esi,ecx push edi mov eax,[esi] mov dword ptr [esi+1Ch],00000001h call [eax+0Ch] mov edi,[ebp+08h] mov edx,[esi+000000B8h] mov ecx,[edi] add ecx,edx and ecx,0000003Fh mov [edi],ecx mov ecx,[ebp+0Ch] mov ebx,[esi+000000B8h] mov eax,[ecx] sub eax,ebx and eax,0000003Fh mov [ecx],eax mov ecx,[edi] shl eax,06h lea edx,[eax+ecx] mov ecx,[L006BDA48+edx*4] xor edx,edx test ecx,ecx jz L004301E1 mov ebx,[esi+30h] L004301D3: cmp [ecx+30h],ebx jg L004301E1 mov edx,ecx mov ecx,[ecx+14h] test ecx,ecx jnz L004301D3 L004301E1: test edx,edx jz L004301FD mov [esi+18h],edx mov eax,[edx+14h] mov [esi+14h],eax mov [edx+14h],esi mov eax,[esi+14h] test eax,eax jz L0043022C mov [eax+18h],esi jmp L0043022C L004301FD: mov ecx,[edi] add eax,ecx mov eax,[L006BDA48+eax*4] test eax,eax mov [esi+14h],eax jz L00430212 mov [eax+18h],esi L00430212: mov ecx,[ebp+0Ch] mov eax,[edi] mov edx,[ecx] shl edx,06h add edx,eax mov [L006BDA48+edx*4],esi mov dword ptr [esi+18h],00000000h L0043022C: mov eax,[esi] mov ecx,esi call [eax+3Ch] test eax,eax jnz L00430270 mov eax,[esi+1Ch] test eax,eax jz L00430270 mov ecx,[esi+08h] mov eax,[L004DAF44] mov edx,[esi+10h] sub ecx,eax mov [ebp-0Ch],ecx mov ecx,[esi+04h] sub edx,eax mov eax,[L004DAF40] mov [ebp-04h],edx mov edx,[esi+0Ch] sub ecx,eax sub edx,eax mov [ebp-10h],ecx lea ecx,[ebp-10h] mov [ebp-08h],edx call SUB_L00459960 L00430270: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 8 SUB_L00430280: push ebp mov ebp,esp sub esp,00000014h push ebx push esi mov esi,ecx push edi movsx edi,[esi+22h] movsx ebx,[esi+20h] movsx eax,[esi+24h] lea ecx,[ebx+edi] mov [esi+30h],eax mov eax,[esi] mov [esi+2Ch],ecx mov edx,[L006AABAC] mov ecx,esi sub edx,edi add edx,ebx mov [esi+28h],edx call [eax+30h] test eax,eax jz L004302C8 mov eax,[esi+000000B8h] add ebx,eax sub edi,eax and ebx,0000003Fh and edi,0000003Fh L004302C8: and edi,0000003Fh and ebx,0000003Fh shl edi,06h add edi,ebx xor ebx,ebx lea edi,[L006BDA48+edi*4] mov [ebp-04h],edi mov edi,[edi] test edi,edi jz L00430303 L004302E5: mov ecx,[edi+30h] mov eax,[esi+30h] cmp ecx,eax jg L00430303 mov edx,[esi] mov ecx,esi call [edx+1Ch] test eax,eax jnz L00430303 mov ebx,edi mov edi,[edi+14h] test edi,edi jnz L004302E5 L00430303: test ebx,ebx jz L0043031F mov [esi+18h],ebx mov eax,[ebx+14h] mov [esi+14h],eax mov [ebx+14h],esi mov eax,[esi+14h] test eax,eax jz L00430337 mov [eax+18h],esi jmp L00430337 L0043031F: mov ecx,[ebp-04h] mov eax,[ecx] test eax,eax mov [esi+14h],eax jz L0043032E mov [eax+18h],esi L0043032E: mov [ecx],esi mov dword ptr [esi+18h],00000000h L00430337: mov edx,[esi] mov ecx,esi mov dword ptr [esi+1Ch],00000001h call [edx+0Ch] mov eax,[esi] mov ecx,esi call [eax+3Ch] test eax,eax jnz L00430389 mov eax,[esi+1Ch] test eax,eax jz L00430389 mov ecx,[esi+08h] mov eax,[L004DAF44] mov edx,[esi+10h] sub ecx,eax mov [ebp-10h],ecx mov ecx,[esi+04h] sub edx,eax mov eax,[L004DAF40] mov [ebp-08h],edx mov edx,[esi+0Ch] sub ecx,eax sub edx,eax mov [ebp-14h],ecx lea ecx,[ebp-14h] mov [ebp-0Ch],edx call SUB_L00459960 L00430389: pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00430390: push ebp mov ebp,esp sub esp,00000014h push ebx push esi mov esi,ecx push edi movsx edi,[esi+22h] movsx ebx,[esi+20h] movsx eax,[esi+24h] dec eax lea ecx,[ebx+edi] mov [esi+30h],eax mov eax,[esi] mov [esi+2Ch],ecx mov edx,[L006AABAC] sub edx,edi mov ecx,esi add edx,ebx mov [esi+28h],edx call [eax+30h] test eax,eax jz L004303D9 mov eax,[esi+000000B8h] add ebx,eax sub edi,eax and ebx,0000003Fh and edi,0000003Fh L004303D9: and edi,0000003Fh and ebx,0000003Fh shl edi,06h add edi,ebx xor ebx,ebx lea edi,[L006BDA48+edi*4] mov [ebp-04h],edi mov edi,[edi] test edi,edi jz L00430414 L004303F6: mov ecx,[edi+30h] mov eax,[esi+30h] cmp ecx,eax jg L00430414 mov edx,[esi] mov ecx,esi call [edx+1Ch] test eax,eax jnz L00430414 mov ebx,edi mov edi,[edi+14h] test edi,edi jnz L004303F6 L00430414: test ebx,ebx jz L00430430 mov [esi+18h],ebx mov eax,[ebx+14h] mov [esi+14h],eax mov [ebx+14h],esi mov eax,[esi+14h] test eax,eax jz L00430448 mov [eax+18h],esi jmp L00430448 L00430430: mov ecx,[ebp-04h] mov eax,[ecx] test eax,eax mov [esi+14h],eax jz L0043043F mov [eax+18h],esi L0043043F: mov [ecx],esi mov dword ptr [esi+18h],00000000h L00430448: mov edx,[esi] mov ecx,esi mov dword ptr [esi+1Ch],00000001h call [edx+0Ch] mov eax,[esi] mov ecx,esi call [eax+3Ch] test eax,eax jnz L0043049A mov eax,[esi+1Ch] test eax,eax jz L0043049A mov ecx,[esi+08h] mov eax,[L004DAF44] mov edx,[esi+10h] sub ecx,eax mov [ebp-10h],ecx mov ecx,[esi+04h] sub edx,eax mov eax,[L004DAF40] mov [ebp-08h],edx mov edx,[esi+0Ch] sub ecx,eax sub edx,eax mov [ebp-14h],ecx lea ecx,[ebp-14h] mov [ebp-0Ch],edx call SUB_L00459960 L0043049A: pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 L004304B0: push ebp mov ebp,esp sub esp,00000014h push ebx push esi mov esi,ecx push edi mov eax,[esi] call [eax+44h] movsx ebx,[esi+20h] movsx edi,[esi+22h] movsx ecx,ax dec ecx lea edx,[edi+ebx] mov [esi+30h],ecx mov [esi+2Ch],edx mov eax,[L006AABAC] mov edx,[esi] sub eax,edi mov ecx,esi add eax,ebx mov [esi+28h],eax call [edx+30h] test eax,eax jz L004304FC mov eax,[esi+000000B8h] add ebx,eax sub edi,eax and ebx,0000003Fh and edi,0000003Fh L004304FC: and edi,0000003Fh and ebx,0000003Fh shl edi,06h add edi,ebx xor ebx,ebx lea edi,[L006BDA48+edi*4] mov [ebp-04h],edi mov edi,[edi] test edi,edi jz L00430537 L00430519: mov eax,[edi+30h] mov ecx,[esi+30h] cmp eax,ecx jg L00430537 mov edx,[esi] mov ecx,esi call [edx+1Ch] test eax,eax jnz L00430537 mov ebx,edi mov edi,[edi+14h] test edi,edi jnz L00430519 L00430537: test ebx,ebx jz L00430553 mov [esi+18h],ebx mov eax,[ebx+14h] mov [esi+14h],eax mov [ebx+14h],esi mov eax,[esi+14h] test eax,eax jz L0043056B mov [eax+18h],esi jmp L0043056B L00430553: mov ecx,[ebp-04h] mov eax,[ecx] test eax,eax mov [esi+14h],eax jz L00430562 mov [eax+18h],esi L00430562: mov [ecx],esi mov dword ptr [esi+18h],00000000h L0043056B: mov edx,[esi] mov ecx,esi mov dword ptr [esi+1Ch],00000001h call [edx+0Ch] mov eax,[esi] mov ecx,esi call [eax+3Ch] test eax,eax jnz L004305BD mov eax,[esi+1Ch] test eax,eax jz L004305BD mov ecx,[esi+08h] mov eax,[L004DAF44] mov edx,[esi+10h] sub ecx,eax mov [ebp-10h],ecx mov ecx,[esi+04h] sub edx,eax mov eax,[L004DAF40] mov [ebp-08h],edx mov edx,[esi+0Ch] sub ecx,eax sub edx,eax mov [ebp-14h],ecx lea ecx,[ebp-14h] mov [ebp-0Ch],edx call SUB_L00459960 L004305BD: pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 L004305D0: push ebp mov ebp,esp sub esp,00000014h push ebx push esi mov esi,ecx push edi movsx eax,[esi+24h] movsx ecx,[esi+22h] mov [esi+30h],eax movsx eax,[esi+20h] lea edx,[ecx+eax] mov [esi+2Ch],edx mov edx,[L006AABAC] add edx,eax mov eax,[esi] sub edx,ecx mov ecx,esi mov [esi+28h],edx call [eax+40h] test al,01h jz L0043060B dec [esi+30h] L0043060B: mov edx,[esi] mov ecx,esi call [edx+70h] test eax,eax jle L00430619 inc [esi+30h] L00430619: mov eax,[esi] mov ecx,esi movsx edi,[esi+22h] movsx ebx,[esi+20h] call [eax+30h] test eax,eax jz L0043063C mov eax,[esi+000000B8h] add ebx,eax sub edi,eax and ebx,0000003Fh and edi,0000003Fh L0043063C: and edi,0000003Fh and ebx,0000003Fh shl edi,06h add edi,ebx xor ebx,ebx lea edi,[L006BDA48+edi*4] mov [ebp-04h],edi mov edi,[edi] test edi,edi jz L00430677 L00430659: mov ecx,[edi+30h] mov eax,[esi+30h] cmp ecx,eax jg L00430677 mov edx,[esi] mov ecx,esi call [edx+1Ch] test eax,eax jnz L00430677 mov ebx,edi mov edi,[edi+14h] test edi,edi jnz L00430659 L00430677: test ebx,ebx jz L00430693 mov [esi+18h],ebx mov eax,[ebx+14h] mov [esi+14h],eax mov [ebx+14h],esi mov eax,[esi+14h] test eax,eax jz L004306AB mov [eax+18h],esi jmp L004306AB L00430693: mov ecx,[ebp-04h] mov eax,[ecx] test eax,eax mov [esi+14h],eax jz L004306A2 mov [eax+18h],esi L004306A2: mov [ecx],esi mov dword ptr [esi+18h],00000000h L004306AB: mov edx,[esi] mov ecx,esi mov dword ptr [esi+1Ch],00000001h call [edx+0Ch] mov eax,[esi] mov ecx,esi call [eax+3Ch] test eax,eax jnz L004306FD mov eax,[esi+1Ch] test eax,eax jz L004306FD mov ecx,[esi+08h] mov eax,[L004DAF44] mov edx,[esi+10h] sub ecx,eax mov [ebp-10h],ecx mov ecx,[esi+04h] sub edx,eax mov eax,[L004DAF40] mov [ebp-08h],edx mov edx,[esi+0Ch] sub ecx,eax sub edx,eax mov [ebp-14h],ecx lea ecx,[ebp-14h] mov [ebp-0Ch],edx call SUB_L00459960 L004306FD: pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 L00430710: push ebp mov ebp,esp push FFFFFFFFh push L004B2ABB mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,0000002Ch push ebx push esi mov esi,ecx mov [ebp-24h],esi movsx eax,[esi+24h] movsx ecx,[esi+22h] inc eax mov [ebp-10h],ecx mov [esi+30h],eax movsx eax,[esi+20h] mov [ebp-14h],eax lea edx,[ecx+eax] mov [esi+2Ch],edx mov edx,[L006AABAC] add edx,eax lea eax,[ebp-10h] sub edx,ecx lea ecx,[ebp-14h] push eax push ecx mov ecx,esi mov [esi+28h],edx call SUB_L00430180 mov eax,[esi+10h] mov ecx,[esi+000000B4h] cmp eax,ecx jle L00430903 mov ebx,00000001h cmp ecx,eax mov [ebp-1Ch],ecx mov [ebp-18h],ebx jge L00430903 push edi lea edi,[ecx+2Ch] mov [ebp-20h],edi jmp L004307A0 L00430797: mov edi,[ebp-20h] mov ebx,[ebp-18h] mov esi,[ebp-24h] L004307A0: push 00000054h call SUB_L0049A820 add esp,00000004h mov [ebp-28h],eax test eax,eax mov dword ptr [ebp-04h],00000000h jz L004307DC mov edx,[esi+10h] cmp edi,edx jg L004307C1 mov edx,edi L004307C1: mov ecx,[ebp-10h] push esi push edx mov edx,[ebp-1Ch] push edx lea edx,[ebx+ecx] mov ecx,[ebp-14h] push edx lea edx,[ebx+ecx] mov ecx,eax push edx call SUB_L00406770 L004307DC: mov eax,[ebp-10h] mov esi,[esi+000000B0h] mov ecx,[ebp-14h] mov dword ptr [ebp-04h],FFFFFFFFh mov edx,[esi] lea edi,[ebx+eax] add ebx,ecx mov ecx,esi and edi,0000003Fh and ebx,0000003Fh call [edx+30h] test eax,eax jz L00430815 mov eax,[esi+000000B8h] add ebx,eax sub edi,eax and ebx,0000003Fh and edi,0000003Fh L00430815: and edi,0000003Fh and ebx,0000003Fh shl edi,06h add edi,ebx mov ebx,[L006BDA48+edi*4] lea edi,[L006BDA48+edi*4] mov [ebp-28h],edi xor edi,edi test ebx,ebx jz L00430855 L00430837: mov eax,[ebx+30h] mov ecx,[esi+30h] cmp eax,ecx jg L00430855 mov edx,[esi] mov ecx,esi call [edx+1Ch] test eax,eax jnz L00430855 mov edi,ebx mov ebx,[ebx+14h] test ebx,ebx jnz L00430837 L00430855: test edi,edi jz L00430871 mov [esi+18h],edi mov eax,[edi+14h] mov [esi+14h],eax mov [edi+14h],esi mov eax,[esi+14h] test eax,eax jz L00430889 mov [eax+18h],esi jmp L00430889 L00430871: mov ecx,[ebp-28h] mov eax,[ecx] test eax,eax mov [esi+14h],eax jz L00430880 mov [eax+18h],esi L00430880: mov [ecx],esi mov dword ptr [esi+18h],00000000h L00430889: mov edx,[esi] mov ecx,esi mov dword ptr [esi+1Ch],00000001h call [edx+0Ch] mov eax,[esi] mov ecx,esi call [eax+3Ch] test eax,eax jnz L004308DB mov eax,[esi+1Ch] test eax,eax jz L004308DB mov ecx,[esi+08h] mov eax,[L004DAF44] mov edx,[esi+10h] sub ecx,eax mov [ebp-34h],ecx mov ecx,[esi+04h] sub edx,eax mov eax,[L004DAF40] mov [ebp-2Ch],edx mov edx,[esi+0Ch] sub ecx,eax sub edx,eax mov [ebp-38h],ecx lea ecx,[ebp-38h] mov [ebp-30h],edx call SUB_L00459960 L004308DB: mov ecx,[ebp-24h] mov eax,[ebp-1Ch] mov ebx,[ebp-18h] mov esi,[ebp-20h] mov edx,[ecx+10h] add eax,0000002Ch inc ebx add esi,0000002Ch cmp eax,edx mov [ebp-18h],ebx mov [ebp-1Ch],eax mov [ebp-20h],esi jl L00430797 pop edi L00430903: mov ecx,[ebp-0Ch] pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 L00430920: push ebp mov ebp,esp push FFFFFFFFh push L004B2ADB mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,0000002Ch push ebx push esi mov esi,ecx push edi mov [ebp-24h],esi mov eax,[esi+1Ch] test eax,eax jz L0043094F mov eax,[esi] call [eax+14h] L0043094F: movsx ecx,[esi+24h] movsx eax,[esi+20h] mov [esi+30h],ecx movsx ecx,[esi+22h] lea edx,[ecx+eax] mov [esi+2Ch],edx mov edx,[L006AABAC] add edx,eax mov eax,[esi] sub edx,ecx mov ecx,esi mov [esi+28h],edx call [eax+70h] test eax,eax jle L0043097F inc [esi+30h] L0043097F: movsx ecx,[esi+20h] movsx edx,[esi+22h] mov eax,[esi+0000013Ch] mov [ebp-14h],ecx test eax,eax mov [ebp-10h],edx jz CASE_00430B84_PROC0002 xor eax,eax mov al,[esi+6Eh] cmp eax,00000007h ja CASE_00430B84_PROC0002 jmp [CASE_PROCTABLE_00430B84+eax*4] CASE_00430B84_PROC0005: inc [ebp-14h] jmp CASE_00430B84_PROC0002 CASE_00430B84_PROC0007: inc [ebp-14h] CASE_00430B84_PROC0000: inc [ebp-10h] CASE_00430B84_PROC0002: lea eax,[ebp-10h] lea ecx,[ebp-14h] push eax push ecx mov ecx,esi call SUB_L00430180 cmp word ptr [esi+38h],0190h jnc L00430B67 mov eax,[esi+10h] mov ecx,[esi+000000B4h] cmp eax,ecx jle L00430B67 mov ebx,00000001h cmp ecx,eax mov [ebp-1Ch],ecx mov [ebp-18h],ebx jge L00430B67 lea edi,[ecx+2Ch] mov [ebp-20h],edi jmp L00430A03 L004309FA: mov ebx,[ebp-18h] mov esi,[ebp-24h] mov edi,[ebp-20h] L00430A03: push 00000054h call SUB_L0049A820 add esp,00000004h mov [ebp-28h],eax test eax,eax mov dword ptr [ebp-04h],00000000h jz L00430A3F mov edx,[esi+10h] cmp edi,edx jg L00430A24 mov edx,edi L00430A24: mov ecx,[ebp-10h] push esi push edx mov edx,[ebp-1Ch] push edx lea edx,[ebx+ecx] mov ecx,[ebp-14h] push edx lea edx,[ebx+ecx] mov ecx,eax push edx call SUB_L00406770 L00430A3F: mov eax,[ebp-10h] mov esi,[esi+000000B0h] mov ecx,[ebp-14h] mov dword ptr [ebp-04h],FFFFFFFFh mov edx,[esi] lea edi,[ebx+eax] add ebx,ecx mov ecx,esi and edi,0000003Fh and ebx,0000003Fh call [edx+30h] test eax,eax jz L00430A78 mov eax,[esi+000000B8h] add ebx,eax sub edi,eax and ebx,0000003Fh and edi,0000003Fh L00430A78: and edi,0000003Fh and ebx,0000003Fh shl edi,06h add edi,ebx mov ebx,[L006BDA48+edi*4] lea edi,[L006BDA48+edi*4] mov [ebp-28h],edi xor edi,edi test ebx,ebx jz L00430AB8 L00430A9A: mov eax,[ebx+30h] mov ecx,[esi+30h] cmp eax,ecx jg L00430AB8 mov edx,[esi] mov ecx,esi call [edx+1Ch] test eax,eax jnz L00430AB8 mov edi,ebx mov ebx,[ebx+14h] test ebx,ebx jnz L00430A9A L00430AB8: test edi,edi jz L00430AD4 mov [esi+18h],edi mov eax,[edi+14h] mov [esi+14h],eax mov [edi+14h],esi mov eax,[esi+14h] test eax,eax jz L00430AEC mov [eax+18h],esi jmp L00430AEC L00430AD4: mov ecx,[ebp-28h] mov eax,[ecx] test eax,eax mov [esi+14h],eax jz L00430AE3 mov [eax+18h],esi L00430AE3: mov [ecx],esi mov dword ptr [esi+18h],00000000h L00430AEC: mov edx,[esi] mov ecx,esi mov dword ptr [esi+1Ch],00000001h call [edx+0Ch] mov eax,[esi] mov ecx,esi call [eax+3Ch] test eax,eax jnz L00430B3E mov eax,[esi+1Ch] test eax,eax jz L00430B3E mov ecx,[esi+08h] mov eax,[L004DAF44] mov edx,[esi+10h] sub ecx,eax mov [ebp-34h],ecx mov ecx,[esi+04h] sub edx,eax mov eax,[L004DAF40] mov [ebp-2Ch],edx mov edx,[esi+0Ch] sub ecx,eax sub edx,eax mov [ebp-38h],ecx lea ecx,[ebp-38h] mov [ebp-30h],edx call SUB_L00459960 L00430B3E: mov ecx,[ebp-24h] mov eax,[ebp-1Ch] mov ebx,[ebp-18h] mov esi,[ebp-20h] mov edx,[ecx+10h] add eax,0000002Ch inc ebx add esi,0000002Ch cmp eax,edx mov [ebp-18h],ebx mov [ebp-1Ch],eax mov [ebp-20h],esi jl L004309FA mov esi,ecx L00430B67: mov edx,[esi] mov ecx,esi call [edx+00000094h] mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_00430B84: dd CASE_00430B84_PROC0000 dd CASE_00430B84_PROC0000 dd CASE_00430B84_PROC0002 dd CASE_00430B84_PROC0002 dd CASE_00430B84_PROC0002 dd CASE_00430B84_PROC0005 dd CASE_00430B84_PROC0005 dd CASE_00430B84_PROC0007 Align 16 L00430BB0: push ebp mov ebp,esp push FFFFFFFFh push L004B2AFB mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,0000002Ch push ebx push esi mov esi,ecx push edi mov [ebp-24h],esi mov eax,[esi+1Ch] test eax,eax jz L00430BDF mov eax,[esi] call [eax+14h] L00430BDF: movsx ecx,[esi+24h] movsx eax,[esi+22h] mov [esi+30h],ecx movsx ecx,[esi+20h] lea edx,[ecx+eax] mov [esi+2Ch],edx mov edx,[L006AABAC] add edx,ecx mov ecx,esi sub edx,eax mov eax,[esi] mov [esi+28h],edx call [eax+70h] test eax,eax jle L00430C0F inc [esi+30h] L00430C0F: movsx ecx,[esi+20h] movsx edx,[esi+22h] mov eax,[L006695A0] mov [ebp-14h],ecx test eax,eax mov [ebp-10h],edx jz L00430C43 xor eax,eax mov al,[esi+6Eh] dec eax cmp eax,00000004h ja L00430C43 jmp [CASE_PROCTABLE_00430E14+eax*4] CASE_00430E14_PROC0000: inc [ebp-14h] jmp L00430C43 CASE_00430E14_PROC0002: inc [ebp-14h] CASE_00430E14_PROC0003: inc [ebp-10h] L00430C43: lea eax,[ebp-10h] lea ecx,[ebp-14h] push eax push ecx mov ecx,esi call SUB_L00430180 cmp word ptr [esi+38h],0190h jnc L00430DF7 mov eax,[esi+10h] mov ecx,[esi+000000B4h] cmp eax,ecx jle L00430DF7 mov ebx,00000001h cmp ecx,eax mov [ebp-1Ch],ecx mov [ebp-18h],ebx jge L00430DF7 lea edi,[ecx+2Ch] mov [ebp-20h],edi jmp L00430C93 L00430C8A: mov ebx,[ebp-18h] mov esi,[ebp-24h] mov edi,[ebp-20h] L00430C93: push 00000054h call SUB_L0049A820 add esp,00000004h mov [ebp-28h],eax test eax,eax mov dword ptr [ebp-04h],00000000h jz L00430CCF mov edx,[esi+10h] cmp edi,edx jg L00430CB4 mov edx,edi L00430CB4: mov ecx,[ebp-10h] push esi push edx mov edx,[ebp-1Ch] push edx lea edx,[ebx+ecx] mov ecx,[ebp-14h] push edx lea edx,[ebx+ecx] mov ecx,eax push edx call SUB_L00406770 L00430CCF: mov eax,[ebp-10h] mov esi,[esi+000000B0h] mov ecx,[ebp-14h] mov dword ptr [ebp-04h],FFFFFFFFh mov edx,[esi] lea edi,[ebx+eax] add ebx,ecx mov ecx,esi and edi,0000003Fh and ebx,0000003Fh call [edx+30h] test eax,eax jz L00430D08 mov eax,[esi+000000B8h] add ebx,eax sub edi,eax and ebx,0000003Fh and edi,0000003Fh L00430D08: and edi,0000003Fh and ebx,0000003Fh shl edi,06h add edi,ebx mov ebx,[L006BDA48+edi*4] lea edi,[L006BDA48+edi*4] mov [ebp-28h],edi xor edi,edi test ebx,ebx jz L00430D48 L00430D2A: mov eax,[ebx+30h] mov ecx,[esi+30h] cmp eax,ecx jg L00430D48 mov edx,[esi] mov ecx,esi call [edx+1Ch] test eax,eax jnz L00430D48 mov edi,ebx mov ebx,[ebx+14h] test ebx,ebx jnz L00430D2A L00430D48: test edi,edi jz L00430D64 mov [esi+18h],edi mov eax,[edi+14h] mov [esi+14h],eax mov [edi+14h],esi mov eax,[esi+14h] test eax,eax jz L00430D7C mov [eax+18h],esi jmp L00430D7C L00430D64: mov ecx,[ebp-28h] mov eax,[ecx] test eax,eax mov [esi+14h],eax jz L00430D73 mov [eax+18h],esi L00430D73: mov [ecx],esi mov dword ptr [esi+18h],00000000h L00430D7C: mov edx,[esi] mov ecx,esi mov dword ptr [esi+1Ch],00000001h call [edx+0Ch] mov eax,[esi] mov ecx,esi call [eax+3Ch] test eax,eax jnz L00430DCE mov eax,[esi+1Ch] test eax,eax jz L00430DCE mov ecx,[esi+08h] mov eax,[L004DAF44] mov edx,[esi+10h] sub ecx,eax mov [ebp-34h],ecx mov ecx,[esi+04h] sub edx,eax mov eax,[L004DAF40] mov [ebp-2Ch],edx mov edx,[esi+0Ch] sub ecx,eax sub edx,eax mov [ebp-38h],ecx lea ecx,[ebp-38h] mov [ebp-30h],edx call SUB_L00459960 L00430DCE: mov ecx,[ebp-24h] mov eax,[ebp-1Ch] mov ebx,[ebp-18h] mov esi,[ebp-20h] mov edx,[ecx+10h] add eax,0000002Ch inc ebx add esi,0000002Ch cmp eax,edx mov [ebp-18h],ebx mov [ebp-1Ch],eax mov [ebp-20h],esi jl L00430C8A mov esi,ecx L00430DF7: mov edx,[esi] mov ecx,esi call [edx+00000094h] mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_00430E14: dd CASE_00430E14_PROC0000 dd CASE_00430E14_PROC0000 dd CASE_00430E14_PROC0002 dd CASE_00430E14_PROC0003 dd CASE_00430E14_PROC0003 Align 16 SUB_L00430E30: push ebp mov ebp,esp sub esp,00000010h mov eax,[ecx+1Ch] test eax,eax jz L00430E6F mov edx,[ecx+08h] mov eax,[L004DAF44] sub edx,eax mov [ebp-0Ch],edx mov edx,[ecx+10h] sub edx,eax mov eax,[L004DAF40] mov [ebp-04h],edx mov edx,[ecx+04h] mov ecx,[ecx+0Ch] sub edx,eax sub ecx,eax mov [ebp-10h],edx mov [ebp-08h],ecx lea ecx,[ebp-10h] call SUB_L00459960 L00430E6F: mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L00430E80: push ebx mov ebx,ecx push esi push edi mov eax,[ebx+1Ch] test eax,eax jz L00430ECA lea esi,[ebx+000000C4h] mov edi,0000001Ah L00430E97: mov ecx,[esi] test ecx,ecx jz L00430EA9 mov al,[ecx+6Dh] test al,al jz L00430EA9 call SUB_L00459170 L00430EA9: add esi,00000004h dec edi jnz L00430E97 mov al,[L0073EC04] test al,al jz L00430ECA cmp ebx,[L0073EBE4] jnz L00430ECA mov ecx,L004D7EA0 call SUB_L00459960 L00430ECA: pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ Align 4 SUB_L00430ED0: push ebp mov ebp,esp sub esp,00000008h push ebx mov ebx,edx mov edx,[ebp+08h] mov eax,ebx and edx,0000003Fh and eax,0000003Fh shl edx,06h add eax,edx push edi xor edi,edi mov [ebp-04h],ecx mov dl,[eax+L004D9F40] mov [ebp-08h],edi test dl,dl jz L00430F06 mov eax,ecx pop edi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L00430F06: push esi mov esi,[L006BDA48+eax*4] cmp esi,edi mov byte ptr [eax+L004D9F40],01h jz L00430F7F L00430F19: mov eax,[esi] mov ecx,esi call [eax+18h] test eax,eax jz L00430F61 mov edx,[esi] mov ecx,esi mov edi,esi call [edx+24h] test eax,eax jnz L00430F61 movsx eax,[esi+3Ah] xor ecx,ecx mov cx,[esi+38h] add eax,ecx lea edx,[eax+eax*4] mov eax,[L006A9D98] test dword ptr [eax+edx*8],10000000h jz L00430F61 movsx ecx,[esi+24h] mov eax,[ebp+0Ch] sub eax,ecx cdq xor eax,edx sub eax,edx cmp eax,00000006h jle L00430F6A L00430F61: mov esi,[esi+14h] test esi,esi jnz L00430F19 jmp L00430F7F L00430F6A: movsx eax,[esi+24h] mov ecx,[ebp-04h] mov dword ptr [ebp-08h],00000001h cmp eax,ecx jge L00430F7F mov [ebp-04h],eax L00430F7F: mov eax,[ebp-08h] test eax,eax jz L00430FD2 movsx edx,[edi+24h] mov eax,[ebp+08h] mov ecx,[ebp-04h] push edx push eax lea edx,[ebx-01h] call SUB_L00430ED0 movsx ecx,[edi+24h] mov esi,[ebp+08h] push ecx push esi lea edx,[ebx+01h] mov ecx,eax call SUB_L00430ED0 movsx edx,[edi+24h] lea ecx,[esi-01h] push edx push ecx mov edx,ebx mov ecx,eax call SUB_L00430ED0 movsx edx,[edi+24h] inc esi push edx push esi mov edx,ebx mov ecx,eax call SUB_L00430ED0 mov [ebp-04h],eax L00430FD2: mov eax,[ebp-04h] pop esi pop edi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 4 SUB_L00430FE0: mov eax,[ecx+08h] push esi cmp eax,[edx] jle L0043100C mov eax,[ecx] mov esi,[edx+08h] cmp eax,esi jge L0043100C mov eax,[ecx+0Ch] mov esi,[edx+04h] cmp eax,esi jle L0043100C mov ecx,[ecx+04h] mov eax,[edx+0Ch] cmp ecx,eax jge L0043100C mov eax,00000001h pop esi retn ;------------------------------------------------------------------------------ L0043100C: xor eax,eax pop esi retn ;------------------------------------------------------------------------------ SUB_L00431010: push ebp mov ebp,esp sub esp,00000020h push ebx mov ebx,ecx push esi push edi mov eax,[ebx+08h] mov ecx,[ebx+0Ch] mov [ebp-0Ch],eax mov eax,0000007Fh mov [ebx+0Ch],eax mov [ebx+08h],eax mov eax,[L0073EBE4] mov [ebp-10h],ecx mov ecx,[eax+1Ch] test ecx,ecx jz L004311F7 movsx edx,[eax+24h] movsx ecx,[eax+22h] movsx edi,[eax+20h] mov [ebp-04h],edx mov edx,ecx mov eax,edi and edx,0000003Fh and eax,0000003Fh mov [ebp-08h],ecx shl edx,06h add eax,edx mov esi,[L006BDA48+eax*4] test esi,esi jz L004310C2 L0043106E: mov eax,[esi] mov ecx,esi call [eax+1Ch] test eax,eax jnz L004310B8 movsx eax,[esi+24h] cmp eax,[ebx+08h] jge L004310B8 mov ecx,[ebp-04h] add ecx,0000000Eh cmp eax,ecx jle L004310B8 mov edx,[esi] mov ecx,esi call [edx+24h] test eax,eax jnz L004310B8 mov eax,[esi] mov ecx,esi call [eax+40h] test eax,00020004h jnz L004310B8 test eax,10000000h jz L004310B1 test ah,02h jz L004310B8 L004310B1: movsx ecx,[esi+24h] mov [ebx+08h],ecx L004310B8: mov esi,[esi+14h] test esi,esi jnz L0043106E mov ecx,[ebp-08h] L004310C2: inc ecx mov edx,[ebx+08h] and ecx,0000003Fh mov [ebx+0Ch],edx shl ecx,06h inc edi and edi,0000003Fh add ecx,edi mov esi,[L006BDA48+ecx*4] test esi,esi jz L00431156 L004310E0: mov eax,[esi] mov ecx,esi call [eax+1Ch] test eax,eax jnz L0043114F movsx eax,[esi+24h] cmp eax,[ebx+08h] jge L0043114F mov ecx,[ebp-04h] add ecx,0000000Eh cmp eax,ecx jle L0043114F mov edx,[esi] mov ecx,esi call [edx+24h] test eax,eax jnz L0043114F mov eax,[esi] mov ecx,esi call [eax+40h] test eax,00000204h jnz L0043114F test eax,10000000h jz L0043114F movsx eax,[esi+24h] mov [ebx+08h],eax mov [ebx+0Ch],eax mov ecx,00000400h xor eax,eax mov edi,L004D9F40 rep stosd movsx ecx,[esi+24h] movsx edx,[esi+22h] push ecx mov ecx,[ebx+08h] push edx movsx edx,[esi+20h] call SUB_L00430ED0 mov [ebx+0Ch],eax L0043114F: mov esi,[esi+14h] test esi,esi jnz L004310E0 L00431156: mov esi,[L006A9D48] mov dword ptr [L004DAF98],00000001h test esi,esi jz L004311BF L0043116A: mov eax,[esi+1Ch] test eax,eax jz L004311B8 mov eax,[esi] mov edi,[esi+70h] mov ecx,esi call [eax+3Ch] cmp edi,eax jz L004311B8 mov eax,[esi+1Ch] test eax,eax jz L004311B8 mov ecx,[esi+08h] mov eax,[L004DAF44] mov edx,[esi+10h] sub ecx,eax mov [ebp-1Ch],ecx mov ecx,[esi+04h] sub edx,eax mov eax,[L004DAF40] mov [ebp-14h],edx mov edx,[esi+0Ch] sub ecx,eax sub edx,eax mov [ebp-20h],ecx lea ecx,[ebp-20h] mov [ebp-18h],edx call SUB_L00459960 L004311B8: mov esi,[esi+58h] test esi,esi jnz L0043116A L004311BF: mov dword ptr [L004DAF98],00000000h mov eax,[ebx+0Ch] mov [ebx+08h],eax mov ecx,[L0073EBE4] movsx ecx,[ecx+24h] add ecx,00000010h cmp eax,ecx jge L004311E3 mov [ebx+08h],ecx L004311E3: mov edx,[ebp-0Ch] mov ecx,[ebx+08h] cmp edx,ecx jnz L004311F2 cmp [ebp-10h],eax jz L004311F7 L004311F2: call SUB_L0045A290 L004311F7: pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 4 L00431200: mov eax,[ecx+1Ch] test eax,eax jnz L0043120D mov eax,00000001h retn ;------------------------------------------------------------------------------ L0043120D: mov eax,[L006BB1A0] test eax,eax jz L00431228 movsx eax,[ecx+24h] cmp eax,[L006BB1A4] jle L00431228 mov eax,00000001h retn ;------------------------------------------------------------------------------ L00431228: xor eax,eax retn ;------------------------------------------------------------------------------ Align 8 L00431230: mov eax,[ecx+1Ch] test eax,eax jnz L0043123D mov eax,00000001h retn ;------------------------------------------------------------------------------ L0043123D: mov eax,[L006BB1A0] test eax,eax jz L00431269 mov eax,[ecx+64h] movsx edx,[eax+ecx+6Ch] mov eax,[L006BB1A4] cmp edx,eax jle L00431269 mov edx,[ecx+68h] movsx ecx,[edx+ecx+6Ch] cmp ecx,eax jle L00431269 mov eax,00000001h retn ;------------------------------------------------------------------------------ L00431269: xor eax,eax retn ;------------------------------------------------------------------------------ Align 8 L00431270: push ebp mov ebp,esp sub esp,00000008h push ebx mov ebx,ecx push esi push edi mov eax,[ebx+1Ch] mov [ebp-04h],ebx test eax,eax jz L004314D6 mov eax,[L0073EBE4] test eax,eax jz L004314D6 mov eax,[ebx] call [eax+40h] mov edi,eax mov eax,[L006BB1A0] test eax,eax jz L004312E8 mov esi,[ebx+18h] test esi,esi jz L004312CF L004312AD: mov edx,[esi] mov ecx,esi call [edx+1Ch] test eax,eax jz L004312C8 movsx eax,[esi+24h] cmp eax,[L006BB1A4] jge L004314D6 L004312C8: mov esi,[esi+18h] test esi,esi jnz L004312AD L004312CF: mov eax,[L006BB1A0] test eax,eax jz L004312E8 movsx ecx,[ebx+24h] cmp ecx,[L006BB1A4] jge L004314D6 L004312E8: mov eax,[L006BB1A8] test edi,10000000h jz L004312FE cmp eax,0000007Fh jnz L004314D6 L004312FE: movsx edx,[ebx+24h] cmp edx,eax jge L004314D6 test edi,00010000h jz L0043131F call SUB_L0048B870 test eax,eax jz L004314D6 L0043131F: test edi,00020000h jz L00431467 mov eax,[L004DAF98] test eax,eax jnz L0043133E mov eax,[ebx+70h] pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L0043133E: mov dword ptr [ebx+70h],00000000h mov eax,[L004C6718] xor edi,edi test eax,eax mov [ebp-08h],edi jz L00431377 xor edx,edx mov ecx,L004C6718 mov dx,[ebx+38h] L0043135E: cmp edx,eax jl L00431367 cmp edx,[ecx+04h] jle L00431374 L00431367: mov eax,[ecx+08h] add ecx,00000008h add edi,00000002h test eax,eax jnz L0043135E L00431374: mov [ebp-08h],edi L00431377: mov eax,[L004C6718+edi*4] test eax,eax jz L00431482 mov esi,[L006A9D48] test esi,esi jz L00431467 mov ecx,[L0073EBE4] L0043139A: mov eax,[esi+1Ch] test eax,eax jz L0043145C mov edx,[L004C6718+edi*4] xor eax,eax mov ax,[esi+38h] cmp eax,edx jl L0043145C cmp eax,[L004C671C+edi*4] jg L0043145C mov eax,[ecx+0Ch] mov edx,[esi+04h] cmp eax,edx jle L0043145C mov edx,[ecx+04h] mov eax,[esi+0Ch] cmp edx,eax jge L0043145C mov eax,[ecx+10h] mov edx,[esi+08h] cmp eax,edx jle L0043145C mov edx,[ecx+08h] mov eax,[esi+10h] cmp edx,eax jge L0043145C add ebx,00000020h lea edi,[esi+20h] push ebx push edi mov ecx,L006AAA98 call SUB_L0044EB60 mov edx,[ebp-04h] mov ecx,eax xor eax,eax mov ax,[edx+38h] xor edx,edx mov dx,[esi+38h] sub eax,edx cdq xor eax,edx sub eax,edx cmp ecx,eax jnz L00431450 movsx eax,[esi+22h] movsx ecx,[edi] add eax,ecx mov ecx,[L0073EBE4] movsx edx,[ecx+20h] movsx edi,[ecx+22h] add edx,edi cmp edx,eax jge L00431456 mov edx,[ebp-04h] movsx edi,[ebx] movsx edx,[edx+22h] add edx,edi cmp eax,edx jz L00431470 jmp L00431456 L00431450: mov ecx,[L0073EBE4] L00431456: mov edi,[ebp-08h] mov ebx,[ebp-04h] L0043145C: mov esi,[esi+58h] test esi,esi jnz L0043139A L00431467: xor eax,eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00431470: mov ecx,[ebp-04h] mov eax,00000001h mov [ecx+70h],eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00431482: mov eax,[L0073EBE4] mov ecx,[ebx+04h] mov edx,[eax+0Ch] cmp edx,ecx jle L00431467 mov ecx,[eax+04h] mov edx,[ebx+0Ch] cmp ecx,edx jge L00431467 mov edx,[eax+10h] mov ecx,[ebx+08h] cmp edx,ecx jle L00431467 mov ecx,[eax+08h] mov edx,[ebx+10h] cmp ecx,edx jge L00431467 movsx edx,[eax+20h] movsx eax,[eax+22h] movsx ecx,[ebx+20h] add edx,eax movsx eax,[ebx+22h] add ecx,eax cmp edx,ecx jge L00431467 mov eax,00000001h mov [ebx+70h],eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L004314D6: pop edi pop esi mov eax,00000001h pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 L004314F0: push ebp mov ebp,esp sub esp,00000014h push ebx push esi push edi mov edi,ecx mov eax,[edi+1Ch] test eax,eax jnz L0043150E mov eax,00000001h pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L0043150E: movsx eax,[edi+24h] cmp eax,[L006BB1A8] jl L00431526 mov eax,00000001h pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00431526: mov eax,[L006BB1A0] test eax,eax jz L00431558 mov esi,[edi+18h] test esi,esi jz L00431558 L00431536: mov edx,[esi] mov ecx,esi call [edx+1Ch] test eax,eax jz L00431551 movsx eax,[esi+24h] cmp eax,[L006BB1A4] jg L0043179F L00431551: mov esi,[esi+18h] test esi,esi jnz L00431536 L00431558: movsx ebx,[edi+22h] movsx eax,[edi+20h] movsx edi,[edi+24h] mov [ebp-08h],ebx and ebx,0000003Fh mov [ebp-0Ch],eax and eax,0000003Fh shl ebx,06h add edi,00000014h mov [ebp-14h],eax lea ecx,[ebx+eax] mov [ebp-04h],edi mov esi,[L006BDA48+ecx*4] test esi,esi jz L004317AB L0043158E: movsx edx,[esi+24h] cmp edx,edi jl L004315D0 mov eax,[esi] mov ecx,esi call [eax+24h] test eax,eax jnz L004315D0 mov edx,[esi] mov ecx,esi call [edx+1Ch] test eax,eax jnz L004315D0 mov eax,[esi] mov ecx,esi call [eax+38h] test eax,eax jnz L004315D0 mov edx,[esi] mov ecx,esi call [edx+3Ch] test eax,eax jnz L004315D0 mov eax,[esi] mov ecx,esi call [eax+40h] test eax,10000200h jnz L004315E0 L004315D0: mov esi,[esi+14h] test esi,esi jnz L0043158E xor eax,eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L004315E0: mov ecx,[ebp-08h] mov edx,[ebp-0Ch] lea eax,[ecx+01h] lea edi,[edx+01h] and eax,0000003Fh and edi,0000003Fh shl eax,06h mov [ebp-10h],eax add eax,edi mov esi,[L006BDA48+eax*4] test esi,esi jz L004317AB L00431609: movsx ecx,[esi+24h] cmp ecx,[ebp-04h] jl L0043164C mov edx,[esi] mov ecx,esi call [edx+24h] test eax,eax jnz L0043164C mov eax,[esi] mov ecx,esi call [eax+1Ch] test eax,eax jnz L0043164C mov edx,[esi] mov ecx,esi call [edx+38h] test eax,eax jnz L0043164C mov eax,[esi] mov ecx,esi call [eax+3Ch] test eax,eax jnz L0043164C mov edx,[esi] mov ecx,esi call [edx+40h] test eax,10000200h jnz L0043165C L0043164C: mov esi,[esi+14h] test esi,esi jnz L00431609 xor eax,eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L0043165C: add edi,ebx mov esi,[L006BDA48+edi*4] test esi,esi jz L004317AB L0043166D: movsx eax,[esi+24h] mov edi,[ebp-04h] cmp eax,edi jl L004316B2 mov edx,[esi] mov ecx,esi call [edx+24h] test eax,eax jnz L004316B2 mov eax,[esi] mov ecx,esi call [eax+1Ch] test eax,eax jnz L004316B2 mov edx,[esi] mov ecx,esi call [edx+38h] test eax,eax jnz L004316B2 mov eax,[esi] mov ecx,esi call [eax+3Ch] test eax,eax jnz L004316B2 mov edx,[esi] mov ecx,esi call [edx+40h] test eax,10000200h jnz L004316C2 L004316B2: mov esi,[esi+14h] test esi,esi jnz L0043166D xor eax,eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L004316C2: mov eax,[ebp-10h] mov ecx,[ebp-14h] add eax,ecx mov esi,[L006BDA48+eax*4] test esi,esi jz L004317AB L004316D9: movsx edx,[esi+24h] cmp edx,edi jl L0043171B mov eax,[esi] mov ecx,esi call [eax+24h] test eax,eax jnz L0043171B mov edx,[esi] mov ecx,esi call [edx+1Ch] test eax,eax jnz L0043171B mov eax,[esi] mov ecx,esi call [eax+38h] test eax,eax jnz L0043171B mov edx,[esi] mov ecx,esi call [edx+3Ch] test eax,eax jnz L0043171B mov eax,[esi] mov ecx,esi call [eax+40h] test eax,10000200h jnz L0043172B L0043171B: mov esi,[esi+14h] test esi,esi jnz L004316D9 xor eax,eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L0043172B: mov ecx,[ebp-08h] mov edx,[ebp-0Ch] add ecx,00000002h add edx,00000002h and ecx,0000003Fh and edx,0000003Fh shl ecx,06h add ecx,edx mov esi,[L006BDA48+ecx*4] test esi,esi jz L004317AB L0043174D: movsx eax,[esi+24h] cmp eax,edi jl L0043178F mov edx,[esi] mov ecx,esi call [edx+24h] test eax,eax jnz L0043178F mov eax,[esi] mov ecx,esi call [eax+1Ch] test eax,eax jnz L0043178F mov edx,[esi] mov ecx,esi call [edx+38h] test eax,eax jnz L0043178F mov eax,[esi] mov ecx,esi call [eax+3Ch] test eax,eax jnz L0043178F mov edx,[esi] mov ecx,esi call [edx+40h] test eax,10000200h jnz L0043179F L0043178F: mov esi,[esi+14h] test esi,esi jnz L0043174D xor eax,eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L0043179F: mov eax,00000001h pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L004317AB: pop edi pop esi xor eax,eax pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 L004317C0: mov edx,[ecx+1Ch] xor eax,eax test edx,edx setz al retn ;------------------------------------------------------------------------------ Align 8 L004317D0: push ebx push esi mov esi,ecx push edi mov eax,[esi] call [eax+78h] mov edi,eax mov eax,[L004D7ECC] test eax,eax jz L00431801 mov ecx,esi call SUB_L0045D740 test eax,eax jz L00431801 push 00006127h mov ecx,L006A9DB8 call SUB_L004882D0 mov edi,eax L00431801: test edi,edi jz L00431860 mov edx,[esi] mov ecx,esi call [edx+7Ch] xor ecx,ecx xor edx,edx mov cx,[edi+04h] mov dx,[edi+06h] test eax,eax jz L00431822 add ecx,00000005h add edx,00000005h L00431822: movsx eax,[esi+24h] shl eax,02h mov edi,eax mov eax,[esi+2Ch] lea ebx,[eax+eax*4] lea eax,[eax+ebx*2] shl eax,1 sub eax,edi add eax,0000002Bh mov [esi+10h],eax sub eax,edx mov [esi+08h],eax mov eax,[esi+28h] mov edx,ecx lea edi,[eax+eax*4] sar edx,1 lea eax,[eax+edi*2] shl eax,1 sub eax,edx add ecx,eax mov [esi+04h],eax mov [esi+0Ch],ecx pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ L00431860: mov eax,[esi+2Ch] pop edi movsx ecx,[esi+24h] lea edx,[eax+eax*4] shl ecx,02h lea eax,[eax+edx*2] shl eax,1 sub eax,ecx mov [esi+08h],eax add eax,0000002Ch mov [esi+10h],eax mov eax,[esi+28h] lea ecx,[eax+eax*4] lea eax,[eax+ecx*2] shl eax,1 mov [esi+04h],eax add eax,0000002Ch mov [esi+0Ch],eax pop esi pop ebx retn ;------------------------------------------------------------------------------ Align 16 SUB_L004318A0: push ebp mov ebp,esp sub esp,00000014h push ebx push esi push edi mov edi,ecx xor eax,eax xor ebx,ebx mov ax,[edi+38h] mov [ebp-08h],ebx cmp eax,00000001h mov [ebp-14h],ebx jz L004318CC cmp eax,00002197h jle L004318D9 cmp eax,000021A2h jg L004318D9 L004318CC: mov eax,[L004DAF9C] test eax,eax jz L00431C62 L004318D9: mov eax,[edi] mov ecx,edi call [eax+2Ch] test eax,eax jz L00431917 test byte ptr [edi+00000098h],80h jz L00431917 call SUB_L0048B870 test eax,eax jnz L0043190F mov eax,[L0073EBE4] test eax,eax jz L00431C62 cmp word ptr [eax+38h],03DBh jnz L00431C62 L0043190F: mov ebx,00000001h mov [ebp-08h],ebx L00431917: mov edx,[edi] mov ecx,edi call [edx+78h] mov [ebp-04h],eax mov eax,[L004D7ECC] test eax,eax jz L00431947 mov ecx,edi call SUB_L0045D740 test eax,eax jz L00431947 push 00006127h mov ecx,L006A9DB8 call SUB_L004882D0 mov [ebp-04h],eax L00431947: mov eax,[edi] mov ecx,edi call [eax+7Ch] test ebx,ebx mov [ebp-0Ch],eax jnz L00431968 mov ecx,[L0073EBE4] mov edx,[ecx] call [edx+00000090h] mov ebx,eax mov [ebp-08h],ebx L00431968: movsx eax,[edi+3Ah] xor ecx,ecx mov cx,[edi+38h] add eax,ecx lea edx,[eax+eax*4] mov eax,[L006A9D98] test dword ptr [eax+edx*8],00010000h jz L00431992 call SUB_L0048B870 test eax,eax jz L00431C62 L00431992: mov eax,[ebp-04h] test eax,eax jnz L004319F1 test ebx,ebx jz L004319C7 mov edx,[edi+08h] mov esi,[L004DAF44] mov ecx,[ebp+08h] mov eax,[L004DAF40] sub edx,esi push ecx push edx mov edx,[edi+04h] sub edx,eax xor ecx,ecx call SUB_L00459550 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L004319C7: mov eax,[ebp+08h] mov ecx,[edi+08h] mov esi,[L004DAF44] mov edx,[edi+04h] push eax mov eax,[L004DAF40] sub ecx,esi sub edx,eax push ecx xor ecx,ecx call SUB_L004593F0 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L004319F1: mov ax,[edi+3Eh] cmp ax,EA60h ja L00431C62 mov ecx,[edi+04h] mov edx,[L004DAF40] mov esi,[ebp+08h] sub ecx,edx cmp [esi],ecx mov ecx,[L004DAF44] jg L00431A4B mov ebx,[edi+0Ch] sub ebx,edx cmp [esi+08h],ebx jl L00431A48 mov ebx,[edi+08h] sub ebx,ecx cmp [esi+04h],ebx jg L00431A48 mov ebx,[edi+10h] sub ebx,ecx cmp [esi+0Ch],ebx jl L00431A48 mov esi,[ebp-0Ch] test esi,esi jnz L00431A48 mov ebx,[ebp-08h] mov dword ptr [ebp-10h],00000000h jmp L00431A52 L00431A48: mov ebx,[ebp-08h] L00431A4B: mov dword ptr [ebp-10h],00000001h L00431A52: test ebx,ebx jz L00431A75 and eax,0000FFFFh mov word ptr [edi+3Eh],03B2h mov ecx,[L004DAF44] mov edx,[L004DAF40] add eax,000001F4h mov [ebp-14h],eax L00431A75: mov eax,[L006BAE80] cmp edi,[eax+000000D8h] jnz L00431A8E mov dword ptr [L0076735C],00000034h jmp L00431A9A L00431A8E: xor eax,eax mov ax,[edi+3Eh] dec eax mov [L0076735C],eax L00431A9A: movsx eax,[edi+3Ah] xor esi,esi mov si,[edi+38h] add eax,esi mov esi,[L006A9D98] lea eax,[eax+eax*4] mov esi,[esi+eax*8] and esi,00060008h test ebx,ebx jz L00431ABE xor esi,esi L00431ABE: mov ebx,[edi+04h] mov ax,[edi+3Eh] sub ebx,edx mov edx,[edi+08h] sub edx,ecx test ax,ax mov [ebp-08h],edx ja L00431AE2 mov ecx,[L006BAE80] cmp edi,[ecx+000000D8h] jnz L00431AE5 L00431AE2: or esi,00000002h L00431AE5: test ax,ax jnz L00431B06 mov eax,[L004D7ED0] test eax,eax jz L00431B06 mov ecx,edi call SUB_L0045D8A0 test eax,eax jz L00431B03 mov esi,00000010h L00431B03: mov edx,[ebp-08h] L00431B06: cmp esi,00000008h ja L00431B25 jz L00431B7E sub esi,00000000h jz L00431BAB sub esi,00000002h jz L00431B59 mov esi,SUB_L00488380 jmp L00431BBE L00431B25: cmp esi,00000010h ja L00431B42 jz L00431B3B cmp esi,0000000Ah jnz L00431BAB mov esi,L004885D0 jmp L00431BBE L00431B3B: mov esi,L00488400 jmp L00431BBE L00431B42: cmp esi,00020008h ja L00431B60 jz L00431BB2 sub esi,00020000h jz L00431BAB sub esi,00000002h jnz L00431BAB L00431B59: mov esi,L004883B0 jmp L00431BBE L00431B60: cmp esi,00040008h ja L00431B85 jz L00431B7E sub esi,00040000h jz L00431BAB sub esi,00000002h jz L00431BB9 mov esi,SUB_L00488380 jmp L00431BBE L00431B7E: mov esi,L00488510 jmp L00431BBE L00431B85: cmp esi,00060000h ja L00431B9E jz L00431BAB cmp esi,0004000Ah jnz L00431BAB mov esi,L00488650 jmp L00431BBE L00431B9E: sub esi,00060002h jz L00431BB9 sub esi,00000006h jz L00431BB2 L00431BAB: mov esi,SUB_L00488380 jmp L00431BBE L00431BB2: mov esi,L00488570 jmp L00431BBE L00431BB9: mov esi,L004884A0 L00431BBE: mov al,[L0073EC04] test al,al jz L00431C0F cmp esi,L00488570 jz L00431C0F mov ecx,edi call SUB_L00427640 mov edx,[ebp-08h] test eax,eax jz L00431C0F mov eax,[ebp+08h] push edx mov edx,[ebp-04h] push ebx push eax mov ecx,esi call SUB_L00427850 mov eax,[ebp-0Ch] test eax,eax jz L00431C52 mov ecx,[ebp-08h] mov edx,[ebp+08h] add ecx,00000005h add ebx,00000005h push ecx push ebx push edx mov edx,[ebp-04h] mov ecx,esi call SUB_L00427850 jmp L00431C52 L00431C0F: mov eax,[ebp-10h] push edx test eax,eax push ebx jz L00431C48 mov eax,[ebp+08h] mov edx,[ebp-04h] push eax mov ecx,esi call SUB_L00488A10 mov eax,[ebp-0Ch] test eax,eax jz L00431C52 mov ecx,[ebp-08h] mov edx,[ebp+08h] add ecx,00000005h add ebx,00000005h push ecx push ebx push edx mov edx,[ebp-04h] mov ecx,esi call SUB_L00488A10 jmp L00431C52 L00431C48: mov edx,[ebp-04h] mov ecx,esi call SUB_L00488BB0 L00431C52: mov eax,[ebp-14h] test eax,eax jz L00431C62 add eax,FFFFFE0Ch mov [edi+3Eh],ax L00431C62: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 8 L00431C70: push ebp mov ebp,esp push esi mov esi,ecx xor ecx,ecx push edi movsx eax,[esi+3Ah] mov cx,[esi+38h] add eax,ecx lea edx,[eax+eax*4] mov eax,[L006A9D98] mov edi,[eax+edx*8] lea eax,[eax+edx*8] mov edx,[ebp+08h] mov ecx,edi or ecx,00000008h push edx mov [eax],ecx mov ecx,esi call SUB_L004318A0 movsx eax,[esi+3Ah] xor ecx,ecx mov cx,[esi+38h] add eax,ecx lea edx,[eax+eax*4] mov eax,[L006A9D98] mov [eax+edx*8],edi pop edi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ SUB_L00431CC0: push ebp mov ebp,esp sub esp,00000014h push ebx push esi mov si,cx push edi cmp si,0096h mov [ebp-10h],edx mov [ebp-0Ch],si jnc L00431D68 mov eax,[ebp+24h] mov ecx,[eax+00000148h] test ecx,ecx jz L00431D18 cmp si,000Dh jz L00431D09 cmp si,000Fh jz L00431D09 cmp si,0010h jz L00431D09 mov esi,00000001h mov eax,esi jmp L00431D9D L00431D09: mov esi,00000008h mov eax,00000006h jmp L00431D9D L00431D18: mov eax,[ebp+18h] test eax,eax jz L00431D96 cmp si,0004h jz L00431D61 cmp si,0005h jz L00431D61 cmp si,0006h jz L00431D61 cmp si,0009h jz L00431D61 cmp si,000Ah jz L00431D61 cmp si,000Ch jz L00431D61 cmp si,001Eh jz L00431D61 cmp si,0027h jz L00431D61 cmp si,003Bh jz L00431D61 cmp si,003Ch jz L00431D61 cmp si,003Dh jnz L00431D96 L00431D61: mov esi,00000013h jmp L00431D98 L00431D68: cmp si,00C8h jnc L00431DB9 mov ecx,[ebp+24h] mov eax,[ecx+00000148h] test eax,eax jz L00431D88 mov esi,00000002h mov eax,00000001h jmp L00431D9D L00431D88: mov eax,[ebp+18h] test eax,eax jz L00431D96 mov esi,00000001h jmp L00431D98 L00431D96: xor esi,esi L00431D98: mov eax,0000000Ah L00431D9D: mov edi,[ebp-0Ch] mov dword ptr [ebp-08h],00000000h mov dword ptr [ebp-04h],0000006Eh and edi,0000FFFFh jmp L0043211D L00431DB9: cmp si,0190h jnc L00431E10 mov edx,[ebp+24h] mov eax,[edx+00000148h] test eax,eax jz L00431DD9 mov esi,00000002h mov eax,00000001h jmp L00431DEE L00431DD9: mov eax,[ebp+18h] test eax,eax jz L00431DE7 mov esi,00000001h jmp L00431DE9 L00431DE7: xor esi,esi L00431DE9: mov eax,00000005h L00431DEE: mov edi,[ebp-0Ch] mov dword ptr [ebp-08h],000055F0h and edi,0000FFFFh mov dword ptr [ebp-04h],00000041h sub edi,000000C8h jmp L0043211D L00431E10: mov edi,[ebp-0Ch] mov ebx,[ebp+24h] and edi,0000FFFFh xor eax,eax sub edi,00000190h cmp word ptr [ebx+38h],0190h mov dword ptr [ebp-08h],000088B8h mov dword ptr [ebp-04h],000000AFh mov [ebp-14h],edi mov [ebp-0Ch],eax jc L00431E4F cmp [ebx+00000128h],eax jz L00431E4F mov dword ptr [ebp-0Ch],00000001h L00431E4F: mov ecx,[ebx+000000CCh] mov [ebp+24h],eax cmp ecx,eax jz L00431E85 mov edx,[L006A9D98] xor eax,eax mov ax,[ecx+38h] lea eax,[eax+eax*4] cmp [edx+eax*8+0Ch],si jnz L00431E85 mov eax,[ecx] call [eax+40h] test eax,00800000h jz L00431E85 mov dword ptr [ebp+24h],00000001h L00431E85: mov eax,[ebx+00000148h] test eax,eax jz L00431FF5 cmp si,023Eh jnz L00431EA1 xor esi,esi jmp L00432118 L00431EA1: mov eax,[ebp-0Ch] test eax,eax jz L00431ECD mov eax,[ebp+24h] test eax,eax jz L00431EBE mov esi,0000001Ch mov eax,00000007h jmp L0043211D L00431EBE: mov esi,00000019h mov eax,00000001h jmp L0043211D L00431ECD: mov eax,[ebx+00000150h] test eax,eax jz L00431FD8 mov edx,[ebx] mov ecx,ebx call [edx+00000090h] test eax,eax jnz L00431FD8 mov eax,[ebp+24h] test eax,eax jz L00431EFE mov esi,00000002h jmp L00432118 L00431EFE: mov ecx,[ebx+000000C8h] mov eax,[L004C67B0] test ecx,ecx mov dword ptr [ebp+18h],00000007h jz L00431F6A xor edx,edx xor edi,edi mov dx,[ecx+38h] lea ecx,[edx+edx*4] mov edx,[L006A9D98] mov di,[edx+ecx*8+0Ch] mov ecx,[L004C67A8] cmp edi,ecx jl L00431F6A cmp edi,[L004C67AC] jg L00431F6A xor esi,esi test eax,eax jz L00431F58 mov ecx,eax mov edx,L004C67B0 L00431F49: cmp edi,ecx jz L00431F58 mov ecx,[edx+04h] add edx,00000004h inc esi test ecx,ecx jnz L00431F49 L00431F58: mov ecx,[L004C67B0+esi*4] test ecx,ecx jz L00431F6A mov dword ptr [ebp+18h],00000008h L00431F6A: mov ebx,[ebx+000000CCh] test ebx,ebx jz L00431FC8 mov edx,[L006A9D98] xor ecx,ecx mov cx,[ebx+38h] xor esi,esi lea ecx,[ecx+ecx*4] mov si,[edx+ecx*8+0Ch] mov ecx,[L004C67A8] cmp esi,ecx jl L00431FC8 cmp esi,[L004C67AC] jg L00431FC8 xor edx,edx test eax,eax jz L00431FB6 mov ecx,L004C67B0 L00431FA7: cmp esi,eax jz L00431FB6 mov eax,[ecx+04h] add ecx,00000004h inc edx test eax,eax jnz L00431FA7 L00431FB6: mov eax,[L004C67B0+edx*4] test eax,eax jz L00431FC8 mov dword ptr [ebp+18h],00000008h L00431FC8: mov esi,[ebp+18h] mov edi,[ebp-14h] mov eax,00000001h jmp L0043211D L00431FD8: mov eax,[ebp+24h] test eax,eax jz L00431FE6 xor esi,esi jmp L00432118 L00431FE6: mov esi,00000004h mov eax,00000001h jmp L0043211D L00431FF5: mov eax,[ebp-0Ch] test eax,eax mov eax,[ebp+18h] jz L00432021 test eax,eax jnz L00432012 mov esi,00000017h mov eax,00000005h jmp L0043211D L00432012: mov esi,00000018h mov eax,00000005h jmp L0043211D L00432021: test eax,eax jz L00432097 mov ebx,[ebx+000000CCh] mov esi,00000002h test ebx,ebx jz L00432118 mov ecx,[L006A9D98] xor eax,eax mov ax,[ebx+38h] xor ebx,ebx lea eax,[eax+eax*4] mov bx,[ecx+eax*8+0Ch] mov eax,[L004C6800] cmp ebx,eax jl L0043208D cmp ebx,[L004C6804] jg L0043208D mov eax,[L004C6808] xor edx,edx test eax,eax jz L0043207E mov ecx,L004C6808 L0043206F: cmp ebx,eax jz L0043207E mov eax,[ecx+04h] add ecx,00000004h inc edx test eax,eax jnz L0043206F L0043207E: mov eax,[L004C6808+edx*4] test eax,eax jnz L00432118 L0043208D: mov esi,00000003h jmp L00432118 L00432097: mov eax,[ebx+00000150h] test eax,eax jz L004320B6 mov edx,[ebx] mov ecx,ebx call [edx+00000090h] test eax,eax jnz L004320B6 mov esi,0000000Fh jmp L00432118 L004320B6: mov ebx,[ebx+000000CCh] xor esi,esi test ebx,ebx jz L00432118 mov ecx,[L006A9D98] xor eax,eax mov ax,[ebx+38h] xor ebx,ebx lea eax,[eax+eax*4] mov bx,[ecx+eax*8+0Ch] mov eax,[L004C6800] cmp ebx,eax jl L00432113 cmp ebx,[L004C6804] jg L00432113 mov eax,[L004C6808] xor edx,edx test eax,eax jz L00432108 mov ecx,L004C6808 L004320F9: cmp ebx,eax jz L00432108 mov eax,[ecx+04h] add ecx,00000004h inc edx test eax,eax jnz L004320F9 L00432108: mov eax,[L004C6808+edx*4] test eax,eax jnz L00432118 L00432113: mov esi,00000001h L00432118: mov eax,0000000Ah L0043211D: mov edx,[ebp+0Ch] cmp edx,FFFFFFFFh jnz L00432175 imul edi,[ebp-04h] mov ecx,[ebp-10h] lea esi,[esi+esi*4] and ecx,00000007h mov edx,[L004C6768+ecx*4] mov ecx,[ebp-08h] add edx,edi add ecx,edx add esi,ecx mov ecx,[ebp+1Ch] cmp eax,00000001h mov [ecx],esi jnz L0043215E mov edx,[ebp+20h] mov dword ptr [edx],00000000h pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0020h ;------------------------------------------------------------------------------ L0043215E: lea ecx,[eax-01h] mov eax,[ebp+08h] cdq idiv ecx mov eax,[ebp+20h] mov [eax],edx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0020h ;------------------------------------------------------------------------------ L00432175: mov eax,[ebp+14h] and eax,0000007Fh cmp eax,00000022h jle L00432184 xor eax,eax xor edx,edx L00432184: imul edi,[ebp-04h] mov ecx,[ebp-10h] lea esi,[eax+eax*4] mov eax,[ebp-08h] and ecx,00000007h mov ecx,[L004C6768+ecx*4] add ecx,edi pop edi add eax,ecx mov ecx,[ebp+20h] add esi,eax mov eax,[ebp+1Ch] mov [eax],esi pop esi mov [ecx],edx pop ebx mov esp,ebp pop ebp retn 0020h ;------------------------------------------------------------------------------ Align 16 SUB_L004321C0: push ebp mov ebp,esp mov eax,[ebp+0Ch] cmp ecx,00000096h push esi mov dword ptr [eax],00000005h jge L004321F3 mov dword ptr [eax],00000003h mov eax,edx and eax,00000080h lea esi,[ecx+ecx*4] or ah,01h shr eax,07h lea ecx,[ecx+esi*2] lea eax,[eax+ecx*2] jmp L00432260 L004321F3: cmp ecx,000000C8h jge L0043221C lea eax,[ecx+ecx*4] and edx,00000007h mov edx,[L004C6768+edx*4] lea eax,[ecx+eax*2] lea ecx,[eax+eax*4] lea eax,[edx+ecx*2+28h] mov ecx,[ebp+08h] mov [ecx],eax pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ L0043221C: cmp ecx,00000190h jge L00432240 mov eax,edx lea esi,[ecx+ecx*2] and eax,00000080h or ah,01h lea ecx,[ecx+esi*4] shr eax,05h lea eax,[eax+ecx+00000708h] jmp L00432260 L00432240: add ecx,FFFFFF38h mov eax,ecx shl eax,03h sub eax,ecx mov ecx,edx and cl,80h neg cl sbb ecx,ecx lea eax,[eax+eax*4] neg ecx add ecx,00000015h add eax,ecx L00432260: and edx,00000007h lea eax,[eax+eax*4] pop esi mov ecx,[L004C6768+edx*4] add eax,ecx mov ecx,[ebp+08h] mov [ecx],eax pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 8 L00432280: push ebp mov ebp,esp sub esp,0000002Ch mov eax,[L006AABAC] push ebx push esi mov esi,ecx push edi movsx ecx,[esi+20h] movsx edx,[esi+22h] add eax,ecx sub eax,edx lea edi,[eax+eax*4] lea eax,[eax+edi*2] mov edi,00000005h lea ebx,[eax+eax+01h] movsx eax,[esi+24h] sub edi,eax lea eax,[edx+ecx] mov [ebp-2Ch],ebx lea ecx,[eax+eax*4] lea edx,[eax+ecx*2] shl edx,1 cmp word ptr [esi+3Ch],03E8h lea edi,[edx+edi*4] mov [ebp-28h],edi mov [esi+000000B4h],edi jc L004322E6 mov [esi+08h],edi mov [esi+10h],edi mov [esi+0Ch],ebx mov [esi+04h],ebx pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L004322E6: test byte ptr [esi+00000098h],80h jz L0043231C call SUB_L0048B870 test eax,eax jnz L0043231C mov eax,[L0073EBE4] test eax,eax jz L0043231C cmp word ptr [eax+38h],03DBh jz L0043231C mov [esi+08h],edi mov [esi+10h],edi mov [esi+0Ch],ebx mov [esi+04h],ebx pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L0043231C: lea eax,[ebp-08h] lea ecx,[ebp-04h] push eax push ecx xor edx,edx xor ecx,ecx mov dl,[esi+6Eh] mov cx,[esi+3Ch] call SUB_L004321C0 mov dl,[esi+6Eh] lea ecx,[ebp-20h] and edx,00000007h push ecx mov ecx,L006AA860 mov eax,[L004C6788+edx*4] lea edx,[ebp-24h] mov [ebp-14h],eax mov eax,[ebp-04h] push edx push eax push 00000006h push 00000005h call SUB_L00446620 test eax,eax jnz L00432375 mov [esi+08h],edi mov [esi+10h],edi mov [esi+0Ch],ebx mov [esi+04h],ebx pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00432375: mov ecx,[ebp-08h] mov edx,[eax+00000200h] add eax,00000200h cmp ecx,edx jl L0043239A mov [esi+08h],edi mov [esi+10h],edi mov [esi+0Ch],ebx mov [esi+04h],ebx pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L0043239A: mov ecx,[eax+ecx*4+04h] test ecx,ecx jnz L004323B5 mov [esi+08h],edi mov [esi+10h],edi mov [esi+0Ch],ebx mov [esi+04h],ebx pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L004323B5: mov dx,[eax+ecx] mov [ebp-0Ch],dx mov dx,[eax+ecx+02h] mov [ebp-10h],dx mov dx,[eax+ecx+04h] mov ax,[eax+ecx+06h] mov [ebp-1Ch],edx mov [ebp-18h],ax mov eax,[ebp-14h] test eax,eax jz L004323E5 sub edx,[ebp-0Ch] mov ecx,edx jmp L004323E8 L004323E5: mov ecx,[ebp-0Ch] L004323E8: movsx edx,[ebp-10h] mov eax,edi sub eax,edx movsx edx,cx mov ecx,ebx mov [esi+10h],eax sub ecx,edx movsx edx,[ebp-18h] sub eax,edx mov [esi+04h],ecx mov [esi+08h],eax movsx eax,[ebp-1Ch] add ecx,eax cmp word ptr [ebp-10h],0000h mov [esi+0Ch],ecx jl L00432419 mov [esi+10h],edi L00432419: sub ecx,ebx add ecx,00000016h cmp ecx,0000002Ch mov [esi+000000B8h],ecx jg L00432435 mov dword ptr [esi+000000B8h],00000000h jmp L0043244C L00432435: mov eax,2E8BA2E9h imul ecx sar edx,03h mov ecx,edx shr ecx,1Fh add edx,ecx mov [esi+000000B8h],edx L0043244C: cmp word ptr [esi+3Ch],0190h jc L00432584 xor eax,eax lea edx,[esi+000000BCh] mov [ebp-10h],eax mov [ebp-0Ch],edx L00432466: cmp eax,00000015h jz L0043256B mov eax,[ebp-0Ch] mov ecx,[eax] test ecx,ecx jz L0043256B mov eax,[esi+000000A8h] test eax,eax jz L0043256B L0043248A: cmp [eax+78h],ecx jz L00432496 mov eax,[eax+40h] test eax,eax jnz L0043248A L00432496: test eax,eax jz L0043256B xor ecx,ecx mov cx,[eax+38h] mov eax,[L006A9D98] lea edx,[ecx+ecx*4] xor ecx,ecx mov cx,[eax+edx*8+0Ch] cmp ecx,00000190h jl L0043256B cmp ecx,000003E8h jge L0043256B lea edx,[ebp-08h] lea eax,[ebp-04h] push edx xor edx,edx mov dl,[esi+6Eh] push eax call SUB_L004321C0 mov eax,[ebp-04h] lea ecx,[ebp-20h] lea edx,[ebp-24h] push ecx push edx push eax push 00000006h push 00000005h mov ecx,L006AA860 call SUB_L00446620 test eax,eax jz L0043256B mov ecx,[ebp-08h] add eax,00000200h mov ecx,[eax+ecx*4+04h] test ecx,ecx jz L0043256B mov di,[eax+ecx] mov dx,[eax+ecx+02h] mov bx,[eax+ecx+04h] mov ax,[eax+ecx+06h] mov ecx,[ebp-14h] test ecx,ecx jz L0043252B mov ecx,ebx sub ecx,edi mov edi,ecx L0043252B: movsx ecx,dx mov edx,[ebp-28h] movsx edi,di sub edx,ecx mov ecx,[ebp-2Ch] movsx eax,ax sub ecx,edi mov edi,edx movsx ebx,bx sub edi,eax mov eax,ecx add eax,ebx mov ebx,[esi+0Ch] cmp eax,ebx jle L00432553 mov [esi+0Ch],eax L00432553: cmp ecx,[esi+04h] jge L0043255B mov [esi+04h],ecx L0043255B: cmp edx,[esi+10h] jle L00432563 mov [esi+10h],edx L00432563: cmp edi,[esi+08h] jge L0043256B mov [esi+08h],edi L0043256B: mov eax,[ebp-10h] mov edx,[ebp-0Ch] inc eax add edx,00000004h cmp eax,00000019h mov [ebp-10h],eax mov [ebp-0Ch],edx jl L00432466 L00432584: pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 L00432590: push ebp mov ebp,esp sub esp,00000038h push ebx push esi push edi mov edi,ecx mov [ebp-28h],edi mov dword ptr [ebp-08h],00000000h cmp word ptr [edi+3Ch],03E8h mov byte ptr [ebp-01h],00h jnc L00432860 mov ecx,[edi+78h] xor edx,edx call SUB_L0045C860 test eax,eax jnz L00432860 test byte ptr [edi+00000098h],80h jz L004325FD call SUB_L0048B870 test eax,eax jnz L004325F2 mov eax,[L0073EBE4] test eax,eax jz L00432860 cmp word ptr [eax+38h],03DBh jnz L00432860 L004325F2: mov dword ptr [ebp-08h],000003B2h mov byte ptr [ebp-01h],01h L004325FD: mov eax,[ebp+08h] mov esi,[edi+000000B4h] mov [ebp-24h],esi mov ecx,[eax] mov [ebp-38h],ecx mov edx,[eax+04h] mov [ebp-34h],edx mov ecx,[eax+08h] movsx edx,[edi+22h] mov [ebp-30h],ecx mov ecx,[eax+0Ch] movsx eax,[edi+20h] sub eax,edx mov edx,[L006AABAC] add eax,edx mov [ebp-2Ch],ecx lea edx,[eax+eax*4] lea eax,[eax+edx*2] lea ebx,[eax+eax+01h] mov eax,[L004DAFA4] test eax,eax mov [ebp+08h],ebx jnz L00432659 mov edx,[L004DAF44] mov eax,esi sub eax,edx cmp ecx,eax jle L00432659 mov [ebp-2Ch],eax L00432659: lea ecx,[ebp-10h] lea edx,[ebp-0Ch] push ecx push edx xor edx,edx xor ecx,ecx mov dl,[edi+6Eh] mov cx,[edi+3Ch] call SUB_L004321C0 mov al,[edi+6Eh] lea edx,[ebp-1Ch] and eax,00000007h push edx mov ecx,[L004C6788+eax*4] lea eax,[ebp-20h] mov [ebp-14h],ecx mov ecx,[ebp-0Ch] push eax push ecx push 00000006h push 00000005h mov ecx,L006AA860 call SUB_L00446620 test eax,eax jz L00432860 mov ecx,[ebp-10h] mov edx,[eax+00000200h] mov [ebp-18h],eax add eax,00000200h cmp ecx,edx jge L00432860 mov ecx,[eax+ecx*4+04h] test ecx,ecx jnz L004326D9 mov [edi+08h],esi mov [edi+10h],esi mov [edi+0Ch],ebx mov [edi+04h],ebx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L004326D9: lea ebx,[eax+ecx+08h] mov ecx,[L0073EBE4] mov edx,[ecx] call [edx+00000090h] test eax,eax jz L004326F8 mov dword ptr [ebp-08h],000003B2h jmp L00432708 L004326F8: mov al,[ebp-01h] test al,al jnz L00432708 xor eax,eax mov ax,[edi+3Eh] mov [ebp-08h],eax L00432708: mov eax,[ebp-18h] mov edx,[ebp+08h] push ebx lea ecx,[ebp-38h] push eax push ecx mov ecx,[ebp-14h] push esi push edx mov edx,[ebp-08h] call SUB_L0042F2D0 cmp word ptr [edi+3Ch],0190h jc L00432860 xor ecx,ecx mov [ebp-08h],ecx L00432732: xor edx,edx mov dl,[edi+6Eh] mov eax,edx and eax,00000007h lea eax,[eax+eax*4] lea ecx,[ecx+eax*4] add eax,ecx mov eax,[L004C63F8+eax*4] cmp eax,00000015h jz L00432850 cmp eax,00000019h jz L00432850 mov eax,[edi+eax*4+000000BCh] test eax,eax jz L00432850 mov esi,[edi+000000A8h] test esi,esi jz L00432850 L0043277A: cmp [esi+78h],eax jz L00432786 mov esi,[esi+40h] test esi,esi jnz L0043277A L00432786: test esi,esi jz L00432850 mov ebx,[L006A9D98] xor eax,eax mov ax,[esi+38h] xor ecx,ecx lea eax,[eax+eax*4] mov cx,[ebx+eax*8+0Ch] cmp ecx,00000190h jl L00432850 cmp ecx,000003E8h jge L00432850 lea eax,[ebp-10h] push eax lea eax,[ebp-0Ch] push eax call SUB_L004321C0 mov eax,[ebp-0Ch] lea ecx,[ebp-1Ch] lea edx,[ebp-20h] push ecx push edx push eax push 00000006h push 00000005h mov ecx,L006AA860 call SUB_L00446620 test eax,eax jz L00432850 mov ecx,[ebp-10h] mov ebx,eax add eax,00000200h mov ecx,[eax+ecx*4+04h] test ecx,ecx jz L00432850 lea edi,[eax+ecx+08h] mov ecx,[L0073EBE4] mov edx,[ecx] call [edx+00000090h] test eax,eax jz L00432816 mov edx,000003B2h jmp L00432837 L00432816: mov ecx,[L006A9D98] xor eax,eax mov ax,[esi+38h] xor edx,edx mov dx,[esi+3Eh] lea eax,[eax+eax*4] test dword ptr [ecx+eax*8],00040000h jz L00432837 or dh,80h L00432837: mov ecx,[ebp-24h] push edi lea eax,[ebp-38h] push ebx push eax mov eax,[ebp+08h] push ecx mov ecx,[ebp-14h] push eax call SUB_L0042F2D0 mov edi,[ebp-28h] L00432850: mov ecx,[ebp-08h] inc ecx cmp ecx,00000019h mov [ebp-08h],ecx jl L00432732 L00432860: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 8 L00432870: push ebp mov ebp,esp sub esp,0000002Ch push ebx push esi push edi mov esi,ecx call SUB_L004831C0 test eax,eax jz L00432892 mov ecx,esi call SUB_L00483310 pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00432892: movsx ecx,[esi+22h] movsx edx,[esi+20h] mov eax,[L006AABAC] mov ebx,00000005h sub eax,ecx add eax,edx lea edi,[eax+eax*4] lea edi,[eax+edi*2] mov eax,[esi+00000188h] shl edi,1 sub edi,eax mov eax,[esi+00000190h] sub ebx,eax lea eax,[edx+ecx] inc edi lea ecx,[eax+eax*4] mov [ebp-2Ch],edi lea edx,[eax+ecx*2] mov ecx,[esi+0000018Ch] shl edx,1 lea eax,[edx+ebx*4] mov [esi+000000B4h],eax sub eax,ecx cmp word ptr [esi+38h],03E8h mov ebx,eax mov [ebp-04h],ebx jc L00432900 mov [esi+08h],ebx mov [esi+10h],ebx mov [esi+0Ch],edi mov [esi+04h],edi pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00432900: test byte ptr [esi+00000098h],80h jz L00432936 call SUB_L0048B870 test eax,eax jnz L00432936 mov eax,[L0073EBE4] test eax,eax jz L00432936 cmp word ptr [eax+38h],03DBh jz L00432936 mov [esi+08h],ebx mov [esi+10h],ebx mov [esi+0Ch],edi mov [esi+04h],edi pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00432936: mov eax,[esi] mov ecx,esi call [eax+00000090h] test eax,eax jz L0043294F xor ebx,ebx mov bx,[esi+38h] sub ebx,00000002h jmp L00432955 L0043294F: xor ebx,ebx mov bx,[esi+38h] L00432955: mov edx,[esi] mov ecx,esi call [edx+00000088h] lea ecx,[ebp-10h] push esi push ecx mov ecx,[esi+00000144h] lea edx,[ebp-0Ch] mov [ebp-20h],eax push edx push ecx xor edx,edx xor ecx,ecx mov dx,[esi+000001ACh] mov cx,[esi+000001B8h] add edx,ecx mov ecx,ebx push edx xor edx,edx mov dx,[esi+000001AAh] push edx push eax mov eax,[esi+00000140h] xor edx,edx mov dl,[esi+6Eh] push eax call SUB_L00431CC0 mov cl,[esi+6Eh] lea eax,[ebp-24h] and ecx,00000007h push eax mov edx,[L004C6788+ecx*4] lea ecx,[ebp-28h] mov [ebp-18h],edx mov edx,[ebp-0Ch] push ecx push edx push 00000006h push 00000005h mov ecx,L006AA860 call SUB_L00446620 test eax,eax jnz L004329E9 mov eax,[ebp-04h] mov [esi+0Ch],edi mov [esi+08h],eax mov [esi+10h],eax mov [esi+04h],edi pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L004329E9: mov cx,[eax+00000200h] mov edx,[ebp-10h] add eax,00000200h mov [esi+000001AAh],cx and ecx,0000FFFFh cmp edx,ecx jge L00432D2D mov ecx,[eax+edx*4+04h] test ecx,ecx jnz L00432A2B mov eax,[ebp-04h] mov [esi+0Ch],edi mov [esi+08h],eax mov [esi+10h],eax mov [esi+04h],edi pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00432A2B: mov dx,[eax+ecx] mov bx,[eax+ecx+04h] mov [ebp-14h],dx mov dx,[eax+ecx+02h] mov ax,[eax+ecx+06h] mov [ebp-1Ch],ebx mov [ebp-08h],ax mov eax,[ebp-18h] test eax,eax jz L00432A57 sub ebx,[ebp-14h] mov ecx,ebx jmp L00432A5A L00432A57: mov ecx,[ebp-14h] L00432A5A: mov eax,[ebp-04h] movsx ebx,dx sub eax,ebx movsx ebx,cx mov ecx,edi mov [esi+10h],eax sub ecx,ebx movsx ebx,[ebp-08h] sub eax,ebx mov [esi+04h],ecx mov [esi+08h],eax movsx eax,[ebp-1Ch] add ecx,eax test dx,dx mov [esi+0Ch],ecx jl L00432A94 mov eax,[ebp-04h] mov [esi+10h],eax mov eax,[ebp-08h] add eax,edx mov [ebp-08h],eax L00432A94: mov edx,ecx sub edx,edi add edx,00000016h cmp edx,0000002Ch mov [esi+000000B8h],edx jg L00432AB2 mov dword ptr [esi+000000B8h],00000000h jmp L00432AC9 L00432AB2: mov eax,2E8BA2E9h imul edx sar edx,03h mov eax,edx shr eax,1Fh add edx,eax mov [esi+000000B8h],edx L00432AC9: mov dx,[esi+38h] mov eax,edx and eax,0000FFFFh cmp eax,000000DDh jz L00432B03 cmp eax,00000097h jz L00432B03 cmp eax,00000096h jz L00432B03 cmp eax,00000034h jz L00432B03 cmp eax,00000015h jz L00432B03 cmp eax,0000005Fh jz L00432B03 movsx eax,[ebp-08h] sar eax,1 add eax,ecx mov [esi+0Ch],eax L00432B03: cmp dx,0190h jc L00432C9E mov eax,00000001h mov [ebp-08h],eax L00432B16: cmp eax,00000015h jz L00432C8E mov ebx,[esi+eax*4+000000C4h] test ebx,ebx jnz L00432B77 mov ecx,[esi+78h] test ecx,80000000h jz L00432B6F call SUB_L0045C800 mov edi,eax test edi,edi jz L00432B6F mov edx,[edi] mov ecx,edi call [edx+54h] test eax,eax jz L00432B6F mov eax,[edi+000000A8h] test eax,eax jz L00432B6F mov ecx,[ebp-08h] mov edi,[edi+ecx*4+000000BCh] L00432B5F: cmp [eax+78h],edi jz L00432B6D mov eax,[eax+40h] test eax,eax jnz L00432B5F jmp L00432B6F L00432B6D: mov ebx,eax L00432B6F: test ebx,ebx jz L00432C8E L00432B77: xor eax,eax xor ecx,ecx mov ax,[ebx+38h] lea edx,[eax+eax*4] mov eax,[L006A9D98] mov cx,[eax+edx*8+0Ch] cmp ecx,00000190h jl L00432C8E cmp ecx,000003E8h jge L00432C8E lea edx,[ebp-10h] push esi push edx mov edx,[esi+00000144h] lea eax,[ebp-0Ch] push eax push edx xor eax,eax xor edx,edx mov ax,[esi+000001ACh] mov dx,[esi+000001B8h] add eax,edx mov edx,[ebp-20h] push eax xor eax,eax mov ax,[esi+000001AAh] push eax mov eax,[esi+00000140h] push edx xor edx,edx mov dl,[esi+6Eh] push eax call SUB_L00431CC0 mov eax,[ebp-0Ch] lea ecx,[ebp-24h] lea edx,[ebp-28h] push ecx push edx push eax push 00000006h push 00000005h mov ecx,L006AA860 call SUB_L00446620 test eax,eax jz L00432C8E mov ecx,[ebp-10h] add eax,00000200h mov ecx,[eax+ecx*4+04h] test ecx,ecx jz L00432C8E mov di,[eax+ecx] mov dx,[eax+ecx+02h] mov bx,[eax+ecx+04h] mov ax,[eax+ecx+06h] mov ecx,[ebp-18h] test ecx,ecx jz L00432C3A mov ecx,ebx sub ecx,edi mov edi,ecx L00432C3A: movsx ecx,dx mov edx,[ebp-04h] movsx edi,di sub edx,ecx mov ecx,[ebp-2Ch] sub ecx,edi movsx edi,ax mov eax,edx sub eax,edi movsx edi,bx lea ebx,[ecx+edi] mov [ebp-14h],ebx mov ebx,[ebp-08h] cmp ebx,00000019h jnz L00432C6B mov ebx,[ebp-14h] sar edi,1 add ebx,edi jmp L00432C6E L00432C6B: mov ebx,[ebp-14h] L00432C6E: cmp ebx,[esi+0Ch] jle L00432C76 mov [esi+0Ch],ebx L00432C76: cmp ecx,[esi+04h] jge L00432C7E mov [esi+04h],ecx L00432C7E: cmp edx,[esi+10h] jle L00432C86 mov [esi+10h],edx L00432C86: cmp eax,[esi+08h] jge L00432C8E mov [esi+08h],eax L00432C8E: mov eax,[ebp-08h] inc eax cmp eax,0000001Ah mov [ebp-08h],eax jl L00432B16 L00432C9E: mov ebx,[esi+000001C0h] xor eax,eax cmp ebx,eax mov [esi+000001CCh],eax mov [esi+000001C8h],eax jz L00432D2D L00432CB6: xor edx,edx mov ecx,L006A9DB8 mov dx,[ebx+000000DAh] add edx,00004000h push edx call SUB_L004882D0 mov di,[eax+06h] mov edx,[esi+0Ch] movsx eax,[eax+04h] mov ecx,[esi+04h] sub eax,edx add eax,ecx test eax,eax jle L00432CF8 sar eax,1 add [esi+000001C8h],eax sub ecx,eax add eax,edx mov [esi+04h],ecx mov [esi+0Ch],eax L00432CF8: mov edx,[esi+10h] mov ecx,[esi+08h] movsx eax,di sub eax,edx add eax,ecx test eax,eax jle L00432D23 mov edi,[esi+000001CCh] sar eax,1 add edi,eax sub ecx,eax add eax,edx mov [esi+000001CCh],edi mov [esi+08h],ecx mov [esi+10h],eax L00432D23: mov ebx,[ebx+00000100h] test ebx,ebx jnz L00432CB6 L00432D2D: pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L00432D40: test ecx,ecx jz L00432D65 xor eax,eax mov ax,[ecx+38h] mov ecx,[L006A9D98] lea eax,[eax+eax*4] mov al,[ecx+eax*8+05h] cmp al,0Bh jz L00432D5F cmp al,10h jnz L00432D65 L00432D5F: mov eax,00000001h retn ;------------------------------------------------------------------------------ L00432D65: xor eax,eax retn ;------------------------------------------------------------------------------ Align 16 SUB_L00432D70: test ecx,ecx jnz L00432D77 xor eax,eax retn ;------------------------------------------------------------------------------ L00432D77: call SUB_L0045EDA0 cmp eax,00000007h jle L00432D83 xor eax,eax L00432D83: mov eax,[L004C6830+eax*4] retn ;------------------------------------------------------------------------------ Align 8 L00432D90: push ebp mov ebp,esp sub esp,00000050h push ebx push esi mov esi,ecx push edi xor edi,edi mov byte ptr [ebp-01h],00h cmp word ptr [esi+38h],03E8h mov [ebp-08h],edi jnc L004334B0 call SUB_L004831C0 test eax,eax jz L00432DCD mov eax,[ebp+08h] mov ecx,esi push eax call SUB_L004836F0 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L00432DCD: cmp [L007121C4],edi jnz L00432DE3 mov ecx,[L0073EBE4] cmp [ecx+00000150h],edi jz L00432E14 L00432DE3: mov edx,[L006BAE80] cmp esi,[edx+000000D4h] jnz L00432E14 cmp esi,edi jnz L00432DFA mov [ebp-08h],edi jmp L00432E42 L00432DFA: mov ecx,esi call SUB_L0045EDA0 cmp eax,00000007h jle L00432E08 xor eax,eax L00432E08: mov eax,[L004C6830+eax*4] mov [ebp-08h],eax jmp L00432E42 L00432E14: mov ecx,[L0073EC6C] mov eax,[esi+78h] cmp ecx,eax jnz L00432E46 cmp esi,edi jnz L00432E2A mov [ebp-08h],edi jmp L00432E42 L00432E2A: mov ecx,esi call SUB_L0045EDA0 cmp eax,00000007h jle L00432E38 xor eax,eax L00432E38: mov edx,[L004C6830+eax*4] mov [ebp-08h],edx L00432E42: mov byte ptr [ebp-01h],01h L00432E46: test byte ptr [esi+00000098h],80h jz L00432E7C call SUB_L0048B870 test eax,eax jnz L00432E71 mov eax,[L0073EBE4] cmp eax,edi jz L004334B0 cmp word ptr [eax+38h],03DBh jnz L004334B0 L00432E71: mov dword ptr [ebp-08h],000003B2h mov byte ptr [ebp-01h],01h L00432E7C: mov eax,[ebp+08h] mov ebx,[L006AABAC] mov ecx,[eax] mov [ebp-40h],ecx mov edx,[eax+04h] mov [ebp-3Ch],edx mov ecx,[eax+08h] mov [ebp-38h],ecx mov edx,[eax+0Ch] movsx eax,[esi+20h] movsx ecx,[esi+22h] sub eax,ecx mov [ebp-34h],edx add eax,ebx lea ecx,[eax+eax*4] lea ebx,[eax+ecx*2] mov eax,[esi+00000188h] mov ecx,[esi+000000B4h] shl ebx,1 sub ebx,eax mov eax,ecx sub eax,[esi+0000018Ch] inc ebx mov [ebp-30h],ebx mov [ebp-14h],eax mov eax,[L004DAFA4] cmp eax,edi jnz L00432EEB cmp word ptr [esi+38h],0190h jnc L00432EEB sub ecx,[L004DAF44] cmp edx,ecx jle L00432EEB mov [ebp-34h],ecx L00432EEB: mov edx,[esi] mov ecx,esi call [edx+00000090h] test eax,eax jz L00432F04 xor edi,edi mov di,[esi+38h] sub edi,00000002h jmp L00432F0A L00432F04: xor edi,edi mov di,[esi+38h] L00432F0A: mov eax,[esi] mov ecx,esi call [eax+00000088h] lea ecx,[ebp-10h] push esi push ecx mov ecx,[esi+00000144h] lea edx,[ebp-0Ch] mov [ebp-1Ch],eax push edx push ecx xor edx,edx xor ecx,ecx mov dx,[esi+000001ACh] mov cx,[esi+000001B8h] add edx,ecx mov ecx,edi push edx xor edx,edx mov dx,[esi+000001AAh] push edx push eax mov eax,[esi+00000140h] xor edx,edx mov dl,[esi+6Eh] push eax call SUB_L00431CC0 mov cl,[esi+6Eh] lea eax,[ebp-20h] and ecx,0000007Fh push eax mov edx,[L004C6788+ecx*4] lea ecx,[ebp-24h] mov [ebp-18h],edx mov edx,[ebp-0Ch] push ecx push edx push 00000006h push 00000005h mov ecx,L006AA860 call SUB_L00446620 test eax,eax jz L004334B0 mov cx,[eax+00000200h] mov edx,[ebp-10h] mov [ebp+08h],eax add eax,00000200h mov [esi+000001AAh],cx and ecx,0000FFFFh cmp edx,ecx jge L004334B0 mov ecx,[eax+edx*4+04h] test ecx,ecx jnz L00432FD3 mov eax,[ebp-14h] mov [esi+0Ch],ebx mov [esi+08h],eax mov [esi+10h],eax mov [esi+04h],ebx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L00432FD3: lea edi,[eax+ecx+08h] mov al,[ebp-01h] test al,al jnz L00432FE7 xor eax,eax mov ax,[esi+3Eh] mov [ebp-08h],eax L00432FE7: mov ecx,[L0073EBE4] mov eax,[ecx] call [eax+00000090h] test eax,eax jz L00433000 mov dword ptr [ebp-08h],000003B2h L00433000: xor eax,eax mov ax,[esi+38h] cmp eax,000000DDh jz L0043303D cmp eax,00000097h jz L0043303D cmp eax,00000096h jz L0043303D cmp eax,00000034h jz L0043303D cmp eax,00000015h jz L0043303D cmp eax,0000005Fh jz L0043303D mov edx,[ebp-14h] lea ecx,[ebp-40h] push edi push ecx mov ecx,[ebp-18h] push edx mov edx,ebx call SUB_L0042F150 L0043303D: mov ecx,[esi+00000128h] test ecx,ecx jz L004331FF mov edx,[L006A9D98] xor eax,eax mov ax,[ecx+38h] xor ecx,ecx push esi lea eax,[eax+eax*4] mov cx,[edx+eax*8+0Ch] lea eax,[ebp-10h] push eax mov eax,[esi+00000144h] lea edx,[ebp-0Ch] push edx push eax xor edx,edx xor eax,eax mov dx,[esi+000001ACh] mov ax,[esi+000001B8h] add edx,eax mov eax,[ebp-1Ch] push edx xor edx,edx mov dx,[esi+000001AAh] push edx mov edx,[esi+00000140h] push eax push edx xor edx,edx mov dl,[esi+6Eh] call SUB_L00431CC0 mov edx,[ebp-0Ch] lea eax,[ebp-20h] lea ecx,[ebp-24h] push eax push ecx push edx push 00000006h push 00000005h mov ecx,L006AA860 call SUB_L00446620 test eax,eax jz L0043313D mov ecx,[ebp-10h] mov [ebp+08h],eax add eax,00000200h mov ecx,[eax+ecx*4+04h] test ecx,ecx jz L0043313D lea edx,[eax+ecx+08h] mov ecx,[esi+00000128h] mov eax,[ebp-08h] xor edi,edi mov di,[ecx+3Eh] mov ecx,[L0073EBE4] mov [ebp-28h],edx mov [ebp-2Ch],eax mov edx,[ecx] call [edx+00000090h] test eax,eax jz L00433106 mov edi,000003B2h L00433106: mov eax,[ebp-28h] mov edx,[ebp-14h] lea ecx,[ebp-40h] push eax push ecx mov ecx,[ebp-18h] push edx mov edx,ebx call SUB_L0042F150 mov eax,[ebp-28h] mov ecx,[ebp+08h] push eax mov eax,[ebp-14h] lea edx,[ebp-40h] push ecx mov ecx,[ebp-18h] push edx push eax push ebx mov edx,edi call SUB_L0042F2D0 mov ecx,[ebp-2Ch] mov [ebp-08h],ecx L0043313D: mov al,[ebp-01h] test al,al jnz L0043314D xor eax,eax mov ax,[esi+3Eh] mov [ebp-08h],eax L0043314D: mov ecx,[L0073EBE4] mov edx,[ecx] call [edx+00000090h] test eax,eax jz L00433166 mov dword ptr [ebp-08h],000003B2h L00433166: mov edx,[esi+00000144h] lea eax,[ebp-10h] push esi lea ecx,[ebp-0Ch] push eax push ecx xor eax,eax xor ecx,ecx mov ax,[esi+000001ACh] mov cx,[esi+000001B8h] push edx add eax,ecx mov ecx,[esi+00000140h] xor edx,edx mov dx,[esi+000001AAh] push eax mov eax,[ebp-1Ch] push edx push eax xor edx,edx mov dl,[esi+6Eh] push ecx mov cx,[esi+38h] call SUB_L00431CC0 mov ecx,[ebp-0Ch] lea edx,[ebp-20h] lea eax,[ebp-24h] push edx push eax push ecx push 00000006h push 00000005h mov ecx,L006AA860 call SUB_L00446620 test eax,eax jz L004334B0 mov cx,[eax+00000200h] mov edx,[ebp-10h] mov [ebp+08h],eax add eax,00000200h mov [esi+000001AAh],cx and ecx,0000FFFFh cmp edx,ecx jge L004334B0 mov edx,[eax+edx*4+04h] lea edi,[edx+eax+08h] L004331FF: mov eax,[ebp+08h] mov edx,[ebp-14h] push edi lea ecx,[ebp-40h] push eax push ecx mov ecx,[ebp-18h] push edx mov edx,[ebp-08h] push ebx call SUB_L0042F2D0 mov eax,[esi+0000011Ch] mov dword ptr [ebp-2Ch],00000000h test eax,eax jz L00433238 cmp word ptr [eax+38h],204Eh jnz L00433238 mov dword ptr [ebp-2Ch],00000001h L00433238: cmp word ptr [esi+38h],0190h jc L00433429 mov dword ptr [ebp-28h],00000001h L0043324B: mov al,[esi+6Eh] mov ecx,[ebp-28h] and eax,00000007h lea eax,[eax+eax*4] lea edx,[ecx+eax*4] add eax,edx mov edi,[L004C63F8+eax*4] cmp edi,00000015h jz L00433419 mov ebx,[esi+edi*4+000000C4h] test ebx,ebx mov [ebp+08h],ebx jnz L004332C1 mov ecx,[esi+78h] test ecx,80000000h jz L004332D9 call SUB_L0045C800 mov ebx,eax test ebx,ebx jz L004332D6 mov eax,[ebx] mov ecx,ebx call [eax+54h] test eax,eax jz L004332D6 mov eax,[ebx+000000A8h] mov ecx,ebx test eax,eax jz L004332D6 mov ecx,[ecx+edi*4+000000BCh] L004332AE: cmp [eax+78h],ecx jz L004332BC mov eax,[eax+40h] test eax,eax jnz L004332AE jmp L004332D6 L004332BC: mov [ebp+08h],eax jmp L004332D6 L004332C1: lea edx,[esi+000000C4h] mov ecx,edi call SUB_L00477CC0 test eax,eax jnz L00433419 L004332D6: mov ebx,[ebp+08h] L004332D9: test ebx,ebx jz L00433419 cmp dword ptr [ebp-2Ch],00000001h jnz L0043330A mov edx,[L006A9D98] xor eax,eax mov ax,[ebx+38h] lea ecx,[eax+eax*4] mov al,[edx+ecx*8+05h] cmp al,0Bh jz L00433419 cmp al,10h jz L00433419 L0043330A: mov edx,[L006A9D98] xor eax,eax mov ax,[ebx+38h] xor ecx,ecx lea eax,[eax+eax*4] mov cx,[edx+eax*8+0Ch] cmp ecx,00000190h jl L00433419 cmp ecx,000003E8h jge L00433419 lea eax,[ebp-10h] push esi push eax mov eax,[esi+00000144h] lea edx,[ebp-0Ch] push edx push eax xor edx,edx xor eax,eax mov dx,[esi+000001ACh] mov ax,[esi+000001B8h] add edx,eax mov eax,[ebp-1Ch] push edx xor edx,edx mov dx,[esi+000001AAh] push edx mov edx,[esi+00000140h] push eax push edx xor edx,edx mov dl,[esi+6Eh] call SUB_L00431CC0 mov edx,[ebp-0Ch] lea eax,[ebp-20h] lea ecx,[ebp-24h] push eax push ecx push edx push 00000006h push 00000005h mov ecx,L006AA860 call SUB_L00446620 test eax,eax jz L00433419 mov ecx,[ebp-10h] mov [ebp+08h],eax add eax,00000200h mov ecx,[eax+ecx*4+04h] test ecx,ecx jz L00433419 lea edi,[eax+ecx+08h] mov al,[ebp-01h] test al,al jnz L004333C1 xor eax,eax mov ax,[ebx+3Eh] mov [ebp-08h],eax L004333C1: mov ecx,[L0073EBE4] mov edx,[ecx] call [edx+00000090h] test eax,eax jz L004333DC mov dword ptr [ebp-08h],000003B2h jmp L004333FD L004333DC: mov ecx,[L006A9D98] xor eax,eax mov ax,[ebx+38h] lea eax,[eax+eax*4] test dword ptr [ecx+eax*8],00040000h jz L004333FD mov eax,[ebp-08h] or ah,80h mov [ebp-08h],eax L004333FD: mov edx,[ebp+08h] mov ecx,[ebp-14h] push edi lea eax,[ebp-40h] push edx mov edx,[ebp-30h] push eax push ecx mov ecx,[ebp-18h] push edx mov edx,[ebp-08h] call SUB_L0042F2D0 L00433419: mov eax,[ebp-28h] inc eax cmp eax,00000019h mov [ebp-28h],eax jl L0043324B L00433429: mov edi,[esi+000001C0h] test edi,edi jz L004334B0 L00433433: xor eax,eax mov ecx,L006A9DB8 mov ax,[edi+000000DAh] add eax,00004000h push eax call SUB_L004882D0 mov cx,[eax+04h] mov bx,[eax+06h] mov eax,[esi+04h] movsx edx,cx mov ecx,[esi+0Ch] add eax,ecx mov ecx,edx sar eax,1 sar ecx,1 sub eax,ecx mov ecx,[esi+10h] add ecx,[esi+08h] mov [ebp-50h],eax movsx ebx,bx mov [ebp+08h],ebx add eax,edx mov edx,[ebp+08h] mov [ebp-48h],eax sar ecx,1 sar ebx,1 sub ecx,ebx lea eax,[ebp-40h] mov [ebp-4Ch],ecx add ecx,edx mov [ebp-44h],ecx mov dl,[edi+000000D0h] lea ecx,[ebp-50h] push eax push ecx mov cx,[edi+000000DAh] call SUB_L0043D0F0 mov edi,[edi+00000100h] test edi,edi jnz L00433433 L004334B0: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 8 L004334C0: push ebp mov ebp,esp sub esp,0000002Ch push ebx push esi push edi mov esi,ecx call SUB_L004831C0 test eax,eax jz L004334E2 mov ecx,esi call SUB_L00483FA0 pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L004334E2: movsx edx,[esi+22h] movsx ecx,[esi+20h] mov eax,[L006AABAC] sub eax,edx add eax,ecx lea edi,[eax+eax*4] lea eax,[eax+edi*2] mov edi,[L006BAE84] lea ebx,[edi+eax*2+01h] mov eax,[esi+00000190h] mov edi,00000005h mov [ebp-10h],ebx sub edi,eax lea eax,[edx+ecx] lea ecx,[eax+eax*4] lea edx,[eax+ecx*2] shl edx,1 cmp word ptr [esi+38h],03E8h lea eax,[edx+edi*4] mov [esi+000000B4h],eax mov ecx,[L006BAE88] lea edi,[ecx+eax] mov [ebp-2Ch],edi jc L0043354E mov [esi+08h],edi mov [esi+10h],edi mov [esi+0Ch],ebx mov [esi+04h],ebx pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L0043354E: mov edx,[esi] mov ecx,esi call [edx+00000090h] test eax,eax jz L00433567 xor eax,eax mov ax,[esi+38h] sub eax,00000002h jmp L0043356D L00433567: xor eax,eax mov ax,[esi+38h] L0043356D: mov [ebp-04h],eax mov eax,[esi] mov ecx,esi call [eax+00000088h] lea ecx,[ebp-0Ch] push esi push ecx mov ecx,[L006695B0] lea edx,[ebp-08h] mov [ebp-20h],eax push edx push ecx xor edx,edx xor ecx,ecx mov dx,[esi+000001B8h] mov cx,[esi+000001ACh] add edx,ecx mov ecx,[ebp-04h] push edx xor edx,edx mov dx,[esi+000001AAh] push edx push eax mov eax,[L006695A4] xor edx,edx mov dl,[esi+6Eh] push eax call SUB_L00431CC0 mov cl,[esi+6Eh] lea eax,[ebp-24h] and ecx,0000007Fh push eax mov edx,[L004C6788+ecx*4] lea ecx,[ebp-28h] mov [ebp-18h],edx mov edx,[ebp-08h] push ecx push edx push 00000006h push 00000005h mov ecx,L006AA860 call SUB_L00446620 test eax,eax jnz L00433601 mov [esi+08h],edi mov [esi+10h],edi mov [esi+0Ch],ebx mov [esi+04h],ebx pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00433601: mov cx,[eax+00000200h] mov edx,[ebp-0Ch] add eax,00000200h mov [esi+000001AAh],cx and ecx,0000FFFFh cmp edx,ecx jl L00433634 mov [esi+08h],edi mov [esi+10h],edi mov [esi+0Ch],ebx mov [esi+04h],ebx pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00433634: mov ecx,[eax+edx*4+04h] test ecx,ecx jnz L0043364F mov [esi+08h],edi mov [esi+10h],edi mov [esi+0Ch],ebx mov [esi+04h],ebx pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L0043364F: mov dx,[eax+ecx] mov bx,[eax+ecx+04h] mov [ebp-14h],dx mov dx,[eax+ecx+02h] mov ax,[eax+ecx+06h] mov [ebp-1Ch],ebx mov [ebp-04h],ax mov eax,[ebp-18h] test eax,eax jz L0043367B sub ebx,[ebp-14h] mov ecx,ebx jmp L0043367E L0043367B: mov ecx,[ebp-14h] L0043367E: movsx ebx,dx mov eax,edi sub eax,ebx movsx ebx,cx mov ecx,[ebp-10h] mov [esi+10h],eax sub ecx,ebx movsx ebx,[ebp-04h] sub eax,ebx mov [esi+04h],ecx mov [esi+08h],eax movsx eax,[ebp-1Ch] add ecx,eax test dx,dx mov [esi+0Ch],ecx jl L004336B5 mov eax,[ebp-04h] mov [esi+10h],edi add eax,edx mov [ebp-04h],eax L004336B5: sub ecx,[ebp-10h] add ecx,00000016h cmp ecx,0000002Ch mov [esi+000000B8h],ecx jg L004336D2 mov dword ptr [esi+000000B8h],00000000h jmp L004336E9 L004336D2: mov eax,2E8BA2E9h imul ecx sar edx,03h mov ecx,edx shr ecx,1Fh add edx,ecx mov [esi+000000B8h],edx L004336E9: test byte ptr [esi+00000098h],80h jnz L00433736 mov edx,[esi] mov ecx,esi call [edx+00000090h] test eax,eax jnz L00433736 mov ax,[esi+38h] cmp eax,000000DDh jz L00433736 cmp eax,00000097h jz L00433736 cmp eax,00000096h jz L00433736 cmp eax,00000034h jz L00433736 cmp eax,00000015h jz L00433736 cmp eax,0000005Fh jz L00433736 movsx eax,[ebp-04h] mov ecx,[esi+0Ch] sar eax,1 add ecx,eax mov [esi+0Ch],ecx L00433736: cmp word ptr [esi+38h],0190h jc L004338A2 mov edi,00000001h mov [ebp-04h],edi L0043374A: cmp edi,00000015h jz L00433895 mov eax,[esi+edi*4+000000C4h] test eax,eax jz L00433895 lea edx,[esi+000000C4h] mov ecx,edi call SUB_L00477CC0 test eax,eax jnz L00433895 mov ecx,[esi+edi*4+000000C4h] mov ax,[ecx+38h] xor ecx,ecx lea edx,[eax+eax*4] mov eax,[L006A9D98] mov cx,[eax+edx*8+0Ch] cmp ecx,00000190h jl L00433895 cmp ecx,000003E8h jge L00433895 lea edx,[ebp-0Ch] push esi push edx mov edx,[L006695B0] lea eax,[ebp-08h] push eax push edx xor eax,eax xor edx,edx mov ax,[esi+000001B8h] mov dx,[esi+000001ACh] add eax,edx mov edx,[ebp-20h] push eax xor eax,eax mov ax,[esi+000001AAh] push eax mov eax,[L006695A4] push edx xor edx,edx mov dl,[esi+6Eh] push eax call SUB_L00431CC0 mov eax,[ebp-08h] lea ecx,[ebp-24h] lea edx,[ebp-28h] push ecx push edx push eax push 00000006h push 00000005h mov ecx,L006AA860 call SUB_L00446620 test eax,eax jz L00433895 mov ecx,[ebp-0Ch] add eax,00000200h mov ecx,[eax+ecx*4+04h] test ecx,ecx jz L00433895 mov di,[eax+ecx] mov dx,[eax+ecx+02h] mov bx,[eax+ecx+04h] mov ax,[eax+ecx+06h] mov ecx,[ebp-18h] test ecx,ecx jz L0043383E mov ecx,ebx sub ecx,edi mov edi,ecx L0043383E: movsx ecx,dx mov edx,[ebp-2Ch] movsx edi,di sub edx,ecx mov ecx,[ebp-10h] sub ecx,edi movsx edi,ax mov eax,edx sub eax,edi movsx edi,bx lea ebx,[ecx+edi] mov [ebp-14h],ebx mov ebx,[ebp-04h] cmp ebx,00000019h jnz L0043386F mov ebx,[ebp-14h] sar edi,1 add ebx,edi jmp L00433872 L0043386F: mov ebx,[ebp-14h] L00433872: cmp ebx,[esi+0Ch] jle L0043387A mov [esi+0Ch],ebx L0043387A: cmp ecx,[esi+04h] jge L00433882 mov [esi+04h],ecx L00433882: cmp edx,[esi+10h] jle L0043388A mov [esi+10h],edx L0043388A: cmp eax,[esi+08h] jge L00433892 mov [esi+08h],eax L00433892: mov edi,[ebp-04h] L00433895: inc edi cmp edi,0000001Ah mov [ebp-04h],edi jl L0043374A L004338A2: mov ebx,[esi+000001C0h] xor eax,eax cmp ebx,eax mov [esi+000001CCh],eax mov [esi+000001C8h],eax jz L00433931 L004338BA: xor edx,edx mov ecx,L006A9DB8 mov dx,[ebx+000000DAh] add edx,00004000h push edx call SUB_L004882D0 mov di,[eax+06h] mov edx,[esi+0Ch] movsx eax,[eax+04h] mov ecx,[esi+04h] sub eax,edx add eax,ecx test eax,eax jle L004338FC sar eax,1 add [esi+000001C8h],eax sub ecx,eax add eax,edx mov [esi+04h],ecx mov [esi+0Ch],eax L004338FC: mov edx,[esi+10h] mov ecx,[esi+08h] movsx eax,di sub eax,edx add eax,ecx test eax,eax jle L00433927 mov edi,[esi+000001CCh] sar eax,1 add edi,eax sub ecx,eax add eax,edx mov [esi+000001CCh],edi mov [esi+08h],ecx mov [esi+10h],eax L00433927: mov ebx,[ebx+00000100h] test ebx,ebx jnz L004338BA L00433931: pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 L00433940: push ebp mov ebp,esp sub esp,00000044h push ebx push esi mov esi,ecx push edi cmp word ptr [esi+38h],03E8h jnc L00433F1A call SUB_L004831C0 test eax,eax jz L00433974 mov eax,[ebp+08h] mov ecx,esi push eax call SUB_L00484370 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L00433974: mov ecx,[ebp+08h] mov edi,[L006AABAC] mov edx,[ecx] mov [ebp-34h],edx mov eax,[ecx+04h] mov [ebp-30h],eax mov edx,[ecx+08h] movsx eax,[esi+20h] mov [ebp-2Ch],edx mov ecx,[ecx+0Ch] movsx edx,[esi+22h] sub eax,edx mov [ebp-28h],ecx add eax,edi lea edx,[eax+eax*4] lea eax,[eax+edx*2] mov edx,[L006BAE84] lea ebx,[edx+eax*2+01h] mov eax,[esi+000000B4h] mov edx,[L006BAE88] mov [ebp-0Ch],ebx add edx,eax mov [ebp+08h],edx mov edx,[L004DAFA4] test edx,edx jnz L004339E3 cmp word ptr [esi+38h],0190h jnc L004339E3 sub eax,[L004DAF44] cmp ecx,eax jle L004339E3 mov [ebp-28h],eax L004339E3: mov eax,[esi] mov ecx,esi call [eax+00000090h] test eax,eax jz L004339FC xor edi,edi mov di,[esi+38h] sub edi,00000002h jmp L00433A02 L004339FC: xor edi,edi mov di,[esi+38h] L00433A02: mov edx,[esi] mov ecx,esi call [edx+00000088h] lea ecx,[ebp-08h] push esi push ecx mov ecx,[L006695B0] lea edx,[ebp-04h] mov [ebp-18h],eax push edx push ecx xor edx,edx xor ecx,ecx mov dx,[esi+000001ACh] mov cx,[esi+000001B8h] add edx,ecx mov ecx,edi push edx xor edx,edx mov dx,[esi+000001AAh] push edx push eax mov eax,[L006695A4] xor edx,edx mov dl,[esi+6Eh] push eax call SUB_L00431CC0 mov cl,[esi+6Eh] lea eax,[ebp-1Ch] and ecx,0000007Fh push eax mov edx,[L004C6788+ecx*4] lea ecx,[ebp-20h] mov [ebp-10h],edx mov edx,[ebp-04h] push ecx push edx push 00000006h push 00000005h mov ecx,L006AA860 call SUB_L00446620 test eax,eax jz L00433F1A mov cx,[eax+00000200h] mov edx,[ebp-08h] mov [ebp-14h],eax add eax,00000200h mov [esi+000001AAh],cx and ecx,0000FFFFh cmp edx,ecx jge L00433F1A mov ecx,[eax+edx*4+04h] test ecx,ecx jnz L00433ACA mov eax,[ebp+08h] mov [esi+0Ch],ebx mov [esi+08h],eax mov [esi+10h],eax mov [esi+04h],ebx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L00433ACA: lea ebx,[eax+ecx+08h] mov al,[esi+00000098h] xor edi,edi and al,80h mov di,[esi+3Eh] jz L00433AE3 mov edi,000003B2h L00433AE3: test al,al jnz L00433B31 mov eax,[esi] mov ecx,esi call [eax+00000090h] test eax,eax jnz L00433B31 mov ax,[esi+38h] cmp eax,000000DDh jz L00433B31 cmp eax,00000097h jz L00433B31 cmp eax,00000096h jz L00433B31 cmp eax,00000034h jz L00433B31 cmp eax,00000015h jz L00433B31 cmp eax,0000005Fh jz L00433B31 mov edx,[ebp+08h] lea ecx,[ebp-34h] push ebx push ecx mov ecx,[ebp-10h] push edx mov edx,[ebp-0Ch] call SUB_L0042F150 L00433B31: mov ecx,[esi+00000128h] test ecx,ecx jz L00433CC7 mov edx,[L006A9D98] xor eax,eax mov ax,[ecx+38h] xor ecx,ecx push esi lea eax,[eax+eax*4] mov cx,[edx+eax*8+0Ch] lea eax,[ebp-08h] push eax mov eax,[L006695B0] lea edx,[ebp-04h] push edx push eax xor edx,edx xor eax,eax mov dx,[esi+000001ACh] mov ax,[esi+000001B8h] add edx,eax mov eax,[ebp-18h] push edx xor edx,edx mov dx,[esi+000001AAh] push edx mov edx,[L006695A4] push eax push edx xor edx,edx mov dl,[esi+6Eh] call SUB_L00431CC0 mov edx,[ebp-04h] lea eax,[ebp-1Ch] lea ecx,[ebp-20h] push eax push ecx push edx push 00000006h push 00000005h mov ecx,L006AA860 call SUB_L00446620 test eax,eax jz L00433C19 mov ecx,[ebp-08h] mov [ebp-14h],eax add eax,00000200h mov ecx,[eax+ecx*4+04h] test ecx,ecx jz L00433C19 lea edi,[eax+ecx+08h] mov al,[esi+00000098h] test al,80h jz L00433BDE mov ebx,000003B2h jmp L00433BEA L00433BDE: mov edx,[esi+00000128h] xor ebx,ebx mov bx,[edx+3Eh] L00433BEA: mov ecx,[ebp+08h] mov edx,[ebp-0Ch] lea eax,[ebp-34h] push edi push eax push ecx mov ecx,[ebp-10h] call SUB_L0042F150 mov edx,[ebp-14h] mov ecx,[ebp+08h] push edi lea eax,[ebp-34h] push edx mov edx,[ebp-0Ch] push eax push ecx mov ecx,[ebp-10h] push edx mov edx,ebx call SUB_L0042F2D0 L00433C19: mov edx,[L006695B0] lea eax,[ebp-08h] push esi lea ecx,[ebp-04h] push eax push ecx xor eax,eax xor ecx,ecx mov ax,[esi+000001ACh] mov cx,[esi+000001B8h] push edx add eax,ecx mov ecx,[L006695A4] xor edx,edx mov dx,[esi+000001AAh] push eax mov eax,[ebp-18h] push edx push eax xor edx,edx mov dl,[esi+6Eh] push ecx mov cx,[esi+38h] call SUB_L00431CC0 mov ecx,[ebp-04h] lea edx,[ebp-1Ch] lea eax,[ebp-20h] push edx push eax push ecx push 00000006h push 00000005h mov ecx,L006AA860 call SUB_L00446620 test eax,eax jz L00433F1A mov cx,[eax+00000200h] mov edx,[ebp-08h] mov [ebp-14h],eax add eax,00000200h mov [esi+000001AAh],cx and ecx,0000FFFFh cmp edx,ecx jge L00433F1A mov edx,[eax+edx*4+04h] xor edi,edi mov di,[esi+3Eh] lea ebx,[edx+eax+08h] mov al,[esi+00000098h] test al,80h jz L00433CC7 mov edi,000003B2h L00433CC7: mov eax,[ebp-14h] mov edx,[ebp+08h] push ebx lea ecx,[ebp-34h] push eax mov eax,[ebp-0Ch] push ecx mov ecx,[ebp-10h] push edx push eax mov edx,edi call SUB_L0042F2D0 mov eax,[esi+0000011Ch] mov dword ptr [ebp-14h],00000000h test eax,eax jz L00433D02 cmp word ptr [eax+38h],204Eh jnz L00433D02 mov dword ptr [ebp-14h],00000001h L00433D02: cmp word ptr [esi+38h],0190h jc L00433E92 mov ecx,00000001h mov [ebp-24h],ecx L00433D16: mov al,[esi+6Eh] and eax,00000007h lea eax,[eax+eax*4] lea ecx,[ecx+eax*4] add eax,ecx mov edi,[L004C63F8+eax*4] cmp edi,00000015h jz L00433E82 mov eax,[esi+edi*4+000000C4h] test eax,eax jz L00433E82 lea edx,[esi+000000C4h] mov ecx,edi call SUB_L00477CC0 test eax,eax jnz L00433E82 mov eax,[ebp-14h] mov edx,[L006A9D98] cmp eax,00000001h jnz L00433D8E mov ecx,[esi+edi*4+000000C4h] test ecx,ecx jz L00433D8E xor eax,eax mov ax,[ecx+38h] lea eax,[eax+eax*4] mov al,[edx+eax*8+05h] cmp al,0Bh jz L00433E82 cmp al,10h jz L00433E82 L00433D8E: mov ecx,[esi+edi*4+000000C4h] xor eax,eax mov ax,[ecx+38h] xor ecx,ecx lea eax,[eax+eax*4] mov cx,[edx+eax*8+0Ch] cmp ecx,00000190h jl L00433E82 cmp ecx,000003E8h jge L00433E82 lea edx,[ebp-08h] push esi push edx mov edx,[L006695B0] lea eax,[ebp-04h] push eax push edx xor eax,eax xor edx,edx mov ax,[esi+000001ACh] mov dx,[esi+000001B8h] add eax,edx mov edx,[ebp-18h] push eax xor eax,eax mov ax,[esi+000001AAh] push eax mov eax,[L006695A4] push edx xor edx,edx mov dl,[esi+6Eh] push eax call SUB_L00431CC0 mov eax,[ebp-04h] lea ecx,[ebp-1Ch] lea edx,[ebp-20h] push ecx push edx push eax push 00000006h push 00000005h mov ecx,L006AA860 call SUB_L00446620 test eax,eax jz L00433E82 mov ecx,[ebp-08h] mov ebx,eax add eax,00000200h mov ecx,[eax+ecx*4+04h] test ecx,ecx jz L00433E82 mov edi,[esi+edi*4+000000C4h] lea eax,[eax+ecx+08h] mov cl,[esi+00000098h] xor edx,edx mov dx,[edi+3Eh] test cl,80h jz L00433E53 mov edx,000003B2h jmp L00433E6C L00433E53: xor ecx,ecx mov cx,[edi+38h] mov edi,[L006A9D98] lea ecx,[ecx+ecx*4] test byte ptr [edi+ecx*8+02h],04h jz L00433E6C or dh,80h L00433E6C: mov ecx,[ebp+08h] push eax lea eax,[ebp-34h] push ebx push eax mov eax,[ebp-0Ch] push ecx mov ecx,[ebp-10h] push eax call SUB_L0042F2D0 L00433E82: mov ecx,[ebp-24h] inc ecx cmp ecx,00000019h mov [ebp-24h],ecx jl L00433D16 L00433E92: mov edi,[esi+000001C0h] test edi,edi jz L00433F1A L00433E9C: xor ecx,ecx mov cx,[edi+000000DAh] add ecx,00004000h push ecx mov ecx,L006A9DB8 call SUB_L004882D0 mov cx,[eax+04h] mov bx,[eax+06h] mov eax,[esi+0Ch] movsx edx,cx mov ecx,[esi+04h] add eax,ecx mov ecx,edx sar eax,1 sar ecx,1 sub eax,ecx mov ecx,[esi+08h] add ecx,[esi+10h] mov [ebp-44h],eax movsx ebx,bx mov [ebp+08h],ebx add eax,edx mov edx,[ebp+08h] mov [ebp-3Ch],eax sar ecx,1 sar ebx,1 sub ecx,ebx lea eax,[ebp-34h] mov [ebp-40h],ecx add ecx,edx mov [ebp-38h],ecx mov dl,[edi+000000D0h] lea ecx,[ebp-44h] push eax push ecx mov cx,[edi+000000DAh] call SUB_L0043D0F0 mov edi,[edi+00000100h] test edi,edi jnz L00433E9C L00433F1A: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00433F30: push ebp mov ebp,esp mov eax,[ebp+08h] mov edx,[ebp+0Ch] push esi mov [ecx+38h],eax mov esi,[edx] sub esp,00000008h mov eax,esp add ecx,00000020h mov dx,[edx+04h] mov [eax],esi mov [eax+04h],dx call SUB_L00433F60 pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 8 SUB_L00433F60: push ebp mov ebp,esp mov ax,[ebp+08h] mov dx,[ebp+0Ah] mov [ecx],ax mov ax,[ebp+0Ch] mov [ecx+02h],dx mov [ecx+04h],ax pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 4 L00433F80: mov eax,[ecx+2Ch] lea edx,[eax+eax*4] lea eax,[eax+edx*2] movsx edx,[ecx+24h] shl eax,1 shl edx,02h sub eax,edx mov [ecx+08h],eax add eax,0000002Ch mov [ecx+10h],eax mov eax,[ecx+28h] lea edx,[eax+eax*4] lea eax,[eax+edx*2] lea eax,[eax+eax-16h] mov [ecx+04h],eax add eax,0000002Ch mov [ecx+0Ch],eax retn ;------------------------------------------------------------------------------ Align 16 L00433FC0: push ebp mov ebp,esp push esi mov esi,ecx cmp dword ptr [esi+38h],00000002h jnz L00433FD5 mov eax,[L004DAF9C] test eax,eax jz L0043402E L00433FD5: mov ecx,[L0073EBE4] mov eax,[ecx] call [eax+00000090h] test eax,eax jz L0043400D mov edx,[esi+08h] mov eax,[L004DAF44] mov ecx,[ebp+08h] sub edx,eax mov eax,[L004DAF40] push ecx mov ecx,[esi+38h] push edx mov edx,[esi+04h] sub edx,eax call SUB_L00459550 pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ L0043400D: mov eax,[ebp+08h] mov ecx,[esi+08h] mov edx,[esi+04h] push eax mov eax,[L004DAF44] sub ecx,eax mov eax,[L004DAF40] push ecx mov ecx,[esi+38h] sub edx,eax call SUB_L004593F0 L0043402E: pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00434040: push ebp mov ebp,esp sub esp,000000C4h mov eax,[ebp+08h] push ebx push esi push edi mov edi,ecx sub esp,00000008h mov ecx,[ebp+0Ch] mov edx,esp mov [edi+38h],eax lea esi,[edi+20h] mov eax,[ecx] mov [ebp-3Ch],edi mov [edx],eax mov [ebp+08h],esi mov cx,[ecx+04h] mov [edx+04h],cx mov ecx,esi call SUB_L00433F60 mov eax,[ebp+10h] mov dl,[eax] mov [edi+6Ch],dl mov cl,[eax+01h] mov [edi+6Dh],cl mov dl,[eax+02h] movsx ecx,[edi+6Ch] mov [edi+6Eh],dl mov al,[eax+03h] movsx edx,dl add ecx,0000000Bh mov [edi+6Fh],al cmp ecx,edx jg L004340A9 mov dword ptr [edi+70h],00000001h jmp L004340B0 L004340A9: mov dword ptr [edi+70h],00000000h L004340B0: movsx eax,[edi+22h] mov dword ptr [ebp-40h],00000000h lea ebx,[eax-01h] inc eax cmp ebx,eax mov [ebp-38h],ebx jg L00434308 jmp L004340CF L004340CC: mov esi,[ebp+08h] L004340CF: movsx eax,[esi] lea esi,[eax-01h] inc eax cmp esi,eax mov [ebp-48h],esi jg L004342F7 lea eax,[esi+ebx] lea ecx,[eax+eax*4] lea eax,[eax+ecx*2] shl eax,1 mov [ebp-44h],eax mov eax,[ebp-40h] lea edx,[eax+eax*2] lea edi,[ebp+edx*4-000000BCh] mov [ebp-50h],edi L004340FF: push ebx push esi mov ecx,L006AAA98 call SUB_L0044F910 mov ecx,esi sub ecx,ebx mov ebx,[L006AABAC] add ecx,ebx movsx ebx,[eax+01h] mov [ebp+0Ch],ebx lea edx,[ecx+ecx*4] shl ebx,02h mov [ebp-20h],ebx lea ecx,[ecx+edx*2] movsx ebx,[eax+02h] mov edx,[ebp-44h] mov [ebp+08h],ebx shl ebx,02h mov [ebp-14h],ebx add edx,FFFFFFEAh movsx ebx,[eax+03h] mov [ebp-30h],edx movsx edx,[eax] lea eax,[00000000h+ebx*4] mov [ebp-08h],eax lea esi,[00000000h+edx*4] mov eax,edx mov edx,[ebp+08h] sub eax,edx cdq xor eax,edx sub eax,edx mov [ebp+08h],eax mov eax,[ebp+0Ch] sub eax,ebx cdq xor eax,edx sub eax,edx mov edx,[ebp+08h] shl ecx,1 cmp edx,eax jg L00434205 mov eax,[ebp-30h] mov edx,[ebp-08h] sub edx,esi lea ebx,[eax+2Ch] sub ebx,eax mov [ebp-04h],ebx mov ebx,[ebp-14h] sub ebx,esi mov [ebp+08h],ebx lea ebx,[eax+16h] sub ebx,eax mov [ebp+0Ch],ebx mov eax,ebx mov ebx,[ebp+08h] imul eax,ebx mov eax,[ebp-20h] sub eax,esi mov esi,edx sub esi,eax mov [ebp+10h],eax imul esi,[ebp-04h] lea eax,[ecx-16h] sub eax,ecx mov [ebp+08h],eax lea eax,[ecx+16h] sar esi,1 mov [edi-08h],esi sub eax,ecx mov ecx,[ebp+08h] xor esi,esi imul esi,[ebp+10h] imul ecx,ebx add esi,ecx xor ecx,ecx imul edx,ecx imul ecx,[ebp+0Ch] sub esi,edx mov edx,eax imul edx,ebx sub esi,edx mov edx,[ebp+08h] sub eax,edx mov ebx,[ebp-38h] imul eax,[ebp-04h] sar esi,1 sar eax,1 mov [edi-04h],esi mov esi,[ebp-48h] mov [edi],eax jmp L004342C5 L00434205: mov eax,[ebp-08h] mov edx,[ebp-20h] mov ebx,[ebp-30h] sub eax,edx mov [ebp-54h],eax mov dword ptr [ebp+08h],00000000h lea edx,[ebx+2Ch] add ebx,00000016h sub edx,ebx mov [ebp-24h],ebx mov ebx,[ebp-20h] mov [ebp-4Ch],edx mov edx,[ebp-14h] sub edx,ebx mov ebx,[ebp-30h] mov [ebp-04h],edx mov edx,[ebp-24h] sub edx,ebx mov ebx,[ebp-20h] mov [ebp+0Ch],edx mov edx,[ebp-08h] sub edx,esi sub ebx,esi mov esi,edx mov [ebp+10h],ebx sub esi,ebx mov ebx,[ebp-4Ch] imul esi,[ebp+0Ch] imul ebx,eax mov eax,[ebp-04h] add esi,ebx imul eax,[ebp+08h] sub esi,eax lea eax,[ecx+16h] sar esi,1 mov [edi-08h],esi lea edi,[ecx-16h] mov ebx,ecx mov esi,edi sub ebx,eax sub esi,eax mov [ebp-58h],ebx sub edi,ecx mov ebx,esi mov [ebp+08h],edi imul ebx,[ebp-04h] imul edi,[ebp+10h] sub eax,ecx mov ecx,[ebp-58h] imul edx,eax imul esi,[ebp-4Ch] add ebx,edi mov edi,[ebp-50h] sub ebx,edx mov edx,ecx imul edx,[ebp-54h] sub ebx,edx mov edx,[ebp+08h] sub eax,edx xor edx,edx imul eax,[ebp+0Ch] imul ecx,edx add eax,ecx sub eax,esi mov esi,[ebp-48h] sar ebx,1 sar eax,1 mov [edi-04h],ebx mov ebx,[ebp-38h] mov [edi],eax L004342C5: mov eax,[ebp-40h] add edi,0000000Ch inc eax inc esi mov [ebp-40h],eax mov eax,[ebp-44h] add eax,00000016h mov [ebp-50h],edi mov [ebp-44h],eax mov eax,[ebp-3Ch] add eax,00000020h mov [ebp-48h],esi mov [ebp+08h],eax movsx ecx,[eax] inc ecx cmp esi,ecx jle L004340FF mov edi,[ebp-3Ch] L004342F7: movsx edx,[edi+22h] inc ebx inc edx cmp ebx,edx mov [ebp-38h],ebx jle L004340CC L00434308: mov eax,[ebp-000000C4h] mov ecx,[ebp-000000B8h] mov edx,[ebp-000000C0h] mov esi,[ebp-000000A0h] mov edi,[ebp-000000B0h] mov ebx,[ebp-0000009Ch] add eax,ecx mov ecx,[ebp-000000B4h] add ecx,edx mov edx,[ebp-000000BCh] add eax,esi mov esi,[ebp-00000094h] add edx,edi mov edi,[ebp-00000098h] add eax,esi add ecx,ebx mov ebx,[ebp-00000090h] add edx,edi mov edi,[ebp-0000008Ch] add ecx,ebx sar eax,02h add edx,edi mov edi,eax sar ecx,02h imul edi,eax mov [ebp-34h],eax mov eax,ecx sar edx,02h imul eax,ecx mov [ebp-30h],ecx mov ecx,edx imul ecx,edx add edi,eax mov [ebp-2Ch],edx add edi,ecx mov [ebp+08h],edi fild dword ptr [ebp+08h] fsqrt fdivr dword ptr [L004B9CA8] fmul dword ptr [L004B9CAC] fild dword ptr [ebp-34h] fmul ST,ST(1) call SUB_L0049BB80 fild dword ptr [ebp-30h] mov [ebp-34h],eax fmul ST,ST(1) call SUB_L0049BB80 fild dword ptr [ebp-2Ch] mov [ebp-30h],eax fmul ST,ST(1) call SUB_L0049BB80 mov edx,[ebp-000000ACh] mov ecx,[ebp-00000088h] mov [ebp-2Ch],eax mov eax,[ebp-000000B8h] add eax,edx mov edx,[ebp-000000B4h] mov edi,[ebp-00000084h] add eax,esi add eax,ecx mov ecx,[ebp-000000A8h] add ecx,edx mov edx,[ebp-000000A4h] add ecx,ebx add ecx,edi mov edi,[ebp-000000B0h] add edx,edi mov edi,[ebp-0000008Ch] add edx,edi mov edi,[ebp-80h] sar ecx,02h add edx,edi mov edi,ecx sar eax,02h sar edx,02h imul edi,ecx fstp ST(0) mov [ebp-24h],ecx mov [ebp-28h],eax mov [ebp-20h],edx mov ecx,edx imul ecx,edx mov edx,eax add edi,ecx imul edx,eax add edi,edx mov [ebp+08h],edi fild dword ptr [ebp+08h] fsqrt fdivr dword ptr [L004B9CA8] fmul dword ptr [L004B9CAC] fild dword ptr [ebp-28h] fmul ST,ST(1) call SUB_L0049BB80 fild dword ptr [ebp-24h] mov [ebp-28h],eax fmul ST,ST(1) call SUB_L0049BB80 fild dword ptr [ebp-20h] mov [ebp-24h],eax fmul ST,ST(1) call SUB_L0049BB80 mov edx,[ebp-70h] mov ecx,[ebp-64h] mov [ebp-20h],eax mov eax,[ebp-00000088h] add eax,esi mov edi,[ebp-60h] add eax,edx mov edx,[ebp-6Ch] add eax,ecx mov ecx,[ebp-00000084h] add ecx,ebx add ecx,edx mov edx,[ebp-0000008Ch] add ecx,edi mov edi,[ebp-80h] add edx,edi mov edi,[ebp-68h] add edx,edi mov edi,[ebp-5Ch] sar ecx,02h add edx,edi mov edi,ecx sar edx,02h imul edi,ecx fstp ST(0) mov [ebp-18h],ecx mov ecx,edx sar eax,02h imul ecx,edx mov [ebp-14h],edx mov edx,eax imul edx,eax add edi,ecx mov [ebp-1Ch],eax add edi,edx mov [ebp+08h],edi fild dword ptr [ebp+08h] fsqrt fdivr dword ptr [L004B9CA8] fmul dword ptr [L004B9CAC] fild dword ptr [ebp-1Ch] fmul ST,ST(1) call SUB_L0049BB80 fild dword ptr [ebp-18h] mov [ebp-1Ch],eax fmul ST,ST(1) call SUB_L0049BB80 fild dword ptr [ebp-14h] mov [ebp-18h],eax fmul ST,ST(1) call SUB_L0049BB80 mov edx,[ebp-70h] mov [ebp-14h],eax mov eax,[ebp-000000A0h] add eax,esi mov esi,[ebp-7Ch] add eax,esi add eax,edx fstp ST(0) sar eax,02h mov ecx,[ebp-0000009Ch] mov edi,[ebp-78h] mov esi,[ebp-6Ch] mov edx,[ebp-00000098h] add ecx,ebx mov ebx,[ebp-74h] add ecx,edi mov edi,[ebp-68h] add ecx,esi mov esi,[ebp-0000008Ch] add edx,esi mov [ebp-10h],eax add edx,ebx add edx,edi sar edx,02h sar ecx,02h mov [ebp-08h],edx mov edx,ecx mov [ebp-0Ch],ecx imul edx,ecx mov ecx,[ebp-08h] mov esi,ecx imul esi,ecx mov ecx,eax add edx,esi imul ecx,eax add edx,ecx mov [ebp+08h],edx fild dword ptr [ebp+08h] fsqrt fdivr dword ptr [L004B9CA8] fmul dword ptr [L004B9CAC] fild dword ptr [ebp-10h] fmul ST,ST(1) call SUB_L0049BB80 fild dword ptr [ebp-0Ch] mov [ebp-10h],eax fmul ST,ST(1) call SUB_L0049BB80 fild dword ptr [ebp-08h] mov [ebp-0Ch],eax fmul ST,ST(1) call SUB_L0049BB80 mov edi,[ebp-3Ch] mov [ebp-08h],eax fstp ST(0) lea ebx,[edi+3Ch] lea esi,[ebp-30h] mov dword ptr [ebp+08h],00000004h L004345BD: mov ecx,[esi-04h] mov edx,[esi+04h] imul ecx,[L004CC808] imul edx,[L004CC810] mov eax,[L004CC80C] add ecx,edx imul eax,[esi] add ecx,eax mov eax,10624DD3h imul ecx sar edx,06h mov ecx,edx shr ecx,1Fh add edx,ecx jns L004345F4 xor edx,edx jmp L004345FE L004345F4: cmp edx,0000000Fh jle L004345FE mov edx,0000000Fh L004345FE: mov eax,[ebp+08h] mov [ebx],edx add ebx,00000004h add esi,0000000Ch dec eax mov [ebp+08h],eax jnz L004345BD mov dl,[edi+6Dh] mov al,[edi+6Ch] lea esi,[edi+6Ch] cmp dl,al mov dword ptr [edi+64h],00000000h mov dword ptr [edi+68h],00000002h jle L00434631 mov dword ptr [edi+64h],00000001h L00434631: mov al,[edi+6Fh] mov cl,[edi+6Eh] cmp al,cl mov ebx,00000003h jle L00434643 mov [edi+68h],ebx L00434643: mov ecx,esi call SUB_L0045A350 test eax,eax jz L00434697 mov ecx,[edi+64h] mov dl,[edi+6Eh] mov al,[edi+ecx+6Ch] mov ecx,00000002h cmp dl,al jle L00434664 mov [edi+64h],ecx L00434664: mov eax,[edi+68h] mov dl,[esi] cmp dl,[edi+eax+6Ch] jle L00434676 xor eax,eax mov [edi+68h],eax jmp L00434678 L00434676: xor eax,eax L00434678: mov [edi+4Ch],eax mov dword ptr [edi+50h],00000001h mov [edi+54h],ecx mov [edi+58h],ecx mov [edi+5Ch],ebx mov [edi+60h],eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ L00434697: mov eax,[edi+64h] mov cl,[edi+6Fh] cmp cl,[edi+eax+6Ch] jle L004346A6 mov [edi+64h],ebx L004346A6: mov edx,[edi+68h] mov al,[edi+6Dh] mov cl,[edi+edx+6Ch] cmp al,cl mov eax,00000001h jle L004346BC mov [edi+68h],eax L004346BC: mov dword ptr [edi+4Ch],00000000h mov [edi+50h],eax mov [edi+54h],ebx mov [edi+58h],eax mov dword ptr [edi+5Ch],00000002h mov [edi+60h],ebx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 4 L004346E0: push ebp mov ebp,esp push ecx mov eax,[ecx+28h] push ebx push esi push edi lea edx,[eax+eax*4] lea eax,[eax+edx*2] mov edx,[ecx+2Ch] lea eax,[eax+eax-16h] mov [ecx+04h],eax add eax,0000002Ch mov [ecx+0Ch],eax movsx eax,[ecx+6Ch] shl eax,02h mov esi,eax lea eax,[edx+edx*4] lea eax,[edx+eax*2] shl eax,1 sub eax,esi lea esi,[edx+01h] mov [ebp-04h],eax lea edi,[esi+esi*4] lea edi,[esi+edi*2] movsx esi,[ecx+6Dh] shl esi,02h shl edi,1 mov ebx,esi mov esi,edi sub esi,ebx cmp esi,eax jle L00434737 mov [ebp-04h],esi cmp esi,eax L00434737: jge L0043473B mov eax,esi L0043473B: movsx esi,[ecx+6Eh] add edx,00000002h shl esi,02h lea ebx,[edx+edx*4] lea edx,[edx+ebx*2] shl edx,1 sub edx,esi mov esi,[ebp-04h] cmp edx,esi jle L00434758 mov esi,edx L00434758: cmp edx,eax jge L0043475E mov eax,edx L0043475E: movsx edx,[ecx+6Fh] shl edx,02h sub edi,edx cmp edi,esi jle L0043476D mov esi,edi L0043476D: cmp edi,eax jge L00434773 mov eax,edi L00434773: mov [ecx+10h],esi pop edi pop esi mov [ecx+08h],eax pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00434780: push ebp mov ebp,esp sub esp,00000038h push ebx push esi mov esi,ecx push edi mov eax,[esi+70h] test eax,eax jnz L00434AED mov eax,[esi+38h] cmp eax,00000002h jnz L004347AC mov ecx,[L004DAF9C] test ecx,ecx jz L00434AED L004347AC: mov edx,[L006A9D9C] lea ecx,[00000000h+eax*8] sub ecx,eax xor eax,eax mov ax,[edx+ecx*4+04h] test eax,eax jle L00434AED cmp eax,00001000h jge L00434AED lea ecx,[ebp-04h] lea edx,[ebp-08h] push ecx push edx push eax push 0000000Ah push 00000009h mov ecx,L006AA860 call SUB_L00446620 mov edi,eax mov eax,[ebp-08h] test eax,eax jz L00434AED mov ecx,[esi+04h] mov eax,[L004DAF40] sub ecx,eax mov eax,[esi+2Ch] mov [ebp-14h],ecx mov byte ptr [ebp-30h],01h lea edx,[eax+eax*4] mov byte ptr [ebp-24h],02h mov byte ptr [ebp-18h],03h mov byte ptr [ebp-0Ch],04h lea eax,[eax+edx*2] mov edx,[L004DAF44] shl eax,1 sub eax,edx lea edx,[ecx+16h] mov [ebp-38h],edx mov ebx,eax movsx edx,[esi+6Ch] shl edx,02h sub ebx,edx lea edx,[ecx+2Eh] mov [ebp-2Ch],edx dec ebx movsx edx,[esi+6Dh] mov [ebp-34h],ebx mov ebx,eax shl edx,02h sub ebx,edx lea edx,[ecx+17h] movsx ecx,[esi+6Fh] mov [ebp-20h],edx add ebx,00000016h movsx edx,[esi+6Eh] mov [ebp-28h],ebx mov ebx,eax shl edx,02h shl ecx,02h sub ebx,edx sub eax,ecx mov ecx,[L0073EBE4] add ebx,0000002Dh add eax,00000016h mov [ebp-1Ch],ebx mov [ebp-10h],eax mov edx,[ecx] call [edx+00000090h] mov ebx,eax mov eax,[L006BB1A0] neg ebx sbb ebx,ebx neg ebx test eax,eax jnz L00434A20 mov cl,[esi+6Ch] mov al,[esi+6Dh] cmp cl,al jnz L00434977 cmp al,[esi+6Eh] jnz L00434977 movsx eax,cl movsx ecx,[esi+6Fh] sub ecx,eax cmp ecx,00000014h jle L00434977 mov eax,[esi+54h] mov edx,[ebp+08h] mov ecx,[esi+50h] push edx mov edx,[esi+eax*4+3Ch] lea eax,[eax+eax*2] push edx mov edx,[esi+ecx*4+3Ch] push edx mov edx,[esi+4Ch] test ebx,ebx mov edx,[esi+edx*4+3Ch] push edx lea edx,[ebp+eax*4-38h] lea eax,[ecx+ecx*2] push edx lea ecx,[ebp+eax*4-38h] mov eax,[esi+4Ch] push ecx mov ecx,[ebp-04h] lea edx,[eax+eax*2] lea eax,[ebp+edx*4-38h] mov edx,edi push eax push ecx mov ecx,[L006BAE7C] jnz L00434915 call SUB_L0045A910 jmp L0043491A L00434915: call SUB_L0045B1A0 L0043491A: mov ecx,[ebp-38h] mov eax,[esi+60h] mov edx,[esi+58h] inc ecx test ebx,ebx mov ebx,[ebp+08h] mov [ebp-38h],ecx mov ecx,[esi+5Ch] push ebx mov ebx,[esi+eax*4+3Ch] lea eax,[eax+eax*2] push ebx mov ebx,[esi+ecx*4+3Ch] mov esi,[esi+edx*4+3Ch] push ebx lea eax,[ebp+eax*4-38h] lea ecx,[ecx+ecx*2] push esi push eax lea eax,[ebp+ecx*4-38h] lea ecx,[edx+edx*2] push eax mov eax,[ebp-04h] lea edx,[ebp+ecx*4-38h] mov ecx,[L006BAE7C] push edx push eax mov edx,edi jnz L00434AE8 call SUB_L0045A910 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L00434977: mov eax,[esi+54h] mov edx,[ebp+08h] mov ecx,[esi+50h] push edx mov edx,[esi+eax*4+3Ch] lea eax,[eax+eax*2] push edx mov edx,[esi+ecx*4+3Ch] push edx mov edx,[esi+4Ch] test ebx,ebx mov edx,[esi+edx*4+3Ch] push edx lea edx,[ebp+eax*4-38h] lea eax,[ecx+ecx*2] push edx lea ecx,[ebp+eax*4-38h] mov eax,[esi+4Ch] push ecx mov ecx,[ebp-04h] lea edx,[eax+eax*2] lea eax,[ebp+edx*4-38h] mov edx,edi push eax push ecx mov ecx,[L006BAE7C] jnz L004349C5 call SUB_L0045A910 jmp L004349CA L004349C5: call SUB_L0045B1A0 L004349CA: mov eax,[esi+60h] mov ecx,[esi+5Ch] mov edx,[esi+58h] test ebx,ebx mov ebx,[ebp+08h] push ebx mov ebx,[esi+eax*4+3Ch] push ebx mov ebx,[esi+ecx*4+3Ch] mov esi,[esi+edx*4+3Ch] lea eax,[eax+eax*2] push ebx lea ecx,[ecx+ecx*2] lea eax,[ebp+eax*4-38h] push esi push eax lea eax,[ebp+ecx*4-38h] lea ecx,[edx+edx*2] push eax mov eax,[ebp-04h] lea edx,[ebp+ecx*4-38h] mov ecx,[L006BAE7C] push edx push eax mov edx,edi jnz L00434AE8 call SUB_L0045A910 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L00434A20: mov ecx,[esi+64h] mov eax,[L006BB1A4] movsx edx,[ecx+esi+6Ch] cmp edx,eax jg L00434A84 mov eax,[esi+54h] mov edx,[ebp+08h] mov ecx,[esi+50h] push edx mov edx,[esi+eax*4+3Ch] lea eax,[eax+eax*2] push edx mov edx,[esi+ecx*4+3Ch] push edx mov edx,[esi+4Ch] test ebx,ebx mov edx,[esi+edx*4+3Ch] push edx lea edx,[ebp+eax*4-38h] lea eax,[ecx+ecx*2] push edx lea ecx,[ebp+eax*4-38h] mov eax,[esi+4Ch] push ecx mov ecx,[ebp-04h] lea edx,[eax+eax*2] lea eax,[ebp+edx*4-38h] mov edx,edi push eax push ecx mov ecx,[L006BAE7C] jnz L00434A7F call SUB_L0045A910 jmp L00434A84 L00434A7F: call SUB_L0045B1A0 L00434A84: mov edx,[esi+68h] mov ecx,[L006BB1A4] movsx eax,[edx+esi+6Ch] cmp eax,ecx jg L00434AED mov eax,[esi+60h] mov ecx,[esi+5Ch] mov edx,[esi+58h] test ebx,ebx mov ebx,[ebp+08h] push ebx mov ebx,[esi+eax*4+3Ch] push ebx mov ebx,[esi+ecx*4+3Ch] mov esi,[esi+edx*4+3Ch] lea eax,[eax+eax*2] push ebx lea ecx,[ecx+ecx*2] lea eax,[ebp+eax*4-38h] push esi push eax lea eax,[ebp+ecx*4-38h] lea ecx,[edx+edx*2] push eax mov eax,[ebp-04h] lea edx,[ebp+ecx*4-38h] mov ecx,[L006BAE7C] push edx push eax mov edx,edi jnz L00434AE8 call SUB_L0045A910 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L00434AE8: call SUB_L0045B1A0 L00434AED: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00434B00: mov edx,ecx push edi mov ecx,00001000h xor eax,eax lea edi,[edx+10h] rep stosd mov [edx+04h],eax mov [edx],eax mov eax,FFFFFF80h pop edi mov [edx+0Ch],eax mov [edx+08h],eax mov eax,edx retn ;------------------------------------------------------------------------------ Align 16 SUB_L00434B30: push ebx push esi push edi mov ebx,ecx xor edi,edi L00434B37: xor esi,esi L00434B39: push esi push edi mov ecx,ebx call SUB_L00434B60 inc esi cmp esi,00000040h jl L00434B39 inc edi cmp edi,00000040h jl L00434B37 pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ Align 16 SUB_L00434B60: push ebp mov ebp,esp push ecx mov eax,[ebp+0Ch] mov edx,[ebp+08h] shl eax,06h add eax,edx push ebx push esi xor ebx,ebx mov esi,[ecx+eax*4+10h] lea ecx,[ecx+eax*4+10h] cmp esi,ebx push edi mov [ebp-04h],ebx mov [ebp+0Ch],ecx jz L00434BEA L00434B86: mov edx,[esi] mov edi,[esi+14h] mov ecx,esi call [edx+2Ch] test eax,eax jnz L00434B9F mov eax,[esi] mov ecx,esi call [eax+1Ch] test eax,eax jz L00434BE4 L00434B9F: mov eax,[esi+14h] cmp eax,ebx jz L00434BAC mov ecx,[esi+18h] mov [eax+18h],ecx L00434BAC: mov eax,[esi+18h] cmp eax,ebx jz L00434BBB mov edx,[esi+14h] mov [eax+14h],edx jmp L00434BC3 L00434BBB: mov ecx,[ebp+0Ch] mov eax,[esi+14h] mov [ecx],eax L00434BC3: mov [esi+1Ch],ebx mov eax,[L0073EBE4] cmp esi,eax jnz L00434BDD call SUB_L0045A290 mov dword ptr [ebp-04h],00000001h jmp L00434BE4 L00434BDD: mov edx,[esi] mov ecx,esi call [edx+04h] L00434BE4: cmp edi,ebx mov esi,edi jnz L00434B86 L00434BEA: cmp [ebp-04h],ebx jz L00434BFA mov ecx,[L0073EBE4] mov eax,[ecx] call [eax+10h] L00434BFA: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L00434C10: push ebp mov ebp,esp sub esp,00000010h mov eax,[L006AAA9C] push ebx push esi mov esi,ecx mov ecx,[L006AAAA0] push edi lea edi,[eax-20h] mov eax,[esi+08h] lea ebx,[ecx-20h] cmp eax,edi mov [ebp-08h],edi mov [ebp-0Ch],ebx jnz L00434C42 cmp [esi+0Ch],ebx jz L00434DE1 L00434C42: lea edx,[eax+20h] cmp edx,00001400h jge L00434CA4 cmp eax,000013C0h jl L00434C60 test edi,edi jge L00434C60 add eax,FFFFEC00h mov [esi+08h],eax L00434C60: mov eax,[esi+08h] test eax,eax jge L00434C77 cmp edi,000013C0h jle L00434C77 add eax,00001400h mov [esi+08h],eax L00434C77: mov eax,[esi+0Ch] cmp eax,00000FC0h jl L00434C8D test ebx,ebx jge L00434C8D add eax,FFFFF000h mov [esi+0Ch],eax L00434C8D: mov eax,[esi+0Ch] test eax,eax jge L00434CA4 cmp ebx,00000FC0h jle L00434CA4 add eax,00001000h mov [esi+0Ch],eax L00434CA4: mov eax,[esi+08h] mov ecx,edi sub ecx,eax mov eax,[esi+0Ch] sub ebx,eax mov eax,ecx cdq xor eax,edx mov [ebp-10h],ebx sub eax,edx cmp eax,00000040h jge L00434DB1 mov eax,ebx cdq xor eax,edx sub eax,edx cmp eax,00000040h jge L00434DB1 test ecx,ecx jle L00434D0A mov ebx,[esi+08h] cmp ebx,edi mov [ebp-04h],ebx jge L00434D3E jmp L00434CE6 L00434CE3: mov ebx,[ebp-04h] L00434CE6: xor edi,edi and ebx,0000003Fh L00434CEB: push edi push ebx mov ecx,esi call SUB_L00434B60 inc edi cmp edi,00000040h jl L00434CEB mov eax,[ebp-04h] mov ecx,[ebp-08h] inc eax cmp eax,ecx mov [ebp-04h],eax jl L00434CE3 jmp L00434D3B L00434D0A: jge L00434D41 mov eax,[esi+08h] mov [ebp-04h],edi cmp edi,eax jge L00434D41 L00434D16: mov ebx,[ebp-04h] xor edi,edi and ebx,0000003Fh L00434D1E: push edi push ebx mov ecx,esi call SUB_L00434B60 inc edi cmp edi,00000040h jl L00434D1E mov eax,[ebp-04h] mov ecx,[esi+08h] inc eax cmp eax,ecx mov [ebp-04h],eax jl L00434D16 L00434D3B: mov edi,[ebp-08h] L00434D3E: mov ebx,[ebp-10h] L00434D41: test ebx,ebx jle L00434D7B mov ebx,[esi+0Ch] mov eax,[ebp-0Ch] cmp ebx,eax mov [ebp-04h],ebx jge L00434DCD jmp L00434D57 L00434D54: mov ebx,[ebp-04h] L00434D57: xor edi,edi and ebx,0000003Fh L00434D5C: push ebx push edi mov ecx,esi call SUB_L00434B60 inc edi cmp edi,00000040h jl L00434D5C mov eax,[ebp-04h] mov ecx,[ebp-0Ch] inc eax cmp eax,ecx mov [ebp-04h],eax jl L00434D54 jmp L00434DCA L00434D7B: jge L00434DCD mov eax,[ebp-0Ch] mov ecx,[esi+0Ch] cmp eax,ecx mov [ebp-04h],eax jge L00434DCD L00434D8A: mov ebx,[ebp-04h] xor edi,edi and ebx,0000003Fh L00434D92: push ebx push edi mov ecx,esi call SUB_L00434B60 inc edi cmp edi,00000040h jl L00434D92 mov eax,[ebp-04h] mov ecx,[esi+0Ch] inc eax cmp eax,ecx mov [ebp-04h],eax jl L00434D8A jmp L00434DCA L00434DB1: xor ebx,ebx L00434DB3: xor edi,edi L00434DB5: push edi push ebx mov ecx,esi call SUB_L00434B60 inc edi cmp edi,00000040h jl L00434DB5 inc ebx cmp ebx,00000040h jl L00434DB3 L00434DCA: mov edi,[ebp-08h] L00434DCD: mov eax,[ebp-0Ch] mov [esi+08h],edi mov [esi+0Ch],eax and edi,0000003Fh and eax,0000003Fh mov [esi],edi mov [esi+04h],eax L00434DE1: pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L00434DF0: push ebp mov ebp,esp sub esp,00000030h mov eax,[ebp+08h] mov edx,[ebp+0Ch] mov [ebp-24h],ecx push ebx mov ecx,[L004DAF40] push esi add eax,ecx mov ecx,[L004DAFA0] mov [ebp-04h],eax mov eax,[L004DAF44] add edx,eax dec ecx test ecx,ecx push edi mov [ebp+0Ch],edx mov [ebp-20h],ecx jl L00435735 L00434E29: mov eax,[L004D7F40+ecx*4] mov edx,[L006BDA38] mov esi,[L006BDA3C] add edx,eax sar eax,06h add eax,esi and edx,0000003Fh and eax,0000003Fh shl eax,06h add edx,eax mov esi,[L006BDA48+edx*4] test esi,esi jz L00435707 mov eax,[esi+14h] test eax,eax jz L00434E6D L00434E64: mov esi,eax mov eax,[esi+14h] test eax,eax jnz L00434E64 L00434E6D: test esi,esi jz L00435707 L00434E75: mov eax,[ebp-04h] mov ecx,[esi+04h] cmp eax,ecx jl L004356F9 mov ecx,eax mov eax,[esi+0Ch] cmp ecx,eax jge L004356F9 mov edx,[ebp+0Ch] mov eax,[esi+08h] cmp edx,eax jl L004356F9 mov ecx,[esi+10h] mov eax,edx cmp eax,ecx jge L004356F9 mov edx,[esi] mov ecx,esi call [edx+3Ch] test eax,eax jnz L004356F9 mov eax,[esi] mov ecx,esi call [eax+38h] test eax,eax jnz L004356F9 mov edx,[esi] mov ecx,esi call [edx+34h] test eax,eax jnz L004356F9 mov eax,[esi] mov ecx,esi call [eax+1Ch] test eax,eax jz L00434F03 mov eax,[ebp+10h] test eax,eax jnz L004356F9 mov eax,[ebp-24h] cmp dword ptr [eax],00000000h jz L00434F03 movsx ecx,[esi+24h] cmp ecx,[eax+04h] jg L004356F9 L00434F03: mov edx,[esi] mov ecx,esi call [edx+1Ch] test eax,eax jz L00434F5F mov ax,[ebp-04h] mov cx,[ebp+0Ch] sub ax,[esi+04h] sub cx,[esi+08h] and eax,0000FFFFh and ecx,0000FFFFh lea edx,[ecx+eax] cmp edx,00000014h jle L004356F9 cmp edx,00000042h jge L004356F9 mov edx,0000002Bh sub edx,eax lea eax,[ecx+edx] cmp eax,00000014h jle L004356F9 cmp eax,00000042h jl L0043572A jmp L004356F9 L00434F5F: mov eax,[esi] mov ecx,esi call [eax+18h] test eax,eax jz L004356F9 mov al,[L0073EC04] test al,al jz L00434F86 mov ecx,esi call SUB_L00427640 test eax,eax jnz L004356F9 L00434F86: mov edx,[esi] mov ecx,esi call [edx+2Ch] test eax,eax jz L00434FC0 test byte ptr [esi+00000098h],80h jz L00434FC0 cmp esi,[L0073EBE4] jz L00434FC0 call SUB_L0048B870 test eax,eax jnz L00434FC0 mov eax,[L0073EBE4] test eax,eax jz L00434FC0 cmp word ptr [eax+38h],03DBh jnz L004356F9 L00434FC0: mov eax,[esi] mov ecx,esi call [eax+54h] test eax,eax jz L00435093 mov cx,[esi+3Ch] cmp cx,03E8h jnc L004356F9 lea edx,[ebp+08h] lea eax,[ebp-08h] push edx xor edx,edx mov dl,[esi+6Eh] push eax and ecx,0000FFFFh call SUB_L004321C0 mov eax,[ebp-08h] lea ecx,[ebp-10h] lea edx,[ebp-14h] push ecx push edx push eax push 00000006h push 00000005h mov ecx,L006AA860 call SUB_L00446620 test eax,eax jz L004356F9 mov edi,[ebp+08h] mov ecx,[eax+00000200h] add eax,00000200h cmp edi,ecx jge L004356F9 mov edi,[eax+edi*4+04h] movsx ecx,[esi+20h] movsx edx,[esi+22h] lea eax,[edi+eax+08h] mov edi,00000005h push eax movsx eax,[esi+24h] sub edi,eax lea eax,[edx+ecx] lea ebx,[eax+eax*4] lea eax,[eax+ebx*2] shl eax,1 lea eax,[eax+edi*4] push eax mov eax,[L006AABAC] add eax,ecx sub eax,edx lea ecx,[eax+eax*4] lea edx,[eax+ecx*2] mov cl,[esi+6Eh] and ecx,0000007Fh lea eax,[edx+edx+01h] mov edx,[L004C6788+ecx*4] mov ecx,[ebp-04h] push eax push edx mov edx,[ebp+0Ch] call SUB_L0042FC00 test eax,eax jnz L0043572A jmp L004356F9 L00435093: mov eax,[esi] mov ecx,esi call [eax+28h] test eax,eax jz L00435368 mov ecx,[L0073EBE4] cmp word ptr [ecx+38h],03E8h jnc L004356F9 call SUB_L004831C0 test eax,eax jz L004350E0 mov eax,[ebp+0Ch] mov ecx,[L0073EBE4] push eax mov eax,[ebp-04h] mov edx,[ecx] push eax call [edx+00000084h] test eax,eax jnz L0043572A jmp L004356F9 L004350E0: mov ecx,[L0073EBE4] xor edi,edi mov di,[ecx+38h] cmp edi,00000192h jnz L004350F9 mov edi,00000190h L004350F9: cmp edi,00000193h jnz L00435106 mov edi,00000191h L00435106: mov edx,[ecx] call [edx+00000088h] mov ecx,[L0073EBE4] lea edx,[ebp+08h] push ecx push edx lea edx,[ebp-08h] xor ebx,ebx mov bx,[ecx+000001B8h] push edx mov edx,[L006695B0] mov [ebp-1Ch],eax push edx xor edx,edx mov dx,[ecx+000001ACh] add edx,ebx push edx xor edx,edx mov dx,[ecx+000001AAh] push edx push eax mov eax,[L006695A4] xor edx,edx mov dl,[ecx+6Eh] push eax mov ecx,edi call SUB_L00431CC0 mov eax,[ebp-08h] lea ecx,[ebp-10h] lea edx,[ebp-14h] push ecx push edx push eax push 00000006h push 00000005h mov ecx,L006AA860 call SUB_L00446620 test eax,eax jz L004356F9 mov ecx,[ebp+08h] mov edx,[eax+00000200h] add eax,00000200h cmp ecx,edx jge L004356F9 mov edx,[L0073EBE4] mov ecx,[L006AABAC] movsx ebx,[edx+22h] movsx edi,[edx+20h] sub ecx,ebx add ecx,edi lea ebx,[ecx+ecx*4] lea ecx,[ecx+ebx*2] mov ebx,[L006BAE84] lea ecx,[ebx+ecx*2+01h] mov ebx,00000005h mov [ebp-18h],ecx mov ecx,[edx+00000190h] sub ebx,ecx movsx ecx,[edx+22h] add ecx,edi mov dl,[edx+6Eh] and edx,0000007Fh lea edi,[ecx+ecx*4] lea ecx,[ecx+edi*2] mov edi,[L006BAE88] lea ecx,[edi+ecx*2] lea ebx,[ecx+ebx*4] mov ecx,[ebp+08h] mov ecx,[eax+ecx*4+04h] lea eax,[ecx+eax+08h] mov ecx,[ebp-18h] push eax mov eax,[L004C6788+edx*4] mov edx,[ebp+0Ch] push ebx push ecx mov ecx,[ebp-04h] push eax call SUB_L0042FC00 test eax,eax mov eax,[L0073EBE4] jnz L00435737 cmp word ptr [eax+38h],0190h jc L004356F9 mov dword ptr [ebp-0Ch],00000000h L0043522B: mov cl,[eax+6Eh] mov edx,[ebp-0Ch] and ecx,00000007h lea ecx,[ecx+ecx*4] lea edx,[edx+ecx*4] add ecx,edx mov ecx,[L004C63F8+ecx*4] cmp ecx,00000015h jz L00435353 mov edx,[eax+ecx*4+000000C4h] lea edi,[000000C4h+ecx*4] test edx,edx jz L00435353 lea edx,[eax+000000C4h] call SUB_L00477CC0 test eax,eax jnz L0043534E mov eax,[L0073EBE4] xor ecx,ecx mov edx,[eax+edi] mov edi,[L006A9D98] mov cx,[edx+38h] lea edx,[ecx+ecx*4] xor ecx,ecx mov cx,[edi+edx*8+0Ch] cmp ecx,00000190h jc L00435353 cmp ecx,000003E8h jnc L00435353 lea edx,[ebp+08h] push eax push edx lea edx,[ebp-08h] push edx mov edx,[L006695B0] push edx xor edx,edx mov dx,[eax+000001ACh] xor edi,edi mov di,[eax+000001B8h] add edx,edi push edx xor edx,edx mov dx,[eax+000001AAh] push edx mov edx,[ebp-1Ch] push edx mov edx,[L006695A4] push edx xor edx,edx mov dl,[eax+6Eh] call SUB_L00431CC0 mov edx,[ebp-08h] lea eax,[ebp-10h] lea ecx,[ebp-14h] push eax push ecx push edx push 00000006h push 00000005h mov ecx,L006AA860 call SUB_L00446620 test eax,eax jz L0043534E mov ecx,[ebp+08h] add eax,00000200h mov ecx,[eax+ecx*4+04h] test ecx,ecx jz L0043534E lea edx,[ecx+eax+08h] mov ecx,[L0073EBE4] mov eax,[ebp-18h] push edx mov dl,[ecx+6Eh] mov ecx,[ebp-04h] and edx,0000007Fh push ebx push eax mov eax,[L004C6788+edx*4] mov edx,[ebp+0Ch] push eax call SUB_L0042FC00 test eax,eax jnz L0043571C L0043534E: mov eax,[L0073EBE4] L00435353: mov ecx,[ebp-0Ch] inc ecx cmp ecx,00000019h mov [ebp-0Ch],ecx jl L0043522B jmp L004356F9 L00435368: mov edx,[esi] mov ecx,esi call [edx+24h] test eax,eax jz L00435620 cmp word ptr [esi+38h],03E8h jnc L004356F9 mov ecx,esi call SUB_L004831C0 test eax,eax jz L004353AD mov ecx,[ebp+0Ch] mov edx,[ebp-04h] mov eax,[esi] push ecx push edx mov ecx,esi call [eax+00000084h] test eax,eax jnz L0043572A jmp L004356F9 L004353AD: xor ebx,ebx mov bx,[esi+38h] cmp ebx,00000192h mov [ebp-0Ch],ebx jnz L004353C6 mov ebx,00000190h mov [ebp-0Ch],ebx L004353C6: cmp ebx,00000193h jnz L004353D6 mov ebx,00000191h mov [ebp-0Ch],ebx L004353D6: mov eax,[esi] mov ecx,esi call [eax+00000088h] lea ecx,[ebp+08h] push esi push ecx mov ecx,[esi+00000144h] lea edx,[ebp-08h] mov [ebp-1Ch],eax push edx push ecx xor edx,edx xor ecx,ecx mov dx,[esi+000001B8h] mov cx,[esi+000001ACh] add edx,ecx lea edi,[esi+6Eh] push edx xor edx,edx mov dx,[esi+000001AAh] mov ecx,ebx push edx push eax mov eax,[esi+00000140h] xor edx,edx mov dl,[edi] push eax call SUB_L00431CC0 mov eax,[ebp-08h] lea ecx,[ebp-10h] lea edx,[ebp-14h] push ecx push edx push eax push 00000006h push 00000005h mov ecx,L006AA860 call SUB_L00446620 test eax,eax jz L004356F9 mov ecx,[ebp+08h] add eax,00000200h mov [ebp-18h],eax mov eax,[eax] cmp ecx,eax mov [ebp-28h],eax jge L004356F9 movsx edx,[esi+20h] movsx eax,[esi+22h] mov ecx,[L006AABAC] add ecx,edx sub ecx,eax add eax,edx lea ebx,[ecx+ecx*4] lea edx,[eax+eax*4] lea ebx,[ecx+ebx*2] mov ecx,[esi+00000188h] shl ebx,1 sub ebx,ecx mov ecx,00000005h sub ecx,[esi+00000190h] lea eax,[eax+edx*2] mov edx,[ebp+08h] inc ebx shl eax,1 lea eax,[eax+ecx*4] mov ecx,[esi+0000018Ch] sub eax,ecx mov ecx,[ebp-18h] mov [ebp-30h],eax mov edx,[ecx+edx*4+04h] lea ecx,[edx+ecx+08h] mov dl,[edi] and edx,0000007Fh push ecx mov ecx,[ebp-04h] push eax mov eax,[L004C6788+edx*4] mov edx,[ebp+0Ch] push ebx push eax call SUB_L0042FC00 test eax,eax jnz L0043572A cmp dword ptr [ebp-0Ch],00000190h jl L004356F9 mov dword ptr [ebp-0Ch],00000000h L004354ED: mov eax,edi mov ecx,[ebp-0Ch] mov al,[eax] and eax,00000007h lea eax,[eax+eax*4] lea edx,[ecx+eax*4] add eax,edx mov eax,[L004C63F8+eax*4] cmp eax,00000015h mov [ebp-18h],eax jz L0043560B mov ecx,[esi+eax*4+000000C4h] test ecx,ecx jz L0043560B lea edx,[esi+000000C4h] mov ecx,eax call SUB_L00477CC0 test eax,eax jnz L0043560B mov ecx,[ebp-18h] mov edx,[esi+ecx*4+000000C4h] xor ecx,ecx mov ax,[edx+38h] mov edx,[L006A9D98] lea eax,[eax+eax*4] mov cx,[edx+eax*8+0Ch] cmp ecx,00000190h jc L0043560B cmp ecx,000003E8h jnc L0043560B mov al,[edi] lea edx,[ebp+08h] mov [ebp-2Ch],al push esi push edx mov edx,[esi+00000144h] lea eax,[ebp-08h] push eax push edx xor eax,eax xor edx,edx mov ax,[esi+000001B8h] mov dx,[esi+000001ACh] add eax,edx mov edx,[ebp-1Ch] push eax mov eax,[ebp-28h] push eax mov eax,[esi+00000140h] push edx mov edx,[ebp-2Ch] push eax and edx,000000FFh call SUB_L00431CC0 mov eax,[ebp-08h] lea ecx,[ebp-10h] lea edx,[ebp-14h] push ecx push edx push eax push 00000006h push 00000005h mov ecx,L006AA860 call SUB_L00446620 test eax,eax jz L0043560B mov ecx,[ebp+08h] add eax,00000200h mov ecx,[eax+ecx*4+04h] test ecx,ecx jz L0043560B lea edx,[ecx+eax+08h] mov cl,[edi] mov eax,[ebp-30h] and ecx,0000007Fh push edx push eax mov edx,[L004C6788+ecx*4] mov ecx,[ebp-04h] push ebx push edx mov edx,[ebp+0Ch] call SUB_L0042FC00 test eax,eax jnz L0043572A L0043560B: mov eax,[ebp-0Ch] inc eax cmp eax,00000019h mov [ebp-0Ch],eax jl L004354ED jmp L004356F9 L00435620: xor eax,eax mov ax,[esi+38h] cmp eax,00000001h jz L00435639 cmp eax,00002197h jle L00435646 cmp eax,000021A2h jg L00435646 L00435639: mov eax,[L004DAF9C] test eax,eax jz L004356F9 L00435646: mov eax,[esi] mov ecx,esi call [eax+78h] mov [ebp-0Ch],eax mov eax,[L004D7ECC] test eax,eax jz L00435676 mov ecx,esi call SUB_L0045D740 test eax,eax jz L00435676 push 00006127h mov ecx,L006A9DB8 call SUB_L004882D0 mov [ebp-0Ch],eax L00435676: mov edx,[esi] mov ecx,esi call [edx+7Ch] mov di,[ebp-04h] mov bx,[ebp+0Ch] sub di,[esi+04h] sub bx,[esi+08h] mov [ebp-30h],eax mov eax,[ebp-0Ch] and edi,0000FFFFh and ebx,0000FFFFh test eax,eax jz L004356D9 push ebx push edi push eax mov ecx,L006A9DB8 call SUB_L00488300 test ax,ax jnz L0043572A mov eax,[ebp-30h] test eax,eax jz L004356F9 mov ecx,[ebp-0Ch] add ebx,FFFFFFFBh add edi,FFFFFFFBh push ebx push edi push ecx mov ecx,L006A9DB8 call SUB_L00488300 test ax,ax jnz L0043572A jmp L004356F9 L004356D9: lea eax,[ebx+edi] cmp eax,00000014h jle L004356F9 cmp eax,00000042h jge L004356F9 mov eax,0000002Bh sub eax,edi add ebx,eax cmp ebx,00000014h jle L004356F9 cmp ebx,00000042h jl L0043572A L004356F9: mov esi,[esi+18h] test esi,esi jnz L00434E75 mov ecx,[ebp-20h] L00435707: dec ecx mov [ebp-20h],ecx jns L00434E29 xor eax,eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ L0043571C: mov eax,[L0073EBE4] pop edi pop esi pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ L0043572A: mov eax,esi pop edi pop esi pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ L00435735: xor eax,eax L00435737: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ SUB_L00435740: push ebp mov ebp,esp sub esp,0000000Ch mov eax,[ebp+08h] mov ecx,[L004DAF40] mov edx,[ebp+0Ch] push ebx lea ebx,[eax+ecx] mov eax,[L004DAF44] mov ecx,[L004DAFA0] add edx,eax mov [ebp+08h],edx mov dword ptr [ebp-04h],0000270Fh lea eax,[ecx-01h] mov dword ptr [ebp-0Ch],00000000h test eax,eax jl L00435837 lea edx,[L004D7F40+eax*4] inc eax push edi push esi mov [ebp+0Ch],edx mov [ebp-08h],eax L0043578F: mov eax,[ebp+0Ch] mov esi,[L006BDA3C] mov edx,[L006BDA38] mov eax,[eax] mov ecx,eax add eax,edx sar ecx,06h add ecx,esi and eax,0000003Fh and ecx,0000003Fh shl ecx,06h add ecx,eax mov esi,[L006BDA48+ecx*4] test esi,esi jz L0043581F L004357BF: mov eax,[esi] mov ecx,esi call [eax+1Ch] test eax,eax jz L00435818 mov edi,[esi+04h] cmp ebx,edi jl L00435818 mov eax,[esi+0Ch] cmp ebx,eax jge L00435818 mov edx,[esi+08h] mov ecx,[ebp+08h] cmp ecx,edx jl L00435818 mov ecx,[esi+10h] cmp [ebp+08h],ecx jge L00435818 add edi,eax add edx,ecx mov ecx,[ebp+08h] mov eax,ebx sar edi,1 sar edx,1 sub eax,edi sub ecx,edx cdq mov edi,eax mov eax,ecx xor edi,edx mov ecx,[ebp-04h] sub edi,edx cdq xor eax,edx sub eax,edx add eax,edi cmp eax,ecx jge L00435818 mov [ebp-0Ch],esi mov [ebp-04h],eax L00435818: mov esi,[esi+14h] test esi,esi jnz L004357BF L0043581F: mov ecx,[ebp+0Ch] mov eax,[ebp-08h] sub ecx,00000004h dec eax mov [ebp+0Ch],ecx mov [ebp-08h],eax jnz L0043578F pop esi pop edi L00435837: mov eax,[ebp-0Ch] pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L00435850: push ebp mov ebp,esp mov eax,[ebp+0Ch] mov ecx,[ebp+08h] and eax,0000003Fh and ecx,0000003Fh shl eax,06h add eax,ecx mov eax,[L006BDA48+eax*4] test eax,eax jnz L00435873 pop ebp retn 0008h ;------------------------------------------------------------------------------ L00435873: mov ecx,[eax+14h] test ecx,ecx jz L00435883 L0043587A: mov eax,ecx mov ecx,[eax+14h] test ecx,ecx jnz L0043587A L00435883: pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L00435890: push ebp mov ebp,esp sub esp,00000010h push ebx mov ebx,[ebp+08h] push esi push edi mov eax,L006BDA48 L004358A1: mov edi,eax mov dword ptr [ebp+08h],00000040h L004358AA: mov esi,[edi] test esi,esi jz L00435918 L004358B0: mov eax,[esi] mov ecx,esi call [eax+1Ch] test eax,eax jz L00435911 movsx ecx,[esi+22h] movsx edx,[esi+20h] push ecx push edx mov ecx,L006AAA98 call SUB_L0044FA00 xor eax,ebx test eax,00007FFFh jnz L00435911 mov eax,[esi+1Ch] test eax,eax jz L00435911 mov ecx,[esi+08h] mov eax,[L004DAF44] mov edx,[esi+10h] sub ecx,eax mov [ebp-0Ch],ecx mov ecx,[esi+04h] sub edx,eax mov eax,[L004DAF40] mov [ebp-04h],edx mov edx,[esi+0Ch] sub ecx,eax sub edx,eax mov [ebp-10h],ecx lea ecx,[ebp-10h] mov [ebp-08h],edx call SUB_L00459960 L00435911: mov esi,[esi+14h] test esi,esi jnz L004358B0 L00435918: mov eax,[ebp+08h] add edi,00000004h dec eax mov [ebp+08h],eax jnz L004358AA cmp edi,L006C1A48 mov eax,edi jl L004358A1 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 8 SUB_L00435940: push ebp mov ebp,esp push ebx push esi push edi mov eax,L006BDA48 L0043594B: mov edi,eax mov ebx,00000040h L00435952: mov esi,[edi] test esi,esi jz L0043599B L00435958: mov eax,[esi+1Ch] test eax,eax jz L00435994 mov eax,[esi] mov ecx,esi call [eax+18h] test eax,eax jz L00435994 mov edx,[esi] mov ecx,esi call [edx+24h] test eax,eax jnz L00435994 movsx ecx,[esi+3Ah] mov ax,[esi+38h] add eax,ecx mov ecx,[ebp+08h] cmp eax,ecx jnz L00435994 mov edx,[esi] mov ecx,esi call [edx+14h] mov eax,[esi] mov ecx,esi call [eax+10h] L00435994: mov esi,[esi+14h] test esi,esi jnz L00435958 L0043599B: add edi,00000004h dec ebx jnz L00435952 cmp edi,L006C1A48 mov eax,edi jl L0043594B pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L004359C0: push edi mov ecx,00000014h xor eax,eax mov edi,L004DAF48 rep stosd pop edi retn ;------------------------------------------------------------------------------ Align 16 SUB_L004359E0: mov eax,[ecx+000001D0h] cmp eax,FFFFFFFFh jnz L00435A1A xor edx,edx mov eax,L004DAF48 L004359F2: cmp dword ptr [eax],00000000h jz L00435A0D add eax,00000004h inc edx cmp eax,L004DAF98 jl L004359F2 mov dword ptr [L007121DC],00000000h retn ;------------------------------------------------------------------------------ L00435A0D: mov [L004DAF48+edx*4],ecx mov [ecx+000001D0h],edx L00435A1A: mov dword ptr [L007121DC],00000000h retn ;------------------------------------------------------------------------------ Align 16 SUB_L00435A30: push ebp mov ebp,esp push ecx push ebx push esi mov esi,ecx xor ebx,ebx push edi mov [ebp-04h],ebx test byte ptr [esi+000001ACh],80h jz L00435A4E mov dword ptr [ebp-04h],00000001h L00435A4E: mov edi,[esi+000001D0h] cmp edi,FFFFFFFFh jz L00435AA0 cmp [esi+1Ch],ebx jz L00435A74 mov eax,[esi] mov ecx,esi call [eax+14h] mov edx,[esi] mov ecx,esi mov [esi+000001A4h],ebx call [edx+10h] jmp L00435A7A L00435A74: mov [esi+000001A4h],ebx L00435A7A: mov ecx,[esi+000001C4h] cmp ecx,ebx jz L00435A8F call SUB_L00444590 mov [esi+000001C4h],ebx L00435A8F: mov [L004DAF48+edi*4],ebx mov dword ptr [esi+000001D0h],FFFFFFFFh L00435AA0: cmp [ebp-04h],ebx jz L00435AC4 cmp esi,[L0073EBE4] jz L00435AC4 mov edx,[esi+78h] push ebx xor ecx,ecx call SUB_L0045C8A0 mov eax,00000001h pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00435AC4: pop edi pop esi mov dword ptr [L007121DC],00000001h xor eax,eax pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L00435AE0: push esi push edi mov esi,ecx xor edi,edi cmp [esi+000001B2h],di jz L00435B97 mov ax,[esi+000001A8h] cmp ax,di jz L00435B25 cmp ax,[esi+000001AAh] ja L00435B25 mov eax,[esi] call [eax+14h] mov edx,[esi] dec word ptr [esi+000001A8h] mov ecx,esi mov [esi+000001AEh],di call [edx+10h] pop edi pop esi retn ;------------------------------------------------------------------------------ L00435B25: cmp [esi+000001B8h],di jnz L00435B68 cmp [esi+000001B4h],di jz L00435BFD mov eax,[esi] mov ecx,esi mov [esi+000001B2h],di mov [esi+000001B4h],di call [eax+14h] mov edx,[esi] inc word ptr [esi+000001A8h] mov ecx,esi mov [esi+000001AEh],di call [edx+10h] pop edi pop esi retn ;------------------------------------------------------------------------------ L00435B68: mov eax,[esi] mov ecx,esi call [eax+14h] mov cx,[esi+000001AAh] dec word ptr [esi+000001B8h] mov edx,[esi] dec cx mov [esi+000001A8h],cx mov ecx,esi mov [esi+000001AEh],di call [edx+10h] pop edi pop esi retn ;------------------------------------------------------------------------------ L00435B97: xor eax,eax xor ecx,ecx mov ax,[esi+000001AAh] mov cx,[esi+000001A8h] dec eax cmp ecx,eax jl L00435C2D xor edx,edx xor eax,eax mov dx,[esi+000001B6h] mov ax,[esi+000001B8h] dec edx cmp eax,edx jnz L00435C07 cmp [esi+000001B4h],di jz L00435BFD mov edx,[esi] mov ecx,esi mov word ptr [esi+000001B2h],0001h mov [esi+000001B4h],di call [edx+14h] mov eax,[esi] dec word ptr [esi+000001A8h] mov ecx,esi mov [esi+000001AEh],di call [eax+10h] pop edi pop esi retn ;------------------------------------------------------------------------------ L00435BFD: mov ecx,esi call SUB_L00435A30 pop edi pop esi retn ;------------------------------------------------------------------------------ L00435C07: mov edx,[esi] mov ecx,esi call [edx+14h] mov eax,[esi] inc word ptr [esi+000001B8h] mov ecx,esi mov [esi+000001A8h],di mov [esi+000001AEh],di call [eax+10h] pop edi pop esi retn ;------------------------------------------------------------------------------ L00435C2D: mov edx,[esi] mov ecx,esi call [edx+14h] mov eax,[esi] inc word ptr [esi+000001A8h] mov ecx,esi mov [esi+000001AEh],di call [eax+10h] pop edi pop esi retn ;------------------------------------------------------------------------------ Align 8 SUB_L00435C50: push esi push edi mov esi,L004DAF48 xor edi,edi L00435C59: mov ecx,[esi] cmp ecx,edi jz L00435C84 mov [L007121DC],edi mov ax,[ecx+000001AEh] cmp ax,[ecx+000001B0h] lea edx,[eax+01h] mov [ecx+000001AEh],dx jbe L00435C84 call SUB_L00435AE0 L00435C84: add esi,00000004h cmp esi,L004DAF98 jl L00435C59 mov esi,L004D7EE8 L00435C94: mov ecx,[esi] cmp ecx,edi jz L00435C9F call SUB_L00435CD0 L00435C9F: add esi,00000004h cmp esi,L004D7F38 jl L00435C94 pop edi pop esi retn ;------------------------------------------------------------------------------ Align 4 SUB_L00435CB0: push ebp mov ebp,esp fld dword ptr [ebp+08h] fmul dword ptr [L004B9CB0] fmul qword ptr [L004B9CB8] call SUB_L0049BB80 pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 8 SUB_L00435CD0: push ebp mov ebp,esp sub esp,00000028h push ebx push esi mov esi,ecx push edi mov ax,[esi+22h] cmp ax,02AAh jnz L00435CF8 mov dl,[esi+34h] inc dl mov cl,dl mov [esi+34h],dl cmp cl,07h jle L00435CF8 mov byte ptr [esi+34h],00h L00435CF8: movsx ecx,[esi+34h] and eax,0000FFFFh lea edx,[ecx+eax+00004000h] mov ecx,L006A9DB8 push edx call SUB_L004882D0 mov edx,[esi+2Ch] mov ecx,[esi+30h] xor edi,edi xor ebx,ebx mov di,[eax+04h] mov bx,[eax+06h] inc edx mov [ebp-28h],eax mov eax,edx mov [esi+2Ch],edx cmp eax,ecx jnz L00435D8B xor edi,edi mov eax,L004D7EE8 L00435D39: cmp [eax],esi jz L00435D4F add eax,00000004h inc edi cmp eax,L004D7F38 jl L00435D39 pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00435D4F: mov eax,[L004D7EE8+edi*4] push SSZ004C684C_background_for_missile_anim mov ecx,[eax+38h] push ecx mov ecx,L00669C8C call SUB_L0044FBF0 mov edx,[L004D7EE8+edi*4] push edx call SUB_L0049A810 add esp,00000004h mov dword ptr [L004D7EE8+edi*4],00000000h pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00435D8B: fld dword ptr [esi+08h] fadd dword ptr [esi] fst dword ptr [esi] fld dword ptr [esi+0Ch] fadd dword ptr [esi+04h] fst dword ptr [ebp-04h] fstp dword ptr [esi+04h] call SUB_L0049BB80 fld dword ptr [ebp-04h] lea ecx,[eax-3Ch] lea edx,[edi+eax+3Ch] mov [ebp-14h],ecx mov [ebp-0Ch],edx call SUB_L0049BB80 lea ecx,[eax-3Ch] lea edx,[ebx+eax+3Ch] mov [ebp-10h],ecx lea ecx,[ebp-14h] mov [ebp-08h],edx call SUB_L00459960 mov ecx,[ebp-08h] mov eax,000001E0h cmp ecx,eax jle L00435DDC mov [ebp-08h],eax L00435DDC: mov ecx,[ebp-0Ch] mov eax,00000280h cmp ecx,eax jle L00435DEB mov [ebp-0Ch],eax L00435DEB: mov ecx,[ebp-10h] xor eax,eax cmp ecx,eax jge L00435DF7 mov [ebp-10h],eax L00435DF7: cmp [ebp-14h],eax jge L00435DFF mov [ebp-14h],eax L00435DFF: mov al,[esi+20h] fld dword ptr [esi+04h] push eax call SUB_L0049BB80 fld dword ptr [esi] and eax,0000FFFFh push eax call SUB_L0049BB80 mov ecx,[ebp-28h] and eax,0000FFFFh push eax lea edx,[ebp-14h] call SUB_L00435EC0 fild dword ptr [L004DAF40] pop edi fadd dword ptr [esi] fstp dword ptr [esi] fild dword ptr [L004DAF44] mov ecx,[esi] mov [esi+18h],ecx fadd dword ptr [esi+04h] fstp dword ptr [esi+04h] mov edx,[esi+04h] mov [esi+1Ch],edx pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' push ebp mov ebp,esp push ecx push esi xor esi,esi push edi mov [ebp-04h],esi L00435E6B: fild dword ptr [ebp-04h] lea edi,[00000000h+esi*4] fmul qword ptr [L004B9CD0] fld ST(0) fcos fmul qword ptr [L004B9CD8] call SUB_L0049BB80 fsin mov [edi+L004DAFC8],eax fmul qword ptr [L004B9CD8] call SUB_L0049BB80 inc esi mov [edi+L004DB3C8],eax cmp esi,00000100h mov [ebp-04h],esi jl L00435E6B pop edi pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L00435EC0: push ebp mov ebp,esp sub esp,00000034h mov ax,[ecx+06h] push ebx push esi mov si,[ecx+04h] push edi mov edi,[ebp+08h] mov [ebp-1Ch],ax mov eax,[edx] cmp eax,edi mov [ebp-10h],ecx jle L00435EE5 sub eax,edi jmp L00435EE7 L00435EE5: xor eax,eax L00435EE7: mov ecx,[edx+08h] and esi,0000FFFFh mov [ebp-04h],eax mov [ebp-0Ch],esi lea ebx,[edi+esi] cmp ecx,ebx jge L00435F01 sub ecx,edi jmp L00435F03 L00435F01: mov ecx,esi L00435F03: cmp eax,ecx mov [ebp-08h],ecx jge L0043609A mov esi,[edx+04h] mov eax,[ebp+0Ch] cmp esi,eax jle L00435F1C sub esi,eax jmp L00435F1E L00435F1C: xor esi,esi L00435F1E: mov ebx,[ebp-1Ch] mov edx,[edx+0Ch] and ebx,0000FFFFh mov [ebp-28h],ebx lea ecx,[eax+ebx] cmp edx,ecx jge L00435F38 sub edx,eax jmp L00435F3A L00435F38: mov edx,ebx L00435F3A: mov ecx,[ebp-0Ch] add eax,esi imul eax,[L004C7F34] shr ecx,1 mov [ebp-20h],ecx mov ecx,ebx shr ecx,1 mov [ebp-24h],ecx mov ecx,[ebp-10h] lea ecx,[ecx+ebx*2+08h] mov [ebp-2Ch],ecx mov ecx,[ebp-04h] add eax,ecx mov ecx,[L006BAE7C] add eax,edi lea eax,[ecx+eax*2] mov [ebp+08h],eax mov eax,[ebp+10h] and eax,000000FFh shl eax,02h cmp esi,edx mov edi,[eax+L004DB3C8] mov ecx,[eax+L004DAFC8] mov [ebp-30h],edi mov [ebp-14h],ecx jge L0043609A mov eax,edi imul eax,esi mov [ebp+10h],eax mov eax,ecx imul eax,esi sub edx,esi mov [ebp+0Ch],eax mov [ebp-1Ch],edx jmp L00435FAE L00435FAB: mov ecx,[ebp-14h] L00435FAE: mov eax,[ebp-04h] mov ebx,edi mov edx,[ebp+08h] imul ebx,eax mov edi,[ebp+0Ch] imul ecx,[ebp-04h] mov [ebp-34h],edx mov edx,[ebp-08h] add ebx,edi sub edx,eax mov [ebp-18h],edx L00435FCD: mov edi,[ebp+10h] mov eax,[ebp-20h] mov esi,ecx sub esi,edi sar esi,10h add esi,eax js L0043604E cmp esi,[ebp-0Ch] jge L0043604E mov eax,[ebp-24h] mov edx,ebx sar edx,10h sub eax,edx js L0043604E cmp eax,[ebp-28h] jge L0043604E mov edi,[ebp-10h] xor edx,edx mov dx,[edi+eax*2+08h] mov eax,[ebp-2Ch] mov di,[eax+edx*2] lea eax,[eax+edx*2] mov dx,[eax+02h] add eax,00000002h add eax,00000002h test dx,dx jz L0043604E L00436017: and edi,0000FFFFh sub esi,edi js L0043604E and edx,0000FFFFh cmp esi,edx jl L00436044 mov di,[eax+edx*2] lea eax,[eax+edx*2] add eax,00000002h sub esi,edx mov dx,[eax] add eax,00000002h test dx,dx jnz L00436017 jmp L0043604E L00436044: mov dx,[eax+esi*2] mov eax,[ebp+08h] mov [eax],dx L0043604E: mov eax,[ebp+08h] mov edi,[ebp-30h] mov edx,[ebp-18h] add eax,00000002h mov [ebp+08h],eax mov eax,[ebp-14h] add ecx,eax add ebx,edi dec edx mov [ebp-18h],edx jnz L00435FCD mov ecx,[L004C7F34] mov edx,[ebp-34h] lea ecx,[edx+ecx*2] mov edx,[ebp+0Ch] mov [ebp+08h],ecx mov ecx,[ebp+10h] add edx,eax mov eax,[ebp-1Ch] add ecx,edi dec eax mov [ebp+0Ch],edx mov [ebp+10h],ecx mov [ebp-1Ch],eax jnz L00435FAB L0043609A: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 16 SUB_L004360B0: push ebp mov ebp,esp sub esp,00000028h mov eax,edx push ebx push esi push edi mov ebx,[eax] mov edi,[edx+04h] mov [ebp-0Ch],ecx mov esi,[eax+04h] mov [ebp-24h],esi mov esi,[eax+08h] mov [ebp-20h],esi mov esi,[edx] mov eax,[eax+0Ch] mov dword ptr [edx+04h],0000270Fh mov [ebp-1Ch],eax mov eax,[edx+08h] sub eax,esi mov dword ptr [edx],0000270Fh sar eax,1 add eax,esi mov esi,[edx+0Ch] sub esi,edi sar esi,1 add esi,edi mov edi,FFFFD8F1h mov [edx+0Ch],edi mov [edx+08h],edi mov edi,[L004DB3C8+ecx*4] mov [ebp-10h],edi mov edi,[L004DAFC8+ecx*4] mov ecx,ebx mov ebx,[ebp-24h] sub ebx,esi sub ecx,eax mov [ebp-04h],ebx mov ebx,[ebp-10h] imul ebx,ecx mov [ebp-14h],ebx mov ebx,edi imul ebx,[ebp-04h] mov [ebp-08h],ecx mov ecx,[ebp-14h] add ecx,ebx imul edi,[ebp-08h] sar ecx,10h neg ecx mov [ebp-14h],ecx mov ecx,[ebp-10h] imul ecx,[ebp-04h] sub edi,ecx mov ecx,[ebp-14h] sar edi,10h add edi,eax add ecx,esi cmp edi,0000270Fh jge L0043615E mov [edx],edi L0043615E: cmp edi,FFFFD8F1h jle L00436169 mov [edx+08h],edi L00436169: cmp ecx,0000270Fh jge L00436174 mov [edx+04h],ecx L00436174: cmp ecx,FFFFD8F1h jle L0043617F mov [edx+0Ch],ecx L0043617F: mov ecx,[ebp-0Ch] mov edi,[ebp-20h] sub edi,eax mov ebx,[L004DB3C8+ecx*4] mov ecx,[L004DAFC8+ecx*4] mov [ebp-18h],ebx imul ebx,edi mov [ebp-14h],ebx mov ebx,ecx imul ebx,[ebp-04h] mov [ebp-10h],edi mov edi,[ebp-14h] add edi,ebx imul ecx,[ebp-10h] sar edi,10h neg edi mov [ebp-14h],edi mov edi,[ebp-18h] imul edi,[ebp-04h] mov ebx,[edx] sub ecx,edi mov edi,[ebp-14h] sar ecx,10h add ecx,eax add edi,esi cmp ecx,ebx jge L004361D3 mov [edx],ecx L004361D3: cmp ecx,[edx+08h] jle L004361DB mov [edx+08h],ecx L004361DB: cmp edi,[edx+04h] jge L004361E3 mov [edx+04h],edi L004361E3: cmp edi,[edx+0Ch] jle L004361EB mov [edx+0Ch],edi L004361EB: mov ecx,[ebp-0Ch] mov edi,[L004DB3C8+ecx*4] mov ecx,[L004DAFC8+ecx*4] mov [ebp-14h],edi mov edi,[ebp-1Ch] sub edi,esi mov ebx,ecx imul ebx,edi imul ecx,[ebp-08h] mov [ebp-18h],ebx mov ebx,[ebp-14h] imul ebx,[ebp-08h] mov [ebp-04h],edi mov edi,[ebp-18h] add edi,ebx mov ebx,[edx] sar edi,10h neg edi mov [ebp-18h],edi mov edi,[ebp-14h] imul edi,[ebp-04h] sub ecx,edi mov edi,[ebp-18h] sar ecx,10h add ecx,eax add edi,esi cmp ecx,ebx jge L00436242 mov [edx],ecx L00436242: cmp ecx,[edx+08h] jle L0043624A mov [edx+08h],ecx L0043624A: cmp edi,[edx+04h] jge L00436252 mov [edx+04h],edi L00436252: cmp edi,[edx+0Ch] jle L0043625A mov [edx+0Ch],edi L0043625A: mov ecx,[ebp-0Ch] mov edi,[L004DB3C8+ecx*4] mov ecx,[L004DAFC8+ecx*4] mov [ebp-14h],edi imul edi,[ebp-10h] mov ebx,ecx mov [ebp-18h],edi imul ebx,[ebp-04h] imul ecx,[ebp-10h] add edi,ebx sar edi,10h neg edi mov [ebp-18h],edi mov edi,[ebp-14h] imul edi,[ebp-04h] sub ecx,edi sar ecx,10h add ecx,eax mov eax,[ebp-18h] add esi,eax mov eax,[edx] cmp ecx,eax jge L004362A4 mov [edx],ecx L004362A4: cmp ecx,[edx+08h] jle L004362AC mov [edx+08h],ecx L004362AC: cmp esi,[edx+04h] jge L004362B4 mov [edx+04h],esi L004362B4: cmp esi,[edx+0Ch] jle L004362BC mov [edx+0Ch],esi L004362BC: pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L004362D0: push ebp mov ebp,esp sub esp,00000040h push ebx push esi push edi mov edi,edx mov edx,ecx xor eax,eax xor esi,esi mov [ebp-34h],edx mov ax,[edx+04h] mov si,[edx+06h] mov [ebp-2Ch],eax mov ecx,[edi] cdq sub eax,edx mov ebx,[edi+08h] sar eax,1 mov [ebp-10h],eax mov eax,esi cdq sub eax,edx mov edx,[ebp+14h] sar eax,1 mov [ebp-30h],esi mov esi,[ebp+08h] mov [ebp-18h],eax mov eax,[edx] sub ebx,ecx cmp esi,eax mov [ebp-1Ch],edi mov dword ptr [ebp-04h],00000000h mov [ebp-0Ch],ebx jge L0043632E sub eax,esi sub ebx,eax mov [ebp-04h],eax mov [ebp-0Ch],ebx L0043632E: mov eax,[edx+08h] add ebx,esi cmp ebx,eax jle L0043633C sub eax,esi mov [ebp-0Ch],eax L0043633C: mov esi,[edi+04h] mov ebx,[edi+0Ch] mov eax,[edx+0Ch] mov edx,[ebp+0Ch] sub ebx,esi mov dword ptr [ebp-08h],00000000h add edx,ebx mov [ebp-14h],ebx cmp edx,eax mov edx,[ebp+0Ch] jle L00436364 sub eax,edx mov [ebp-14h],eax mov ebx,eax L00436364: mov eax,[ebp+14h] mov eax,[eax+04h] cmp edx,eax jge L00436373 sub eax,edx mov [ebp-08h],eax L00436373: mov eax,[ebp-08h] add eax,edx mov edx,[ebp-04h] imul eax,[L004C7F34] add eax,edx mov edx,[ebp+08h] add eax,edx mov edx,[L006BAE7C] lea eax,[edx+eax*2] mov edx,[ebp+10h] and edx,000000FFh mov [ebp+0Ch],eax shl edx,02h mov eax,[edx+L004DB3C8] mov edx,[edx+L004DAFC8] mov [ebp+08h],edx mov edx,[ebp-08h] add edx,esi mov [ebp-20h],eax mov [ebp+14h],edx lea edx,[ebx+esi] cmp [ebp+14h],edx jge L004364EB mov edx,[ebp-0Ch] mov esi,[ebp-04h] add edx,esi mov esi,[ebp+14h] mov [ebp-08h],edx mov edx,eax neg edx mov [ebp-40h],edx mov edx,[ebp+08h] neg edx mov [ebp-3Ch],edx mov edx,[ebp-18h] sub edx,esi mov esi,eax imul esi,edx mov [ebp-0Ch],esi mov esi,[ebp+08h] imul esi,edx mov [ebp+10h],esi L004363FA: mov edx,[ebp+0Ch] mov [ebp-38h],edx mov edx,[ebp-04h] lea esi,[edx+ecx] mov edx,[ebp-08h] add edx,ecx cmp esi,edx jge L004364AD mov ecx,[ebp+08h] mov ebx,esi mov edx,eax mov edi,esi imul edx,[ebp-10h] imul ebx,eax imul edi,ecx imul ecx,[ebp-10h] mov [ebp-24h],edx mov [ebp-28h],ecx jmp L00436438 L00436432: mov edx,[ebp-24h] mov ecx,[ebp-28h] L00436438: mov eax,edi sub eax,ecx mov ecx,[ebp-0Ch] sub eax,ecx mov ecx,[ebp-10h] sar eax,10h add eax,ecx js L00436483 cmp eax,[ebp-2Ch] jge L00436483 mov ecx,ebx sub ecx,edx mov edx,[ebp+10h] add edx,ecx mov ecx,[ebp-18h] sar edx,10h sub ecx,edx js L00436483 cmp ecx,[ebp-30h] jge L00436483 push ecx push eax mov eax,[ebp-34h] mov ecx,L006A9DB8 push eax call SUB_L00488300 test ax,ax jz L00436483 mov ecx,[ebp+0Ch] mov [ecx],ax L00436483: mov eax,[ebp+0Ch] mov ecx,[ebp+08h] mov edx,[ebp-1Ch] add eax,00000002h mov [ebp+0Ch],eax mov eax,[ebp-20h] add edi,ecx mov ecx,[edx] add ebx,eax mov eax,[ebp-08h] inc esi add eax,ecx cmp esi,eax jl L00436432 mov ebx,[ebp-14h] mov eax,[ebp-20h] mov edi,edx L004364AD: mov edx,[L004C7F34] mov esi,[ebp-38h] lea edx,[esi+edx*2] mov esi,[ebp+10h] mov [ebp+0Ch],edx mov edx,[ebp+14h] inc edx mov [ebp+14h],edx mov edx,[ebp-3Ch] add esi,edx mov edx,[ebp-40h] mov [ebp+10h],esi mov esi,[ebp-0Ch] add esi,edx mov edx,ebx mov [ebp-0Ch],esi mov esi,[edi+04h] add edx,esi mov esi,[ebp+14h] cmp esi,edx jl L004363FA L004364EB: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0010h ;------------------------------------------------------------------------------ Align 16 SUB_L00436500: push ebp mov ebp,esp sub esp,00000008h mov eax,[ebp+08h] push eax push edx push ecx mov ecx,[L0073EBE4] lea eax,[ebp-08h] mov dl,[ecx+00000150h] mov ecx,L006BB1C0 push edx push eax call SUB_L004759A0 lea ecx,[ebp-08h] push ecx mov ecx,[L006BB1CC] call SUB_L0048B170 mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 8 SUB_L00436540: push ebp mov ebp,esp push FFFFFFFFh push L004B2BA7 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push esi mov esi,ecx push edi mov [ebp-10h],esi call SUB_L00441CB0 mov eax,[ebp+08h] mov ecx,[ebp+0Ch] mov [esi+2Ch],eax mov [esi+30h],ecx lea eax,[esi+20h] xor ebx,ebx mov dword ptr [esi],L004B9CE0 mov ecx,0000083Eh mov [L00669664],esi lea edx,[esi+1Ch] push eax mov [ebp-04h],ebx mov dword ptr [esi+04h],SSZ004C68AC_fightingstyle_gump mov [esi+5Ch],ebx mov [esi+000000A0h],ebx mov [esi+0000009Ch],ebx mov [esi+00000098h],ebx mov [esi+00000094h],ebx mov [esi+000000A8h],ebx mov [esi+000000A4h],ebx mov [esi+4Ch],ebx mov [esi+48h],ebx mov [esi+44h],ebx mov [esi+40h],ebx mov [esi+3Ch],ebx mov [esi+50h],ecx call SUB_L004390A0 lea eax,[esi+28h] lea edx,[esi+24h] push eax mov ecx,00000853h call SUB_L004390A0 push SSZ004C6890_framedata_for_CFightingGump push 00000010h mov ecx,L00669C8C mov [esi+10h],ebx mov dword ptr [esi+14h],00000002h call SUB_L0044FBD0 mov ecx,[esi+14h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+38h],edi push SSZ004C6880_fightgump_frame rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+20h] imul eax,[esi+1Ch] lea ecx,[eax+eax+04h] push ecx mov ecx,L00669C8C call SUB_L0044FBD0 mov edx,[esi+38h] mov [edx+04h],eax mov ecx,[esi+20h] imul ecx,[esi+1Ch] mov edx,[esi+38h] xor eax,eax shl ecx,1 mov edi,[edx+04h] mov edx,ecx add edi,00000004h shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+38h] mov dx,[esi+1Ch] mov ecx,[eax+04h] mov [ecx],dx mov eax,[esi+38h] mov dx,[esi+20h] push SSZ004C6868_fightgump_min__frame mov ecx,[eax+04h] mov [ecx+02h],dx mov eax,[esi+24h] imul eax,[esi+28h] lea ecx,[eax+eax+04h] push ecx mov ecx,L00669C8C call SUB_L0044FBD0 mov edx,[esi+38h] mov [edx+0Ch],eax mov ecx,[esi+24h] imul ecx,[esi+28h] mov edx,[esi+38h] xor eax,eax shl ecx,1 mov edi,[edx+0Ch] mov edx,ecx add edi,00000004h shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+38h] mov dx,[esi+24h] mov ecx,[eax+0Ch] mov [ecx],dx mov eax,[esi+38h] mov dx,[esi+28h] mov ecx,[eax+0Ch] mov [ecx+02h],dx mov eax,[esi+38h] xor ecx,ecx xor edx,edx mov eax,[eax+04h] mov cx,[eax+02h] mov dx,[eax] push ecx add eax,00000004h push edx mov edx,[esi+50h] push eax push ebx push ebx mov ecx,SUB_L00488700 call SUB_L00439100 mov eax,[esi+38h] xor ecx,ecx xor edx,edx mov eax,[eax+0Ch] mov cx,[eax+02h] mov dx,[eax] push ecx add eax,00000004h push edx push eax push ebx push ebx mov edx,00000853h mov ecx,SUB_L00488700 call SUB_L00439100 push 000000B4h call SUB_L0049A820 add esp,00000004h mov [ebp+08h],eax cmp eax,ebx mov byte ptr [ebp-04h],01h jz L00436756 push 00000845h push esi push 000000C5h push ebx push 0000006Bh push 0000005Ch mov ecx,eax call SUB_L00412A50 jmp L00436758 L00436756: xor eax,eax L00436758: mov edi,00000846h mov [esi+000000ACh],eax mov [eax+000000ACh],di mov edx,[L006BD2A4] mov ecx,[esi+000000ACh] xor eax,eax cmp edx,00000001h push 00000001h setz al mov [ecx+68h],eax mov ecx,[esi+000000ACh] push esi mov [ebp-04h],bl call SUB_L004415C0 mov edx,[L006BD2A8] mov ecx,[esi+000000ACh] push 00000064h push edx call SUB_L00412F50 push 000000B4h call SUB_L0049A820 add esp,00000004h mov [ebp+08h],eax cmp eax,ebx mov byte ptr [ebp-04h],02h jz L004367DA push 00000845h push esi push 000000C5h push ebx push 00000096h push 0000005Ch mov ecx,eax call SUB_L00412A50 jmp L004367DC L004367DA: xor eax,eax L004367DC: mov [esi+000000B0h],eax mov [eax+000000ACh],di mov edx,[L006BD2A4] mov ecx,[esi+000000B0h] mov edi,00000001h xor eax,eax cmp edx,edi push edi setz al mov [ecx+68h],eax mov ecx,[esi+000000B0h] push esi mov [ebp-04h],bl call SUB_L004415C0 mov edx,[L006BD2AC] mov ecx,[esi+000000B0h] push 00000064h push edx call SUB_L00412F50 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp+08h],eax cmp eax,ebx mov byte ptr [ebp-04h],03h jz L0043685B push ebx push L004115B0 push ebx push 00000002h push esi push 00000079h push 0000005Bh push 0000006Ch push 00000051h mov ecx,eax call SUB_L00412450 jmp L0043685D L0043685B: xor eax,eax L0043685D: push edi push esi mov ecx,eax mov [ebp-04h],bl call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp+08h],eax cmp eax,ebx mov byte ptr [ebp-04h],04h jz L004368A2 push ebx push L004115D0 push ebx push 00000002h push esi push 00000079h push 000000CEh push 0000006Ch push 000000C6h mov ecx,eax call SUB_L00412450 jmp L004368A4 L004368A2: xor eax,eax L004368A4: push edi push esi mov ecx,eax mov [ebp-04h],bl call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp+08h],eax cmp eax,ebx mov byte ptr [ebp-04h],05h jz L004368E9 push ebx push L004115F0 push ebx push 00000002h push esi push 000000A4h push 0000005Bh push 00000096h push 00000051h mov ecx,eax call SUB_L00412450 jmp L004368EB L004368E9: xor eax,eax L004368EB: push edi push esi mov ecx,eax mov [ebp-04h],bl call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp+08h],eax cmp eax,ebx mov byte ptr [ebp-04h],06h jz L00436936 push ebx push L00411610 push ebx push 00000002h push esi push 000000A4h push 000000CEh push 00000096h push 000000C6h mov ecx,eax call SUB_L00412450 jmp L00436938 L00436936: xor eax,eax L00436938: push edi push esi mov ecx,eax mov [ebp-04h],bl call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp+08h],eax cmp eax,ebx mov byte ptr [ebp-04h],07h jz L00436988 mov edx,[L006BD2A4] xor ecx,ecx push ebx cmp edx,edi push 00000840h push 0000083Fh setz cl push ebx push ecx push edi push esi push 00000040h push 00000097h mov ecx,eax call SUB_L004122F0 jmp L0043698A L00436988: xor eax,eax L0043698A: mov [esi+000000B8h],eax mov dword ptr [eax+000000A4h],00000841h mov ecx,[esi+000000B8h] push edi push esi mov [ebp-04h],bl call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp+08h],eax cmp eax,ebx mov byte ptr [ebp-04h],08h jz L004369EB mov ecx,[L006BD2A4] xor edx,edx push ebx cmp ecx,edi push 00000843h push 00000842h setnz dl push ebx push edx push edi push esi push 00000040h push 00000055h mov ecx,eax call SUB_L004122F0 jmp L004369ED L004369EB: xor eax,eax L004369ED: mov [esi+000000B4h],eax mov dword ptr [eax+000000A4h],00000844h mov ecx,[esi+000000B4h] push edi push esi mov [ebp-04h],bl call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp+08h],eax cmp eax,ebx mov byte ptr [ebp-04h],09h jz L00436A45 push ebx push SUB_L0040D6E0 push ebx push ebx push esi push 0000002Ch push 00000115h push 00000014h push 000000FEh mov ecx,eax call SUB_L00412450 jmp L00436A47 L00436A45: xor eax,eax L00436A47: push edi push esi mov ecx,eax mov [ebp-04h],bl call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp+08h],eax cmp eax,ebx mov byte ptr [ebp-04h],0Ah jz L00436A8E push ebx push 00000848h push 00000847h push L004068E0 push ebx push ebx push esi push 000000B1h push 00000019h mov ecx,eax call SUB_L004122F0 jmp L00436A90 L00436A8E: xor eax,eax L00436A90: push edi push esi mov ecx,eax mov [ebp-04h],bl mov dword ptr [eax+000000A4h],00000849h call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp+08h],eax cmp eax,ebx mov byte ptr [ebp-04h],0Bh jz L00436AE1 push ebx push 0000084Bh push 0000084Ah push L00411480 push ebx push ebx push esi push 000000B2h push 00000058h mov ecx,eax call SUB_L004122F0 jmp L00436AE3 L00436AE1: xor eax,eax L00436AE3: push edi push esi mov ecx,eax mov [ebp-04h],bl mov dword ptr [eax+000000A4h],0000084Ch call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp+08h],eax cmp eax,ebx mov byte ptr [ebp-04h],0Ch jz L00436B37 push ebx push 0000084Eh push 0000084Dh push L00411500 push ebx push ebx push esi push 000000B1h push 00000097h mov ecx,eax call SUB_L004122F0 jmp L00436B39 L00436B37: xor eax,eax L00436B39: push edi push esi mov ecx,eax mov [ebp-04h],bl mov dword ptr [eax+000000A4h],0000084Fh call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp+08h],eax cmp eax,ebx mov byte ptr [ebp-04h],0Dh jz L00436B8D push ebx push 00000851h push 00000850h push L00411520 push ebx push ebx push esi push 000000B1h push 000000D5h mov ecx,eax call SUB_L004122F0 jmp L00436B8F L00436B8D: xor eax,eax L00436B8F: push edi push esi mov ecx,eax mov [ebp-04h],bl mov dword ptr [eax+000000A4h],00000852h call SUB_L004415C0 mov ecx,[ebp-0Ch] mov eax,esi pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 8 L00436BC0: push ebp mov ebp,esp push esi mov esi,ecx call SUB_L00436BF0 test byte ptr [ebp+08h],01h jz L00436BDA push esi call SUB_L0049A810 add esp,00000004h L00436BDA: mov eax,esi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00436BF0: push ebp mov ebp,esp push FFFFFFFFh push L004B2BC8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx push edi mov [ebp-10h],esi mov dword ptr [esi],L004B9CE0 xor edi,edi mov [L00669664],edi mov eax,[esi+38h] mov [ebp-04h],edi mov eax,[eax+04h] cmp eax,edi jz L00436C41 push SSZ004C68EC_fightgump_frame0_pBMP push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov ecx,[esi+38h] mov [ecx+04h],edi L00436C41: mov edx,[esi+38h] mov eax,[edx+0Ch] cmp eax,edi jz L00436C61 push SSZ004C68D4_fightgump_frame1_pBMP push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov eax,[esi+38h] mov [eax+0Ch],edi L00436C61: mov eax,[esi+38h] cmp eax,edi jz L00436C7B push SSZ004C68C0_fightgump_framedata push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov [esi+38h],edi L00436C7B: mov ecx,esi mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00441D50 mov ecx,[ebp-0Ch] pop edi mov fs:[00000000h],ecx pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 L00436CA0: push ebp mov ebp,esp push esi mov esi,ecx push 00000000h call SUB_L00441340 mov ecx,[ebp+08h] mov edx,[ebp+0Ch] mov [esi+6Ch],ecx mov ecx,[esi+000000A8h] mov eax,00000001h mov [esi+70h],edx cmp ecx,eax mov [esi+0000009Ch],eax jnz L00436CDD mov dword ptr [esi+000000A8h],00000002h pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ L00436CDD: mov [esi+000000A8h],eax call [KERNEL32.dll!GetTickCount] mov [esi+000000A4h],eax pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 L00436D00: push ebp mov ebp,esp push ebx push esi push edi mov edi,[ebp+08h] mov ebx,ecx mov eax,[edi] mov ecx,edi call [eax+000000C4h] test eax,eax jz L00436D2E mov eax,[edi+10h] test eax,eax jnz L00436D2E mov dword ptr [edi+10h],00000001h pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ L00436D2E: mov esi,[ebx+44h] test esi,esi jz L00436D55 L00436D35: mov edx,[esi] mov ecx,esi call [edx+000000C4h] test eax,eax jz L00436D4E cmp esi,edi jz L00436D4E mov dword ptr [esi+10h],00000000h L00436D4E: mov esi,[esi+3Ch] test esi,esi jnz L00436D35 L00436D55: mov ecx,[ebx+000000B8h] mov eax,00000001h mov edx,[ecx+10h] cmp edx,eax mov edx,[ebx+000000ACh] jz L00436D6F xor eax,eax L00436D6F: mov [edx+68h],eax mov ecx,[ebx+000000B0h] pop edi pop esi mov [ecx+68h],eax pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 L00436D90: push ebp mov ebp,esp mov eax,[ecx+60h] push esi test eax,eax push edi jz L00436DA4 mov eax,[ecx+38h] mov edx,[eax+0Ch] jmp L00436DAA L00436DA4: mov ecx,[ecx+38h] mov edx,[ecx+04h] L00436DAA: mov esi,[ebp+08h] test esi,esi jl L00436DE1 mov eax,[ebp+0Ch] test eax,eax jl L00436DE1 xor ecx,ecx mov cx,[edx] cmp esi,ecx jge L00436DE1 xor edi,edi mov di,[edx+02h] cmp eax,edi jge L00436DE1 imul eax,ecx add eax,esi xor ecx,ecx cmp [edx+eax*2],cx setnz cl mov eax,ecx pop edi pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ L00436DE1: pop edi xor eax,eax pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' push 000000FFh push 000000FFh push 000000FFh mov ecx,L006AAE78 call SUB_L0043BA40 mov [L004DB7D8],ax retn ;------------------------------------------------------------------------------ push 000000AAh push 000000AAh push 00000000h mov ecx,L006AAE78 call SUB_L0043BA40 mov [L004DB7D4],ax retn ;------------------------------------------------------------------------------ db 90h; '?' db 90h; '?' db 90h; '?' push 000000AAh push 00000000h push 000000AAh mov ecx,L006AAE78 call SUB_L0043BA40 mov [L004DB7CC],ax retn ;------------------------------------------------------------------------------ db 90h; '?' db 90h; '?' db 90h; '?' push 0000009Bh push 0000009Bh push 0000009Bh mov ecx,L006AAE78 call SUB_L0043BA40 mov [L004DB7D0],ax retn ;------------------------------------------------------------------------------ push ebx push esi mov esi,ecx push edi mov ecx,00000019h xor eax,eax mov edi,esi rep stosd lea edi,[esi+64h] mov ecx,00010000h rep stosd mov ecx,esi call SUB_L00436F80 mov edi,L004C6908 xor eax,eax mov ecx,esi sub edi,esi L00436E9C: cmp eax,00000019h jg L00436EB0 test eax,eax jl L00436EB0 mov ebx,[ecx] xor edx,edx test ebx,ebx setnz dl jmp L00436EB2 L00436EB0: xor edx,edx L00436EB2: test edx,edx jz L00436EBD mov edx,[ecx] mov ebx,[edi+ecx] mov [edx],ebx L00436EBD: inc eax add ecx,00000004h cmp eax,00000009h jl L00436E9C mov eax,esi pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' push ebp mov ebp,esp sub esp,0000000Ch push ebx push esi mov esi,ecx push edi mov [ebp-0Ch],esi call SUB_L0048B870 test eax,eax jz L00436EF7 mov eax,[L004DB7DC] test eax,eax jz L00436EF7 mov ecx,esi call SUB_L0048B870 L00436EF7: mov eax,esi mov dword ptr [ebp-08h],00000019h mov [ebp-04h],eax L00436F03: mov ebx,[eax] test ebx,ebx jz L00436F3E lea esi,[ebx+04h] mov edi,000000E0h L00436F11: mov eax,[esi] test eax,eax jz L00436F26 push eax call SUB_L0049A810 add esp,00000004h mov dword ptr [esi],00000000h L00436F26: add esi,00000004h dec edi jnz L00436F11 push ebx call SUB_L0049A810 mov eax,[ebp-04h] add esp,00000004h mov dword ptr [eax],00000000h L00436F3E: mov ecx,[ebp-08h] add eax,00000004h dec ecx mov [ebp-04h],eax mov [ebp-08h],ecx jnz L00436F03 mov eax,[ebp-0Ch] mov edi,00010000h lea esi,[eax+64h] L00436F58: mov eax,[esi] test eax,eax jz L00436F6D push eax call SUB_L0049A810 add esp,00000004h mov dword ptr [esi],00000000h L00436F6D: add esi,00000004h dec edi jnz L00436F58 pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 SUB_L00436F80: push ebp mov ebp,esp sub esp,00000014h push ebx push esi mov ebx,ecx push L004C40E0 push SSZ004C6944_fonts_mul mov ecx,L006BB1C8 call SUB_L00455E10 push eax call SUB_L0049A7F0 mov esi,eax add esp,00000008h test esi,esi mov [ebp-10h],esi jnz L00436FC8 push eax mov edx,SSZ004C693C_Error mov ecx,SSZ004C692C_Missing_Font_ call SUB_L0049A0A0 xor eax,eax pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00436FC8: push edi mov dword ptr [ebp-14h],00000019h L00436FD0: push esi push 00000001h lea eax,[ebp-04h] push 00000001h push eax call SUB_L0049A630 mov al,[ebp-04h] add esp,00000010h test al,al jz L004370E8 push 00000704h call SUB_L0049A820 mov edx,eax add esp,00000004h test edx,edx jz L0043701C lea edi,[edx+04h] mov ecx,000000E0h xor eax,eax rep stosd lea edi,[edx+00000384h] mov ecx,000000E0h rep stosd mov [edx],eax jmp L0043701E L0043701C: xor edx,edx L0043701E: mov [ebx],edx mov esi,00000004h L00437025: mov edi,[ebp-10h] lea ecx,[ebp-08h] push edi push 00000001h push 00000001h push ecx call SUB_L0049A630 add esp,00000010h lea edx,[ebp-0Ch] push edi push 00000001h push 00000001h push edx call SUB_L0049A630 add esp,00000010h lea eax,[ebp-04h] push edi push 00000001h push 00000001h push eax call SUB_L0049A630 mov ecx,[ebp-04h] mov edx,[ebx] and ecx,000000FFh add esp,00000010h mov [esi+edx+00000380h],ecx mov eax,[ebp-08h] mov ecx,[ebp-0Ch] and eax,000000FFh and ecx,000000FFh imul eax,ecx lea edx,[eax+eax+04h] push edx call SUB_L0049A820 mov ecx,[ebx] add esp,00000004h mov [esi+ecx],eax mov eax,[ebx] movzx dx,[ebp-08h] mov ecx,[esi+eax] push edi push 00000002h mov [ecx],dx mov eax,[ebx] movzx dx,[ebp-0Ch] mov ecx,[esi+eax] mov [ecx+02h],dx mov edx,[ebp-08h] mov eax,[ebp-0Ch] and edx,000000FFh and eax,000000FFh mov ecx,[ebx] imul edx,eax push edx mov edx,[esi+ecx] add edx,00000004h push edx call SUB_L0049A630 add esi,00000004h add esp,00000010h cmp esi,00000384h jl L00437025 mov esi,edi L004370E8: mov eax,[ebp-14h] add ebx,00000004h dec eax mov [ebp-14h],eax jnz L00436FD0 push esi call SUB_L0049A580 add esp,00000004h mov eax,00000001h pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 4 SUB_L00437110: push ebp mov ebp,esp mov eax,[ebp+08h] push esi cmp eax,00000019h jg L00437131 test eax,eax jl L00437131 mov esi,[ecx+eax*4] xor edx,edx test esi,esi setnz dl mov eax,edx pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ L00437131: xor eax,eax pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00437140: push ebp mov ebp,esp mov eax,[ebp+08h] push esi cmp eax,00000019h jg L0043715C test eax,eax jl L0043715C mov esi,[ecx+eax*4] xor edx,edx test esi,esi setnz dl jmp L0043715E L0043715C: xor edx,edx L0043715E: test edx,edx jz L0043718F mov edx,[ebp+0Ch] cmp edx,00000020h jl L0043718F lea esi,[edx-20h] cmp esi,000000E0h jge L0043718F mov eax,[ecx+eax*4] mov ecx,[eax+edx*4-7Ch] xor eax,eax xor edx,edx mov ax,[ecx] test eax,eax setnz dl mov eax,edx pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ L0043718F: xor eax,eax xor edx,edx test eax,eax setnz dl mov eax,edx pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 4 SUB_L004371A0: push ebp mov ebp,esp sub esp,00000008h mov al,[L004CCB2C] push ebx push esi push edi test al,al mov [ebp-08h],ecx mov dword ptr [ebp-04h],00000000h jz L00437209 mov eax,[L004DB7E0] test eax,eax jnz L00437209 mov esi,[ebp+18h] or ecx,FFFFFFFFh mov edi,esi xor eax,eax repne scasb not ecx push ecx call SUB_L0049A820 mov ebx,eax mov edi,esi or ecx,FFFFFFFFh xor eax,eax add esp,00000004h mov [ebp+18h],ebx repne scasb not ecx sub edi,ecx mov dword ptr [ebp-04h],00000001h mov eax,ecx mov esi,edi mov edi,ebx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb jmp L00437211 L00437209: mov ecx,[ebp+18h] mov [ebp+18h],ecx mov ebx,ecx L00437211: mov edx,[ebp+10h] mov eax,[ebp-08h] mov edx,[eax+edx*4] test edx,edx mov [ebp+10h],edx jnz L0043724C push edx mov edx,SSZ004C693C_Error mov ecx,SSZ004C692C_Missing_Font_ call SUB_L0049A0A0 mov eax,[ebp-04h] test eax,eax jz L00437241 push ebx call SUB_L0049A810 add esp,00000004h L00437241: xor eax,eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0020h ;------------------------------------------------------------------------------ L0043724C: mov edi,[ebp+18h] or ecx,FFFFFFFFh xor eax,eax mov ebx,[ebp+08h] repne scasb not ecx dec ecx xor esi,esi test ecx,ecx mov [ebp+08h],ecx jle L0043729D mov edi,[ebp+24h] jmp L0043726D L0043726A: mov edx,[ebp+10h] L0043726D: mov ecx,[ebp+20h] mov eax,[ebp+1Ch] push edi push ecx push eax mov eax,[ebp+18h] xor ecx,ecx mov cl,[eax+esi] mov eax,[ebp+0Ch] push ecx mov ecx,[ebp+14h] push ecx push eax push ebx mov ecx,edx call SUB_L00438E20 test eax,eax jz L0043729D add ebx,eax mov eax,[ebp+08h] inc esi cmp esi,eax jl L0043726A L0043729D: mov eax,[ebp-04h] test eax,eax jz L004372B0 mov ecx,[ebp+18h] push ecx call SUB_L0049A810 add esp,00000004h L004372B0: pop edi pop esi mov eax,00000001h pop ebx mov esp,ebp pop ebp retn 0020h ;------------------------------------------------------------------------------ Align 4 SUB_L004372C0: push ebp mov ebp,esp sub esp,000000E8h mov eax,[ebp+10h] push ebx push esi cmp eax,00000019h push edi mov [ebp-04h],ecx mov dword ptr [ebp-08h],00000000h jg L004372F0 test eax,eax jl L004372F0 mov esi,[ecx+eax*4] xor edx,edx test esi,esi setnz dl mov eax,edx jmp L004372F2 L004372F0: xor eax,eax L004372F2: test eax,eax jnz L004372FF pop edi pop esi pop ebx mov esp,ebp pop ebp retn 002Ch ;------------------------------------------------------------------------------ L004372FF: mov esi,[ebp+18h] test esi,esi jnz L00437311 xor eax,eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn 002Ch ;------------------------------------------------------------------------------ L00437311: mov edi,esi or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx push ecx call SUB_L0049A820 mov ebx,eax mov edi,esi or ecx,FFFFFFFFh xor eax,eax add esp,00000004h repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,ebx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb L00437346: or ecx,FFFFFFFFh mov edi,ebx xor eax,eax xor edx,edx mov [ebp-0Ch],ecx mov [ebp+18h],edx repne scasb not ecx dec ecx mov [ebp-1Ch],edx cmp ecx,edx mov [ebp-14h],ecx jle L004373E2 L00437364: mov eax,[ebp+10h] mov cl,[edx+ebx] cmp eax,00000019h movsx esi,cl jg L00437388 test eax,eax jl L00437388 mov edi,[ebp-04h] xor edx,edx cmp [edi+eax*4],edx setnz dl mov edi,edx mov edx,[ebp-1Ch] jmp L0043738A L00437388: xor edi,edi L0043738A: test edi,edi jz L004373AF cmp esi,00000020h jl L004373AF lea edi,[esi-20h] cmp edi,000000E0h jge L004373AF mov edi,[ebp-04h] mov eax,[edi+eax*4] mov esi,[eax+esi*4-7Ch] xor eax,eax mov ax,[esi] jmp L004373B1 L004373AF: xor eax,eax L004373B1: mov esi,[ebp+18h] add esi,eax cmp cl,20h mov [ebp+18h],esi jnz L004373C9 cmp edx,00000001h jle L004373C9 lea ecx,[edx-01h] mov [ebp-0Ch],ecx L004373C9: mov eax,[ebp+18h] mov ecx,[ebp+1Ch] cmp eax,ecx jg L00437581 mov eax,[ebp-14h] inc edx cmp edx,eax mov [ebp-1Ch],edx jl L00437364 L004373E2: mov dword ptr [ebp+18h],FFFFFFFFh L004373E9: mov eax,[ebp+18h] cmp eax,FFFFFFFFh jz L00437513 mov dl,[ebx+eax+01h] xor ecx,ecx cmp dl,20h mov esi,ebx setz cl inc eax mov [ebp-0Ch],ecx mov ecx,eax lea edi,[ebp-000000E8h] mov edx,ecx mov [ebp-14h],eax shr ecx,02h rep movsd mov ecx,edx lea edx,[ebp-20h] and ecx,00000003h rep movsb mov byte ptr [ebp+eax-000000E8h],00h lea eax,[ebp-10h] lea ecx,[ebp-18h] push eax push ecx mov ecx,[ebp+10h] lea eax,[ebp-000000E8h] push edx push eax push ecx mov ecx,[ebp-04h] call SUB_L00437A10 mov edx,[ebp+28h] mov eax,[ebp+24h] mov ecx,[ebp+20h] mov esi,[ebp-08h] push edx push eax mov eax,[ebp+14h] lea edx,[ebp-000000E8h] push ecx mov ecx,[ebp+10h] push edx mov edx,[ebp-10h] push eax mov eax,[ebp+0Ch] add edx,esi push ecx mov ecx,[ebp-04h] add edx,eax mov eax,[ebp+08h] push edx push eax call SUB_L004371A0 mov eax,[ebp+30h] test eax,eax jnz L00437486 mov eax,[ebp-18h] L00437486: add esi,eax mov edi,ebx or ecx,FFFFFFFFh xor eax,eax repne scasb mov edx,[ebp-14h] mov [ebp-08h],esi not ecx dec ecx mov esi,ecx mov ecx,[ebp-0Ch] sub esi,edx sub esi,ecx test esi,esi jle L004374B7 add edx,ebx lea edi,[edx+ecx] L004374AC: mov cl,[eax+edi] mov [ebx+eax],cl inc eax cmp eax,esi jl L004374AC L004374B7: mov edx,[ebp+2Ch] mov byte ptr [ebx+eax],00h test edx,edx jz L00437513 mov edi,ebx or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx mov edi,ebx add ecx,ebx mov [ecx+edx],al or ecx,FFFFFFFFh repne scasb not ecx dec ecx lea eax,[ecx+edx-01h] cmp eax,edx jl L004374FA lea esi,[ebx+eax] sub eax,edx inc eax mov edi,eax L004374ED: mov eax,esi sub eax,edx dec esi dec edi mov cl,[eax] mov [esi+01h],cl jnz L004374ED L004374FA: test edx,edx jle L00437513 mov ecx,edx mov eax,20202020h mov edi,ebx shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb L00437513: cmp dword ptr [ebp+18h],FFFFFFFFh jnz L00437346 mov edi,[ebp+10h] mov esi,[ebp-04h] lea eax,[ebp-10h] lea ecx,[ebp-18h] push eax lea edx,[ebp-20h] push ecx push edx push ebx push edi mov ecx,esi call SUB_L00437A10 mov eax,[ebp+28h] mov ecx,[ebp+24h] mov edx,[ebp+20h] push eax mov eax,[ebp+14h] push ecx mov ecx,[ebp-10h] push edx push ebx mov edx,[ebp+08h] push eax mov eax,[ebp+0Ch] push edi mov edi,[ebp-08h] add ecx,edi add ecx,eax push ecx push edx mov ecx,esi call SUB_L004371A0 push ebx call SUB_L0049A810 mov eax,[ebp+30h] add esp,00000004h test eax,eax jnz L00437576 mov eax,[ebp-18h] L00437576: add eax,edi pop edi pop esi pop ebx mov esp,ebp pop ebp retn 002Ch ;------------------------------------------------------------------------------ L00437581: mov eax,[ebp-0Ch] cmp eax,FFFFFFFFh jz L00437591 mov [ebp+18h],eax jmp L004373E9 L00437591: dec edx mov [ebp+18h],edx jmp L004373E9 Align 8 SUB_L004375A0: push ebp mov ebp,esp sub esp,00000010h push ebx mov ebx,[ebp+10h] xor edx,edx mov [ebp-04h],ecx mov eax,[ecx+ebx*4] mov [ebp-08h],edx cmp eax,edx mov [ebp-0Ch],edx mov [ebp-10h],eax jnz L004375D8 push edx mov edx,SSZ004C693C_Error mov ecx,SSZ004C692C_Missing_Font_ call SUB_L0049A0A0 xor eax,eax pop ebx mov esp,ebp pop ebp retn 0020h ;------------------------------------------------------------------------------ L004375D8: push edi push esi mov esi,[ebp+18h] or ecx,FFFFFFFFh mov edi,esi xor eax,eax repne scasb not ecx push ecx call SUB_L0049A820 mov edx,eax mov edi,esi or ecx,FFFFFFFFh xor eax,eax add esp,00000004h mov [ebp+18h],edx repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax xor eax,eax and ecx,00000003h rep movsb mov edi,edx or ecx,FFFFFFFFh repne scasb not ecx dec ecx xor edi,edi test ecx,ecx mov [ebp+10h],ecx jle L0043767C L0043762A: movsx esi,[edx+edi] cmp ebx,00000019h jg L00437647 test ebx,ebx jl L00437647 mov ecx,[ebp-04h] xor eax,eax cmp [ecx+ebx*4],eax mov ecx,[ebp+10h] setnz al jmp L00437649 L00437647: xor eax,eax L00437649: test eax,eax jz L0043766D cmp esi,00000020h jl L0043766D lea eax,[esi-20h] cmp eax,000000E0h jge L0043766D mov eax,[ebp-04h] mov eax,[eax+ebx*4] mov esi,[eax+esi*4-7Ch] xor eax,eax mov ax,[esi] jmp L0043766F L0043766D: xor eax,eax L0043766F: mov esi,[ebp-08h] add esi,eax inc edi cmp edi,ecx mov [ebp-08h],esi jl L0043762A L0043767C: mov ecx,[ebp+24h] mov esi,[ebp-08h] mov eax,[ebp+08h] mov edi,[ecx+08h] lea ecx,[esi+eax] cmp ecx,edi jle L0043774A cmp ebx,00000019h mov dword ptr [ebp-0Ch],00000001h jg L004376B0 test ebx,ebx jl L004376B0 mov ecx,[ebp-04h] xor eax,eax cmp [ecx+ebx*4],eax setnz al jmp L004376B2 L004376B0: xor eax,eax L004376B2: test eax,eax jz L004376C6 mov eax,[ebp-04h] mov ecx,[eax+ebx*4] xor eax,eax mov ecx,[ecx+3Ch] mov ax,[ecx] jmp L004376C8 L004376C6: xor eax,eax L004376C8: lea eax,[eax+eax*2] lea ecx,[eax+esi] add ecx,[ebp+08h] cmp ecx,edi jle L0043774A mov ecx,[ebp+08h] add eax,ecx mov [ebp+10h],eax L004376DD: mov edi,edx or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx cmp ebx,00000019h movsx edi,[ecx+edx-01h] jg L00437702 test ebx,ebx jl L00437702 mov ecx,[ebp-04h] cmp [ecx+ebx*4],eax setnz al jmp L00437704 L00437702: xor eax,eax L00437704: test eax,eax jz L00437728 cmp edi,00000020h jl L00437728 lea eax,[edi-20h] cmp eax,000000E0h jge L00437728 mov ecx,[ebp-04h] mov eax,[ecx+ebx*4] mov ecx,[eax+edi*4-7Ch] xor eax,eax mov ax,[ecx] jmp L0043772A L00437728: xor eax,eax L0043772A: sub esi,eax mov edi,edx or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx mov [ecx+edx-01h],al mov eax,[ebp+10h] lea ecx,[esi+eax] mov eax,[ebp+24h] cmp ecx,[eax+08h] jg L004376DD L0043774A: mov edi,edx or ecx,FFFFFFFFh xor eax,eax mov esi,[ebp+08h] repne scasb mov ebx,[ebp+20h] xor edi,edi not ecx dec ecx test ecx,ecx mov [ebp+10h],ecx jle L00437791 L00437765: mov ecx,[ebp+24h] mov eax,[ebp+1Ch] push ecx push ebx movsx ecx,[edx+edi] mov edx,[ebp+14h] push eax mov eax,[ebp+0Ch] push ecx mov ecx,[ebp-10h] push edx push eax push esi call SUB_L00438E20 mov edx,[ebp+18h] add esi,eax mov eax,[ebp+10h] inc edi cmp edi,eax jl L00437765 L00437791: mov eax,[ebp-0Ch] test eax,eax jz L004377C1 mov edi,00000003h L0043779D: mov ecx,[ebp+24h] mov edx,[ebp+1Ch] mov eax,[ebp+14h] push ecx mov ecx,[ebp+0Ch] push ebx push edx push 0000002Eh push eax push ecx mov ecx,[ebp-10h] push esi call SUB_L00438E20 add esi,eax dec edi jnz L0043779D mov edx,[ebp+18h] L004377C1: push edx call SUB_L0049A810 add esp,00000004h mov eax,00000001h pop esi pop edi pop ebx mov esp,ebp pop ebp retn 0020h ;------------------------------------------------------------------------------ Align 16 SUB_L004377E0: push ebp mov ebp,esp sub esp,00000010h push ebx mov ebx,[ebp+10h] xor edx,edx mov [ebp-04h],ecx mov eax,[ecx+ebx*4] mov [ebp-08h],edx cmp eax,edx mov [ebp-0Ch],edx mov [ebp-10h],eax jnz L00437818 push edx mov edx,SSZ004C693C_Error mov ecx,SSZ004C692C_Missing_Font_ call SUB_L0049A0A0 xor eax,eax pop ebx mov esp,ebp pop ebp retn 0020h ;------------------------------------------------------------------------------ L00437818: push edi push esi mov esi,[ebp+18h] mov ecx,esi call SUB_L00491C00 lea eax,[eax+eax+02h] push eax call SUB_L0049A820 mov edi,eax add esp,00000004h mov edx,esi mov ecx,edi mov [ebp+18h],edi call SUB_L00491D10 mov ecx,edi call SUB_L00491C00 test eax,eax jle L004378A7 mov esi,edi mov [ebp+10h],eax L0043784F: xor eax,eax cmp ebx,00000019h mov ax,[esi] jg L0043786A test ebx,ebx jl L0043786A mov edx,[ebp-04h] xor ecx,ecx cmp [edx+ebx*4],ecx setnz cl jmp L0043786C L0043786A: xor ecx,ecx L0043786C: test ecx,ecx jz L00437891 cmp eax,00000020h jl L00437891 lea ecx,[eax-20h] cmp ecx,000000E0h jge L00437891 mov edx,[ebp-04h] mov ecx,[edx+ebx*4] mov edx,[ecx+eax*4-7Ch] xor eax,eax mov ax,[edx] jmp L00437893 L00437891: xor eax,eax L00437893: mov edx,[ebp-08h] add esi,00000002h add edx,eax mov eax,[ebp+10h] dec eax mov [ebp-08h],edx mov [ebp+10h],eax jnz L0043784F L004378A7: mov eax,[ebp+24h] mov esi,[ebp+08h] mov edx,[ebp-08h] mov ecx,[eax+08h] add edx,esi cmp edx,ecx jle L0043797D cmp ebx,00000019h mov dword ptr [ebp-0Ch],00000001h jg L004378DA test ebx,ebx jl L004378DA mov edx,[ebp-04h] xor eax,eax cmp [edx+ebx*4],eax setnz al jmp L004378DC L004378DA: xor eax,eax L004378DC: test eax,eax jz L004378F0 mov eax,[ebp-04h] mov edx,[eax+ebx*4] xor eax,eax mov edx,[edx+3Ch] mov ax,[edx] jmp L004378F2 L004378F0: xor eax,eax L004378F2: mov edx,[ebp-08h] lea eax,[eax+eax*2] add edx,eax add edx,esi cmp edx,ecx jle L0043797D add eax,esi mov [ebp+10h],eax L00437905: mov ecx,edi call SUB_L00491C00 mov ecx,eax xor eax,eax cmp ebx,00000019h mov ax,[edi+ecx*2-02h] jg L0043792C test ebx,ebx jl L0043792C mov edx,[ebp-04h] xor ecx,ecx cmp dword ptr [edx+ebx*4],00000000h setnz cl jmp L0043792E L0043792C: xor ecx,ecx L0043792E: test ecx,ecx jz L00437953 cmp eax,00000020h jl L00437953 lea ecx,[eax-20h] cmp ecx,000000E0h jge L00437953 mov edx,[ebp-04h] mov ecx,[edx+ebx*4] mov edx,[ecx+eax*4-7Ch] xor eax,eax mov ax,[edx] jmp L00437955 L00437953: xor eax,eax L00437955: mov esi,[ebp-08h] mov ecx,edi sub esi,eax mov [ebp-08h],esi call SUB_L00491C00 mov ecx,[ebp+24h] mov word ptr [edi+eax*2-02h],0000h mov eax,[ebp+10h] add esi,eax mov eax,[ecx+08h] cmp esi,eax jg L00437905 mov esi,[ebp+08h] L0043797D: mov ecx,edi call SUB_L00491C00 mov ebx,[ebp+20h] test eax,eax jle L004379BF mov [ebp+08h],eax L0043798E: mov edx,[ebp+24h] mov eax,[ebp+1Ch] xor ecx,ecx push edx mov cx,[edi] mov edx,[ebp+14h] push ebx push eax mov eax,[ebp+0Ch] push ecx mov ecx,[ebp-10h] push edx push eax push esi call SUB_L00438E20 add esi,eax mov eax,[ebp+08h] add edi,00000002h dec eax mov [ebp+08h],eax jnz L0043798E mov edi,[ebp+18h] L004379BF: mov eax,[ebp-0Ch] test eax,eax jz L004379EF mov edi,00000003h L004379CB: mov ecx,[ebp+24h] mov edx,[ebp+1Ch] mov eax,[ebp+14h] push ecx mov ecx,[ebp+0Ch] push ebx push edx push 0000002Eh push eax push ecx mov ecx,[ebp-10h] push esi call SUB_L00438E20 add esi,eax dec edi jnz L004379CB mov edi,[ebp+18h] L004379EF: push edi call SUB_L0049A810 add esp,00000004h mov eax,00000001h pop esi pop edi pop ebx mov esp,ebp pop ebp retn 0020h ;------------------------------------------------------------------------------ Align 16 SUB_L00437A10: push ebp mov ebp,esp sub esp,00000010h push ebx mov ebx,[ebp+08h] xor eax,eax xor edx,edx push esi cmp ebx,00000019h push edi mov [ebp-08h],eax mov [ebp-04h],edx mov [ebp-0Ch],eax jg L00437A39 cmp ebx,eax jl L00437A39 cmp dword ptr [ecx+ebx*4],00000000h setnz al L00437A39: test eax,eax jnz L00437A46 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0014h ;------------------------------------------------------------------------------ L00437A46: mov esi,[ecx+ebx*4] mov edi,[ebp+0Ch] or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx xor edi,edi test ecx,ecx mov [ebp-10h],ecx jle L00437B19 L00437A63: mov eax,[ebp+0Ch] mov al,[edi+eax] cmp al,20h mov [ebp+08h],al jc L00437B0A mov edx,[ebp+08h] and edx,000000FFh cmp ebx,00000019h jg L00437A8F test ebx,ebx jl L00437A8F xor eax,eax test esi,esi setnz al jmp L00437A91 L00437A8F: xor eax,eax L00437A91: test eax,eax jz L00437AB0 cmp edx,00000020h jl L00437AB0 lea ecx,[edx-20h] cmp ecx,000000E0h jge L00437AB0 mov ecx,[esi+edx*4-7Ch] xor eax,eax mov ax,[ecx] jmp L00437AB2 L00437AB0: xor eax,eax L00437AB2: mov ecx,[ebp-08h] add ecx,eax cmp ebx,00000019h mov [ebp-08h],ecx jg L00437ACC test ebx,ebx jl L00437ACC xor eax,eax test esi,esi setnz al jmp L00437ACE L00437ACC: xor eax,eax L00437ACE: test eax,eax jz L00437AED cmp edx,00000020h jl L00437AED lea eax,[edx-20h] cmp eax,000000E0h jge L00437AED mov ecx,[esi+edx*4-7Ch] xor eax,eax mov ax,[ecx+02h] jmp L00437AEF L00437AED: xor eax,eax L00437AEF: mov edx,[esi+edx*4+00000304h] mov ecx,[ebp-04h] sub eax,edx cmp eax,ecx jle L00437B02 mov [ebp-04h],eax L00437B02: cmp edx,[ebp-0Ch] jle L00437B0A mov [ebp-0Ch],edx L00437B0A: mov eax,[ebp-10h] inc edi cmp edi,eax jl L00437A63 mov edx,[ebp-04h] L00437B19: mov eax,[ebp+10h] mov ecx,[ebp-08h] pop edi pop esi mov [eax],ecx mov eax,[ebp-0Ch] mov ecx,[ebp+14h] add eax,edx dec edx pop ebx mov [ecx],eax mov eax,[ebp+18h] mov [eax],edx mov eax,00000001h mov esp,ebp pop ebp retn 0014h ;------------------------------------------------------------------------------ Align 4 SUB_L00437B40: push ebp mov ebp,esp sub esp,000000F0h mov eax,[ebp+08h] push ebx push esi push edi xor edi,edi cmp eax,00000019h mov [ebp-0Ch],ecx mov [ebp-08h],edi mov [ebp-24h],edi mov [ebp-04h],edi jg L00437B74 cmp eax,edi jl L00437B74 mov esi,[ecx+eax*4] xor edx,edx cmp esi,edi setnz dl mov eax,edx jmp L00437B76 L00437B74: xor eax,eax L00437B76: cmp eax,edi jnz L00437B85 xor eax,eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn 001Ch ;------------------------------------------------------------------------------ L00437B85: mov esi,[ebp+0Ch] cmp esi,edi jnz L00437B97 xor eax,eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn 001Ch ;------------------------------------------------------------------------------ L00437B97: mov edi,esi or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx push ecx call SUB_L0049A820 mov ebx,eax mov edi,esi or ecx,FFFFFFFFh xor eax,eax add esp,00000004h repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,ebx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb L00437BCC: or ecx,FFFFFFFFh mov edi,ebx xor eax,eax xor edx,edx mov [ebp-10h],ecx mov [ebp+0Ch],edx repne scasb not ecx dec ecx mov [ebp-28h],edx cmp ecx,edx mov [ebp-20h],ecx jle L00437C68 L00437BEA: mov eax,[ebp+08h] mov cl,[edx+ebx] cmp eax,00000019h movsx esi,cl jg L00437C0E test eax,eax jl L00437C0E mov edi,[ebp-0Ch] xor edx,edx cmp [edi+eax*4],edx setnz dl mov edi,edx mov edx,[ebp-28h] jmp L00437C10 L00437C0E: xor edi,edi L00437C10: test edi,edi jz L00437C35 cmp esi,00000020h jl L00437C35 lea edi,[esi-20h] cmp edi,000000E0h jge L00437C35 mov edi,[ebp-0Ch] mov eax,[edi+eax*4] mov esi,[eax+esi*4-7Ch] xor eax,eax mov ax,[esi] jmp L00437C37 L00437C35: xor eax,eax L00437C37: mov esi,[ebp+0Ch] add esi,eax cmp cl,20h mov [ebp+0Ch],esi jnz L00437C4F cmp edx,00000001h jle L00437C4F lea ecx,[edx-01h] mov [ebp-10h],ecx L00437C4F: mov eax,[ebp+0Ch] mov ecx,[ebp+10h] cmp eax,ecx jg L00437DE7 mov eax,[ebp-20h] inc edx cmp edx,eax mov [ebp-28h],edx jl L00437BEA L00437C68: mov dword ptr [ebp+0Ch],FFFFFFFFh L00437C6F: mov eax,[ebp+0Ch] cmp eax,FFFFFFFFh jz L00437D76 mov dl,[ebx+eax+01h] xor ecx,ecx cmp dl,20h mov esi,ebx setz cl inc eax mov [ebp-10h],ecx mov ecx,eax lea edi,[ebp-000000F0h] mov edx,ecx mov [ebp-20h],eax shr ecx,02h rep movsd mov ecx,edx lea edx,[ebp-1Ch] and ecx,00000003h rep movsb mov byte ptr [ebp+eax-000000F0h],00h lea eax,[ebp-18h] lea ecx,[ebp-14h] push eax push ecx mov ecx,[ebp+08h] lea eax,[ebp-000000F0h] push edx push eax push ecx mov ecx,[ebp-0Ch] call SUB_L00437A10 mov eax,[ebp-1Ch] mov ecx,[ebp-08h] cmp eax,ecx jle L00437CDA mov [ebp-08h],eax L00437CDA: mov edx,[ebp-14h] mov ecx,[ebp-24h] mov eax,[ebp-04h] add ecx,edx test eax,eax mov [ebp-24h],ecx jnz L00437CF2 mov eax,[ebp-18h] mov [ebp-04h],eax L00437CF2: mov edi,ebx or ecx,FFFFFFFFh xor eax,eax mov edx,[ebp-20h] repne scasb not ecx dec ecx mov esi,ecx mov ecx,[ebp-10h] sub esi,edx sub esi,ecx test esi,esi jle L00437D1E add edx,ebx lea edi,[edx+ecx] L00437D13: mov cl,[eax+edi] mov [ebx+eax],cl inc eax cmp eax,esi jl L00437D13 L00437D1E: mov esi,[ebp+20h] mov byte ptr [ebx+eax],00h test esi,esi jz L00437D76 mov edi,ebx or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx mov edi,ebx add ecx,ebx mov [ecx+esi],al or ecx,FFFFFFFFh repne scasb not ecx dec ecx lea eax,[ecx+esi-01h] cmp eax,esi jl L00437D5B mov edi,ebx sub edi,esi L00437D50: mov dl,[eax+edi] mov [ebx+eax],dl dec eax cmp eax,esi jge L00437D50 L00437D5B: test esi,esi jle L00437D76 mov ecx,esi mov eax,20202020h mov edx,ecx mov edi,ebx shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb L00437D76: cmp dword ptr [ebp+0Ch],FFFFFFFFh jnz L00437BCC lea eax,[ebp-18h] lea ecx,[ebp-14h] push eax mov eax,[ebp+08h] lea edx,[ebp-1Ch] push ecx mov ecx,[ebp-0Ch] push edx push ebx push eax call SUB_L00437A10 mov eax,[ebp-1Ch] mov ecx,[ebp-08h] cmp eax,ecx jle L00437DA6 mov [ebp-08h],eax L00437DA6: mov eax,[ebp-24h] mov edx,[ebp-14h] mov ecx,[ebp-04h] add eax,edx test ecx,ecx jnz L00437DBB mov ecx,[ebp-18h] mov [ebp-04h],ecx L00437DBB: mov edx,[ebp+14h] mov ecx,[ebp-08h] push ebx mov [edx],ecx mov edx,[ebp+18h] mov ecx,[ebp-04h] mov [edx],eax mov eax,[ebp+1Ch] mov [eax],ecx call SUB_L0049A810 add esp,00000004h mov eax,00000001h pop edi pop esi pop ebx mov esp,ebp pop ebp retn 001Ch ;------------------------------------------------------------------------------ L00437DE7: mov eax,[ebp-10h] cmp eax,FFFFFFFFh jz L00437DF7 mov [ebp+0Ch],eax jmp L00437C6F L00437DF7: dec edx mov [ebp+0Ch],edx jmp L00437C6F SUB_L00437E00: push ebp mov ebp,esp sub esp,00000010h push ebx mov [ebp-08h],ecx push esi push edi mov edi,[ebp+0Ch] or ecx,FFFFFFFFh xor eax,eax xor esi,esi mov [ebp-0Ch],ecx mov [ebp-04h],esi repne scasb not ecx dec ecx cmp ecx,esi mov [ebp-10h],ecx jle L00437EC1 mov edi,[ebp+08h] L00437E2F: mov eax,[ebp+0Ch] cmp edi,00000019h mov bl,[esi+eax] movsx eax,bl jg L00437E51 test edi,edi jl L00437E51 mov ecx,[ebp-08h] xor edx,edx cmp [ecx+edi*4],edx mov ecx,[ebp-10h] setnz dl jmp L00437E53 L00437E51: xor edx,edx L00437E53: test edx,edx jz L00437E78 cmp eax,00000020h jl L00437E78 lea edx,[eax-20h] cmp edx,000000E0h jge L00437E78 mov edx,[ebp-08h] mov edx,[edx+edi*4] mov edx,[edx+eax*4-7Ch] xor eax,eax mov ax,[edx] jmp L00437E7A L00437E78: xor eax,eax L00437E7A: mov edx,[ebp-04h] add edx,eax cmp bl,20h mov [ebp-04h],edx jnz L00437E92 cmp esi,00000001h jle L00437E92 lea eax,[esi-01h] mov [ebp-0Ch],eax L00437E92: mov edx,[ebp-04h] mov eax,[ebp+10h] cmp edx,eax jg L00437EAD inc esi cmp esi,ecx jl L00437E2F or eax,FFFFFFFFh pop edi pop esi pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ L00437EAD: mov eax,[ebp-0Ch] cmp eax,FFFFFFFFh jnz L00437EC4 lea eax,[esi-01h] pop edi pop esi pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ L00437EC1: or eax,FFFFFFFFh L00437EC4: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 4 SUB_L00437ED0: push ebp mov ebp,esp mov ecx,[ebp+18h] push ebx and ecx,0000FFFFh push esi mov esi,[ebp+0Ch] mov eax,ecx shl eax,10h add eax,ecx mov ecx,[ebp+1Ch] push edi mov edx,esi xor edi,edi mov ebx,[ebp+08h] mov di,[ecx] sar edx,1 imul edx,edi mov edi,ebx sar edi,1 add edx,edi mov edi,[ebp+14h] sub edi,esi inc edi lea edx,[ecx+edx*4+04h] test edi,edi jle L00437F3F mov esi,[ebp+10h] mov [ebp+18h],edi sub esi,ebx inc esi sar esi,1 L00437F1A: test esi,esi jle L00437F2A mov ecx,esi mov edi,edx rep stosd mov ecx,[ebp+1Ch] lea edx,[edx+esi*4] L00437F2A: xor edi,edi mov di,[ecx] shr edi,1 sub edi,esi lea edx,[edx+edi*4] mov edi,[ebp+18h] dec edi mov [ebp+18h],edi jnz L00437F1A L00437F3F: pop edi pop esi mov eax,00000001h pop ebx pop ebp retn 0018h ;------------------------------------------------------------------------------ Align 8 SUB_L00437F50: push ebp mov ebp,esp sub esp,0000000Ch mov edx,[ebp+1Ch] mov ecx,[ebp+08h] push ebx push esi mov bx,[edx] push edi mov edi,[ebp+10h] mov [ebp-04h],ebx cmp ecx,edi jnz L00438009 mov eax,[ebp+0Ch] mov esi,[ebp+14h] cmp eax,esi jge L00437FC1 and ebx,0000FFFFh mov edi,eax imul edi,ebx add edi,ecx lea ecx,[edx+edi*2+04h] mov edx,eax and eax,0000FFFFh cmp eax,esi jg L004381D6 mov di,[ebp+18h] lea eax,[ebx+ebx] L00437FA1: mov [ecx],di add ecx,eax inc edx mov ebx,edx and ebx,0000FFFFh cmp ebx,esi jle L00437FA1 mov eax,00000001h pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0018h ;------------------------------------------------------------------------------ L00437FC1: and ebx,0000FFFFh mov edi,esi imul edi,ebx add edi,ecx lea ecx,[edx+edi*2+04h] mov edx,esi and esi,0000FFFFh cmp esi,eax jg L004381D6 mov di,[ebp+18h] lea esi,[ebx+ebx] L00437FE9: mov [ecx],di add ecx,esi inc edx mov ebx,edx and ebx,0000FFFFh cmp ebx,eax jle L00437FE9 mov eax,00000001h pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0018h ;------------------------------------------------------------------------------ L00438009: mov esi,[ebp+0Ch] mov eax,[ebp+14h] cmp esi,eax jnz L004380A3 cmp ecx,edi jge L0043805F and ebx,0000FFFFh mov eax,ecx imul ebx,esi add ebx,ecx and ecx,0000FFFFh cmp ecx,edi lea ebx,[edx+ebx*2+04h] jg L004381D6 mov cx,[ebp+18h] L0043803E: mov [ebx],cx add ebx,00000002h inc eax mov edx,eax and edx,0000FFFFh cmp edx,edi jle L0043803E mov eax,00000001h pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0018h ;------------------------------------------------------------------------------ L0043805F: and ebx,0000FFFFh mov eax,edi imul ebx,esi add ebx,edi and edi,0000FFFFh cmp edi,ecx lea ebx,[edx+ebx*2+04h] jg L004381D6 mov dx,[ebp+18h] L00438082: mov [ebx],dx add ebx,00000002h inc eax mov esi,eax and esi,0000FFFFh cmp esi,ecx jle L00438082 mov eax,00000001h pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0018h ;------------------------------------------------------------------------------ L004380A3: mov eax,edi sub eax,ecx mov [ebp-08h],eax cdq xor eax,edx sub eax,edx mov [ebp+08h],eax mov eax,[ebp+14h] sub eax,esi mov [ebp+10h],eax cdq xor eax,edx sub eax,edx mov edx,[ebp+08h] cmp edx,eax mov [ebp-0Ch],eax jle L00438153 xor eax,eax cmp edi,ecx setle al dec eax mov ebx,[ebp+1Ch] and eax,00000002h mov [ebp+14h],ecx dec eax mov [ebp+0Ch],eax mov eax,[ebp+10h] shl eax,10h cdq idiv [ebp+08h] mov edx,esi shl edx,10h mov [ebp+08h],eax mov eax,[ebp-04h] and eax,0000FFFFh imul esi,eax add esi,ecx mov [ebp+10h],eax mov ax,[ebp+18h] and ecx,0000FFFFh cmp ecx,edi mov [ebx+esi*2+04h],ax jz L004381D6 L0043811B: mov ecx,[ebp+14h] mov esi,[ebp+0Ch] add ecx,esi mov esi,[ebp+08h] add edx,esi mov [ebp+14h],ecx mov esi,edx and ecx,0000FFFFh sar esi,10h imul esi,[ebp+10h] add esi,ecx cmp ecx,edi mov [ebx+esi*2+04h],ax jnz L0043811B mov eax,00000001h pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0018h ;------------------------------------------------------------------------------ L00438153: mov eax,[ebp+14h] xor edx,edx cmp eax,esi mov eax,[ebp-08h] setle dl dec edx and ebx,0000FFFFh and edx,00000002h mov [ebp+10h],ebx dec edx mov edi,esi shl eax,10h mov [ebp+0Ch],edx cdq idiv [ebp-0Ch] mov edx,ecx shl edx,10h mov [ebp+08h],eax mov eax,esi imul eax,ebx add eax,ecx mov ecx,[ebp+1Ch] mov [ebp-0Ch],eax mov ax,[ebp+18h] mov ebx,[ebp-0Ch] and esi,0000FFFFh mov [ecx+ebx*2+04h],ax mov ecx,[ebp+14h] cmp esi,ecx jz L004381D6 L004381A8: mov esi,[ebp+0Ch] mov ecx,[ebp+08h] add edi,esi add edx,ecx mov ecx,edi mov ebx,edx and ecx,0000FFFFh mov esi,ecx imul esi,[ebp+10h] sar ebx,10h add esi,ebx mov ebx,[ebp+1Ch] mov [ebx+esi*2+04h],ax mov esi,[ebp+14h] cmp ecx,esi jnz L004381A8 L004381D6: pop edi pop esi mov eax,00000001h pop ebx mov esp,ebp pop ebp retn 0018h ;------------------------------------------------------------------------------ Align 16 SUB_L004381F0: push ebp mov ebp,esp sub esp,0000000Ch mov edx,[ebp+18h] mov ecx,[ebp+08h] push ebx push esi mov bx,[edx] push edi mov edi,[ebp+10h] mov [ebp-08h],ebx cmp ecx,edi jnz L004382D1 mov eax,[ebp+0Ch] mov esi,[ebp+14h] cmp eax,esi jge L00438275 and ebx,0000FFFFh mov edi,eax imul edi,ebx add edi,ecx lea ecx,[edx+edi*2+04h] mov edx,eax and eax,0000FFFFh cmp eax,esi jg L00438533 lea eax,[ebx+ebx] L0043823D: mov di,[ecx] mov ebx,[L004D0740] shr di,1 sar ebx,1 and edi,ebx mov ebx,[L004D0748] add edi,ebx mov [ecx],di add ecx,eax inc edx mov edi,edx and edi,0000FFFFh cmp edi,esi jle L0043823D mov eax,00000001h pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0014h ;------------------------------------------------------------------------------ L00438275: and ebx,0000FFFFh mov edi,esi imul edi,ebx add edi,ecx lea ecx,[edx+edi*2+04h] mov edx,esi and esi,0000FFFFh cmp esi,eax jg L00438533 lea esi,[ebx+ebx] L00438299: mov di,[ecx] mov ebx,[L004D0740] shr di,1 sar ebx,1 and edi,ebx mov ebx,[L004D0748] add edi,ebx mov [ecx],di add ecx,esi inc edx mov edi,edx and edi,0000FFFFh cmp edi,eax jle L00438299 mov eax,00000001h pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0014h ;------------------------------------------------------------------------------ L004382D1: mov esi,[ebp+0Ch] mov eax,[ebp+14h] cmp esi,eax jnz L00438395 cmp ecx,edi jge L0043833C and ebx,0000FFFFh mov eax,ecx imul ebx,esi add ebx,ecx and ecx,0000FFFFh cmp ecx,edi lea ebx,[edx+ebx*2+04h] jg L00438533 L00438302: mov cx,[ebx] mov edx,[L004D0740] mov esi,[L004D0748] add ebx,00000002h shr cx,1 sar edx,1 and ecx,edx add ecx,esi inc eax mov [ebx-02h],cx mov ecx,eax and ecx,0000FFFFh cmp ecx,edi jle L00438302 mov eax,00000001h pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0014h ;------------------------------------------------------------------------------ L0043833C: and ebx,0000FFFFh mov eax,edi imul ebx,esi add ebx,edi and edi,0000FFFFh cmp edi,ecx lea ebx,[edx+ebx*2+04h] jg L00438533 L0043835B: mov dx,[ebx] mov esi,[L004D0740] mov edi,[L004D0748] add ebx,00000002h shr dx,1 sar esi,1 and edx,esi add edx,edi inc eax mov [ebx-02h],dx mov edx,eax and edx,0000FFFFh cmp edx,ecx jle L0043835B mov eax,00000001h pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0014h ;------------------------------------------------------------------------------ L00438395: sub eax,esi mov [ebp+08h],eax cdq xor eax,edx sub eax,edx mov [ebp+0Ch],eax mov eax,edi sub eax,ecx mov [ebp-0Ch],eax cdq xor eax,edx sub eax,edx mov edx,[ebp+0Ch] cmp eax,edx mov [ebp-04h],eax jle L0043847A xor eax,eax cmp edi,ecx setle al dec eax mov ebx,esi and eax,00000002h dec eax mov [ebp+10h],eax mov eax,[ebp+08h] shl eax,10h cdq idiv [ebp-04h] mov edx,ecx shl ebx,10h mov [ebp-04h],eax mov eax,[ebp-08h] and eax,0000FFFFh imul esi,eax mov [ebp+08h],eax mov eax,[ebp+18h] add esi,ecx and ecx,0000FFFFh lea esi,[eax+esi*2+04h] mov eax,[L004D0740] mov [ebp+0Ch],esi mov si,[esi] sar eax,1 shr si,1 and eax,esi mov esi,[L004D0748] add eax,esi mov esi,[ebp+0Ch] cmp ecx,edi mov [esi],ax jz L00438533 jmp L00438429 L00438426: mov edx,[ebp+14h] L00438429: mov esi,[ebp-04h] mov eax,[ebp+10h] add ebx,esi add edx,eax mov ecx,ebx mov eax,[ebp+18h] sar ecx,10h imul ecx,[ebp+08h] mov [ebp+14h],edx and edx,0000FFFFh add ecx,edx lea esi,[eax+ecx*2+04h] mov ecx,[L004D0740] sar ecx,1 mov ax,[esi] shr ax,1 and ecx,eax mov eax,[L004D0748] add ecx,eax cmp edx,edi mov [esi],cx jnz L00438426 mov eax,00000001h pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0014h ;------------------------------------------------------------------------------ L0043847A: mov eax,[ebp+14h] xor edx,edx cmp eax,esi mov eax,[ebp-0Ch] setle dl dec edx and ebx,0000FFFFh and edx,00000002h mov edi,ecx dec edx mov [ebp+08h],ebx shl eax,10h mov [ebp+10h],edx cdq idiv [ebp+0Ch] mov edx,esi imul edx,ebx add edx,ecx mov ecx,[ebp+18h] shl edi,10h lea ecx,[ecx+edx*2+04h] mov edx,[L004D0740] mov [ebp+0Ch],ecx mov cx,[ecx] sar edx,1 shr cx,1 and edx,ecx mov ecx,[L004D0748] add edx,ecx mov ecx,[ebp+0Ch] mov [ecx],dx mov ecx,[ebp+14h] mov [ebp-04h],eax mov eax,esi and esi,0000FFFFh cmp esi,ecx jz L00438533 jmp L004384EA L004384E7: mov ebx,[ebp+08h] L004384EA: mov esi,[ebp+10h] mov edx,[ebp-04h] add eax,esi add edi,edx mov edx,eax mov esi,edi and edx,0000FFFFh mov ecx,edx imul ecx,ebx sar esi,10h add ecx,esi mov esi,[ebp+18h] mov bx,[esi+ecx*2+04h] lea esi,[esi+ecx*2+04h] mov ecx,[L004D0740] sar ecx,1 shr bx,1 and ecx,ebx mov ebx,[L004D0748] add ecx,ebx mov [esi],cx mov ecx,[ebp+14h] cmp edx,ecx jnz L004384E7 L00438533: pop edi pop esi mov eax,00000001h pop ebx mov esp,ebp pop ebp retn 0014h ;------------------------------------------------------------------------------ Align 16 SUB_L00438550: push ebp mov ebp,esp sub esp,0000000Ch mov edx,[ebp+18h] mov ecx,[ebp+08h] push ebx push esi mov bx,[edx] push edi mov edi,[ebp+10h] mov [ebp-04h],ebx cmp ecx,edi jnz L0043862A mov edi,[ebp+0Ch] mov esi,[ebp+14h] cmp edi,esi jge L004385D2 and ebx,0000FFFFh mov eax,edi imul eax,ebx add eax,ecx mov [ebp+0Ch],ebx lea edx,[edx+eax*2+04h] mov eax,edi and eax,0000FFFFh cmp eax,esi jg L00438820 add ebx,ebx mov [ebp+14h],ebx L004385A2: imul eax,[ebp+0Ch] mov ebx,[ebp+1Ch] add eax,ecx mov ax,[ebx+eax*2+04h] mov ebx,[ebp+14h] mov [edx],ax add edx,ebx inc edi mov eax,edi and eax,0000FFFFh cmp eax,esi jle L004385A2 mov eax,00000001h pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0018h ;------------------------------------------------------------------------------ L004385D2: and ebx,0000FFFFh mov eax,esi imul eax,ebx add eax,ecx mov [ebp+0Ch],ebx lea edx,[edx+eax*2+04h] mov eax,esi and eax,0000FFFFh cmp eax,edi jg L00438820 add ebx,ebx mov [ebp+14h],ebx L004385FA: imul eax,[ebp+0Ch] mov ebx,[ebp+1Ch] add eax,ecx mov ax,[ebx+eax*2+04h] mov ebx,[ebp+14h] mov [edx],ax add edx,ebx inc esi mov eax,esi and eax,0000FFFFh cmp eax,edi jle L004385FA mov eax,00000001h pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0018h ;------------------------------------------------------------------------------ L0043862A: mov esi,[ebp+0Ch] mov eax,[ebp+14h] cmp esi,eax jnz L004386D6 cmp ecx,edi jge L00438689 and ebx,0000FFFFh imul ebx,esi mov esi,ecx lea eax,[ecx+ebx] and ecx,0000FFFFh cmp ecx,edi lea edx,[edx+eax*2+04h] jg L00438820 mov eax,ecx mov ecx,[ebp+1Ch] L00438661: add eax,ebx add edx,00000002h inc esi mov ax,[ecx+eax*2+04h] mov [edx-02h],ax mov eax,esi and eax,0000FFFFh cmp eax,edi jle L00438661 mov eax,00000001h pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0018h ;------------------------------------------------------------------------------ L00438689: and ebx,0000FFFFh imul ebx,esi mov esi,edi lea eax,[edi+ebx] and edi,0000FFFFh cmp edi,ecx lea edx,[edx+eax*2+04h] jg L00438820 mov eax,edi mov edi,[ebp+1Ch] L004386AE: add eax,ebx add edx,00000002h inc esi mov ax,[edi+eax*2+04h] mov [edx-02h],ax mov eax,esi and eax,0000FFFFh cmp eax,ecx jle L004386AE mov eax,00000001h pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0018h ;------------------------------------------------------------------------------ L004386D6: mov eax,edi sub eax,ecx mov [ebp-08h],eax cdq xor eax,edx sub eax,edx mov [ebp+0Ch],eax mov eax,[ebp+14h] sub eax,esi mov [ebp+10h],eax cdq xor eax,edx sub eax,edx mov edx,[ebp+0Ch] cmp edx,eax mov [ebp-0Ch],eax jle L00438796 xor edx,edx mov eax,[ebp+10h] cmp edi,ecx mov ebx,[ebp+18h] setle dl dec edx mov [ebp+14h],ecx and edx,00000002h dec edx shl eax,10h mov [ebp+08h],edx cdq idiv [ebp+0Ch] mov edx,esi shl edx,10h mov [ebp+10h],eax mov eax,[ebp-04h] and eax,0000FFFFh imul esi,eax add esi,ecx mov [ebp+0Ch],eax mov eax,[ebp+1Ch] and ecx,0000FFFFh lea esi,[esi+esi+04h] cmp ecx,edi mov ax,[eax+esi] mov [ebx+esi],ax jz L00438820 L00438754: mov esi,[ebp+10h] mov ecx,[ebp+14h] mov eax,[ebp+08h] add edx,esi add ecx,eax mov eax,edx sar eax,10h imul eax,[ebp+0Ch] mov esi,[ebp+1Ch] mov [ebp+14h],ecx and ecx,0000FFFFh add eax,ecx cmp ecx,edi lea eax,[eax+eax+04h] mov si,[esi+eax] mov [ebx+eax],si jnz L00438754 mov eax,00000001h pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0018h ;------------------------------------------------------------------------------ L00438796: mov eax,[ebp+14h] xor edx,edx cmp eax,esi mov eax,[ebp-08h] setle dl dec edx and ebx,0000FFFFh and edx,00000002h mov [ebp+0Ch],ebx dec edx mov edi,esi shl eax,10h mov [ebp+08h],edx cdq idiv [ebp-0Ch] mov edx,ecx shl edx,10h mov [ebp+10h],eax mov eax,esi imul eax,ebx mov ebx,[ebp+18h] add eax,ecx mov ecx,[ebp+1Ch] and esi,0000FFFFh lea eax,[eax+eax+04h] mov cx,[ecx+eax] mov [ebx+eax],cx mov eax,[ebp+14h] cmp esi,eax jz L00438820 L004387EB: mov ecx,[ebp+08h] mov eax,[ebp+10h] add edi,ecx add edx,eax mov ecx,edi mov esi,edx and ecx,0000FFFFh mov eax,ecx imul eax,[ebp+0Ch] sar esi,10h add eax,esi lea esi,[eax+eax+04h] mov eax,[ebp+1Ch] mov ax,[eax+esi] mov [ebx+esi],ax mov eax,[ebp+14h] cmp ecx,eax jnz L004387EB L00438820: pop edi pop esi mov eax,00000001h pop ebx mov esp,ebp pop ebp retn 0018h ;------------------------------------------------------------------------------ Align 4 SUB_L00438830: push ebp mov ebp,esp mov eax,[ebp+08h] push esi cmp eax,00000019h jg L0043884C test eax,eax jl L0043884C mov esi,[ecx+eax*4] xor edx,edx test esi,esi setnz dl jmp L0043884E L0043884C: xor edx,edx L0043884E: test edx,edx jz L00438876 mov edx,[ebp+0Ch] cmp edx,00000020h jl L00438876 lea esi,[edx-20h] cmp esi,000000E0h jge L00438876 mov eax,[ecx+eax*4] mov ecx,[eax+edx*4-7Ch] xor eax,eax mov ax,[ecx] pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ L00438876: xor eax,eax pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 4 SUB_L00438880: push ebp mov ebp,esp push ecx push ebx push esi push edi mov edi,[ebp+08h] xor ebx,ebx cmp edi,00000019h mov [ebp-04h],ebx jg L004388A4 cmp edi,ebx jl L004388A4 mov eax,[ecx+edi*4] xor edx,edx cmp eax,ebx setnz dl jmp L004388A6 L004388A4: xor edx,edx L004388A6: cmp edx,ebx jnz L004388B5 xor eax,eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ L004388B5: cmp [ebp+0Ch],ebx jle L0043890A mov eax,[ebp+10h] L004388BD: movsx esi,[ebx+eax] cmp edi,00000019h jg L004388D4 test edi,edi jl L004388D4 xor edx,edx cmp [ecx+edi*4],edx setnz dl jmp L004388D6 L004388D4: xor edx,edx L004388D6: test edx,edx jz L004388F8 cmp esi,00000020h jl L004388F8 lea edx,[esi-20h] cmp edx,000000E0h jge L004388F8 mov edx,[ecx+edi*4] mov esi,[edx+esi*4-7Ch] xor edx,edx mov dx,[esi] jmp L004388FA L004388F8: xor edx,edx L004388FA: mov esi,[ebp-04h] add esi,edx mov edx,[ebp+0Ch] inc ebx mov [ebp-04h],esi cmp ebx,edx jl L004388BD L0043890A: mov eax,[ebp-04h] pop edi pop esi pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 16 SUB_L00438920: push ebp mov ebp,esp sub esp,000000F0h mov eax,[ebp+18h] mov edx,[ebp+1Ch] push ebx mov ebx,[ebp+08h] push esi push edi xor edi,edi cmp ebx,00000019h mov [eax],edi mov [ebp-04h],ecx mov [ebp-1Ch],edi mov [ebp-0Ch],edi mov [ebp-10h],edi mov [edx],edi jg L0043895C cmp ebx,edi jl L0043895C mov edx,[ecx+ebx*4] xor eax,eax cmp edx,edi setnz al jmp L0043895E L0043895C: xor eax,eax L0043895E: cmp eax,edi jz L00438C5B mov esi,[ebp+10h] cmp esi,edi jz L00438C5B mov edi,esi or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx push ecx call SUB_L0049A820 mov edx,eax mov edi,esi or ecx,FFFFFFFFh xor eax,eax add esp,00000004h mov [ebp+08h],edx repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb jmp L004389AE L004389AB: mov edx,[ebp+08h] L004389AE: or ecx,FFFFFFFFh mov edi,edx xor eax,eax xor esi,esi mov [ebp-08h],ecx mov [ebp+10h],esi repne scasb not ecx dec ecx mov edi,ecx test edi,edi mov [ebp-14h],edi jle L00438A41 L004389CB: mov ecx,[ebp+08h] cmp ebx,00000019h mov cl,[esi+ecx] movsx eax,cl jg L004389ED test ebx,ebx jl L004389ED mov edi,[ebp-04h] xor edx,edx cmp [edi+ebx*4],edx mov edi,[ebp-14h] setnz dl jmp L004389EF L004389ED: xor edx,edx L004389EF: test edx,edx jz L00438A14 cmp eax,00000020h jl L00438A14 lea edx,[eax-20h] cmp edx,000000E0h jge L00438A14 mov edx,[ebp-04h] mov edx,[edx+ebx*4] mov edx,[edx+eax*4-7Ch] xor eax,eax mov ax,[edx] jmp L00438A16 L00438A14: xor eax,eax L00438A16: mov edx,[ebp+10h] add edx,eax cmp cl,20h mov [ebp+10h],edx jnz L00438A2E cmp esi,00000001h jle L00438A2E lea eax,[esi-01h] mov [ebp-08h],eax L00438A2E: mov ecx,[ebp+10h] mov eax,[ebp+14h] cmp ecx,eax jg L00438C64 inc esi cmp esi,edi jl L004389CB L00438A41: mov dword ptr [ebp+10h],FFFFFFFFh L00438A48: mov eax,[ebp+10h] L00438A4B: cmp eax,FFFFFFFFh jz L00438BB4 mov esi,[ebp+08h] xor edx,edx lea edi,[ebp-000000F0h] cmp byte ptr [esi+eax+01h],20h setz dl inc eax mov [ebp-14h],edx mov ecx,eax mov [ebp-18h],eax mov edx,ecx shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb mov ecx,[ebp+0Ch] mov esi,[ebp-10h] cmp ecx,esi mov byte ptr [ebp+eax-000000F0h],00h jl L00438B2E add eax,esi cmp ecx,eax jge L00438B2E xor edx,edx cmp ebx,00000019h mov [ebp-08h],edx jg L00438AB9 cmp ebx,edx jl L00438AB9 mov edi,[ebp-04h] xor eax,eax cmp [edi+ebx*4],edx setnz al jmp L00438ABB L00438AB9: xor eax,eax L00438ABB: cmp eax,edx jnz L00438AC3 xor eax,eax jmp L00438B21 L00438AC3: mov edi,ecx sub edi,esi test edi,edi jle L00438B1E L00438ACB: movsx ecx,[ebp+edx-000000F0h] cmp ebx,00000019h jg L00438AE9 test ebx,ebx jl L00438AE9 mov esi,[ebp-04h] xor eax,eax cmp [esi+ebx*4],eax setnz al jmp L00438AEB L00438AE9: xor eax,eax L00438AEB: test eax,eax jz L00438B0F cmp ecx,00000020h jl L00438B0F lea eax,[ecx-20h] cmp eax,000000E0h jge L00438B0F mov eax,[ebp-04h] mov eax,[eax+ebx*4] mov ecx,[eax+ecx*4-7Ch] xor eax,eax mov ax,[ecx] jmp L00438B11 L00438B0F: xor eax,eax L00438B11: mov esi,[ebp-08h] add esi,eax inc edx cmp edx,edi mov [ebp-08h],esi jl L00438ACB L00438B1E: mov eax,[ebp-08h] L00438B21: mov edx,[ebp+18h] mov ecx,[ebp-0Ch] mov [edx],eax mov eax,[ebp+1Ch] mov [eax],ecx L00438B2E: lea edx,[ebp-28h] lea eax,[ebp-20h] push edx lea ecx,[ebp-24h] push eax lea edx,[ebp-000000F0h] push ecx mov ecx,[ebp-04h] push edx push ebx call SUB_L00437A10 mov eax,[ebp-24h] mov ecx,[ebp-1Ch] cmp eax,ecx jle L00438B57 mov [ebp-1Ch],eax L00438B57: mov eax,[ebp-20h] mov esi,[ebp-0Ch] add esi,eax or ecx,FFFFFFFFh mov [ebp-0Ch],esi mov esi,[ebp+08h] mov edi,esi xor eax,eax repne scasb mov edx,[ebp-14h] mov edi,[ebp-18h] not ecx dec ecx sub ecx,edx sub ecx,edi test ecx,ecx jle L00438B9A add esi,edi add esi,edx L00438B83: mov edi,[ebp+08h] mov dl,[eax+esi] mov [edi+eax],dl inc eax cmp eax,ecx jl L00438B83 mov edi,[ebp-18h] mov edx,[ebp-14h] mov esi,[ebp+08h] L00438B9A: mov byte ptr [esi+eax],00h mov eax,[ebp-10h] add edi,edx add eax,edi mov [ebp-10h],eax mov eax,[ebp+10h] cmp eax,FFFFFFFFh jnz L004389AB L00438BB4: mov esi,[ebp+0Ch] mov ecx,[ebp-10h] cmp esi,ecx jl L00438C4F xor edx,edx cmp ebx,00000019h mov [ebp+0Ch],edx jg L00438BDD cmp ebx,edx jl L00438BDD mov edi,[ebp-04h] xor eax,eax cmp [edi+ebx*4],edx setnz al jmp L00438BDF L00438BDD: xor eax,eax L00438BDF: cmp eax,edx jnz L00438BE7 xor eax,eax jmp L00438C42 L00438BE7: sub esi,ecx test esi,esi jle L00438C3F L00438BED: mov eax,[ebp+08h] cmp ebx,00000019h movsx ecx,[edx+eax] jg L00438C0A test ebx,ebx jl L00438C0A mov edi,[ebp-04h] xor eax,eax cmp [edi+ebx*4],eax setnz al jmp L00438C0C L00438C0A: xor eax,eax L00438C0C: test eax,eax jz L00438C30 cmp ecx,00000020h jl L00438C30 lea eax,[ecx-20h] cmp eax,000000E0h jge L00438C30 mov eax,[ebp-04h] mov eax,[eax+ebx*4] mov ecx,[eax+ecx*4-7Ch] xor eax,eax mov ax,[ecx] jmp L00438C32 L00438C30: xor eax,eax L00438C32: mov edi,[ebp+0Ch] add edi,eax inc edx cmp edx,esi mov [ebp+0Ch],edi jl L00438BED L00438C3F: mov eax,[ebp+0Ch] L00438C42: mov edx,[ebp+18h] mov ecx,[ebp+1Ch] mov [edx],eax mov eax,[ebp-0Ch] mov [ecx],eax L00438C4F: mov edx,[ebp+08h] push edx call SUB_L0049A810 add esp,00000004h L00438C5B: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0018h ;------------------------------------------------------------------------------ L00438C64: mov eax,[ebp-08h] cmp eax,FFFFFFFFh jz L00438C74 mov [ebp+10h],eax jmp L00438A4B L00438C74: dec esi mov [ebp+10h],esi jmp L00438A48 Align 4 SUB_L00438C80: push ebp mov ebp,esp sub esp,0000000Ch mov eax,[ebp+10h] push ebx push esi mov esi,[ebp+0Ch] mov edx,ecx push edi mov [ebp-08h],eax mov edi,esi or ecx,FFFFFFFFh xor eax,eax xor ebx,ebx mov [ebp-04h],edx repne scasb movsx eax,[esi] mov esi,[ebp+08h] not ecx dec ecx cmp esi,00000019h mov [ebp-0Ch],ecx jg L00438CC5 test esi,esi jl L00438CC5 mov edi,[edx+esi*4] xor ecx,ecx test edi,edi setnz cl mov edx,ecx jmp L00438CC7 L00438CC5: xor edx,edx L00438CC7: test edx,edx jz L00438CEC cmp eax,00000020h jl L00438CEC lea edx,[eax-20h] cmp edx,000000E0h jge L00438CEC mov edi,[ebp-04h] mov ecx,[edi+esi*4] mov edx,[ecx+eax*4-7Ch] xor eax,eax mov ax,[edx] jmp L00438CF1 L00438CEC: mov edi,[ebp-04h] xor eax,eax L00438CF1: cmp [ebp+10h],eax jle L00438D51 L00438CF6: mov ecx,[ebp-0Ch] cmp ebx,ecx jge L00438D51 mov edx,[ebp-08h] sub edx,eax inc ebx cmp ebx,ecx mov [ebp-08h],edx jge L00438D4C mov eax,[ebp+0Ch] cmp esi,00000019h movsx edx,[ebx+eax] jg L00438D26 test esi,esi jl L00438D26 mov ecx,[edi+esi*4] xor eax,eax test ecx,ecx setnz al jmp L00438D28 L00438D26: xor eax,eax L00438D28: test eax,eax jz L00438D4A cmp edx,00000020h jl L00438D4A lea ecx,[edx-20h] cmp ecx,000000E0h jge L00438D4A mov eax,[edi+esi*4] mov ecx,[eax+edx*4-7Ch] xor eax,eax mov ax,[ecx] jmp L00438D4C L00438D4A: xor eax,eax L00438D4C: cmp [ebp-08h],eax jg L00438CF6 L00438D51: pop edi mov eax,ebx pop esi pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 8 SUB_L00438D60: push ebp mov ebp,esp push ecx push ebx push esi mov ebx,ecx push edi mov edi,[ebp+0Ch] or ecx,FFFFFFFFh xor eax,eax repne scasb mov edi,[ebp+10h] not ecx dec ecx mov esi,ecx L00438D7B: mov edx,[ebp+0Ch] lea eax,[ebp-04h] lea ecx,[ebp+10h] push eax mov eax,[ebp+08h] push ecx push edi push edx push esi push eax mov ecx,ebx call SUB_L00438920 dec esi js L00438DAB mov ecx,[ebp+14h] mov eax,[ebp+10h] cmp eax,ecx jg L00438D7B mov edx,[ebp+18h] mov eax,[ebp-04h] cmp eax,edx jg L00438D7B L00438DAB: lea eax,[esi+01h] pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0014h ;------------------------------------------------------------------------------ Align 16 SUB_L00438DC0: mov edx,ecx push edi mov ecx,000000E0h xor eax,eax lea edi,[edx+04h] rep stosd lea edi,[edx+00000384h] mov ecx,000000E0h rep stosd mov [edx],eax mov eax,edx pop edi retn ;------------------------------------------------------------------------------ Align 16 SUB_L00438DF0: push esi push edi lea esi,[ecx+04h] mov edi,000000E0h L00438DFA: mov eax,[esi] test eax,eax jz L00438E0F push eax call SUB_L0049A810 add esp,00000004h mov dword ptr [esi],00000000h L00438E0F: add esi,00000004h dec edi jnz L00438DFA pop edi pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L00438E20: push ebp mov ebp,esp sub esp,00000008h mov eax,[ebp+14h] push ebx push esi push edi mov edi,ecx cmp eax,00000020h mov [ebp-08h],edi jl L0043908A lea esi,[eax-20h] cmp esi,000000E0h jge L00438E50 mov ecx,[edi+eax*4-7Ch] xor ebx,ebx mov bx,[ecx] jmp L00438E52 L00438E50: xor ebx,ebx L00438E52: cmp esi,000000E0h jge L00438E66 mov edx,[edi+eax*4-7Ch] xor ecx,ecx mov cx,[edx+02h] jmp L00438E68 L00438E66: xor ecx,ecx L00438E68: test ebx,ebx mov [ebp-04h],ecx jz L0043908A mov eax,[edi+esi*4+00000384h] mov edx,[ebp+0Ch] add eax,edx mov edi,[edi+esi*4+04h] sub eax,ecx mov ecx,[ebp+08h] inc eax mov edx,eax imul edx,[ebp+1Ch] add edx,ecx test edi,edi jz L0043908A mov esi,[ebp+18h] add edi,00000004h lea esi,[esi+edx*2] mov edx,[ebp+20h] cmp ecx,[edx] jl L0043908A lea ecx,[ebx+ecx-01h] cmp ecx,[edx+08h] jge L0043908A mov ecx,[edx+04h] cmp eax,ecx jge L00438EDA sub ecx,eax mov edx,ebx mov [ebp+14h],ecx imul edx,ecx imul ecx,[ebp+1Ch] lea edi,[edi+edx*2] mov edx,[ebp+20h] lea esi,[esi+ecx*2] jmp L00438EE1 L00438EDA: mov dword ptr [ebp+14h],00000000h L00438EE1: mov ecx,[edx+0Ch] mov edx,[ebp-04h] add edx,eax cmp edx,ecx jl L00438EF4 sub ecx,eax dec ecx mov eax,ecx jmp L00438EF8 L00438EF4: mov eax,[ebp-04h] dec eax L00438EF8: mov ecx,[ebp+10h] test ecx,ecx jnz L00438F7B mov ecx,[ebp+14h] cmp ecx,eax jg L0043907F sub eax,ecx inc eax mov [ebp+0Ch],eax L00438F10: push ebx mov edx,edi mov ecx,esi call SUB_L00488700 mov al,[L0073EC3C] test al,al jz L00438F5E test ebx,ebx jle L00438F5E mov eax,edi mov ecx,esi sub eax,esi mov [ebp+14h],ebx mov [ebp+20h],eax L00438F33: cmp word ptr [eax+ecx],0000h jz L00438F52 mov ax,[ecx] mov edx,eax and eax,0000001Fh and edx,0000FFE0h shl edx,1 or edx,eax mov eax,[ebp+20h] mov [ecx],dx L00438F52: mov edx,[ebp+14h] add ecx,00000002h dec edx mov [ebp+14h],edx jnz L00438F33 L00438F5E: mov eax,[ebp+1Ch] lea edi,[edi+ebx*2] lea esi,[esi+eax*2] mov eax,[ebp+0Ch] dec eax mov [ebp+0Ch],eax jnz L00438F10 mov eax,ebx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 001Ch ;------------------------------------------------------------------------------ L00438F7B: mov edx,[ebp-08h] cmp dword ptr [edx],00000000h jz L0043900B mov edx,[ebp+14h] cmp edx,eax jg L0043907F sub eax,edx dec ecx inc eax mov [ebp+08h],ecx mov [ebp+0Ch],eax L00438F9C: mov eax,[ebp+08h] mov edx,edi push eax push ebx mov ecx,esi call SUB_L00495790 mov al,[L0073EC3C] test al,al jz L00438FEE test ebx,ebx jle L00438FEE mov eax,edi mov ecx,esi sub eax,esi mov [ebp+14h],ebx mov [ebp+20h],eax L00438FC3: cmp word ptr [ecx+eax],0000h jz L00438FE2 mov ax,[ecx] mov edx,eax and eax,0000001Fh and edx,0000FFE0h shl edx,1 or edx,eax mov eax,[ebp+20h] mov [ecx],dx L00438FE2: mov edx,[ebp+14h] add ecx,00000002h dec edx mov [ebp+14h],edx jnz L00438FC3 L00438FEE: mov eax,[ebp+1Ch] lea edi,[edi+ebx*2] lea esi,[esi+eax*2] mov eax,[ebp+0Ch] dec eax mov [ebp+0Ch],eax jnz L00438F9C mov eax,ebx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 001Ch ;------------------------------------------------------------------------------ L0043900B: dec ecx mov [L0076735C],ecx mov ecx,[ebp+14h] cmp ecx,eax jg L0043907F sub eax,ecx inc eax mov [ebp+0Ch],eax L0043901F: push ebx mov edx,edi mov ecx,esi call SUB_L004887E0 mov al,[L0073EC3C] test al,al jz L0043906D test ebx,ebx jle L0043906D mov eax,edi mov ecx,esi sub eax,esi mov [ebp+14h],ebx mov [ebp+20h],eax L00439042: cmp word ptr [ecx+eax],0000h jz L00439061 mov ax,[ecx] mov edx,eax and eax,0000001Fh and edx,0000FFE0h shl edx,1 or edx,eax mov eax,[ebp+20h] mov [ecx],dx L00439061: mov edx,[ebp+14h] add ecx,00000002h dec edx mov [ebp+14h],edx jnz L00439042 L0043906D: mov eax,[ebp+1Ch] lea edi,[edi+ebx*2] lea esi,[esi+eax*2] mov eax,[ebp+0Ch] dec eax mov [ebp+0Ch],eax jnz L0043901F L0043907F: mov eax,ebx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 001Ch ;------------------------------------------------------------------------------ L0043908A: pop edi pop esi xor eax,eax pop ebx mov esp,ebp pop ebp retn 001Ch ;------------------------------------------------------------------------------ Align 16 SUB_L004390A0: push ebp mov ebp,esp sub esp,00000008h push esi mov esi,edx lea eax,[ebp-04h] lea edx,[ebp-08h] push eax push edx push ecx push 0000000Ch push 0000000Bh mov ecx,L006AA860 call SUB_L00446620 test eax,eax jz L004390DF mov eax,[ebp-04h] mov edx,[ebp+08h] mov ecx,eax sar ecx,10h and eax,0000FFFFh mov [esi],ecx mov [edx],eax pop esi mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L004390DF: mov eax,[ebp+08h] mov dword ptr [esi],00000000h pop esi mov dword ptr [eax],00000000h mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00439100: push ebp mov ebp,esp sub esp,0000081Ch push ebx mov [ebp-18h],ecx push esi lea eax,[ebp-14h] push edi lea ecx,[ebp-1Ch] push eax push ecx push edx push 0000000Ch push 0000000Bh mov ecx,L006AA860 call SUB_L00446620 mov [ebp-10h],eax mov eax,[ebp-1Ch] xor ecx,ecx cmp eax,ecx jz L00439281 mov eax,[ebp-14h] mov edx,[ebp+08h] mov esi,eax and eax,0000FFFFh sar esi,10h dec eax cmp edx,ecx mov [ebp-0Ch],esi mov [ebp-04h],ecx mov [ebp-08h],esi jge L00439160 mov edi,edx neg edi add esi,edx mov [ebp-04h],edi mov [ebp-08h],esi L00439160: mov edi,[ebp+0Ch] cmp edi,ecx jge L0043916B mov ecx,edi neg ecx L0043916B: lea ebx,[esi+edx] cmp ebx,[ebp+14h] jle L0043917B mov esi,[ebp+14h] sub esi,edx mov [ebp-08h],esi L0043917B: cmp esi,00000001h jl L00439281 mov esi,[ebp+18h] lea ebx,[eax+edi] cmp ebx,esi jl L00439193 sub esi,edi dec esi mov eax,esi L00439193: lea esi,[ecx+edi] mov ebx,[ebp-04h] imul esi,[ebp+14h] add esi,ebx add esi,edx mov edx,[ebp+10h] cmp ecx,eax lea edi,[edx+esi*2] mov [ebp+18h],edi jg L00439281 mov edx,[ebp-10h] sub eax,ecx inc eax lea edx,[edx+ecx*4] mov [ebp+10h],eax mov [ebp+08h],edx L004391C1: mov eax,[ebp+08h] mov edx,[ebp-0Ch] xor ecx,ecx mov eax,[eax] mov [ebp+0Ch],ecx test edx,edx jle L00439218 mov edx,[ebp-10h] lea esi,[edx+eax*4] L004391D8: mov eax,[esi] add esi,00000004h mov edx,eax and eax,0000FFFFh sar edx,10h test edx,edx jle L00439213 mov bx,ax lea edi,[ebp+ecx*2-0000081Ch] shl ebx,10h mov ecx,edx mov bx,ax mov eax,ebx shr ecx,1 rep stosd adc ecx,ecx rep stosw mov ecx,[ebp+0Ch] mov edi,[ebp+18h] add ecx,edx mov [ebp+0Ch],ecx L00439213: cmp ecx,[ebp-0Ch] jl L004391D8 L00439218: mov eax,[ebp-04h] mov ebx,[ebp-08h] push ebx mov ecx,edi lea esi,[ebp+eax*2-0000081Ch] mov edx,esi call [ebp-18h] mov al,[L0073EC3C] test al,al jz L00439262 test ebx,ebx jle L00439262 mov ecx,edi mov edx,ebx L0043923E: cmp word ptr [esi],0000h jz L00439259 mov ax,[ecx] mov ebx,eax and eax,0000001Fh and ebx,0000FFE0h shl ebx,1 or ebx,eax mov [ecx],bx L00439259: add esi,00000002h add ecx,00000002h dec edx jnz L0043923E L00439262: mov ecx,[ebp+14h] mov eax,[ebp+10h] lea edi,[edi+ecx*2] mov ecx,[ebp+08h] add ecx,00000004h dec eax mov [ebp+18h],edi mov [ebp+08h],ecx mov [ebp+10h],eax jnz L004391C1 L00439281: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0014h ;------------------------------------------------------------------------------ Align 8 SUB_L00439290: push ebp mov ebp,esp sub esp,0000081Ch push ebx mov [ebp-18h],ecx push esi lea eax,[ebp-1Ch] push edi lea ecx,[ebp-14h] push eax push ecx push edx push 0000000Ch push 0000000Bh mov ecx,L006AA860 call SUB_L00446620 mov [ebp-08h],eax mov eax,[ebp-14h] test eax,eax jz L00439477 mov eax,[ebp-1Ch] mov esi,[ebp+08h] mov edi,[ebp+0Ch] mov ebx,eax and eax,0000FFFFh mov [ebp-10h],eax mov eax,[esi+08h] sar ebx,10h cmp edi,eax mov [ebp-0Ch],ebx mov [ebp-04h],eax jge L00439477 mov eax,[esi+0Ch] mov edx,[ebp+10h] cmp edx,eax mov [ebp+0Ch],eax jge L00439477 mov eax,[esi] lea ecx,[ebx+edi] cmp ecx,eax jl L00439477 mov ecx,[ebp-10h] mov esi,[esi+04h] add ecx,edx cmp ecx,esi mov [ebp+10h],ecx jl L00439477 cmp eax,edi jle L00439327 sub eax,edi mov [ebp+08h],eax jmp L0043932E L00439327: mov dword ptr [ebp+08h],00000000h L0043932E: mov eax,[ebp-04h] lea ecx,[ebx+edi] cmp eax,ecx jge L0043933C sub eax,edi jmp L0043933E L0043933C: mov eax,ebx L0043933E: mov ecx,[ebp+18h] lea ebx,[eax+edi] cmp ebx,ecx jl L0043934C mov eax,ecx sub eax,edi L0043934C: cmp [ebp+08h],eax jge L00439477 cmp esi,edx jle L0043935D sub esi,edx jmp L0043935F L0043935D: xor esi,esi L0043935F: mov ebx,[ebp+0Ch] mov ecx,[ebp+10h] cmp ebx,ecx jge L00439370 sub ebx,edx dec ebx mov ecx,ebx jmp L00439374 L00439370: mov ecx,[ebp-10h] dec ecx L00439374: lea ebx,[esi+edx] imul ebx,[ebp+18h] add ebx,[ebp+08h] add ebx,edi mov edi,[ebp+14h] lea edi,[edi+ebx*2] mov ebx,[ebp+08h] sub eax,ebx lea ebx,[ecx+edx] mov [ebp-04h],eax mov eax,[ebp+1Ch] cmp ebx,eax mov [ebp+14h],edi jl L004393A0 sub eax,edx dec eax mov ecx,eax L004393A0: cmp esi,ecx jg L00439477 mov edx,[ebp-08h] sub ecx,esi inc ecx lea eax,[edx+esi*4] mov [ebp+1Ch],ecx mov [ebp+0Ch],eax L004393B7: mov ecx,[ebp+0Ch] mov edx,[ebp-0Ch] mov eax,[ecx] xor ecx,ecx test edx,edx mov [ebp+10h],ecx jle L0043940E mov edx,[ebp-08h] lea esi,[edx+eax*4] L004393CE: mov eax,[esi] add esi,00000004h mov edx,eax and eax,0000FFFFh sar edx,10h test edx,edx jle L00439409 mov bx,ax lea edi,[ebp+ecx*2-0000081Ch] shl ebx,10h mov ecx,edx mov bx,ax mov eax,ebx shr ecx,1 rep stosd adc ecx,ecx rep stosw mov ecx,[ebp+10h] mov edi,[ebp+14h] add ecx,edx mov [ebp+10h],ecx L00439409: cmp ecx,[ebp-0Ch] jl L004393CE L0043940E: mov eax,[ebp+08h] mov ebx,[ebp-04h] push ebx mov ecx,edi lea esi,[ebp+eax*2-0000081Ch] mov edx,esi call [ebp-18h] mov al,[L0073EC3C] test al,al jz L00439458 test ebx,ebx jle L00439458 mov ecx,edi mov edx,ebx L00439434: cmp word ptr [esi],0000h jz L0043944F mov ax,[ecx] mov ebx,eax and eax,0000001Fh and ebx,0000FFE0h shl ebx,1 or ebx,eax mov [ecx],bx L0043944F: add esi,00000002h add ecx,00000002h dec edx jnz L00439434 L00439458: mov ecx,[ebp+18h] mov eax,[ebp+1Ch] lea edi,[edi+ecx*2] mov ecx,[ebp+0Ch] add ecx,00000004h dec eax mov [ebp+14h],edi mov [ebp+0Ch],ecx mov [ebp+1Ch],eax jnz L004393B7 L00439477: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0018h ;------------------------------------------------------------------------------ SUB_L00439480: push ebp mov ebp,esp push ecx mov eax,[ebp+1Ch] push ebx push esi mov esi,eax imul esi,[ebp+14h] mov ebx,[ebp+08h] mov [ebp-04h],ecx mov ecx,[ebp+10h] push edi mov edi,[ebp+18h] add esi,ecx lea edi,[edi+esi*2] mov esi,edx lea edx,[ecx+ebx] cmp edx,eax jle L004394AE mov ebx,eax sub ebx,ecx L004394AE: mov ecx,[ebp+14h] mov edx,[ebp+0Ch] add edx,ecx mov ecx,[ebp+20h] cmp edx,ecx jle L004394C2 sub ecx,[ebp+14h] jmp L004394C5 L004394C2: mov ecx,[ebp+0Ch] L004394C5: test ecx,ecx jle L004394F4 mov edx,[ebp+08h] mov [ebp+14h],ecx add edx,edx add eax,eax mov [ebp+0Ch],edx mov [ebp+08h],eax L004394D9: push ebx mov edx,esi mov ecx,edi call [ebp-04h] mov edx,[ebp+0Ch] mov ecx,[ebp+08h] mov eax,[ebp+14h] add esi,edx add edi,ecx dec eax mov [ebp+14h],eax jnz L004394D9 L004394F4: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 001Ch ;------------------------------------------------------------------------------ Align 4 SUB_L00439500: push ebp mov ebp,esp sub esp,00000010h push ebx mov ebx,[ebp+14h] push esi mov esi,[ebp+08h] mov [ebp-10h],ecx push edi mov ecx,[esi+08h] mov [ebp-0Ch],edx cmp ebx,ecx jge L00439619 mov eax,[esi+0Ch] mov edi,[ebp+18h] cmp edi,eax mov [ebp-04h],eax jge L00439619 mov eax,[ebp+0Ch] mov edx,[esi] add eax,ebx cmp eax,edx mov [ebp+18h],eax jl L00439619 mov eax,[ebp+10h] mov esi,[esi+04h] add eax,edi cmp eax,esi mov [ebp-08h],eax jl L00439619 cmp edx,ebx jle L0043955E sub edx,ebx jmp L00439560 L0043955E: xor edx,edx L00439560: mov eax,[ebp+18h] mov [ebp+08h],edx cmp ecx,eax jge L0043956E sub ecx,ebx jmp L00439571 L0043956E: mov ecx,[ebp+0Ch] L00439571: lea eax,[ecx+ebx] cmp eax,[ebp+20h] jl L0043957E mov ecx,[ebp+20h] sub ecx,ebx L0043957E: cmp edx,ecx jge L00439619 cmp esi,edi jle L00439590 sub esi,edi mov ebx,esi jmp L00439592 L00439590: xor ebx,ebx L00439592: mov edx,[ebp-04h] mov eax,[ebp-08h] cmp edx,eax jge L004395A3 sub edx,edi dec edx mov eax,edx jmp L004395A9 L004395A3: mov edx,[ebp+10h] lea eax,[edx-01h] L004395A9: lea edx,[ebx+edi] mov esi,[ebp+08h] imul edx,[ebp+20h] add edx,esi mov esi,[ebp+14h] add edx,esi mov esi,[ebp+1Ch] lea esi,[esi+edx*2] mov edx,[ebp+08h] sub ecx,edx lea edx,[eax+edi] mov [ebp+10h],ecx mov ecx,[ebp+24h] cmp edx,ecx jl L004395D7 sub ecx,edi dec ecx mov eax,ecx L004395D7: mov ecx,[ebp+0Ch] mov edx,ebx imul edx,ecx mov edi,[ebp+08h] add edx,edi mov edi,[ebp-0Ch] cmp ebx,eax lea edi,[edi+edx*2] jg L00439619 mov edx,[ebp+20h] add ecx,ecx sub eax,ebx mov [ebp+0Ch],ecx lea ecx,[edx+edx] inc eax mov [ebp+20h],ecx mov ebx,eax L00439601: mov edx,[ebp+10h] mov ecx,esi push edx mov edx,edi call [ebp-10h] mov edx,[ebp+0Ch] mov ecx,[ebp+20h] add edi,edx add esi,ecx dec ebx jnz L00439601 L00439619: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0020h ;------------------------------------------------------------------------------ Align 16 SUB_L00439630: push ebp mov ebp,esp sub esp,00000008h push ebx push esi push edi mov edi,edx lea eax,[ebp-08h] lea edx,[ebp-04h] push eax push edx push ecx push 0000000Ch push 0000000Bh mov ecx,L006AA860 xor esi,esi call SUB_L00446620 mov ecx,[ebp-04h] test ecx,ecx jz L004396B9 mov ecx,[ebp-08h] mov ebx,[ebp+08h] mov edx,ecx and ecx,0000FFFFh sar edx,10h cmp ebx,ecx jge L004396B9 cmp edi,edx jge L004396B9 mov ecx,[eax+ebx*4] lea eax,[eax+ecx*4] xor ecx,ecx test edi,edi jle L00439690 L00439680: mov esi,[eax] add eax,00000004h mov edx,esi sar edx,10h add ecx,edx cmp ecx,edi jl L00439680 L00439690: mov al,[L0073EC3C] and esi,0000FFFFh test al,al jz L004396AD mov eax,esi and esi,0000001Fh and eax,00007FE0h shl eax,1 or esi,eax L004396AD: mov ax,si pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L004396B9: pop edi pop esi xor ax,ax pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L004396D0: mov eax,ecx xor ecx,ecx mov dword ptr [eax],0000001Eh mov dword ptr [eax+04h],00000021h mov [eax+08h],ecx mov [eax+0Ch],ecx mov [eax+10h],ecx retn ;------------------------------------------------------------------------------ Align 8 SUB_L004396F0: push esi mov esi,ecx call [KERNEL32.dll!GetTickCount] mov [esi+08h],eax pop esi retn ;------------------------------------------------------------------------------ Align 4 SUB_L00439700: push esi mov esi,ecx call [KERNEL32.dll!GetTickCount] mov [esi+0Ch],eax pop esi retn ;------------------------------------------------------------------------------ Align 4 SUB_L00439710: mov eax,[ecx+08h] mov edx,[ecx+0Ch] sub eax,edx mov edx,[ecx+04h] add eax,edx mov edx,[ecx+10h] add edx,eax mov [ecx+10h],edx retn ;------------------------------------------------------------------------------ Align 16 SUB_L00439730: mov edx,[ecx+10h] xor eax,eax test edx,edx setl al retn ;------------------------------------------------------------------------------ Align 8 SUB_L00439740: push esi mov esi,[ecx+10h] mov eax,esi push edi mov edi,[ecx+04h] cdq idiv edi neg eax mov edx,eax imul edx,edi add edx,esi pop edi mov [ecx+10h],edx pop esi retn ;------------------------------------------------------------------------------ Align 8 SUB_L00439760: mov eax,[ecx+10h] mov dword ptr [ecx+10h],00000000h retn ;------------------------------------------------------------------------------ Align 8 SUB_L00439770: push ebp mov ebp,esp push FFFFFFFFh push L004B2BF3 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,0000084Ch push ebx push esi mov ebx,ecx push edi mov [ebp-2Ch],ebx call SUB_L00441CB0 mov eax,[ebp+18h] mov edx,[ebp+1Ch] mov edi,[ebp+10h] mov [ebx+000000B0h],eax lea eax,[ebx+000000B8h] xor ecx,ecx mov [ebp-04h],ecx mov [ebx+00000098h],ecx mov [ebx+0000009Ch],ecx mov [ebx+000000A0h],ecx mov [ebp-28h],eax mov [eax],ecx mov eax,[ebp+08h] mov [ebx+000000BCh],ecx mov [ebx+000000C0h],ecx mov [ebp+1Ch],ecx mov [ebp+18h],ecx mov ecx,[ebp+0Ch] mov esi,00000001h mov [ebx+000000B4h],edx mov [ebx+00000094h],esi mov [ebx+000000A4h],esi mov [ebx+000000A8h],esi mov [ebx+000000ACh],esi mov dword ptr [ebx],L004B9E28 mov dword ptr [ebx+04h],SSZ004C6A48_generic_gump mov [ebx+2Ch],eax mov [ebx+30h],ecx mov al,[edi] test al,al jz L00439F21 jmp L00439829 L00439826: mov edi,[ebp+10h] L00439829: test al,al jz L0043983C L0043982D: cmp al,7Bh jz L00439839 mov al,[edi+01h] inc edi test al,al jnz L0043982D L00439839: mov [ebp+10h],edi L0043983C: cmp byte ptr [edi],00h jz L00439845 inc edi mov [ebp+10h],edi L00439845: mov al,[edi] test al,al jz L00439866 L0043984B: movsx edx,al push edx call SUB_L0049B9F0 add esp,00000004h test eax,eax jz L00439863 mov al,[edi+01h] inc edi test al,al jnz L0043984B L00439863: mov [ebp+10h],edi L00439866: mov al,[edi] lea esi,[ebp-00000858h] test al,al jz L00439884 L00439872: cmp al,7Dh jz L00439881 mov [esi],al mov al,[edi+01h] inc esi inc edi test al,al jnz L00439872 L00439881: mov [ebp+10h],edi L00439884: cmp byte ptr [edi],00h jz L0043988D inc edi mov [ebp+10h],edi L0043988D: lea eax,[ebp-00000858h] cmp esi,eax jbe L004398B3 L00439897: movsx ecx,[esi-01h] push ecx call SUB_L0049B9F0 add esp,00000004h test eax,eax jz L004398B3 dec esi lea edx,[ebp-00000858h] cmp esi,edx ja L00439897 L004398B3: lea edx,[ebp-00000458h] lea ecx,[ebp-00000858h] mov byte ptr [esi],00h call SUB_L00449A90 mov edi,eax mov esi,SSZ004C6A40_page lea ecx,[ebp-00000458h] L004398D4: mov al,[ecx] mov dl,al cmp al,[esi] jnz L004398F8 test dl,dl jz L004398F4 mov al,[ecx+01h] mov dl,al cmp al,[esi+01h] jnz L004398F8 add ecx,00000002h add esi,00000002h test dl,dl jnz L004398D4 L004398F4: xor ecx,ecx jmp L004398FD L004398F8: sbb ecx,ecx sbb ecx,FFFFFFFFh L004398FD: test ecx,ecx jnz L00439912 push edi call SUB_L0049BB10 add esp,00000004h mov [ebp+1Ch],eax jmp L00439F0F L00439912: mov esi,SSZ004C6A34_nodispose lea ecx,[ebp-00000458h] L0043991D: mov al,[ecx] mov dl,al cmp al,[esi] jnz L00439941 test dl,dl jz L0043993D mov al,[ecx+01h] mov dl,al cmp al,[esi+01h] jnz L00439941 add ecx,00000002h add esi,00000002h test dl,dl jnz L0043991D L0043993D: xor ecx,ecx jmp L00439946 L00439941: sbb ecx,ecx sbb ecx,FFFFFFFFh L00439946: test ecx,ecx jnz L00439955 mov [ebx+000000A8h],ecx jmp L00439F0F L00439955: mov esi,SSZ004C6A2C_nomove lea ecx,[ebp-00000458h] L00439960: mov al,[ecx] mov dl,al cmp al,[esi] jnz L00439984 test dl,dl jz L00439980 mov al,[ecx+01h] mov dl,al cmp al,[esi+01h] jnz L00439984 add ecx,00000002h add esi,00000002h test dl,dl jnz L00439960 L00439980: xor ecx,ecx jmp L00439989 L00439984: sbb ecx,ecx sbb ecx,FFFFFFFFh L00439989: test ecx,ecx jnz L00439998 mov [ebx+000000A4h],ecx jmp L00439F0F L00439998: mov esi,SSZ004C6A24_noclose lea ecx,[ebp-00000458h] L004399A3: mov al,[ecx] mov dl,al cmp al,[esi] jnz L004399C7 test dl,dl jz L004399C3 mov al,[ecx+01h] mov dl,al cmp al,[esi+01h] jnz L004399C7 add ecx,00000002h add esi,00000002h test dl,dl jnz L004399A3 L004399C3: xor ecx,ecx jmp L004399CC L004399C7: sbb ecx,ecx sbb ecx,FFFFFFFFh L004399CC: test ecx,ecx jnz L004399DB mov [ebx+000000ACh],ecx jmp L00439F0F L004399DB: mov esi,SSZ004C6A1C_group lea ecx,[ebp-00000458h] L004399E6: mov al,[ecx] mov dl,al cmp al,[esi] jnz L00439A0A test dl,dl jz L00439A06 mov al,[ecx+01h] mov dl,al cmp al,[esi+01h] jnz L00439A0A add ecx,00000002h add esi,00000002h test dl,dl jnz L004399E6 L00439A06: xor ecx,ecx jmp L00439A0F L00439A0A: sbb ecx,ecx sbb ecx,FFFFFFFFh L00439A0F: test ecx,ecx jnz L00439AEB mov ebx,[ebp+18h] push edi call SUB_L0049BB10 add esp,00000004h xor edi,edi test ebx,ebx mov [ebp+18h],eax jnz L00439A31 mov esi,[ebp-28h] jmp L00439A89 L00439A31: mov ecx,[ebp-28h] mov edi,[ecx] test edi,edi jz L00439A7C L00439A3A: cmp [edi+0Ch],ebx jz L00439A7E mov esi,[edi+28h] test esi,esi jz L00439A6F L00439A46: cmp [esi+0Ch],ebx jz L00439FDD mov eax,[esi+28h] test eax,eax jz L00439A62 push ebx mov ecx,esi call SUB_L0043B120 test eax,eax jnz L00439A78 L00439A62: mov esi,[esi+2Ch] test esi,esi jnz L00439A46 xor eax,eax L00439A6B: test eax,eax jnz L00439A78 L00439A6F: mov edi,[edi+2Ch] test edi,edi jnz L00439A3A jmp L00439A7C L00439A78: mov edi,eax jmp L00439A7E L00439A7C: xor edi,edi L00439A7E: test edi,edi jz L00439F0C lea esi,[edi+28h] L00439A89: mov eax,[esi] test eax,eax jz L00439A99 L00439A8F: lea esi,[eax+2Ch] mov eax,[eax+2Ch] test eax,eax jnz L00439A8F L00439A99: push 00000048h call SUB_L0049A820 add esp,00000004h mov [ebp-58h],eax test eax,eax mov byte ptr [ebp-04h],01h jz L00439ADF push 00000000h mov edx,[ebp+18h] push 00000000h mov ecx,[ebp+1Ch] push 00000000h push 00000000h push 00000000h push 00000000h push 00000000h push 00000000h push 00000000h push 00000000h push edx push ecx push 00000000h push edi mov ecx,eax call SUB_L0043B070 mov byte ptr [ebp-04h],00h mov [esi],eax jmp L00439F0C L00439ADF: xor eax,eax mov [ebp-04h],al mov [esi],eax jmp L00439F0C L00439AEB: mov esi,SSZ004C6A14_gumppic lea ecx,[ebp-00000458h] L00439AF6: mov al,[ecx] mov dl,al cmp al,[esi] jnz L00439B1A test dl,dl jz L00439B16 mov al,[ecx+01h] mov dl,al cmp al,[esi+01h] jnz L00439B1A add ecx,00000002h add esi,00000002h test dl,dl jnz L00439AF6 L00439B16: xor ecx,ecx jmp L00439B1F L00439B1A: sbb ecx,ecx sbb ecx,FFFFFFFFh L00439B1F: test ecx,ecx jnz L00439B5D lea ecx,[ebp-18h] lea edx,[ebp-14h] push ecx lea eax,[ebp-10h] push edx push eax push SSZ004C6A08__d__d__d push edi call SUB_L0049BA20 mov ecx,[ebp+18h] mov edx,[ebp+1Ch] mov eax,[ebp-18h] add esp,00000014h push ecx mov ecx,[ebp-14h] push edx mov edx,[ebp-10h] push eax push ecx push edx mov ecx,ebx call SUB_L0043A3E0 jmp L00439F0F L00439B5D: mov esi,SSZ004C6A00_tilepic lea ecx,[ebp-00000458h] L00439B68: mov al,[ecx] mov dl,al cmp al,[esi] jnz L00439B8C test dl,dl jz L00439B88 mov al,[ecx+01h] mov dl,al cmp al,[esi+01h] jnz L00439B8C add ecx,00000002h add esi,00000002h test dl,dl jnz L00439B68 L00439B88: xor ecx,ecx jmp L00439B91 L00439B8C: sbb ecx,ecx sbb ecx,FFFFFFFFh L00439B91: test ecx,ecx jnz L00439BCF lea ecx,[ebp-18h] lea edx,[ebp-14h] push ecx lea eax,[ebp-10h] push edx push eax push SSZ004C6A08__d__d__d push edi call SUB_L0049BA20 mov ecx,[ebp+18h] mov edx,[ebp+1Ch] mov eax,[ebp-18h] add esp,00000014h push ecx mov ecx,[ebp-14h] push edx mov edx,[ebp-10h] push eax push ecx push edx mov ecx,ebx call SUB_L0043A5F0 jmp L00439F0F L00439BCF: mov esi,SSZ004C69F8_text lea ecx,[ebp-00000458h] L00439BDA: mov al,[ecx] mov dl,al cmp al,[esi] jnz L00439BFE test dl,dl jz L00439BFA mov al,[ecx+01h] mov dl,al cmp al,[esi+01h] jnz L00439BFE add ecx,00000002h add esi,00000002h test dl,dl jnz L00439BDA L00439BFA: xor ecx,ecx jmp L00439C03 L00439BFE: sbb ecx,ecx sbb ecx,FFFFFFFFh L00439C03: test ecx,ecx jnz L00439C4F lea ecx,[ebp+08h] lea edx,[ebp+0Ch] push ecx lea eax,[ebp-14h] push edx lea ecx,[ebp-10h] push eax push ecx push SSZ004C69EC__d__d__d__d push edi call SUB_L0049BA20 mov edx,[ebp+18h] mov eax,[ebp+1Ch] mov ecx,[ebp+08h] add esp,00000018h push edx mov edx,[ebp+14h] push eax mov eax,[edx+ecx*4] mov ecx,[ebp+0Ch] mov edx,[ebp-14h] push eax mov eax,[ebp-10h] push ecx push edx push eax mov ecx,ebx call SUB_L0043A730 jmp L00439F0F L00439C4F: mov esi,SSZ004C69E0_textentry lea ecx,[ebp-00000458h] L00439C5A: mov al,[ecx] mov dl,al cmp al,[esi] jnz L00439C7E test dl,dl jz L00439C7A mov al,[ecx+01h] mov dl,al cmp al,[esi+01h] jnz L00439C7E add ecx,00000002h add esi,00000002h test dl,dl jnz L00439C5A L00439C7A: xor ecx,ecx jmp L00439C83 L00439C7E: sbb ecx,ecx sbb ecx,FFFFFFFFh L00439C83: test ecx,ecx jnz L00439CE7 lea ecx,[ebp-4Ch] lea edx,[ebp-3Ch] push ecx lea eax,[ebp-30h] push edx lea ecx,[ebp-24h] push eax lea edx,[ebp-20h] push ecx lea eax,[ebp-14h] push edx lea ecx,[ebp-10h] push eax push ecx push SSZ004C69C8__d__d__d__d__d__d__d push edi call SUB_L0049BA20 mov edx,[ebp+18h] mov eax,[ebp+1Ch] mov ecx,[ebp-3Ch] add esp,00000024h push edx mov edx,[ebp-4Ch] push eax mov eax,[ebp+14h] push ecx mov ecx,[eax+edx*4] mov edx,[ebp-30h] mov eax,[ebp-24h] push ecx mov ecx,[ebp-20h] push edx mov edx,[ebp-14h] push eax mov eax,[ebp-10h] push ecx push edx push eax mov ecx,ebx call SUB_L0043A860 jmp L00439F0F L00439CE7: mov esi,SSZ004C69C0_radio lea ecx,[ebp-00000458h] L00439CF2: mov al,[ecx] mov dl,al cmp al,[esi] jnz L00439D16 test dl,dl jz L00439D12 mov al,[ecx+01h] mov dl,al cmp al,[esi+01h] jnz L00439D16 add ecx,00000002h add esi,00000002h test dl,dl jnz L00439CF2 L00439D12: xor ecx,ecx jmp L00439D1B L00439D16: sbb ecx,ecx sbb ecx,FFFFFFFFh L00439D1B: test ecx,ecx jnz L00439D71 lea ecx,[ebp-54h] lea edx,[ebp-44h] push ecx lea eax,[ebp-1Ch] push edx lea ecx,[ebp-18h] push eax lea edx,[ebp-14h] push ecx lea eax,[ebp-10h] push edx push eax push SSZ004C69AC__d__d__d__d__d__d push edi call SUB_L0049BA20 mov ecx,[ebp+18h] mov edx,[ebp+1Ch] mov eax,[ebp-54h] add esp,00000020h push ecx mov ecx,[ebp-44h] push edx mov edx,[ebp-1Ch] push eax mov eax,[ebp-18h] push ecx mov ecx,[ebp-14h] push edx mov edx,[ebp-10h] push eax push ecx push edx mov ecx,ebx call SUB_L0043ABB0 jmp L00439F0F L00439D71: mov esi,SSZ004C69A4_button lea ecx,[ebp-00000458h] L00439D7C: mov al,[ecx] mov dl,al cmp al,[esi] jnz L00439DA0 test dl,dl jz L00439D9C mov al,[ecx+01h] mov dl,al cmp al,[esi+01h] jnz L00439DA0 add ecx,00000002h add esi,00000002h test dl,dl jnz L00439D7C L00439D9C: xor ecx,ecx jmp L00439DA5 L00439DA0: sbb ecx,ecx sbb ecx,FFFFFFFFh L00439DA5: test ecx,ecx jnz L00439E03 lea ecx,[ebp-50h] lea edx,[ebp-34h] push ecx lea eax,[ebp-38h] push edx lea ecx,[ebp-1Ch] push eax lea edx,[ebp-18h] push ecx lea eax,[ebp-14h] push edx lea ecx,[ebp-10h] push eax push ecx push SSZ004C69C8__d__d__d__d__d__d__d push edi call SUB_L0049BA20 mov edx,[ebp+18h] mov eax,[ebp+1Ch] mov ecx,[ebp-50h] add esp,00000024h push edx mov edx,[ebp-34h] push eax mov eax,[ebp-38h] push ecx mov ecx,[ebp-1Ch] push edx mov edx,[ebp-18h] push eax mov eax,[ebp-14h] push ecx mov ecx,[ebp-10h] push edx push eax push ecx mov ecx,ebx call SUB_L0043A960 jmp L00439F0F L00439E03: mov esi,SSZ004C6998_checkbox lea ecx,[ebp-00000458h] L00439E0E: mov al,[ecx] mov dl,al cmp al,[esi] jnz L00439E32 test dl,dl jz L00439E2E mov al,[ecx+01h] mov dl,al cmp al,[esi+01h] jnz L00439E32 add ecx,00000002h add esi,00000002h test dl,dl jnz L00439E0E L00439E2E: xor ecx,ecx jmp L00439E37 L00439E32: sbb ecx,ecx sbb ecx,FFFFFFFFh L00439E37: test ecx,ecx jnz L00439E8D lea ecx,[ebp-40h] lea edx,[ebp-48h] push ecx lea eax,[ebp-1Ch] push edx lea ecx,[ebp-18h] push eax lea edx,[ebp-14h] push ecx lea eax,[ebp-10h] push edx push eax push SSZ004C69AC__d__d__d__d__d__d push edi call SUB_L0049BA20 mov ecx,[ebp+18h] mov edx,[ebp+1Ch] mov eax,[ebp-40h] add esp,00000020h push ecx mov ecx,[ebp-48h] push edx mov edx,[ebp-1Ch] push eax mov eax,[ebp-18h] push ecx mov ecx,[ebp-14h] push edx mov edx,[ebp-10h] push eax push ecx push edx mov ecx,ebx call SUB_L0043AAA0 jmp L00439F0F L00439E8D: mov esi,SSZ004C698C_resizepic lea ecx,[ebp-00000458h] L00439E98: mov al,[ecx] mov dl,al cmp al,[esi] jnz L00439EBC test dl,dl jz L00439EB8 mov al,[ecx+01h] mov dl,al cmp al,[esi+01h] jnz L00439EBC add ecx,00000002h add esi,00000002h test dl,dl jnz L00439E98 L00439EB8: xor ecx,ecx jmp L00439EC1 L00439EBC: sbb ecx,ecx sbb ecx,FFFFFFFFh L00439EC1: test ecx,ecx jnz L00439F0F lea ecx,[ebp-24h] lea edx,[ebp-20h] push ecx lea eax,[ebp-18h] push edx lea ecx,[ebp-14h] push eax lea edx,[ebp-10h] push ecx push edx push SSZ004C697C__d__d__d__d__d push edi call SUB_L0049BA20 mov eax,[ebp+18h] mov ecx,[ebp+1Ch] mov edx,[ebp-24h] add esp,0000001Ch push eax mov eax,[ebp-20h] push ecx mov ecx,[ebp-18h] push edx mov edx,[ebp-14h] push eax mov eax,[ebp-10h] push ecx push edx push eax mov ecx,ebx call SUB_L0043A4F0 jmp L00439F0F L00439F0C: mov ebx,[ebp-2Ch] L00439F0F: mov ecx,[ebp+10h] mov al,[ecx] test al,al jnz L00439826 mov esi,00000001h L00439F21: push SSZ004C6960_framedata_for_GenericGump push 00000008h mov ecx,L00669C8C mov [ebx+14h],esi mov [ebx+20h],esi mov [ebx+18h],esi mov [ebx+1Ch],esi call SUB_L0044FBD0 mov ecx,[ebx+14h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [ebx+38h],edi push SSZ004C6950_generic_frame rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[ebx+1Ch] imul eax,[ebx+20h] lea ecx,[eax+eax+04h] push ecx mov ecx,L00669C8C call SUB_L0044FBD0 mov edx,[ebx+38h] mov [edx+04h],eax mov ecx,[ebx+1Ch] imul ecx,[ebx+20h] mov edx,[ebx+38h] xor eax,eax shl ecx,1 mov edi,[edx+04h] mov edx,ecx add edi,00000004h shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[ebx+38h] mov dx,[ebx+1Ch] mov ecx,[eax+04h] mov [ecx],dx mov eax,[ebx+38h] mov dx,[ebx+20h] mov ecx,[eax+04h] mov [ecx+02h],dx mov ecx,ebx call SUB_L0043ACC0 push esi push 00000000h mov ecx,ebx call SUB_L004415C0 mov ecx,[ebp-0Ch] pop edi mov eax,ebx pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0018h ;------------------------------------------------------------------------------ L00439FDD: mov eax,esi jmp L00439A6B Align 16 L00439FF0: push ebp mov ebp,esp push esi mov esi,ecx call SUB_L0043A020 test byte ptr [ebp+08h],01h jz L0043A00A push esi call SUB_L0049A810 add esp,00000004h L0043A00A: mov eax,esi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L0043A020: push ebp mov ebp,esp push FFFFFFFFh push L004B2C08 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push edi mov [ebp-10h],ecx mov dword ptr [ecx],L004B9E28 mov edi,[ecx+000000B8h] mov dword ptr [ebp-04h],00000000h test edi,edi jz L0043A09C push esi push ebx L0043A056: mov ebx,[edi+2Ch] test edi,edi jz L0043A091 mov ecx,[edi+28h] test ecx,ecx jz L0043A078 L0043A064: mov esi,[ecx+2Ch] test ecx,ecx jz L0043A072 push 00000001h call SUB_L0043A0C0 L0043A072: test esi,esi mov ecx,esi jnz L0043A064 L0043A078: mov eax,[edi+34h] test eax,eax jz L0043A088 push eax call SUB_L0049A810 add esp,00000004h L0043A088: push edi call SUB_L0049A810 add esp,00000004h L0043A091: test ebx,ebx mov edi,ebx jnz L0043A056 mov ecx,[ebp-10h] pop ebx pop esi L0043A09C: mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00441D50 mov ecx,[ebp-0Ch] pop edi mov fs:[00000000h],ecx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L0043A0C0: push ebp mov ebp,esp push esi push edi mov edi,ecx mov ecx,[edi+28h] test ecx,ecx jz L0043A0E2 L0043A0CE: mov esi,[ecx+2Ch] test ecx,ecx jz L0043A0DC push 00000001h call SUB_L0043A0C0 L0043A0DC: test esi,esi mov ecx,esi jnz L0043A0CE L0043A0E2: mov eax,[edi+34h] test eax,eax jz L0043A0F2 push eax call SUB_L0049A810 add esp,00000004h L0043A0F2: test byte ptr [ebp+08h],01h jz L0043A101 push edi call SUB_L0049A810 add esp,00000004h L0043A101: mov eax,edi pop edi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 8 SUB_L0043A110: push ebp mov ebp,esp mov eax,00001E5Ch call SUB_L0049ACF0 push ebx mov ebx,ecx mov [ebp-04h],ebx mov eax,[ebx+000000B0h] test eax,eax jz L0043A315 mov eax,[L006BB1CC] test eax,eax jz L0043A315 push edi push esi mov dl,B1h lea ecx,[ebp-00001E5Ch] call SUB_L004685A0 mov edx,[ebx+000000B0h] lea ecx,[ebp-00001E5Ch] call SUB_L004686B0 mov edx,[ebx+000000B4h] lea ecx,[ebp-00001E5Ch] call SUB_L004686B0 mov edx,[ebp+08h] lea ecx,[ebp-00001E5Ch] call SUB_L004686B0 mov edi,[ebx+000000B8h] mov dword ptr [ebp+08h],00000000h test edi,edi jz L0043A1CE L0043A18E: mov esi,[edi+28h] xor ebx,ebx test esi,esi jz L0043A1A7 L0043A197: mov ecx,esi call SUB_L0043B900 mov esi,[esi+2Ch] add ebx,eax test esi,esi jnz L0043A197 L0043A1A7: mov eax,[edi+30h] cmp eax,00000006h jz L0043A1B4 cmp eax,00000007h jnz L0043A1BC L0043A1B4: mov eax,[edi+44h] test eax,eax jz L0043A1BC inc ebx L0043A1BC: mov ecx,[ebp+08h] mov edi,[edi+2Ch] add ecx,ebx test edi,edi mov [ebp+08h],ecx jnz L0043A18E mov ebx,[ebp-04h] L0043A1CE: mov edx,[ebp+08h] lea ecx,[ebp-00001E5Ch] call SUB_L004686B0 mov edi,[ebx+000000B8h] test edi,edi jz L0043A22B L0043A1E6: mov esi,[edi+28h] test esi,esi jz L0043A202 L0043A1ED: lea eax,[ebp-00001E5Ch] mov ecx,esi push eax call SUB_L0043B940 mov esi,[esi+2Ch] test esi,esi jnz L0043A1ED L0043A202: mov eax,[edi+30h] cmp eax,00000006h jz L0043A20F cmp eax,00000007h jnz L0043A224 L0043A20F: mov eax,[edi+44h] test eax,eax jz L0043A224 mov edx,[edi+3Ch] lea ecx,[ebp-00001E5Ch] call SUB_L004686B0 L0043A224: mov edi,[edi+2Ch] test edi,edi jnz L0043A1E6 L0043A22B: mov edi,[ebx+000000B8h] mov dword ptr [ebp+08h],00000000h test edi,edi jz L0043A26E L0043A23C: mov esi,[edi+28h] xor ebx,ebx test esi,esi jz L0043A255 L0043A245: mov ecx,esi call SUB_L0043B990 mov esi,[esi+2Ch] add ebx,eax test esi,esi jnz L0043A245 L0043A255: cmp dword ptr [edi+30h],00000008h jnz L0043A25C inc ebx L0043A25C: mov ecx,[ebp+08h] mov edi,[edi+2Ch] add ecx,ebx test edi,edi mov [ebp+08h],ecx jnz L0043A23C mov ebx,[ebp-04h] L0043A26E: mov edx,[ebp+08h] lea ecx,[ebp-00001E5Ch] call SUB_L004686B0 mov edi,[ebx+000000B8h] test edi,edi jz L0043A301 L0043A286: mov esi,[edi+28h] test esi,esi jz L0043A2A2 L0043A28D: lea ecx,[ebp-00001E5Ch] push ecx mov ecx,esi call SUB_L0043B9C0 mov esi,[esi+2Ch] test esi,esi jnz L0043A28D L0043A2A2: cmp dword ptr [edi+30h],00000008h jnz L0043A2FA mov dx,[edi+3Ch] lea ecx,[ebp-00001E5Ch] call SUB_L00468630 mov ecx,[edi+34h] call SUB_L00491C00 cmp ax,00EFh mov ebx,000000EFh ja L0043A2CC mov ebx,eax L0043A2CC: mov edx,ebx lea ecx,[ebp-00001E5Ch] call SUB_L00468630 xor esi,esi and ebx,0000FFFFh jle L0043A2FA L0043A2E3: mov edx,[edi+34h] lea ecx,[ebp-00001E5Ch] mov dx,[edx+esi*2] call SUB_L00468630 inc esi cmp esi,ebx jl L0043A2E3 L0043A2FA: mov edi,[edi+2Ch] test edi,edi jnz L0043A286 L0043A301: mov ecx,[L006BB1CC] lea eax,[ebp-00001E5Ch] push eax call SUB_L0048B170 pop esi pop edi L0043A315: pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 8 L0043A320: push ebp mov ebp,esp mov eax,ecx mov ecx,[eax+000000C0h] test ecx,ecx jz L0043A339 push eax mov eax,[ebp+08h] push eax call SUB_L0043B820 L0043A339: pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L0043A340: push esi mov esi,ecx mov eax,[esi+000000C0h] test eax,eax jz L0043A36B cmp dword ptr [eax+30h],00000008h jnz L0043A361 mov ecx,esi mov dword ptr [eax+44h],00000000h call SUB_L0043ACC0 L0043A361: mov dword ptr [esi+000000C0h],00000000h L0043A36B: pop esi retn ;------------------------------------------------------------------------------ Align 4 L0043A370: push ebp mov ebp,esp push ecx push ebx push esi mov esi,[ecx+000000B8h] push edi test esi,esi mov [ebp-04h],ecx jz L0043A3C9 mov edi,[ebp+0Ch] mov ebx,[ebp+08h] L0043A38A: mov eax,[esi+04h] test eax,eax jz L0043A399 cmp eax,[ecx+00000094h] jnz L0043A3A9 L0043A399: push edi push ebx mov ecx,esi call SUB_L0043B610 test eax,eax jnz L0043A3BB mov ecx,[ebp-04h] L0043A3A9: mov esi,[esi+2Ch] test esi,esi jnz L0043A38A xor eax,eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L0043A3BB: mov eax,00000001h pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L0043A3C9: pop edi pop esi xor eax,eax pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L0043A3E0: push ebp mov ebp,esp push FFFFFFFFh push L004B2C2B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000008h push ebx mov ebx,[ebp+18h] push esi push edi xor edi,edi test ebx,ebx jnz L0043A40F lea esi,[ecx+000000B8h] jmp L0043A464 L0043A40F: mov edi,[ecx+000000B8h] test edi,edi jz L0043A45B L0043A419: cmp [edi+0Ch],ebx jz L0043A45D mov esi,[edi+28h] test esi,esi jz L0043A44E L0043A425: cmp [esi+0Ch],ebx jz L0043A4E3 mov eax,[esi+28h] test eax,eax jz L0043A441 push ebx mov ecx,esi call SUB_L0043B120 test eax,eax jnz L0043A457 L0043A441: mov esi,[esi+2Ch] test esi,esi jnz L0043A425 xor eax,eax L0043A44A: test eax,eax jnz L0043A457 L0043A44E: mov edi,[edi+2Ch] test edi,edi jnz L0043A419 jmp L0043A45B L0043A457: mov edi,eax jmp L0043A45D L0043A45B: xor edi,edi L0043A45D: test edi,edi jz L0043A4D0 lea esi,[edi+28h] L0043A464: mov eax,[esi] test eax,eax jz L0043A474 L0043A46A: lea esi,[eax+2Ch] mov eax,[eax+2Ch] test eax,eax jnz L0043A46A L0043A474: mov ebx,[ebp+10h] lea eax,[ebp-10h] push eax lea edx,[ebp-14h] mov ecx,ebx call SUB_L004390A0 push 00000048h call SUB_L0049A820 add esp,00000004h mov [ebp+10h],eax test eax,eax mov dword ptr [ebp-04h],00000000h jz L0043A4CC mov ecx,[ebp-10h] mov edx,[ebp-14h] push 00000000h push 00000000h push 00000000h push 00000000h push 00000000h push ebx push ecx mov ecx,[ebp+0Ch] push edx mov edx,[ebp+08h] push ecx mov ecx,[ebp+18h] push edx mov edx,[ebp+14h] push ecx push edx push 00000001h push edi mov ecx,eax call SUB_L0043B070 jmp L0043A4CE L0043A4CC: xor eax,eax L0043A4CE: mov [esi],eax L0043A4D0: mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0014h ;------------------------------------------------------------------------------ L0043A4E3: mov eax,esi jmp L0043A44A Align 8 SUB_L0043A4F0: push ebp mov ebp,esp mov eax,fs:[00000000h] push FFFFFFFFh push L004B2C4B push eax mov fs:[00000000h],esp push ebx mov ebx,[ebp+20h] push esi push edi xor edi,edi test ebx,ebx jnz L0043A51C lea esi,[ecx+000000B8h] jmp L0043A571 L0043A51C: mov edi,[ecx+000000B8h] test edi,edi jz L0043A568 L0043A526: cmp [edi+0Ch],ebx jz L0043A56A mov esi,[edi+28h] test esi,esi jz L0043A55B L0043A532: cmp [esi+0Ch],ebx jz L0043A5DF mov eax,[esi+28h] test eax,eax jz L0043A54E push ebx mov ecx,esi call SUB_L0043B120 test eax,eax jnz L0043A564 L0043A54E: mov esi,[esi+2Ch] test esi,esi jnz L0043A532 xor eax,eax L0043A557: test eax,eax jnz L0043A564 L0043A55B: mov edi,[edi+2Ch] test edi,edi jnz L0043A526 jmp L0043A568 L0043A564: mov edi,eax jmp L0043A56A L0043A568: xor edi,edi L0043A56A: test edi,edi jz L0043A5CC lea esi,[edi+28h] L0043A571: mov eax,[esi] test eax,eax jz L0043A581 L0043A577: lea esi,[eax+2Ch] mov eax,[eax+2Ch] test eax,eax jnz L0043A577 L0043A581: push 00000048h call SUB_L0049A820 add esp,00000004h mov [ebp+20h],eax test eax,eax mov dword ptr [ebp-04h],00000000h jz L0043A5C8 mov ecx,[ebp+10h] mov edx,[ebp+18h] push 00000000h push 00000000h push 00000000h push 00000000h push 00000000h push ecx mov ecx,[ebp+14h] push edx mov edx,[ebp+0Ch] push ecx mov ecx,[ebp+08h] push edx mov edx,[ebp+1Ch] push ecx push ebx push edx push 00000003h push edi mov ecx,eax call SUB_L0043B070 jmp L0043A5CA L0043A5C8: xor eax,eax L0043A5CA: mov [esi],eax L0043A5CC: mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 001Ch ;------------------------------------------------------------------------------ L0043A5DF: mov eax,esi jmp L0043A557 Align 16 SUB_L0043A5F0: push ebp mov ebp,esp push FFFFFFFFh push L004B2C6B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000008h push ebx push esi push edi mov edi,[ebp+18h] test edi,edi mov dword ptr [ebp-10h],00000000h jnz L0043A624 lea esi,[ecx+000000B8h] jmp L0043A68B L0043A624: mov ebx,[ecx+000000B8h] test ebx,ebx jz L0043A676 L0043A62E: cmp [ebx+0Ch],edi jz L0043A66C mov esi,[ebx+28h] test esi,esi jz L0043A663 L0043A63A: cmp [esi+0Ch],edi jz L0043A71C mov eax,[esi+28h] test eax,eax jz L0043A656 push edi mov ecx,esi call SUB_L0043B120 test eax,eax jnz L0043A671 L0043A656: mov esi,[esi+2Ch] test esi,esi jnz L0043A63A xor eax,eax L0043A65F: test eax,eax jnz L0043A671 L0043A663: mov ebx,[ebx+2Ch] test ebx,ebx jnz L0043A62E jmp L0043A676 L0043A66C: mov [ebp-10h],ebx jmp L0043A67D L0043A671: mov [ebp-10h],eax jmp L0043A67D L0043A676: mov dword ptr [ebp-10h],00000000h L0043A67D: mov esi,[ebp-10h] test esi,esi jz L0043A709 add esi,00000028h L0043A68B: mov eax,[esi] test eax,eax jz L0043A69B L0043A691: lea esi,[eax+2Ch] mov eax,[eax+2Ch] test eax,eax jnz L0043A691 L0043A69B: mov eax,[ebp+10h] mov ecx,L006A9DB8 add eax,00004000h xor edi,edi push eax xor ebx,ebx call SUB_L004882D0 test eax,eax jz L0043A6BE mov di,[eax+04h] mov bx,[eax+06h] L0043A6BE: push 00000048h call SUB_L0049A820 add esp,00000004h mov [ebp-14h],eax test eax,eax mov dword ptr [ebp-04h],00000000h jz L0043A705 mov ecx,[ebp+10h] mov edx,[ebp+0Ch] push 00000000h push 00000000h push 00000000h push 00000000h push 00000000h push ecx mov ecx,[ebp+08h] push ebx push edi push edx mov edx,[ebp+18h] push ecx mov ecx,[ebp+14h] push edx mov edx,[ebp-10h] push ecx push 00000002h push edx mov ecx,eax call SUB_L0043B070 jmp L0043A707 L0043A705: xor eax,eax L0043A707: mov [esi],eax L0043A709: mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0014h ;------------------------------------------------------------------------------ L0043A71C: mov eax,esi jmp L0043A65F Align 16 SUB_L0043A730: push ebp mov ebp,esp push FFFFFFFFh push L004B2C8B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,0000000Ch push ebx mov ebx,[ebp+1Ch] push esi push edi xor edi,edi test ebx,ebx jnz L0043A75F lea esi,[ecx+000000B8h] jmp L0043A7B8 L0043A75F: mov edi,[ecx+000000B8h] test edi,edi jz L0043A7AB L0043A769: cmp [edi+0Ch],ebx jz L0043A7AD mov esi,[edi+28h] test esi,esi jz L0043A79E L0043A775: cmp [esi+0Ch],ebx jz L0043A858 mov eax,[esi+28h] test eax,eax jz L0043A791 push ebx mov ecx,esi call SUB_L0043B120 test eax,eax jnz L0043A7A7 L0043A791: mov esi,[esi+2Ch] test esi,esi jnz L0043A775 xor eax,eax L0043A79A: test eax,eax jnz L0043A7A7 L0043A79E: mov edi,[edi+2Ch] test edi,edi jnz L0043A769 jmp L0043A7AB L0043A7A7: mov edi,eax jmp L0043A7AD L0043A7AB: xor edi,edi L0043A7AD: test edi,edi jz L0043A845 lea esi,[edi+28h] L0043A7B8: mov eax,[esi] test eax,eax jz L0043A7C8 L0043A7BE: lea esi,[eax+2Ch] mov eax,[eax+2Ch] test eax,eax jnz L0043A7BE L0043A7C8: mov ebx,[ebp+14h] lea eax,[ebp-18h] lea ecx,[ebp-10h] push eax push ecx lea edx,[ebp-14h] mov ecx,ebx mov dword ptr [ebp-14h],00000000h mov dword ptr [ebp-10h],00000000h mov dword ptr [ebp-18h],00000000h call SUB_L00492DC0 push 00000048h call SUB_L0049A820 add esp,00000004h mov [ebp+14h],eax test eax,eax mov dword ptr [ebp-04h],00000000h jz L0043A841 mov edx,[ebp+10h] mov ecx,[ebp-10h] push 00000000h push 00000000h push 00000000h push ebx push 00000000h push edx mov edx,[ebp-14h] add ecx,00000002h add edx,00000002h push ecx mov ecx,[ebp+0Ch] push edx mov edx,[ebp+08h] push ecx mov ecx,[ebp+1Ch] push edx mov edx,[ebp+18h] push ecx push edx push 00000004h push edi mov ecx,eax call SUB_L0043B070 jmp L0043A843 L0043A841: xor eax,eax L0043A843: mov [esi],eax L0043A845: mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0018h ;------------------------------------------------------------------------------ L0043A858: mov eax,esi jmp L0043A79A Align 4 SUB_L0043A860: push ebp mov ebp,esp mov eax,fs:[00000000h] push FFFFFFFFh push L004B2CAB push eax mov fs:[00000000h],esp push ebx mov ebx,[ebp+28h] push esi push edi xor edi,edi test ebx,ebx jnz L0043A88C lea esi,[ecx+000000B8h] jmp L0043A8E1 L0043A88C: mov edi,[ecx+000000B8h] test edi,edi jz L0043A8D8 L0043A896: cmp [edi+0Ch],ebx jz L0043A8DA mov esi,[edi+28h] test esi,esi jz L0043A8CB L0043A8A2: cmp [esi+0Ch],ebx jz L0043A959 mov eax,[esi+28h] test eax,eax jz L0043A8BE push ebx mov ecx,esi call SUB_L0043B120 test eax,eax jnz L0043A8D4 L0043A8BE: mov esi,[esi+2Ch] test esi,esi jnz L0043A8A2 xor eax,eax L0043A8C7: test eax,eax jnz L0043A8D4 L0043A8CB: mov edi,[edi+2Ch] test edi,edi jnz L0043A896 jmp L0043A8D8 L0043A8D4: mov edi,eax jmp L0043A8DA L0043A8D8: xor edi,edi L0043A8DA: test edi,edi jz L0043A946 lea esi,[edi+28h] L0043A8E1: mov eax,[esi] test eax,eax jz L0043A8F1 L0043A8E7: lea esi,[eax+2Ch] mov eax,[eax+2Ch] test eax,eax jnz L0043A8E7 L0043A8F1: push 00000048h call SUB_L0049A820 add esp,00000004h mov [ebp+28h],eax test eax,eax mov dword ptr [ebp-04h],00000000h jz L0043A942 mov ecx,[ebp+20h] mov edx,[ebp+1Ch] push 00000000h push ecx mov ecx,[ebp+18h] push 00000000h push edx mov edx,[ebp+14h] push 00000000h push ecx mov ecx,[ebp+10h] add edx,00000002h add ecx,00000002h push edx mov edx,[ebp+0Ch] push ecx mov ecx,[ebp+08h] push edx mov edx,[ebp+24h] push ecx push ebx push edx push 00000008h push edi mov ecx,eax call SUB_L0043B070 jmp L0043A944 L0043A942: xor eax,eax L0043A944: mov [esi],eax L0043A946: mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0024h ;------------------------------------------------------------------------------ L0043A959: mov eax,esi jmp L0043A8C7 SUB_L0043A960: push ebp mov ebp,esp push FFFFFFFFh push L004B2CCB mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,0000000Ch push ebx push esi push edi mov edi,[ebp+28h] test edi,edi mov dword ptr [ebp-10h],00000000h jnz L0043A994 lea edi,[ecx+000000B8h] jmp L0043A9FB L0043A994: mov ebx,[ecx+000000B8h] test ebx,ebx jz L0043A9E6 L0043A99E: cmp [ebx+0Ch],edi jz L0043A9DC mov esi,[ebx+28h] test esi,esi jz L0043A9D3 L0043A9AA: cmp [esi+0Ch],edi jz L0043AA98 mov eax,[esi+28h] test eax,eax jz L0043A9C6 push edi mov ecx,esi call SUB_L0043B120 test eax,eax jnz L0043A9E1 L0043A9C6: mov esi,[esi+2Ch] test esi,esi jnz L0043A9AA xor eax,eax L0043A9CF: test eax,eax jnz L0043A9E1 L0043A9D3: mov ebx,[ebx+2Ch] test ebx,ebx jnz L0043A99E jmp L0043A9E6 L0043A9DC: mov [ebp-10h],ebx jmp L0043A9ED L0043A9E1: mov [ebp-10h],eax jmp L0043A9ED L0043A9E6: mov dword ptr [ebp-10h],00000000h L0043A9ED: mov edi,[ebp-10h] test edi,edi jz L0043AA85 add edi,00000028h L0043A9FB: mov eax,[edi] test eax,eax jz L0043AA0B L0043AA01: lea edi,[eax+2Ch] mov eax,[eax+2Ch] test eax,eax jnz L0043AA01 L0043AA0B: mov ebx,[ebp+10h] lea eax,[ebp-14h] push eax lea edx,[ebp-18h] mov ecx,ebx call SUB_L004390A0 mov esi,[ebp+1Ch] mov eax,[ebp+18h] neg esi sbb esi,esi xor ecx,ecx and esi,00000002h push 00000048h test eax,eax setnz cl or esi,ecx call SUB_L0049A820 add esp,00000004h mov [ebp+10h],eax test eax,eax mov dword ptr [ebp-04h],00000000h jz L0043AA81 mov edx,[ebp+1Ch] mov ecx,[ebp+20h] push edx mov edx,[ebp+14h] push ecx mov ecx,[ebp-14h] push esi push 00000000h push edx mov edx,[ebp-18h] push ebx push ecx mov ecx,[ebp+0Ch] push edx mov edx,[ebp+08h] push ecx mov ecx,[ebp+28h] push edx mov edx,[ebp+24h] push ecx mov ecx,[ebp-10h] push edx push 00000005h push ecx mov ecx,eax call SUB_L0043B070 jmp L0043AA83 L0043AA81: xor eax,eax L0043AA83: mov [edi],eax L0043AA85: mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0024h ;------------------------------------------------------------------------------ L0043AA98: mov eax,esi jmp L0043A9CF Align 4 SUB_L0043AAA0: push ebp mov ebp,esp push FFFFFFFFh push L004B2CEB mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000008h push ebx mov ebx,[ebp+24h] push esi push edi xor edi,edi test ebx,ebx jnz L0043AACF lea esi,[ecx+000000B8h] jmp L0043AB24 L0043AACF: mov edi,[ecx+000000B8h] test edi,edi jz L0043AB1B L0043AAD9: cmp [edi+0Ch],ebx jz L0043AB1D mov esi,[edi+28h] test esi,esi jz L0043AB0E L0043AAE5: cmp [esi+0Ch],ebx jz L0043ABA9 mov eax,[esi+28h] test eax,eax jz L0043AB01 push ebx mov ecx,esi call SUB_L0043B120 test eax,eax jnz L0043AB17 L0043AB01: mov esi,[esi+2Ch] test esi,esi jnz L0043AAE5 xor eax,eax L0043AB0A: test eax,eax jnz L0043AB17 L0043AB0E: mov edi,[edi+2Ch] test edi,edi jnz L0043AAD9 jmp L0043AB1B L0043AB17: mov edi,eax jmp L0043AB1D L0043AB1B: xor edi,edi L0043AB1D: test edi,edi jz L0043AB96 lea esi,[edi+28h] L0043AB24: mov eax,[esi] test eax,eax jz L0043AB34 L0043AB2A: lea esi,[eax+2Ch] mov eax,[eax+2Ch] test eax,eax jnz L0043AB2A L0043AB34: mov ebx,[ebp+10h] lea eax,[ebp-10h] push eax lea edx,[ebp-14h] mov ecx,ebx call SUB_L004390A0 push 00000048h call SUB_L0049A820 add esp,00000004h mov [ebp+10h],eax test eax,eax mov dword ptr [ebp-04h],00000000h jz L0043AB92 mov ecx,[ebp+18h] mov edx,[ebp+1Ch] push ecx mov ecx,[ebp+14h] push edx mov edx,[ebp-10h] push 00000000h push 00000000h push ecx mov ecx,[ebp-14h] push ebx push edx mov edx,[ebp+0Ch] push ecx mov ecx,[ebp+08h] push edx mov edx,[ebp+24h] push ecx mov ecx,[ebp+20h] push edx push ecx push 00000006h push edi mov ecx,eax call SUB_L0043B070 jmp L0043AB94 L0043AB92: xor eax,eax L0043AB94: mov [esi],eax L0043AB96: mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0020h ;------------------------------------------------------------------------------ L0043ABA9: mov eax,esi jmp L0043AB0A SUB_L0043ABB0: push ebp mov ebp,esp push FFFFFFFFh push L004B2D0B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000008h push ebx mov ebx,[ebp+24h] push esi push edi xor edi,edi test ebx,ebx jnz L0043ABDF lea esi,[ecx+000000B8h] jmp L0043AC34 L0043ABDF: mov edi,[ecx+000000B8h] test edi,edi jz L0043AC2B L0043ABE9: cmp [edi+0Ch],ebx jz L0043AC2D mov esi,[edi+28h] test esi,esi jz L0043AC1E L0043ABF5: cmp [esi+0Ch],ebx jz L0043ACB9 mov eax,[esi+28h] test eax,eax jz L0043AC11 push ebx mov ecx,esi call SUB_L0043B120 test eax,eax jnz L0043AC27 L0043AC11: mov esi,[esi+2Ch] test esi,esi jnz L0043ABF5 xor eax,eax L0043AC1A: test eax,eax jnz L0043AC27 L0043AC1E: mov edi,[edi+2Ch] test edi,edi jnz L0043ABE9 jmp L0043AC2B L0043AC27: mov edi,eax jmp L0043AC2D L0043AC2B: xor edi,edi L0043AC2D: test edi,edi jz L0043ACA6 lea esi,[edi+28h] L0043AC34: mov eax,[esi] test eax,eax jz L0043AC44 L0043AC3A: lea esi,[eax+2Ch] mov eax,[eax+2Ch] test eax,eax jnz L0043AC3A L0043AC44: mov ebx,[ebp+10h] lea eax,[ebp-10h] push eax lea edx,[ebp-14h] mov ecx,ebx call SUB_L004390A0 push 00000048h call SUB_L0049A820 add esp,00000004h mov [ebp+10h],eax test eax,eax mov dword ptr [ebp-04h],00000000h jz L0043ACA2 mov ecx,[ebp+18h] mov edx,[ebp+1Ch] push ecx mov ecx,[ebp+14h] push edx mov edx,[ebp-10h] push 00000000h push 00000000h push ecx mov ecx,[ebp-14h] push ebx push edx mov edx,[ebp+0Ch] push ecx mov ecx,[ebp+08h] push edx mov edx,[ebp+24h] push ecx mov ecx,[ebp+20h] push edx push ecx push 00000007h push edi mov ecx,eax call SUB_L0043B070 jmp L0043ACA4 L0043ACA2: xor eax,eax L0043ACA4: mov [esi],eax L0043ACA6: mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0020h ;------------------------------------------------------------------------------ L0043ACB9: mov eax,esi jmp L0043AC1A SUB_L0043ACC0: push esi mov esi,ecx push edi push SSZ004C6950_generic_frame mov eax,[esi+38h] mov ecx,[eax+04h] push ecx mov ecx,L00669C8C call SUB_L0044FBF0 mov eax,00000001h push SSZ004C6950_generic_frame push 00000006h mov ecx,L00669C8C mov [esi+20h],eax mov [esi+18h],eax mov [esi+1Ch],eax call SUB_L0044FBD0 mov edx,[esi+38h] mov [edx+04h],eax mov ecx,[esi+1Ch] imul ecx,[esi+20h] mov edx,[esi+38h] xor eax,eax shl ecx,1 mov edi,[edx+04h] mov edx,ecx add edi,00000004h shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+38h] mov dx,[esi+1Ch] mov ecx,[eax+04h] mov [ecx],dx mov eax,[esi+38h] mov dx,[esi+20h] mov ecx,[eax+04h] mov [ecx+02h],dx mov edi,[esi+000000B8h] test edi,edi jz L0043AD64 L0043AD46: mov eax,[edi+04h] test eax,eax jz L0043AD55 cmp eax,[esi+00000094h] jnz L0043AD5D L0043AD55: push esi mov ecx,edi call SUB_L0043B170 L0043AD5D: mov edi,[edi+2Ch] test edi,edi jnz L0043AD46 L0043AD64: pop edi pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L0043AD70: push ebp mov ebp,esp sub esp,00000008h push ebx push esi mov esi,ecx push edi mov ecx,[ebp+08h] mov eax,[esi+1Ch] mov [ebp+08h],ecx cmp ecx,eax jg L0043AD8B mov [ebp+08h],eax L0043AD8B: mov eax,[esi+20h] mov ecx,[ebp+0Ch] cmp ecx,eax mov [ebp+0Ch],ecx jg L0043AD9B mov [ebp+0Ch],eax L0043AD9B: mov edi,[ebp+0Ch] push SSZ004C6950_generic_frame imul edi,[ebp+08h] mov ecx,L00669C8C lea eax,[edi+edi+04h] push eax call SUB_L0044FBD0 lea ecx,[edi+edi] mov ebx,eax mov edx,ecx xor eax,eax lea edi,[ebx+04h] mov [ebp-08h],ebx shr ecx,02h rep stosd mov ecx,edx mov dword ptr [ebp-04h],00000000h and ecx,00000003h rep stosb mov ax,[ebp+08h] mov cx,[ebp+0Ch] mov [ebx],ax mov [ebx+02h],cx mov eax,[esi+20h] mov edi,00000002h test eax,eax mov edx,edi jle L0043AE38 L0043ADF5: mov eax,[esi+1Ch] xor ecx,ecx test eax,eax jle L0043AE20 lea eax,[ebx+edi*2] L0043AE01: mov ebx,[esi+38h] inc edi add eax,00000002h inc edx mov ebx,[ebx+04h] inc ecx mov bx,[ebx+edx*2-02h] mov [eax-02h],bx mov ebx,[esi+1Ch] cmp ecx,ebx jl L0043AE01 mov ebx,[ebp-08h] L0043AE20: mov eax,[ebp+08h] mov ecx,[esi+1Ch] sub eax,ecx mov ecx,[esi+20h] add edi,eax mov eax,[ebp-04h] inc eax cmp eax,ecx mov [ebp-04h],eax jl L0043ADF5 L0043AE38: mov ecx,[esi+38h] push SSZ004C6950_generic_frame mov edx,[ecx+04h] mov ecx,L00669C8C push edx call SUB_L0044FBF0 mov eax,[esi+38h] mov ecx,[ebp+0Ch] pop edi mov [eax+04h],ebx mov eax,[ebp+08h] mov [esi+18h],eax mov [esi+1Ch],eax mov [esi+20h],ecx pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 8 L0043AE70: push ebp mov ebp,esp push esi mov esi,ecx mov dword ptr [L006A9DD4],00000000h mov eax,[esi+000000ACh] test eax,eax jz L0043AE9D push 00000000h call SUB_L0043A110 test esi,esi jz L0043AE9D mov eax,[esi] push 00000001h mov ecx,esi call [eax] L0043AE9D: pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 L0043AEB0: push ebp mov ebp,esp push ecx push ebx push edi mov edi,ecx push 00000000h call SUB_L00441340 mov ebx,[edi+000000B8h] mov eax,[ebp+08h] mov ecx,[ebp+0Ch] mov edx,[edi+00000094h] test ebx,ebx mov dword ptr [edi+00000098h],00000001h mov [edi+0000009Ch],eax mov [edi+000000A0h],ecx mov [ebp-04h],edx jz L0043AF7E push esi L0043AEF3: mov eax,[ebx+04h] test eax,eax jz L0043AEFF cmp eax,[ebp-04h] jnz L0043AF72 L0043AEFF: mov eax,[ebp+0Ch] mov ecx,[ebp+08h] push eax push ecx mov ecx,ebx call SUB_L0043B610 mov esi,eax test esi,esi jz L0043AF72 mov eax,[esi+30h] cmp eax,00000005h jnz L0043AF32 mov dword ptr [esi+44h],00000001h mov ecx,edi mov [edi+000000BCh],esi call SUB_L0043ACC0 jmp L0043AF72 L0043AF32: cmp eax,00000006h jz L0043AF6C cmp eax,00000007h jz L0043AF6C cmp eax,00000008h jnz L0043AF72 mov ecx,L00669608 call SUB_L0043FDA0 push edi mov ecx,L00669608 call SUB_L0043FF10 mov dword ptr [esi+44h],00000001h mov ecx,edi mov [edi+000000C0h],esi call SUB_L0043ACC0 jmp L0043AF72 L0043AF6C: mov [edi+000000BCh],esi L0043AF72: mov ebx,[ebx+2Ch] test ebx,ebx jnz L0043AEF3 pop esi L0043AF7E: pop edi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 L0043AF90: push ebp mov ebp,esp push ecx push ebx push esi mov esi,ecx push edi mov edi,[esi+000000B8h] mov eax,[esi+00000094h] test edi,edi mov dword ptr [esi+00000098h],00000000h mov [ebp-04h],eax jz L0043AFF6 mov ebx,[ebp+0Ch] L0043AFB9: mov eax,[edi+04h] test eax,eax jz L0043AFC5 cmp eax,[ebp-04h] jnz L0043AFEF L0043AFC5: mov ecx,[esi+000000A0h] mov edx,[esi+0000009Ch] push ecx push edx mov ecx,edi call SUB_L0043B610 test eax,eax jz L0043AFEF mov ecx,[ebp+08h] push esi push ebx push ecx mov ecx,eax call SUB_L0043B6A0 test eax,eax jz L0043AFF6 L0043AFEF: mov edi,[edi+2Ch] test edi,edi jnz L0043AFB9 L0043AFF6: pop edi pop esi mov dword ptr [L006A9DD4],00000000h pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 8 L0043B010: mov edx,[ecx+000000A8h] xor eax,eax test edx,edx setnz al retn ;------------------------------------------------------------------------------ Align 4 L0043B020: push ebp mov ebp,esp mov eax,[ecx+000000A4h] test eax,eax jz L0043B062 mov eax,[ecx+00000098h] test eax,eax jz L0043B062 mov eax,[ecx+000000BCh] test eax,eax jnz L0043B062 mov eax,[ebp+0Ch] mov edx,[ecx+000000A0h] push 00000001h push 00000000h sub eax,edx mov edx,[ebp+08h] push 00000001h push eax sub edx,[ecx+0000009Ch] push edx call SUB_L00440850 L0043B062: pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L0043B070: push ebp mov ebp,esp mov edx,[ebp+14h] mov eax,[ebp+08h] push esi mov esi,ecx mov ecx,[ebp+10h] push edi mov [esi+04h],ecx mov ecx,[ebp+1Ch] mov [esi+0Ch],edx mov edx,[ebp+20h] mov edi,[ebp+30h] mov [esi],eax mov eax,[ebp+18h] mov [esi+14h],ecx mov ecx,[ebp+28h] mov [esi+18h],edx mov edx,[ebp+2Ch] mov [esi+10h],eax mov eax,[ebp+24h] mov [esi+20h],ecx mov ecx,[ebp+0Ch] mov [esi+24h],edx mov edx,[ebp+34h] mov [esi+1Ch],eax xor eax,eax mov [esi+30h],ecx mov ecx,[ebp+38h] mov [esi+38h],edx mov edx,[ebp+3Ch] cmp edi,eax mov dword ptr [esi+08h],00000001h mov [esi+28h],eax mov [esi+2Ch],eax mov [esi+34h],eax mov [esi+3Ch],ecx mov [esi+40h],edx mov [esi+44h],eax jz L0043B100 mov ecx,edi call SUB_L00491C00 lea eax,[eax+eax+02h] push eax call SUB_L0049A820 add esp,00000004h mov edx,edi mov ecx,eax mov [esi+34h],eax call SUB_L00491D10 L0043B100: mov eax,[esi+30h] cmp eax,00000006h jz L0043B10D cmp eax,00000007h jnz L0043B113 L0043B10D: mov ecx,[esi+40h] mov [esi+44h],ecx L0043B113: mov eax,esi pop edi pop esi pop ebp retn 0038h ;------------------------------------------------------------------------------ Align 8 SUB_L0043B120: push ebp mov ebp,esp push esi mov esi,[ecx+28h] test esi,esi push edi jz L0043B15E mov edi,[ebp+08h] L0043B12F: cmp [esi+0Ch],edi jz L0043B156 mov eax,[esi+28h] test eax,eax jz L0043B147 push edi mov ecx,esi call SUB_L0043B120 test eax,eax jnz L0043B160 L0043B147: mov esi,[esi+2Ch] test esi,esi jnz L0043B12F xor eax,eax pop edi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ L0043B156: mov eax,esi pop edi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ L0043B15E: xor eax,eax L0043B160: pop edi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L0043B170: push ebp mov ebp,esp sub esp,00000818h push ebx push esi mov esi,ecx push edi mov eax,[esi+30h] test eax,eax jz L0043B2BA mov eax,[esi+18h] mov ecx,[esi+10h] mov ebx,[ebp+08h] add eax,ecx cmp [ebx+1Ch],eax jl L0043B1A8 mov edx,[esi+1Ch] mov edi,[esi+14h] mov ecx,[ebx+20h] add edx,edi cmp ecx,edx jge L0043B1B9 L0043B1A8: mov ecx,[esi+1Ch] mov edi,[esi+14h] add ecx,edi push ecx push eax mov ecx,ebx call SUB_L0043AD70 L0043B1B9: mov eax,[esi+30h] dec eax cmp eax,00000007h ja L0043B2BD jmp [CASE_PROCTABLE_0043B5E8+eax*4] CASE_0043B5E8_PROC0000: mov eax,[esi+44h] test eax,eax jz L0043B1D9 mov edx,[esi+24h] jmp L0043B1DC L0043B1D9: mov edx,[esi+20h] L0043B1DC: mov eax,[ebx+20h] mov ecx,[ebx+1Ch] push eax mov eax,[ebx+38h] push ecx mov ecx,[eax+04h] mov eax,[esi+14h] add ecx,00000004h push ecx mov ecx,[esi+10h] push eax push ecx mov ecx,SUB_L00488700 call SUB_L00439100 jmp L0043B2BD CASE_0043B5E8_PROC0002: mov edx,[esi+1Ch] imul edx,[esi+18h] lea eax,[edx+edx+04h] push eax call SUB_L0049A820 mov cx,[esi+18h] lea ebx,[eax+04h] mov [eax],cx mov dx,[esi+1Ch] mov [eax+02h],dx mov ecx,[esi+1Ch] imul ecx,[esi+18h] shl ecx,1 mov edx,ecx mov [ebp-04h],eax xor eax,eax mov edi,ebx shr ecx,02h rep stosd mov ecx,edx mov edx,[ebp-04h] and ecx,00000003h add esp,00000004h rep stosb mov ecx,[esi+20h] push 00000001h call SUB_L0041C100 mov edx,[ebp+08h] mov eax,[esi+14h] mov edi,[esi+10h] imul eax,[edx+1Ch] mov ecx,[edx+38h] add eax,edi mov edi,ebx xor ebx,ebx mov ecx,[ecx+04h] lea eax,[ecx+eax*2+04h] mov ecx,[esi+1Ch] test ecx,ecx jle L0043B2AE L0043B27A: xor ecx,ecx cmp [esi+18h],ecx jle L0043B29D L0043B281: mov dx,[edi] test dx,dx jz L0043B28C mov [eax],dx L0043B28C: mov edx,[esi+18h] add eax,00000002h add edi,00000002h inc ecx cmp ecx,edx jl L0043B281 mov edx,[ebp+08h] L0043B29D: mov ecx,[edx+1Ch] sub ecx,[esi+18h] inc ebx lea eax,[eax+ecx*2] mov ecx,[esi+1Ch] cmp ebx,ecx jl L0043B27A L0043B2AE: mov edx,[ebp-04h] push edx call SUB_L0049A810 add esp,00000004h L0043B2BA: mov ebx,[ebp+08h] L0043B2BD: mov edi,[esi+28h] test edi,edi jz L0043B2DF L0043B2C4: mov eax,[edi+04h] test eax,eax jz L0043B2D0 cmp eax,[esi+08h] jnz L0043B2D8 L0043B2D0: push ebx mov ecx,edi call SUB_L0043B170 L0043B2D8: mov edi,[edi+2Ch] test edi,edi jnz L0043B2C4 L0043B2DF: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0043B5E8_PROC0001: mov eax,[esi+20h] mov ecx,L006A9DB8 add eax,00004000h push eax call SUB_L004882D0 mov ebx,eax test ebx,ebx jz L0043B2BA mov ecx,[esi+1Ch] imul ecx,[esi+18h] shl ecx,1 push ecx call SUB_L0049A820 mov ecx,[esi+1Ch] mov edi,eax imul ecx,[esi+18h] shl ecx,1 mov edx,ecx xor eax,eax shr ecx,02h mov [ebp-08h],edi add esp,00000004h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov edi,[ebp-08h] mov edx,[esi+18h] mov ecx,edi call SUB_L00488A00 push 00000000h push 00000000h mov edx,ebx mov ecx,SUB_L00488380 call SUB_L00488BB0 mov eax,[ebp+08h] mov ecx,[esi+14h] mov edx,[esi+10h] mov bl,[L0073EC3C] imul ecx,[eax+1Ch] add ecx,edx mov edx,[eax+38h] test bl,bl mov edx,[edx+04h] lea ecx,[edx+ecx*2+04h] mov edx,edi jz L0043B3E3 mov edi,[esi+1Ch] mov dword ptr [ebp-04h],00000000h test edi,edi jle L0043B424 L0043B385: mov ebx,[esi+18h] xor edi,edi test ebx,ebx jle L0043B3B9 L0043B38E: mov ax,[edx] test ax,ax jz L0043B3A8 mov ebx,eax and eax,0000001Fh and ebx,0000FFE0h shl ebx,1 or ebx,eax mov [ecx],bx L0043B3A8: mov eax,[esi+18h] add ecx,00000002h add edx,00000002h inc edi cmp edi,eax jl L0043B38E mov eax,[ebp+08h] L0043B3B9: mov edi,[eax+1Ch] mov ebx,[esi+18h] sub edi,ebx mov ebx,[esi+1Ch] lea ecx,[ecx+edi*2] mov edi,[ebp-04h] inc edi cmp edi,ebx mov [ebp-04h],edi jl L0043B385 mov ecx,[ebp-08h] push ecx call SUB_L0049A810 add esp,00000004h jmp L0043B2BA L0043B3E3: mov eax,[esi+1Ch] xor ebx,ebx test eax,eax jle L0043B424 L0043B3EC: mov edi,[esi+18h] xor eax,eax test edi,edi jle L0043B40E L0043B3F5: mov di,[edx] test di,di jz L0043B400 mov [ecx],di L0043B400: mov edi,[esi+18h] add ecx,00000002h add edx,00000002h inc eax cmp eax,edi jl L0043B3F5 L0043B40E: mov eax,[ebp+08h] mov edi,[esi+18h] mov eax,[eax+1Ch] sub eax,edi inc ebx lea ecx,[ecx+eax*2] mov eax,[esi+1Ch] cmp ebx,eax jl L0043B3EC L0043B424: mov ecx,[ebp-08h] push ecx call SUB_L0049A810 add esp,00000004h jmp L0043B2BA CASE_0043B5E8_PROC0003: mov ecx,[esi+18h] xor eax,eax mov [ebp-14h],eax mov [ebp-18h],eax mov eax,[esi+1Ch] mov [ebp-10h],ecx mov [ebp-0Ch],eax imul eax,ecx shl eax,1 push eax call SUB_L0049A820 mov ecx,[esi+1Ch] mov edi,eax imul ecx,[esi+18h] shl ecx,1 mov edx,ecx xor eax,eax shr ecx,02h mov [ebp-04h],edi add esp,00000004h rep stosd mov ecx,edx and ecx,00000003h rep stosb cmp dword ptr [esi+30h],00000008h jnz L0043B4C4 mov eax,[esi+44h] test eax,eax jz L0043B4C4 mov edx,[esi+34h] lea ecx,[ebp-00000818h] call SUB_L00491D10 mov edx,L004D0578 lea ecx,[ebp-00000818h] call SUB_L00491DC0 lea eax,[ebp-18h] push eax mov eax,[esi+20h] lea ecx,[eax+eax*4] lea edx,[eax+ecx*2] xor eax,eax lea ecx,[ebp-00000818h] mov ax,[L006C1A84+edx*8] push eax push 00000001h push 00000001h jmp L0043B4E3 L0043B4C4: mov eax,[esi+20h] lea edx,[ebp-18h] push edx lea ecx,[eax+eax*4] lea edx,[eax+ecx*2] mov ecx,[esi+34h] xor eax,eax mov ax,[L006C1A84+edx*8] push eax push 00000001h push 00000001h L0043B4E3: mov edx,[esi+18h] push ecx mov ecx,[ebp-04h] call SUB_L00492A20 mov edx,[esi+1Ch] mov edi,[ebp-04h] push 00000001h push edx mov edx,[esi+18h] mov ecx,edi call SUB_L00401B40 mov eax,[esi+14h] mov ecx,[esi+10h] imul eax,[ebx+1Ch] add eax,ecx mov ecx,[ebx+38h] mov edx,[ecx+04h] lea ecx,[edx+eax*2+04h] mov al,[L0073EC3C] test al,al mov edx,edi jz L0043B593 mov eax,[esi+1Ch] mov dword ptr [ebp-08h],00000000h test eax,eax jle L0043B5D7 L0043B535: mov eax,[esi+18h] xor edi,edi test eax,eax jle L0043B569 L0043B53E: mov ax,[edx] test ax,ax jz L0043B55B mov ebx,eax and eax,0000001Fh and ebx,0000FFE0h shl ebx,1 or ebx,eax mov [ecx],bx mov ebx,[ebp+08h] L0043B55B: mov eax,[esi+18h] add ecx,00000002h add edx,00000002h inc edi cmp edi,eax jl L0043B53E L0043B569: mov eax,[ebx+1Ch] mov edi,[esi+18h] sub eax,edi mov edi,[esi+1Ch] lea ecx,[ecx+eax*2] mov eax,[ebp-08h] inc eax cmp eax,edi mov [ebp-08h],eax jl L0043B535 mov ecx,[ebp-04h] push ecx call SUB_L0049A810 add esp,00000004h jmp L0043B2BD L0043B593: mov eax,[esi+1Ch] xor ebx,ebx test eax,eax jle L0043B5D4 L0043B59C: mov edi,[esi+18h] xor eax,eax test edi,edi jle L0043B5BE L0043B5A5: mov di,[edx] test di,di jz L0043B5B0 mov [ecx],di L0043B5B0: mov edi,[esi+18h] add ecx,00000002h add edx,00000002h inc eax cmp eax,edi jl L0043B5A5 L0043B5BE: mov eax,[ebp+08h] mov edi,[esi+18h] mov eax,[eax+1Ch] sub eax,edi inc ebx lea ecx,[ecx+eax*2] mov eax,[esi+1Ch] cmp ebx,eax jl L0043B59C L0043B5D4: mov ebx,[ebp+08h] L0043B5D7: mov ecx,[ebp-04h] push ecx call SUB_L0049A810 add esp,00000004h jmp L0043B2BD CASE_PROCTABLE_0043B5E8: dd CASE_0043B5E8_PROC0000 dd CASE_0043B5E8_PROC0001 dd CASE_0043B5E8_PROC0002 dd CASE_0043B5E8_PROC0003 dd CASE_0043B5E8_PROC0000 dd CASE_0043B5E8_PROC0000 dd CASE_0043B5E8_PROC0000 dd CASE_0043B5E8_PROC0003 Align 16 SUB_L0043B610: push ebp mov ebp,esp push ecx push ebx push esi mov ebx,[ebp+08h] push edi mov edi,ecx xor eax,eax mov [ebp-04h],eax mov esi,[edi+28h] test esi,esi jz L0043B651 L0043B628: mov eax,[esi+04h] test eax,eax jz L0043B634 cmp eax,[edi+08h] jnz L0043B647 L0043B634: mov eax,[ebp+0Ch] mov ecx,esi push eax push ebx call SUB_L0043B610 test eax,eax jz L0043B647 mov [ebp-04h],eax L0043B647: mov esi,[esi+2Ch] test esi,esi jnz L0043B628 mov eax,[ebp-04h] L0043B651: test eax,eax jnz L0043B68C mov eax,[edi+30h] test eax,eax jz L0043B68A mov ecx,[edi+10h] cmp ebx,ecx jl L0043B68A mov eax,[edi+14h] mov edx,[ebp+0Ch] cmp edx,eax jl L0043B68A mov esi,[edi+18h] add esi,ecx cmp ebx,esi jge L0043B68A mov ecx,[edi+1Ch] add ecx,eax cmp edx,ecx jge L0043B68A mov eax,edi pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L0043B68A: xor eax,eax L0043B68C: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L0043B6A0: push ebp mov ebp,esp push ebx push esi mov esi,[ebp+10h] push edi xor edi,edi mov [esi+000000BCh],edi mov eax,[ecx+30h] cmp eax,00000005h jnz L0043B74F mov eax,[ecx+10h] mov edx,[ebp+08h] cmp edx,eax jl L0043B739 mov ebx,[ecx+18h] add ebx,eax cmp edx,ebx jge L0043B739 mov eax,[ecx+14h] mov edx,[ebp+0Ch] cmp edx,eax jl L0043B739 mov ebx,[ecx+1Ch] add ebx,eax cmp edx,ebx jge L0043B739 mov eax,[ecx+38h] test al,01h jz L0043B70A mov eax,[ecx+3Ch] mov ecx,esi push eax call SUB_L0043A110 cmp esi,edi jz L0043B701 mov edx,[esi] push 00000001h mov ecx,esi call [edx] L0043B701: xor eax,eax pop edi pop esi pop ebx pop ebp retn 000Ch ;------------------------------------------------------------------------------ L0043B70A: test al,02h jz L0043B739 mov eax,[ecx] cmp eax,edi jz L0043B730 mov edx,[ecx+40h] mov [eax+08h],edx mov [ecx+44h],edi mov ecx,esi call SUB_L0043ACC0 mov eax,00000001h pop edi pop esi pop ebx pop ebp retn 000Ch ;------------------------------------------------------------------------------ L0043B730: mov eax,[ecx+40h] mov [esi+00000094h],eax L0043B739: mov [ecx+44h],edi mov ecx,esi call SUB_L0043ACC0 mov eax,00000001h pop edi pop esi pop ebx pop ebp retn 000Ch ;------------------------------------------------------------------------------ L0043B74F: cmp eax,00000006h jnz L0043B7AA mov eax,[ecx+10h] mov edx,[ebp+08h] cmp edx,eax jl L0043B814 mov ebx,[ecx+18h] add ebx,eax cmp edx,ebx jge L0043B814 mov eax,[ecx+14h] mov edx,[ebp+0Ch] cmp edx,eax jl L0043B814 mov ebx,[ecx+1Ch] add ebx,eax cmp edx,ebx jge L0043B814 mov eax,[ecx+44h] xor edx,edx cmp eax,edi setz dl mov [ecx+44h],edx mov ecx,esi call SUB_L0043ACC0 mov eax,00000001h pop edi pop esi pop ebx pop ebp retn 000Ch ;------------------------------------------------------------------------------ L0043B7AA: mov edi,00000007h cmp eax,edi jnz L0043B814 mov eax,[ecx+10h] mov edx,[ebp+08h] cmp edx,eax jl L0043B814 mov ebx,[ecx+18h] add ebx,eax cmp edx,ebx jge L0043B814 mov eax,[ecx+14h] mov edx,[ebp+0Ch] cmp edx,eax jl L0043B814 mov ebx,[ecx+1Ch] add ebx,eax cmp edx,ebx jge L0043B814 mov eax,[ecx+44h] xor edx,edx cmp eax,edx jnz L0043B80D mov eax,[ecx] cmp eax,edx jz L0043B7ED mov eax,[eax+28h] jmp L0043B7F3 L0043B7ED: mov eax,[esi+000000B8h] L0043B7F3: cmp eax,edx jz L0043B806 L0043B7F7: cmp [eax+30h],edi jnz L0043B7FF mov [eax+44h],edx L0043B7FF: mov eax,[eax+2Ch] cmp eax,edx jnz L0043B7F7 L0043B806: mov dword ptr [ecx+44h],00000001h L0043B80D: mov ecx,esi call SUB_L0043ACC0 L0043B814: pop edi pop esi mov eax,00000001h pop ebx pop ebp retn 000Ch ;------------------------------------------------------------------------------ SUB_L0043B820: push ebp mov ebp,esp push ebx push esi push edi mov edi,ecx mov ecx,[ebp+08h] cmp ecx,0000000Dh jg L0043B846 jz L0043B85F mov eax,ecx sub eax,00000008h jz L0043B8D9 dec eax jz L0043B8F9 jmp L0043B878 L0043B846: cmp ecx,0000E028h jg L0043B870 cmp ecx,0000E023h jge L0043B8F9 cmp ecx,0000001Bh jnz L0043B878 L0043B85F: mov ecx,L00669608 call SUB_L0043FDA0 pop edi pop esi pop ebx pop ebp retn 0008h ;------------------------------------------------------------------------------ L0043B870: cmp ecx,0000E02Eh jz L0043B8D9 L0043B878: call SUB_L00492940 test eax,eax jz L0043B8F9 mov ecx,[edi+34h] call SUB_L00491C00 mov ebx,eax cmp ebx,000000EFh jge L0043B8F9 lea eax,[ebx+ebx+04h] push eax call SUB_L0049A820 mov edx,[edi+34h] mov esi,eax add esp,00000004h mov ecx,esi call SUB_L00491D10 mov cx,[ebp+08h] mov [esi+ebx*2],cx mov word ptr [esi+ebx*2+02h],0000h mov edx,[edi+34h] push edx call SUB_L0049A810 mov ecx,[ebp+0Ch] add esp,00000004h mov [edi+34h],esi call SUB_L0043ACC0 pop edi pop esi pop ebx pop ebp retn 0008h ;------------------------------------------------------------------------------ L0043B8D9: mov ecx,[edi+34h] cmp word ptr [ecx],0000h jz L0043B8F9 call SUB_L00491C00 mov ecx,[edi+34h] mov word ptr [ecx+eax*2-02h],0000h mov ecx,[ebp+0Ch] call SUB_L0043ACC0 L0043B8F9: pop edi pop esi pop ebx pop ebp retn 0008h ;------------------------------------------------------------------------------ SUB_L0043B900: push ebx mov ebx,ecx push esi push edi mov esi,[ebx+28h] xor edi,edi test esi,esi jz L0043B91E L0043B90E: mov ecx,esi call SUB_L0043B900 mov esi,[esi+2Ch] add edi,eax test esi,esi jnz L0043B90E L0043B91E: mov eax,[ebx+30h] cmp eax,00000006h jz L0043B92B cmp eax,00000007h jnz L0043B933 L0043B92B: mov eax,[ebx+44h] test eax,eax jz L0043B933 inc edi L0043B933: mov eax,edi pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ Align 8 SUB_L0043B940: push ebp mov ebp,esp push ebx mov ebx,ecx push esi push edi mov esi,[ebx+28h] mov edi,[ebp+08h] test esi,esi jz L0043B961 L0043B952: push edi mov ecx,esi call SUB_L0043B940 mov esi,[esi+2Ch] test esi,esi jnz L0043B952 L0043B961: mov eax,[ebx+30h] cmp eax,00000006h jz L0043B96E cmp eax,00000007h jnz L0043B97F L0043B96E: mov eax,[ebx+44h] test eax,eax jz L0043B97F mov edx,[ebx+3Ch] mov ecx,edi call SUB_L004686B0 L0043B97F: pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L0043B990: push ebx mov ebx,ecx push esi push edi mov esi,[ebx+28h] xor edi,edi test esi,esi jz L0043B9AE L0043B99E: mov ecx,esi call SUB_L0043B990 mov esi,[esi+2Ch] add edi,eax test esi,esi jnz L0043B99E L0043B9AE: cmp dword ptr [ebx+30h],00000008h jnz L0043B9B5 inc edi L0043B9B5: mov eax,edi pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ Align 8 SUB_L0043B9C0: push ebp mov ebp,esp push ecx push ebx mov ebx,ecx push esi push edi mov esi,[ebx+28h] mov edi,[ebp+08h] test esi,esi mov [ebp-04h],ebx jz L0043B9E5 L0043B9D6: push edi mov ecx,esi call SUB_L0043B9C0 mov esi,[esi+2Ch] test esi,esi jnz L0043B9D6 L0043B9E5: cmp dword ptr [ebx+30h],00000008h jnz L0043BA34 mov dx,[ebx+3Ch] mov ecx,edi call SUB_L00468630 mov ecx,[ebx+34h] call SUB_L00491C00 cmp ax,00EFh mov ebx,000000EFh ja L0043BA0B mov ebx,eax L0043BA0B: mov edx,ebx mov ecx,edi call SUB_L00468630 xor esi,esi and ebx,0000FFFFh jle L0043BA34 L0043BA1E: mov eax,[ebp-04h] mov ecx,[eax+34h] mov dx,[ecx+esi*2] mov ecx,edi call SUB_L00468630 inc esi cmp esi,ebx jl L0043BA1E L0043BA34: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L0043BA40: push ebp mov ebp,esp mov eax,[ebp+0Ch] mov edx,[ebp+08h] mov ecx,[L004D073C] and eax,000000FFh shr eax,03h and edx,000000FFh shl eax,cl mov ecx,[L004D0738] shr edx,03h shl edx,cl mov ecx,[ebp+10h] and ecx,000000FFh shr ecx,03h or eax,edx or eax,ecx pop ebp retn 000Ch ;------------------------------------------------------------------------------ db 90h; '?' db 90h; '?' push ebp mov ebp,esp sub esp,00000008h push ebx push esi push edi mov edi,ecx push L004C40E0 push SSZ004C6A68_palette_mul mov ecx,L006BB1C8 mov dword ptr [edi],L004B9F6C call SUB_L00455E10 push eax call SUB_L0049A7F0 mov esi,eax add esp,00000008h test esi,esi jz L0043BAD4 push esi push 00000001h lea eax,[edi+00010014h] push 00000300h push eax call SUB_L0049A630 add esp,00000010h push esi call SUB_L0049A580 add esp,00000004h L0043BAD4: call [USER32.dll!GetDesktopWindow] push eax mov [ebp-08h],eax call [USER32.dll!GetDC] mov ebx,[GDI32.dll!GetDeviceCaps] mov esi,eax push 0000000Eh push esi call ebx mov edx,eax push 0000000Ch push esi mov [ebp-04h],edx call ebx mov ecx,[ebp-04h] imul ecx,eax cmp ecx,00000008h jnz L0043BB14 mov dword ptr [edi+00010314h],00000001h xor ebx,ebx jmp L0043BB1C L0043BB14: xor ebx,ebx mov [edi+00010314h],ebx L0043BB1C: mov edx,[ebp-08h] push esi push edx call [USER32.dll!ReleaseDC] mov eax,[edi+00010314h] mov [edi+0001031Ch],ebx cmp eax,ebx jz L0043BBBF push SSZ004C6A58_Logical_Palette push 00000404h mov ecx,L00669C8C call SUB_L0044FBD0 mov [edi+00010318h],eax mov word ptr [eax],0300h mov eax,[edi+00010318h] lea ecx,[edi+00010015h] mov word ptr [eax+02h],0100h xor eax,eax L0043BB6E: mov esi,[edi+00010318h] mov dl,[ecx-01h] add ecx,00000003h mov [esi+eax+04h],dl mov esi,[edi+00010318h] mov dl,[ecx-03h] mov [esi+eax+05h],dl mov esi,[edi+00010318h] mov dl,[ecx-02h] mov [esi+eax+06h],dl mov edx,[edi+00010318h] mov [edx+eax+07h],bl add eax,00000004h cmp eax,00000400h jl L0043BB6E mov eax,[edi+00010318h] push eax call [GDI32.dll!CreatePalette] mov [edi+0001031Ch],eax L0043BBBF: lea ecx,[edi+06h] mov [edi+04h],bx mov esi,00000001h mov [ebp-04h],ecx L0043BBCE: mov ebx,[L004D0738] mov eax,esi mov ecx,ebx sar eax,cl mov ecx,[L004D073C] mov edx,eax shl edx,05h add edx,eax lea edx,[eax+edx*2] mov eax,esi sar eax,cl and eax,0000001Fh lea ecx,[eax+eax*2] lea eax,[eax+ecx*4] shl eax,03h lea ecx,[eax+edx*8] mov eax,esi and eax,0000001Fh lea edx,[eax+eax*4] mov eax,51EB851Fh shl edx,05h add ecx,edx imul ecx sar edx,05h mov eax,edx mov ecx,ebx shr eax,1Fh add edx,eax sar edx,03h mov eax,edx mov ebx,edx shl eax,cl mov ecx,[L004D073C] shl ebx,cl or eax,ebx or eax,edx inc esi mov [ebp-08h],eax mov eax,[ebp-04h] mov ecx,[ebp-08h] mov [eax],cx add eax,00000002h cmp esi,00008000h mov [ebp-04h],eax jl L0043BBCE xor eax,eax mov [edi+00010008h],eax mov [edi+00010320h],eax call SUB_L0043C130 mov eax,edi pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 L0043BC70: push ebp mov ebp,esp push esi mov esi,ecx mov eax,[esi+0001031Ch] mov dword ptr [esi],L004B9F6C test eax,eax jz L0043BC97 push eax call [GDI32.dll!DeleteObject] mov dword ptr [esi+0001031Ch],00000000h L0043BC97: test byte ptr [ebp+08h],01h jz L0043BCA6 push esi call SUB_L0049A810 add esp,00000004h L0043BCA6: mov eax,esi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ db 90h; '?' db 90h; '?' db 90h; '?' push esi mov esi,ecx mov eax,[esi+0001031Ch] mov dword ptr [esi],L004B9F6C test eax,eax jz L0043BCD4 push eax call [GDI32.dll!DeleteObject] mov dword ptr [esi+0001031Ch],00000000h L0043BCD4: pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L0043BCE0: push ebp mov ebp,esp push esi mov esi,[ebp+0Ch] test esi,esi push edi jl L0043BDB0 cmp esi,00010000h jge L0043BDB0 mov eax,[L007B7DC4] mov edi,[ebp+14h] push edi lea ecx,[esi+eax] push ecx mov ecx,L005493E0 call SUB_L0048B8A0 cmp dword ptr [ebp+10h],FFFFFFFFh jnz L0043BD46 push 00000000h push 00000000h push edi push esi push 00000004h push 00000003h mov ecx,L006AA860 call SUB_L00446260 cmp esi,00004000h jge L0043BD99 push esi mov ecx,L006BB1A0 call SUB_L00435890 pop edi pop esi pop ebp retn 0010h ;------------------------------------------------------------------------------ L0043BD46: cmp esi,00004000h jge L0043BD78 mov edx,[ebp+08h] push 00000800h push edx push edi push esi push 00000004h push 00000003h mov ecx,L006AA860 call SUB_L00446260 push esi mov ecx,L006BB1A0 call SUB_L00435890 pop edi pop esi pop ebp retn 0010h ;------------------------------------------------------------------------------ L0043BD78: mov eax,[ebp+08h] xor ecx,ecx mov cx,[eax+06h] mov edx,[eax] lea ecx,[edx+ecx*2+08h] push ecx push eax push edi push esi push 00000004h push 00000003h mov ecx,L006AA860 call SUB_L00446260 L0043BD99: add esi,FFFFC000h mov ecx,L006BB1A0 push esi call SUB_L00435940 pop edi pop esi pop ebp retn 0010h ;------------------------------------------------------------------------------ L0043BDB0: push 00000000h mov edx,SSZ004C6AAC_damn_art_bug mov ecx,SSZ004C6A74_Tried_to_update_art_less_than_0_ call SUB_L0049A0A0 pop edi pop esi pop ebp retn 0010h ;------------------------------------------------------------------------------ Align 16 SUB_L0043BDD0: push ebp mov ebp,esp mov eax,[ebp+08h] mov ecx,L006A9DB8 and eax,00007FFFh push eax call SUB_L004882D0 test eax,eax jnz L0043BDF5 push eax mov ecx,L006A9DB8 call SUB_L004882D0 L0043BDF5: pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 8 SUB_L0043BE00: push ebp mov ebp,esp push FFFFFFFFh push L004B2D36 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx push 000000DCh call SUB_L0049A820 add esp,00000004h mov [ebp-10h],eax test eax,eax mov dword ptr [ebp-04h],00000000h jz L0043BE40 mov ecx,eax call SUB_L0044D480 jmp L0043BE42 L0043BE40: xor eax,eax L0043BE42: mov [esi+00010008h],eax mov ecx,L00669608 mov dword ptr [ebp-04h],FFFFFFFFh mov dword ptr [eax+68h],00000000h call SUB_L0043F2E0 push 0000009Ch call SUB_L0049A820 add esp,00000004h mov [ebp-10h],eax test eax,eax mov dword ptr [ebp-04h],00000001h jz L0043BE84 mov ecx,eax call SUB_L0041FD50 jmp L0043BE86 L0043BE84: xor eax,eax L0043BE86: push 00000001h push 00000000h mov ecx,eax mov dword ptr [ebp-04h],FFFFFFFFh mov [L0066964C],eax call SUB_L004415C0 mov ecx,[ebp-0Ch] pop esi mov fs:[00000000h],ecx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 SUB_L0043BEB0: push ebp mov ebp,esp push FFFFFFFFh push L004B2D56 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000014h mov eax,[L006BB1CC] test eax,eax jz L0043C074 mov eax,[L004DBFC8] push edi push esi push ebx test eax,eax jz L0043C039 mov edi,[L004C7F38] mov ebx,[L007B7E14] mov esi,[L0073EA70] imul edi,[L004C7F34] mov dword ptr [ebp-10h],000001E0h L0043BF08: lea eax,[esi+00000280h] cmp eax,edi jle L0043BF2C mov edx,edi lea ecx,[ebx+esi*2] sub edx,esi call SUB_L0043C090 mov edx,esi mov ecx,ebx sub edx,edi add edx,00000280h jmp L0043BF34 L0043BF2C: mov edx,00000280h lea ecx,[ebx+esi*2] L0043BF34: call SUB_L0043C090 add esi,[L004C7F34] cmp esi,edi jle L0043BF45 sub esi,edi L0043BF45: mov eax,[ebp-10h] dec eax mov [ebp-10h],eax jnz L0043BF08 mov eax,[L004DBFC8] or edi,FFFFFFFFh inc eax cmp eax,00000010h mov [L004DBFC8],eax jnz L0043BFBB push 000000E4h call SUB_L0049A820 add esp,00000004h mov [ebp-10h],eax xor esi,esi cmp eax,esi mov [ebp-04h],esi jz L0043BF90 push esi push esi push 00000003h push esi push SSZ004C6ABC_You_are_dead_ push esi mov ecx,eax call SUB_L004012C0 mov ecx,eax jmp L0043BF92 L0043BF90: xor ecx,ecx L0043BF92: mov eax,[ecx+1Ch] mov [ebp-04h],edi cdq sub eax,edx mov edx,00000140h sar eax,1 sub edx,eax mov eax,[ecx+20h] mov [ecx+2Ch],edx cdq sub eax,edx mov edx,000000F0h sar eax,1 sub edx,eax mov [ecx+30h],edx jmp L0043BFBD L0043BFBB: xor esi,esi L0043BFBD: cmp dword ptr [L004DBFC8],00000020h jl L0043C040 mov [L004DBFC8],esi call SUB_L0045A290 mov al,[L0073EC00] test al,al jnz L0043C014 push 00000094h call SUB_L0049A820 add esp,00000004h mov [ebp-10h],eax cmp eax,esi mov dword ptr [ebp-04h],00000001h jz L0043BFFE mov ecx,eax call SUB_L004445D0 jmp L0043C000 L0043BFFE: xor eax,eax L0043C000: push 00000001h push esi mov ecx,eax mov [ebp-04h],edi mov [L00669630],eax call SUB_L004415C0 jmp L0043C040 L0043C014: lea eax,[ebp-0Eh] push 00000002h push eax mov ecx,L006BB1C0 call SUB_L00474B20 mov ecx,[L006BB1CC] cmp ecx,esi jz L0043C040 lea edx,[ebp-0Eh] push edx call SUB_L0048B170 jmp L0043C040 L0043C039: call SUB_L00459F70 xor esi,esi L0043C040: mov ecx,[L004C7F38] mov eax,[L004C7F34] lea edx,[ebp-20h] mov [ebp-14h],ecx push 00000001h push edx mov ecx,L00669608 mov [ebp-20h],esi mov [ebp-18h],eax mov [ebp-1Ch],esi call SUB_L0043F650 mov ecx,L006BB1C8 call SUB_L004578D0 pop ebx pop esi pop edi L0043C074: mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L0043C090: mov al,[L0073EC3C] push esi test al,al push edi mov eax,edx jz L0043C0E4 dec edx test eax,eax jz L0043C127 lea edi,[edx+01h] L0043C0A9: xor edx,edx mov dx,[ecx] mov esi,edx mov eax,edx shr esi,06h shr eax,0Bh and esi,0000001Fh and edx,0000001Fh test eax,eax jz L0043C0C3 dec eax L0043C0C3: test esi,esi jz L0043C0C8 dec esi L0043C0C8: test edx,edx jz L0043C0CD dec edx L0043C0CD: shl eax,06h or eax,esi add ecx,00000002h shl eax,05h or eax,edx dec edi mov [ecx-02h],ax jnz L0043C0A9 pop edi pop esi retn ;------------------------------------------------------------------------------ L0043C0E4: dec edx test eax,eax jz L0043C127 lea edi,[edx+01h] L0043C0EC: xor edx,edx mov dx,[ecx] mov eax,edx mov esi,edx shr eax,0Ah shr esi,05h and eax,0000001Fh and esi,0000001Fh and edx,0000001Fh test eax,eax jz L0043C109 dec eax L0043C109: test esi,esi jz L0043C10E dec esi L0043C10E: test edx,edx jz L0043C113 dec edx L0043C113: shl eax,05h or eax,esi add ecx,00000002h shl eax,05h or eax,edx dec edi mov [ecx-02h],ax jnz L0043C0EC L0043C127: pop edi pop esi retn ;------------------------------------------------------------------------------ Align 8 SUB_L0043C130: push edi push L004C40E0 push SSZ004C6ACC_animinfo_mul mov ecx,L006BB1C8 call SUB_L00455E10 push eax call SUB_L0049A7F0 mov edi,eax add esp,00000008h test edi,edi jnz L0043C16D mov eax,L004DB7F1 mov cl,04h L0043C15B: mov [eax-01h],cl mov byte ptr [eax],02h add eax,00000002h cmp eax,L004DBFC1 jl L0043C15B pop edi retn ;------------------------------------------------------------------------------ L0043C16D: push esi mov esi,L004DB7F1 L0043C173: push edi push 00000001h lea eax,[esi-01h] push 00000001h push eax call SUB_L0049A630 add esp,00000010h push edi push 00000001h push 00000001h push esi call SUB_L0049A630 add esi,00000002h add esp,00000010h cmp esi,L004DBFC1 jl L0043C173 push edi call SUB_L0049A580 add esp,00000004h pop esi pop edi retn ;------------------------------------------------------------------------------ Align 8 SUB_L0043C1B0: push esi push edi mov edi,ecx mov ecx,[edi+7Ch] test ecx,ecx jz L0043C1F2 mov eax,[ecx] call [eax+24h] test eax,eax jz L0043C1F2 mov esi,[L00669620] test esi,esi jz L0043C235 L0043C1CE: mov edx,[esi] mov ecx,esi call [edx+0000008Ch] test eax,eax jz L0043C1E6 mov eax,[esi+34h] mov ecx,[edi+7Ch] cmp eax,ecx jz L0043C230 L0043C1E6: mov esi,[esi+3Ch] test esi,esi jnz L0043C1CE xor eax,eax pop edi pop esi retn ;------------------------------------------------------------------------------ L0043C1F2: mov ecx,[edi+7Ch] test ecx,ecx jz L0043C235 mov edx,[ecx] call [edx+30h] test eax,eax jz L0043C235 mov esi,[L00669620] test esi,esi jz L0043C235 L0043C20C: mov eax,[esi] mov ecx,esi call [eax+000000ACh] test eax,eax jz L0043C224 mov ecx,[esi+34h] mov eax,[edi+7Ch] cmp ecx,eax jz L0043C230 L0043C224: mov esi,[esi+3Ch] test esi,esi jnz L0043C20C xor eax,eax pop edi pop esi retn ;------------------------------------------------------------------------------ L0043C230: mov eax,esi pop edi pop esi retn ;------------------------------------------------------------------------------ L0043C235: pop edi xor eax,eax pop esi retn ;------------------------------------------------------------------------------ db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' push ebx push esi mov esi,ecx push 00096000h mov dword ptr [esi],L004B9F70 call SUB_L0049A820 mov [L004F3FE8],eax mov eax,00000010h mov [esi+00000658h],eax mov [esi+00000654h],eax mov eax,00000001h xor ebx,ebx mov [esi+74h],eax mov [esi+78h],ebx mov [esi+7Ch],ebx mov [esi+00000080h],eax mov [esi+20h],ebx add esp,00000004h mov [esi+30h],ebx mov [esi+34h],ebx mov [esi+1Ch],ebx mov [esi+18h],ebx mov [esi+04h],ebx mov [esi+10h],ebx mov [esi+14h],ebx mov [esi+00000608h],ebx mov [esi+00000604h],ebx mov [esi+28h],ebx mov [esi+24h],ebx mov [esi+3Ch],ebx mov [esi+48h],ebx mov [esi+58h],ebx mov [esi+5Ch],ebx mov [esi+60h],ebx mov [esi+64h],ebx mov [esi+68h],ebx mov [esi+54h],ebx mov [esi+6Ch],ebx mov [esi+70h],ebx call SUB_L00484AC0 mov [esi+00000650h],ebx mov [esi+00000632h],bl mov [esi+00000634h],bx mov [esi+00000636h],bx mov [esi+00000638h],bx mov [esi+0000063Eh],bx mov [esi+00000640h],bx mov [esi+00000642h],bx mov [esi+00000644h],bx mov [esi+00000648h],ebx mov [esi+0000064Ch],bx mov [esi+0000064Eh],bx mov eax,esi pop esi pop ebx retn ;------------------------------------------------------------------------------ Align 16 L0043C330: push ebp mov ebp,esp push esi mov esi,ecx mov ecx,[esi+18h] mov dword ptr [esi],L004B9F70 test ecx,ecx jz L0043C350 L0043C343: mov eax,[ecx] push 00000001h call [eax] mov ecx,[esi+18h] test ecx,ecx jnz L0043C343 L0043C350: mov ecx,[esi+10h] mov dword ptr [esi+04h],00000000h test ecx,ecx jz L0043C364 mov edx,[ecx] push 00000001h call [edx] L0043C364: mov dword ptr [esi+10h],00000000h mov dword ptr [esi+14h],00000000h mov eax,[L004F3FF0] test eax,eax jz L0043C382 push eax call [GDI32.dll!DeleteDC] L0043C382: call SUB_L00495230 mov eax,[L004F3FE8] test eax,eax jz L0043C399 push eax call SUB_L0049A810 add esp,00000004h L0043C399: test byte ptr [ebp+08h],01h jz L0043C3A8 push esi call SUB_L0049A810 add esp,00000004h L0043C3A8: mov eax,esi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ db 90h; '?' push esi mov esi,ecx mov ecx,[esi+18h] mov dword ptr [esi],L004B9F70 test ecx,ecx jz L0043C3CD L0043C3C0: mov eax,[ecx] push 00000001h call [eax] mov ecx,[esi+18h] test ecx,ecx jnz L0043C3C0 L0043C3CD: mov ecx,[esi+10h] mov dword ptr [esi+04h],00000000h test ecx,ecx jz L0043C3E1 mov edx,[ecx] push 00000001h call [edx] L0043C3E1: mov dword ptr [esi+10h],00000000h mov dword ptr [esi+14h],00000000h mov eax,[L004F3FF0] test eax,eax jz L0043C3FF push eax call [GDI32.dll!DeleteDC] L0043C3FF: call SUB_L00495230 mov eax,[L004F3FE8] test eax,eax jz L0043C416 push eax call SUB_L0049A810 add esp,00000004h L0043C416: pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L0043C420: push ebp mov ebp,esp push FFFFFFFFh push L004B2DDD mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000010h push ebx push esi push edi mov eax,[ebp+08h] mov dword ptr [ebp-04h],00000001h and eax,000000FFh cmp eax,00000003h ja L0043CCDE jmp [CASE_PROCTABLE_0043CCF4+eax*4] CASE_0043CCF4_PROC0000: mov ebx,[ebp+0Ch] mov esi,[ebp+10h] test ebx,ebx jnz L0043C5EC test esi,esi jnz L0043C746 mov eax,[L0073EC60] test eax,eax jz L0043C56F push 00000011h call SUB_L0049A820 mov edx,[ebp+18h] mov edi,eax mov ax,[ebp+14h] add esp,00000004h mov [edi],ax lea eax,[edi+02h] mov ecx,eax add eax,00000006h push 0000000Ch mov [ecx],edx mov dx,[ebp+1Ch] mov [ecx+04h],dx mov edx,[ebp+20h] mov ecx,eax add eax,00000006h inc eax mov [ecx],edx mov dx,[ebp+24h] mov [ecx+04h],dx mov cl,[ebp+28h] mov dl,[ebp+38h] mov [eax-01h],cl mov cl,[ebp+3Ch] mov [eax],dl mov [eax+01h],cl mov ebx,[L0073EC54] call SUB_L0049A820 add esp,00000004h mov esi,eax push 00000011h mov dword ptr [esi],00000003h call SUB_L0049A820 mov edx,edi mov [esi+04h],eax add esp,00000004h mov ecx,[edx] mov [eax],ecx mov ecx,[edx+04h] mov [eax+04h],ecx mov ecx,[edx+08h] mov [eax+08h],ecx mov ecx,[edx+0Ch] mov [eax+0Ch],ecx mov dl,[edx+10h] mov [eax+10h],dl mov dword ptr [esi+08h],00000000h mov ecx,[ebx+04h] test ecx,ecx jnz L0043C53C push edi mov [ebx+04h],esi call SUB_L0049A810 add esp,00000004h mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0038h ;------------------------------------------------------------------------------ L0043C53C: mov eax,[ecx+08h] test eax,eax jz L0043CC71 L0043C547: mov ecx,eax mov eax,[ecx+08h] test eax,eax jnz L0043C547 push edi mov [ecx+08h],esi call SUB_L0049A810 add esp,00000004h mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0038h ;------------------------------------------------------------------------------ L0043C56F: mov esi,[ebp+20h] mov di,[ebp+24h] mov ebx,[ebp+18h] mov ax,[ebp+1Ch] mov [ebp-14h],esi mov [ebp-10h],di mov [ebp-1Ch],ebx mov [ebp-18h],ax push 00000108h mov byte ptr [ebp-04h],03h call SUB_L0049A820 add esp,00000004h mov [ebp+0Ch],eax test eax,eax mov byte ptr [ebp-04h],04h jz L0043C5E1 mov ecx,[ebp+3Ch] mov edx,[ebp+38h] push ecx mov ecx,[ebp+28h] push edx mov edx,[ebp+14h] push ecx push edx sub esp,00000008h mov ecx,esp sub esp,00000008h mov edx,esp mov [ecx],esi mov [ecx+04h],di mov cx,[ebp+1Ch] mov [edx],ebx mov [edx+04h],cx mov ecx,eax call SUB_L0043D3F0 mov byte ptr [ebp-04h],03h jmp L0043CCD3 L0043C5E1: xor eax,eax mov byte ptr [ebp-04h],03h jmp L0043CCD3 L0043C5EC: test esi,esi jnz L0043C746 mov eax,[L0073EC60] test eax,eax jz L0043C6E5 push 0000000Fh call SUB_L0049A820 mov dx,[ebp+14h] mov edi,eax add esp,00000004h lea eax,[edi+02h] mov [edi],dx mov edx,[ebp+20h] push 0000000Ch mov [eax],ebx add eax,00000004h mov ecx,eax add eax,00000006h inc eax mov [ecx],edx mov dx,[ebp+24h] mov [ecx+04h],dx mov cl,[ebp+28h] mov dl,[ebp+38h] mov [eax-01h],cl mov cl,[ebp+3Ch] mov [eax],dl mov [eax+01h],cl mov ebx,[L0073EC54] call SUB_L0049A820 add esp,00000004h mov esi,eax push 0000000Fh mov dword ptr [esi],00000005h call SUB_L0049A820 mov edx,edi mov [esi+04h],eax add esp,00000004h mov ecx,[edx] mov [eax],ecx mov ecx,[edx+04h] mov [eax+04h],ecx mov ecx,[edx+08h] mov [eax+08h],ecx mov cx,[edx+0Ch] mov [eax+0Ch],cx mov dl,[edx+0Eh] mov [eax+0Eh],dl mov dword ptr [esi+08h],00000000h mov ecx,[ebx+04h] test ecx,ecx jnz L0043C6B2 push edi mov [ebx+04h],esi call SUB_L0049A810 add esp,00000004h mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0038h ;------------------------------------------------------------------------------ L0043C6B2: mov eax,[ecx+08h] test eax,eax jz L0043CC71 L0043C6BD: mov ecx,eax mov eax,[ecx+08h] test eax,eax jnz L0043C6BD push edi mov [ecx+08h],esi call SUB_L0049A810 add esp,00000004h mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0038h ;------------------------------------------------------------------------------ L0043C6E5: mov esi,[ebp+20h] mov di,[ebp+24h] mov [ebp-1Ch],esi mov [ebp-18h],di push 00000108h mov byte ptr [ebp-04h],05h call SUB_L0049A820 add esp,00000004h mov [ebp+0Ch],eax test eax,eax mov byte ptr [ebp-04h],06h jz L0043C73B mov ecx,[ebp+3Ch] mov edx,[ebp+38h] push ecx mov ecx,[ebp+28h] push edx mov edx,[ebp+14h] push ecx push edx sub esp,00000008h mov ecx,esp push ebx mov [ecx],esi mov [ecx+04h],di mov ecx,eax call SUB_L0043DBF0 mov byte ptr [ebp-04h],05h jmp L0043CCD3 L0043C73B: xor eax,eax mov byte ptr [ebp-04h],05h jmp L0043CCD3 L0043C746: mov eax,[L0073EC60] test ebx,ebx jnz L0043C8A0 test eax,eax jz L0043C83F push 0000000Fh call SUB_L0049A820 mov dx,[ebp+14h] mov edi,eax add esp,00000004h lea eax,[edi+02h] mov [edi],dx mov edx,[ebp+18h] mov ecx,eax add eax,00000006h push 0000000Ch mov [ecx],edx mov dx,[ebp+1Ch] add eax,00000004h mov [ecx+04h],dx mov cl,[ebp+28h] mov dl,[ebp+38h] mov [eax-04h],esi mov [eax],cl mov cl,[ebp+3Ch] inc eax mov [eax],dl mov [eax+01h],cl mov ebx,[L0073EC54] call SUB_L0049A820 add esp,00000004h mov esi,eax push 0000000Fh mov dword ptr [esi],00000004h call SUB_L0049A820 mov edx,edi mov [esi+04h],eax add esp,00000004h mov ecx,[edx] mov [eax],ecx mov ecx,[edx+04h] mov [eax+04h],ecx mov ecx,[edx+08h] mov [eax+08h],ecx mov cx,[edx+0Ch] mov [eax+0Ch],cx mov dl,[edx+0Eh] mov [eax+0Eh],dl mov dword ptr [esi+08h],00000000h mov ecx,[ebx+04h] test ecx,ecx jnz L0043C80C push edi mov [ebx+04h],esi call SUB_L0049A810 add esp,00000004h mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0038h ;------------------------------------------------------------------------------ L0043C80C: mov eax,[ecx+08h] test eax,eax jz L0043CC71 L0043C817: mov ecx,eax mov eax,[ecx+08h] test eax,eax jnz L0043C817 push edi mov [ecx+08h],esi call SUB_L0049A810 add esp,00000004h mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0038h ;------------------------------------------------------------------------------ L0043C83F: mov edi,[ebp+18h] mov bx,[ebp+1Ch] mov [ebp-1Ch],edi mov [ebp-18h],bx push 00000108h mov byte ptr [ebp-04h],07h call SUB_L0049A820 add esp,00000004h mov [ebp+0Ch],eax test eax,eax mov byte ptr [ebp-04h],08h jz L0043C895 mov ecx,[ebp+3Ch] mov edx,[ebp+38h] push ecx mov ecx,[ebp+28h] push edx mov edx,[ebp+14h] push ecx push edx push esi sub esp,00000008h mov ecx,esp mov [ecx],edi mov [ecx+04h],bx mov ecx,eax call SUB_L0043D7D0 mov byte ptr [ebp-04h],07h jmp L0043CCD3 L0043C895: xor eax,eax mov byte ptr [ebp-04h],07h jmp L0043CCD3 L0043C8A0: test eax,eax jz L0043C976 push 0000000Dh call SUB_L0049A820 mov dx,[ebp+14h] mov edi,eax mov cl,[ebp+28h] add esp,00000004h lea eax,[edi+02h] mov [edi],dx mov dl,[ebp+38h] push 0000000Ch mov [eax],ebx add eax,00000004h mov [eax],esi add eax,00000004h mov [eax],cl mov cl,[ebp+3Ch] inc eax mov [eax],dl mov [eax+01h],cl mov ebx,[L0073EC54] call SUB_L0049A820 add esp,00000004h mov esi,eax push 0000000Dh mov dword ptr [esi],00000006h call SUB_L0049A820 mov edx,edi mov [esi+04h],eax add esp,00000004h mov ecx,[edx] mov [eax],ecx mov ecx,[edx+04h] mov [eax+04h],ecx mov ecx,[edx+08h] mov [eax+08h],ecx mov dl,[edx+0Ch] mov [eax+0Ch],dl mov dword ptr [esi+08h],00000000h mov ecx,[ebx+04h] test ecx,ecx jnz L0043C943 push edi mov [ebx+04h],esi call SUB_L0049A810 add esp,00000004h mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0038h ;------------------------------------------------------------------------------ L0043C943: mov eax,[ecx+08h] test eax,eax jz L0043CC71 L0043C94E: mov ecx,eax mov eax,[ecx+08h] test eax,eax jnz L0043C94E push edi mov [ecx+08h],esi call SUB_L0049A810 add esp,00000004h mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0038h ;------------------------------------------------------------------------------ L0043C976: push 00000108h call SUB_L0049A820 add esp,00000004h mov [ebp+0Ch],eax test eax,eax mov byte ptr [ebp-04h],09h jz L0043CCCD mov ecx,[ebp+3Ch] mov edx,[ebp+38h] push ecx mov ecx,[ebp+28h] push edx mov edx,[ebp+14h] push ecx push edx push esi push ebx mov ecx,eax call SUB_L0043DF90 jmp L0043CCCF CASE_0043CCF4_PROC0001: mov eax,[L0073EC60] test eax,eax jz L0043CA53 push 00000004h call SUB_L0049A820 add esp,00000004h mov ebx,eax mov eax,[ebp+0Ch] mov [ebx],eax mov edi,[L0073EC54] push 0000000Ch call SUB_L0049A820 add esp,00000004h mov esi,eax push 00000004h mov dword ptr [esi],00000002h call SUB_L0049A820 mov [esi+04h],eax mov ecx,[ebx] mov [eax],ecx mov dword ptr [esi+08h],00000000h mov ecx,[edi+04h] add esp,00000004h test ecx,ecx jnz L0043CA24 push ebx mov [edi+04h],esi call SUB_L0049A810 add esp,00000004h mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0038h ;------------------------------------------------------------------------------ L0043CA24: mov eax,[ecx+08h] test eax,eax jz L0043CA34 L0043CA2B: mov ecx,eax mov eax,[ecx+08h] test eax,eax jnz L0043CA2B L0043CA34: push ebx mov [ecx+08h],esi call SUB_L0049A810 add esp,00000004h mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0038h ;------------------------------------------------------------------------------ L0043CA53: mov esi,[ebp+0Ch] test esi,esi jz L0043CCDE push 00000108h call SUB_L0049A820 add esp,00000004h mov [ebp+28h],eax test eax,eax mov byte ptr [ebp-04h],0Ah jz L0043CCCD push esi mov ecx,eax call SUB_L0043E790 jmp L0043CCCF CASE_0043CCF4_PROC0002: mov eax,[L0073EC60] test eax,eax jz L0043CB6B push 0000000Ch call SUB_L0049A820 mov cx,[ebp+1Ch] mov edi,eax mov eax,[ebp+18h] mov edx,edi add esp,00000004h mov [edx],eax lea eax,[edi+06h] add eax,00000002h push 0000000Ch mov [edx+04h],cx mov dx,[ebp+14h] mov cl,[ebp+28h] mov [eax-02h],dx mov dl,[ebp+2Ch] mov [eax],cl mov cl,[ebp+30h] inc eax mov [eax],dl mov dl,[ebp+34h] inc eax mov [eax],cl mov [eax+01h],dl mov ebx,[L0073EC54] call SUB_L0049A820 add esp,00000004h mov esi,eax push 0000000Ch mov dword ptr [esi],00000000h call SUB_L0049A820 mov ecx,edi mov [esi+04h],eax add esp,00000004h mov edx,[ecx] mov [eax],edx mov edx,[ecx+04h] mov [eax+04h],edx mov ecx,[ecx+08h] mov [eax+08h],ecx mov dword ptr [esi+08h],00000000h mov ecx,[ebx+04h] test ecx,ecx jnz L0043CB38 push edi mov [ebx+04h],esi call SUB_L0049A810 add esp,00000004h mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0038h ;------------------------------------------------------------------------------ L0043CB38: mov eax,[ecx+08h] test eax,eax jz L0043CC71 L0043CB43: mov ecx,eax mov eax,[ecx+08h] test eax,eax jnz L0043CB43 push edi mov [ecx+08h],esi call SUB_L0049A810 add esp,00000004h mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0038h ;------------------------------------------------------------------------------ L0043CB6B: push 00000108h call SUB_L0049A820 add esp,00000004h mov [ebp+3Ch],eax test eax,eax mov byte ptr [ebp-04h],0Bh jz L0043CCCD mov edx,[ebp+34h] mov ecx,[ebp+30h] push edx mov edx,[ebp+2Ch] push ecx mov ecx,[ebp+28h] push edx mov edx,[ebp+14h] push ecx push edx mov edx,[ebp+18h] sub esp,00000008h mov ecx,esp mov [ecx],edx mov dx,[ebp+1Ch] mov [ecx+04h],dx mov ecx,eax call SUB_L0043E3C0 jmp L0043CCCF CASE_0043CCF4_PROC0003: mov eax,[L0073EC60] test eax,eax jz L0043CC90 push 0000000Ah call SUB_L0049A820 mov cx,[ebp+14h] mov edi,eax mov eax,[ebp+0Ch] mov dl,[ebp+28h] mov [edi],eax lea eax,[edi+04h] add esp,00000004h mov [eax],cx mov cl,[ebp+2Ch] add eax,00000002h push 0000000Ch mov [eax],dl mov dl,[ebp+30h] inc eax mov [eax],cl mov cl,[ebp+34h] inc eax mov [eax],dl mov [eax+01h],cl mov ebx,[L0073EC54] call SUB_L0049A820 add esp,00000004h mov esi,eax push 0000000Ah mov dword ptr [esi],00000001h call SUB_L0049A820 mov edx,edi mov [esi+04h],eax add esp,00000004h mov ecx,[edx] mov [eax],ecx mov ecx,[edx+04h] mov [eax+04h],ecx mov dx,[edx+08h] mov [eax+08h],dx mov dword ptr [esi+08h],00000000h mov ecx,[ebx+04h] test ecx,ecx jnz L0043CC61 push edi mov [ebx+04h],esi call SUB_L0049A810 add esp,00000004h mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0038h ;------------------------------------------------------------------------------ L0043CC61: mov eax,[ecx+08h] test eax,eax jz L0043CC71 L0043CC68: mov ecx,eax mov eax,[ecx+08h] test eax,eax jnz L0043CC68 L0043CC71: push edi mov [ecx+08h],esi call SUB_L0049A810 add esp,00000004h mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0038h ;------------------------------------------------------------------------------ L0043CC90: mov esi,[ebp+0Ch] test esi,esi jz L0043CCDE push 00000108h call SUB_L0049A820 add esp,00000004h mov [ebp+3Ch],eax test eax,eax mov byte ptr [ebp-04h],0Ch jz L0043CCCD mov ecx,[ebp+34h] mov edx,[ebp+30h] push ecx mov ecx,[ebp+2Ch] push edx mov edx,[ebp+28h] push ecx mov ecx,[ebp+14h] push edx push ecx push esi mov ecx,eax call SUB_L0043E600 jmp L0043CCCF L0043CCCD: xor eax,eax L0043CCCF: mov byte ptr [ebp-04h],01h L0043CCD3: push 00000001h push 00000000h mov ecx,eax call SUB_L004415C0 L0043CCDE: mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0038h ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_0043CCF4: dd CASE_0043CCF4_PROC0000 dd CASE_0043CCF4_PROC0001 dd CASE_0043CCF4_PROC0002 dd CASE_0043CCF4_PROC0003 Align 16 SUB_L0043CD10: push ebp mov ebp,esp push FFFFFFFFh push L004B2E0B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi push 00000108h mov dword ptr [ebp-04h],00000001h call SUB_L0049A820 add esp,00000004h mov [ebp-10h],eax test eax,eax mov byte ptr [ebp-04h],02h jz L0043CD88 mov ecx,[ebp+24h] mov edx,[ebp+20h] push ecx mov ecx,[ebp+1Ch] push edx mov edx,[ebp+08h] push ecx push edx mov edx,[ebp+14h] sub esp,00000008h mov ecx,esp sub esp,00000008h mov [ecx],edx mov dx,[ebp+18h] mov [ecx+04h],dx mov edx,[ebp+0Ch] mov ecx,esp mov [ecx],edx mov dx,[ebp+10h] mov [ecx+04h],dx mov ecx,eax call SUB_L0043D3F0 mov esi,eax jmp L0043CD8A L0043CD88: xor esi,esi L0043CD8A: push 00000001h push 00000000h mov ecx,esi mov byte ptr [ebp-04h],01h call SUB_L004415C0 mov ecx,[ebp-0Ch] mov eax,esi mov fs:[00000000h],ecx pop esi mov esp,ebp pop ebp retn 0020h ;------------------------------------------------------------------------------ Align 8 SUB_L0043CDB0: push ebp mov ebp,esp push FFFFFFFFh push L004B2E33 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi push 00000108h mov dword ptr [ebp-04h],00000000h call SUB_L0049A820 add esp,00000004h mov [ebp-10h],eax test eax,eax mov byte ptr [ebp-04h],01h jz L0043CE1A mov ecx,[ebp+20h] mov edx,[ebp+1Ch] push ecx mov ecx,[ebp+18h] push edx mov edx,[ebp+08h] push ecx mov ecx,[ebp+14h] push edx push ecx mov ecx,[ebp+0Ch] sub esp,00000008h mov edx,esp mov [edx],ecx mov cx,[ebp+10h] mov [edx+04h],cx mov ecx,eax call SUB_L0043D7D0 mov esi,eax jmp L0043CE1C L0043CE1A: xor esi,esi L0043CE1C: push 00000001h push 00000000h mov ecx,esi mov byte ptr [ebp-04h],00h call SUB_L004415C0 mov ecx,[ebp-0Ch] mov eax,esi mov fs:[00000000h],ecx pop esi mov esp,ebp pop ebp retn 001Ch ;------------------------------------------------------------------------------ Align 4 SUB_L0043CE40: push ebp mov ebp,esp push FFFFFFFFh push L004B2E53 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi push 00000108h mov dword ptr [ebp-04h],00000000h call SUB_L0049A820 add esp,00000004h mov [ebp-10h],eax test eax,eax mov byte ptr [ebp-04h],01h jz L0043CEAA mov ecx,[ebp+20h] mov edx,[ebp+1Ch] push ecx mov ecx,[ebp+18h] push edx mov edx,[ebp+08h] push ecx push edx mov edx,[ebp+10h] sub esp,00000008h mov ecx,esp mov [ecx],edx mov dx,[ebp+14h] mov [ecx+04h],dx mov ecx,[ebp+0Ch] push ecx mov ecx,eax call SUB_L0043DBF0 mov esi,eax jmp L0043CEAC L0043CEAA: xor esi,esi L0043CEAC: push 00000001h push 00000000h mov ecx,esi mov byte ptr [ebp-04h],00h call SUB_L004415C0 mov ecx,[ebp-0Ch] mov eax,esi mov fs:[00000000h],ecx pop esi mov esp,ebp pop ebp retn 001Ch ;------------------------------------------------------------------------------ Align 4 SUB_L0043CED0: push ebp mov ebp,esp push FFFFFFFFh push L004B2E6B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi push 00000108h call SUB_L0049A820 add esp,00000004h mov [ebp-10h],eax test eax,eax mov dword ptr [ebp-04h],00000000h jz L0043CF28 mov ecx,[ebp+1Ch] mov edx,[ebp+18h] push ecx mov ecx,[ebp+14h] push edx mov edx,[ebp+08h] push ecx mov ecx,[ebp+10h] push edx mov edx,[ebp+0Ch] push ecx push edx mov ecx,eax call SUB_L0043DF90 mov esi,eax jmp L0043CF2A L0043CF28: xor esi,esi L0043CF2A: push 00000001h push 00000000h mov ecx,esi mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L004415C0 mov ecx,[ebp-0Ch] mov eax,esi mov fs:[00000000h],ecx pop esi mov esp,ebp pop ebp retn 0018h ;------------------------------------------------------------------------------ Align 4 L0043CF50: push ebp mov ebp,esp push esi mov esi,ecx call SUB_L0043CF80 test byte ptr [ebp+08h],01h jz L0043CF6A push esi call SUB_L0049A810 add esp,00000004h L0043CF6A: mov eax,esi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L0043CF80: push ebp mov ebp,esp push FFFFFFFFh push L004B2E88 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx mov [ebp-10h],esi mov dword ptr [esi],L004B9F78 mov eax,[esi+1Ch] mov dword ptr [ebp-04h],00000000h test eax,eax jz L0043CFB8 call SUB_L0042FDF0 L0043CFB8: mov eax,[esi+38h] test eax,eax jz L0043CFD1 cmp [eax+000000A0h],esi jnz L0043CFD1 mov dword ptr [eax+000000A0h],00000000h L0043CFD1: mov ecx,esi mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L0042FD20 mov ecx,[ebp-0Ch] pop esi mov fs:[00000000h],ecx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 4 L0043CFF0: push ebp mov ebp,esp sub esp,00000008h push ebx push esi mov esi,ecx push edi xor edi,edi mov eax,[esi+38h] mov [ebp-04h],edi mov [ebp-08h],edi cmp [eax+000000FCh],edi jz L0043D0A9 lea ecx,[ebp-08h] lea edx,[ebp-04h] push ecx xor ecx,ecx mov cx,[eax+000000DAh] call SUB_L004390A0 L0043D027: mov edx,[ebp-04h] mov edi,[ebp-08h] L0043D02D: mov eax,[esi+38h] mov ebx,edx sar ebx,1 mov ecx,[eax+2Ch] sub ecx,ebx lea ebx,[esi+04h] mov [ebx],ecx add ecx,edx mov [esi+0Ch],ecx mov ecx,[eax+30h] sub ecx,edi add edi,ecx mov [esi+08h],ecx mov [esi+10h],edi mov al,[eax+000000D0h] test al,al jz L0043D06D test edx,edx jle L0043D06D mov ecx,eax mov edx,ebx and ecx,000000FFh call SUB_L004360B0 L0043D06D: mov edx,[L004DAF40] mov eax,[ebx] mov edi,[esi+0Ch] add eax,edx mov edx,[esi+08h] mov [ebx],eax mov eax,[L004DAF40] add edi,eax mov eax,[esi+10h] mov [esi+0Ch],edi mov ecx,[L004DAF44] add edx,ecx pop edi mov [esi+08h],edx mov edx,[L004DAF44] add eax,edx mov [esi+10h],eax pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L0043D0A9: xor edx,edx mov ecx,L006A9DB8 mov dx,[eax+000000DAh] add edx,00004000h push edx call SUB_L004882D0 cmp eax,edi jz L0043D027 xor edx,edx xor edi,edi mov dx,[eax+04h] mov [ebp-04h],edx mov di,[eax+06h] mov [ebp-08h],edi jmp L0043D02D Align 16 SUB_L0043D0F0: push ebp mov ebp,esp sub esp,00000018h push ebx push esi push edi mov edi,[ebp+08h] mov eax,edi mov [ebp-08h],cx mov [ebp-04h],dl mov ecx,[eax] mov [ebp-18h],ecx mov edx,[eax+04h] mov [ebp-14h],edx mov ecx,[eax+08h] mov [ebp-10h],ecx mov ecx,L006A9DB8 mov edx,[eax+0Ch] mov eax,[ebp-08h] and eax,0000FFFFh mov [ebp-0Ch],edx add eax,00004000h push eax call SUB_L004882D0 mov edx,eax test edx,edx mov [ebp+08h],edx jz L0043D1F1 mov esi,[edi] mov edi,[edi+04h] mov ebx,[L004DAF44] xor eax,eax mov ax,[edx+04h] xor ecx,ecx mov cx,[edx+06h] mov edx,[L004DAF40] sar eax,1 sub edi,ebx sub esi,edx mov ebx,eax sub eax,esi sub ebx,esi sub ebx,edx mov edx,[ebp-18h] add edx,ebx mov ebx,[ebp-10h] mov [ebp-18h],edx mov edx,[L004DAF40] sub eax,edx add ebx,eax mov eax,ecx mov ecx,[L004DAF44] mov [ebp-10h],ebx sar eax,1 mov ebx,[ebp-14h] mov edx,eax sub edx,edi sub eax,edi sub edx,ecx sub eax,ecx mov ecx,[ebp-0Ch] add ebx,edx add ecx,eax mov al,[ebp-04h] test al,al mov [ebp-14h],ebx mov [ebp-0Ch],ecx jz L0043D1CD mov eax,[ebp+0Ch] mov ecx,[ebp-04h] push eax push ecx mov ecx,[ebp+08h] push edi push esi lea edx,[ebp-18h] call SUB_L004362D0 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L0043D1CD: mov edx,[L004C7F34] mov ecx,[L006BAE7C] call SUB_L00488A00 mov edx,[ebp+0Ch] mov ecx,SUB_L00488380 push edi push esi push edx mov edx,[ebp+08h] call SUB_L00488A10 L0043D1F1: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 8 L0043D200: push ebp mov ebp,esp sub esp,00000020h push ebx push esi push edi mov edi,ecx lea esi,[edi+04h] mov eax,esi mov ecx,[eax] mov [ebp-20h],ecx mov edx,[eax+04h] mov [ebp-1Ch],edx mov ecx,[eax+08h] mov [ebp-18h],ecx mov edx,[eax+0Ch] mov eax,[edi+38h] mov [ebp-14h],edx mov ecx,[eax+000000FCh] test ecx,ecx jz L0043D260 lea ecx,[ebp-10h] lea edx,[ebp-0Ch] push ecx xor ecx,ecx mov cx,[eax+000000DAh] mov dword ptr [ebp-08h],00000000h call SUB_L004390A0 mov eax,[ebp-0Ch] test eax,eax jz L0043D3D1 mov ecx,[ebp-10h] jmp L0043D299 L0043D260: xor edx,edx mov ecx,L006A9DB8 mov dx,[eax+000000DAh] add edx,00004000h push edx call SUB_L004882D0 mov edx,eax test edx,edx mov [ebp-08h],edx jz L0043D3D1 xor eax,eax xor ecx,ecx mov ax,[edx+04h] mov [ebp-0Ch],eax mov cx,[edx+06h] mov [ebp-10h],ecx L0043D299: mov edx,[edi+08h] mov esi,[esi] sub edx,[L004DAF44] mov ebx,[L004DAF40] sar eax,1 mov [ebp-04h],edx mov edx,[edi+38h] mov edi,eax sub esi,ebx sub edi,ebx mov ebx,[edx+2Ch] sub edi,ebx mov ebx,[ebp-20h] add ebx,edi mov edi,[L004DAF40] mov [ebp-20h],ebx mov ebx,[edx+2Ch] sub eax,edi mov edi,[ebp-18h] sub eax,ebx add edi,eax mov eax,[L004DAF44] mov [ebp-18h],edi mov ebx,[edx+30h] mov edi,ecx sub ecx,eax sub edi,eax sub edi,ebx mov ebx,[ebp-1Ch] add ebx,edi mov edi,[ebp-14h] mov [ebp-1Ch],ebx mov ebx,[edx+30h] sub ecx,ebx add edi,ecx mov [ebp-14h],edi mov eax,[edx+000000FCh] test eax,eax jz L0043D343 mov eax,[L004C7F38] mov ecx,[L004C7F34] push eax mov eax,[L006BAE7C] push ecx mov ecx,[ebp-04h] push eax mov eax,[ebp+08h] push ecx xor ecx,ecx mov cx,[edx+000000DAh] push esi mov edx,ecx push eax mov ecx,SUB_L00488700 call SUB_L00439290 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L0043D343: mov dl,[edx+000000D0h] test dl,dl jz L0043D36B mov eax,[ebp+08h] mov ecx,[ebp-04h] push eax push edx push ecx mov ecx,[ebp-08h] push esi lea edx,[ebp-20h] call SUB_L004362D0 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L0043D36B: mov edx,[L004C7F34] mov ecx,[L006BAE7C] call SUB_L00488A00 mov ecx,[L0073EBE4] test ecx,ecx jz L0043D3BB mov edx,[ecx] call [edx+00000090h] test eax,eax jz L0043D3BB mov eax,[ebp-04h] mov ecx,[ebp+08h] mov edx,[ebp-08h] push eax push esi push ecx mov ecx,L004883B0 mov dword ptr [L0076735C],000003B1h call SUB_L00488A10 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L0043D3BB: mov edx,[ebp-04h] mov eax,[ebp+08h] push edx mov edx,[ebp-08h] push esi push eax mov ecx,SUB_L00488380 call SUB_L00488A10 L0043D3D1: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 8 L0043D3E0: mov eax,00000004h retn ;------------------------------------------------------------------------------ Align 16 SUB_L0043D3F0: push ebp mov ebp,esp push FFFFFFFFh push L004B2EE1 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000028h push ebx push esi mov esi,ecx push edi mov [ebp-2Ch],esi mov dword ptr [ebp-04h],00000001h call SUB_L00441CB0 movsx ecx,[ebp+08h] movsx edx,[ebp+0Ah] mov dword ptr [esi],L004B9FD0 mov dword ptr [esi+00000104h],00000000h mov eax,[L006AABAC] mov [ebp-14h],ecx add eax,ecx mov [ebp-18h],edx sub eax,edx mov byte ptr [ebp-04h],03h lea edi,[eax+eax*4] lea eax,[eax+edi*2] mov edi,[L004DAF40] shl eax,1 sub eax,edi movsx edi,[ebp+0Ch] mov [esi+2Ch],eax lea eax,[edx+ecx] mov ebx,[L004DAF44] mov [ebp-1Ch],edi lea ecx,[eax+eax*4] lea edx,[eax+ecx*2] lea eax,[00000000h+edi*4] movsx edi,[ebp+10h] shl edx,1 sub edx,eax sub edx,ebx movsx ebx,[ebp+12h] add edx,0000002Bh mov [esi+30h],edx mov ecx,[L006AABAC] lea eax,[ecx+edi] mov ecx,[L004DAF40] sub eax,ebx lea edx,[eax+eax*4] lea eax,[eax+edx*2] shl eax,1 sub eax,ecx movsx ecx,[ebp+14h] mov [esi+000000A4h],eax lea eax,[ebx+edi] mov [ebp-28h],ecx lea edx,[eax+eax*4] shl ecx,02h lea eax,[eax+edx*2] shl eax,1 sub eax,ecx mov ecx,[L004DAF44] sub eax,ecx lea ecx,[eax+2Bh] mov [esi+000000A8h],ecx mov eax,[esi+000000A4h] mov edx,[esi+2Ch] sub eax,edx mov edx,[esi+30h] sub ecx,edx mov edx,eax mov [ebp-24h],eax imul edx,eax mov eax,ecx imul eax,ecx add edx,eax mov [ebp-10h],edx fild dword ptr [ebp-10h] fsqrt call SUB_L0049BB80 mov ecx,[ebp+1Ch] and ecx,000000FFh cdq lea ecx,[ecx+ecx+0Ah] idiv ecx mov [ebp-10h],eax fild dword ptr [ebp-10h] fst qword ptr [ebp-34h] fild dword ptr [ebp-24h] fdiv ST,ST(1) fstp qword ptr [esi+000000B0h] mov edx,[esi+000000A8h] mov ecx,[esi+30h] sub edx,ecx mov cl,[ebp+20h] mov [ebp-24h],edx fild dword ptr [ebp-24h] test cl,cl fdiv ST,ST(1) fstp qword ptr [esi+000000B8h] fstp ST(0) fild dword ptr [esi+2Ch] fstp qword ptr [esi+000000C0h] fild dword ptr [esi+30h] fstp qword ptr [esi+000000C8h] jz L0043D564 mov byte ptr [esi+000000D0h],00h jmp L0043D586 L0043D564: fld qword ptr [esi+000000B8h] fld qword ptr [esi+000000B0h] fpatan push ecx fstp dword ptr [esp] call SUB_L00435CB0 add al,80h mov [esi+000000D0h],al mov eax,[ebp-10h] L0043D586: inc al mov ecx,[ebp+10h] mov [esi+000000D1h],al mov al,[ebp+1Ch] add al,03h xor edx,edx shl al,1 mov [esi+000000D4h],al lea eax,[esi+00000094h] mov byte ptr [esi+000000D3h],00h mov byte ptr [esi+000000D2h],01h mov [eax],ecx mov cx,[ebp+14h] mov [esi+0000009Ch],edx mov [eax+04h],cx mov ecx,[ebp+18h] and ecx,0000FFFFh lea eax,[ecx+ecx*8] shl eax,03h cmp [eax+L00549439],dl jz L0043D615 mov dword ptr [esi+000000F8h],00000001h mov cl,[eax+L0054943B] mov [esi+000000D2h],cl mov ecx,[ebp+18h] mov [esi+000000D6h],cx mov [esi+000000D8h],dx movsx ax,[eax+L005493F8] add eax,ecx mov [esi+000000DAh],ax jmp L0043D65D L0043D615: mov eax,[ebp+18h] mov [esi+000000F8h],edx mov [esi+000000D6h],ax mov [esi+000000DAh],ax mov al,[ebp+20h] test al,al jz L0043D640 mov cx,[ebp+18h] mov [esi+000000D8h],cx jmp L0043D65D L0043D640: lea eax,[ecx+ecx*4] mov ecx,[L006A9D98] movzx ax,[ecx+eax*8+05h] mov ecx,[ebp+18h] lea eax,[eax+ecx-01h] mov [esi+000000D8h],ax L0043D65D: mov al,[ebp+24h] xor ecx,ecx test al,al setnz cl mov [esi+000000E0h],ecx mov cl,[ebp+20h] xor eax,eax push 00000070h test cl,cl setz al mov [esi+000000FCh],edx mov [esi+000000F4h],edx mov [esi+000000F0h],edx mov [esi+000000ECh],edx mov [esi+000000E8h],edx mov [esi+000000DCh],edx mov [esi+000000E4h],eax mov [esi+00000100h],edx mov dword ptr [esi+04h],SSZ004C6AE0_missile_gump mov [esi+5Ch],edx mov [esi+50h],edx mov [esi+60h],edx mov [esi+4Ch],edx mov [esi+48h],edx mov [esi+44h],edx mov [esi+40h],edx mov [esi+3Ch],edx call SUB_L0049A820 add esp,00000004h mov [ebp+20h],eax test eax,eax mov byte ptr [ebp-04h],04h jz L0043D738 mov ecx,[ebp+08h] mov dx,[ebp+0Ch] mov [ebp-24h],ecx mov [ebp-20h],dx mov ecx,eax mov byte ptr [ebp-04h],05h call SUB_L0042FCC0 mov ecx,[ebp+20h] mov ax,[ebp+08h] fild dword ptr [ebp-14h] mov dx,[ebp+0Ah] mov dword ptr [ecx],L004B9F78 mov [ecx+20h],ax mov ax,[ebp+0Ch] mov [ecx+22h],dx mov [ecx+24h],ax fstp qword ptr [ecx+40h] fild dword ptr [ebp-18h] mov byte ptr [ebp-04h],06h mov [ecx+38h],esi fstp qword ptr [ecx+48h] fild dword ptr [ebp-1Ch] fstp qword ptr [ecx+50h] call SUB_L00430280 mov eax,[ebp+20h] jmp L0043D73A L0043D738: xor eax,eax L0043D73A: mov ecx,[ebp-14h] mov edx,[ebp-18h] sub edi,ecx mov [esi+000000A0h],eax mov [ebp+20h],edi sub ebx,edx fild dword ptr [ebp+20h] mov [ebp+20h],ebx pop edi fdiv qword ptr [ebp-34h] fstp qword ptr [eax+58h] fild dword ptr [ebp+20h] mov ecx,[esi+000000A0h] mov eax,[ebp-28h] fdiv qword ptr [ebp-34h] fstp qword ptr [ecx+60h] mov ecx,[ebp-1Ch] mov edx,[esi+000000A0h] sub eax,ecx mov ecx,[ebp-0Ch] mov [ebp+20h],eax mov eax,esi fild dword ptr [ebp+20h] pop esi pop ebx fdiv qword ptr [ebp-34h] fstp qword ptr [edx+68h] mov fs:[00000000h],ecx mov esp,ebp pop ebp retn 0020h ;------------------------------------------------------------------------------ Align 16 L0043D7A0: push ebp mov ebp,esp push esi mov esi,ecx call SUB_L0043E980 test byte ptr [ebp+08h],01h jz L0043D7BA push esi call SUB_L0049A810 add esp,00000004h L0043D7BA: mov eax,esi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L0043D7D0: push ebp mov ebp,esp push FFFFFFFFh push L004B2F29 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000018h push ebx push esi mov esi,ecx push edi mov [ebp-20h],esi xor ebx,ebx mov [ebp-04h],ebx call SUB_L00441CB0 mov ecx,[ebp+10h] mov dword ptr [esi],L004B9FD0 mov [esi+00000104h],ebx mov [esi+0000009Ch],ecx lea edx,[ecx+20h] lea eax,[esi+00000094h] mov byte ptr [ebp-04h],02h mov edi,[edx] mov [eax],edi mov dx,[edx+04h] movsx edi,[ebp+0Ah] mov [eax+04h],dx mov eax,[L006AABAC] movsx edx,[ebp+08h] sub eax,edi mov [ebp+10h],edi add eax,edx mov [ebp-10h],edx lea edi,[eax+eax*4] lea eax,[eax+edi*2] mov edi,[L004DAF40] shl eax,1 sub eax,edi movsx edi,[ebp+0Ch] mov [esi+2Ch],eax mov eax,[ebp+10h] add eax,edx mov [ebp-14h],edi lea edx,[eax+eax*4] lea eax,[eax+edx*2] lea edx,[00000000h+edi*4] shl eax,1 sub eax,edx mov edx,[L004DAF44] sub eax,edx add eax,0000002Bh mov [esi+30h],eax fild dword ptr [esi+2Ch] fstp qword ptr [esi+000000C0h] fild dword ptr [esi+30h] fstp qword ptr [esi+000000C8h] mov eax,[ecx+04h] mov edx,[ecx+0Ch] add eax,edx sar eax,1 mov [esi+000000A4h],eax mov edx,[L004DAF40] sub eax,edx mov [esi+000000A4h],eax mov eax,[ecx+10h] add eax,[ecx+08h] sar eax,1 mov [esi+000000A8h],eax mov ecx,[L004DAF44] sub eax,ecx mov [esi+000000A8h],eax mov eax,[esi+000000A4h] sub eax,[esi+2Ch] mov [ebp-1Ch],eax fild dword ptr [ebp-1Ch] fstp qword ptr [esi+000000B0h] mov ecx,[esi+000000A8h] mov edx,[esi+30h] sub ecx,edx mov dl,[ebp+1Ch] mov [ebp-1Ch],ecx fild dword ptr [ebp-1Ch] fst qword ptr [esi+000000B8h] cmp dl,bl jz L0043D909 fstp ST(0) mov [esi+000000D0h],bl jmp L0043D925 L0043D909: fld qword ptr [esi+000000B0h] fpatan push ecx fstp dword ptr [esp] call SUB_L00435CB0 mov dl,[ebp+1Ch] add al,80h mov [esi+000000D0h],al L0043D925: mov al,[ebp+18h] mov edi,[ebp+14h] add al,03h mov ecx,edi shl al,1 and ecx,0000FFFFh mov [esi+000000D4h],al mov [esi+000000D1h],bl mov [esi+000000D3h],bl lea eax,[ecx+ecx*8] mov byte ptr [esi+000000D2h],01h shl eax,03h cmp [eax+L00549439],bl jz L0043D995 mov dword ptr [esi+000000F8h],00000001h mov cl,[eax+L0054943B] mov [esi+000000D2h],cl mov [esi+000000D6h],di mov [esi+000000D8h],bx movsx ax,[eax+L005493F8] add eax,edi mov [esi+000000DAh],ax jmp L0043D9CF L0043D995: cmp dl,bl mov [esi+000000F8h],ebx mov [esi+000000D6h],di mov [esi+000000DAh],di jz L0043D9B6 mov [esi+000000D8h],di jmp L0043D9CF L0043D9B6: mov eax,[L006A9D98] lea ecx,[ecx+ecx*4] movzx cx,[eax+ecx*8+05h] lea eax,[ecx+edi-01h] mov [esi+000000D8h],ax L0043D9CF: mov al,[ebp+20h] xor ecx,ecx cmp al,bl push 00000070h setnz cl xor eax,eax cmp dl,bl setz al mov [esi+000000FCh],ebx mov [esi+000000F4h],ebx mov [esi+000000F0h],ebx mov [esi+000000ECh],ebx mov [esi+000000E8h],ebx mov [esi+000000DCh],ebx mov [esi+000000E0h],ecx mov [esi+000000E4h],eax mov [esi+00000100h],ebx mov dword ptr [esi+04h],SSZ004C6AE0_missile_gump mov [esi+5Ch],ebx mov [esi+50h],ebx mov [esi+60h],ebx mov [esi+4Ch],ebx mov [esi+48h],ebx mov [esi+44h],ebx mov [esi+40h],ebx mov [esi+3Ch],ebx call SUB_L0049A820 mov edi,eax add esp,00000004h mov [ebp+1Ch],edi cmp edi,ebx mov byte ptr [ebp-04h],03h jz L0043DAA1 mov ebx,[ebp+08h] mov cx,[ebp+0Ch] mov [ebp-1Ch],ebx mov [ebp-18h],cx mov ecx,edi mov byte ptr [ebp-04h],04h call SUB_L0042FCC0 fild dword ptr [ebp-10h] mov dx,[ebp+0Ah] mov ax,[ebp+0Ch] mov dword ptr [edi],L004B9F78 mov [edi+20h],bx mov [edi+22h],dx mov [edi+24h],ax fstp qword ptr [edi+40h] fild dword ptr [ebp+10h] mov ecx,edi mov byte ptr [ebp-04h],05h mov [edi+38h],esi fstp qword ptr [edi+48h] fild dword ptr [ebp-14h] fstp qword ptr [edi+50h] call SUB_L00430280 jmp L0043DAA3 L0043DAA1: xor edi,edi L0043DAA3: movsx ecx,[esi+00000094h] mov eax,[ebp-10h] mov ebx,[ebp+10h] sub ecx,eax mov [esi+000000A0h],edi mov [ebp+1Ch],ecx xor edx,edx fild dword ptr [ebp+1Ch] fstp qword ptr [edi+58h] movsx eax,[esi+00000096h] mov ecx,[esi+000000A0h] sub eax,ebx mov [ebp+1Ch],eax mov edi,[ebp-14h] fild dword ptr [ebp+1Ch] fstp qword ptr [ecx+60h] movsx eax,[esi+00000098h] mov ecx,[esi+000000A0h] sub eax,edi mov [ebp+1Ch],eax fild dword ptr [ebp+1Ch] fstp qword ptr [ecx+68h] fld qword ptr [esi+000000B8h] fld qword ptr [esi+000000B0h] fst qword ptr [ebp+08h] fxch ST(1) fst qword ptr [ebp-24h] fxch ST(1) fld ST(1) fxch ST(1) fmul qword ptr [ebp+08h] fld qword ptr [ebp+08h] fxch ST(2) fmul ST,ST(3) fld qword ptr [ebp-24h] fxch ST(1) faddp ST(2),ST fxch ST(1) fsqrt fstp qword ptr [ebp+08h] fxch ST(1) fdiv qword ptr [ebp+08h] fxch ST(1) fdiv qword ptr [ebp+08h] fxch ST(1) fstp qword ptr [esi+000000B0h] fstp qword ptr [esi+000000B8h] mov dl,[esi+000000D4h] mov eax,[esi+000000A0h] fstp ST(0) mov [ebp+1Ch],edx fild dword ptr [ebp+1Ch] fld qword ptr [esi+000000B0h] fmul ST,ST(1) fstp qword ptr [esi+000000B0h] fld qword ptr [esi+000000B8h] fmul ST,ST(1) fstp qword ptr [esi+000000B8h] mov edx,[esi+000000A4h] mov ecx,[esi+2Ch] fstp ST(0) fld qword ptr [eax+58h] fmul qword ptr [esi+000000B0h] sub edx,ecx mov [ebp+1Ch],edx fild dword ptr [ebp+1Ch] fdivp ST(1),ST fstp qword ptr [eax+58h] mov eax,[esi+000000A0h] mov ecx,[esi+000000A4h] mov ebx,[esi+2Ch] fld qword ptr [eax+60h] fmul qword ptr [esi+000000B0h] sub ecx,ebx mov [ebp+1Ch],ecx fild dword ptr [ebp+1Ch] fdivp ST(1),ST fstp qword ptr [eax+60h] mov ecx,[esi+000000A0h] mov edx,[esi+000000A4h] mov edi,[esi+2Ch] mov eax,esi fld qword ptr [ecx+68h] fmul qword ptr [esi+000000B0h] sub edx,edi pop edi mov [ebp+1Ch],edx pop esi fild dword ptr [ebp+1Ch] pop ebx fdivp ST(1),ST fstp qword ptr [ecx+68h] mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx mov esp,ebp pop ebp retn 001Ch ;------------------------------------------------------------------------------ SUB_L0043DBF0: push ebp mov ebp,esp push FFFFFFFFh push L004B2F81 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000028h push ebx push esi mov esi,ecx push edi mov [ebp-24h],esi xor edi,edi mov [ebp-04h],edi call SUB_L00441CB0 mov dword ptr [esi],L004B9FD0 mov ecx,[ebp+08h] mov [esi+00000104h],edi mov byte ptr [ebp-04h],03h lea eax,[ecx+20h] mov ebx,[ecx+04h] mov [ebp-18h],eax mov edx,[eax] mov [ebp-2Ch],edx mov ax,[eax+04h] mov [ebp-28h],ax mov eax,[ecx+0Ch] add eax,ebx sar eax,1 mov [esi+2Ch],eax mov ebx,[L004DAF40] sub eax,ebx mov [esi+2Ch],eax mov eax,[ecx+10h] add eax,[ecx+08h] sar eax,1 movsx ecx,[ebp+0Eh] mov [esi+30h],eax mov ebx,[L004DAF44] sub eax,ebx mov [ebp-1Ch],ecx movsx ebx,[ebp+0Ch] mov [esi+30h],eax mov edx,[L006AABAC] lea eax,[edx+ebx] sub eax,ecx lea edx,[eax+eax*4] lea eax,[eax+edx*2] mov edx,[L004DAF40] shl eax,1 sub eax,edx movsx edx,[ebp+10h] mov [esi+000000A4h],eax lea eax,[ecx+ebx] mov [ebp-20h],edx lea ecx,[eax+eax*4] lea eax,[eax+ecx*2] lea ecx,[00000000h+edx*4] shl eax,1 sub eax,ecx mov ecx,[L004DAF44] sub eax,ecx lea ecx,[eax+2Bh] mov [esi+000000A8h],ecx mov eax,[esi+000000A4h] mov edx,[esi+2Ch] sub eax,edx mov edx,[esi+30h] sub ecx,edx mov edx,eax mov [ebp-10h],eax imul edx,eax mov eax,ecx imul eax,ecx add edx,eax mov [ebp+08h],edx fild dword ptr [ebp+08h] fsqrt call SUB_L0049BB80 mov ecx,[ebp+18h] and ecx,000000FFh cdq lea ecx,[ecx+ecx+0Ah] idiv ecx mov [ebp+08h],eax fild dword ptr [ebp+08h] fst qword ptr [ebp-34h] fild dword ptr [ebp-10h] fdiv ST,ST(1) fstp qword ptr [esi+000000B0h] mov edx,[esi+000000A8h] mov ecx,[esi+30h] sub edx,ecx mov cl,[ebp+1Ch] mov [ebp-10h],edx fild dword ptr [ebp-10h] test cl,cl fdiv ST,ST(1) fstp qword ptr [esi+000000B8h] fstp ST(0) fild dword ptr [esi+2Ch] fstp qword ptr [esi+000000C0h] fild dword ptr [esi+30h] fstp qword ptr [esi+000000C8h] jz L0043DD59 mov cl,[ebp+18h] mov byte ptr [esi+000000D0h],00h jmp L0043DD7E L0043DD59: fld qword ptr [esi+000000B8h] fld qword ptr [esi+000000B0h] fpatan push ecx fstp dword ptr [esp] call SUB_L00435CB0 mov cl,[ebp+18h] add al,80h mov [esi+000000D0h],al mov eax,[ebp+08h] L0043DD7E: add cl,03h mov dx,[ebp+10h] inc al mov byte ptr [esi+000000D3h],00h shl cl,1 mov [esi+000000D1h],al mov [esi+000000D4h],cl mov ecx,[ebp+0Ch] lea eax,[esi+00000094h] mov byte ptr [esi+000000D2h],01h mov [esi+0000009Ch],edi mov [eax],ecx mov [eax+04h],dx mov edx,[ebp+14h] mov ecx,edx and ecx,0000FFFFh lea eax,[ecx+ecx*8] shl eax,03h cmp byte ptr [eax+L00549439],00h jz L0043DE09 mov dword ptr [esi+000000F8h],00000001h mov cl,[eax+L0054943B] mov [esi+000000D2h],cl mov [esi+000000D6h],dx mov [esi+000000D8h],di movsx ax,[eax+L005493F8] add eax,edx mov [esi+000000DAh],ax jmp L0043DE3D L0043DE09: mov al,[ebp+1Ch] mov [esi+000000F8h],edi test al,al mov [esi+000000D6h],dx mov [esi+000000DAh],dx jnz L0043DE36 mov eax,[L006A9D98] lea ecx,[ecx+ecx*4] movzx cx,[eax+ecx*8+05h] lea edx,[ecx+edx-01h] L0043DE36: mov [esi+000000D8h],dx L0043DE3D: mov cl,[ebp+20h] xor eax,eax test cl,cl setnz al mov [esi+000000E0h],eax mov al,[ebp+1Ch] xor ecx,ecx push 00000070h test al,al setz cl mov [esi+000000FCh],edi mov [esi+000000F4h],edi mov [esi+000000F0h],edi mov [esi+000000ECh],edi mov [esi+000000E8h],edi mov [esi+000000DCh],edi mov [esi+000000E4h],ecx mov [esi+00000100h],edi mov dword ptr [esi+04h],SSZ004C6AE0_missile_gump mov [esi+5Ch],edi mov [esi+50h],edi mov [esi+60h],edi mov [esi+4Ch],edi mov [esi+48h],edi mov [esi+44h],edi mov [esi+40h],edi mov [esi+3Ch],edi call SUB_L0049A820 mov edi,eax add esp,00000004h mov [ebp+20h],edi test edi,edi mov byte ptr [ebp-04h],04h jz L0043DF2A mov eax,[ebp-18h] mov edx,[eax] mov ax,[eax+04h] mov [ebp-18h],edx mov [ebp-14h],ax mov ecx,edi mov byte ptr [ebp-04h],05h call SUB_L0042FCC0 mov cx,[ebp-18h] mov dx,[ebp-16h] mov dword ptr [edi],L004B9F78 mov [edi+20h],cx mov ax,[ebp-14h] mov [edi+22h],dx movsx ecx,cx mov [ebp+1Ch],ecx mov [edi+24h],ax fild dword ptr [ebp+1Ch] movsx edx,dx fstp qword ptr [edi+40h] mov [ebp+1Ch],edx mov ecx,edi fild dword ptr [ebp+1Ch] movsx eax,ax fstp qword ptr [edi+48h] mov [ebp+1Ch],eax mov byte ptr [ebp-04h],06h fild dword ptr [ebp+1Ch] mov [edi+38h],esi fstp qword ptr [edi+50h] call SUB_L00430280 jmp L0043DF2C L0043DF2A: xor edi,edi L0043DF2C: movsx ecx,[ebp-2Ch] sub ebx,ecx mov eax,[ebp-1Ch] mov [ebp+1Ch],ebx mov [esi+000000A0h],edi fild dword ptr [ebp+1Ch] movsx edx,[ebp-2Ah] fdiv qword ptr [ebp-34h] sub eax,edx mov [ebp+1Ch],eax movsx ecx,[ebp-28h] fstp qword ptr [edi+58h] fild dword ptr [ebp+1Ch] mov eax,[esi+000000A0h] pop edi fdiv qword ptr [ebp-34h] fstp qword ptr [eax+60h] mov eax,[ebp-20h] mov edx,[esi+000000A0h] sub eax,ecx mov ecx,[ebp-0Ch] mov [ebp+1Ch],eax mov eax,esi fild dword ptr [ebp+1Ch] pop esi pop ebx fdiv qword ptr [ebp-34h] fstp qword ptr [edx+68h] mov fs:[00000000h],ecx mov esp,ebp pop ebp retn 001Ch ;------------------------------------------------------------------------------ Align 4 SUB_L0043DF90: push ebp mov ebp,esp push FFFFFFFFh push L004B2FC1 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000010h push ebx push esi mov esi,ecx push edi mov [ebp-10h],esi call SUB_L00441CB0 mov ebx,[ebp+08h] mov dword ptr [esi],L004B9FD0 mov dword ptr [esi+00000104h],00000000h mov ecx,[ebp+0Ch] mov eax,[ebx+0Ch] mov edx,[ebx+04h] add eax,edx mov dword ptr [ebp-04h],00000001h sar eax,1 mov [esi+2Ch],eax mov edi,[L004DAF40] sub eax,edi mov [esi+2Ch],eax mov eax,[ebx+10h] mov edx,[ebx+08h] add eax,edx lea edx,[ecx+20h] sar eax,1 mov [esi+30h],eax mov edi,[L004DAF44] sub eax,edi mov [esi+30h],eax mov [esi+0000009Ch],ecx mov edi,[edx] lea eax,[esi+00000094h] mov [esi+00000094h],edi mov dx,[edx+04h] mov [eax+04h],dx mov eax,[ecx+0Ch] add eax,[ecx+04h] sar eax,1 mov [esi+000000A4h],eax mov edx,[L004DAF40] sub eax,edx mov [esi+000000A4h],eax mov eax,[ecx+10h] add eax,[ecx+08h] sar eax,1 mov [esi+000000A8h],eax mov ecx,[L004DAF44] sub eax,ecx mov [esi+000000A8h],eax mov eax,[esi+000000A4h] sub eax,[esi+2Ch] mov [ebp+08h],eax mov al,[ebp+18h] fild dword ptr [ebp+08h] fstp qword ptr [esi+000000B0h] mov ecx,[esi+000000A8h] mov edx,[esi+30h] sub ecx,edx mov [ebp+08h],ecx fild dword ptr [ebp+08h] test al,al fstp qword ptr [esi+000000B8h] fild dword ptr [esi+2Ch] fstp qword ptr [esi+000000C0h] fild dword ptr [esi+30h] fstp qword ptr [esi+000000C8h] jz L0043E0AA mov byte ptr [esi+000000D0h],00h jmp L0043E0C9 L0043E0AA: fld qword ptr [esi+000000B8h] fld qword ptr [esi+000000B0h] fpatan push ecx fstp dword ptr [esp] call SUB_L00435CB0 add al,80h mov [esi+000000D0h],al L0043E0C9: mov dl,[ebp+14h] mov byte ptr [esi+000000D1h],00h add dl,03h mov byte ptr [esi+000000D3h],00h shl dl,1 mov [esi+000000D4h],dl mov edx,[ebp+10h] mov ecx,edx mov byte ptr [esi+000000D2h],01h and ecx,0000FFFFh lea eax,[ecx+ecx*8] shl eax,03h cmp byte ptr [eax+L00549439],00h jz L0043E13F mov dword ptr [esi+000000F8h],00000001h mov cl,[eax+L0054943B] xor edi,edi mov [esi+000000D2h],cl mov [esi+000000D6h],dx mov [esi+000000D8h],di movsx ax,[eax+L005493F8] add eax,edx mov [esi+000000DAh],ax jmp L0043E179 L0043E13F: mov al,[ebp+18h] mov dword ptr [esi+000000F8h],00000000h test al,al mov [esi+000000D6h],dx mov [esi+000000DAh],dx jnz L0043E170 mov eax,[L006A9D98] lea ecx,[ecx+ecx*4] movzx cx,[eax+ecx*8+05h] lea edx,[ecx+edx-01h] L0043E170: mov [esi+000000D8h],dx xor edi,edi L0043E179: mov cl,[ebp+1Ch] xor eax,eax test cl,cl setnz al mov [esi+000000E0h],eax mov al,[ebp+18h] xor ecx,ecx push 00000070h test al,al setz cl mov [esi+000000FCh],edi mov [esi+000000F4h],edi mov [esi+000000F0h],edi mov [esi+000000ECh],edi mov [esi+000000E8h],edi mov [esi+000000DCh],edi mov [esi+000000E4h],ecx mov [esi+00000100h],edi mov dword ptr [esi+04h],SSZ004C6AE0_missile_gump mov [esi+5Ch],edi mov [esi+50h],edi mov [esi+60h],edi mov [esi+4Ch],edi mov [esi+48h],edi mov [esi+44h],edi mov [esi+40h],edi mov [esi+3Ch],edi call SUB_L0049A820 mov edi,eax add esp,00000004h mov [ebp+14h],edi test edi,edi mov byte ptr [ebp-04h],02h jz L0043E267 lea edx,[ebx+20h] mov eax,[ebx+20h] mov [ebp-1Ch],eax mov cx,[edx+04h] mov [ebp-18h],cx mov ecx,edi mov byte ptr [ebp-04h],03h call SUB_L0042FCC0 mov cx,[ebp-1Ch] mov dx,[ebp-1Ah] mov dword ptr [edi],L004B9F78 mov [edi+20h],cx mov ax,[ebp-18h] mov [edi+22h],dx movsx ecx,cx mov [ebp+18h],ecx mov [edi+24h],ax fild dword ptr [ebp+18h] movsx edx,dx fstp qword ptr [edi+40h] mov [ebp+18h],edx mov ecx,edi fild dword ptr [ebp+18h] movsx eax,ax fstp qword ptr [edi+48h] mov [ebp+18h],eax mov byte ptr [ebp-04h],04h fild dword ptr [ebp+18h] mov [edi+38h],esi fstp qword ptr [edi+50h] call SUB_L00430280 jmp L0043E269 L0043E267: xor edi,edi L0043E269: movsx ecx,[esi+00000094h] mov [esi+000000A0h],edi movsx edx,[ebx+20h] sub ecx,edx mov [ebp+18h],ecx xor ecx,ecx fild dword ptr [ebp+18h] fstp qword ptr [edi+58h] movsx edx,[esi+00000096h] movsx eax,[ebx+22h] sub edx,eax mov eax,[esi+000000A0h] mov [ebp+18h],edx fild dword ptr [ebp+18h] fstp qword ptr [eax+60h] movsx edx,[esi+00000098h] movsx eax,[ebx+24h] sub edx,eax mov eax,[esi+000000A0h] mov [ebp+18h],edx fild dword ptr [ebp+18h] fstp qword ptr [eax+68h] fld qword ptr [esi+000000B8h] fld qword ptr [esi+000000B0h] fst qword ptr [ebp-1Ch] fxch ST(1) fst qword ptr [ebp-14h] fxch ST(1) fld ST(1) fxch ST(1) fmul qword ptr [ebp-1Ch] fld qword ptr [ebp-1Ch] fxch ST(2) fmul ST,ST(3) fld qword ptr [ebp-14h] fxch ST(1) faddp ST(2),ST fxch ST(1) fsqrt fstp qword ptr [ebp-1Ch] fxch ST(1) fdiv qword ptr [ebp-1Ch] fxch ST(1) fdiv qword ptr [ebp-1Ch] fxch ST(1) fstp qword ptr [esi+000000B0h] fstp qword ptr [esi+000000B8h] mov cl,[esi+000000D4h] mov eax,[esi+000000A0h] fstp ST(0) mov [ebp+18h],ecx fild dword ptr [ebp+18h] fld qword ptr [esi+000000B0h] fmul ST,ST(1) fstp qword ptr [esi+000000B0h] fld qword ptr [esi+000000B8h] fmul ST,ST(1) fstp qword ptr [esi+000000B8h] mov ecx,[esi+000000A4h] mov edx,[esi+2Ch] fstp ST(0) fld qword ptr [eax+58h] fmul qword ptr [esi+000000B0h] sub ecx,edx mov [ebp+18h],ecx fild dword ptr [ebp+18h] fdivp ST(1),ST fstp qword ptr [eax+58h] mov eax,[esi+000000A0h] mov edx,[esi+000000A4h] mov ecx,[esi+2Ch] fld qword ptr [eax+60h] fmul qword ptr [esi+000000B0h] sub edx,ecx mov [ebp+18h],edx pop edi fild dword ptr [ebp+18h] fdivp ST(1),ST fstp qword ptr [eax+60h] mov ecx,[esi+000000A0h] mov edx,[esi+000000A4h] mov eax,[esi+2Ch] fld qword ptr [ecx+68h] fmul qword ptr [esi+000000B0h] sub edx,eax mov eax,esi mov [ebp+18h],edx pop esi fild dword ptr [ebp+18h] pop ebx fdivp ST(1),ST fstp qword ptr [ecx+68h] mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx mov esp,ebp pop ebp retn 0018h ;------------------------------------------------------------------------------ Align 8 SUB_L0043E3C0: push ebp mov ebp,esp push FFFFFFFFh push L004B3009 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000018h push ebx push esi mov esi,ecx push edi mov [ebp-1Ch],esi xor ebx,ebx mov [ebp-04h],ebx call SUB_L00441CB0 movsx ecx,[ebp+08h] movsx edx,[ebp+0Ah] mov dword ptr [esi],L004B9FD0 mov [esi+00000104h],ebx mov eax,[L006AABAC] mov [ebp-10h],ecx add eax,ecx mov [ebp-14h],edx sub eax,edx mov byte ptr [ebp-04h],02h lea edi,[eax+eax*4] lea eax,[eax+edi*2] mov edi,[L004DAF40] shl eax,1 sub eax,edi movsx edi,[ebp+0Ch] mov [esi+2Ch],eax lea eax,[edx+ecx] mov [ebp-18h],edi lea ecx,[eax+eax*4] lea edx,[eax+ecx*2] mov cl,[ebp+18h] shl edx,1 lea eax,[00000000h+edi*4] mov edi,[ebp+10h] sub edx,eax mov eax,[L004DAF44] sub edx,eax mov [esi+000000D1h],cl mov cl,[ebp+14h] add edx,0000002Bh mov [esi+30h],edx mov dl,0Bh sub dl,cl mov ecx,edi and ecx,0000FFFFh mov [esi+000000D0h],bl mov [esi+000000D2h],dl mov [esi+000000D3h],bl lea eax,[ecx+ecx*8] mov [esi+000000D4h],bl shl eax,03h mov edx,00000001h cmp [eax+L00549439],bl jz L0043E4C8 mov [esi+000000F8h],edx mov cl,[eax+L0054943B] mov [esi+000000D2h],cl mov [esi+000000D6h],di mov [esi+000000D8h],bx movsx ax,[eax+L005493F8] add eax,edi mov [esi+000000DAh],ax jmp L0043E4F5 L0043E4C8: mov [esi+000000F8h],ebx mov [esi+000000D6h],di mov [esi+000000DAh],di mov eax,[L006A9D98] lea ecx,[ecx+ecx*4] movzx cx,[eax+ecx*8+05h] lea eax,[ecx+edi-01h] mov [esi+000000D8h],ax L0043E4F5: mov al,[ebp+1Ch] xor ecx,ecx cmp al,bl mov [esi+000000FCh],ebx setnz cl mov [esi+000000ECh],ecx mov cl,[ebp+20h] xor eax,eax cmp cl,bl setnz al mov [esi+000000F4h],ebx mov [esi+000000E0h],ebx mov [esi+000000DCh],ebx mov [esi+000000F0h],eax mov [esi+000000E8h],edx mov [esi+00000094h],bx mov [esi+00000096h],bx mov [esi+00000098h],bx push 00000070h mov [esi+0000009Ch],ebx mov [esi+00000100h],ebx mov dword ptr [esi+04h],SSZ004C6AE0_missile_gump mov [esi+5Ch],ebx mov [esi+50h],ebx mov [esi+60h],ebx mov [esi+4Ch],ebx mov [esi+48h],ebx mov [esi+44h],ebx mov [esi+40h],ebx mov [esi+3Ch],ebx call SUB_L0049A820 mov edi,eax add esp,00000004h mov [ebp+18h],edi cmp edi,ebx mov byte ptr [ebp-04h],03h jz L0043E5DF mov ebx,[ebp+08h] mov cx,[ebp+0Ch] mov [ebp-24h],ebx mov [ebp-20h],cx mov ecx,edi mov byte ptr [ebp-04h],04h call SUB_L0042FCC0 fild dword ptr [ebp-10h] mov dx,[ebp+0Ah] mov ax,[ebp+0Ch] mov dword ptr [edi],L004B9F78 mov [edi+20h],bx mov [edi+22h],dx mov [edi+24h],ax fstp qword ptr [edi+40h] fild dword ptr [ebp-14h] mov ecx,edi mov byte ptr [ebp-04h],05h mov [edi+38h],esi fstp qword ptr [edi+48h] fild dword ptr [ebp-18h] fstp qword ptr [edi+50h] call SUB_L00430280 jmp L0043E5E1 L0043E5DF: xor edi,edi L0043E5E1: mov ecx,[ebp-0Ch] mov [esi+000000A0h],edi mov eax,esi pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 001Ch ;------------------------------------------------------------------------------ Align 8 SUB_L0043E600: push ebp mov ebp,esp push esi push edi mov esi,ecx call SUB_L00441CB0 mov cl,[ebp+14h] mov edi,[ebp+0Ch] mov [esi+000000D1h],cl mov cl,[ebp+10h] mov dl,0Bh xor eax,eax sub dl,cl mov dword ptr [esi],L004B9FD0 mov [esi+000000D2h],dl mov edx,edi and edx,0000FFFFh mov [esi+00000104h],eax mov [esi+000000D0h],al mov [esi+000000D3h],al lea ecx,[edx+edx*8] mov [esi+000000D4h],al shl ecx,03h cmp [ecx+L00549439],al jz L0043E692 mov dword ptr [esi+000000F8h],00000001h mov dl,[ecx+L0054943B] mov [esi+000000D2h],dl mov [esi+000000D6h],di mov [esi+000000D8h],ax movsx cx,[ecx+L005493F8] add ecx,edi mov [esi+000000DAh],cx jmp L0043E6C0 L0043E692: mov [esi+000000F8h],eax mov [esi+000000D6h],di mov [esi+000000DAh],di mov ecx,[L006A9D98] lea edx,[edx+edx*4] movzx dx,[ecx+edx*8+05h] lea ecx,[edx+edi-01h] mov [esi+000000D8h],cx L0043E6C0: mov cl,[ebp+18h] xor edx,edx cmp cl,al mov [esi+000000FCh],eax setnz dl mov [esi+000000ECh],edx mov dl,[ebp+1Ch] xor ecx,ecx cmp dl,al setnz cl mov [esi+000000F0h],ecx mov ecx,[ebp+08h] mov [esi+000000F4h],eax mov [esi+000000E0h],eax mov [esi+000000DCh],eax mov dword ptr [esi+000000E8h],00000001h mov [esi+00000094h],ax mov [esi+00000096h],ax mov [esi+00000098h],ax mov [esi+0000009Ch],ecx mov [esi+00000100h],eax mov dword ptr [esi+04h],SSZ004C6AE0_missile_gump mov [esi+5Ch],eax mov [esi+50h],eax mov [esi+60h],eax mov [esi+4Ch],eax mov [esi+48h],eax mov [esi+44h],eax mov [esi+40h],eax mov [esi+3Ch],eax mov [esi+000000A0h],eax mov edx,[ecx+000001C0h] cmp edx,eax jnz L0043E763 mov [ecx+000001C0h],esi mov eax,esi pop edi pop esi pop ebp retn 0018h ;------------------------------------------------------------------------------ L0043E763: mov ecx,[edx+00000100h] cmp ecx,eax jz L0043E779 L0043E76D: mov edx,ecx mov ecx,[edx+00000100h] cmp ecx,eax jnz L0043E76D L0043E779: mov [edx+00000100h],esi mov eax,esi pop edi pop esi pop ebp retn 0018h ;------------------------------------------------------------------------------ Align 16 SUB_L0043E790: push ebp mov ebp,esp push FFFFFFFFh push L004B3051 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000010h push ebx push esi mov esi,ecx push edi mov [ebp-10h],esi call SUB_L00441CB0 xor ebx,ebx mov dword ptr [esi],L004B9FD0 mov [esi+00000104h],ebx mov [esi+000000D0h],bl mov edi,00000001h mov byte ptr [esi+000000D1h],06h mov byte ptr [esi+000000D2h],01h mov ecx,0000000Ah mov [ebp-04h],edi mov [esi+000000D3h],bl mov [esi+000000D4h],bl mov word ptr [esi+000000D6h],4E20h mov word ptr [esi+000000D8h],4E29h call SUB_L00455460 add ax,[esi+000000D6h] mov ecx,[ebp+08h] add ecx,00000020h mov [esi+000000FCh],edi mov [esi+000000DAh],ax lea eax,[esi+00000094h] mov [esi+000000E4h],ebx mov [esi+000000F0h],ebx mov [esi+000000ECh],ebx mov [esi+000000F4h],ebx mov [esi+000000E0h],ebx mov [esi+000000DCh],ebx mov [esi+000000F8h],ebx mov [esi+000000E8h],edi mov [esi+0000009Ch],ebx mov edi,[ecx] mov edx,eax push 00000070h mov [edx],edi mov cx,[ecx+04h] mov [esi+00000100h],ebx mov [edx+04h],cx movsx edx,[eax] movsx ecx,[esi+00000096h] mov eax,[L006AABAC] add eax,edx sub eax,ecx lea edi,[eax+eax*4] lea eax,[eax+edi*2] mov edi,[L004DAF40] shl eax,1 sub eax,edi mov [esi+2Ch],eax lea eax,[edx+ecx] mov edi,[L004DAF44] mov dword ptr [esi+04h],SSZ004C6AE0_missile_gump lea ecx,[eax+eax*4] mov [esi+5Ch],ebx mov [esi+50h],ebx mov [esi+60h],ebx lea edx,[eax+ecx*2] mov [esi+4Ch],ebx movsx eax,[esi+00000098h] shl edx,1 shl eax,02h sub edx,eax mov [esi+48h],ebx sub edx,edi mov [esi+44h],ebx mov [esi+30h],edx mov [esi+40h],ebx mov [esi+3Ch],ebx call SUB_L0049A820 mov edi,eax add esp,00000004h mov [ebp-14h],edi mov byte ptr [ebp-04h],02h cmp edi,ebx jz L0043E95F mov ecx,[esi+00000094h] mov bx,[esi+00000098h] mov [ebp-1Ch],ecx mov [ebp-18h],bx mov ecx,edi mov byte ptr [ebp-04h],03h call SUB_L0042FCC0 mov ax,[ebp-1Ch] mov cx,[ebp-1Ah] movsx edx,ax mov dword ptr [edi],L004B9F78 mov [ebp+08h],edx fild dword ptr [ebp+08h] mov [edi+20h],ax mov [edi+22h],cx movsx eax,cx mov [edi+24h],bx mov [ebp+08h],eax fstp qword ptr [edi+40h] fild dword ptr [ebp+08h] movsx ecx,bx fstp qword ptr [edi+48h] mov [ebp+08h],ecx mov ecx,edi fild dword ptr [ebp+08h] mov byte ptr [ebp-04h],04h mov [edi+38h],esi fstp qword ptr [edi+50h] call SUB_L00430280 jmp L0043E961 L0043E95F: xor edi,edi L0043E961: mov ecx,[ebp-0Ch] mov [esi+000000A0h],edi mov eax,esi pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 8 SUB_L0043E980: push ebp mov ebp,esp push FFFFFFFFh push L004B3076 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx mov [ebp-10h],esi mov dword ptr [esi],L004B9FD0 mov ecx,[esi+000000A0h] mov dword ptr [ebp-04h],00000001h test ecx,ecx jz L0043E9C6 mov eax,[ecx] push 00000001h call [eax] mov dword ptr [esi+000000A0h],00000000h L0043E9C6: mov eax,[esi+000000E8h] test eax,eax jz L0043EA30 mov eax,[esi+0000009Ch] test eax,eax jz L0043EA30 mov ecx,[eax+000001C0h] cmp ecx,esi jnz L0043E9F2 mov ecx,[ecx+00000100h] mov [eax+000001C0h],ecx jmp L0043EA1A L0043E9F2: mov eax,[ecx+00000100h] cmp eax,esi jz L0043EA08 L0043E9FC: mov ecx,eax mov eax,[ecx+00000100h] cmp eax,esi jnz L0043E9FC L0043EA08: mov edx,[ecx+00000100h] mov eax,[edx+00000100h] mov [ecx+00000100h],eax L0043EA1A: mov ecx,[esi+0000009Ch] mov edx,[ecx] call [edx+14h] mov ecx,[esi+0000009Ch] mov eax,[ecx] call [eax+10h] L0043EA30: mov ecx,[esi+00000104h] test ecx,ecx jz L0043EA71 mov edx,[ecx+08h] mov eax,[edx+08h] test eax,eax jz L0043EA4F push eax mov [ecx+08h],eax call SUB_L00443F00 jmp L0043EA71 L0043EA4F: mov al,[ecx+0Ch] dec al mov [ecx+0Ch],al jz L0043EA67 mov eax,[ecx+04h] push eax mov [ecx+08h],eax call SUB_L00443F00 jmp L0043EA71 L0043EA67: test ecx,ecx jz L0043EA71 mov eax,[ecx] push 00000001h call [eax] L0043EA71: mov ecx,esi mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00441D50 mov ecx,[ebp-0Ch] pop esi mov fs:[00000000h],ecx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 4 L0043EA90: push ebp mov ebp,esp push FFFFFFFFh push L004B309E mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000018h push ebx push esi mov esi,ecx xor ebx,ebx push edi mov edx,[esi+000000A0h] mov ax,[esi+000000DAh] cmp edx,ebx mov [ebp-18h],ax jnz L0043EAE4 cmp [esi+0000009Ch],ebx jz L0043EFBA cmp [esi+000000E8h],ebx jnz L0043EDCA jmp L0043EFBA L0043EAE4: cmp [esi+000000E8h],ebx jnz L0043EDCA mov ecx,[esi+0000009Ch] cmp ecx,ebx jz L0043F05C mov ax,[esi+00000094h] lea edi,[esi+00000094h] cmp ax,[ecx+20h] jnz L0043EB2F mov ax,[esi+00000096h] cmp ax,[ecx+22h] jnz L0043EB2F mov ax,[esi+00000098h] cmp ax,[ecx+24h] jz L0043ECCB L0043EB2F: mov ebx,[ecx+20h] mov eax,edi mov [eax],ebx mov bx,[ecx+24h] mov [eax+04h],bx mov eax,[ecx+04h] add eax,[ecx+0Ch] sar eax,1 mov [esi+000000A4h],eax mov ebx,[L004DAF40] sub eax,ebx mov [esi+000000A4h],eax mov eax,[ecx+10h] add eax,[ecx+08h] sar eax,1 mov [esi+000000A8h],eax mov ecx,[L004DAF44] sub eax,ecx movsx ecx,[edi] mov [ebp-10h],ecx mov [esi+000000A8h],eax fild dword ptr [ebp-10h] fsub qword ptr [edx+40h] fstp qword ptr [edx+58h] movsx edx,[esi+00000096h] mov eax,[esi+000000A0h] mov [ebp-10h],edx fild dword ptr [ebp-10h] xor edx,edx fsub qword ptr [eax+48h] fstp qword ptr [eax+60h] movsx ecx,[esi+00000098h] mov eax,[esi+000000A0h] mov [ebp-10h],ecx fild dword ptr [ebp-10h] fsub qword ptr [eax+50h] fstp qword ptr [eax+68h] fild dword ptr [esi+000000A4h] fsub qword ptr [esi+000000C0h] fstp qword ptr [esi+000000B0h] fild dword ptr [esi+000000A8h] fsub qword ptr [esi+000000C8h] fstp qword ptr [esi+000000B8h] fld qword ptr [esi+000000B0h] fld qword ptr [esi+000000B8h] fst qword ptr [ebp-24h] fld ST(1) fmul ST,ST(2) fld ST(1) fmul ST,ST(2) faddp ST(1),ST fsqrt fstp qword ptr [ebp-14h] fstp ST(0) fdiv qword ptr [ebp-14h] fstp qword ptr [esi+000000B0h] fld qword ptr [ebp-24h] fdiv qword ptr [ebp-14h] fstp qword ptr [esi+000000B8h] mov dl,[esi+000000D4h] mov eax,[esi+000000A0h] mov [ebp-10h],edx fild dword ptr [ebp-10h] fld ST(0) fmul qword ptr [esi+000000B0h] fxch ST(1) fmul qword ptr [esi+000000B8h] fld ST(1) fild dword ptr [esi+000000A4h] fsub qword ptr [esi+000000C0h] fxch ST(1) fstp qword ptr [esi+000000B0h] fxch ST(1) fstp qword ptr [esi+000000B8h] fxch ST(1) fmul qword ptr [eax+58h] fxch ST(1) fdivp ST(1),ST xor ebx,ebx fstp qword ptr [eax+58h] mov eax,[esi+000000A0h] fild dword ptr [esi+000000A4h] fld qword ptr [eax+60h] fmul qword ptr [esi+000000B0h] fxch ST(1) fsub qword ptr [esi+000000C0h] fdivp ST(1),ST fstp qword ptr [eax+60h] mov eax,[esi+000000A0h] fild dword ptr [esi+000000A4h] fld qword ptr [eax+68h] fmul qword ptr [esi+000000B0h] fxch ST(1) fsub qword ptr [esi+000000C0h] fdivp ST(1),ST fstp qword ptr [eax+68h] cmp [esi+000000E4h],ebx jz L0043ECCB fld qword ptr [esi+000000B8h] fld qword ptr [esi+000000B0h] fpatan push ecx fstp dword ptr [esp] call SUB_L00435CB0 add al,80h mov [esi+000000D0h],al L0043ECCB: mov eax,[esi+000000A4h] mov edx,[esi+2Ch] sub eax,edx cdq xor eax,edx sub eax,edx cmp eax,00000018h jg L0043ED88 mov eax,[esi+000000A8h] mov edx,[esi+30h] sub eax,edx cdq xor eax,edx sub eax,edx cmp eax,00000018h jg L0043ED88 cmp [esi+000000E0h],ebx jz L0043EFBA mov cx,[edi+04h] mov eax,[edi] mov [ebp-18h],cx mov ecx,[ebp-18h] mov [ebp-1Ch],eax mov dx,[ebp-1Ch] mov ax,[ebp-1Ah] lea edi,[ecx+01h] push 00000108h mov [ebp-04h],ebx mov [ebp-14h],dx mov [ebp-12h],ax mov [ebp-10h],di call SUB_L0049A820 add esp,00000004h mov [ebp-18h],eax cmp eax,ebx mov byte ptr [ebp-04h],01h jz L0043ED6D push ebx push ebx mov ecx,[ebp-14h] push 00000009h push 0000000Ah push 000036CBh sub esp,00000008h mov edx,esp mov [edx],ecx mov ecx,eax mov [edx+04h],di call SUB_L0043E3C0 jmp L0043ED6F L0043ED6D: xor eax,eax L0043ED6F: push 00000001h push ebx mov ecx,eax mov [ebp-04h],bl call SUB_L004415C0 mov dword ptr [ebp-04h],FFFFFFFFh jmp L0043EFBA L0043ED88: fld qword ptr [esi+000000B8h] fld qword ptr [esi+000000B0h] fadd qword ptr [esi+000000C0h] fxch ST(1) fadd qword ptr [esi+000000C8h] fxch ST(1) fst qword ptr [ebp-14h] fld ST(1) fld qword ptr [ebp-14h] fxch ST(2) fstp qword ptr [esi+000000C0h] fstp qword ptr [esi+000000C8h] call SUB_L0049BB80 mov [esi+2Ch],eax call SUB_L0049BB80 mov [esi+30h],eax L0043EDCA: mov dl,[esi+000000D3h] mov cl,[esi+000000D2h] inc dl mov al,dl mov [esi+000000D3h],dl cmp al,cl jc L0043EF1D mov eax,[esi+000000F8h] mov [esi+000000D3h],bl cmp eax,ebx jz L0043EE5A mov cx,[esi+000000D6h] mov eax,ecx and eax,0000FFFFh lea eax,[eax+eax*8] shl eax,03h mov dl,[eax+L0054943A] inc word ptr [esi+000000D8h] mov [esi+000000D2h],dl mov dx,[esi+000000D8h] movzx di,[eax+L00549439] cmp dx,di jc L0043EE3A mov [esi+000000D8h],bx L0043EE3A: xor edx,edx mov dx,[esi+000000D8h] movsx ax,[eax+edx+L005493F8] add eax,ecx mov [esi+000000DAh],ax jmp L0043EF1D L0043EE5A: cmp [esi+000000FCh],ebx jz L0043EE8F xor ecx,ecx xor edx,edx mov cx,[esi+000000D8h] mov dx,[esi+000000D6h] sub ecx,edx inc ecx call SUB_L00455460 add ax,[esi+000000D6h] mov [esi+000000DAh],ax jmp L0043EF1D L0043EE8F: cmp [esi+000000ECh],ebx jz L0043EED9 dec word ptr [esi+000000DAh] mov cx,[esi+000000DAh] mov ax,[esi+000000D6h] cmp cx,ax jnc L0043EF1D cmp [esi+000000F0h],ebx jz L0043EEC9 inc eax mov [esi+000000ECh],ebx mov [esi+000000DAh],ax jmp L0043EF1D L0043EEC9: mov ax,[esi+000000D8h] mov [esi+000000DAh],ax jmp L0043EF1D L0043EED9: inc word ptr [esi+000000DAh] mov cx,[esi+000000DAh] mov ax,[esi+000000D8h] cmp cx,ax jbe L0043EF1D cmp [esi+000000F0h],ebx jz L0043EF0F dec eax mov dword ptr [esi+000000ECh],00000001h mov [esi+000000DAh],ax jmp L0043EF1D L0043EF0F: mov cx,[esi+000000D6h] mov [esi+000000DAh],cx L0043EF1D: cmp [esi+000000DCh],ebx jz L0043EF2C add byte ptr [esi+000000D0h],14h L0043EF2C: cmp [esi+000000E8h],ebx jnz L0043EFAA mov eax,[esi+000000A0h] fld qword ptr [eax+58h] fadd qword ptr [eax+40h] fstp qword ptr [eax+40h] mov eax,[esi+000000A0h] fld qword ptr [eax+60h] fadd qword ptr [eax+48h] fstp qword ptr [eax+48h] mov eax,[esi+000000A0h] fld qword ptr [eax+68h] fadd qword ptr [eax+50h] fstp qword ptr [eax+50h] mov esi,[esi+000000A0h] mov ecx,esi mov edx,[esi] call [edx+14h] fld qword ptr [esi+40h] call SUB_L0049BB80 fld qword ptr [esi+48h] mov [esi+20h],ax call SUB_L0049BB80 fld qword ptr [esi+50h] mov [esi+22h],ax call SUB_L0049BB80 mov [esi+24h],ax mov eax,[esi] mov ecx,esi call [eax+10h] mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L0043EFAA: mov al,[esi+000000D1h] dec al mov [esi+000000D1h],al jnz L0043EFDB L0043EFBA: cmp esi,ebx jz L0043F04B mov edx,[esi] push 00000001h mov ecx,esi call [edx] mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L0043EFDB: mov ax,[ebp-18h] cmp ax,[esi+000000DAh] jz L0043F04B mov edi,[esi+000000A0h] cmp edi,ebx jz L0043F035 mov edx,[edi] mov ecx,edi call [edx+14h] fld qword ptr [edi+40h] call SUB_L0049BB80 fld qword ptr [edi+48h] mov [edi+20h],ax call SUB_L0049BB80 fld qword ptr [edi+50h] mov [edi+22h],ax call SUB_L0049BB80 mov [edi+24h],ax mov eax,[edi] mov ecx,edi call [eax+10h] mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L0043F035: mov ecx,[esi+0000009Ch] mov edx,[ecx] call [edx+14h] mov ecx,[esi+0000009Ch] mov eax,[ecx] call [eax+10h] L0043F04B: mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L0043F05C: fld qword ptr [esi+000000B8h] fld qword ptr [esi+000000B0h] fadd qword ptr [esi+000000C0h] fxch ST(1) fadd qword ptr [esi+000000C8h] fxch ST(1) fst qword ptr [ebp-14h] fld ST(1) fld qword ptr [ebp-14h] fxch ST(2) fstp qword ptr [esi+000000C0h] fstp qword ptr [esi+000000C8h] call SUB_L0049BB80 mov [esi+2Ch],eax call SUB_L0049BB80 mov [esi+30h],eax mov al,[esi+000000D1h] dec al mov [esi+000000D1h],al jnz L0043EDCA cmp [esi+000000E0h],ebx jz L0043EFBA push 00000108h call SUB_L0049A820 add esp,00000004h mov [ebp-18h],eax cmp eax,ebx mov dword ptr [ebp-04h],00000002h jz L0043F104 push ebx push ebx push 0000000Dh push 0000000Ah push 000036B1h lea ecx,[esi+00000094h] sub esp,00000008h mov edi,[ecx] mov edx,esp mov cx,[ecx+04h] mov [edx],edi mov [edx+04h],cx mov ecx,eax call SUB_L0043E3C0 jmp L0043F106 L0043F104: xor eax,eax L0043F106: push 00000001h push ebx mov ecx,eax mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L004415C0 jmp L0043EFBA Align 8 L0043F120: push ebp mov ebp,esp xor eax,eax pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 8 SUB_L0043F130: push ebp mov ebp,esp push esi mov esi,[ecx+18h] test esi,esi jz L0043F1A4 push edi mov edi,[ebp+0Ch] push ebx mov ebx,[ebp+08h] L0043F143: mov eax,[esi] mov ecx,esi call [eax+00000114h] test eax,eax jz L0043F19B fild dword ptr [ebp+08h] mov eax,[esi+2Ch] mov edx,[esi+30h] mov ecx,[esi+000000A4h] add eax,ebx fadd qword ptr [esi+000000C0h] mov [esi+2Ch],eax mov eax,[esi+000000A8h] add edx,edi add ecx,ebx add eax,edi mov [esi+30h],edx fstp qword ptr [esi+000000C0h] fild dword ptr [ebp+0Ch] mov [esi+000000A4h],ecx mov [esi+000000A8h],eax fadd qword ptr [esi+000000C8h] fstp qword ptr [esi+000000C8h] L0043F19B: mov esi,[esi+3Ch] test esi,esi jnz L0043F143 pop ebx pop edi L0043F1A4: pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 8 SUB_L0043F1B0: push esi mov esi,[ecx+18h] push edi mov edi,[L00669C58] test esi,esi jz L0043F1EB L0043F1BF: mov eax,[esi+3Ch] mov ecx,esi mov [L00669C58],eax mov edx,[esi] call [edx+00000114h] test eax,eax jz L0043F1E1 test esi,esi jz L0043F1E1 mov eax,[esi] push 00000001h mov ecx,esi call [eax] L0043F1E1: mov esi,[L00669C58] test esi,esi jnz L0043F1BF L0043F1EB: mov [L00669C58],edi pop edi pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L0043F200: push ebp mov ebp,esp push FFFFFFFFh push L004B30BB mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi push 000002B0h call SUB_L0049A820 add esp,00000004h mov [ebp-10h],eax test eax,eax mov dword ptr [ebp-04h],00000000h jz L0043F25A mov ecx,[ebp+18h] mov edx,[ebp+14h] push ecx mov ecx,[ebp+10h] push edx mov edx,[ebp+0Ch] push ecx mov ecx,[ebp+08h] push 00000000h push edx push ecx push FFFFFFFFh push FFFFFFFFh mov ecx,eax call SUB_L00443490 mov esi,eax jmp L0043F25C L0043F25A: xor esi,esi L0043F25C: push 00000001h push 00000000h mov ecx,esi mov dword ptr [ebp-04h],FFFFFFFFh mov [L00669630],esi call SUB_L004415C0 mov ecx,[ebp-0Ch] mov eax,esi mov fs:[00000000h],ecx pop esi mov esp,ebp pop ebp retn 0014h ;------------------------------------------------------------------------------ Align 16 SUB_L0043F290: push esi mov esi,[ecx+18h] push edi mov edi,[L00669C58] test esi,esi jz L0043F2CB L0043F29F: mov eax,[esi+3Ch] mov ecx,esi mov [L00669C58],eax mov edx,[esi] call [edx+00000094h] test eax,eax jz L0043F2C1 test esi,esi jz L0043F2C1 mov eax,[esi] push 00000001h mov ecx,esi call [eax] L0043F2C1: mov esi,[L00669C58] test esi,esi jnz L0043F29F L0043F2CB: mov [L00669C58],edi pop edi pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L0043F2E0: push esi mov esi,ecx mov eax,[esi+74h] test eax,eax jnz L0043F2EF call SUB_L00495230 L0043F2EF: call SUB_L004951C0 mov eax,[L007B8310] push eax call [USER32.dll!GetDC] push eax call [GDI32.dll!CreateCompatibleDC] mov ecx,[L006BB18C] mov [L004F3FF0],eax test ecx,ecx jz L0043F32B mov ecx,[L006BB194] push 00000000h push ecx push eax call [GDI32.dll!SelectPalette] mov eax,[L004F3FF0] L0043F32B: mov edx,[esi+00000608h] push edx push eax call [GDI32.dll!SelectObject] mov dword ptr [esi+74h],00000000h pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L0043F350: push ebp mov ebp,esp push ecx push ebx push esi mov esi,[ebp+14h] push edi test esi,esi mov [ebp-04h],ecx jz L0043F483 mov ebx,[ebp+10h] mov edi,[ebp+08h] L0043F36B: cmp edi,[esi+34h] jnz L0043F399 mov eax,[esi] mov ecx,esi call [eax+000000D0h] test eax,eax jnz L0043F478 cmp edi,[esi+34h] jnz L0043F399 mov edx,[esi] mov ecx,esi call [edx+000000B8h] test eax,eax jnz L0043F478 L0043F399: mov eax,[edi] mov ecx,edi call [eax+30h] test eax,eax jz L0043F3C6 cmp edi,[esi+34h] jnz L0043F3C6 mov eax,[ebp+0Ch] test eax,eax jnz L0043F3C6 test ebx,ebx jnz L0043F3C6 mov edx,[esi] mov ecx,esi call [edx+000000ACh] test eax,eax jnz L0043F478 L0043F3C6: mov eax,[edi] mov ecx,edi call [eax+24h] test eax,eax jz L0043F3EF cmp edi,[esi+34h] jnz L0043F3EF mov eax,[ebp+0Ch] test eax,eax jz L0043F3EF mov edx,[esi] mov ecx,esi call [edx+0000008Ch] test eax,eax jnz L0043F478 L0043F3EF: mov eax,[edi] mov ecx,edi call [eax+24h] test eax,eax jz L0043F411 cmp edi,[esi+34h] jnz L0043F411 test ebx,ebx jz L0043F411 mov edx,[esi] mov ecx,esi call [edx+000000BCh] test eax,eax jnz L0043F478 L0043F411: mov eax,[edi] mov ecx,edi call [eax+24h] test eax,eax jz L0043F448 cmp edi,[esi+34h] jnz L0043F448 mov eax,[ebp+0Ch] test eax,eax jnz L0043F448 test ebx,ebx jnz L0043F448 mov edx,[esi] mov ecx,esi call [edx+0000008Ch] test eax,eax jnz L0043F448 mov eax,[esi] mov ecx,esi call [eax+000000BCh] test eax,eax jz L0043F478 L0043F448: mov eax,[esi+44h] test eax,eax jz L0043F462 mov ecx,[ebp+0Ch] push eax push ebx push ecx mov ecx,[ebp-04h] push edi call SUB_L0043F350 test eax,eax jnz L0043F485 L0043F462: mov esi,[esi+3Ch] test esi,esi jnz L0043F36B xor eax,eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0010h ;------------------------------------------------------------------------------ L0043F478: mov eax,esi pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0010h ;------------------------------------------------------------------------------ L0043F483: xor eax,eax L0043F485: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0010h ;------------------------------------------------------------------------------ Align 4 SUB_L0043F490: push esi mov esi,ecx mov ecx,[esi+000000BCh] test ecx,ecx jz L0043F4C0 mov eax,[ecx] call [eax+24h] test eax,eax jz L0043F4AD mov eax,00000001h pop esi retn ;------------------------------------------------------------------------------ L0043F4AD: mov ecx,[esi+000000BCh] mov edx,[ecx] call [edx+54h] neg eax sbb eax,eax neg eax pop esi retn ;------------------------------------------------------------------------------ L0043F4C0: xor eax,eax pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L0043F4D0: push ebp mov ebp,esp sub esp,00000008h push ebx push esi mov esi,[ecx+28h] push edi test esi,esi mov [ebp-08h],ecx jz L0043F559 mov edi,[ebp+08h] mov ebx,[ebp+0Ch] test esi,esi mov dword ptr [ebp+08h],00000000h jz L0043F517 L0043F4F4: mov eax,[esi] mov ecx,esi call [eax+78h] mov ecx,[ebp+08h] mov edx,[esi+2Ch] or ecx,eax sub edi,edx mov [ebp+08h],ecx mov ecx,[esi+30h] mov esi,[esi+48h] sub ebx,ecx test esi,esi jnz L0043F4F4 mov ecx,[ebp-08h] L0043F517: mov eax,[ebp+08h] test eax,eax jz L0043F52D mov edx,[L007121F8] mov eax,[L007121FC] sub edi,edx sub ebx,eax L0043F52D: mov ecx,[ecx+28h] push ebx push edi mov edx,[ecx] call [edx+10h] test eax,eax jz L0043F63A mov eax,[ebp-08h] mov ecx,[eax+28h] mov eax,[ebp+10h] push eax push ebx mov edx,[ecx] push edi call [edx+04h] pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0010h ;------------------------------------------------------------------------------ L0043F559: mov esi,[ecx+18h] test esi,esi mov [ebp-08h],esi jz L0043F63A L0043F567: mov edi,[ebp+08h] mov ebx,[ebp+0Ch] mov dword ptr [ebp-04h],00000000h L0043F574: mov edx,[esi] mov ecx,esi call [edx+78h] mov ecx,[ebp-04h] mov edx,[esi+2Ch] or ecx,eax sub edi,edx mov [ebp-04h],ecx mov ecx,[esi+30h] mov esi,[esi+48h] sub ebx,ecx test esi,esi jnz L0043F574 mov eax,[ebp-04h] test eax,eax jz L0043F5AA mov ecx,[L007121F8] mov eax,[L007121FC] sub edi,ecx sub ebx,eax L0043F5AA: mov esi,[ebp-08h] mov eax,[ebp+10h] cmp esi,eax jz L0043F5FF mov eax,[esi+68h] test eax,eax jz L0043F5FF mov eax,[esi] push ebx push edi mov ecx,esi call [eax+10h] test eax,eax jz L0043F5FF mov edx,[esi] mov ecx,esi call [edx+00000098h] test eax,eax jz L0043F624 mov eax,[ebp+14h] test eax,eax jz L0043F60E mov ecx,[esi+000000BCh] test ecx,ecx jz L0043F5FF mov eax,[ecx] call [eax+24h] test eax,eax jnz L0043F624 mov ecx,[esi+000000BCh] mov edx,[ecx] call [edx+54h] test eax,eax jnz L0043F624 L0043F5FF: mov esi,[esi+3Ch] test esi,esi mov [ebp-08h],esi jz L0043F63A jmp L0043F567 L0043F60E: mov ecx,[ebp+10h] mov eax,[esi] push ecx push ebx push edi mov ecx,esi call [eax+04h] pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0010h ;------------------------------------------------------------------------------ L0043F624: mov eax,[ebp+10h] mov edx,[esi] push eax push ebx push edi mov ecx,esi call [edx+04h] pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0010h ;------------------------------------------------------------------------------ L0043F63A: pop edi pop esi xor eax,eax pop ebx mov esp,ebp pop ebp retn 0010h ;------------------------------------------------------------------------------ Align 16 SUB_L0043F650: push ebp mov ebp,esp push FFFFFFFFh push L004B30DB mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000028h push ebx mov ebx,[ebp+08h] push esi push edi mov eax,[ebx+0Ch] mov edx,[ebx+04h] cmp eax,edx mov [ebp-10h],ecx mov [ebp-1Ch],edx jle L0043FB02 mov edx,[ebx+08h] mov esi,[ebx] cmp edx,esi mov [ebp-18h],edx mov [ebp-14h],esi jle L0043FB02 mov ecx,[L007121FC] mov esi,[L004C7F34] imul ecx,esi mov edx,[L0073EA70] sub edx,ecx mov ecx,[L007121F8] sub edx,ecx jns L0043F6C4 mov ecx,[L004C7F38] imul ecx,esi add edx,ecx L0043F6C4: mov ecx,esi mov edi,[ebp-14h] imul ecx,[ebp-1Ch] add edi,ecx dec eax imul eax,esi mov ecx,[ebp-18h] lea eax,[eax+ecx-01h] mov [ebp-20h],eax mov eax,[L004C7F38] imul eax,esi mov ecx,eax sub ecx,edx cmp edi,ecx jge L0043F6FD cmp [ebp-20h],ecx jl L0043F706 mov ebx,[ebp+08h] cmp edi,ecx jl L0043FA04 L0043F6FD: cmp [ebp-20h],ecx jl L0043FA01 L0043F706: mov esi,[L006BAE7C] cmp edi,ecx mov [ebp-24h],esi jl L0043F715 sub edx,eax L0043F715: mov ecx,[L006BAE7C] mov ebx,[ebp-10h] lea eax,[edx+edx] add ecx,eax mov [L006BAE7C],ecx mov ecx,[L004F3FE8] add ecx,eax mov [L004E3FD0],ecx mov dword ptr [ebx+10h],00000000h mov al,[L004CCB30] test al,al jz L0043F8B7 lea edx,[ebp-18h] lea eax,[ebp-20h] xor esi,esi push edx push eax mov ecx,L006A9DC0 mov [ebp-1Ch],esi mov [ebp-14h],esi call SUB_L00450540 lea ecx,[ebp-14h] lea edx,[ebp-1Ch] push ecx push edx mov ecx,L006A9DC0 call SUB_L004505E0 mov eax,[ebp-18h] mov ecx,[ebp-20h] push esi push esi push eax push ecx mov ecx,ebx call SUB_L0043F4D0 mov edi,eax cmp edi,esi jz L0043F8B7 mov eax,[edi+04h] mov esi,SSZ004C54D8_tutorial_gump L0043F79A: mov dl,[eax] mov cl,dl cmp dl,[esi] jnz L0043F7BE test cl,cl jz L0043F7BA mov dl,[eax+01h] mov cl,dl cmp dl,[esi+01h] jnz L0043F7BE add eax,00000002h add esi,00000002h test cl,cl jnz L0043F79A L0043F7BA: xor eax,eax jmp L0043F7C3 L0043F7BE: sbb eax,eax sbb eax,FFFFFFFFh L0043F7C3: test eax,eax jz L0043F8B7 cmp [L004F3FF4],edi jz L0043F7E9 mov [L004F3FF4],edi call [KERNEL32.dll!GetTickCount] mov [L004F3FF8],eax jmp L0043F8B7 L0043F7E9: call [KERNEL32.dll!GetTickCount] mov edx,[L004F3FF8] mov ecx,[L004CCDF4] sub eax,edx cmp eax,ecx jbe L0043F8B7 mov eax,[edi+50h] mov ecx,ebx push eax call SUB_L0043FC10 mov esi,eax test esi,esi jz L0043F8B7 mov ecx,esi call SUB_L00493EC0 cmp word ptr [eax],0000h jz L0043F8B7 push 000000ACh call SUB_L0049A820 mov edi,eax add esp,00000004h mov [ebp-10h],edi test edi,edi mov dword ptr [ebp-04h],00000000h jz L0043F85D mov ecx,esi call SUB_L00493EC0 push eax push 00000000h push 00000000h mov ecx,edi call SUB_L0048ED20 jmp L0043F85F L0043F85D: xor eax,eax L0043F85F: mov ecx,[ebp-20h] mov dword ptr [ebp-04h],FFFFFFFFh cmp ecx,00000140h mov [ebx+10h],eax jle L0043F879 sub ecx,[eax+1Ch] jmp L0043F87E L0043F879: mov edx,[ebp-1Ch] add ecx,edx L0043F87E: mov edx,[ebp-18h] cmp edx,000000F0h jle L0043F88C sub edx,[eax+20h] L0043F88C: cmp ecx,[L004C7F34] jge L0043F8A4 cmp edx,[L004C7F38] jge L0043F8A4 mov [eax+2Ch],ecx mov [eax+30h],edx jmp L0043F8B7 L0043F8A4: test eax,eax jz L0043F8B0 mov edx,[eax] push 00000001h mov ecx,eax call [edx] L0043F8B0: mov dword ptr [ebx+10h],00000000h L0043F8B7: mov esi,[ebx+1Ch] mov edi,[ebp+08h] test esi,esi jz L0043F8D0 L0043F8C1: mov eax,[esi] push edi mov ecx,esi call [eax+08h] mov esi,[esi+40h] test esi,esi jnz L0043F8C1 L0043F8D0: mov esi,[ebx+1Ch] test esi,esi jz L0043F8E6 L0043F8D7: mov edx,[esi] push edi mov ecx,esi call [edx+0Ch] mov esi,[esi+40h] test esi,esi jnz L0043F8D7 L0043F8E6: mov ecx,[ebx+10h] test ecx,ecx jz L0043F8F3 mov eax,[ecx] push 00000001h call [eax] L0043F8F3: mov eax,[ebp+0Ch] mov ecx,[ebp-24h] mov dword ptr [ebx+10h],00000000h mov [L006BAE7C],ecx test eax,eax jz L0043FBFA mov eax,[ebx+74h] test eax,eax jnz L0043F973 mov ecx,[edi] xor esi,esi mov [L004F3FD8],ecx mov eax,[edi+04h] mov [L004F3FDC],eax mov edx,[edi+08h] mov [L004F3FE0],edx mov edi,[edi+0Ch] cmp eax,esi mov [L004F3FE4],edi jge L0043F943 mov [L004F3FDC],esi L0043F943: cmp ecx,esi jge L0043F94D mov [L004F3FD8],esi L0043F94D: mov eax,[L004C7F38] cmp edi,eax jle L0043F95B mov [L004F3FE4],eax L0043F95B: mov eax,[L004C7F34] cmp edx,eax jle L0043F969 mov [L004F3FE0],eax L0043F969: call SUB_L00435C50 call SUB_L0049A0D0 L0043F973: mov edx,[L004F3FEC] lea ecx,[edx-01h] test ecx,ecx mov [ebp-20h],ecx jl L0043FBF0 mov eax,ecx shl eax,04h add eax,L004E3FE4 L0043F991: cmp ecx,00000064h jg L0043FBF0 mov edx,[eax-08h] mov ebx,[eax] mov esi,[L004DFFD0+ecx*4] mov edi,[L004DBFD0+ecx*4] cmp edx,ebx mov [ebp+0Ch],esi mov [ebp+08h],edi jge L0043F9F1 L0043F9B7: mov ecx,[eax-04h] mov ebx,[eax-0Ch] sub ecx,ebx shl ecx,1 mov ebx,ecx shr ecx,02h rep movsd mov ecx,ebx and ecx,00000003h rep movsb mov ecx,[L004C7F34] mov edi,[ebp+08h] mov esi,[ebp+0Ch] add ecx,ecx add edi,ecx add esi,ecx mov ecx,[eax] inc edx cmp edx,ecx mov [ebp+08h],edi mov [ebp+0Ch],esi jl L0043F9B7 mov ecx,[ebp-20h] L0043F9F1: dec ecx sub eax,00000010h test ecx,ecx mov [ebp-20h],ecx jge L0043F991 jmp L0043FBF0 L0043FA01: mov ebx,[ebp+08h] L0043FA04: mov eax,ecx cdq idiv esi mov eax,ecx mov edi,edx cdq idiv esi mov esi,eax mov eax,[ebp-14h] cmp edi,eax mov eax,[ebp-18h] jle L0043FAAF cmp edi,eax jge L0043FAB3 mov eax,[ebp-14h] mov edx,[ebp-1Ch] lea ecx,[ebp-34h] mov [ebp-34h],eax push 00000000h lea eax,[esi+01h] push ecx mov ecx,[ebp-10h] mov [ebp-30h],edx mov [ebp-2Ch],edi mov [ebp+08h],eax mov [ebp-28h],eax call SUB_L0043F650 mov edx,[ebx+08h] mov ecx,[ebp-10h] lea eax,[ebp-34h] push 00000000h push eax mov [ebp-34h],edi mov [ebp-2Ch],edx mov [ebp-28h],esi call SUB_L0043F650 mov ecx,[ebx+0Ch] mov [ebp-30h],esi mov esi,[ebp-10h] lea edx,[ebp-34h] mov [ebp-28h],ecx push 00000000h push edx mov ecx,esi call SUB_L0043F650 mov ecx,[ebp+08h] mov eax,[ebx] lea edx,[ebp-34h] mov [ebp-30h],ecx push 00000001h push edx mov ecx,esi mov [ebp-34h],eax mov [ebp-2Ch],edi call SUB_L0043F650 mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L0043FAAF: cmp edi,eax jl L0043FAB4 L0043FAB3: inc esi L0043FAB4: mov eax,[ebp-1Ch] mov ecx,[ebp-14h] mov edi,[ebp-10h] mov edx,[ebp-18h] mov [ebp-30h],eax lea eax,[ebp-34h] mov [ebp-34h],ecx push 00000000h push eax mov ecx,edi mov [ebp-2Ch],edx mov [ebp-28h],esi call SUB_L0043F650 mov ecx,[ebx+0Ch] lea edx,[ebp-34h] mov [ebp-28h],ecx push 00000001h push edx mov ecx,edi mov [ebp-30h],esi call SUB_L0043F650 mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L0043FB02: mov eax,[ebp+0Ch] xor esi,esi cmp eax,esi jz L0043FBFA cmp [ecx+74h],esi jnz L0043FB70 mov ecx,[ebx] mov [L004F3FD8],ecx mov eax,[ebx+04h] mov [L004F3FDC],eax mov edx,[ebx+08h] mov [L004F3FE0],edx mov ebx,[ebx+0Ch] cmp eax,esi mov [L004F3FE4],ebx jge L0043FB40 mov [L004F3FDC],esi L0043FB40: cmp ecx,esi jge L0043FB4A mov [L004F3FD8],esi L0043FB4A: mov eax,[L004C7F38] cmp ebx,eax jle L0043FB58 mov [L004F3FE4],eax L0043FB58: mov eax,[L004C7F34] cmp edx,eax jle L0043FB66 mov [L004F3FE0],eax L0043FB66: call SUB_L00435C50 call SUB_L0049A0D0 L0043FB70: mov eax,[L004F3FEC] lea ecx,[eax-01h] cmp ecx,esi mov [ebp-20h],ecx jl L0043FBF0 mov eax,ecx shl eax,04h add eax,L004E3FE4 L0043FB89: cmp ecx,00000064h jg L0043FBF0 mov edx,[eax-08h] mov ebx,[eax] mov esi,[L004DFFD0+ecx*4] mov edi,[L004DBFD0+ecx*4] cmp edx,ebx mov [ebp+0Ch],esi mov [ebp+08h],edi jge L0043FBE5 L0043FBAB: mov ecx,[eax-04h] mov ebx,[eax-0Ch] sub ecx,ebx shl ecx,1 mov ebx,ecx shr ecx,02h rep movsd mov ecx,ebx and ecx,00000003h rep movsb mov ecx,[L004C7F34] mov edi,[ebp+08h] mov esi,[ebp+0Ch] add ecx,ecx add edi,ecx add esi,ecx mov ecx,[eax] inc edx cmp edx,ecx mov [ebp+08h],edi mov [ebp+0Ch],esi jl L0043FBAB mov ecx,[ebp-20h] L0043FBE5: dec ecx sub eax,00000010h test ecx,ecx mov [ebp-20h],ecx jge L0043FB89 L0043FBF0: mov dword ptr [L004F3FEC],00000000h L0043FBFA: mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 4 SUB_L0043FC10: push ebp mov ebp,esp push esi mov esi,[ebp+08h] test esi,esi jl L0043FD97 push 00000001h push 00000000h push 00000000h xor edx,edx mov ecx,SSZ004C6B20_gt_5400 call SUB_L0044B850 test eax,eax jz L0043FC57 cmp esi,00001518h jl L0043FC57 mov edx,[eax+20h] lea ecx,[esi-00001518h] cmp ecx,edx jge L0043FC57 push ecx mov ecx,eax call SUB_L0044C840 pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ L0043FC57: push 00000001h push 00000000h push 00000000h xor edx,edx mov ecx,SSZ004C6B18_gt_5000 call SUB_L0044B850 test eax,eax jz L0043FC8F cmp esi,00001388h jl L0043FC8F mov edx,[eax+20h] lea ecx,[esi-00001388h] cmp ecx,edx jge L0043FC8F push ecx mov ecx,eax call SUB_L0044C840 pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ L0043FC8F: push 00000001h push 00000000h push 00000000h xor edx,edx mov ecx,SSZ004C6B10_gt_2400 call SUB_L0044B850 test eax,eax jz L0043FCC7 cmp esi,00000960h jl L0043FCC7 mov edx,[eax+20h] lea ecx,[esi-00000960h] cmp ecx,edx jge L0043FCC7 push ecx mov ecx,eax call SUB_L0044C840 pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ L0043FCC7: push 00000001h push 00000000h push 00000000h xor edx,edx mov ecx,SSZ004C6B08_gt_2310 call SUB_L0044B850 test eax,eax jz L0043FCFF cmp esi,00000906h jl L0043FCFF mov edx,[eax+20h] lea ecx,[esi-00000906h] cmp ecx,edx jge L0043FCFF push ecx mov ecx,eax call SUB_L0044C840 pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ L0043FCFF: push 00000001h push 00000000h push 00000000h xor edx,edx mov ecx,SSZ004C6B00_gt_2000 call SUB_L0044B850 test eax,eax jz L0043FD37 cmp esi,000007D0h jl L0043FD37 mov edx,[eax+20h] lea ecx,[esi-000007D0h] cmp ecx,edx jge L0043FD37 push ecx mov ecx,eax call SUB_L0044C840 pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ L0043FD37: push 00000001h push 00000000h push 00000000h xor edx,edx mov ecx,SSZ004C6AF8_gt_1010 call SUB_L0044B850 test eax,eax jz L0043FD6F cmp esi,000003F2h jl L0043FD6F mov edx,[eax+20h] lea ecx,[esi-000003F2h] cmp ecx,edx jge L0043FD6F push ecx mov ecx,eax call SUB_L0044C840 pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ L0043FD6F: push 00000001h push 00000000h push 00000000h xor edx,edx mov ecx,SSZ004C6AF0_gt_0000 call SUB_L0044B850 test eax,eax jz L0043FD97 cmp esi,[eax+20h] jge L0043FD97 push esi mov ecx,eax call SUB_L0044C840 pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ L0043FD97: xor eax,eax pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L0043FDA0: push esi mov esi,[L0066962C] test esi,esi jz L0043FF09 mov eax,[L007121E4] mov dword ptr [L0066962C],00000000h test eax,eax jnz L0043FF09 mov eax,[esi] mov ecx,esi call [eax+7Ch] test eax,eax jz L0043FDDD mov ecx,esi call SUB_L0043A340 jmp L0043FEF5 L0043FDDD: mov edx,[esi] mov ecx,esi call [edx+000000A8h] test eax,eax jz L0043FDFA mov eax,[esi] mov ecx,esi call [eax+00000160h] jmp L0043FEF5 L0043FDFA: mov edx,[esi] mov ecx,esi call [edx+00000140h] test eax,eax jz L0043FE14 mov ecx,esi call SUB_L0047BEB0 jmp L0043FEF5 L0043FE14: mov eax,[esi] mov ecx,esi call [eax+000000B8h] test eax,eax jz L0043FE30 push 00000000h mov ecx,esi call SUB_L0047AFE0 jmp L0043FEF5 L0043FE30: mov edx,[esi] mov ecx,esi call [edx+000000E8h] test eax,eax jz L0043FE5A cmp dword ptr [esi+50h],0000098Ch jnz L0043FE4E mov dword ptr [esi+50h],0000098Bh L0043FE4E: mov ecx,esi call SUB_L0041AC50 jmp L0043FEF5 L0043FE5A: mov eax,[esi] mov ecx,esi call [eax+000000ECh] test eax,eax jz L0043FE81 cmp dword ptr [esi+50h],0000098Ch jnz L0043FE78 mov dword ptr [esi+50h],0000098Bh L0043FE78: mov ecx,esi call SUB_L00490830 jmp L0043FEF5 L0043FE81: mov edx,[esi] mov ecx,esi call [edx+000000F0h] test eax,eax jz L0043FE9B mov eax,[esi] mov ecx,esi call [eax+00000144h] jmp L0043FEF5 L0043FE9B: mov edx,[esi] mov ecx,esi call [edx+00000108h] test eax,eax jz L0043FEB2 mov ecx,esi call SUB_L00406430 jmp L0043FEF5 L0043FEB2: mov eax,[esi] mov ecx,esi call [eax+000000CCh] test eax,eax jz L0043FEC9 mov ecx,esi call SUB_L004869B0 jmp L0043FEF5 L0043FEC9: mov edx,[esi] mov ecx,esi call [edx+00000124h] test eax,eax jz L0043FEE0 mov ecx,esi call SUB_L00413EB0 jmp L0043FEF5 L0043FEE0: mov eax,[esi] mov ecx,esi call [eax+00000128h] test eax,eax jz L0043FEF5 mov ecx,esi call SUB_L00490070 L0043FEF5: mov eax,[L005492A0] test eax,eax jz L0043FF09 mov ecx,[L006BB5D0] call SUB_L0044A3D0 L0043FF09: pop esi retn ;------------------------------------------------------------------------------ Align 8 SUB_L0043FF10: push ebp mov ebp,esp mov eax,[L0066962C] push esi mov esi,[ebp+08h] cmp eax,esi jz L0043FF3A call SUB_L0043FDA0 mov ecx,[L006BB5D0] mov [L0066962C],esi test ecx,ecx jz L0043FF3A call SUB_L0044A3D0 L0043FF3A: pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 4 L0043FF40: push ebp mov ebp,esp sub esp,00000008h push ebx push esi mov esi,ecx push edi mov eax,[esi] call [eax+0000009Ch] test eax,eax jz L0043FFEE mov edx,[esi] mov ecx,esi call [edx+000000A0h] test eax,eax jz L0043FF7A movsx ecx,[L006A9D79] xor eax,eax mov ax,[L006A9D76] jmp L0043FF87 L0043FF7A: mov esi,[esi+34h] xor ecx,ecx movsx eax,[esi+3Ah] mov cx,[esi+38h] L0043FF87: lea edx,[eax+ecx+00004000h] mov ecx,L006A9DB8 push edx call SUB_L004882D0 mov esi,[ebp+08h] xor ecx,ecx mov cx,[eax+04h] xor edx,edx mov [ebp-04h],ecx mov dx,[eax+06h] test esi,esi mov [ebp-08h],edx jl L00440091 mov edi,[ebp+0Ch] test edi,edi jl L00440091 cmp esi,ecx jge L00440091 cmp edi,edx jge L00440091 push edi push esi push eax mov ecx,L006A9DB8 call SUB_L00488300 neg ax sbb eax,eax neg eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L0043FFEE: mov ecx,[esi+50h] test ecx,ecx jl L00440036 lea eax,[ebp-08h] lea edx,[ebp-04h] push eax call SUB_L004390A0 mov edx,[ebp+08h] test edx,edx jl L00440091 mov eax,[ebp+0Ch] test eax,eax jl L00440091 cmp edx,[ebp-04h] jge L00440091 cmp eax,[ebp-08h] jge L00440091 mov ecx,[esi+50h] push eax call SUB_L00439630 neg ax sbb eax,eax neg eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L00440036: mov ecx,[esi+10h] mov edx,[esi+38h] mov ebx,[ebp+08h] mov eax,[esi+1Ch] mov edi,[edx+ecx*8+04h] mov ecx,[esi+20h] add edi,00000004h mov [ebp-04h],eax test ebx,ebx mov [ebp-08h],ecx jl L00440091 mov edx,[ebp+0Ch] test edx,edx jl L00440091 cmp ebx,eax jge L00440091 cmp edx,ecx jge L00440091 mov eax,[esi] mov ecx,esi call [eax+00000090h] test eax,eax jz L00440083 mov ecx,[ebp-04h] imul ecx,[ebp+0Ch] add ecx,ebx cmp word ptr [edi+ecx*2],0000h jz L00440091 L00440083: mov eax,00000001h pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L00440091: pop edi pop esi xor eax,eax pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 8 SUB_L004400A0: push ebp mov ebp,esp mov ecx,[ebp+0Ch] push esi test ecx,ecx push edi jz L00440117 mov eax,[ebp+08h] test eax,eax jz L00440117 mov esi,[eax+04h] test esi,esi jnz L004400E9 cmp dword ptr [eax],00000000h jnz L004400E9 mov edx,[eax+08h] test edx,edx jnz L004400E9 mov edx,[eax+0Ch] test edx,edx jnz L004400E9 mov edx,[ecx] mov [eax],edx mov edx,[ecx+04h] mov [eax+04h],edx mov edx,[ecx+08h] mov [eax+08h],edx mov ecx,[ecx+0Ch] mov [eax+0Ch],ecx pop edi pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ L004400E9: mov edx,[ecx] mov edi,[eax] cmp edx,edi jge L004400F3 mov [eax],edx L004400F3: mov edx,[ecx+04h] cmp edx,esi jge L004400FD mov [eax+04h],edx L004400FD: mov edx,[ecx+08h] mov esi,[eax+08h] cmp edx,esi jle L0044010A mov [eax+08h],edx L0044010A: mov ecx,[ecx+0Ch] mov edx,[eax+0Ch] cmp ecx,edx jle L00440117 mov [eax+0Ch],ecx L00440117: pop edi pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 4 SUB_L00440120: push ebp mov ebp,esp push ecx push ebx push esi push edi mov ebx,ecx call [KERNEL32.dll!GetTickCount] mov esi,[ebx+18h] mov [ebp-04h],eax test esi,esi jz L00440171 L00440139: mov eax,[esi] mov edi,[esi+3Ch] mov ecx,esi call [eax+00000098h] test eax,eax jz L0044016B mov ecx,[ebp-04h] mov edx,[esi+00000094h] mov eax,[esi+00000098h] sub ecx,edx cmp ecx,eax jbe L0044016B test esi,esi jz L0044016B mov edx,[esi] push 00000001h mov ecx,esi call [edx] L0044016B: test edi,edi mov esi,edi jnz L00440139 L00440171: mov ecx,[ebx+34h] test ecx,ecx jz L00440185 call SUB_L0047D370 mov ecx,[ebx+34h] call SUB_L0047D190 L00440185: mov ecx,[ebx+18h] test ecx,ecx jz L004401A3 L0044018C: mov eax,[ecx+3Ch] mov [L004F3FFC],eax mov edx,[ecx] call [edx+64h] mov ecx,[L004F3FFC] test ecx,ecx jnz L0044018C L004401A3: pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 SUB_L004401B0: push edi mov edi,[ecx+18h] test edi,edi jz L00440201 push esi L004401B9: mov eax,[edi] mov ecx,edi call [eax+00000098h] test eax,eax jz L004401F9 mov eax,[edi+000000B4h] test eax,eax jnz L004401F9 test edi,edi mov esi,edi jz L004401E8 L004401D7: mov ecx,esi call SUB_L004021B0 mov esi,[esi+000000B0h] test esi,esi jnz L004401D7 L004401E8: mov eax,[edi+000000BCh] test eax,eax jz L004401F9 mov ecx,edi call SUB_L004022C0 L004401F9: mov edi,[edi+3Ch] test edi,edi jnz L004401B9 pop esi L00440201: pop edi retn ;------------------------------------------------------------------------------ Align 16 SUB_L00440210: push ebp mov ebp,esp mov eax,[ebp+08h] and eax,0000FFFFh cmp eax,000009A8h jg L00440238 jz CASE_004404C0_PROC000A cmp eax,00000990h jz CASE_00440468_PROC0003 mov eax,00000009h pop ebp retn 0004h ;------------------------------------------------------------------------------ L00440238: cmp eax,00000A2Fh jg L00440264 cmp eax,00000A2Ch jge L004402BA add eax,FFFFF657h cmp eax,00000009h ja CASE_004404C0_PROC000B jmp [CASE_PROCTABLE_00440468+eax*4] CASE_00440468_PROC0003: mov eax,00000041h pop ebp retn 0004h ;------------------------------------------------------------------------------ L00440264: cmp eax,00000A37h jg L0044028D cmp eax,00000A34h jge L004402BA cmp eax,00000A30h jl CASE_004404C0_PROC000B cmp eax,00000A33h jle L004402B1 mov eax,00000009h pop ebp retn 0004h ;------------------------------------------------------------------------------ L0044028D: cmp eax,00000A4Bh jg L004402C3 cmp eax,00000A3Ch jge L004402BA cmp eax,00000A38h jl CASE_004404C0_PROC000B cmp eax,00000A3Bh jg CASE_004404C0_PROC000B L004402B1: mov eax,00000048h pop ebp retn 0004h ;------------------------------------------------------------------------------ L004402BA: mov eax,00000051h pop ebp retn 0004h ;------------------------------------------------------------------------------ L004402C3: cmp eax,00000A9Eh jg L00440301 cmp eax,00000A97h jge L004402F8 add eax,FFFFF5B4h cmp eax,00000007h ja CASE_004404C0_PROC000B jmp [CASE_PROCTABLE_00440490+eax*4] CASE_00440490_PROC0000: mov eax,0000004Eh pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_00440490_PROC0002: mov eax,0000004Fh pop ebp retn 0004h ;------------------------------------------------------------------------------ L004402F8: mov eax,0000004Dh pop ebp retn 0004h ;------------------------------------------------------------------------------ L00440301: cmp eax,00000E3Fh jg L00440327 cmp eax,00000E3Ch jge CASE_004404C0_PROC0008 cmp eax,00000E1Ch jz L004403DE mov eax,00000009h pop ebp retn 0004h ;------------------------------------------------------------------------------ L00440327: cmp eax,00000E75h jg L00440357 jz CASE_004404C0_PROC0003 add eax,FFFFF1C0h cmp eax,00000003h ja CASE_004404C0_PROC000B jmp [CASE_PROCTABLE_004404B0+eax*4] CASE_004404B0_PROC0000: mov eax,00000042h pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_004404B0_PROC0002: mov eax,00000049h pop ebp retn 0004h ;------------------------------------------------------------------------------ L00440357: cmp eax,00000FA6h jg L004403BD jz L004403B4 add eax,FFFFF18Ah cmp eax,0000000Dh ja CASE_004404C0_PROC000B jmp [CASE_PROCTABLE_004404C0+eax*4] CASE_004404C0_PROC0003: mov eax,0000003Ch pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_004404C0_PROC0000: mov eax,0000003Dh pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_004404C0_PROC0004: mov eax,0000003Fh pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_004404C0_PROC0007: mov eax,00000043h pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_004404C0_PROC000A: mov eax,0000004Bh pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_004404C0_PROC0008: mov eax,00000044h pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_004404C0_PROC0006: mov eax,0000004Ah pop ebp retn 0004h ;------------------------------------------------------------------------------ L004403B4: mov eax,0000091Ah pop ebp retn 0004h ;------------------------------------------------------------------------------ L004403BD: cmp eax,00001008h jg L004403E7 jz CASE_004404C0_PROC0001 sub eax,00000FABh jz CASE_004404C0_PROC0001 sub eax,00000002h jz L004403DE dec eax jz CASE_004404C0_PROC0001 mov eax,00000009h pop ebp retn 0004h ;------------------------------------------------------------------------------ L004403DE: mov eax,0000092Eh pop ebp retn 0004h ;------------------------------------------------------------------------------ L004403E7: cmp eax,00001940h jg L00440400 jz CASE_004404C0_PROC0001 cmp eax,0000154Dh jz CASE_004404C0_PROC0001 mov eax,00000009h pop ebp retn 0004h ;------------------------------------------------------------------------------ L00440400: cmp eax,00001E5Eh jg L00440429 jz L00440420 cmp eax,00001AD6h jl CASE_004404C0_PROC000B cmp eax,00001AD7h jg CASE_004404C0_PROC000B CASE_004404C0_PROC0001: mov eax,0000003Eh pop ebp retn 0004h ;------------------------------------------------------------------------------ L00440420: mov eax,00000052h pop ebp retn 0004h ;------------------------------------------------------------------------------ L00440429: cmp eax,00003E65h jg L00440442 jz L0044045C cmp eax,00002AF8h jnz CASE_004404C0_PROC000B mov eax,00000047h pop ebp retn 0004h ;------------------------------------------------------------------------------ L00440442: sub eax,00003E93h jz L0044045C sub eax,0000001Bh jz L0044045C sub eax,0000000Bh jz L0044045C CASE_004404C0_PROC000B: mov eax,00000009h pop ebp retn 0004h ;------------------------------------------------------------------------------ L0044045C: mov eax,0000004Ch pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_00440468: dd CASE_004404C0_PROC0008 dd CASE_004404C0_PROC0007 dd CASE_004404C0_PROC0006 dd CASE_00440468_PROC0003 dd CASE_004404C0_PROC000B dd CASE_004404C0_PROC000B dd CASE_004404C0_PROC000B dd CASE_004404C0_PROC0003 dd CASE_00440468_PROC0003 dd CASE_004404C0_PROC0003 CASE_PROCTABLE_00440490: dd CASE_00440490_PROC0000 dd CASE_00440490_PROC0000 dd CASE_00440490_PROC0002 dd CASE_00440490_PROC0002 dd CASE_00440490_PROC0000 dd CASE_00440490_PROC0000 dd CASE_00440490_PROC0002 dd CASE_00440490_PROC0002 CASE_PROCTABLE_004404B0: dd CASE_004404B0_PROC0000 dd CASE_004404B0_PROC0000 dd CASE_004404B0_PROC0002 dd CASE_004404B0_PROC0002 CASE_PROCTABLE_004404C0: dd CASE_004404C0_PROC0000 dd CASE_004404C0_PROC0001 dd CASE_004404C0_PROC0001 dd CASE_004404C0_PROC0003 dd CASE_004404C0_PROC0004 dd CASE_004404C0_PROC0001 dd CASE_004404C0_PROC0006 dd CASE_004404C0_PROC0007 dd CASE_004404C0_PROC0008 dd CASE_004404C0_PROC0001 dd CASE_004404C0_PROC000A dd CASE_004404C0_PROC000B dd CASE_004404C0_PROC000B dd CASE_004404C0_PROC0001 Align 16 SUB_L00440500: push ebp mov ebp,esp mov eax,[ebp+08h] cmp eax,0000003Ch jg L00440581 jz L0044055F sub eax,00000007h jz L0044053D sub eax,00000002h jnz CASE_004407EC_PROC0008 mov eax,[ebp+0Ch] mov dword ptr [eax],00000014h mov dword ptr [eax+04h],00000055h mov dword ptr [eax+08h],0000007Ch mov dword ptr [eax+0Ch],000000C4h pop ebp retn 0008h ;------------------------------------------------------------------------------ L0044053D: mov eax,[ebp+0Ch] mov dword ptr [eax],0000001Eh mov dword ptr [eax+04h],0000001Eh mov dword ptr [eax+08h],0000010Eh mov dword ptr [eax+0Ch],000000AAh pop ebp retn 0008h ;------------------------------------------------------------------------------ L0044055F: mov eax,[ebp+0Ch] mov dword ptr [eax],0000002Ch mov dword ptr [eax+04h],00000041h mov dword ptr [eax+08h],000000BAh mov dword ptr [eax+0Ch],0000009Fh pop ebp retn 0008h ;------------------------------------------------------------------------------ L00440581: cmp eax,0000091Ah jg L004407A3 jz L00440781 add eax,FFFFFFC3h cmp eax,00000015h ja CASE_004407EC_PROC0008 jmp [CASE_PROCTABLE_004407EC+eax*4] CASE_004407EC_PROC0000: mov eax,[ebp+0Ch] mov dword ptr [eax],0000001Dh mov dword ptr [eax+04h],00000022h mov dword ptr [eax+08h],00000089h mov dword ptr [eax+0Ch],00000080h pop ebp retn 0008h ;------------------------------------------------------------------------------ CASE_004407EC_PROC0001: mov eax,[ebp+0Ch] mov dword ptr [eax],00000021h mov dword ptr [eax+04h],00000024h mov dword ptr [eax+08h],0000008Eh mov dword ptr [eax+0Ch],00000094h pop ebp retn 0008h ;------------------------------------------------------------------------------ CASE_004407EC_PROC0002: mov eax,[ebp+0Ch] mov dword ptr [eax],00000013h mov dword ptr [eax+04h],0000002Fh mov dword ptr [eax+08h],000000B6h mov dword ptr [eax+0Ch],0000007Bh pop ebp retn 0008h ;------------------------------------------------------------------------------ CASE_004407EC_PROC0003: mov eax,[ebp+0Ch] mov dword ptr [eax],00000010h mov dword ptr [eax+04h],00000026h mov dword ptr [eax+08h],00000098h mov dword ptr [eax+0Ch],0000007Dh pop ebp retn 0008h ;------------------------------------------------------------------------------ CASE_004407EC_PROC0004: mov eax,[ebp+0Ch] mov dword ptr [eax],00000023h mov dword ptr [eax+04h],00000026h mov dword ptr [eax+08h],00000091h mov dword ptr [eax+0Ch],00000074h pop ebp retn 0008h ;------------------------------------------------------------------------------ CASE_004407EC_PROC0007: mov eax,[ebp+0Ch] mov dword ptr [eax],00000014h mov dword ptr [eax+04h],0000000Ah mov dword ptr [eax+08h],000000AAh mov dword ptr [eax+0Ch],00000064h pop ebp retn 0008h ;------------------------------------------------------------------------------ CASE_004407EC_PROC000A: mov eax,[ebp+0Ch] mov dword ptr [eax],00000010h mov dword ptr [eax+04h],0000000Ah mov dword ptr [eax+08h],00000094h mov dword ptr [eax+0Ch],0000008Ah pop ebp retn 0008h ;------------------------------------------------------------------------------ CASE_004407EC_PROC000B: mov eax,[ebp+0Ch] mov dword ptr [eax],00000010h mov dword ptr [eax+04h],0000000Ah mov dword ptr [eax+08h],0000009Ah mov dword ptr [eax+0Ch],0000005Eh pop ebp retn 0008h ;------------------------------------------------------------------------------ CASE_004407EC_PROC0005: mov eax,[ebp+0Ch] mov dword ptr [eax],00000012h mov dword ptr [eax+04h],00000069h mov dword ptr [eax+08h],000000A2h mov dword ptr [eax+0Ch],000000B2h pop ebp retn 0008h ;------------------------------------------------------------------------------ CASE_004407EC_PROC0006: mov eax,[ebp+0Ch] mov dword ptr [eax],00000010h mov dword ptr [eax+04h],00000033h mov dword ptr [eax+08h],000000B8h mov dword ptr [eax+0Ch],0000007Ch pop ebp retn 0008h ;------------------------------------------------------------------------------ CASE_004407EC_PROC000F: mov eax,[ebp+0Ch] mov dword ptr [eax],0000002Eh mov dword ptr [eax+04h],0000004Ah mov dword ptr [eax+08h],000000C4h mov dword ptr [eax+0Ch],000000B8h pop ebp retn 0008h ;------------------------------------------------------------------------------ CASE_004407EC_PROC0010: mov eax,[ebp+0Ch] mov dword ptr [eax],0000004Ch mov dword ptr [eax+04h],0000000Ch mov dword ptr [eax+08h],0000008Ch mov dword ptr [eax+0Ch],00000044h pop ebp retn 0008h ;------------------------------------------------------------------------------ CASE_004407EC_PROC0011: mov eax,[ebp+0Ch] mov dword ptr [eax],00000018h mov dword ptr [eax+04h],00000060h mov dword ptr [eax+08h],000000C4h mov dword ptr [eax+0Ch],00000098h pop ebp retn 0008h ;------------------------------------------------------------------------------ CASE_004407EC_PROC0015: mov eax,[ebp+0Ch] mov dword ptr [eax],00000000h mov dword ptr [eax+04h],00000000h mov dword ptr [eax+08h],0000006Eh mov dword ptr [eax+0Ch],0000003Eh pop ebp retn 0008h ;------------------------------------------------------------------------------ L00440781: mov eax,[ebp+0Ch] mov dword ptr [eax],00000000h mov dword ptr [eax+04h],00000000h mov dword ptr [eax+08h],0000011Ah mov dword ptr [eax+0Ch],000000E6h pop ebp retn 0008h ;------------------------------------------------------------------------------ L004407A3: cmp eax,0000092Eh jz L004407C9 CASE_004407EC_PROC0008: mov eax,[ebp+0Ch] mov ecx,000000C8h mov dword ptr [eax],00000000h mov dword ptr [eax+04h],00000000h mov [eax+08h],ecx mov [eax+0Ch],ecx pop ebp retn 0008h ;------------------------------------------------------------------------------ L004407C9: mov eax,[ebp+0Ch] mov dword ptr [eax],00000000h mov dword ptr [eax+04h],00000000h mov dword ptr [eax+08h],0000011Ah mov dword ptr [eax+0Ch],000000D2h pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_004407EC: dd CASE_004407EC_PROC0000 dd CASE_004407EC_PROC0001 dd CASE_004407EC_PROC0002 dd CASE_004407EC_PROC0003 dd CASE_004407EC_PROC0004 dd CASE_004407EC_PROC0005 dd CASE_004407EC_PROC0006 dd CASE_004407EC_PROC0007 dd CASE_004407EC_PROC0008 dd CASE_004407EC_PROC0008 dd CASE_004407EC_PROC000A dd CASE_004407EC_PROC000B dd CASE_004407EC_PROC0005 dd CASE_004407EC_PROC0005 dd CASE_004407EC_PROC0006 dd CASE_004407EC_PROC000F dd CASE_004407EC_PROC0010 dd CASE_004407EC_PROC0011 dd CASE_004407EC_PROC0011 dd CASE_004407EC_PROC0008 dd CASE_004407EC_PROC000B dd CASE_004407EC_PROC0015 Align 16 SUB_L00440850: push ebp mov ebp,esp sub esp,00000044h push ebx push esi push edi mov edi,ecx xor ecx,ecx mov eax,[edi+60h] mov [ebp-24h],ecx cmp eax,ecx mov [ebp-18h],ecx mov [ebp-14h],ecx mov [ebp-20h],ecx mov [ebp-1Ch],ecx jnz L0044087E mov eax,[edi+1Ch] mov edx,[edi+20h] mov [ebp-08h],eax jmp L00440887 L0044087E: mov eax,[edi+24h] mov edx,[edi+28h] mov [ebp-08h],eax L00440887: xor ebx,ebx xor eax,eax cmp edi,ecx mov [ebp-0Ch],edx mov [ebp-04h],eax mov [ebp-10h],ecx mov esi,edi jz L004408C4 L0044089A: mov eax,[esi] mov ecx,esi call [eax+78h] mov ecx,[ebp-10h] mov edx,[ebp-04h] or ecx,eax mov eax,[esi+2Ch] mov [ebp-10h],ecx mov ecx,[esi+30h] mov esi,[esi+48h] add ebx,eax add edx,ecx test esi,esi mov [ebp-04h],edx jnz L0044089A xor ecx,ecx mov eax,edx L004408C4: cmp [ebp-10h],ecx jz L004408D9 mov edx,[L007121F8] mov ecx,[L007121FC] add ebx,edx add eax,ecx L004408D9: mov esi,[edi+2Ch] mov edx,[ebp-08h] mov [ebp-10h],esi mov esi,[edi+30h] mov ecx,ebx add ebx,edx mov edx,[ebp-0Ch] mov [ebp-04h],esi mov esi,[ebp+10h] add edx,eax test esi,esi mov [ebp-34h],ecx mov [ebp-30h],eax mov [ebp-2Ch],ebx mov [ebp-28h],edx jz L00440A9E mov [ebp-40h],eax mov eax,[edi] mov [ebp-44h],ecx mov [ebp-3Ch],ebx mov ecx,edi mov [ebp-38h],edx lea ebx,[ebp-44h] call [eax+000000C8h] test eax,eax jz L00440962 mov eax,[edi+000000F0h] test eax,eax jz L00440962 mov ecx,[eax+0000010Ch] mov [ebp-24h],edi mov edx,[ecx+2Ch] mov ecx,[eax+00000110h] mov [ebp-18h],edx mov edx,[ecx+2Ch] mov ecx,[eax+00000114h] mov eax,[eax+00000118h] mov [ebp-14h],edx mov edx,[ecx+30h] mov ecx,[eax+30h] mov [ebp-20h],edx mov [ebp-1Ch],ecx L00440962: mov edx,[ebp+08h] mov eax,[edi+2Ch] mov esi,[edi+30h] mov ecx,[ebp+18h] add eax,edx mov [edi+2Ch],eax mov eax,[ebp+0Ch] add esi,eax test ecx,ecx mov [edi+30h],esi jz L00440AB6 mov ecx,[ebp-24h] test ecx,ecx jz L00440A2F mov eax,[L004C7F34] mov esi,[ebp-14h] mov ecx,[L004C7F38] add eax,FFFFFFCDh add esi,edx add ecx,FFFFFFCDh cmp esi,eax jle L004409B7 mov esi,[ebp-14h] sub eax,esi mov esi,[edi+2Ch] sub eax,edx add eax,esi mov [edi+2Ch],eax L004409B7: mov eax,[ebp-18h] mov esi,00000032h sub esi,[ebp-08h] add eax,edx cmp eax,esi jge L004409E1 mov esi,[ebp-18h] mov eax,00000032h sub eax,esi mov esi,[ebp-08h] sub eax,esi mov esi,[edi+2Ch] sub eax,edx add esi,eax mov [edi+2Ch],esi L004409E1: mov eax,[ebp+0Ch] mov esi,[ebp-1Ch] add esi,eax cmp esi,ecx jle L004409FC mov esi,[ebp-1Ch] sub ecx,esi mov esi,[edi+30h] sub ecx,eax add ecx,esi mov [edi+30h],ecx L004409FC: mov ecx,[ebp-20h] mov esi,00000032h sub esi,[ebp-0Ch] add ecx,eax cmp ecx,esi jge L00440AB6 mov esi,[ebp-20h] mov ecx,00000032h sub ecx,esi mov esi,[ebp-0Ch] sub ecx,esi mov esi,[edi+30h] sub ecx,eax add esi,ecx mov [edi+30h],esi jmp L00440AB6 L00440A2F: mov esi,[ebp-08h] cmp esi,00000032h jle L00440A3C mov esi,00000032h L00440A3C: mov ecx,[ebp-0Ch] mov [ebp+14h],esi cmp ecx,00000032h mov dword ptr [ebp+10h],00000032h jg L00440A51 mov [ebp+10h],ecx L00440A51: mov ecx,[L004C7F34] sub ecx,esi mov esi,[edi+2Ch] cmp esi,ecx jle L00440A63 mov [edi+2Ch],ecx L00440A63: mov esi,[ebp+14h] mov ecx,[ebp-08h] sub esi,ecx mov ecx,[edi+2Ch] cmp ecx,esi jge L00440A75 mov [edi+2Ch],esi L00440A75: mov ecx,[L004C7F38] mov esi,[ebp+10h] sub ecx,esi mov esi,[edi+30h] cmp esi,ecx jle L00440A8A mov [edi+30h],ecx L00440A8A: mov ecx,[ebp+10h] mov esi,[ebp-0Ch] sub ecx,esi mov esi,[edi+30h] cmp esi,ecx jge L00440AB6 mov [edi+30h],ecx jmp L00440AB6 L00440A9E: mov ebx,[ebp+14h] lea edx,[ebp-34h] push edx push ebx mov ecx,L00669608 call SUB_L004400A0 mov edx,[ebp+08h] mov eax,[ebp+0Ch] L00440AB6: mov esi,[edi+44h] test esi,esi jz L00440ADC jmp L00440AC5 L00440ABF: mov edx,[ebp+08h] mov eax,[ebp+0Ch] L00440AC5: mov ecx,[ebp+18h] push ecx push ebx push 00000000h push eax push edx mov ecx,esi call SUB_L00440850 mov esi,[esi+3Ch] test esi,esi jnz L00440ABF L00440ADC: mov esi,[L00669620] test esi,esi jz L00440B96 L00440AEA: mov edx,[esi] mov ecx,esi call [edx+00000098h] test eax,eax jz L00440B8B cmp [esi+000000B8h],edi jnz L00440B8B mov eax,[esi+2Ch] mov [ebp-34h],eax mov ecx,[esi+30h] mov [ebp-30h],ecx mov edx,[esi+1Ch] add edx,[esi+2Ch] mov [ebp-2Ch],edx mov eax,[esi+20h] mov ecx,[esi+30h] add eax,ecx lea ecx,[ebp-34h] push ecx push ebx mov ecx,L00669608 mov [ebp-28h],eax call SUB_L004400A0 mov edx,[edi+2Ch] mov ecx,[ebp-10h] mov eax,[esi+2Ch] sub edx,ecx add eax,edx mov edx,[ebp-04h] mov [esi+2Ch],eax mov eax,[edi+30h] sub eax,edx add [esi+30h],eax mov eax,[edi+2Ch] sub eax,ecx mov ecx,[ebp-34h] add ecx,eax mov [ebp-34h],ecx mov ecx,[ebp-2Ch] add ecx,eax mov eax,[edi+30h] mov [ebp-2Ch],ecx mov ecx,[ebp-28h] sub eax,edx mov edx,[ebp-30h] add ecx,eax add edx,eax mov [ebp-28h],ecx lea ecx,[ebp-34h] push ecx push ebx mov ecx,L00669608 mov [ebp-30h],edx call SUB_L004400A0 L00440B8B: mov esi,[esi+3Ch] test esi,esi jnz L00440AEA L00440B96: xor eax,eax xor ecx,ecx test edi,edi mov [ebp+0Ch],eax mov [ebp-04h],ecx mov [ebp+08h],ecx mov esi,edi jz L00440BD9 L00440BA9: mov edx,[esi] mov ecx,esi call [edx+78h] mov ecx,[ebp+08h] mov edi,[ebp+0Ch] mov edx,[ebp-04h] or ecx,eax mov eax,[esi+2Ch] mov [ebp+08h],ecx mov ecx,[esi+30h] mov esi,[esi+48h] add edi,eax add edx,ecx test esi,esi mov [ebp+0Ch],edi mov [ebp-04h],edx jnz L00440BA9 mov eax,edi mov ecx,edx L00440BD9: mov edx,[ebp+08h] test edx,edx jz L00440BF0 mov esi,[L007121F8] mov edx,[L007121FC] add eax,esi add ecx,edx L00440BF0: mov edx,[ebp-08h] mov [ebp-34h],eax add edx,eax mov eax,[ebp-0Ch] mov [ebp-30h],ecx add eax,ecx lea ecx,[ebp-34h] mov [ebp-2Ch],edx push ecx push ebx mov ecx,L00669608 mov [ebp-28h],eax call SUB_L004400A0 test ebx,ebx jz L00440C50 cmp dword ptr [ebx],00000000h jge L00440C24 mov dword ptr [ebx],00000000h L00440C24: mov eax,[ebx+04h] test eax,eax jge L00440C32 mov dword ptr [ebx+04h],00000000h L00440C32: mov ecx,[ebx+08h] mov eax,0000027Fh cmp ecx,eax jle L00440C41 mov [ebx+08h],eax L00440C41: mov ecx,[ebx+0Ch] mov eax,000001DFh cmp ecx,eax jle L00440C50 mov [ebx+0Ch],eax L00440C50: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0014h ;------------------------------------------------------------------------------ Align 8 SUB_L00440C60: push ebp mov ebp,esp push ecx push ebx mov ebx,[ebp+08h] push esi push edi mov edi,[ebp+0Ch] mov dword ptr [ebp-04h],00000000h test ecx,ecx mov esi,ecx jz L00440CA2 L00440C7A: mov eax,[esi] mov ecx,esi call [eax+78h] mov ecx,[ebp-04h] mov edx,[ebx] or ecx,eax mov [ebp-04h],ecx mov ecx,[esi+2Ch] add edx,ecx mov [ebx],edx mov edx,[esi+30h] mov ecx,[edi] add ecx,edx mov [edi],ecx mov esi,[esi+48h] test esi,esi jnz L00440C7A L00440CA2: mov eax,[ebp-04h] test eax,eax jz L00440CBC mov eax,[L007121F8] mov ecx,[ebx] add ecx,eax mov [ebx],ecx mov ecx,[L007121FC] add [edi],ecx L00440CBC: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L00440CD0: push ebp mov ebp,esp push ecx push ebx mov ebx,[ebp+08h] push esi push edi mov edi,[ebp+0Ch] mov dword ptr [ebp-04h],00000000h test ecx,ecx mov esi,ecx jz L00440D12 L00440CEA: mov eax,[esi] mov ecx,esi call [eax+78h] mov ecx,[ebp-04h] mov edx,[ebx] or ecx,eax mov [ebp-04h],ecx mov ecx,[esi+2Ch] sub edx,ecx mov [ebx],edx mov edx,[esi+30h] mov ecx,[edi] sub ecx,edx mov [edi],ecx mov esi,[esi+48h] test esi,esi jnz L00440CEA L00440D12: mov eax,[ebp-04h] test eax,eax jz L00440D2C mov eax,[L007121F8] mov ecx,[ebx] sub ecx,eax mov [ebx],ecx mov ecx,[L007121FC] sub [edi],ecx L00440D2C: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L00440D40: push ebp mov ebp,esp mov eax,[ebp+08h] mov ecx,[ebp+0Ch] push esi mov edx,[eax+08h] mov esi,[ecx] cmp edx,esi jle L00440D7A mov edx,[eax] mov esi,[ecx+08h] cmp edx,esi jge L00440D7A mov edx,[eax+0Ch] mov esi,[ecx+04h] cmp edx,esi jle L00440D7A mov eax,[eax+04h] mov edx,[ecx+0Ch] cmp eax,edx jge L00440D7A mov eax,00000001h pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ L00440D7A: xor eax,eax pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L00440D90: push ebp mov ebp,esp mov eax,[ecx] push esi mov esi,[edx] cmp eax,esi push edi jl L00440DA2 cmp eax,[edx+08h] jl L00440DA4 L00440DA2: mov eax,esi L00440DA4: mov edi,[ebp+08h] mov [edi],eax mov eax,[ecx+08h] cmp eax,[edx] jle L00440DB5 cmp eax,[edx+08h] jle L00440DB8 L00440DB5: mov eax,[edx+08h] L00440DB8: mov [edi+08h],eax mov eax,[ecx+04h] mov esi,[edx+04h] cmp eax,esi jl L00440DCA cmp eax,[edx+0Ch] jl L00440DCC L00440DCA: mov eax,esi L00440DCC: mov [edi+04h],eax mov ecx,[ecx+0Ch] cmp ecx,[edx+04h] jle L00440DDC cmp ecx,[edx+0Ch] jle L00440DDF L00440DDC: mov ecx,[edx+0Ch] L00440DDF: mov [edi+0Ch],ecx pop edi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 L00440DF0: push ebp mov ebp,esp sub esp,00000028h mov eax,[ecx+68h] push ebx push esi push edi xor ebx,ebx xor edi,edi cmp eax,ebx mov [ebp-08h],ecx jz L00440F7F cmp ecx,ebx mov [ebp-04h],ebx mov esi,ecx jz L00440E37 L00440E14: mov eax,[esi] mov ecx,esi call [eax+78h] mov ecx,[ebp-04h] mov edx,[esi+2Ch] or ecx,eax add edi,edx mov [ebp-04h],ecx mov ecx,[esi+30h] mov esi,[esi+48h] add ebx,ecx test esi,esi jnz L00440E14 mov ecx,[ebp-08h] L00440E37: mov eax,[ebp-04h] test eax,eax jz L00440E4D mov edx,[L007121F8] mov eax,[L007121FC] add edi,edx add ebx,eax L00440E4D: mov eax,[ecx+1Ch] mov ecx,[ecx+20h] add eax,edi add ecx,ebx test edi,edi mov [ebp-28h],edi mov [ebp-24h],ebx mov [ebp-20h],eax mov [ebp-1Ch],ecx jge L00440E6C xor edi,edi mov [ebp-28h],edi L00440E6C: test ebx,ebx jge L00440E75 xor ebx,ebx mov [ebp-24h],ebx L00440E75: mov edx,[L004C7F34] cmp eax,edx jle L00440E84 mov eax,edx mov [ebp-20h],eax L00440E84: mov edx,[L004C7F38] cmp ecx,edx jle L00440E93 mov ecx,edx mov [ebp-1Ch],ecx L00440E93: mov esi,[ebp+08h] cmp [esi+08h],edi jle L00440F7F cmp [esi],eax jge L00440F7F cmp [esi+0Ch],ebx jle L00440F7F cmp [esi+04h],ecx jge L00440F7F lea ecx,[ebp-18h] lea edx,[ebp-28h] push ecx mov ecx,esi call SUB_L00440D90 mov edx,[ebp-08h] mov esi,[ebp-14h] mov eax,[ebp-18h] mov dword ptr [edx+5Ch],00000001h mov edx,esi imul edx,[L004C7F34] mov ecx,[L006BAE7C] add edx,eax lea edx,[ecx+edx*2] mov edi,edx sub edi,ecx mov ecx,[L004E3FD0] sar edi,1 lea ebx,[ecx+edi*2] mov ecx,[L004F3FEC] cmp ecx,00001000h jge L00440F3C mov edi,ecx mov [L004DBFD0+ecx*4],edx shl edi,04h add edi,L004E3FD8 mov [L004DFFD0+ecx*4],ebx inc ecx mov [edi],eax mov [L004F3FEC],ecx mov [edi+04h],esi mov esi,[ebp-10h] mov [edi+08h],esi mov esi,[ebp-0Ch] mov [edi+0Ch],esi mov esi,[ebp-14h] L00440F3C: mov ecx,[ebp-0Ch] mov [ebp+08h],esi cmp esi,ecx jge L00440F7F jmp L00440F4B L00440F48: mov eax,[ebp-18h] L00440F4B: mov ecx,[ebp-10h] mov esi,edx sub ecx,eax mov edi,ebx shl ecx,1 mov eax,ecx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov ecx,[L004C7F34] lea eax,[ecx+ecx] mov ecx,[ebp-0Ch] add ebx,eax add edx,eax mov eax,[ebp+08h] inc eax cmp eax,ecx mov [ebp+08h],eax jl L00440F48 L00440F7F: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00440F90: push ebp mov ebp,esp push ecx test ecx,ecx mov [ebp-04h],edx jle L00440FD5 mov eax,[ebp+10h] push edi mov edi,[ebp+0Ch] push esi mov esi,[ebp+08h] lea edx,[eax+eax] mov eax,[ebp+14h] mov [ebp+10h],edx push ebx mov ebx,ecx lea edx,[eax+eax] mov [ebp+14h],edx L00440FB8: mov eax,[ebp-04h] mov edx,edi push eax mov ecx,esi call SUB_L00488700 mov edx,[ebp+10h] mov ecx,[ebp+14h] add esi,edx add edi,ecx dec ebx jnz L00440FB8 pop ebx pop esi pop edi L00440FD5: mov esp,ebp pop ebp retn 0010h ;------------------------------------------------------------------------------ Align 8 L00440FE0: push ebp mov ebp,esp sub esp,00000030h push ebx push esi push edi xor edi,edi xor ebx,ebx cmp ecx,edi mov [ebp-04h],ecx mov [ebp-08h],edi mov esi,ecx jz L0044101C L00440FF9: mov eax,[esi] mov ecx,esi call [eax+78h] mov ecx,[ebp-08h] mov edx,[esi+2Ch] or ecx,eax add ebx,edx mov [ebp-08h],ecx mov ecx,[esi+30h] mov esi,[esi+48h] add edi,ecx test esi,esi jnz L00440FF9 mov ecx,[ebp-04h] L0044101C: mov eax,[ebp-08h] test eax,eax jz L00441032 mov edx,[L007121F8] mov eax,[L007121FC] add ebx,edx add edi,eax L00441032: mov eax,[ecx+68h] test eax,eax jz L004411C5 mov edx,[ecx+1Ch] mov eax,[ecx+20h] mov ecx,[L006BAE7C] add edx,ebx mov [ebp-28h],edx mov edx,[L004C7F34] add eax,edi mov [ebp-30h],ebx mov [ebp-2Ch],edi mov [ebp-24h],eax call SUB_L00488A00 mov ecx,[ebp+08h] mov eax,[ebp-30h] mov edx,[ecx+08h] cmp edx,eax jle L004411A9 mov eax,[ecx] mov edx,[ebp-28h] cmp eax,edx jge L004411A9 mov edx,[ecx+0Ch] mov eax,[ebp-2Ch] cmp edx,eax jle L004411A9 mov eax,[ecx+04h] mov edx,[ebp-24h] cmp eax,edx jge L004411A9 lea edx,[ebp-20h] push edx lea edx,[ebp-30h] call SUB_L00440D90 mov edx,[ebp-30h] mov eax,[ebp-20h] xor ecx,ecx cmp edx,eax mov [ebp-08h],ecx mov [ebp-0Ch],ecx jz L004410C1 sub eax,edx mov [ebp-08h],eax L004410C1: mov edx,[ebp-2Ch] mov eax,[ebp-1Ch] cmp edx,eax jz L004410D2 sub eax,edx mov ecx,eax mov [ebp-0Ch],ecx L004410D2: mov eax,[ebp-04h] imul ecx,[eax+18h] mov edx,[eax+10h] mov esi,[eax+38h] mov eax,[ebp-08h] mov edx,[esi+edx*8+04h] add ecx,eax lea esi,[edx+ecx*2+04h] mov ecx,[ebp-0Ch] add ecx,edi mov edx,[L006BAE7C] imul ecx,[L004C7F34] mov edi,[ebp-04h] add ecx,eax add ecx,ebx mov [ebp-08h],esi mov eax,[edi] lea ebx,[edx+ecx*2] mov ecx,edi call [eax+00000090h] test eax,eax jz L00441160 mov ecx,[edi+18h] mov edi,[ebp-18h] mov eax,[ebp-20h] mov edx,[L004C7F34] sub edi,eax mov eax,[ebp-14h] sub eax,[ebp-1Ch] test eax,eax jle L004411A9 add edx,edx add ecx,ecx mov [ebp-08h],edx mov [ebp-10h],ecx mov [ebp-0Ch],eax L00441141: push edi mov edx,esi mov ecx,ebx call SUB_L00488700 mov edx,[ebp-08h] mov ecx,[ebp-10h] mov eax,[ebp-0Ch] add ebx,edx add esi,ecx dec eax mov [ebp-0Ch],eax jnz L00441141 jmp L004411A9 L00441160: mov eax,[ebp-1Ch] mov ecx,[ebp-14h] cmp eax,ecx jge L004411A9 jmp L0044116F L0044116C: mov esi,[ebp-08h] L0044116F: mov ecx,[ebp-18h] mov edx,[ebp-20h] sub ecx,edx mov edi,ebx shl ecx,1 mov edx,ecx shr ecx,02h rep movsd mov ecx,edx mov edx,[ebp-04h] and ecx,00000003h inc eax rep movsb mov ecx,[L004C7F34] lea ebx,[ebx+ecx*2] mov ecx,[edx+18h] mov edx,[ebp-08h] lea ecx,[edx+ecx*2] mov [ebp-08h],ecx mov ecx,[ebp-14h] cmp eax,ecx jl L0044116C L004411A9: mov edx,[ebp-04h] mov esi,[edx+4Ch] test esi,esi jz L004411C5 L004411B3: mov ecx,[ebp+08h] mov eax,[esi] push ecx mov ecx,esi call [eax+0Ch] mov esi,[esi+40h] test esi,esi jnz L004411B3 L004411C5: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 4 L004411D0: push ebp mov ebp,esp sub esp,0000000Ch push ebx mov ebx,[ebp+08h] push esi push edi mov edi,[ebp+0Ch] mov esi,ecx push edi push ebx mov eax,[esi] mov [ebp-08h],esi call [eax+10h] test eax,eax jnz L004411F8 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ L004411F8: mov eax,[ebp-08h] mov dword ptr [ebp-04h],00000000h test eax,eax jz L0044122C L00441206: mov edx,[esi] mov ecx,esi call [edx+78h] mov ecx,[ebp-04h] mov edx,[esi+2Ch] or ecx,eax add ebx,edx mov [ebp-04h],ecx mov ecx,[esi+30h] mov esi,[esi+48h] add edi,ecx test esi,esi jnz L00441206 mov [ebp+0Ch],edi mov [ebp+08h],ebx L0044122C: mov eax,[ebp-04h] test eax,eax jz L00441248 mov ecx,[L007121F8] mov eax,[L007121FC] add ebx,ecx add edi,eax mov [ebp+08h],ebx mov [ebp+0Ch],edi L00441248: mov eax,[ebp-08h] mov edi,[eax+44h] test edi,edi jz L0044132A L00441256: mov edx,[edi] mov ecx,edi call [edx+000000C4h] mov ecx,[edi+68h] test ecx,ecx jz L004412FC test eax,eax jz L00441283 mov edx,[ebp-08h] mov ecx,[edi+000000B4h] cmp ecx,[edx+60h] jnz L0044127F xor eax,eax L0044127F: test eax,eax jnz L004412FC L00441283: mov al,[edi+54h] test al,al jz L00441292 mov ecx,[ebp-08h] cmp al,[ecx+54h] jnz L004412FC L00441292: mov eax,[ebp+0Ch] mov dword ptr [ebp-0Ch],00000000h test edi,edi mov [ebp-04h],eax mov esi,edi jz L004412CD L004412A5: mov edx,[esi] mov ecx,esi call [edx+78h] mov ecx,[ebp-0Ch] mov edx,[esi+2Ch] or ecx,eax mov eax,[esi+30h] mov esi,[esi+48h] mov [ebp-0Ch],ecx mov ecx,[ebp-04h] sub ebx,edx sub ecx,eax test esi,esi mov [ebp-04h],ecx jnz L004412A5 mov eax,ecx L004412CD: mov ecx,[ebp-0Ch] test ecx,ecx jz L004412E7 mov edx,[L007121F8] mov ecx,[L007121FC] sub ebx,edx sub eax,ecx mov [ebp-04h],eax L004412E7: cmp edi,[ebp+10h] jz L004412F9 mov edx,[edi] push eax push ebx mov ecx,edi call [edx+10h] test eax,eax jnz L00441313 L004412F9: mov ebx,[ebp+08h] L004412FC: mov edi,[edi+3Ch] test edi,edi jnz L00441256 mov eax,[ebp-08h] pop edi pop esi pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ L00441313: mov ecx,[ebp-04h] mov eax,[edi] push 00000000h push ecx push ebx mov ecx,edi call [eax+04h] pop edi pop esi pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ L0044132A: mov eax,[ebp-08h] pop edi pop esi pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 16 SUB_L00441340: push ebp mov ebp,esp sub esp,00000024h push ebx push esi mov esi,ecx push edi mov [ebp-04h],esi mov eax,[esi] call [eax+000000D4h] test eax,eax jnz L004415B5 mov edx,[esi] mov ecx,esi call [edx+00000118h] test eax,eax jnz L004415B5 mov eax,[ebp+08h] xor edi,edi cmp eax,edi jnz L00441391 mov eax,[L0066962C] cmp eax,edi jz L00441391 cmp [eax+48h],esi jz L00441391 mov ecx,L00669608 call SUB_L0043FDA0 L00441391: mov ecx,[esi+40h] cmp ecx,edi jz L0044159A mov eax,[esi+3Ch] cmp eax,edi jz L004413A6 mov [eax+40h],ecx L004413A6: mov eax,[esi+40h] mov ecx,[esi+3Ch] mov [eax+3Ch],ecx mov eax,[esi+48h] cmp eax,edi jz L004413D8 cmp [eax+4Ch],esi jnz L004413C1 mov edx,[esi+40h] mov [eax+4Ch],edx L004413C1: mov eax,[esi+48h] mov ecx,[eax+44h] mov [ecx+40h],esi mov eax,[esi+48h] mov edx,[eax+44h] mov [esi+3Ch],edx mov [eax+44h],esi jmp L00441400 L004413D8: cmp [L00669624],esi jnz L004413E8 mov eax,[esi+40h] mov [L00669624],eax L004413E8: mov ecx,[L00669620] mov [ecx+40h],esi mov edx,[L00669620] mov [esi+3Ch],edx mov [L00669620],esi L00441400: mov ecx,[ebp-04h] xor ebx,ebx test ecx,ecx mov [esi+40h],edi mov [ebp+08h],edi jz L00441432 L0044140F: mov eax,[esi] mov ecx,esi call [eax+78h] mov ecx,[ebp+08h] mov edx,[esi+2Ch] or ecx,eax add edi,edx mov [ebp+08h],ecx mov ecx,[esi+30h] mov esi,[esi+48h] add ebx,ecx test esi,esi jnz L0044140F mov ecx,[ebp-04h] L00441432: mov eax,[ebp+08h] test eax,eax jz L00441448 mov edx,[L007121F8] mov eax,[L007121FC] add edi,edx add ebx,eax L00441448: mov edx,[ecx] call [edx+00000098h] test eax,eax mov [ebp-14h],edi mov [ebp-10h],ebx jnz L00441557 mov ecx,[ebp-04h] xor edx,edx cmp [ecx+60h],edx jnz L00441475 mov eax,[ecx+1Ch] mov ecx,[ecx+20h] add eax,edi mov [ebp-0Ch],eax jmp L00441480 L00441475: mov eax,[ecx+24h] mov ecx,[ecx+28h] add eax,edi mov [ebp-0Ch],eax L00441480: add ecx,ebx cmp edi,edx mov [ebp-08h],ecx jge L0044148C mov [ebp-14h],edx L0044148C: cmp ebx,edx jge L00441493 mov [ebp-10h],edx L00441493: cmp eax,0000027Fh jle L004414A1 mov dword ptr [ebp-14h],0000027Fh L004414A1: cmp ecx,000001DFh jle L004414B0 mov dword ptr [ebp-10h],000001DFh L004414B0: mov esi,[L00669624] cmp esi,edx jz L00441597 L004414BE: cmp esi,[ebp-04h] jz L00441597 mov eax,[esi] mov ebx,[esi+40h] mov ecx,esi call [eax+00000098h] test eax,eax jz L0044154B mov ecx,[ebp-04h] mov eax,[esi+000000B8h] cmp eax,ecx jnz L0044154B push 00000000h mov ecx,esi call SUB_L00441340 mov edx,[esi+2Ch] mov [ebp-24h],edx mov edi,[esi+30h] mov [ebp-20h],edi mov eax,[esi+1Ch] add eax,[esi+2Ch] mov [ebp-1Ch],eax mov ecx,[esi+20h] add ecx,[esi+30h] xor esi,esi cmp edx,esi mov [ebp-18h],ecx jge L00441515 mov [ebp-24h],esi L00441515: cmp edi,esi jge L0044151C mov [ebp-20h],esi L0044151C: cmp eax,0000027Fh jle L0044152A mov dword ptr [ebp-24h],0000027Fh L0044152A: cmp ecx,000001DFh jle L00441539 mov dword ptr [ebp-20h],000001DFh L00441539: lea edx,[ebp-24h] lea eax,[ebp-14h] push edx push eax mov ecx,L00669608 call SUB_L004400A0 L0044154B: test ebx,ebx mov esi,ebx jnz L004414BE jmp L00441597 L00441557: mov ecx,[ebp-04h] xor edx,edx mov eax,[ecx+1Ch] mov ecx,[ecx+20h] add eax,edi add ecx,ebx cmp edi,edx mov [ebp-0Ch],eax mov [ebp-08h],ecx jge L00441573 mov [ebp-14h],edx L00441573: cmp ebx,edx jge L0044157A mov [ebp-10h],edx L0044157A: cmp eax,0000027Fh jle L00441588 mov dword ptr [ebp-14h],0000027Fh L00441588: cmp ecx,000001DFh jle L00441597 mov dword ptr [ebp-10h],000001DFh L00441597: mov esi,[ebp-04h] L0044159A: mov edx,[esi] mov ecx,esi call [edx+000000BCh] test eax,eax jz L004415B5 mov ecx,[esi+000000D8h] push 00000000h call SUB_L00441340 L004415B5: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L004415C0: push ebp mov ebp,esp mov eax,[ebp+08h] mov dword ptr [ecx+40h],00000000h test eax,eax mov [ecx+48h],eax jnz L004415FC mov eax,[L00669620] test eax,eax mov [ecx+3Ch],eax jz L004415E3 mov [eax+40h],ecx L004415E3: mov eax,[L00669624] mov [L00669620],ecx test eax,eax jnz L00441616 mov [L00669624],ecx pop ebp retn 0008h ;------------------------------------------------------------------------------ L004415FC: mov edx,[eax+44h] test edx,edx mov [ecx+3Ch],edx jz L00441609 mov [edx+40h],ecx L00441609: mov edx,[eax+4Ch] mov [eax+44h],ecx test edx,edx jnz L00441616 mov [eax+4Ch],ecx L00441616: pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 8 SUB_L00441620: push ebp mov ebp,esp push FFFFFFFFh push L004B315E mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,0000001Ch push ebx mov ebx,[ebp+0Ch] mov edx,[ebp+08h] push esi xor eax,eax push edi cmp ebx,0000000Ah mov edi,ecx setz al xor ecx,ecx cmp ebx,00000030h setz cl test edx,edx jz L0044168E mov esi,[edi+18h] push esi push ecx push eax push edx mov ecx,edi call SUB_L0043F350 mov esi,eax test esi,esi jz L0044168E push 00000000h mov ecx,esi call SUB_L00441340 mov eax,[esi+60h] test eax,eax jz L00441B4B mov ecx,esi call SUB_L0040D760 jmp L00441B4B L0044168E: cmp ebx,00001388h jnz L004416C9 mov ecx,[edi+30h] test ecx,ecx jz L004416C9 push 00000000h call SUB_L00441340 mov ecx,[edi+30h] mov eax,[ecx+60h] test eax,eax jz L004416B3 call SUB_L0040D760 L004416B3: mov eax,[edi+30h] mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0010h ;------------------------------------------------------------------------------ L004416C9: cmp ebx,00001392h jz L004416D9 cmp ebx,00001393h jnz L00441718 L004416D9: mov ecx,[edi+34h] test ecx,ecx jz L00441718 mov eax,[ecx] push 00000001h call [eax] push 00000000h push 00000000h push 00001393h push 00000000h mov ecx,L00669608 mov dword ptr [edi+34h],00000000h call SUB_L00441620 mov eax,[edi+34h] mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0010h ;------------------------------------------------------------------------------ L00441718: cmp ebx,00000007h jnz L0044173D mov esi,[edi+18h] test esi,esi jz L0044173D L00441724: mov edx,[esi] mov ecx,esi call [edx+000000B0h] test eax,eax jnz L00441B60 mov esi,[esi+3Ch] test esi,esi jnz L00441724 L0044173D: cmp ebx,00000030h jnz L00441787 mov esi,[edi+18h] mov eax,[L00669C58] test esi,esi mov [ebp-14h],eax jz L0044177E L00441751: mov ecx,[esi+3Ch] mov [L00669C58],ecx mov edx,[esi] mov ecx,esi call [edx+000000BCh] test eax,eax jz L00441774 test esi,esi jz L00441774 mov eax,[esi] push 00000001h mov ecx,esi call [eax] L00441774: mov esi,[L00669C58] test esi,esi jnz L00441751 L0044177E: mov ecx,[ebp-14h] mov [L00669C58],ecx L00441787: lea edx,[ebp+0Ch] mov ecx,ebx push edx lea edx,[ebp-10h] call SUB_L004390A0 mov esi,[L004C7F34] cmp ebx,00000030h jg L004418C8 jz L00441892 mov eax,ebx sub eax,00000007h jz L00441863 dec eax jz L0044180A sub eax,00000002h jnz L004419A2 push 000000FCh call SUB_L0049A820 add esp,00000004h mov [ebp+14h],eax test eax,eax mov dword ptr [ebp-04h],00000004h jz L00441B33 mov ecx,[ebp+0Ch] mov edx,[ebp-10h] push 00000000h push L004D77C0 push ecx mov ecx,[ebp+08h] push edx push 00000001h push ecx mov ecx,[ebp+10h] push ecx sub esi,edx push 00000000h push esi mov ecx,eax call SUB_L00477D40 jmp L00441B35 L0044180A: push 00000124h call SUB_L0049A820 mov esi,eax add esp,00000004h mov [ebp+14h],esi test esi,esi mov dword ptr [ebp-04h],00000005h jz L00441B33 mov edi,[ebp+08h] mov eax,[L0073EBE4] cmp edi,eax jz L00441853 call SUB_L0048B870 test eax,eax jnz L00441853 mov eax,00000001h mov ecx,esi push eax push edi call SUB_L00479290 jmp L00441B35 L00441853: xor eax,eax mov ecx,esi push eax push edi call SUB_L00479290 jmp L00441B35 L00441863: push 000000D4h call SUB_L0049A820 add esp,00000004h mov [ebp+08h],eax test eax,eax mov dword ptr [ebp-04h],00000006h jz L00441B33 push 00000000h push 00000000h mov ecx,eax call SUB_L0048C120 jmp L00441B35 L00441892: push 000000F4h call SUB_L0049A820 add esp,00000004h mov [ebp+14h],eax test eax,eax mov dword ptr [ebp-04h],00000002h jz L00441B33 mov edx,[ebp+08h] mov ecx,eax push edx push 00000005h push 00000096h call SUB_L0047DE40 jmp L00441B35 L004418C8: cmp ebx,00001388h jg L0044198E jz L0044192E cmp ebx,00000031h jnz L004419A2 lea eax,[ebp+14h] lea ecx,[ebp-14h] push eax push ecx mov ecx,L006A9DC0 call SUB_L00450540 push 000000B0h call SUB_L0049A820 add esp,00000004h mov [ebp-20h],eax test eax,eax mov dword ptr [ebp-04h],00000003h jz L00441B33 mov edx,[ebp+08h] mov ecx,[ebp+14h] push edx mov edx,[ebp-14h] add ecx,FFFFFFDBh add edx,FFFFFFCEh push ecx push edx mov ecx,eax call SUB_L0047AB30 jmp L00441B35 L0044192E: lea eax,[ebp-24h] lea edx,[ebp-18h] push eax mov ecx,00001388h call SUB_L004390A0 lea ecx,[ebp-28h] lea edx,[ebp-1Ch] push ecx mov ecx,00001389h call SUB_L004390A0 mov eax,[ebp-18h] test eax,eax jz L00441968 mov eax,[ebp-1Ch] test eax,eax jz L00441968 call SUB_L00466820 jmp L00441B3C L00441968: push 00000000h mov edx,SSZ004C693C_Error mov ecx,SSZ004C6B28_Missing_ClientCfg_GUMP_art_ call SUB_L0049A0A0 xor eax,eax mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0010h ;------------------------------------------------------------------------------ L0044198E: mov eax,ebx sub eax,00001392h jz L00441B06 dec eax jz L00441AD9 L004419A2: mov eax,[ebp+14h] test eax,eax jz L00441A9E mov al,[L004CCB18] test al,al jz L00441A58 mov esi,[edi+00000654h] mov ecx,[edi+00000658h] mov edx,00000010h add esi,edx add ecx,edx mov [edi+00000654h],esi mov eax,esi mov esi,[ebp-10h] mov [edi+00000658h],ecx add esi,eax mov eax,[L004C7F34] add eax,FFFFFFF0h cmp esi,eax jl L004419F4 mov [edi+00000654h],edx L004419F4: mov eax,[ebp+0Ch] add eax,ecx mov ecx,[L004C7F38] add ecx,FFFFFFF0h cmp eax,ecx jl L00441A0C mov [edi+00000658h],edx L00441A0C: push 000000C4h call SUB_L0049A820 add esp,00000004h mov [ebp+14h],eax test eax,eax mov dword ptr [ebp-04h],00000007h jz L00441B33 mov edx,[ebp+0Ch] mov ecx,[ebp-10h] push ebx push edx mov edx,[ebp+08h] push ecx mov ecx,[ebp+10h] push 00000001h push edx mov edx,[edi+00000658h] push ecx mov ecx,[edi+00000654h] push edx push ecx mov ecx,eax call SUB_L00429950 jmp L00441B35 L00441A58: push 000000C4h call SUB_L0049A820 add esp,00000004h mov [ebp+14h],eax test eax,eax mov dword ptr [ebp-04h],00000008h jz L00441B33 mov edx,[ebp+0Ch] mov ecx,[ebp+08h] push ebx push edx mov edx,[ebp-10h] push edx push 00000001h push ecx mov ecx,[ebp+10h] sub esi,edx push ecx sub esi,0000000Ah push 0000000Ah push esi mov ecx,eax call SUB_L00429950 jmp L00441B35 L00441A9E: push 00000094h call SUB_L0049A820 add esp,00000004h mov [ebp+14h],eax test eax,eax mov dword ptr [ebp-04h],00000009h jz L00441B33 mov edx,[ebp+0Ch] mov ecx,[ebp+08h] push edx mov edx,[ebp-10h] push edx push 00000001h push ecx mov ecx,[ebp+10h] push ecx sub esi,edx push 00000000h push esi mov ecx,eax call SUB_L00441B80 jmp L00441B35 L00441AD9: push 000200C4h call SUB_L0049A820 add esp,00000004h mov [ebp+08h],eax test eax,eax mov dword ptr [ebp-04h],00000001h jz L00441B33 push 00001393h push 00000000h push 00000000h mov ecx,eax call SUB_L0047C250 jmp L00441B35 L00441B06: push 000200C4h call SUB_L0049A820 add esp,00000004h mov [ebp+08h],eax test eax,eax mov dword ptr [ebp-04h],00000000h jz L00441B33 push 00001392h push 00000000h push 00000000h mov ecx,eax call SUB_L0047C250 jmp L00441B35 L00441B33: xor eax,eax L00441B35: mov dword ptr [ebp-04h],FFFFFFFFh L00441B3C: mov edx,[ebp+10h] mov esi,eax push 00000001h push edx mov ecx,esi call SUB_L004415C0 L00441B4B: mov ecx,[ebp-0Ch] mov eax,esi pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0010h ;------------------------------------------------------------------------------ L00441B60: push 00000000h mov ecx,esi call SUB_L00441340 mov eax,[esi+60h] test eax,eax jz L00441B4B mov ecx,esi call SUB_L0040D760 jmp L00441B4B Align 8 SUB_L00441B80: push ebp mov ebp,esp mov eax,[ebp+18h] mov edx,[ebp+1Ch] push ebx push esi mov esi,ecx xor ebx,ebx mov ecx,[ebp+20h] push edi mov [esi+08h],ebx mov [esi+0Ch],ebx mov [esi+10h],ebx mov [esi+14h],eax mov [esi+1Ch],edx mov eax,[ebp+08h] mov edi,[ebp+14h] add edx,00000007h and edx,FFFFFFF8h mov [esi+20h],ecx mov ecx,[ebp+0Ch] mov [esi+18h],edx mov edx,[esi+14h] mov [esi+30h],ecx shl edx,03h mov [esi+00000080h],ecx mov [esi+00000088h],ecx push SSZ004C6B50_framedata_in_CGump__CGump__ push edx mov ecx,L00669C8C mov [esi+24h],ebx mov [esi+28h],ebx mov [esi+2Ch],eax mov [esi+34h],edi mov [esi+3Ch],ebx mov [esi+40h],ebx mov [esi+44h],ebx mov [esi+48h],ebx mov [esi+4Ch],ebx mov [esi+54h],bl mov [esi+58h],ebx mov [esi+5Ch],ebx mov [esi+60h],ebx mov [esi+64h],ebx mov dword ptr [esi+68h],00000001h mov [esi+6Ch],ebx mov [esi+70h],ebx mov [esi+74h],ebx mov [esi+78h],ebx mov [esi+7Ch],eax mov [esi+00000084h],eax mov [esi+0000008Ch],ebx mov [esi+00000090h],ebx mov dword ptr [esi],L004BA118 mov dword ptr [esi+04h],SSZ004C6B44_normal_gump call SUB_L0044FBD0 mov ecx,[esi+14h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+38h],edi rep stosd mov ecx,edx and ecx,00000003h rep stosb mov ecx,[ebp+14h] mov dword ptr [esi+50h],FFFFFFFFh cmp ecx,ebx jz L00441C70 mov eax,[ecx] call [eax+28h] test eax,eax jz L00441C70 mov [esi+50h],ebx L00441C70: mov eax,esi pop edi pop esi pop ebx pop ebp retn 001Ch ;------------------------------------------------------------------------------ Align 8 L00441C80: push ebp mov ebp,esp push esi mov esi,ecx call SUB_L00441D50 test byte ptr [ebp+08h],01h jz L00441C9A push esi call SUB_L0049A810 add esp,00000004h L00441C9A: mov eax,esi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00441CB0: mov eax,ecx xor ecx,ecx mov [eax+08h],ecx mov [eax+0Ch],ecx mov [eax+10h],ecx mov [eax+14h],ecx mov [eax+18h],ecx mov [eax+1Ch],ecx mov [eax+20h],ecx mov [eax+24h],ecx mov [eax+28h],ecx mov [eax+2Ch],ecx mov [eax+30h],ecx mov [eax+34h],ecx mov [eax+38h],ecx mov [eax+3Ch],ecx mov [eax+40h],ecx mov [eax+44h],ecx mov [eax+48h],ecx mov [eax+4Ch],ecx mov dword ptr [eax+50h],FFFFFFFFh mov [eax+54h],cl mov [eax+58h],ecx mov [eax+5Ch],ecx mov [eax+60h],ecx mov [eax+64h],ecx mov dword ptr [eax+68h],00000001h mov [eax+6Ch],ecx mov [eax+70h],ecx mov [eax+74h],ecx mov [eax+78h],ecx mov [eax+7Ch],ecx mov [eax+00000080h],ecx mov [eax+00000084h],ecx mov [eax+00000088h],ecx mov [eax+0000008Ch],ecx mov [eax+00000090h],ecx mov dword ptr [eax],L004BA118 mov dword ptr [eax+04h],SSZ004C6B44_normal_gump retn ;------------------------------------------------------------------------------ Align 16 SUB_L00441D50: push ebx push esi mov esi,ecx xor ebx,ebx push edi mov ecx,[esi+0000008Ch] mov dword ptr [esi],L004BA118 cmp ecx,ebx jz L00441D72 mov edx,[esi+00000090h] call SUB_L0040D650 L00441D72: cmp [L004F3FFC],esi jnz L00441D82 mov eax,[esi+3Ch] mov [L004F3FFC],eax L00441D82: cmp [L00669C58],esi jnz L00441D93 mov ecx,[esi+3Ch] mov [L00669C58],ecx L00441D93: push esi mov ecx,L006A9DC0 call SUB_L00450630 cmp [L00669634],esi jnz L00441DAC mov [L00669634],ebx L00441DAC: cmp [L0066962C],esi jnz L00441DBE mov ecx,L00669608 call SUB_L0043FDA0 L00441DBE: mov edi,[L00669620] cmp edi,ebx jz L00441DEB L00441DC8: mov edx,[edi] mov ecx,edi call [edx+00000130h] test eax,eax jz L00441DE4 cmp [edi+000002A0h],esi jnz L00441DE4 mov [edi+000002A0h],ebx L00441DE4: mov edi,[edi+3Ch] cmp edi,ebx jnz L00441DC8 L00441DEB: mov eax,[esi+34h] cmp eax,ebx jz L00441E1D cmp [eax+00000088h],esi jnz L00441E00 mov [eax+00000088h],ebx L00441E00: mov ecx,[esi+34h] mov eax,[ecx] call [eax+30h] test eax,eax jz L00441E1D mov eax,[esi+34h] cmp [eax+000000ACh],esi jnz L00441E1D mov [eax+000000ACh],ebx L00441E1D: mov edi,[L007121E4] mov ebx,[L00669C58] mov dword ptr [L007121E4],00000001h mov ecx,[esi+44h] test ecx,ecx jz L00441E57 L00441E3A: mov edx,[ecx+3Ch] test ecx,ecx mov [L00669C58],edx jz L00441E4D mov eax,[ecx] push 00000001h call [eax] L00441E4D: mov ecx,[L00669C58] test ecx,ecx jnz L00441E3A L00441E57: mov [L00669C58],ebx mov [L007121E4],edi mov eax,[esi+48h] test eax,eax jz L00441E85 cmp [eax+44h],esi jnz L00441E75 mov ecx,[esi+3Ch] mov [eax+44h],ecx L00441E75: mov eax,[esi+48h] cmp [eax+4Ch],esi jnz L00441EA6 mov edx,[esi+40h] mov [eax+4Ch],edx jmp L00441EA6 L00441E85: cmp [L00669620],esi jnz L00441E95 mov eax,[esi+3Ch] mov [L00669620],eax L00441E95: cmp [L00669624],esi jnz L00441EA6 mov ecx,[esi+40h] mov [L00669624],ecx L00441EA6: mov eax,[esi+3Ch] test eax,eax jz L00441EB3 mov edx,[esi+40h] mov [eax+40h],edx L00441EB3: mov eax,[esi+40h] test eax,eax jz L00441EC0 mov ecx,[esi+3Ch] mov [eax+3Ch],ecx L00441EC0: mov eax,[esi+38h] test eax,eax jz L00441F18 mov eax,[esi+14h] xor edi,edi test eax,eax jle L00441EFE L00441ED0: mov edx,[esi+38h] mov eax,[edx+edi*8+04h] test eax,eax jz L00441EF6 push SSZ004C6B78_frame_pBMP push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov eax,[esi+38h] mov dword ptr [eax+edi*8+04h],00000000h L00441EF6: mov eax,[esi+14h] inc edi cmp edi,eax jl L00441ED0 L00441EFE: mov ecx,[esi+38h] push SSZ004C6B6C_framedata push ecx mov ecx,L00669C8C call SUB_L0044FBF0 mov dword ptr [esi+38h],00000000h L00441F18: pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ Align 8 L00441F20: push ebp mov ebp,esp cmp [L006A9DD4],ecx jnz L00441F35 mov dword ptr [L006A9DD4],00000000h L00441F35: pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 8 L00441F40: push 00000000h mov ecx,L006A9DC0 call SUB_L00450120 retn ;------------------------------------------------------------------------------ Align 4 SUB_L00441F50: push ebp mov ebp,esp pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 16 SUB_L00441F60: push esi mov esi,[ecx+18h] push edi mov edi,[L00669C58] test esi,esi jz L00441FB7 L00441F6F: mov eax,[esi+3Ch] mov ecx,esi mov [L00669C58],eax mov edx,[esi] call [edx+00000080h] test eax,eax jnz L00441FAD mov eax,[esi] mov ecx,esi call [eax+00000088h] test eax,eax jnz L00441FAD mov edx,[esi] mov ecx,esi call [edx+00000084h] test eax,eax jnz L00441FAD test esi,esi jz L00441FAD mov eax,[esi] push 00000001h mov ecx,esi call [eax] L00441FAD: mov esi,[L00669C58] test esi,esi jnz L00441F6F L00441FB7: mov [L00669C58],edi call SUB_L0045A1D0 pop edi pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L00441FD0: push ebp mov ebp,esp push FFFFFFFFh push L004B319C mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000084h mov eax,[L006BD428] push ebx push esi xor esi,esi push edi cmp eax,00000004h mov edi,ecx ja L00442055 jmp [CASE_PROCTABLE_0044284C+eax*4] CASE_0044284C_PROC0000: push L004C40E0 push SSZ004C6BB4_desktop_uo1 jmp L00442040 CASE_0044284C_PROC0001: push L004C40E0 push SSZ004C6BA8_desktop_uo2 jmp L00442040 CASE_0044284C_PROC0002: push L004C40E0 push SSZ004C6B9C_desktop_uo3 jmp L00442040 CASE_0044284C_PROC0003: push L004C40E0 push SSZ004C6B90_desktop_uo4 jmp L00442040 CASE_0044284C_PROC0004: push L004C40E0 push SSZ004C6B84_desktop_uo5 L00442040: mov ecx,L006BB1C8 call SUB_L00455E10 push eax call SUB_L0049A7F0 add esp,00000008h mov esi,eax L00442055: test esi,esi jz L0044283A mov ebx,00000001h push esi push ebx lea eax,[ebp-38h] push 00000004h push eax call SUB_L0049A630 mov edx,[L0073EBE4] mov ecx,[ebp-38h] add esp,00000010h cmp ecx,[edx+78h] jz L0044209A push esi call SUB_L0049A580 add esp,00000004h mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L0044209A: push esi push ebx lea eax,[ebp-18h] push ebx push eax mov [edi+7Ch],ebx mov dword ptr [edi+00000084h],00000000h call SUB_L0049A630 add esp,00000010h test eax,eax jle L00442820 L004420BE: mov ecx,[ebp-18h] mov eax,ecx and eax,000000FFh cmp eax,0000000Bh ja CASE_00442860_PROC0003 jmp [CASE_PROCTABLE_00442860+eax*4] CASE_00442860_PROC0000: mov ecx,[L0073EBE4] mov edx,[ecx] call [edx+00000090h] test eax,eax jz L0044210F push esi push ebx lea eax,[ebp-1Ch] push 00000004h push eax call SUB_L0049A630 add esp,00000010h lea ecx,[ebp-1Ch] push esi push ebx push 00000004h push ecx call SUB_L0049A630 add esp,00000010h jmp CASE_00442860_PROC0003 L0044210F: mov eax,[edi+00000084h] push esi mov edx,eax push ebx shl edx,03h sub edx,eax mov al,[ebp-18h] lea ecx,[ebp-1Ch] push 00000004h push ecx mov [edi+edx*4+00000088h],al call SUB_L0049A630 mov eax,[edi+00000084h] add esp,00000010h mov edx,eax lea ecx,[ebp-1Ch] shl edx,03h push esi sub edx,eax mov eax,[ebp-1Ch] push ebx push 00000004h push ecx mov [edi+edx*4+0000009Ch],eax call SUB_L0049A630 mov eax,[edi+00000084h] add esp,00000010h mov edx,eax lea ecx,[ebp-18h] shl edx,03h push esi sub edx,eax mov eax,[ebp-1Ch] push ebx push ebx push ecx mov [edi+edx*4+000000A0h],eax call SUB_L0049A630 mov al,[ebp-18h] add esp,00000010h xor edx,edx cmp al,01h mov eax,[edi+00000084h] mov ecx,eax setz dl shl ecx,03h sub ecx,eax mov [edi+ecx*4+00000090h],edx mov eax,[edi+00000084h] inc eax lea ecx,[ebp-40h] mov [edi+00000084h],eax mov edx,[L0073EBE4] mov eax,[edx+78h] push eax push ecx mov ecx,L006BB1C0 call SUB_L00473E20 mov ecx,[L006BB1CC] lea edx,[ebp-40h] push edx call SUB_L0048B170 jmp CASE_00442860_PROC0003 CASE_00442860_PROC0001: push esi push ebx lea eax,[ebp-10h] push 00000004h push eax call SUB_L0049A630 add esp,00000010h lea ecx,[ebp-14h] push esi push ebx push 00000004h push ecx call SUB_L0049A630 add esp,00000010h lea edx,[ebp-18h] push esi push ebx push ebx push edx call SUB_L0049A630 mov cl,[ebp-18h] add esp,00000010h xor ebx,ebx cmp cl,01h push 00000124h setz bl call SUB_L0049A820 add esp,00000004h mov [ebp-24h],eax test eax,eax mov dword ptr [ebp-04h],00000000h jz L00442240 mov ecx,[L0073EBE4] push ebx push ecx mov ecx,eax call SUB_L00479290 jmp L00442242 L00442240: xor eax,eax L00442242: mov edx,[ebp-10h] push 00000001h mov [eax+2Ch],edx mov ecx,[ebp-14h] mov [eax+30h],ecx push 00000000h mov ecx,eax mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L004415C0 mov edx,[L0073EBE4] lea ecx,[ebp-50h] mov eax,[edx+78h] push eax push 00000004h push ecx mov ecx,L006BB1C0 call SUB_L00474A00 mov ecx,[L006BB1CC] lea edx,[ebp-50h] push edx call SUB_L0048B170 jmp CASE_00442860_PROC0003 CASE_00442860_PROC0004: mov eax,[edi+00000084h] push esi mov edx,eax push ebx shl edx,03h sub edx,eax lea eax,[ebp-1Ch] push 00000004h push eax mov [edi+edx*4+00000088h],cl call SUB_L0049A630 mov eax,[edi+00000084h] mov edx,[ebp-1Ch] mov ecx,eax add esp,00000010h shl ecx,03h sub ecx,eax push esi push ebx lea eax,[ebp-1Ch] push 00000004h push eax mov [edi+ecx*4+0000009Ch],edx call SUB_L0049A630 mov eax,[edi+00000084h] mov edx,[ebp-1Ch] mov ecx,eax add esp,00000010h shl ecx,03h sub ecx,eax push esi push ebx lea eax,[ebp-18h] push ebx push eax mov [edi+ecx*4+000000A0h],edx call SUB_L0049A630 mov dl,[ebp-18h] mov eax,[edi+00000084h] add esp,00000010h xor ecx,ecx cmp dl,01h mov edx,eax setz cl shl edx,03h sub edx,eax push esi push ebx lea eax,[ebp-20h] push 00000002h push eax mov [edi+edx*4+00000090h],ecx call SUB_L0049A630 mov eax,[edi+00000084h] mov dx,[ebp-20h] mov ecx,eax add esp,00000010h shl ecx,03h sub ecx,eax push esi push ebx lea eax,[ebp-20h] push 00000002h push eax mov [edi+ecx*4+00000096h],dx call SUB_L0049A630 mov eax,[edi+00000084h] mov dx,[ebp-20h] mov ecx,eax add esp,00000010h shl ecx,03h sub ecx,eax mov [edi+ecx*4+00000098h],dx mov eax,[edi+00000084h] inc eax lea edx,[ebp-50h] mov [edi+00000084h],eax mov eax,[L0073EBE4] mov ecx,[eax+78h] push ecx push 00000005h push edx mov ecx,L006BB1C0 call SUB_L00474A00 mov ecx,[L006BB1CC] lea eax,[ebp-50h] push eax call SUB_L0048B170 mov [L004D7E08],ebx jmp CASE_00442860_PROC0003 CASE_00442860_PROC0002: push esi push ebx lea ecx,[ebp-10h] push 00000004h push ecx call SUB_L0049A630 add esp,00000010h lea edx,[ebp-14h] push esi push ebx push 00000004h push edx call SUB_L0049A630 add esp,00000010h lea eax,[ebp-18h] push esi push ebx push ebx push eax call SUB_L0049A630 mov dl,[ebp-18h] add esp,00000010h xor ecx,ecx cmp dl,01h push esi push ebx lea edx,[ebp-20h] push 00000002h setz cl push edx mov [ebp-24h],ecx call SUB_L0049A630 mov ebx,[ebp-20h] add esp,00000010h lea eax,[ebp-20h] push esi push 00000001h push 00000002h push eax call SUB_L0049A630 mov ecx,[ebp-20h] add esp,00000010h mov [ebp-34h],ecx mov ecx,L00669608 push 00000000h push 00000000h push 00000007h push 00000000h call SUB_L00441620 mov edx,[ebp-34h] mov ecx,[eax] and edx,0000FFFFh push 00000000h mov [ebp-34h],ecx push edx mov edx,[ebp-34h] and ebx,0000FFFFh push ebx mov ecx,eax mov [ebp-28h],eax call [edx+3Ch] mov eax,[ebp-24h] mov ebx,[ebp-28h] test eax,eax jz L0044245D mov ecx,ebx call SUB_L0040D6E0 L0044245D: mov eax,[ebp-10h] mov [ebx+2Ch],eax mov ecx,[ebp-14h] mov [ebx+30h],ecx jmp CASE_00442860_PROC0003 CASE_00442860_PROC0008: push esi push ebx lea edx,[ebp-10h] push 00000004h push edx call SUB_L0049A630 add esp,00000010h lea eax,[ebp-14h] push esi push ebx push 00000004h push eax call SUB_L0049A630 add esp,00000010h lea ecx,[ebp-18h] push esi push ebx push ebx push ecx call SUB_L0049A630 add esp,00000010h push 000000B4h call SUB_L0049A820 add esp,00000004h mov [ebp-24h],eax test eax,eax mov [ebp-04h],ebx jz L004424CF mov edx,[ebp-18h] mov ecx,[ebp-14h] and edx,000000FFh push edx mov edx,[ebp-10h] push ecx push edx mov ecx,eax call SUB_L0040C800 jmp L004424D1 L004424CF: xor eax,eax L004424D1: push ebx push 00000000h mov ecx,eax mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L004415C0 jmp CASE_00442860_PROC0003 CASE_00442860_PROC0006: push esi push ebx lea eax,[ebp-10h] push 00000004h push eax call SUB_L0049A630 add esp,00000010h lea ecx,[ebp-14h] push esi push ebx push 00000004h push ecx call SUB_L0049A630 add esp,00000010h lea edx,[ebp-18h] push esi push ebx push ebx push edx call SUB_L0049A630 mov al,[ebp-18h] add esp,00000010h xor ebx,ebx cmp al,01h push 00000000h push 00000000h push 00001388h push 00000000h mov ecx,L00669608 setz bl call SUB_L00441620 test ebx,ebx mov [ebp-28h],eax jz L00442546 mov ecx,eax call SUB_L0040D6E0 mov eax,[ebp-28h] L00442546: mov ecx,[ebp-10h] mov [eax+2Ch],ecx mov edx,[ebp-14h] mov [eax+30h],edx jmp CASE_00442860_PROC0003 CASE_00442860_PROC0007: push esi push ebx lea eax,[ebp-10h] push 00000004h push eax call SUB_L0049A630 add esp,00000010h lea ecx,[ebp-14h] push esi push ebx push 00000004h push ecx call SUB_L0049A630 add esp,00000010h lea edx,[ebp-18h] push esi push ebx push ebx push edx call SUB_L0049A630 mov al,[ebp-18h] add esp,00000010h cmp al,01h push 000000BCh jnz L004425F3 call SUB_L0049A820 add esp,00000004h mov [ebp-24h],eax test eax,eax mov dword ptr [ebp-04h],00000002h jz L004425B5 push 00000000h push 00000000h mov ecx,eax call SUB_L00436540 jmp L004425B7 L004425B5: xor eax,eax L004425B7: mov ecx,eax mov dword ptr [ebp-04h],FFFFFFFFh mov [L00669664],eax call SUB_L0040D6E0 mov eax,[L00669664] mov ecx,[ebp-10h] push ebx push 00000000h mov [eax+2Ch],ecx mov eax,[L00669664] mov edx,[ebp-14h] mov [eax+30h],edx mov ecx,[L00669664] call SUB_L004415C0 jmp CASE_00442860_PROC0003 L004425F3: call SUB_L0049A820 add esp,00000004h mov [ebp-24h],eax test eax,eax mov dword ptr [ebp-04h],00000003h jz L0044261A mov ecx,[ebp-14h] mov edx,[ebp-10h] push ecx push edx mov ecx,eax call SUB_L00436540 jmp L0044261C L0044261A: xor eax,eax L0044261C: push ebx push 00000000h mov ecx,eax mov dword ptr [ebp-04h],FFFFFFFFh mov [L00669664],eax call SUB_L004415C0 jmp CASE_00442860_PROC0003 CASE_00442860_PROC000B: push esi push ebx lea eax,[ebp-10h] push 00000004h push eax call SUB_L0049A630 add esp,00000010h lea ecx,[ebp-14h] push esi push ebx push 00000004h push ecx call SUB_L0049A630 mov edx,[ebp-10h] mov eax,[ebp-14h] add esp,00000010h lea ecx,[ebp-10h] mov [L007121F8],edx mov [L007121FC],eax push esi push ebx push 00000004h push ecx call SUB_L0049A630 add esp,00000010h lea edx,[ebp-14h] push esi push ebx push 00000004h push edx call SUB_L0049A630 add esp,00000010h lea eax,[ebp-2Ch] push esi push ebx push 00000004h push eax call SUB_L0049A630 add esp,00000010h lea ecx,[ebp-30h] push esi push ebx push 00000004h push ecx call SUB_L0049A630 mov eax,[L00669574] add esp,00000010h test eax,eax jnz CASE_00442860_PROC0003 mov edx,[ebp-30h] mov eax,[ebp-2Ch] mov ecx,[ebp-10h] push edx mov edx,[ebp-14h] push eax call SUB_L0049A500 jmp CASE_00442860_PROC0003 CASE_00442860_PROC000A: push esi push ebx lea ecx,[ebp-10h] push 00000004h push ecx call SUB_L0049A630 mov edx,[ebp-10h] add esp,00000010h lea eax,[ebp-14h] mov [L004C555C],edx push esi push ebx push 00000004h push eax call SUB_L0049A630 mov ecx,[ebp-14h] add esp,00000010h lea edx,[ebp-2Ch] mov [L004D7E7C],ecx push esi push ebx push 00000004h push edx call SUB_L0049A630 mov eax,[ebp-2Ch] add esp,00000010h lea ecx,[ebp-30h] mov [L004D7E80],eax push esi push ebx push 00000004h push ecx call SUB_L0049A630 mov edx,[ebp-30h] add esp,00000010h lea eax,[ebp-10h] mov [L004D7E74],edx push esi push ebx push 00000004h push eax call SUB_L0049A630 mov ecx,[ebp-10h] add esp,00000010h lea edx,[ebp-14h] mov [L004D7E88],ecx push esi push ebx push 00000004h push edx call SUB_L0049A630 mov eax,[ebp-14h] add esp,00000010h lea ecx,[ebp-10h] mov [L004D7E84],eax push esi push ebx push 00000004h push ecx call SUB_L0049A630 mov edx,[ebp-10h] add esp,00000010h lea eax,[ebp-10h] mov [L004D7E78],edx push esi push ebx push 00000004h push eax call SUB_L0049A630 mov eax,[ebp-10h] add esp,00000010h test eax,eax jz CASE_00442860_PROC0003 mov eax,[L00669668] test eax,eax jnz CASE_00442860_PROC0003 mov eax,[L006BB1CC] test eax,eax jz CASE_00442860_PROC0003 cmp dword ptr [eax+04h],FFFFFFFFh jz CASE_00442860_PROC0003 lea ecx,[ebp-00000090h] push L007B7D28 push ecx mov ecx,L006BB1C0 call SUB_L00422880 mov ecx,[L006BB1CC] lea edx,[ebp-00000090h] push edx call SUB_L0048B170 jmp CASE_00442860_PROC0003 CASE_00442860_PROC0009: push esi push ebx lea eax,[ebp-10h] push 00000004h push eax call SUB_L0049A630 add esp,00000010h lea ecx,[ebp-14h] push esi push ebx push 00000004h push ecx call SUB_L0049A630 mov edx,[ebp-10h] mov eax,[ebp-14h] add esp,00000010h mov [L00549074],edx mov [L00549078],eax CASE_00442860_PROC0003: mov ebx,00000001h push esi push ebx lea ecx,[ebp-18h] push ebx push ecx call SUB_L0049A630 add esp,00000010h test eax,eax jg L004420BE L00442820: push esi call SUB_L0049A580 mov eax,[edi+00000084h] add esp,00000004h test eax,eax jnz L0044283A mov dword ptr [edi+7Ch],00000000h L0044283A: mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_0044284C: dd CASE_0044284C_PROC0000 dd CASE_0044284C_PROC0001 dd CASE_0044284C_PROC0002 dd CASE_0044284C_PROC0003 dd CASE_0044284C_PROC0004 CASE_PROCTABLE_00442860: dd CASE_00442860_PROC0000 dd CASE_00442860_PROC0001 dd CASE_00442860_PROC0002 dd CASE_00442860_PROC0003 dd CASE_00442860_PROC0004 dd CASE_00442860_PROC0003 dd CASE_00442860_PROC0006 dd CASE_00442860_PROC0007 dd CASE_00442860_PROC0008 dd CASE_00442860_PROC0009 dd CASE_00442860_PROC000A dd CASE_00442860_PROC000B SUB_L00442890: push ebp mov ebp,esp sub esp,0000001Ch mov eax,[L007121EC] push esi xor esi,esi push edi cmp eax,esi mov edi,ecx jz L00442DAF mov eax,[L006BD428] push ebx cmp eax,00000004h mov [ebp-14h],esi ja L0044290D jmp [CASE_PROCTABLE_00442DB8+eax*4] CASE_00442DB8_PROC0000: push L004C61C8 push SSZ004C6BB4_desktop_uo1 jmp L004428F8 CASE_00442DB8_PROC0001: push L004C61C8 push SSZ004C6BA8_desktop_uo2 jmp L004428F8 CASE_00442DB8_PROC0002: push L004C61C8 push SSZ004C6B9C_desktop_uo3 jmp L004428F8 CASE_00442DB8_PROC0003: push L004C61C8 push SSZ004C6B90_desktop_uo4 jmp L004428F8 CASE_00442DB8_PROC0004: push L004C61C8 push SSZ004C6B84_desktop_uo5 L004428F8: mov ecx,L006BB1C8 call SUB_L00455E10 push eax call SUB_L0049A7F0 add esp,00000008h mov esi,eax L0044290D: mov eax,[L0073EBE4] mov ebx,00000001h push esi push ebx add eax,00000078h push 00000004h push eax call SUB_L0049B520 mov edi,[edi+18h] add esp,00000010h test edi,edi jz L00442C1A L00442932: mov edx,[edi] mov ecx,edi call [edx+0000008Ch] test eax,eax jz L00442956 mov eax,[edi+34h] mov ecx,[L0073EBE4] cmp eax,ecx jnz L00442956 mov byte ptr [ebp-01h],00h jmp L00442B6A L00442956: mov edx,[edi] mov ecx,edi call [edx+000000C8h] test eax,eax jz L00442979 mov eax,[edi+34h] mov ecx,[L0073EBE4] cmp eax,ecx jnz L00442979 mov [ebp-01h],bl jmp L00442B6A L00442979: mov edx,[edi] mov ecx,edi call [edx+000000B0h] test eax,eax jz L00442A12 push esi push ebx lea eax,[ebp-01h] push ebx push eax mov byte ptr [ebp-01h],02h call SUB_L0049B520 mov ecx,[edi+2Ch] add esp,00000010h lea edx,[ebp-08h] mov [ebp-08h],ecx push esi push ebx push 00000004h push edx call SUB_L0049B520 mov eax,[edi+30h] add esp,00000010h lea ecx,[ebp-08h] mov [ebp-08h],eax push esi push ebx push 00000004h push ecx call SUB_L0049B520 mov dl,[edi+60h] add esp,00000010h lea eax,[ebp-01h] mov [ebp-01h],dl push esi push ebx push ebx push eax call SUB_L0049B520 mov cx,[edi+1Ch] add esp,00000010h lea edx,[ebp-0Ch] mov [ebp-0Ch],ecx push esi push ebx push 00000002h push edx call SUB_L0049B520 mov ax,[edi+20h] add esp,00000010h lea ecx,[ebp-0Ch] mov [ebp-0Ch],eax push esi push ebx push 00000002h push ecx call SUB_L0049B520 add esp,00000010h jmp L00442C0F L00442A12: mov edx,[edi] mov ecx,edi call [edx+0000012Ch] test eax,eax jz L00442A6A push esi push ebx lea eax,[ebp-01h] push ebx push eax mov byte ptr [ebp-01h],08h call SUB_L0049B520 mov ecx,[edi+2Ch] add esp,00000010h lea edx,[ebp-08h] mov [ebp-08h],ecx push esi push ebx push 00000004h push edx call SUB_L0049B520 mov eax,[edi+30h] add esp,00000010h lea ecx,[ebp-08h] mov [ebp-08h],eax push esi push ebx push 00000004h push ecx call SUB_L0049B520 mov dl,[edi+000000ACh] add esp,00000010h jmp L00442B47 L00442A6A: cmp edi,[L00669660] jnz L00442AFD push esi push ebx lea ecx,[ebp-01h] push ebx push ecx mov byte ptr [ebp-01h],04h call SUB_L0049B520 mov edx,[edi+2Ch] add esp,00000010h lea eax,[ebp-08h] mov [ebp-08h],edx push esi push ebx push 00000004h push eax call SUB_L0049B520 mov ecx,[edi+30h] add esp,00000010h lea edx,[ebp-08h] mov [ebp-08h],ecx push esi push ebx push 00000004h push edx call SUB_L0049B520 mov al,[edi+60h] add esp,00000010h lea ecx,[ebp-01h] mov [ebp-01h],al push esi push ebx push ebx push ecx call SUB_L0049B520 mov dx,[edi+1Ch] add esp,00000010h lea eax,[ebp-0Ch] mov [ebp-0Ch],edx push esi push ebx push 00000002h push eax call SUB_L0049B520 mov cx,[edi+20h] add esp,00000010h lea edx,[ebp-0Ch] mov [ebp-0Ch],ecx push esi push ebx push 00000002h push edx call SUB_L0049B520 add esp,00000010h jmp L00442C0F L00442AFD: cmp edi,[L00669638] jnz L00442B5E push esi push ebx lea eax,[ebp-01h] push ebx push eax mov byte ptr [ebp-01h],06h call SUB_L0049B520 mov ecx,[edi+2Ch] add esp,00000010h lea edx,[ebp-08h] mov [ebp-08h],ecx push esi push ebx push 00000004h push edx call SUB_L0049B520 mov eax,[edi+30h] add esp,00000010h lea ecx,[ebp-08h] mov [ebp-08h],eax push esi push ebx push 00000004h push ecx call SUB_L0049B520 mov dl,[edi+60h] add esp,00000010h L00442B47: push esi push ebx lea eax,[ebp-01h] push ebx push eax mov [ebp-01h],dl call SUB_L0049B520 add esp,00000010h jmp L00442C0F L00442B5E: cmp edi,[L00669664] jnz L00442BBC mov byte ptr [ebp-01h],07h L00442B6A: push esi push ebx lea ecx,[ebp-01h] push ebx push ecx call SUB_L0049B520 mov edx,[edi+2Ch] add esp,00000010h lea eax,[ebp-08h] mov [ebp-08h],edx push esi push ebx push 00000004h push eax call SUB_L0049B520 mov ecx,[edi+30h] add esp,00000010h lea edx,[ebp-08h] mov [ebp-08h],ecx push esi push ebx push 00000004h push edx call SUB_L0049B520 mov al,[edi+60h] add esp,00000010h lea ecx,[ebp-01h] mov [ebp-01h],al push esi push ebx push ebx push ecx call SUB_L0049B520 add esp,00000010h jmp L00442C0F L00442BBC: mov edx,[edi] mov ecx,edi call [edx+000000A4h] test eax,eax jz L00442C0F mov eax,[edi+2Ch] mov [L004C555C],eax mov ecx,[edi+30h] mov [L004D7E7C],ecx mov edx,[edi+1Ch] mov [L004D7E80],edx mov eax,[edi+20h] mov [L004D7E74],eax mov ecx,[edi+000000F8h] mov [L004D7E88],ecx mov edx,[edi+000000F4h] mov [L004D7E84],edx mov eax,[edi+60h] mov [L004D7E78],eax mov [ebp-14h],ebx L00442C0F: mov edi,[edi+3Ch] test edi,edi jnz L00442932 L00442C1A: push esi push ebx lea ecx,[ebp-01h] push ebx push ecx mov byte ptr [ebp-01h],0Ah call SUB_L0049B520 add esp,00000010h push esi push ebx push 00000004h push L004C555C call SUB_L0049B520 add esp,00000010h push esi push ebx push 00000004h push L004D7E7C call SUB_L0049B520 add esp,00000010h push esi push ebx push 00000004h push L004D7E80 call SUB_L0049B520 add esp,00000010h push esi push ebx push 00000004h push L004D7E74 call SUB_L0049B520 add esp,00000010h push esi push ebx push 00000004h push L004D7E88 call SUB_L0049B520 add esp,00000010h push esi push ebx push 00000004h push L004D7E84 call SUB_L0049B520 add esp,00000010h push esi push ebx push 00000004h push L004D7E78 call SUB_L0049B520 add esp,00000010h lea edx,[ebp-14h] push esi push ebx push 00000004h push edx call SUB_L0049B520 add esp,00000010h lea eax,[ebp-01h] mov byte ptr [ebp-01h],0Bh push esi push ebx push ebx push eax call SUB_L0049B520 mov ecx,[L007121F8] add esp,00000010h lea edx,[ebp-08h] mov [ebp-08h],ecx push esi push ebx push 00000004h push edx call SUB_L0049B520 mov eax,[L007121FC] add esp,00000010h lea ecx,[ebp-08h] mov [ebp-08h],eax push esi push ebx push 00000004h push ecx call SUB_L0049B520 add esp,00000010h lea edx,[ebp-1Ch] lea ecx,[ebp-18h] call SUB_L0049A550 mov edx,[ebp-18h] push esi push ebx lea eax,[ebp-08h] push 00000004h push eax mov [ebp-08h],edx call SUB_L0049B520 mov ecx,[ebp-1Ch] add esp,00000010h lea edx,[ebp-08h] mov [ebp-08h],ecx push esi push ebx push 00000004h push edx call SUB_L0049B520 mov eax,[L004C7F34] add esp,00000010h lea ecx,[ebp-08h] mov [ebp-08h],eax push esi push ebx push 00000004h push ecx call SUB_L0049B520 mov edx,[L004C7F38] add esp,00000010h lea eax,[ebp-08h] mov [ebp-08h],edx push esi push ebx push 00000004h push eax call SUB_L0049B520 add esp,00000010h lea ecx,[ebp-01h] mov byte ptr [ebp-01h],09h push esi push ebx push ebx push ecx call SUB_L0049B520 mov edx,[L00549074] add esp,00000010h lea eax,[ebp-10h] mov [ebp-10h],edx push esi push ebx push 00000004h push eax call SUB_L0049B520 mov ecx,[L00549078] add esp,00000010h lea edx,[ebp-10h] mov [ebp-10h],ecx push esi push ebx push 00000004h push edx call SUB_L0049B520 add esp,00000010h push esi call SUB_L0049A580 add esp,00000004h pop ebx L00442DAF: pop edi pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_00442DB8: dd CASE_00442DB8_PROC0000 dd CASE_00442DB8_PROC0001 dd CASE_00442DB8_PROC0002 dd CASE_00442DB8_PROC0003 dd CASE_00442DB8_PROC0004 Align 8 SUB_L00442DD0: push ebp mov ebp,esp push FFFFFFFFh push L004B31B8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push esi mov ebx,ecx push edi mov [ebp-10h],ebx call SUB_L00441CB0 mov ecx,[ebp+08h] mov eax,[ebp+1Ch] mov edx,[ebp+0Ch] mov [ebx+2Ch],ecx mov ecx,[ebp+18h] mov [ebx+0000009Ch],eax mov eax,[ebp+14h] xor esi,esi mov [ebx+20h],ecx push SSZ004C4EF0_framedata_for_CDumbGump push 00000008h mov ecx,L00669C8C mov [ebp-04h],esi mov dword ptr [ebx],L004BA260 mov [ebx+00000094h],esi mov [ebx+00000098h],esi mov [ebx+30h],edx mov dword ptr [ebx+04h],SSZ004C6BD0_dumb_gump mov [ebx+5Ch],esi mov [ebx+50h],esi mov [ebx+60h],esi mov [ebx+4Ch],esi mov [ebx+48h],esi mov [ebx+44h],esi mov [ebx+40h],esi mov [ebx+3Ch],esi mov [ebx+1Ch],eax mov [ebx+10h],esi mov dword ptr [ebx+14h],00000001h call SUB_L0044FBD0 mov ecx,[ebx+14h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [ebx+38h],edi push SSZ004C4EE4_dumb_frame0 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[ebx+1Ch] imul eax,[ebx+20h] lea ecx,[eax+eax+04h] push ecx mov ecx,L00669C8C call SUB_L0044FBD0 mov edx,[ebx+38h] mov [edx+04h],eax mov eax,[ebx+38h] mov dx,[ebx+1Ch] mov ecx,[eax+04h] mov [ecx],dx mov eax,[ebx+38h] mov dx,[ebx+20h] mov ecx,[eax+04h] xor eax,eax mov [ecx+02h],dx mov ecx,[ebx+1Ch] imul ecx,[ebx+20h] mov edx,[ebx+38h] shl ecx,1 mov edi,[edx+04h] mov edx,ecx add edi,00000004h shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[ebp+20h] cmp eax,esi jz L00442F0C mov ecx,[ebp+18h] mov esi,eax imul ecx,[ebp+14h] mov eax,[ebx+38h] shl ecx,1 mov edi,[eax+04h] mov edx,ecx add edi,00000004h shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb xor esi,esi L00442F0C: mov edx,[ebp+24h] cmp edx,FFFFFFFFh jz L00442F38 mov eax,[ebx+38h] xor ecx,ecx mov eax,[eax+04h] mov cx,[eax+02h] add eax,00000004h push ecx xor ecx,ecx mov cx,[eax-04h] push ecx push eax push esi push esi mov ecx,SUB_L00488380 call SUB_L00439100 L00442F38: mov ecx,[ebp-0Ch] pop edi mov eax,ebx pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0020h ;------------------------------------------------------------------------------ Align 4 L00442F50: push ebp mov ebp,esp push esi mov esi,ecx call SUB_L00442F80 test byte ptr [ebp+08h],01h jz L00442F6A push esi call SUB_L0049A810 add esp,00000004h L00442F6A: mov eax,esi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00442F80: push ebp mov ebp,esp push FFFFFFFFh push L004B31D8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx mov [ebp-10h],esi mov dword ptr [esi],L004BA260 mov eax,[esi+38h] mov dword ptr [ebp-04h],00000000h mov eax,[eax+04h] test eax,eax jz L00442FD0 push SSZ004C6BEC_dumb_frame0_pBMP push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov ecx,[esi+38h] mov dword ptr [ecx+04h],00000000h L00442FD0: mov eax,[esi+38h] test eax,eax jz L00442FEE push SSZ004C6BDC_dumb_framedata push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov dword ptr [esi+38h],00000000h L00442FEE: mov ecx,esi mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00441D50 mov ecx,[ebp-0Ch] pop esi mov fs:[00000000h],ecx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 L00443010: push ebp mov ebp,esp sub esp,00000008h mov eax,[ecx+68h] push ebx xor ebx,ebx push esi cmp eax,ebx push edi mov [ebp-08h],ecx jz L00443144 xor edi,edi cmp ecx,ebx mov [ebp-04h],ebx mov esi,ecx jz L00443057 L00443034: mov eax,[esi] mov ecx,esi call [eax+78h] mov ecx,[ebp-04h] mov edx,[esi+2Ch] or ecx,eax add edi,edx mov [ebp-04h],ecx mov ecx,[esi+30h] mov esi,[esi+48h] add ebx,ecx test esi,esi jnz L00443034 mov ecx,[ebp-08h] L00443057: mov eax,[ebp-04h] test eax,eax jz L0044306D mov edx,[L007121F8] mov eax,[L007121FC] add edi,edx add ebx,eax L0044306D: mov ecx,[ecx+38h] xor eax,eax xor edx,edx mov esi,[ecx+04h] mov [ebp-04h],esi mov ax,[esi] mov dx,[esi+02h] mov esi,[ebp+08h] lea ecx,[edi+eax] cmp [esi+08h],edi jle L00443144 cmp [esi],ecx jge L00443144 cmp [esi+0Ch],ebx jle L00443144 lea ecx,[ebx+edx] cmp [esi+04h],ecx jge L00443144 mov ecx,[ebp-08h] cmp dword ptr [ecx+00000094h],00000000h jz L004430FB mov edx,[ecx+0000009Ch] mov ecx,L006A9DB8 push edx call SUB_L004882D0 test eax,eax mov [ebp+08h],eax jz L00443144 mov edx,[L004C7F34] mov ecx,[L006BAE7C] call SUB_L00488A00 mov edx,[ebp+08h] push ebx push edi push esi mov ecx,SUB_L00488380 call SUB_L00488A10 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L004430FB: cmp dword ptr [ecx+00000098h],00000000h mov ecx,[L004C7F38] push ecx mov ecx,[L004C7F34] push ecx mov ecx,[L006BAE7C] push ecx push ebx push edi push edx mov edx,[ebp-04h] push eax push esi jnz L00443137 add edx,00000004h mov ecx,SUB_L00488700 call SUB_L00439500 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L00443137: add edx,00000004h mov ecx,L00488730 call SUB_L00439500 L00443144: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 4 L00443150: push ebp mov ebp,esp push esi mov esi,ecx call SUB_L00443320 test byte ptr [ebp+08h],01h jz L0044316A push esi call SUB_L0049A810 add esp,00000004h L0044316A: mov eax,esi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00443180: push ebp mov ebp,esp push FFFFFFFFh push L004B31F8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,0000001Ch push ebx push esi mov esi,ecx push edi mov [ebp-18h],esi call SUB_L00441CB0 mov eax,[ebp+08h] mov ecx,[ebp+0Ch] mov edx,[ebp+1Ch] mov [esi+2Ch],eax mov [esi+30h],ecx mov ecx,[ebp+10h] lea eax,[ebp-14h] xor ebx,ebx mov [esi+34h],edx push eax lea edx,[ebp-10h] mov [ebp-04h],ebx mov dword ptr [esi],L004BA3A8 mov dword ptr [esi+04h],SSZ004C6C00_sign_gump mov [esi+5Ch],ebx mov [esi+50h],ecx mov [esi+60h],ebx call SUB_L004390A0 mov ecx,[ebp-10h] mov edx,[ebp-14h] mov [esi+1Ch],ecx push SSZ004C4EF0_framedata_for_CDumbGump push 00000008h mov ecx,L00669C8C mov [esi+4Ch],ebx mov [esi+48h],ebx mov [esi+44h],ebx mov [esi+40h],ebx mov [esi+3Ch],ebx mov [esi+20h],edx mov [esi+10h],ebx mov dword ptr [esi+14h],00000001h call SUB_L0044FBD0 mov ecx,[esi+14h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+38h],edi push SSZ004C4EE4_dumb_frame0 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+20h] imul eax,[esi+1Ch] lea ecx,[eax+eax+04h] push ecx mov ecx,L00669C8C call SUB_L0044FBD0 mov edx,[esi+38h] mov [edx+04h],eax mov ecx,[esi+20h] imul ecx,[esi+1Ch] mov edx,[esi+38h] xor eax,eax shl ecx,1 mov edi,[edx+04h] mov edx,ecx add edi,00000004h shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+38h] mov dx,[esi+1Ch] mov ecx,[eax+04h] mov [ecx],dx mov eax,[esi+38h] mov dx,[esi+20h] mov ecx,[eax+04h] mov [ecx+02h],dx mov eax,[esi+38h] xor ecx,ecx xor edx,edx mov eax,[eax+04h] mov cx,[eax+02h] mov dx,[eax] push ecx add eax,00000004h push edx mov edx,[esi+50h] push eax push ebx push ebx mov ecx,SUB_L00488700 call SUB_L00439100 mov ecx,[esi+50h] lea eax,[ebp-28h] push eax push ecx mov ecx,L00669608 call SUB_L00440500 mov ecx,[esi+38h] mov eax,[esi+1Ch] push ebx lea edx,[ebp-28h] push ebx push edx mov edx,[ecx+04h] mov ecx,[ebp-20h] push eax mov eax,[ebp-28h] add edx,00000004h sub ecx,eax push edx mov edx,[ebp+18h] inc ecx push ecx mov ecx,[ebp-24h] push edx push 00000386h push 00000001h push ecx push eax mov ecx,L00669CC8 call SUB_L004372C0 mov ecx,[ebp-0Ch] mov eax,esi pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0018h ;------------------------------------------------------------------------------ Align 16 SUB_L00443320: push ebp mov ebp,esp push FFFFFFFFh push L004B3218 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx mov [ebp-10h],esi mov dword ptr [esi],L004BA3A8 mov eax,[esi+38h] mov dword ptr [ebp-04h],00000000h mov eax,[eax+04h] test eax,eax jz L00443370 push SSZ004C6C1C_sign_frame0_pBMP push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov ecx,[esi+38h] mov dword ptr [ecx+04h],00000000h L00443370: mov eax,[esi+38h] test eax,eax jz L0044338E push SSZ004C6C0C_sign_framedata push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov dword ptr [esi+38h],00000000h L0044338E: mov ecx,esi mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00441D50 mov ecx,[ebp-0Ch] pop esi mov fs:[00000000h],ecx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 L004433B0: push ebp mov ebp,esp sub esp,00000008h mov eax,[ecx+68h] push ebx xor ebx,ebx push esi cmp eax,ebx push edi mov [ebp-08h],ecx jz L00443467 xor edi,edi cmp ecx,ebx mov [ebp-04h],ebx mov esi,ecx jz L004433F7 L004433D4: mov eax,[esi] mov ecx,esi call [eax+78h] mov ecx,[ebp-04h] mov edx,[esi+2Ch] or ecx,eax add edi,edx mov [ebp-04h],ecx mov ecx,[esi+30h] mov esi,[esi+48h] add ebx,ecx test esi,esi jnz L004433D4 mov ecx,[ebp-08h] L004433F7: mov eax,[ebp-04h] test eax,eax jz L0044340D mov edx,[L007121F8] mov eax,[L007121FC] add edi,edx add ebx,eax L0044340D: mov ecx,[ecx+38h] xor eax,eax mov edx,[ecx+04h] xor ecx,ecx mov [ebp-08h],edx mov ax,[edx] mov cx,[edx+02h] mov edx,[ebp+08h] lea esi,[edi+eax] cmp [edx+08h],edi jle L00443467 cmp [edx],esi jge L00443467 cmp [edx+0Ch],ebx jle L00443467 lea esi,[ebx+ecx] cmp [edx+04h],esi jge L00443467 mov esi,[L004C7F38] push esi mov esi,[L004C7F34] push esi mov esi,[L006BAE7C] push esi push ebx push edi push ecx push eax push edx mov edx,[ebp-08h] mov ecx,SUB_L00488700 add edx,00000004h call SUB_L00439500 L00443467: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L00443470: push ebp mov ebp,esp test ecx,ecx mov dword ptr [L006A9DD4],00000000h jz L00443487 mov eax,[ecx] push 00000001h call [eax] L00443487: pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 8 SUB_L00443490: push ebp mov ebp,esp push FFFFFFFFh push L004B3264 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push esi mov ebx,ecx push edi mov [ebp-10h],ebx call SUB_L00441CB0 mov eax,[ebp+08h] mov ecx,[ebp+0Ch] mov edx,[ebp+20h] mov [ebx+2Ch],eax mov eax,[ebp+1Ch] xor edi,edi cmp eax,edi mov [ebp-04h],edi mov dword ptr [ebx],L004BA508 mov [ebx+30h],ecx mov dword ptr [ebx+04h],SSZ004C6C30_waiting_gump mov [ebx+5Ch],edi mov [ebx+60h],edi mov [ebx+00000098h],eax mov [ebx+0000009Ch],edx jz L004434F9 mov dword ptr [ebx+50h],00000474h jmp L00443500 L004434F9: mov dword ptr [ebx+50h],00000816h L00443500: mov al,[ebp+24h] test al,al mov [ebx+000002ACh],al jz L0044351D mov edx,[ebp+10h] lea ecx,[ebx+000000A0h] call SUB_L00491D10 jmp L00443545 L0044351D: mov edi,[ebp+10h] or ecx,FFFFFFFFh xor eax,eax lea edx,[ebx+000000A0h] repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb xor edi,edi L00443545: mov ecx,[ebp+14h] mov [ebx+000002A0h],ecx mov edx,[L0066962C] mov [ebx+000002A4h],edx mov eax,[L0066962C] cmp eax,ebx jz L00443582 mov ecx,L00669608 call SUB_L0043FDA0 mov ecx,[L006BB5D0] mov [L0066962C],ebx cmp ecx,edi jz L00443582 call SUB_L0044A3D0 L00443582: mov ecx,[ebx+50h] lea esi,[ebx+20h] lea edx,[ebx+1Ch] push esi mov [ebx+4Ch],edi mov [ebx+48h],edi mov [ebx+44h],edi mov [ebx+40h],edi mov [ebx+3Ch],edi call SUB_L004390A0 cmp [ebx+00000098h],edi jz L004435B6 mov dword ptr [ebx+2Ch],00000079h mov dword ptr [ebx+30h],00000066h L004435B6: cmp dword ptr [ebx+2Ch],FFFFFFFFh jnz L004435DF mov eax,[ebx+1Ch] mov ecx,00000140h cdq sub eax,edx sar eax,1 sub ecx,eax mov eax,[esi] cdq sub eax,edx mov edx,000000F0h sar eax,1 sub edx,eax mov [ebx+2Ch],ecx mov [ebx+30h],edx L004435DF: push SSZ004C4EF0_framedata_for_CDumbGump push 00000010h mov ecx,L00669C8C mov [ebx+10h],edi mov dword ptr [ebx+14h],00000002h call SUB_L0044FBD0 mov ecx,[ebx+14h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [ebx+38h],edi push SSZ004C4EE4_dumb_frame0 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[ebx+1Ch] imul eax,[esi] lea ecx,[eax+eax+04h] push ecx mov ecx,L00669C8C call SUB_L0044FBD0 mov edx,[ebx+38h] push SSZ004C4EE4_dumb_frame0 mov [edx+04h],eax mov ecx,[ebx+1Ch] imul ecx,[esi] mov edx,[ebx+38h] xor eax,eax shl ecx,1 mov edi,[edx+04h] mov edx,ecx add edi,00000004h shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[ebx+38h] mov dx,[ebx+1Ch] mov ecx,[eax+04h] mov [ecx],dx mov eax,[ebx+38h] mov dx,[esi] mov ecx,[eax+04h] mov [ecx+02h],dx mov eax,[ebx+1Ch] imul eax,[esi] lea ecx,[eax+eax+04h] push ecx mov ecx,L00669C8C call SUB_L0044FBD0 mov edx,[ebx+38h] mov [edx+0Ch],eax mov ecx,[ebx+1Ch] imul ecx,[esi] mov edx,[ebx+38h] xor eax,eax shl ecx,1 mov edi,[edx+0Ch] mov edx,ecx add edi,00000004h shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[ebx+38h] mov dx,[ebx+1Ch] mov ecx,[eax+0Ch] mov [ecx],dx mov eax,[ebx+38h] mov dx,[esi] mov ecx,[eax+0Ch] mov [ecx+02h],dx mov eax,[esi] mov ecx,[ebx+1Ch] push eax push ecx mov edx,[ebx+38h] mov ecx,SUB_L00488700 mov eax,[edx+0Ch] mov edx,[ebx+50h] add eax,00000004h push eax push 00000000h push 00000000h call SUB_L00439100 mov ecx,ebx call SUB_L00443A70 mov eax,[ebx+00000098h] mov dword ptr [ebx+000002A8h],00000000h test eax,eax mov eax,[ebp+18h] jz L00443812 test eax,eax jz L004437AE mov edi,00000001h mov ecx,L006A9DC0 mov [ebx+000002A8h],edi call SUB_L00450190 mov esi,[L005492A0] push 00000011h mov ecx,L006A9DC0 mov [L005492A0],edi call SUB_L00450120 push 000000CCh mov [L005492A0],esi call SUB_L0049A820 add esp,00000004h mov [ebp+24h],eax test eax,eax mov byte ptr [ebp-04h],01h jz L00443797 mov edx,[ebx+30h] mov esi,[ebx+2Ch] push 00000000h push 00000479h mov ecx,00000124h push 00000478h push SUB_L004107B0 sub ecx,edx push 00000000h mov edx,0000011Ah push 00000000h push ebx sub edx,esi push ecx push edx mov ecx,eax call SUB_L004122F0 jmp L00443799 L00443797: xor eax,eax L00443799: mov byte ptr [ebp-04h],00h mov ecx,eax mov dword ptr [eax+000000A4h],0000047Ah jmp L004438AD L004437AE: push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp+24h],eax test eax,eax mov byte ptr [ebp-04h],02h jz L004437FB mov edx,[ebx+30h] mov esi,[ebx+2Ch] push 00000000h push 0000047Ch mov ecx,00000124h push 0000047Bh push SUB_L004107B0 sub ecx,edx push 00000000h mov edx,0000011Ah push 00000000h push ebx sub edx,esi push ecx push edx mov ecx,eax call SUB_L004122F0 jmp L004437FD L004437FB: xor eax,eax L004437FD: mov byte ptr [ebp-04h],00h mov ecx,eax mov dword ptr [eax+000000A4h],0000047Dh jmp L004438AD L00443812: test eax,eax push 000000CCh jz L00443865 call SUB_L0049A820 add esp,00000004h mov [ebp+24h],eax test eax,eax mov byte ptr [ebp-04h],03h jz L00443851 push 00000000h push 00000818h push 00000817h push SUB_L004107B0 push 00000000h push 00000000h push ebx push 0000004Bh push 00000041h mov ecx,eax call SUB_L004122F0 jmp L00443853 L00443851: xor eax,eax L00443853: mov byte ptr [ebp-04h],00h mov ecx,eax mov dword ptr [eax+000000A4h],00000819h jmp L004438AD L00443865: call SUB_L0049A820 add esp,00000004h mov [ebp+24h],eax test eax,eax mov byte ptr [ebp-04h],04h jz L0044389B push 00000000h push 0000081Bh push 0000081Ah push SUB_L004107B0 push 00000000h push 00000000h push ebx push 0000004Bh push 00000041h mov ecx,eax call SUB_L004122F0 jmp L0044389D L0044389B: xor eax,eax L0044389D: mov byte ptr [ebp-04h],00h mov ecx,eax mov dword ptr [eax+000000A4h],0000081Ch L004438AD: push 00000001h push ebx call SUB_L004415C0 mov ecx,[ebp-0Ch] pop edi mov eax,ebx pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0020h ;------------------------------------------------------------------------------ Align 8 L004438D0: push ebp mov ebp,esp push esi mov esi,ecx call SUB_L00443900 test byte ptr [ebp+08h],01h jz L004438EA push esi call SUB_L0049A810 add esp,00000004h L004438EA: mov eax,esi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00443900: push ebp mov ebp,esp push FFFFFFFFh push L004B3278 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push esi mov esi,ecx push edi mov [ebp-10h],esi mov dword ptr [esi],L004BA508 mov eax,[esi+000002A8h] xor ebx,ebx cmp eax,ebx mov [ebp-04h],ebx jz L00443962 mov ecx,L006A9DC0 call SUB_L004501A0 mov edi,[L005492A0] push 00000011h mov ecx,L006A9DC0 mov dword ptr [L005492A0],00000001h call SUB_L00450120 mov [L005492A0],edi L00443962: cmp [L00669630],esi jnz L00443970 mov [L00669630],ebx L00443970: cmp [L00669674],esi jnz L0044397E mov [L00669674],ebx L0044397E: mov edi,[esi+000002A4h] cmp edi,ebx jz L004439E7 cmp [L0066962C],edi jz L004439AF mov ecx,L00669608 call SUB_L0043FDA0 mov ecx,[L006BB5D0] mov [L0066962C],edi cmp ecx,ebx jz L004439AF call SUB_L0044A3D0 L004439AF: mov ecx,[esi+000002A4h] mov eax,[ecx] call [eax+000000E8h] mov ecx,[esi+000002A4h] test eax,eax jz L004439CE call SUB_L0041AC50 jmp L004439F1 L004439CE: mov edx,[ecx] call [edx+000000ECh] test eax,eax jz L004439F1 mov ecx,[esi+000002A4h] call SUB_L00490830 jmp L004439F1 L004439E7: mov ecx,L00669608 call SUB_L0043FDA0 L004439F1: mov eax,[esi+38h] mov eax,[eax+04h] cmp eax,ebx jz L00443A11 push SSZ004C6C68_waiting_frame0_pBMP push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov ecx,[esi+38h] mov [ecx+04h],ebx L00443A11: mov edx,[esi+38h] mov eax,[edx+0Ch] cmp eax,ebx jz L00443A31 push SSZ004C6C54_waiting_frame1_pBMP push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov eax,[esi+38h] mov [eax+0Ch],ebx L00443A31: mov eax,[esi+38h] cmp eax,ebx jz L00443A4B push SSZ004C6C40_waiting_framedata push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov [esi+38h],ebx L00443A4B: mov ecx,esi mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00441D50 mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 SUB_L00443A70: push ebp mov ebp,esp sub esp,00000024h push ebx mov ebx,ecx push esi push edi mov ecx,[ebx+20h] mov eax,[ebx+38h] imul ecx,[ebx+1Ch] mov esi,[eax+0Ch] mov edi,[eax+04h] shl ecx,1 mov eax,ecx add esi,00000004h add edi,00000004h shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov al,[ebx+000002ACh] test al,al jz L00443ADD call SUB_L00492730 mov edi,eax call SUB_L00491AF0 mov cl,[L007B7D2C] mov [ebp-08h],eax mov [ebp-01h],cl xor ecx,ecx call SUB_L00492740 mov ecx,00000006h call SUB_L00491B00 xor cl,cl call SUB_L00491B30 jmp L00443AE0 L00443ADD: mov edi,[ebp-08h] L00443AE0: mov eax,[ebx+00000098h] test eax,eax jz L00443BAB mov al,[ebx+000002ACh] mov dword ptr [ebp-24h],0000003Eh test al,al mov dword ptr [ebp-1Ch],0000014Ah mov dword ptr [ebp-20h],0000002Eh mov dword ptr [ebp-18h],000000AAh jz L00443B41 mov ecx,[ebx+1Ch] lea edx,[ebp-24h] push edx push 00000001h push 0000002Eh lea eax,[ebx+000000A0h] push 0000003Eh push eax mov eax,[ebx+38h] push ecx mov edx,0000010Ch mov ecx,[eax+04h] add ecx,00000004h call SUB_L004935B0 jmp L00443C2F L00443B41: lea ecx,[ebp-0Ch] push 00000000h lea edx,[ebp-10h] push ecx mov ecx,[L004C6ADC] lea eax,[ebp-14h] push edx lea esi,[ebx+000000A0h] push eax push 0000010Ch and ecx,0000FFFFh push esi push ecx mov ecx,L00669CC8 call SUB_L00437B40 mov ecx,[ebx+38h] mov eax,[ebx+1Ch] push 00000000h lea edx,[ebp-24h] push 00000000h push edx mov edx,[ecx+04h] mov ecx,[ebp-1Ch] push eax mov eax,[ebp-24h] add edx,00000004h sub ecx,eax push edx mov edx,[L004C6ADC] push ecx mov ecx,[ebp-20h] push esi and edx,0000FFFFh push 00000386h push edx push ecx push eax jmp L00443C25 L00443BAB: mov al,[ebx+000002ACh] mov dword ptr [ebp-24h],00000021h test al,al mov dword ptr [ebp-1Ch],00000094h mov dword ptr [ebp-20h],0000001Eh mov dword ptr [ebp-18h],0000003Fh jz L00443BFB mov ecx,[ebx+1Ch] lea edx,[ebp-24h] push edx push 00000001h push 0000001Eh lea eax,[ebx+000000A0h] push 00000021h push eax mov eax,[ebx+38h] push ecx mov edx,00000073h mov ecx,[eax+04h] add ecx,00000004h call SUB_L004935B0 jmp L00443C2F L00443BFB: mov eax,[ebx+38h] mov edx,[ebx+1Ch] push 00000000h lea ecx,[ebp-24h] push 00000000h push ecx mov ecx,[eax+04h] push edx add ecx,00000004h lea edx,[ebx+000000A0h] push ecx push 00000073h push edx push 00000386h push 00000001h push 0000001Eh push 00000021h L00443C25: mov ecx,L00669CC8 call SUB_L004372C0 L00443C2F: mov al,[ebx+000002ACh] test al,al jz L00443C50 mov ecx,edi call SUB_L00492740 mov ecx,[ebp-08h] call SUB_L00491B00 mov cl,[ebp-01h] call SUB_L00491B30 L00443C50: pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 L00443C60: push ebp mov ebp,esp sub esp,00000028h mov eax,[ecx+68h] push ebx xor ebx,ebx push esi cmp eax,ebx push edi mov [ebp-08h],ecx jz L00443D54 xor edi,edi cmp ecx,ebx mov [ebp-04h],ebx mov esi,ecx jz L00443CA7 L00443C84: mov eax,[esi] mov ecx,esi call [eax+78h] mov ecx,[ebp-04h] mov edx,[esi+2Ch] or ecx,eax add edi,edx mov [ebp-04h],ecx mov ecx,[esi+30h] mov esi,[esi+48h] add ebx,ecx test esi,esi jnz L00443C84 mov ecx,[ebp-08h] L00443CA7: mov eax,[ebp-04h] test eax,eax jz L00443CBD mov edx,[L007121F8] mov eax,[L007121FC] add edi,edx add ebx,eax L00443CBD: mov ecx,[ecx+38h] xor eax,eax xor edx,edx mov esi,[ecx+04h] mov [ebp-18h],edi mov [ebp-14h],ebx mov ax,[esi] add eax,edi mov [ebp-10h],eax mov dx,[esi+02h] mov ecx,edx mov edx,ebx add edx,ecx mov ecx,[ebp+08h] mov [ebp-0Ch],edx cmp [ecx+08h],edi jle L00443D54 cmp [ecx],eax jge L00443D54 cmp [ecx+0Ch],ebx jle L00443D54 cmp [ecx+04h],edx jge L00443D54 lea edx,[ebp-28h] push edx lea edx,[ebp-18h] call SUB_L00440D90 mov eax,[L004C7F38] mov ecx,[L004C7F34] mov edx,[L006BAE7C] push eax push ecx xor eax,eax mov ax,[esi+02h] push edx xor ecx,ecx push ebx mov cx,[esi] push edi push eax lea edx,[ebp-28h] push ecx push edx lea edx,[esi+04h] mov ecx,SUB_L00488700 call SUB_L00439500 mov eax,[ebp-08h] mov esi,[eax+4Ch] test esi,esi jz L00443D54 L00443D42: mov edx,[esi] lea eax,[ebp-28h] push eax mov ecx,esi call [edx+0Ch] mov esi,[esi+40h] test esi,esi jnz L00443D42 L00443D54: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 4 L00443D60: push ebp mov ebp,esp mov eax,[L00669630] push esi mov esi,ecx cmp eax,esi jz L00443D76 push 00000000h call SUB_L00441340 L00443D76: mov eax,[ebp+08h] mov ecx,[ebp+0Ch] mov dword ptr [esi+00000094h],00000001h mov [esi+6Ch],eax mov [esi+70h],ecx pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 L00443DA0: push ebp mov ebp,esp mov eax,[ecx+00000094h] test eax,eax jz L00443DD2 mov eax,[ecx+00000098h] test eax,eax jnz L00443DD2 mov eax,[ebp+0Ch] mov edx,[ecx+70h] push 00000001h push 00000000h sub eax,edx mov edx,[ebp+08h] push 00000001h push eax sub edx,[ecx+6Ch] push edx call SUB_L00440850 L00443DD2: pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 L00443DE0: push ebp mov ebp,esp cmp dword ptr [ebp+08h],0000000Dh jnz L00443DEE call SUB_L004107B0 L00443DEE: pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00443E00: mov eax,ecx xor ecx,ecx mov dword ptr [eax],L004BA64C mov [eax+08h],ecx mov [eax+04h],ecx mov [eax+0Ch],cl retn ;------------------------------------------------------------------------------ Align 16 L00443E20: push ebp mov ebp,esp push esi mov esi,ecx push edi mov eax,[esi+04h] mov dword ptr [esi],L004BA64C test eax,eax jz L00443E5F L00443E34: mov eax,[esi+04h] mov ecx,eax mov edi,[eax+08h] mov eax,[ecx+04h] test eax,eax jz L00443E4C push eax call SUB_L0049A810 add esp,00000004h L00443E4C: mov edx,[esi+04h] push edx call SUB_L0049A810 add esp,00000004h mov [esi+04h],edi test edi,edi jnz L00443E34 L00443E5F: test byte ptr [ebp+08h],01h jz L00443E6E push esi call SUB_L0049A810 add esp,00000004h L00443E6E: mov eax,esi pop edi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00443E80: push ebp mov ebp,esp push ecx push ebx push esi push edi mov [ebp-04h],ecx push 0000000Ch call SUB_L0049A820 mov esi,[ebp+10h] add esp,00000004h mov ebx,eax mov eax,[ebp+08h] push esi mov [ebx],eax call SUB_L0049A820 mov ecx,esi mov esi,[ebp+0Ch] mov edx,ecx mov edi,eax shr ecx,02h mov [ebx+04h],eax mov eax,[ebp-04h] rep movsd mov ecx,edx add esp,00000004h and ecx,00000003h rep movsb mov dword ptr [ebx+08h],00000000h mov ecx,[eax+04h] test ecx,ecx jnz L00443EDC mov [eax+04h],ebx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ L00443EDC: mov eax,[ecx+08h] test eax,eax jz L00443EEC L00443EE3: mov ecx,eax mov eax,[ecx+08h] test eax,eax jnz L00443EE3 L00443EEC: pop edi mov [ecx+08h],ebx pop esi pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 16 SUB_L00443F00: push ebp mov ebp,esp push FFFFFFFFh push L004B3315 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000038h push ebx push esi push edi mov edi,ecx mov ecx,[ebp+08h] mov dword ptr [ebp-04h],00000002h mov eax,[ecx+04h] mov ecx,[ecx] cmp ecx,00000008h ja L004444F3 jmp [CASE_PROCTABLE_00444560+ecx*4] CASE_00444560_PROC0000: mov dx,[eax+06h] mov ecx,eax add eax,00000006h mov [ebp-18h],dx mov esi,[ecx] add eax,00000002h inc eax push 00000108h mov bx,[ecx+04h] mov cl,[eax-01h] mov dl,[eax] inc eax mov [ebp-14h],cl mov [ebp-10h],dl mov cl,[eax] mov dl,[eax+01h] mov [ebp-2Ch],esi mov [ebp-28h],bx mov [ebp+08h],cl mov [ebp-20h],dl call SUB_L0049A820 add esp,00000004h mov [ebp-24h],eax test eax,eax mov byte ptr [ebp-04h],03h jz L004443D7 mov ecx,[ebp-20h] mov edx,[ebp+08h] push ecx mov ecx,[ebp-10h] push edx mov edx,[ebp-14h] push ecx mov ecx,[ebp-18h] push edx push ecx sub esp,00000008h mov ecx,eax mov edx,esp mov [edx],esi mov [edx+04h],bx call SUB_L0043E3C0 mov esi,eax jmp L004443D9 CASE_00444560_PROC0001: mov esi,[eax] mov bx,[eax+04h] add eax,00000004h add eax,00000002h mov cl,[eax] mov dl,[eax+01h] inc eax mov [ebp-14h],cl inc eax mov [ebp-10h],dl mov cl,[eax] mov dl,[eax+01h] mov eax,[L006A9D64] mov [ebp+08h],cl test eax,eax mov [ebp-20h],dl jz L004442A8 L00443FEE: cmp eax,esi jz L00444001 mov eax,[eax+000000BCh] test eax,eax jnz L00443FEE jmp L004442A8 L00444001: push 00000108h call SUB_L0049A820 add esp,00000004h mov [ebp-24h],eax test eax,eax mov byte ptr [ebp-04h],04h jz L004443D7 mov ecx,[ebp-20h] mov edx,[ebp+08h] push ecx mov ecx,[ebp-10h] push edx mov edx,[ebp-14h] push ecx push edx push ebx push esi mov ecx,eax call SUB_L0043E600 mov esi,eax jmp L004443D9 CASE_00444560_PROC0003: mov cx,[eax] add eax,00000002h mov edx,eax add eax,00000006h mov [ebp-18h],cx mov esi,[edx] mov [ebp-2Ch],esi mov [ebp-44h],esi mov bx,[edx+04h] mov edx,eax add eax,00000006h mov [ebp-28h],bx mov ecx,[edx] inc eax mov [ebp-20h],ecx mov [ebp-3Ch],ecx mov dx,[edx+04h] mov [ebp-40h],bx mov [ebp-1Ch],dx mov dl,[eax-01h] mov cx,[ebp-1Ch] mov [ebp-14h],dl mov dl,[eax] mov al,[eax+01h] mov [ebp-10h],dl mov [ebp+08h],al mov [ebp-38h],cx push 00000108h mov byte ptr [ebp-04h],06h call SUB_L0049A820 add esp,00000004h mov [ebp-24h],eax test eax,eax mov byte ptr [ebp-04h],07h jz L004440EA mov edx,[ebp+08h] mov ecx,[ebp-10h] push edx mov edx,[ebp-14h] push ecx mov ecx,[ebp-18h] push edx push ecx mov ecx,[ebp-20h] sub esp,00000008h mov edx,esp sub esp,00000008h mov [edx],ecx mov cx,[ebp-1Ch] mov [edx+04h],cx mov edx,esp mov ecx,eax mov [edx],esi mov [edx+04h],bx call SUB_L0043D3F0 mov esi,eax mov byte ptr [ebp-04h],06h jmp L004443DD L004440EA: xor esi,esi mov byte ptr [ebp-04h],06h jmp L004443DD CASE_00444560_PROC0004: mov cx,[eax] add eax,00000002h mov edx,eax add eax,00000006h mov [ebp-18h],cx mov ebx,[edx] mov esi,[eax] add eax,00000004h mov [ebp-2Ch],ebx mov cx,[edx+04h] mov dl,[eax] inc eax mov [ebp-28h],cx mov [ebp-14h],dl mov cl,[eax] mov dl,[eax+01h] mov eax,[L006A9D64] mov [ebp-10h],cl test eax,eax mov [ebp+08h],dl jz L004442A8 L00444134: cmp eax,esi jz L00444147 mov eax,[eax+000000BCh] test eax,eax jnz L00444134 jmp L004442A8 L00444147: mov ax,[ebp-28h] mov [ebp-44h],ebx mov [ebp-40h],ax push 00000108h mov byte ptr [ebp-04h],08h call SUB_L0049A820 add esp,00000004h mov [ebp-24h],eax test eax,eax mov byte ptr [ebp-04h],09h jz L004441A0 mov ecx,[ebp+08h] mov edx,[ebp-10h] push ecx mov ecx,[ebp-14h] push edx mov edx,[ebp-18h] push ecx push edx push esi mov dx,[ebp-28h] sub esp,00000008h mov ecx,esp mov [ecx],ebx mov [ecx+04h],dx mov ecx,eax call SUB_L0043D7D0 mov esi,eax mov byte ptr [ebp-04h],08h jmp L004443DD L004441A0: xor esi,esi mov byte ptr [ebp-04h],08h jmp L004443DD CASE_00444560_PROC0005: mov cx,[eax] mov esi,[eax+02h] add eax,00000002h mov [ebp-18h],cx add eax,00000004h mov edx,eax add eax,00000006h inc eax mov ebx,[edx] mov [ebp-2Ch],ebx mov cx,[edx+04h] mov dl,[eax-01h] mov [ebp-28h],cx mov cl,[eax] mov [ebp-14h],dl mov dl,[eax+01h] mov eax,[L006A9D64] mov [ebp-10h],cl test eax,eax mov [ebp+08h],dl jz L004442A8 L004441EC: cmp eax,esi jz L004441FF mov eax,[eax+000000BCh] test eax,eax jnz L004441EC jmp L004442A8 L004441FF: mov ax,[ebp-28h] mov [ebp-44h],ebx mov [ebp-40h],ax push 00000108h mov byte ptr [ebp-04h],0Ah call SUB_L0049A820 add esp,00000004h mov [ebp-24h],eax test eax,eax mov byte ptr [ebp-04h],0Bh jz L00444258 mov ecx,[ebp+08h] mov edx,[ebp-10h] push ecx mov ecx,[ebp-14h] push edx mov edx,[ebp-18h] push ecx push edx mov dx,[ebp-28h] sub esp,00000008h mov ecx,esp push esi mov [ecx],ebx mov [ecx+04h],dx mov ecx,eax call SUB_L0043DBF0 mov esi,eax mov byte ptr [ebp-04h],0Ah jmp L004443DD L00444258: xor esi,esi mov byte ptr [ebp-04h],0Ah jmp L004443DD CASE_00444560_PROC0006: mov cx,[eax] mov esi,[eax+02h] add eax,00000002h mov [ebp-18h],cx add eax,00000004h mov ebx,[eax] mov dl,[eax+04h] add eax,00000004h mov [ebp-14h],dl inc eax mov cl,[eax] mov dl,[eax+01h] mov [ebp-10h],cl mov ecx,[L006A9D64] mov eax,ecx mov [ebp+08h],dl test eax,eax jz L004442A8 L00444296: cmp eax,esi jz L00444506 mov eax,[eax+000000BCh] test eax,eax jnz L00444296 L004442A8: mov eax,[edi+08h] mov eax,[eax+08h] test eax,eax jz L004442D0 push eax mov ecx,edi mov [edi+08h],eax call SUB_L00443F00 mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L004442D0: mov al,[edi+0Ch] dec al mov [edi+0Ch],al jz L00444454 mov eax,[edi+04h] mov ecx,edi push eax mov [edi+08h],eax call SUB_L00443F00 mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_00444560_PROC0007: mov esi,[eax] mov bx,[eax+04h] add eax,00000004h add eax,00000002h mov cx,[eax] mov dx,[eax+02h] mov eax,[L006A9D64] mov [ebp+08h],cx test eax,eax mov [ebp-20h],dx jz L00444401 L00444327: cmp eax,esi jz L0044433A mov eax,[eax+000000BCh] test eax,eax jnz L00444327 jmp L00444401 L0044433A: mov eax,[esi] mov ecx,esi call [eax+14h] mov cx,[ebp+08h] mov dx,[ebp-20h] xor eax,eax mov dword ptr [esi+000001A4h],00000001h mov [esi+000001AEh],ax mov [esi+000001A8h],ax mov [esi+000001ACh],bx mov [esi+000001AAh],cx mov [esi+000001B0h],dx mov ecx,esi mov [esi+000001C4h],edi call SUB_L004359E0 mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_00444560_PROC0002: mov esi,[eax] mov eax,[L006A9D64] test eax,eax jz L00444401 L004443A3: cmp eax,esi jz L004443B3 mov eax,[eax+000000BCh] test eax,eax jnz L004443A3 jmp L00444401 L004443B3: push 00000108h call SUB_L0049A820 add esp,00000004h mov [ebp+08h],eax test eax,eax mov byte ptr [ebp-04h],0Dh jz L004443D7 push esi mov ecx,eax call SUB_L0043E790 mov esi,eax jmp L004443D9 L004443D7: xor esi,esi L004443D9: mov byte ptr [ebp-04h],02h L004443DD: push 00000001h push 00000000h mov ecx,esi call SUB_L004415C0 mov [esi+00000104h],edi mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L00444401: mov eax,[edi+08h] mov eax,[eax+08h] test eax,eax jz L00444429 push eax mov ecx,edi mov [edi+08h],eax call SUB_L00443F00 mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L00444429: mov al,[edi+0Ch] dec al mov [edi+0Ch],al jz L00444454 mov eax,[edi+04h] mov ecx,edi push eax mov [edi+08h],eax call SUB_L00443F00 mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L00444454: test edi,edi jz L004444F3 jmp L004444EB CASE_00444560_PROC0008: mov cx,[eax] add eax,00000002h push 00000000h push 00000000h mov edx,[eax] push 00000000h mov [ebp-34h],edx lea edx,[ebp-34h] mov ax,[eax+04h] push 3F800000h and ecx,0000FFFFh push edx push ecx mov ecx,L006AAA10 mov [ebp-30h],ax call SUB_L004970F0 mov eax,[edi+08h] mov eax,[eax+08h] test eax,eax jz L004444BC push eax mov ecx,edi mov [edi+08h],eax call SUB_L00443F00 mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L004444BC: mov al,[edi+0Ch] dec al mov [edi+0Ch],al jz L004444E7 mov eax,[edi+04h] mov ecx,edi push eax mov [edi+08h],eax call SUB_L00443F00 mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L004444E7: test edi,edi jz L004444F3 L004444EB: mov edx,[edi] push 00000001h mov ecx,edi call [edx] L004444F3: mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L00444506: mov eax,ecx test eax,eax jz L004442A8 L00444510: cmp eax,ebx jz L00444523 mov eax,[eax+000000BCh] test eax,eax jnz L00444510 jmp L004442A8 L00444523: push 00000108h call SUB_L0049A820 add esp,00000004h mov [ebp-24h],eax test eax,eax mov byte ptr [ebp-04h],0Ch jz L004443D7 mov ecx,[ebp+08h] mov edx,[ebp-10h] push ecx mov ecx,[ebp-14h] push edx mov edx,[ebp-18h] push ecx push edx push ebx push esi mov ecx,eax call SUB_L0043DF90 mov esi,eax jmp L004443D9 Align 4 CASE_PROCTABLE_00444560: dd CASE_00444560_PROC0000 dd CASE_00444560_PROC0001 dd CASE_00444560_PROC0002 dd CASE_00444560_PROC0003 dd CASE_00444560_PROC0004 dd CASE_00444560_PROC0005 dd CASE_00444560_PROC0006 dd CASE_00444560_PROC0007 dd CASE_00444560_PROC0008 Align 16 SUB_L00444590: mov eax,[ecx+08h] mov eax,[eax+08h] test eax,eax jz L004445A4 push eax mov [ecx+08h],eax call SUB_L00443F00 retn ;------------------------------------------------------------------------------ L004445A4: mov al,[ecx+0Ch] dec al mov [ecx+0Ch],al jz L004445BB mov eax,[ecx+04h] push eax mov [ecx+08h],eax call SUB_L00443F00 retn ;------------------------------------------------------------------------------ L004445BB: test ecx,ecx jz L004445C5 mov edx,[ecx] push 00000001h call [edx] L004445C5: retn ;------------------------------------------------------------------------------ Align 16 SUB_L004445D0: push ebp mov ebp,esp push FFFFFFFFh push L004B333E mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000024h push ebx push esi mov esi,ecx push edi mov [ebp-14h],esi call SUB_L00441CB0 xor ebx,ebx push SSZ004C4EF0_framedata_for_CDumbGump push 00000008h mov ecx,L00669C8C mov [ebp-04h],ebx mov dword ptr [esi],L004BA650 mov dword ptr [esi+04h],SSZ004C6CF4_DeathMenu_gump mov [esi+5Ch],ebx mov dword ptr [esi+50h],000013ECh mov [esi+60h],ebx mov [esi+4Ch],ebx mov [esi+48h],ebx mov [esi+44h],ebx mov [esi+40h],ebx mov [esi+3Ch],ebx mov dword ptr [esi+1Ch],00000118h mov dword ptr [esi+20h],00000064h mov dword ptr [esi+2Ch],000000B4h mov dword ptr [esi+30h],000000BEh mov [esi+10h],ebx mov dword ptr [esi+14h],00000001h call SUB_L0044FBD0 mov ecx,[esi+14h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+38h],edi push SSZ004C4EE4_dumb_frame0 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+20h] imul eax,[esi+1Ch] lea ecx,[eax+eax+04h] push ecx mov ecx,L00669C8C call SUB_L0044FBD0 mov edx,[esi+38h] push ebx mov [edx+04h],eax mov eax,[esi+38h] mov dx,[esi+1Ch] mov ecx,[eax+04h] mov [ecx],dx mov eax,[esi+38h] mov dx,[esi+20h] mov ecx,[eax+04h] xor eax,eax mov [ecx+02h],dx mov ecx,[esi+20h] imul ecx,[esi+1Ch] mov edx,[esi+38h] shl ecx,1 mov edi,[edx+04h] mov edx,ecx add edi,00000004h shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+38h] mov ecx,[esi+50h] mov edx,[eax+04h] call SUB_L0041C100 mov ecx,[esi+1Ch] mov edx,[esi+20h] mov [ebp-30h],ebx mov [ebp-28h],ecx mov [ebp-2Ch],ebx mov [ebp-24h],edx lea eax,[ebp-10h] lea ecx,[ebp-18h] push eax lea edx,[ebp-1Ch] push ecx push edx push L004C41E4 push 00000001h mov ecx,L00669CC8 call SUB_L00437A10 mov edx,[esi+38h] mov ecx,[esi+1Ch] lea eax,[ebp-30h] push eax mov eax,[edx+04h] add eax,00000004h push ecx mov ecx,[ebp-10h] push eax push SSZ004C6CE4_Play_As_Ghost push 00000386h add ecx,00000014h push 00000001h push ecx push 0000003Ch mov ecx,L00669CC8 call SUB_L004371A0 mov ecx,[esi+38h] mov eax,[esi+1Ch] lea edx,[ebp-30h] push edx mov edx,[ecx+04h] add edx,00000004h push eax mov eax,[ebp-10h] push edx push SSZ004C6CC8_Resurrect_With_Penalties push 00000386h add eax,0000003Ch push 00000001h push eax push 0000003Ch mov ecx,L00669CC8 call SUB_L004371A0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp-20h],eax cmp eax,ebx mov byte ptr [ebp-04h],01h jz L004447AE push ebx push 000013BBh push 000013BAh push L00410DC0 push ebx push ebx push esi push 00000014h push 00000014h mov ecx,eax call SUB_L004122F0 jmp L004447B0 L004447AE: xor eax,eax L004447B0: push 00000001h push esi mov ecx,eax mov [ebp-04h],bl call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp-20h],eax cmp eax,ebx mov byte ptr [ebp-04h],02h jz L004447F5 push ebx push 000013BBh push 000013BAh push L00410E00 push ebx push ebx push esi push 0000003Ch push 00000014h mov ecx,eax call SUB_L004122F0 jmp L004447F7 L004447F5: xor eax,eax L004447F7: push 00000001h push esi mov ecx,eax mov [ebp-04h],bl call SUB_L004415C0 mov ecx,[ebp-0Ch] mov eax,esi pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 L00444820: push ebp mov ebp,esp push esi mov esi,ecx call SUB_L00444850 test byte ptr [ebp+08h],01h jz L0044483A push esi call SUB_L0049A810 add esp,00000004h L0044483A: mov eax,esi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00444850: push ebp mov ebp,esp push FFFFFFFFh push L004B3358 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx push edi mov [ebp-10h],esi mov dword ptr [esi],L004BA650 mov eax,[esi+38h] xor edi,edi mov [ebp-04h],edi mov eax,[eax+04h] cmp eax,edi jz L0044489B push SSZ004C6D18_DeathMenu_frame0_pBMP push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov ecx,[esi+38h] mov [ecx+04h],edi L0044489B: mov eax,[esi+38h] cmp eax,edi jz L004448B5 push SSZ004C6D04_DeathMenu_framedata push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov [esi+38h],edi L004448B5: cmp [L00669630],esi jnz L004448C3 mov [L00669630],edi L004448C3: mov ecx,esi mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00441D50 mov ecx,[ebp-0Ch] pop edi mov fs:[00000000h],ecx pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 L004448F0: push ebp mov ebp,esp sub esp,00000028h mov eax,[ecx+68h] push ebx xor ebx,ebx push esi cmp eax,ebx push edi mov [ebp-08h],ecx jz L004449E4 xor edi,edi cmp ecx,ebx mov [ebp-04h],ebx mov esi,ecx jz L00444937 L00444914: mov eax,[esi] mov ecx,esi call [eax+78h] mov ecx,[ebp-04h] mov edx,[esi+2Ch] or ecx,eax add edi,edx mov [ebp-04h],ecx mov ecx,[esi+30h] mov esi,[esi+48h] add ebx,ecx test esi,esi jnz L00444914 mov ecx,[ebp-08h] L00444937: mov eax,[ebp-04h] test eax,eax jz L0044494D mov edx,[L007121F8] mov eax,[L007121FC] add edi,edx add ebx,eax L0044494D: mov ecx,[ecx+38h] xor edx,edx mov eax,edi mov esi,[ecx+04h] mov [ebp-18h],edi mov [ebp-14h],ebx xor ecx,ecx mov dx,[esi] add eax,edx mov edx,ebx mov [ebp-10h],eax mov cx,[esi+02h] add edx,ecx mov ecx,[ebp+08h] mov [ebp-0Ch],edx cmp [ecx+08h],edi jle L004449E4 cmp [ecx],eax jge L004449E4 cmp [ecx+0Ch],ebx jle L004449E4 cmp [ecx+04h],edx jge L004449E4 lea edx,[ebp-28h] push edx lea edx,[ebp-18h] call SUB_L00440D90 mov eax,[L004C7F38] mov ecx,[L004C7F34] mov edx,[L006BAE7C] push eax push ecx xor eax,eax mov ax,[esi+02h] push edx xor ecx,ecx push ebx mov cx,[esi] push edi push eax lea edx,[ebp-28h] push ecx push edx lea edx,[esi+04h] mov ecx,SUB_L00488700 call SUB_L00439500 mov eax,[ebp-08h] mov esi,[eax+4Ch] test esi,esi jz L004449E4 L004449D2: mov edx,[esi] lea eax,[ebp-28h] push eax mov ecx,esi call [edx+0Ch] mov esi,[esi+40h] test esi,esi jnz L004449D2 L004449E4: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 4 L004449F0: push ebp mov ebp,esp mov eax,[ecx+68h] push esi test eax,eax jz L00444A2C mov eax,[ecx+38h] xor edx,edx mov ecx,[eax+04h] xor eax,eax mov ax,[ecx] mov dx,[ecx+02h] mov ecx,[ebp+08h] test ecx,ecx jl L00444A2C mov esi,[ebp+0Ch] test esi,esi jl L00444A2C cmp ecx,eax jge L00444A2C cmp esi,edx jge L00444A2C mov eax,00000001h pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ L00444A2C: xor eax,eax pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 L00444A40: push ebp mov ebp,esp push 00000000h call SUB_L00441340 pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 4 SUB_L00444A50: push ebp mov ebp,esp sub esp,00000C28h push ebx push esi push edi push L004C40E0 mov esi,edx push ecx call SUB_L0049A7F0 mov ebx,eax add esp,00000008h test ebx,ebx mov [ebp-20h],ebx jz L00444EB8 push ebx push 00000001h lea eax,[ebp-13h] push 00000001h push eax call SUB_L0049A630 add esp,00000010h lea ecx,[ebp-11h] push ebx push 00000001h push 00000001h push ecx call SUB_L0049A630 add esp,00000010h lea edx,[ebp-01h] push ebx push 00000001h push 00000001h push edx call SUB_L0049A630 add esp,00000010h push 00000000h push 0000000Ch push ebx call SUB_L0049B6B0 add esp,0000000Ch lea eax,[ebp-0Ch] push ebx push 00000001h push 00000002h push eax call SUB_L0049A630 add esp,00000010h lea ecx,[ebp-1Ch] push ebx push 00000001h push 00000002h push ecx call SUB_L0049A630 mov dx,[ebp-0Ch] add esp,00000010h cmp dx,[esi] jnz L00444EAF mov ax,[ebp-1Ch] cmp ax,[esi+02h] jnz L00444EAF push ebx push 00000001h lea ecx,[ebp-12h] add esi,00000004h push 00000001h push ecx mov [ebp-24h],esi call SUB_L0049A630 movsx edx,[ebp-13h] add esp,00000010h add edx,00000012h push 00000000h push edx push ebx call SUB_L0049B6B0 mov al,[ebp-11h] add esp,0000000Ch test al,al jnz L00444E9E mov cl,[ebp-01h] cmp cl,02h jz L00444B3C cmp cl,0Ah jnz L00444E9E L00444B3C: mov al,[ebp-12h] cmp al,18h jz L00444B53 cmp al,10h jnz L00444E9E cmp al,18h jnz L00444D0B L00444B53: mov eax,[ebp-1Ch] and eax,0000FFFFh dec eax mov [ebp-10h],eax js L00444E4E mov eax,[ebp-0Ch] jmp L00444B6D L00444B6A: mov cl,[ebp-01h] L00444B6D: cmp cl,02h jnz L00444B92 push ebx and eax,0000FFFFh push 00000003h push eax lea eax,[ebp-00000C28h] push eax call SUB_L0049A630 mov eax,[ebp-0Ch] add esp,00000010h jmp L00444C68 L00444B92: xor edi,edi test ax,ax jbe L00444C68 L00444B9D: push ebx push 00000001h lea ecx,[ebp-08h] push 00000001h push ecx call SUB_L0049A630 mov al,[ebp-08h] add esp,00000010h test al,80h jz L00444C25 mov edx,[ebp-20h] lea esi,[edi+edi*2] and al,7Fh push edx lea ebx,[ebp+esi-00000C28h] push 00000003h inc al push 00000001h push ebx mov [ebp-08h],al call SUB_L0049A630 mov ecx,[ebp-08h] add esp,00000010h and ecx,000000FFh cmp ecx,00000001h jle L00444C1E lea eax,[ebp+esi-00000C27h] lea edx,[ebp+esi-00000C26h] mov [ebp-18h],eax lea eax,[ebp+esi-00000C24h] mov [ebp-28h],edx lea esi,[ecx-01h] L00444C03: mov dl,[ebx] mov [eax-01h],dl mov edx,[ebp-18h] add eax,00000003h dec esi mov dl,[edx] mov [eax-03h],dl mov edx,[ebp-28h] mov dl,[edx] mov [eax-02h],dl jnz L00444C03 L00444C1E: mov ebx,[ebp-20h] add edi,ecx jmp L00444C55 L00444C25: and al,7Fh lea ecx,[ebp+edi-00000C28h] inc al push ebx mov [ebp-08h],al mov eax,[ebp-08h] and eax,000000FFh push 00000003h lea edx,[ecx+edi*2] push eax push edx call SUB_L0049A630 mov eax,[ebp-08h] add esp,00000010h and eax,000000FFh add edi,eax L00444C55: mov eax,[ebp-0Ch] mov ecx,eax and ecx,0000FFFFh cmp edi,ecx jl L00444B9D L00444C68: mov edx,eax xor edi,edi and edx,0000FFFFh jle L00444CF9 lea eax,[ebp-00000C27h] mov [ebp-18h],eax jmp L00444C86 L00444C83: mov eax,[ebp-18h] L00444C86: xor ecx,ecx xor ebx,ebx mov cl,[eax] mov bl,[eax-01h] mov esi,ecx xor ecx,ecx mov cl,[eax+01h] mov eax,ecx lea ecx,[ebx+esi] add ecx,eax jnz L00444CA3 xor eax,eax jmp L00444CCE L00444CA3: sar ebx,03h sar esi,03h sar eax,03h lea ecx,[ebx+esi] add ecx,eax jnz L00444CBA mov eax,00000001h jmp L00444CCE L00444CBA: mov ecx,[L004D0738] shl eax,cl mov ecx,[L004D073C] shl esi,cl or eax,esi or eax,ebx L00444CCE: mov ecx,[ebp-10h] mov ebx,[ebp-18h] imul ecx,edx mov edx,[ebp-24h] add ecx,edi inc edi add ebx,00000003h mov [edx+ecx*2],ax mov eax,[ebp-0Ch] mov edx,eax mov [ebp-18h],ebx and edx,0000FFFFh cmp edi,edx jl L00444C83 mov ebx,[ebp-20h] L00444CF9: mov ecx,[ebp-10h] dec ecx mov [ebp-10h],ecx jns L00444B6A jmp L00444E4E L00444D0B: cmp al,10h jnz L00444E4E mov eax,[ebp-1Ch] and eax,0000FFFFh dec eax mov [ebp-10h],eax js L00444E4E mov esi,[ebp-0Ch] L00444D28: cmp byte ptr [ebp-01h],02h jnz L00444D4F push ebx and esi,0000FFFFh push 00000002h lea eax,[ebp-00000828h] push esi push eax call SUB_L0049A630 mov esi,[ebp-0Ch] add esp,00000010h jmp L00444E01 L00444D4F: xor edi,edi test si,si jbe L00444E01 L00444D5A: push ebx push 00000001h lea ecx,[ebp-08h] push 00000001h push ecx call SUB_L0049A630 mov al,[ebp-08h] add esp,00000010h test al,80h jz L00444DBF and al,7Fh push ebx lea esi,[ebp+edi*2-00000828h] push 00000002h inc al push 00000001h push esi mov [ebp-08h],al call SUB_L0049A630 mov ecx,[ebp-08h] add esp,00000010h and ecx,000000FFh cmp ecx,00000001h jle L00444DEC lea eax,[ebp+edi*2-00000825h] lea edx,[ecx-01h] L00444DA6: mov bl,[esi] mov [eax-01h],bl mov bl,[ebp+edi*2-00000827h] mov [eax],bl add eax,00000002h dec edx jnz L00444DA6 mov ebx,[ebp-20h] jmp L00444DEC L00444DBF: and al,7Fh push ebx inc al push 00000002h mov [ebp-08h],al mov edx,[ebp-08h] and edx,000000FFh lea eax,[ebp+edi*2-00000828h] push edx push eax call SUB_L0049A630 mov ecx,[ebp-08h] add esp,00000010h and ecx,000000FFh L00444DEC: mov esi,[ebp-0Ch] add edi,ecx mov edx,esi and edx,0000FFFFh cmp edi,edx jl L00444D5A L00444E01: mov eax,esi xor ecx,ecx and eax,0000FFFFh jle L00444E41 lea edx,[ebp-00000827h] L00444E12: movzx si,[edx] movzx di,[edx-01h] shl esi,08h add esi,edi mov edi,[ebp-10h] imul edi,eax mov eax,[ebp-24h] add edi,ecx inc ecx add edx,00000002h mov [eax+edi*2],si mov esi,[ebp-0Ch] mov eax,esi and eax,0000FFFFh cmp ecx,eax jl L00444E12 L00444E41: mov eax,[ebp-10h] dec eax mov [ebp-10h],eax jns L00444D28 L00444E4E: push ebx call SUB_L0049A580 add esp,00000004h mov ecx,L006AAE78 push 00000008h push 00000008h push 00000008h call SUB_L0043BA40 mov ecx,[ebp-1Ch] mov edx,[ebp-0Ch] and ecx,0000FFFFh and edx,0000FFFFh imul ecx,edx test ecx,ecx jle L00444E92 mov edx,[ebp-24h] L00444E83: cmp word ptr [edx],0000h jnz L00444E8C mov [edx],ax L00444E8C: add edx,00000002h dec ecx jnz L00444E83 L00444E92: mov eax,00000001h pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00444E9E: push 00000000h mov edx,SSZ004C693C_Error mov ecx,SSZ004C6D30_Invalid_TGA_file_ call SUB_L0049A0A0 L00444EAF: push ebx call SUB_L0049A580 add esp,00000004h L00444EB8: pop edi pop esi xor eax,eax pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L00444ED0: push ebp mov ebp,esp sub esp,00000228h push ebx push esi lea eax,[ebp-58h] push edi mov ebx,ecx push eax mov [ebp-18h],ebx call [KERNEL32.dll!GetSystemInfo] mov eax,[ebp-40h] sub eax,00000182h jz L00444F11 sub eax,00000064h jz L00444F0B sub eax,00000064h jz L00444F05 mov byte ptr [ebx+01h],04h jmp L00444F15 L00444F05: mov byte ptr [ebx+01h],03h jmp L00444F15 L00444F0B: mov byte ptr [ebx+01h],02h jmp L00444F15 L00444F11: mov byte ptr [ebx+01h],01h L00444F15: or ecx,FFFFFFFFh call SUB_L0048B230 cmp ax,02EEh mov [ebx+02h],ax jbe L00444F2D mov word ptr [ebx+02h],0000h L00444F2D: mov cl,[ebp-44h] lea edx,[ebp-00000228h] push edx mov [ebx+04h],cl call [KERNEL32.dll!GetTimeZoneInformation] cmp eax,FFFFFFFFh jz L00445206 test eax,eax jz L00445206 mov ecx,[ebp-00000228h] mov eax,88888889h imul ecx add edx,ecx mov edi,[ADVAPI32.dll!RegOpenKeyExA] mov [ebx+0000008Ch],ecx lea ecx,[ebp-14h] sar edx,05h mov eax,edx push ecx shr eax,1Fh push 00000001h push 00000000h add edx,eax push SSZ004C6D94_System_CurrentControlSet_Service push 80000002h mov [L004F4000],edx call edi test eax,eax jnz L004450C8 lea edx,[ebp-0Ch] mov [ebx+45h],al push edx push 00000001h mov [ebx+65h],al push eax mov eax,[ebp-14h] push SSZ004C6D8C_Modem push eax call edi mov esi,[ADVAPI32.dll!RegQueryValueExA] test eax,eax jnz L0044503F mov dword ptr [ebp-04h],00000000h L00444FC5: mov ecx,[ebp-04h] lea edx,[ebp-20h] push ecx push SSZ004C6D84__04d push edx call SUB_L0049AC80 mov edx,[ebp-0Ch] add esp,0000000Ch lea eax,[ebp-08h] lea ecx,[ebp-20h] push eax push 00000001h push 00000000h push ecx push edx call edi test eax,eax jnz L0044503F mov ecx,[ebp-08h] lea eax,[ebp-10h] push eax lea eax,[ebx+45h] push eax push 00000000h push 00000000h push SSZ004C6D74_Manufacturer push ecx mov dword ptr [ebp-10h],00000020h call esi test eax,eax jnz L0044503F lea edx,[ebp-10h] lea eax,[ebx+65h] push edx push eax mov eax,[ebp-08h] push 00000000h push 00000000h push SSZ004C6D6C_Model push eax mov dword ptr [ebp-10h],00000020h call esi test eax,eax jnz L0044503F mov eax,[ebp-04h] inc eax test eax,eax mov [ebp-04h],eax jle L00444FC5 L0044503F: mov edx,[ebp-14h] lea ecx,[ebp-0Ch] push ecx push 00000001h push 00000000h push SSZ004C6D64_Display push edx mov byte ptr [ebx+05h],00h mov byte ptr [ebx+25h],00h call edi test eax,eax jnz L004450C8 mov ecx,[ebp-0Ch] lea eax,[ebp-04h] push eax push 00000001h push 00000000h push SSZ004C6D5C_0000 push ecx call edi test eax,eax jnz L00445093 lea edx,[ebp-08h] lea eax,[ebx+05h] push edx push eax mov eax,[ebp-04h] push 00000000h push 00000000h push SSZ004C6D50_DriverDesc push eax mov dword ptr [ebp-08h],00000020h call esi L00445093: mov edx,[ebp-0Ch] lea ecx,[ebp-04h] push ecx push 00000001h push 00000000h push SSZ004C6D48_0001 push edx call edi test eax,eax jnz L004450C8 mov ecx,[ebp-04h] lea eax,[ebp-08h] push eax lea eax,[ebx+25h] push eax push 00000000h push 00000000h push SSZ004C6D50_DriverDesc push ecx mov dword ptr [ebp-08h],00000020h call esi L004450C8: lea edx,[ebp-78h] push edx call [KERNEL32.dll!GlobalMemoryStatus] mov eax,[ebp-70h] mov edi,[KERNEL32.dll!GetLogicalDriveStringsA] shr eax,14h push 00000000h push 00000000h mov [ebx+00000086h],ax mov word ptr [ebx+00000088h],0000h call edi mov esi,eax lea ecx,[esi+01h] push ecx call SUB_L0049A820 add esp,00000004h mov ebx,eax mov [ebp-08h],ebx push ebx push esi call edi mov edx,ebx cmp byte ptr [edx],00h jz L004451EE L00445116: push ebx call [KERNEL32.dll!GetDriveTypeA] cmp eax,00000003h jnz L004451DA mov al,[ebx] mov edi,L004C6D44 mov [ebp-0000017Ch],al or ecx,FFFFFFFFh xor eax,eax lea edx,[ebp-0000017Ch] repne scasb not ecx sub edi,ecx mov byte ptr [ebp-0000017Bh],00h mov esi,edi mov edi,edx mov edx,ecx or ecx,FFFFFFFFh repne scasb mov ecx,edx dec edi shr ecx,02h rep movsd mov ecx,edx lea eax,[ebp-0Ch] and ecx,00000003h push eax rep movsb lea ecx,[ebp-34h] lea edx,[ebp-04h] push ecx lea eax,[ebp-10h] push edx lea ecx,[ebp-0000017Ch] push eax push ecx call [KERNEL32.dll!GetDiskFreeSpaceA] xor ecx,ecx cmp eax,ecx jnz L0044518C xor eax,eax jmp L004451C1 L0044518C: mov edx,[ebp-04h] mov eax,[ebp-10h] mov [ebp-28h],edx mov [ebp-24h],ecx fild qword ptr [ebp-28h] mov edx,[ebp-0Ch] mov [ebp-30h],eax mov [ebp-2Ch],ecx mov [ebp-20h],edx fmul dword ptr [L004BA794] fild qword ptr [ebp-30h] mov [ebp-1Ch],ecx fmulp ST(1),ST fild qword ptr [ebp-20h] fmul ST,ST(1) call SUB_L0049BB80 fstp ST(0) L004451C1: mov edx,[ebp-18h] xor ecx,ecx mov cx,[edx+00000088h] cmp eax,ecx jc L004451DA mov ecx,edx mov [ecx+00000088h],ax L004451DA: cmp byte ptr [ebx],00h jz L004451E2 inc ebx jmp L004451DA L004451E2: mov al,[ebx+01h] inc ebx test al,al jnz L00445116 L004451EE: mov edx,[ebp-08h] push edx call SUB_L0049A810 add esp,00000004h mov eax,00000001h pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00445206: pop edi pop esi xor eax,eax pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 4 SUB_L00445210: push ebp mov ebp,esp sub esp,0000000Ch push ebx push esi lea eax,[ebp-08h] push edi mov ebx,00000001h push eax push ebx push 00000000h push SSZ004C6E70_SOFTWARE_Origin_Worlds_Online_Ul mov esi,ecx push 80000002h call [ADVAPI32.dll!RegOpenKeyExA] test eax,eax jz L00445244 xor eax,eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00445244: mov edi,[ADVAPI32.dll!RegQueryValueExA] lea ecx,[ebp-04h] lea edx,[esi+01h] push ecx mov ecx,[ebp-08h] lea eax,[ebp-0Ch] push edx push eax push 00000000h push SSZ004C6E60_processorType push ecx mov [ebp-04h],ebx call edi test eax,eax jz L00445273 xor eax,eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00445273: lea edx,[ebp-04h] lea eax,[esi+02h] push edx mov edx,[ebp-08h] lea ecx,[ebp-0Ch] push eax push ecx push 00000000h push SSZ004C6E50_processorClock push edx mov dword ptr [ebp-04h],00000002h call edi test eax,eax jz L004452A0 xor eax,eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L004452A0: lea eax,[ebp-04h] lea ecx,[esi+04h] push eax mov eax,[ebp-08h] lea edx,[ebp-0Ch] push ecx push edx push 00000000h push SSZ004C6E44_nProcessors push eax mov [ebp-04h],ebx call edi test eax,eax jz L004452C9 xor eax,eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L004452C9: lea ecx,[ebp-04h] lea edx,[esi+05h] push ecx mov ecx,[ebp-08h] lea eax,[ebp-0Ch] push edx push eax push 00000000h mov ebx,00000020h push SSZ004C6E30_szVideoCardDescrip1 push ecx mov [ebp-04h],ebx call edi test eax,eax jz L004452F7 xor eax,eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L004452F7: lea edx,[ebp-04h] lea eax,[esi+25h] push edx mov edx,[ebp-08h] lea ecx,[ebp-0Ch] push eax push ecx push 00000000h push SSZ004C6E1C_szVideoCardDescrip2 push edx mov [ebp-04h],ebx call edi test eax,eax jz L00445320 xor eax,eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00445320: lea eax,[ebp-04h] lea ecx,[esi+45h] push eax mov eax,[ebp-08h] lea edx,[ebp-0Ch] push ecx push edx push 00000000h push SSZ004C6E08_szModemManufacturer push eax mov [ebp-04h],ebx call edi test eax,eax jz L00445349 xor eax,eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00445349: lea ecx,[ebp-04h] lea edx,[esi+65h] push ecx mov ecx,[ebp-08h] lea eax,[ebp-0Ch] push edx push eax push 00000000h push SSZ004C6DF8_szModemDescrip push ecx mov [ebp-04h],ebx call edi test eax,eax jz L00445372 xor eax,eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00445372: lea edx,[ebp-04h] lea eax,[esi+00000086h] push edx mov edx,[ebp-08h] lea ecx,[ebp-0Ch] push eax push ecx push 00000000h mov ebx,00000002h push SSZ004C6DE8_totalRAMInMB push edx mov [ebp-04h],ebx call edi test eax,eax jz L004453A3 xor eax,eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L004453A3: lea eax,[ebp-04h] lea ecx,[esi+00000088h] push eax mov eax,[ebp-08h] lea edx,[ebp-0Ch] push ecx push edx push 00000000h push SSZ004C6DD0_largestPartitionInMB push eax mov [ebp-04h],ebx call edi test eax,eax jz L004453CF xor eax,eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L004453CF: mov eax,[ebp-08h] lea ecx,[ebp-04h] add esi,0000008Ch push ecx lea edx,[ebp-0Ch] push esi push edx push 00000000h push SSZ004C6DC0_timeZoneBias push eax mov dword ptr [ebp-04h],00000004h call edi xor ecx,ecx test eax,eax setz cl pop edi pop esi mov eax,ecx pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L00445410: push ebp mov ebp,esp sub esp,00000008h push esi mov esi,ecx lea eax,[ebp-08h] push edi lea ecx,[ebp-04h] push eax push ecx push 00000000h push 000F003Fh push 00000000h push L004D77C0 push 00000000h push SSZ004C6E70_SOFTWARE_Origin_Worlds_Online_Ul push 80000002h call [ADVAPI32.dll!RegCreateKeyExA] test eax,eax jz L0044544E xor eax,eax pop edi pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L0044544E: mov eax,[ebp-04h] mov edi,[ADVAPI32.dll!RegSetValueExA] lea edx,[esi+01h] push 00000001h push edx push 00000003h push 00000000h push SSZ004C6E60_processorType push eax call edi test eax,eax jz L00445475 xor eax,eax pop edi pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00445475: mov edx,[ebp-04h] lea ecx,[esi+02h] push 00000002h push ecx push 00000003h push 00000000h push SSZ004C6E50_processorClock push edx call edi test eax,eax jz L00445496 xor eax,eax pop edi pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00445496: mov ecx,[ebp-04h] lea eax,[esi+04h] push 00000001h push eax push 00000003h push 00000000h push SSZ004C6E44_nProcessors push ecx call edi test eax,eax jz L004454B7 xor eax,eax pop edi pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L004454B7: mov eax,[ebp-04h] lea edx,[esi+05h] push 00000020h push edx push 00000001h push 00000000h push SSZ004C6E30_szVideoCardDescrip1 push eax call edi test eax,eax jz L004454D8 xor eax,eax pop edi pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L004454D8: mov edx,[ebp-04h] lea ecx,[esi+25h] push 00000020h push ecx push 00000001h push 00000000h push SSZ004C6E1C_szVideoCardDescrip2 push edx call edi test eax,eax jz L004454F9 xor eax,eax pop edi pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L004454F9: mov ecx,[ebp-04h] lea eax,[esi+45h] push 00000020h push eax push 00000001h push 00000000h push SSZ004C6E08_szModemManufacturer push ecx call edi test eax,eax jz L0044551A xor eax,eax pop edi pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L0044551A: mov eax,[ebp-04h] lea edx,[esi+65h] push 00000020h push edx push 00000001h push 00000000h push SSZ004C6DF8_szModemDescrip push eax call edi test eax,eax jz L0044553B xor eax,eax pop edi pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L0044553B: mov edx,[ebp-04h] lea ecx,[esi+00000086h] push 00000002h push ecx push 00000003h push 00000000h push SSZ004C6DE8_totalRAMInMB push edx call edi test eax,eax jz L0044555F xor eax,eax pop edi pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L0044555F: mov ecx,[ebp-04h] lea eax,[esi+00000088h] push 00000002h push eax push 00000003h push 00000000h push SSZ004C6DD0_largestPartitionInMB push ecx call edi test eax,eax jz L00445583 xor eax,eax pop edi pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00445583: mov edx,[ebp-04h] add esi,0000008Ch push 00000004h push esi push 00000003h push 00000000h push SSZ004C6DC0_timeZoneBias push edx call edi xor ecx,ecx test eax,eax setz cl pop edi mov eax,ecx pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 SUB_L004455B0: push ebp mov ebp,esp push FFFFFFFFh push L004B3386 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,0000001Ch mov eax,[L004D0218] push ebx push esi push edi xor edi,edi cmp eax,edi jz L00445A0A push L004C40E0 push SSZ004C6F7C_verdata_mul mov ecx,L006BB1C8 call SUB_L00455E10 push eax call SUB_L0049A7F0 add esp,00000008h cmp eax,edi jz L00445A0A push eax call SUB_L0049A580 add esp,00000004h push 00000090h call SUB_L0049A820 mov esi,eax add esp,00000004h mov [ebp-28h],esi cmp esi,edi mov [ebp-04h],edi jz L0044563D push SSZ004C6F7C_verdata_mul mov ecx,L006BB1C8 call SUB_L00455E10 mov ecx,esi push eax call SUB_L004958A0 jmp L0044563F L0044563D: xor eax,eax L0044563F: mov ecx,eax mov dword ptr [ebp-04h],FFFFFFFFh mov [L004F400C],eax call SUB_L00495960 mov ecx,eax cmp ecx,edi mov [L004F4008],ecx jz L00445A0A mov edx,[ecx] lea eax,[ecx+04h] cmp edx,edi mov [L00549010],edx mov [ebp-20h],edi jle L00445A0A jmp L00445680 L0044567A: mov ecx,[L004F4008] L00445680: mov esi,[eax] mov ebx,[eax+04h] add eax,00000004h add eax,00000004h mov edi,[eax] mov edx,[eax+04h] add eax,00000004h mov [ebp-24h],edx add eax,00000004h mov edx,[eax] add eax,00000004h cmp esi,00000011h mov [ebp-14h],edx mov [ebp-10h],eax jle L004459BE add esi,FFFFFFE2h cmp esi,00000003h ja L004459F5 jmp [CASE_PROCTABLE_00445A1C+esi*4] CASE_00445A1C_PROC0000: cmp ebx,00000200h lea esi,[edi+ecx+04h] jge L0044571D mov edi,ebx shl edi,03h sub edi,ebx mov ebx,00000020h shl edi,07h L004456DB: mov ecx,[L006A9D9C] mov eax,[esi] add esi,00000004h push 00000014h mov [ecx+edi],eax mov eax,[L006A9D9C] mov dx,[esi] add esi,00000002h mov [eax+edi+04h],dx mov ecx,[L006A9D9C] push esi lea edx,[ecx+edi+06h] push edx call SUB_L0049B200 add esp,0000000Ch add esi,00000014h add edi,0000001Ch dec ebx jnz L004456DB jmp L004459F2 L0044571D: sub ebx,00000200h mov edi,00000020h lea ebx,[ebx+ebx*4] shl ebx,08h L0044572E: mov ecx,[L006A9D98] mov eax,[esi] add esi,00000004h push 00000014h mov [ecx+ebx],eax mov eax,[L006A9D98] mov dl,[esi] inc esi mov [eax+ebx+04h],dl mov edx,[L006A9D98] mov cl,[esi] inc esi mov [edx+ebx+05h],cl mov ecx,[L006A9D98] mov eax,[esi] add esi,00000004h mov [ecx+ebx+08h],eax mov eax,[L006A9D98] mov dx,[esi] add esi,00000002h mov [eax+ebx+0Ch],dx mov edx,[L006A9D98] mov cx,[esi] add esi,00000002h mov [edx+ebx+0Eh],cx mov ecx,[L006A9D98] mov ax,[esi] add esi,00000002h mov [ecx+ebx+10h],ax mov eax,[L006A9D98] mov dl,[esi] inc esi mov [eax+ebx+12h],dl mov ecx,[L006A9D98] push esi lea edx,[ecx+ebx+13h] push edx call SUB_L0049B200 add esp,0000000Ch add esi,00000014h add ebx,00000028h dec edi jnz L0044572E jmp L004459F2 CASE_00445A1C_PROC0001: lea esi,[00000000h+ebx*8] lea ebx,[00000008h+ebx*8] cmp esi,ebx lea ecx,[edi+ecx+04h] jge L004459F5 lea edx,[esi+esi*8] sub ebx,esi mov [ebp-14h],ebx lea edx,[L00549439+edx*8] L004457F3: lea esi,[edx-41h] mov edi,00000040h L004457FB: mov bl,[ecx] inc ecx mov [esi],bl inc esi dec edi jnz L004457FB mov bl,[ecx] inc ecx mov [edx-01h],bl mov bl,[ecx] inc ecx cmp bl,40h mov [edx],bl jbe L00445817 mov byte ptr [edx],40h L00445817: mov bl,[ecx] mov esi,[ebp-14h] inc ecx mov [edx+01h],bl add edx,00000048h mov bl,[ecx] inc ecx mov [edx-46h],bl dec esi mov [ebp-14h],esi jnz L004457F3 jmp L004459F5 CASE_00445A1C_PROC0002: lea edx,[edi+ecx+04h] lea ecx,[00000000h+ebx*8] lea esi,[00000008h+ebx*8] cmp ecx,esi jge L004459F5 lea eax,[ecx+ecx*4] sub esi,ecx lea eax,[ecx+eax*2] lea ebx,[L006C1A88+eax*8] mov eax,esi L0044585F: lea ecx,[ebx-40h] mov esi,00000040h L00445867: mov di,[edx] add edx,00000002h mov [ecx],di add ecx,00000002h dec esi jnz L00445867 mov cx,[edx] add edx,00000002h mov [ebx],cx lea edi,[ebx+04h] mov cx,[edx] add edx,00000002h mov [ebx+02h],cx mov ecx,00000005h mov esi,edx add edx,00000014h rep movsd mov byte ptr [ebx+17h],00h add ebx,00000058h dec eax jnz L0044585F jmp L004459F2 CASE_00445A1C_PROC0003: mov esi,[L00669CC8+ebx*4] add edi,ecx test esi,esi jz L004458C4 mov ecx,esi call SUB_L00438DF0 push esi call SUB_L0049A810 add esp,00000004h L004458C4: push 00000704h call SUB_L0049A820 add esp,00000004h mov [ebp-24h],eax test eax,eax mov dword ptr [ebp-04h],00000001h jz L004458E8 mov ecx,eax call SUB_L00438DC0 jmp L004458EA L004458E8: xor eax,eax L004458EA: mov dword ptr [ebp-04h],FFFFFFFFh mov [L00669CC8+ebx*4],eax mov dword ptr [ebp-14h],00000004h jmp L00445904 L00445901: mov edi,[ebp-24h] L00445904: mov dl,[edi] mov al,[edi+01h] inc edi mov [ebp-18h],dl inc edi mov esi,[ebp-18h] mov [ebp-1Ch],al mov eax,[L00669CC8+ebx*4] mov cl,[edi] and esi,000000FFh mov [ebp-28h],cl mov edx,[ebp-28h] mov ecx,[ebp-14h] and edx,000000FFh inc edi mov [ecx+eax+00000380h],edx mov edx,[ebp-1Ch] and edx,000000FFh mov [ebp-24h],edi imul esi,edx lea eax,[esi+esi+04h] push eax call SUB_L0049A820 mov ecx,[L00669CC8+ebx*4] mov edx,[ebp-14h] add esp,00000004h mov [edx+ecx],eax mov ecx,[L00669CC8+ebx*4] movzx ax,[ebp-18h] mov ecx,[edx+ecx] mov [ecx],ax mov ecx,[L00669CC8+ebx*4] movzx ax,[ebp-1Ch] mov ecx,[edx+ecx] mov [ecx+02h],ax mov eax,[L00669CC8+ebx*4] lea ecx,[esi+esi] mov esi,edi mov edi,[edx+eax] mov edx,ecx add edi,00000004h mov eax,[ebp-14h] shr ecx,02h rep movsd mov ecx,edx add eax,00000004h and ecx,00000003h cmp eax,00000384h rep movsb mov [ebp-14h],eax jl L00445901 jmp L004459F2 L004459BE: push 00000014h call SUB_L0049A820 mov ecx,[ebp-24h] mov edx,[ebp-14h] mov [eax],ebx and ebx,000003FFh shl esi,0Ah add esp,00000004h add ebx,esi mov [eax+04h],edi mov [eax+08h],ecx lea ebx,[L004F4010+ebx*4] mov [eax+0Ch],edx mov ecx,[ebx] mov [eax+10h],ecx mov [ebx],eax L004459F2: mov eax,[ebp-10h] L004459F5: mov ecx,[ebp-20h] mov edx,[L00549010] inc ecx cmp ecx,edx mov [ebp-20h],ecx jl L0044567A L00445A0A: mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_00445A1C: dd CASE_00445A1C_PROC0000 dd CASE_00445A1C_PROC0001 dd CASE_00445A1C_PROC0002 dd CASE_00445A1C_PROC0003 Align 8 SUB_L00445A30: push esi mov edx,ecx push edi mov ecx,00011000h xor eax,eax mov edi,L00505010 rep stosd xor esi,esi lea edi,[edx+04h] mov ecx,00000011h mov [edx],esi mov [edx+000000A4h],esi rep stosd cmp [L004D0218],esi jz L00445A7E mov ecx,00004400h xor eax,eax mov edi,L004F4010 mov [L004F400C],esi rep stosd mov [L004F4008],esi mov [L00549010],esi L00445A7E: pop edi mov eax,edx pop esi retn ;------------------------------------------------------------------------------ Align 16 L00445A90: mov eax,[L00549018] push ebx push esi push edi test eax,eax mov edi,ecx jz L00445AA7 push eax call SUB_L0049A810 add esp,00000004h L00445AA7: mov esi,[edi] test esi,esi jz L00445ABD mov ecx,esi call SUB_L00495B30 push esi call SUB_L0049A810 add esp,00000004h L00445ABD: add edi,00000004h mov ebx,00000011h L00445AC5: mov esi,[edi] test esi,esi jz L00445ADB mov ecx,esi call SUB_L004958E0 push esi call SUB_L0049A810 add esp,00000004h L00445ADB: add edi,00000004h dec ebx jnz L00445AC5 mov eax,[L004D0218] test eax,eax jz L00445B36 mov esi,L004F4010 L00445AEF: mov edi,00000400h L00445AF4: mov eax,[esi] test eax,eax jz L00445B0E L00445AFA: mov ecx,[eax+10h] push eax mov [esi],ecx call SUB_L0049A810 mov eax,[esi] add esp,00000004h test eax,eax jnz L00445AFA L00445B0E: add esi,00000004h dec edi jnz L00445AF4 cmp esi,L00505010 jl L00445AEF mov esi,[L004F400C] test esi,esi jz L00445B36 mov ecx,esi call SUB_L004958E0 push esi call SUB_L0049A810 add esp,00000004h L00445B36: pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ Align 8 SUB_L00445B40: push ebp mov ebp,esp mov eax,fs:[00000000h] push FFFFFFFFh push L004B33BC push eax mov eax,00010210h mov fs:[00000000h],esp call SUB_L0049ACF0 mov eax,[L006BB5FC] push ebx push esi cmp eax,00000001h push edi mov ebx,ecx jnz L00445C31 xor edi,edi mov esi,L004BA7A4 L00445B7C: mov eax,[esi] push L004C40E0 push eax mov ecx,L006BB1C8 call SUB_L00455E10 push eax call SUB_L0049A7F0 add esp,00000008h test eax,eax jz L00446100 push eax call SUB_L0049A580 add esp,00000004h add esi,00000010h inc edi cmp esi,L004BA8B4 jl L00445B7C mov edi,L00549020 mov esi,L004BA7A4 add ebx,00000048h L00445BC1: push 00000090h call SUB_L0049A820 add esp,00000004h mov [ebp-10h],eax test eax,eax mov dword ptr [ebp-04h],00000000h jz L00445BF4 mov eax,[esi] mov ecx,L006BB1C8 push eax call SUB_L00455E10 mov ecx,[ebp-10h] push eax call SUB_L004958A0 jmp L00445BF6 L00445BF4: xor eax,eax L00445BF6: mov ecx,eax mov dword ptr [ebp-04h],FFFFFFFFh mov [ebx-44h],eax call SUB_L00495960 mov [ebx],eax mov dword ptr [edi],00000001h add esi,00000010h add ebx,00000004h add edi,00000004h cmp esi,L004BA8B4 jl L00445BC1 mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00445C31: mov eax,[L006BB600] mov dword ptr [ebx+0000008Ch],00000018h lea eax,[eax+eax*4] lea eax,[eax+eax*4] lea eax,[eax+eax*4] lea eax,[eax+eax*4] lea eax,[eax+eax*4] lea ecx,[eax+eax*4] shl ecx,06h mov [ebx+0000009Ch],ecx mov eax,[L006BB600] mov edx,ecx lea eax,[eax+eax*4] lea eax,[eax+eax*4] lea eax,[eax+eax*4] shl eax,05h mov [ebx+00000098h],eax inc eax lea eax,[eax+eax*2] shl eax,03h mov [ebx+00000090h],eax sub edx,eax mov eax,[ebx+00000098h] mov [ebx+00000094h],edx lea eax,[eax+eax*2] shl eax,03h push eax call SUB_L0049A820 mov [L00549018],eax mov [L00549014],eax mov ecx,[ebx+00000098h] add esp,00000004h xor edx,edx dec ecx test ecx,ecx jle L00445CD3 xor ecx,ecx L00445CB7: lea esi,[eax+ecx+18h] inc edx mov [eax+ecx+10h],esi mov eax,[ebx+00000098h] add ecx,00000018h dec eax cmp edx,eax mov eax,[L00549018] jl L00445CB7 L00445CD3: mov ecx,[ebx+00000098h] push SSZ004C70A4_cache_uo lea ecx,[ecx+ecx*2] mov dword ptr [eax+ecx*8-08h],00000000h mov ecx,L006BB1C8 call SUB_L00455E10 mov edi,eax or ecx,FFFFFFFFh xor eax,eax lea edx,[ebp-0000021Ch] repne scasb not ecx sub edi,ecx push L004C61C8 mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb lea ecx,[ebp-0000021Ch] push ecx call SUB_L0049A7F0 mov esi,eax mov ecx,00004000h xor eax,eax lea edi,[ebp-0001021Ch] rep stosd mov edi,[ebx+0000009Ch] add esp,00000008h cmp edi,00010000h jle L00445D7A lea eax,[edi-01h] shr eax,10h mov [ebp-14h],eax L00445D54: push esi push 00000001h lea edx,[ebp-0001021Ch] push 00010000h push edx call SUB_L0049B520 mov eax,[ebp-14h] add esp,00000010h sub edi,00010000h dec eax mov [ebp-14h],eax jnz L00445D54 L00445D7A: push esi push 00000001h lea eax,[ebp-0001021Ch] push edi push eax call SUB_L0049B520 add esp,00000010h push esi call SUB_L0049A580 add esp,00000004h push 00000090h call SUB_L0049A820 mov edi,eax add esp,00000004h mov [ebp-1Ch],edi xor esi,esi mov dword ptr [ebp-04h],00000001h cmp edi,esi jz L00445DD5 mov ecx,[ebx+0000009Ch] push ecx push SSZ004C70A4_cache_uo mov ecx,L006BB1C8 call SUB_L00455E10 push eax mov ecx,edi call SUB_L00495AE0 jmp L00445DD7 L00445DD5: xor eax,eax L00445DD7: or edi,FFFFFFFFh mov ecx,eax mov [ebp-04h],edi mov [ebx],eax call SUB_L00495B80 mov ecx,[ebx+0000008Ch] mov edx,eax add edx,ecx mov [ebx+000000A4h],eax mov [ebx+000000A0h],eax mov [ebx+000000A8h],edx mov [eax],edi mov eax,[ebx+000000A0h] mov [eax+04h],edi mov ecx,[ebx+000000A0h] mov [ecx+08h],esi mov edx,[ebx+000000A0h] mov [edx+0Ch],esi mov eax,[ebx+000000A0h] mov dword ptr [eax+10h],00000001h mov ecx,[ebx+00000098h] mov edx,[ebx+000000A0h] dec ecx mov [edx+14h],ecx mov eax,[ebx+000000A8h] mov ecx,[ebx+00000094h] mov [eax],ecx mov edx,[ebx+000000A8h] mov eax,[ebx+00000090h] mov [edx+08h],eax mov ecx,[ebx+000000A8h] mov eax,00000002h mov [ecx+0Ch],edi mov edx,[ebx+000000A8h] mov [edx+10h],edi mov ecx,[ebx+000000A8h] mov [ecx+24h],eax mov edx,[ebx+000000A8h] mov [edx+28h],edi mov ecx,[ebx+00000098h] dec ecx cmp ecx,eax jle L00445EBD mov ecx,00000030h L00445E92: mov edi,[ebx+000000A8h] lea edx,[eax+01h] dec eax mov [ecx+edi+0Ch],edx mov edi,[ebx+000000A8h] mov [ecx+edi+10h],eax mov eax,edx mov edx,[ebx+00000098h] add ecx,00000018h dec edx cmp eax,edx jl L00445E92 or edi,FFFFFFFFh L00445EBD: mov eax,[ebx+00000098h] mov ecx,[ebx+000000A8h] lea eax,[eax+eax*2] mov [ecx+eax*8-0Ch],edi mov eax,[ebx+00000098h] mov ecx,[ebx+000000A8h] lea edx,[eax-02h] lea eax,[eax+eax*2] mov [ecx+eax*8-08h],edx mov edx,[ebx+000000A0h] mov edx,[edx] cmp edx,edi jz L00445F6D jmp L00445EF6 L00445EF4: xor esi,esi L00445EF6: mov eax,[L00549014] mov ecx,[eax+10h] mov [L00549014],ecx lea ecx,[edx+edx*2] mov [eax+0Ch],esi mov edi,[L006AA908] shl ecx,03h mov edi,[edi+ecx+04h] mov [eax],edi mov edi,[L006AA908] mov edi,[edi+ecx+14h] mov [eax+08h],edx mov [eax+04h],edi mov edx,edi mov edi,[eax] and edx,00000FFFh shl edi,0Ch add edi,edx mov edi,[L00505010+edi*4] mov [eax+14h],esi mov esi,edi mov [eax+10h],edi test esi,esi jz L00445F4E mov [esi+14h],eax L00445F4E: mov esi,[eax] shl esi,0Ch add esi,edx mov [L00505010+esi*4],eax mov edx,[ebx+000000A8h] mov edx,[edx+ecx+0Ch] cmp edx,FFFFFFFFh jnz L00445EF4 xor esi,esi L00445F6D: mov [ebp-14h],esi mov esi,L00549020 add ebx,00000004h mov edi,L004BA7A4 mov [ebp-18h],esi mov [ebp-1Ch],ebx mov [ebp-10h],ebx L00445F86: mov eax,[edi] push L004C40E0 push eax mov ecx,L006BB1C8 call SUB_L00455E10 push eax call SUB_L0049A7F0 add esp,00000008h test eax,eax jz L00445FFB push eax call SUB_L0049A580 add esp,00000004h mov dword ptr [esi],00000001h push 00000090h call SUB_L0049A820 mov esi,eax add esp,00000004h mov [ebp-10h],esi test esi,esi mov dword ptr [ebp-04h],00000002h jz L00446069 mov ecx,[edi] push ecx mov ecx,L006BB1C8 call SUB_L00455E10 push eax mov ecx,esi call SUB_L004958A0 mov esi,[ebp-18h] mov dword ptr [ebp-04h],FFFFFFFFh mov [ebx],eax jmp L004460C3 L00445FFB: mov edx,[edi] push L004C40E0 push edx mov ecx,L006BB1C8 call SUB_L00455EC0 push eax call SUB_L0049A7F0 add esp,00000008h test eax,eax jz L00446079 push eax call SUB_L0049A580 add esp,00000004h mov dword ptr [esi],00000000h push 00000090h call SUB_L0049A820 mov esi,eax add esp,00000004h mov [ebp-10h],esi test esi,esi mov dword ptr [ebp-04h],00000003h jz L00446069 mov eax,[edi] mov ecx,L006BB1C8 push eax call SUB_L00455EC0 push eax mov ecx,esi call SUB_L004958A0 mov esi,[ebp-18h] mov dword ptr [ebp-04h],FFFFFFFFh mov [ebx],eax jmp L004460C3 L00446069: mov esi,[ebp-18h] xor eax,eax mov dword ptr [ebp-04h],FFFFFFFFh mov [ebx],eax jmp L004460C3 L00446079: cmp esi,L00549020 jle L0044609A mov esi,[ebp-1Ch] mov ebx,[ebp-14h] L00446087: mov ecx,[esi] call SUB_L00495920 add esi,00000004h dec ebx jnz L00446087 mov esi,[ebp-18h] mov ebx,[ebp-10h] L0044609A: mov ecx,[edi] lea edx,[ebp-0000021Ch] push ecx push SSZ004C7078_Failed_to_open___s__both_from_CD push edx call SUB_L0049AC80 add esp,0000000Ch mov edx,SSZ004C7064_Unable_to_open_file lea ecx,[ebp-0000021Ch] push 00000001h call SUB_L0049A0A0 L004460C3: mov ecx,[ebx] call SUB_L00495960 mov ecx,[ebp-14h] mov [ebx+44h],eax add esi,00000004h inc ecx add ebx,00000004h add edi,00000010h cmp esi,L00549064 mov [ebp-14h],ecx mov [ebp-18h],esi mov [ebp-10h],ebx jl L00445F86 mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00446100: shl edi,04h lea edx,[ebp-0000021Ch] mov ecx,[edi+L004BA7A4] push ecx push SSZ004C6F88_Failed_to_open___s__from_HD_usin push edx call SUB_L0049AC80 add esp,0000000Ch mov edx,SSZ004C7064_Unable_to_open_file lea ecx,[ebp-0000021Ch] push 00000001h call SUB_L0049A0A0 jmp L00445C31 Align 16 SUB_L00446140: push ebp mov ebp,esp push ecx push ebx push esi mov esi,[ebp+08h] push edi mov [ebp-04h],ecx mov eax,[L00549020+esi*4] test eax,eax jnz L0044624B mov edi,[ebp+0Ch] mov ebx,esi mov eax,edi shl ebx,04h cdq idiv [ebx+L004BA79C] shl esi,0Ch sub edi,edx mov eax,edi and eax,00000FFFh add esi,eax mov eax,[L00505010+esi*4] test eax,eax jz L0044624B L0044618A: cmp [eax+04h],edi jz L00446196 mov eax,[eax+10h] test eax,eax jnz L0044618A L00446196: test eax,eax jz L0044624B mov ebx,[eax+08h] mov esi,[ecx+000000A8h] lea edx,[ebx+ebx*2] shl edx,03h mov edi,[esi+edx+10h] cmp edi,FFFFFFFFh jz L004461C6 lea ecx,[edi+edi*2] mov edi,[esi+edx+0Ch] mov [esi+ecx*8+0Ch],edi mov ecx,[ebp-04h] jmp L004461D2 L004461C6: mov edi,[ecx+000000A0h] mov esi,[esi+edx+0Ch] mov [edi],esi L004461D2: mov esi,[ecx+000000A8h] mov edi,[esi+edx+0Ch] cmp edi,FFFFFFFFh jz L004461EE mov edx,[esi+edx+10h] lea edi,[edi+edi*2] mov [esi+edi*8+10h],edx jmp L004461FB L004461EE: mov edi,[ecx+000000A0h] mov edx,[esi+edx+10h] mov [edi+04h],edx L004461FB: mov esi,[eax+04h] mov edx,[eax+10h] and esi,00000FFFh test edx,edx mov [eax+04h],esi jz L00446214 mov esi,[eax+14h] mov [edx+14h],esi L00446214: mov edx,[eax+14h] test edx,edx jz L00446223 mov esi,[eax+10h] mov [edx+10h],esi jmp L00446237 L00446223: mov edx,[eax] mov esi,[eax+04h] shl edx,0Ch add edx,esi mov esi,[eax+10h] mov [L00505010+edx*4],esi L00446237: mov edx,[L00549014] push ebx mov [eax+10h],edx mov [L00549014],eax call SUB_L00446CE0 L0044624B: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L00446260: push ebp mov ebp,esp sub esp,00000008h mov eax,[ebp+10h] push ebx mov ebx,[ebp+0Ch] push esi push edi push eax mov edi,ecx push ebx call SUB_L00446140 mov esi,[ebp+08h] mov eax,[L00549020+esi*4] test eax,eax jz L004464C5 mov eax,[L00549020+ebx*4] test eax,eax jz L004464C5 mov ecx,[ebp+10h] push ecx push esi mov ecx,edi call SUB_L00446140 mov ecx,[edi+esi*4+04h] call SUB_L00495920 mov eax,esi push L004C71A8 shl eax,04h mov ecx,L006BB1C8 mov [ebp-08h],eax mov edx,[eax+L004BA7A4] push edx call SUB_L00455E10 push eax call SUB_L0049A7F0 mov esi,eax add esp,00000008h test esi,esi jnz L004462EC push 00000001h mov edx,SSZ004C693C_Error mov ecx,SSZ004C70B0_You_are_using_a_maximum_install_ call SUB_L0049A0A0 L004462EC: mov eax,[ebp-08h] push 00000000h mov ecx,[eax+L004BA7A0] imul ecx,[ebp+10h] push ecx push esi call SUB_L0049B6B0 add esp,0000000Ch lea edx,[ebp+0Ch] push esi push 00000001h push 00000004h push edx call SUB_L0049A630 add esp,00000010h lea eax,[ebp-04h] push esi push 00000001h push 00000004h push eax call SUB_L0049A630 mov eax,[ebp-04h] add esp,00000010h test eax,eax jge L00446335 mov dword ptr [ebp-04h],00000000h L00446335: push 00000001h push FFFFFFF8h push esi call SUB_L0049B6B0 mov eax,[ebp+1Ch] mov ecx,[ebp-04h] add esp,0000000Ch cmp ecx,eax jl L004463FE test eax,eax jg L00446362 mov dword ptr [ebp+0Ch],FFFFFFFFh mov dword ptr [ebp+1Ch],00000000h L00446362: push esi push 00000001h lea ecx,[ebp+0Ch] push 00000004h push ecx call SUB_L0049B520 add esp,00000010h lea edx,[ebp+1Ch] push esi push 00000001h push 00000004h push edx call SUB_L0049B520 add esp,00000010h lea eax,[ebp+14h] push esi push 00000001h push 00000004h push eax call SUB_L0049B520 mov eax,[ebp+1Ch] add esp,00000010h test eax,eax jz L004464AC mov ecx,[edi+ebx*4+04h] call SUB_L00495920 mov ecx,ebx push L004C71A8 shl ecx,04h mov edx,[ecx+L004BA7A4] mov ecx,L006BB1C8 push edx call SUB_L00455E10 push eax call SUB_L0049A7F0 mov ecx,[ebp+0Ch] add esp,00000008h mov [ebp+10h],eax push 00000000h push ecx push eax call SUB_L0049B6B0 mov edx,[ebp+10h] mov eax,[ebp+1Ch] mov ecx,[ebp+18h] add esp,0000000Ch push edx push 00000001h push eax push ecx call SUB_L0049B520 mov edx,[ebp+10h] add esp,00000010h push edx jmp L00446497 L004463FE: mov ecx,[edi+ebx*4+04h] call SUB_L00495920 mov eax,ebx push L004C71A8 shl eax,04h mov ecx,[eax+L004BA7A4] push ecx mov ecx,L006BB1C8 call SUB_L00455E10 push eax call SUB_L0049A7F0 add esp,00000008h mov [ebp+10h],eax push 00000002h push 00000000h push eax call SUB_L0049B6B0 mov edx,[ebp+10h] add esp,0000000Ch push edx call SUB_L0049B7E0 add esp,00000004h mov [ebp+0Ch],eax lea eax,[ebp+0Ch] push esi push 00000001h push 00000004h push eax call SUB_L0049B520 add esp,00000010h lea ecx,[ebp+1Ch] push esi push 00000001h push 00000004h push ecx call SUB_L0049B520 add esp,00000010h lea edx,[ebp+14h] push esi push 00000001h push 00000004h push edx call SUB_L0049B520 mov eax,[ebp+10h] mov ecx,[ebp+1Ch] mov edx,[ebp+18h] add esp,00000010h push eax push 00000001h push ecx push edx call SUB_L0049B520 mov eax,[ebp+10h] add esp,00000010h push eax L00446497: call SUB_L0049A580 mov ecx,[edi+ebx*4+04h] add esp,00000004h call SUB_L00495960 mov [edi+ebx*4+48h],eax L004464AC: push esi call SUB_L0049A580 mov esi,[ebp+08h] add esp,00000004h mov ecx,[edi+esi*4+04h] call SUB_L00495960 mov [edi+esi*4+48h],eax L004464C5: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0018h ;------------------------------------------------------------------------------ Align 4 SUB_L004464D0: push ebp mov ebp,esp mov eax,[L004D0218] push ebx mov ebx,[ebp+08h] push esi mov esi,[ebp+0Ch] push edi test eax,eax jz L0044650E mov eax,ebx mov edx,esi shl eax,0Ah and edx,000003FFh add eax,edx mov eax,[L004F4010+eax*4] test eax,eax jz L0044650E L004464FF: cmp [eax],esi jz L004465F7 mov eax,[eax+10h] test eax,eax jnz L004464FF L0044650E: mov eax,[L00549020+ebx*4] test eax,eax jz L00446534 mov eax,ebx mov edx,[ecx+ebx*4+48h] shl eax,04h mov eax,[eax+L004BA7A0] imul eax,esi add eax,edx pop edi pop esi pop ebx pop ebp retn 0008h ;------------------------------------------------------------------------------ L00446534: mov edi,ebx mov eax,esi shl edi,04h cdq idiv [edi+L004BA79C] mov eax,esi sub eax,edx mov edx,ebx mov edi,eax shl edx,0Ch and edi,00000FFFh add edx,edi mov edi,[L00505010+edx*4] test edi,edi jz L004465E9 L00446564: cmp [edi+04h],eax jz L0044657E mov edi,[edi+10h] test edi,edi jnz L00446564 push esi push ebx call SUB_L00446880 pop edi pop esi pop ebx pop ebp retn 0008h ;------------------------------------------------------------------------------ L0044657E: mov eax,[edi+0Ch] test eax,eax jnz L00446593 mov eax,[edi+08h] mov ecx,L006AA860 push eax call SUB_L00446FF0 L00446593: mov eax,[edi+04h] cmp eax,esi jnz L004465B9 mov edi,[edi+08h] mov edx,[L006AA908] lea ecx,[edi+edi*2] mov eax,[edx+ecx*8+08h] mov ecx,[L006AA904] add eax,ecx pop edi pop esi pop ebx pop ebp retn 0008h ;------------------------------------------------------------------------------ L004465B9: sub esi,eax mov eax,[edi] mov edi,[edi+08h] mov edx,[L006AA908] shl eax,04h lea ecx,[edi+edi*2] imul esi,[eax+L004BA7A0] mov edi,[edx+ecx*8+08h] mov eax,[L006AA904] add esi,edi add esi,eax mov eax,esi pop edi pop esi pop ebx pop ebp retn 0008h ;------------------------------------------------------------------------------ L004465E9: push esi push ebx call SUB_L00446880 pop edi pop esi pop ebx pop ebp retn 0008h ;------------------------------------------------------------------------------ L004465F7: mov ecx,[eax+08h] test ecx,ecx jz L00446610 mov eax,[eax+04h] mov ecx,[L004F4008] add eax,ecx pop edi pop esi pop ebx pop ebp retn 0008h ;------------------------------------------------------------------------------ L00446610: pop edi pop esi xor eax,eax pop ebx pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 8 SUB_L00446620: push ebp mov ebp,esp mov eax,[L004D0218] push ebx push esi mov esi,[ebp+10h] push edi mov edi,[ebp+0Ch] test eax,eax mov ebx,ecx jz L0044668B mov eax,edi mov ecx,esi shl eax,0Ah and ecx,000003FFh add eax,ecx mov eax,[L004F4010+eax*4] test eax,eax jz L0044668B L00446651: cmp [eax],esi jz L0044665E mov eax,[eax+10h] test eax,eax jnz L00446651 jmp L0044668B L0044665E: mov ecx,[ebp+14h] mov edx,[eax+08h] mov [ecx],edx mov ecx,[ebp+18h] mov edx,[eax+0Ch] mov [ecx],edx mov ecx,[eax+08h] test ecx,ecx jz L00446714 mov eax,[eax+04h] mov ecx,[L004F4008] add eax,ecx pop edi pop esi pop ebx pop ebp retn 0014h ;------------------------------------------------------------------------------ L0044668B: mov ecx,[ebp+08h] mov eax,[L00549020+ecx*4] test eax,eax jz L004466EC mov eax,[L00549020+edi*4] test eax,eax jz L004466EC mov edx,ecx shl edx,04h mov eax,[edx+L004BA7A0] mov edx,[ebx+ecx*4+48h] imul eax,esi mov esi,[eax+edx+04h] mov ecx,[eax+edx] add eax,edx mov edx,[ebp+14h] test ecx,ecx mov [edx],esi mov esi,[ebp+18h] mov eax,[eax+08h] mov [esi],eax jge L004466DF mov dword ptr [edx],00000000h xor eax,eax pop edi pop esi pop ebx pop ebp retn 0014h ;------------------------------------------------------------------------------ L004466DF: mov eax,[ebx+edi*4+48h] add eax,ecx pop edi pop esi pop ebx pop ebp retn 0014h ;------------------------------------------------------------------------------ L004466EC: push esi push ecx mov ecx,ebx call SUB_L004464D0 mov edx,[ebp+14h] mov edi,[eax+04h] mov ecx,[eax] mov [edx],edi mov edi,[ebp+18h] mov eax,[eax+08h] mov [ebp+10h],ecx test ecx,ecx mov [edi],eax jge L0044671D mov dword ptr [edx],00000000h L00446714: xor eax,eax pop edi pop esi pop ebx pop ebp retn 0014h ;------------------------------------------------------------------------------ L0044671D: mov eax,[ebp+0Ch] mov edx,[edx] mov [ebp+14h],edx mov edi,[L00549020+eax*4] test edi,edi jz L0044673F mov ebx,[ebx+eax*4+48h] add ebx,ecx mov eax,ebx pop edi pop esi pop ebx pop ebp retn 0014h ;------------------------------------------------------------------------------ L0044673F: mov ecx,esi shl eax,0Ch and ecx,00000FFFh add eax,ecx mov edi,[L00505010+eax*4] test edi,edi jz L00446767 L00446757: cmp [edi+04h],esi jz L00446810 mov edi,[edi+10h] test edi,edi jnz L00446757 L00446767: push edx mov edx,[ebp+0Ch] push esi push edx mov ecx,ebx call SUB_L00446A30 mov ecx,[ebx+000000A4h] lea esi,[eax+eax*2] mov [ebp+18h],eax mov eax,[ebx+000000A8h] mov edx,[ebp+10h] shl esi,03h mov edi,[eax+esi+08h] mov eax,[ebp+0Ch] add edi,ecx mov ecx,[ebp+14h] push edi push ecx mov ecx,[ebx+eax*4+04h] push edx call SUB_L00495AB0 mov eax,[L00549014] xor ebx,ebx mov ecx,[eax+10h] mov [L00549014],ecx mov [eax+0Ch],ebx mov edx,[L006AA908] mov ecx,[edx+esi+04h] mov [eax],ecx mov edx,[L006AA908] mov ecx,[edx+esi+14h] mov edx,[ebp+18h] mov [eax+08h],edx mov edx,[eax] mov [eax+04h],ecx and ecx,00000FFFh shl edx,0Ch add edx,ecx mov edx,[L00505010+edx*4] mov [eax+14h],ebx cmp edx,ebx mov [eax+10h],edx jz L004467F7 mov [edx+14h],eax L004467F7: mov edx,[eax] mov ebx,edi shl edx,0Ch add edx,ecx mov [L00505010+edx*4],eax mov eax,ebx pop edi pop esi pop ebx pop ebp retn 0014h ;------------------------------------------------------------------------------ L00446810: mov eax,[edi+0Ch] test eax,eax jnz L00446825 mov edx,[edi+08h] mov ecx,L006AA860 push edx call SUB_L00446FF0 L00446825: mov eax,[edi+04h] cmp eax,esi jnz L0044684E mov edi,[edi+08h] mov ecx,[L006AA908] lea eax,[edi+edi*2] mov esi,[ecx+eax*8+08h] mov eax,[L006AA904] add esi,eax mov ebx,esi mov eax,ebx pop edi pop esi pop ebx pop ebp retn 0014h ;------------------------------------------------------------------------------ L0044684E: mov edx,[edi] mov edi,[edi+08h] shl edx,04h sub esi,eax mov ecx,[L006AA908] imul esi,[edx+L004BA7A0] lea eax,[edi+edi*2] pop edi mov edx,[ecx+eax*8+08h] mov eax,[L006AA904] add esi,edx add esi,eax mov ebx,esi pop esi mov eax,ebx pop ebx pop ebp retn 0014h ;------------------------------------------------------------------------------ SUB_L00446880: push ebp mov ebp,esp sub esp,00000010h push ebx mov ebx,[ebp+08h] mov eax,ebx push esi shl eax,04h mov esi,ecx push edi mov ecx,[eax+L004BA79C] mov eax,[eax+L004BA7A0] mov edi,[ebp+0Ch] cmp ecx,00000001h mov [ebp-04h],eax jle L004468B7 mov eax,edi cdq idiv ecx mov eax,[ebp-04h] sub edi,edx cmp ecx,00000001h L004468B7: jnz L00446969 push eax push edi push ebx mov ecx,esi call SUB_L00446A30 mov ecx,[esi+000000A4h] lea ebx,[eax+eax*2] mov [ebp-08h],eax mov eax,[esi+000000A8h] shl ebx,03h mov eax,[eax+ebx+08h] add eax,ecx mov ecx,[ebp+08h] mov [ebp-0Ch],eax push eax mov eax,[ebp-04h] mov ecx,[esi+ecx*4+04h] imul edi,eax push eax push edi call SUB_L00495AB0 mov eax,[L00549014] xor esi,esi mov edx,[eax+10h] mov [L00549014],edx mov [eax+0Ch],esi mov ecx,[L006AA908] mov edx,[ecx+ebx+04h] mov [eax],edx mov ecx,[L006AA908] mov edx,[ecx+ebx+14h] mov ecx,[ebp-08h] mov [eax+08h],ecx mov [eax+04h],edx mov ecx,edx mov edx,[eax] and ecx,00000FFFh shl edx,0Ch add edx,ecx mov edx,[L00505010+edx*4] mov [eax+14h],esi cmp edx,esi mov [eax+10h],edx jz L0044694F mov [edx+14h],eax L0044694F: mov edx,[eax] shl edx,0Ch add edx,ecx mov [L00505010+edx*4],eax mov eax,[ebp-0Ch] pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L00446969: imul eax,ecx push eax push edi push ebx mov ecx,esi mov [ebp-10h],eax call SUB_L00446A30 mov edx,[esi+000000A4h] lea ebx,[eax+eax*2] mov [ebp-08h],eax mov eax,[esi+000000A8h] shl ebx,03h mov ecx,[ebp-10h] mov eax,[eax+ebx+08h] add eax,edx mov edx,edi imul edx,[ebp-04h] mov [ebp-0Ch],eax push eax mov eax,[ebp+08h] push ecx push edx mov ecx,[esi+eax*4+04h] call SUB_L00495AB0 mov eax,[L00549014] xor esi,esi mov ecx,[eax+10h] mov [L00549014],ecx mov [eax+0Ch],esi mov edx,[L006AA908] mov ecx,[edx+ebx+04h] mov [eax],ecx mov edx,[L006AA908] mov ecx,[edx+ebx+14h] mov edx,[ebp-08h] mov [eax+08h],edx mov edx,[eax] mov [eax+04h],ecx and ecx,00000FFFh shl edx,0Ch add edx,ecx mov edx,[L00505010+edx*4] mov [eax+14h],esi cmp edx,esi mov [eax+10h],edx jz L00446A02 mov [edx+14h],eax L00446A02: mov edx,[eax] shl edx,0Ch add edx,ecx mov ecx,[ebp-0Ch] mov [L00505010+edx*4],eax mov eax,[ebp+0Ch] sub eax,edi pop edi imul eax,[ebp-04h] pop esi add eax,ecx pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L00446A30: push ebp mov ebp,esp push ebx push esi mov esi,ecx push edi mov edi,[ebp+10h] mov eax,[esi+000000A0h] mov eax,[eax+08h] cmp eax,FFFFFFFFh jz L00446A64 mov edx,[esi+000000A8h] L00446A4F: lea ecx,[eax+eax*2] mov ebx,[edx+ecx*8] lea ecx,[edx+ecx*8] cmp ebx,edi jge L00446A64 mov eax,[ecx+0Ch] cmp eax,FFFFFFFFh jnz L00446A4F L00446A64: cmp eax,FFFFFFFFh jnz L00446A7E L00446A69: mov ecx,esi call SUB_L00446BE0 mov ecx,[esi+000000A8h] lea edx,[eax+eax*2] cmp [ecx+edx*8],edi jl L00446A69 L00446A7E: mov edx,[esi+000000A0h] cmp dword ptr [edx+10h],FFFFFFFFh jnz L00446A91 mov ecx,esi call SUB_L00446BE0 L00446A91: mov ebx,[esi+000000A8h] lea ecx,[eax+eax*2] shl ecx,03h cmp [ebx+ecx],edi jnz L00446AF3 mov edx,[ebx+ecx+0Ch] cmp edx,FFFFFFFFh jz L00446AB8 mov edi,[ebx+ecx+10h] lea edx,[edx+edx*2] mov [ebx+edx*8+10h],edi jmp L00446AC5 L00446AB8: mov edx,[esi+000000A0h] mov edi,[ebx+ecx+10h] mov [edx+0Ch],edi L00446AC5: mov edx,[esi+000000A8h] mov edi,[edx+ecx+10h] cmp edi,FFFFFFFFh jz L00446AE4 mov ecx,[edx+ecx+0Ch] lea edi,[edi+edi*2] mov [edx+edi*8+0Ch],ecx jmp L00446B67 L00446AE4: mov edi,[esi+000000A0h] mov edx,[edx+ecx+0Ch] mov [edi+08h],edx jmp L00446B67 L00446AF3: mov eax,[esi+000000A0h] mov edx,[eax+10h] mov [ebp+10h],edx lea edx,[edx+edx*2] shl edx,03h mov ebx,[edx+ebx+0Ch] mov [eax+10h],ebx mov ebx,[esi+000000A0h] mov eax,[ebx+10h] cmp eax,FFFFFFFFh jz L00446B2D mov ebx,[esi+000000A8h] lea eax,[eax+eax*2] mov dword ptr [ebx+eax*8+10h],FFFFFFFFh jmp L00446B34 L00446B2D: mov dword ptr [ebx+14h],FFFFFFFFh L00446B34: mov eax,[ebp+10h] mov [ebp+10h],eax mov eax,[esi+000000A8h] mov [edx+eax],edi mov eax,[esi+000000A8h] mov ebx,[eax+ecx+08h] sub ebx,edi add ebx,[eax+ecx] mov [edx+eax+08h],ebx mov edx,[esi+000000A8h] add ecx,edx mov eax,[ecx] sub eax,edi mov [ecx],eax mov eax,[ebp+10h] L00446B67: mov edx,[esi+000000A8h] lea ecx,[eax+eax*2] shl ecx,03h mov dword ptr [ecx+edx+10h],FFFFFFFFh mov edx,[esi+000000A0h] mov edi,[esi+000000A8h] mov edx,[edx] mov [ecx+edi+0Ch],edx mov edi,[esi+000000A0h] mov edx,[edi] cmp edx,FFFFFFFFh jz L00446BA9 mov edi,[esi+000000A8h] lea edx,[edx+edx*2] mov [edi+edx*8+10h],eax jmp L00446BAC L00446BA9: mov [edi+04h],eax L00446BAC: mov edx,[esi+000000A0h] mov edi,[ebp+08h] mov [edx],eax mov edx,[esi+000000A8h] mov [ecx+edx+04h],edi mov edx,[esi+000000A8h] mov esi,[ebp+0Ch] pop edi mov [ecx+edx+14h],esi pop esi pop ebx pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 16 SUB_L00446BE0: push ebx push esi mov esi,ecx push edi mov eax,[esi+000000A0h] cmp dword ptr [eax+04h],FFFFFFFFh jnz L00446C02 push 00000001h mov edx,SSZ004C7214_Caching_Error mov ecx,SSZ004C71AC_Cache_is_entirely_filled_with_ve call SUB_L0049A0A0 L00446C02: mov ecx,[esi+000000A0h] mov edx,[esi+000000A8h] mov edi,[ecx+04h] lea ecx,[edi+edi*2] shl ecx,03h lea eax,[edx+ecx] mov edx,[edx+ecx+14h] mov eax,[eax+04h] mov ebx,edx and ebx,00000FFFh shl eax,0Ch add ebx,eax mov eax,[L00505010+ebx*4] test eax,eax jz L00446C91 L00446C39: cmp [eax+04h],edx jz L00446C47 mov eax,[eax+10h] test eax,eax jnz L00446C39 jmp L00446C91 L00446C47: mov ebx,[eax+04h] mov edx,[eax+10h] and ebx,00000FFFh test edx,edx mov [eax+04h],ebx jz L00446C60 mov ebx,[eax+14h] mov [edx+14h],ebx L00446C60: mov edx,[eax+14h] test edx,edx jz L00446C6F mov ebx,[eax+10h] mov [edx+10h],ebx jmp L00446C83 L00446C6F: mov edx,[eax] mov ebx,[eax+04h] shl edx,0Ch add edx,ebx mov ebx,[eax+10h] mov [L00505010+edx*4],ebx L00446C83: mov edx,[L00549014] mov [eax+10h],edx mov [L00549014],eax L00446C91: mov eax,[esi+000000A8h] mov edx,[eax+ecx+10h] cmp edx,FFFFFFFFh jz L00446CAD mov ebx,[eax+ecx+0Ch] lea edx,[edx+edx*2] mov [eax+edx*8+0Ch],ebx jmp L00446CB9 L00446CAD: mov eax,[esi+000000A0h] mov dword ptr [eax],FFFFFFFFh L00446CB9: mov edx,[esi+000000A8h] mov eax,[esi+000000A0h] push edi mov ecx,[edx+ecx+10h] mov [eax+04h],ecx mov ecx,esi call SUB_L00446CE0 pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ Align 16 SUB_L00446CE0: push ebp mov ebp,esp sub esp,00000018h mov eax,[ecx+000000A0h] push ebx push esi mov esi,[ebp+08h] mov edx,[eax+08h] push edi cmp edx,FFFFFFFFh jz L00446D1B mov edi,[ecx+000000A8h] lea eax,[esi+esi*2] mov ebx,[edi+eax*8+08h] L00446D07: lea eax,[edx+edx*2] cmp [edi+eax*8+08h],ebx lea eax,[edi+eax*8] jg L00446D1B mov edx,[eax+0Ch] cmp edx,FFFFFFFFh jnz L00446D07 L00446D1B: cmp edx,FFFFFFFFh jnz L00446D2B mov eax,[ecx+000000A0h] mov eax,[eax+0Ch] jmp L00446D38 L00446D2B: mov edi,[ecx+000000A8h] lea eax,[edx+edx*2] mov eax,[edi+eax*8+10h] L00446D38: xor edi,edi cmp edx,FFFFFFFFh mov [ebp+08h],eax mov [ebp-14h],esi mov [ebp-18h],edi jnz L00446DAC cmp eax,edx jz L00446F74 mov edi,[ecx+000000A8h] lea eax,[eax+eax*2] mov ebx,[edi+eax*8] lea edi,[edi+eax*8] mov [ebp-0Ch],edi lea eax,[esi+esi*2] mov edi,[edi+08h] mov [ebp-04h],ebx add edi,ebx mov [ebp-10h],edi mov edi,[ecx+000000A8h] mov ebx,[ebp-10h] shl eax,03h cmp ebx,[eax+edi+08h] jnz L00446F6E mov ebx,[ebp-04h] add ebx,[eax+edi] mov edi,[ebp-0Ch] mov [edi],ebx mov edi,[ebp+08h] mov ebx,[ecx+000000A8h] mov [ebp-14h],edi mov edi,[ecx+000000A0h] mov edi,[edi+10h] mov [eax+ebx+0Ch],edi jmp L00446E1C L00446DAC: cmp eax,FFFFFFFFh jnz L00446E4A mov edi,[ecx+000000A8h] lea eax,[esi+esi*2] shl eax,03h mov [ebp-0Ch],eax mov ebx,[eax+edi+08h] mov [ebp-10h],ebx lea ebx,[edx+edx*2] shl ebx,03h mov [ebp-08h],ebx mov ebx,[ebp-10h] add ebx,[eax+edi] mov [ebp-04h],ebx mov ebx,[ebp-08h] mov eax,[ebp-04h] cmp eax,[edi+ebx+08h] jnz L00446F6E mov eax,[ebp-10h] mov [ebp-14h],edx mov [edi+ebx+08h],eax mov eax,[ecx+000000A8h] mov edi,[ebp-0Ch] mov edi,[edi+eax] add [eax+ebx],edi mov eax,[ecx+000000A0h] mov edi,[ecx+000000A8h] mov ebx,[eax+10h] mov eax,[ebp-0Ch] mov [eax+edi+0Ch],ebx L00446E1C: mov ebx,[ecx+000000A8h] or edi,FFFFFFFFh mov [eax+ebx+10h],edi mov eax,[ecx+000000A0h] mov [eax+10h],esi mov eax,[ecx+000000A0h] cmp [eax+14h],edi jnz L00446E40 mov [eax+14h],esi L00446E40: mov edi,00000001h jmp L00446F71 L00446E4A: lea edi,[eax+eax*2] mov eax,[ecx+000000A8h] shl edi,03h mov [ebp-10h],edi mov ebx,[edi+eax] mov edi,[edi+eax+08h] mov [ebp-04h],ebx lea ebx,[esi+esi*2] shl ebx,03h mov [ebp-0Ch],ebx mov ebx,[ebp-04h] add edi,ebx mov ebx,[ebp-0Ch] cmp edi,[ebx+eax+08h] jnz L00446F6E mov edi,[ebp-04h] add edi,[ebx+eax] mov ebx,[ebp-10h] mov [ebx+eax],edi mov eax,[ebp+08h] mov edi,[ecx+000000A8h] mov [ebp-14h],eax mov eax,[ecx+000000A0h] mov ebx,[eax+10h] mov eax,[ebp-0Ch] mov [eax+edi+0Ch],ebx mov ebx,[ecx+000000A8h] or edi,FFFFFFFFh mov [eax+ebx+10h],edi mov eax,[ecx+000000A0h] mov [eax+10h],esi mov eax,[ecx+000000A0h] cmp [eax+14h],edi jnz L00446ECA mov [eax+14h],esi L00446ECA: mov eax,[ecx+000000A8h] mov edi,[ebp-10h] mov dword ptr [ebp-18h],00000001h mov ebx,[edi+eax] lea edi,[edx+edx*2] shl edi,03h mov [ebp-08h],edi mov edi,[ebp-10h] mov [ebp-04h],ebx mov edi,[edi+eax+08h] add edi,ebx mov ebx,[ebp-08h] cmp edi,[eax+ebx+08h] jnz L00446F6E mov edi,[ebp-04h] add edi,[eax+ebx] mov ebx,[ebp-10h] mov [ebx+eax],edi mov eax,[ecx+000000A8h] mov edi,[ebp-08h] mov edi,[eax+edi+0Ch] mov [ebx+eax+0Ch],edi mov edi,[ecx+000000A8h] mov ebx,[ebp-08h] mov eax,[edi+ebx+0Ch] cmp eax,FFFFFFFFh jz L00446F37 mov ebx,[ebp+08h] lea eax,[eax+eax*2] mov [edi+eax*8+10h],ebx mov ebx,[ebp-08h] L00446F37: mov eax,[ecx+000000A0h] mov edi,[ecx+000000A8h] mov eax,[eax+10h] mov [ebx+edi+0Ch],eax mov eax,[ecx+000000A8h] or edi,FFFFFFFFh mov [ebx+eax+10h],edi mov eax,[ecx+000000A0h] mov [eax+10h],edx mov eax,[ecx+000000A0h] cmp [eax+14h],edi jnz L00446F6E mov [eax+14h],edx L00446F6E: mov edi,[ebp-18h] L00446F71: mov eax,[ebp+08h] L00446F74: test edi,edi jnz L00446FD6 mov ebx,[ecx+000000A8h] lea edi,[esi+esi*2] shl edi,03h cmp eax,FFFFFFFFh mov [edi+ebx+10h],eax mov ebx,[ecx+000000A8h] mov [edi+ebx+0Ch],edx jz L00446FA6 mov edi,[ecx+000000A8h] lea eax,[eax+eax*2] mov [edi+eax*8+0Ch],esi jmp L00446FAF L00446FA6: mov eax,[ecx+000000A0h] mov [eax+08h],esi L00446FAF: cmp edx,FFFFFFFFh jz L00446FCD mov eax,[ecx+000000A8h] lea edx,[edx+edx*2] mov [eax+edx*8+10h],esi mov eax,[ebp-14h] pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L00446FCD: mov ecx,[ecx+000000A0h] mov [ecx+0Ch],esi L00446FD6: mov eax,[ebp-14h] pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00446FF0: push ebp mov ebp,esp push ebx mov ebx,[ecx+000000A0h] push edi mov edi,[ebp+08h] cmp [ebx],edi jz L0044709A mov edx,[ecx+000000A8h] lea eax,[edi+edi*2] shl eax,03h push esi mov esi,[edx+eax+0Ch] cmp esi,FFFFFFFFh jz L00447029 mov ebx,[edx+eax+10h] lea esi,[esi+esi*2] mov [edx+esi*8+10h],ebx jmp L00447030 L00447029: mov edx,[edx+eax+10h] mov [ebx+04h],edx L00447030: mov edx,[ecx+000000A8h] mov esi,[edx+eax+10h] mov ebx,[edx+eax+0Ch] lea esi,[esi+esi*2] mov [edx+esi*8+0Ch],ebx mov edx,[ecx+000000A0h] mov esi,[ecx+000000A8h] mov edx,[edx] mov [esi+eax+0Ch],edx mov edx,[ecx+000000A8h] mov dword ptr [edx+eax+10h],FFFFFFFFh mov edx,[ecx+000000A0h] mov eax,[edx] cmp eax,FFFFFFFFh jz L0044708E mov edx,[ecx+000000A8h] lea eax,[eax+eax*2] pop esi mov [edx+eax*8+10h],edi mov eax,[ecx+000000A0h] mov [eax],edi pop edi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ L0044708E: mov [edx+04h],edi mov eax,[ecx+000000A0h] pop esi mov [eax],edi L0044709A: pop edi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ SUB_L004470A0: mov al,[L00549064] test al,al jnz L004470E8 call SUB_L0044AEA0 push SSZ004C7238_english call SUB_L0044B250 push eax call SUB_L0049B300 add esp,00000008h test eax,eax mov al,[L00549068] jnz L004470DD test al,al jnz L004470E8 mov byte ptr [L004C7224],00h mov byte ptr [L00549064],01h retn ;------------------------------------------------------------------------------ L004470DD: test al,al jnz L004470E8 mov byte ptr [L004C7224],01h L004470E8: mov byte ptr [L00549064],01h retn ;------------------------------------------------------------------------------ SUB_L004470F0: push ebp mov ebp,esp push FFFFFFFFh push L004B341A mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,0000001Ch push ebx push esi mov esi,ecx push edi mov [ebp-1Ch],esi call SUB_L00441CB0 mov eax,[ebp+10h] mov ecx,[ebp+08h] mov edx,[ebp+0Ch] mov [esi+18h],eax mov [esi+1Ch],eax mov eax,[ebp+14h] xor ebx,ebx push 000000C0h mov [ebp-04h],ebx mov dword ptr [esi],L004BA8A8 mov [esi+20h],eax mov [esi+2Ch],ecx mov [esi+30h],edx mov [esi+000000B4h],ebx mov [esi+000000B0h],ebx call SUB_L0049A820 add esp,00000004h mov [ebp+10h],eax cmp eax,ebx mov byte ptr [ebp-04h],01h jz L00447179 mov ecx,[L0054907C] push ecx push ebx push 00000001h push ebx push 00000001h push esi mov ecx,eax call SUB_L00425F90 jmp L0044717B L00447179: xor eax,eax L0044717B: push 000000A8h mov [ebp-04h],bl mov [esi+00000094h],eax call SUB_L0049A820 add esp,00000004h mov [ebp+10h],eax cmp eax,ebx mov byte ptr [ebp-04h],02h jz L004471A6 push esi mov ecx,eax call SUB_L00425AB0 jmp L004471A8 L004471A6: xor eax,eax L004471A8: push 00000094h mov [ebp-04h],bl mov [esi+00000098h],eax call SUB_L0049A820 add esp,00000004h mov [ebp+10h],eax cmp eax,ebx mov byte ptr [ebp-04h],03h jz L004471D3 push esi mov ecx,eax call SUB_L00424F50 jmp L004471D5 L004471D3: xor eax,eax L004471D5: push 00000094h mov [ebp-04h],bl mov [esi+0000009Ch],eax call SUB_L0049A820 add esp,00000004h mov [ebp+10h],eax cmp eax,ebx mov byte ptr [ebp-04h],04h jz L00447200 push esi mov ecx,eax call SUB_L00424F50 jmp L00447202 L00447200: xor eax,eax L00447202: push 00000094h mov [ebp-04h],bl mov [esi+000000A0h],eax call SUB_L0049A820 add esp,00000004h mov [ebp+10h],eax cmp eax,ebx mov byte ptr [ebp-04h],05h jz L0044722D push esi mov ecx,eax call SUB_L00424F50 jmp L0044722F L0044722D: xor eax,eax L0044722F: push 00000094h mov [ebp-04h],bl mov [esi+000000A4h],eax call SUB_L0049A820 add esp,00000004h mov [ebp+10h],eax cmp eax,ebx mov byte ptr [ebp-04h],06h jz L0044725A push esi mov ecx,eax call SUB_L00424F50 jmp L0044725C L0044725A: xor eax,eax L0044725C: push ebx mov [esi+000000A8h],eax mov edx,[L004C722C] mov eax,[ebp+18h] push FFFFFFFFh push FFFFFFFFh push ebx mov byte ptr [L0054906C],01h mov ecx,[esi+00000094h] push edx push eax mov [ebp-04h],bl call SUB_L00426260 lea ecx,[ebp-10h] lea edx,[ebp-20h] push ecx mov ecx,00000A8Ch call SUB_L004390A0 lea edx,[ebp-24h] mov ecx,00000A8Dh push edx lea edx,[ebp-14h] call SUB_L004390A0 lea eax,[ebp-28h] lea edx,[ebp-18h] push eax mov ecx,00000A92h call SUB_L004390A0 mov ecx,[esi+1Ch] push ecx mov ecx,[esi+0000009Ch] push ebx push ebx push 00000A8Ch push ebx call SUB_L00425130 mov eax,[esi+20h] mov ecx,[ebp-10h] mov edx,[esi+1Ch] sub eax,ecx mov ecx,[esi+000000A0h] push edx push eax push ebx push 00000A8Ch push ebx call SUB_L00425130 mov eax,[ebp-10h] mov edx,[esi+20h] lea ecx,[eax+eax] sub edx,ecx mov ecx,[esi+000000A4h] push edx push eax push ebx push 00000A8Dh push 00000001h call SUB_L00425130 mov eax,[ebp-10h] mov edx,[esi+20h] mov edi,[ebp-14h] lea ecx,[eax+eax] sub edx,ecx mov ecx,[esi+000000A8h] push edx push eax mov eax,[esi+1Ch] sub eax,edi push eax push 00000A8Dh push 00000001h call SUB_L00425130 mov eax,[ebp-10h] mov edx,[esi+20h] lea ecx,[eax+eax] sub edx,ecx mov ecx,[esi+00000098h] push edx push eax mov eax,[ebp-14h] push eax call SUB_L00425DB0 mov eax,[ebp-10h] mov edx,[esi+20h] mov edi,[esi+1Ch] lea ecx,[eax+eax] sub edx,ecx mov ecx,[ebp-14h] push edx lea edx,[ecx+ecx+02h] sub edi,edx mov edx,[ebp-18h] sub edi,edx push edi push eax lea eax,[edx+ecx+02h] mov ecx,[esi+00000094h] push eax call SUB_L004261E0 mov ecx,[esi+00000094h] push ebx call SUB_L004265E0 push 00000001h push ebx mov ecx,esi call SUB_L004415C0 mov [esi+000000ACh],bl mov al,[L00549070] cmp al,bl mov [L0054906C],bl jz L004473C1 mov ecx,[L00549074] mov [esi+2Ch],ecx mov edx,[L00549078] mov [esi+30h],edx L004473C1: mov ecx,[ebp-0Ch] mov eax,esi pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0014h ;------------------------------------------------------------------------------ Align 16 L004473E0: push ebp mov ebp,esp push esi mov esi,ecx call SUB_L00447410 test byte ptr [ebp+08h],01h jz L004473FA push esi call SUB_L0049A810 add esp,00000004h L004473FA: mov eax,esi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00447410: mov dword ptr [ecx],L004BA8A8 jmp SUB_L00441D50 Align 8 L00447420: push ebp mov ebp,esp mov eax,[ebp+08h] mov edx,[ebp+0Ch] mov byte ptr [ecx+000000ACh],01h mov [ecx+000000B0h],eax mov [ecx+000000B4h],edx pop ebp retn 0008h ;------------------------------------------------------------------------------ L00447440: push ebp mov ebp,esp mov byte ptr [ecx+000000ACh],00h pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 4 L00447450: push ebp mov ebp,esp sub esp,00000008h push esi mov esi,ecx lea eax,[ebp+0Ch] lea ecx,[ebp+08h] push eax push ecx mov ecx,esi call SUB_L00440C60 mov esi,[esi+44h] test esi,esi jz L004474B7 L0044746F: mov edx,[ebp+08h] mov eax,[ebp+0Ch] mov [ebp-08h],edx lea ecx,[ebp-04h] lea edx,[ebp-08h] push ecx push edx mov ecx,esi mov [ebp-04h],eax call SUB_L00440CD0 mov ecx,[ebp-04h] mov edx,[ebp-08h] mov eax,[esi] push ecx push edx mov ecx,esi call [eax+10h] test eax,eax jnz L004474AB mov esi,[esi+3Ch] test esi,esi jnz L0044746F pop esi mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L004474AB: mov eax,00000001h pop esi mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L004474B7: xor eax,eax pop esi mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L004474C0: push ebp mov ebp,esp mov eax,[ebp+0Ch] mov edx,[ebp+08h] mov ecx,[ecx+00000098h] push eax push edx call SUB_L00425F20 pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 8 L004474E0: push ebp mov ebp,esp mov eax,[ebp+0Ch] mov edx,[ebp+08h] mov byte ptr [L0054906C],01h mov ecx,[ecx+00000094h] push eax push edx call SUB_L00426620 mov byte ptr [L0054906C],00h pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 16 L00447510: push ebp mov ebp,esp mov eax,[ebp+08h] mov byte ptr [L0054906C],01h mov ecx,[ecx+00000094h] push eax call SUB_L00426650 mov byte ptr [L0054906C],00h pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 L00447540: push ebp mov ebp,esp push esi mov esi,ecx mov al,[esi+000000ACh] test al,al jz L00447575 mov eax,[ebp+0Ch] mov edx,[esi+000000B4h] mov ecx,[ebp+08h] sub eax,edx mov edx,[esi+000000B0h] push 00000001h push 00000000h push 00000001h sub ecx,edx push eax push ecx mov ecx,esi call SUB_L00440850 L00447575: mov edx,[esi+2Ch] mov [L00549074],edx mov eax,[esi+30h] mov [L00549078],eax pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' push ebp mov ebp,esp sub esp,0000000Ch push ebx push esi push edi mov ebx,ecx push L004C40E0 push SSZ004C7240_hues_mul mov ecx,L006BB1C8 mov [ebp-08h],ebx call SUB_L00455E10 push eax call SUB_L0049A7F0 mov esi,eax xor edi,edi add esp,00000008h cmp esi,edi jz L0044767C mov [ebp-04h],edi lea edi,[ebx+40h] L004475CD: test byte ptr [ebp-04h],07h jnz L004475E0 push 00000001h push 00000004h push esi call SUB_L0049B6B0 add esp,0000000Ch L004475E0: lea ebx,[edi-40h] mov dword ptr [ebp-0Ch],00000020h L004475EA: push esi push 00000001h push 00000002h push ebx call SUB_L0049A630 mov eax,[ebp-0Ch] add esp,00000010h add ebx,00000002h dec eax mov [ebp-0Ch],eax jnz L004475EA push esi push 00000001h push 00000002h push edi call SUB_L0049A630 add esp,00000010h lea ebx,[edi+02h] push esi push 00000001h push 00000002h push ebx call SUB_L0049A630 add esp,00000010h lea eax,[edi+04h] push esi push 00000001h push 00000014h push eax call SUB_L0049A630 add esp,00000010h lea eax,[edi-40h] mov ecx,00000020h L0044763C: cmp word ptr [edi],0000h jnz L00447648 cmp word ptr [ebx],0000h jz L00447653 L00447648: cmp word ptr [eax],0000h jnz L00447653 mov word ptr [eax],0001h L00447653: add eax,00000002h dec ecx jnz L0044763C mov eax,[ebp-04h] add edi,00000058h inc eax cmp eax,00000BB8h mov [ebp-04h],eax jl L004475CD push esi call SUB_L0049A580 mov ebx,[ebp-08h] add esp,00000004h xor edi,edi L0044767C: mov esi,ebx mov dword ptr [L0054918C],00000008h mov [L00549088],edi mov dword ptr [L0054908C],00000007h mov dword ptr [L00549090],0000000Eh mov dword ptr [L00549094],00000015h mov dword ptr [L00549098],0000001Ch mov dword ptr [L0054909C],00000023h mov dword ptr [L005490A0],0000002Bh mov dword ptr [L005490A4],00000032h mov ebx,00000BB8h L004476D9: mov eax,esi mov edx,00000020h L004476E0: mov cx,[eax] cmp cx,di jz L004476EF cmp cx,7FFFh jbe L004476F4 L004476EF: mov word ptr [eax],0001h L004476F4: add eax,00000002h dec edx jnz L004476E0 add esi,00000058h dec ebx jnz L004476D9 xor esi,esi L00447702: mov eax,[esi+L004DAFA8] cmp eax,edi jz L0044772C jge L00447712 neg eax jmp L00447720 L00447712: mov ecx,[ebp-08h] push eax call SUB_L00447740 and eax,0000FFFFh L00447720: mov [esi+L004C6830],eax mov [esi+L004DAFA8],edi L0044772C: add esi,00000004h cmp esi,0000001Ch jl L00447702 mov eax,[ebp-08h] pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 4 SUB_L00447740: push ebp mov ebp,esp sub esp,00000010h mov edx,[ebp+08h] push ebx push esi push edi mov eax,edx mov edi,edx sar eax,0Ah sar edi,05h and eax,0000001Fh and edi,0000001Fh and edx,0000001Fh mov dword ptr [ebp-04h],0004E200h mov dword ptr [ebp-08h],00000000h mov [ebp-0Ch],edi mov [ebp-10h],edx mov dword ptr [ebp+08h],00000001h lea ebx,[ecx+0000009Ah] jmp L00447785 L00447782: mov edi,[ebp-0Ch] L00447785: cmp word ptr [ebx-02h],0000h jnz L00447792 cmp word ptr [ebx],0000h jz L004477D8 L00447792: xor ecx,ecx mov cx,[ebx] mov esi,ecx mov edx,ecx shr esi,05h and esi,0000001Fh and ecx,0000001Fh shr edx,0Ah sub esi,edi and edx,0000001Fh mov edi,ecx mov ecx,[ebp-10h] sub edx,eax sub edi,ecx mov ecx,edx imul ecx,edx mov edx,esi imul edx,esi add ecx,edx mov edx,edi imul edx,edi add ecx,edx mov edx,[ebp-04h] cmp ecx,edx jge L004477D8 mov [ebp-04h],ecx mov ecx,[ebp+08h] mov [ebp-08h],ecx L004477D8: mov ecx,[ebp+08h] add ebx,00000058h inc ecx cmp ecx,000003E9h mov [ebp+08h],ecx jl L00447782 mov ax,[ebp-08h] pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00447800: push ebp mov ebp,esp push FFFFFFFFh push L004B3464 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push esi mov ebx,ecx push edi mov [ebp-10h],ebx call SUB_L00441CB0 mov eax,[ebp+08h] mov ecx,[ebp+0Ch] mov edx,[ebp+10h] mov dword ptr [ebx],L004BAAF8 mov [ebx+2Ch],eax lea eax,[ebx+20h] xor esi,esi mov [ebx+30h],ecx mov [ebx+50h],edx mov dword ptr [ebx+04h],SSZ004C724C_hue_gump lea edx,[ebx+1Ch] push eax mov ecx,00000906h mov [ebp-04h],esi mov [ebx+5Ch],esi mov [ebx+60h],esi mov [ebx+4Ch],esi mov [ebx+48h],esi mov [ebx+44h],esi mov [ebx+40h],esi mov [ebx+3Ch],esi call SUB_L004390A0 mov eax,00000022h mov ecx,00000005h mov [ebx+000000CCh],eax mov [ebx+000000D0h],eax mov eax,[ebp+1Ch] mov [ebx+000000ACh],esi mov [ebx+000000DCh],ax and eax,0000FFFFh sub eax,00000002h mov [ebx+000000B0h],esi cdq idiv ecx mov eax,[ebp+14h] mov [ebx+000000B8h],esi mov [ebx+000000B4h],esi mov [ebx+000000A8h],eax mov dword ptr [ebx+000000D4h],000000C1h mov dword ptr [ebx+000000D8h],00000071h mov byte ptr [ebx+000000BCh],00h mov [ebx+000000DEh],dx xor edx,edx cmp eax,esi mov esi,[ebp+18h] setz dl mov edi,esi or ecx,FFFFFFFFh xor eax,eax mov [ebx+000000A4h],edx repne scasb not ecx push ecx call SUB_L0049A820 mov edx,eax mov edi,esi or ecx,FFFFFFFFh xor eax,eax add esp,00000004h mov [ebx+000000C8h],edx repne scasb not ecx sub edi,ecx push SSZ004C4EF0_framedata_for_CDumbGump mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov dword ptr [ebx+10h],00000000h mov dword ptr [ebx+14h],00000001h push 00000008h mov ecx,L00669C8C call SUB_L0044FBD0 mov ecx,[ebx+14h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [ebx+38h],edi push SSZ004C4EE4_dumb_frame0 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[ebx+1Ch] imul eax,[ebx+20h] lea ecx,[eax+eax+04h] push ecx mov ecx,L00669C8C call SUB_L0044FBD0 mov edx,[ebx+38h] mov [edx+04h],eax mov ecx,[ebx+1Ch] imul ecx,[ebx+20h] mov edx,[ebx+38h] xor eax,eax shl ecx,1 mov edi,[edx+04h] mov edx,ecx add edi,00000004h shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[ebx+38h] mov dx,[ebx+1Ch] mov ecx,[eax+04h] mov [ecx],dx mov eax,[ebx+38h] mov dx,[ebx+20h] mov ecx,[eax+04h] mov [ecx+02h],dx mov eax,[ebx+38h] xor ecx,ecx xor edx,edx mov eax,[eax+04h] mov cx,[eax+02h] mov dx,[eax] push ecx add eax,00000004h push edx push eax push 00000000h push 00000000h mov edx,00000906h mov ecx,SUB_L00488700 call SUB_L00439100 mov ecx,ebx call SUB_L00448060 push 000000B4h call SUB_L0049A820 add esp,00000004h mov [ebp+08h],eax test eax,eax mov byte ptr [ebp-04h],01h jz L00447A27 push 00000845h push ebx push 000000BAh push 00000000h push 0000008Eh push 00000026h mov ecx,eax call SUB_L00412A50 jmp L00447A29 L00447A27: xor eax,eax L00447A29: mov [ebx+00000094h],eax mov word ptr [eax+000000ACh],0846h mov ecx,[ebx+00000094h] push 00000001h push ebx mov byte ptr [ebp-04h],00h call SUB_L004415C0 mov ecx,[ebx+00000094h] xor eax,eax mov ax,[ebx+000000DEh] push 00000004h push eax call SUB_L00412F50 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp+08h],eax test eax,eax mov byte ptr [ebp-04h],02h jz L00447A9C push 00000000h push L004102B0 push 00000000h push 00000002h push ebx push 0000009Eh push 00000027h push 0000008Eh push 0000001Ah mov ecx,eax call SUB_L00412450 jmp L00447A9E L00447A9C: xor eax,eax L00447A9E: push 00000001h push ebx mov ecx,eax mov byte ptr [ebp-04h],00h mov [ebx+00000098h],eax call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp+08h],eax test eax,eax mov byte ptr [ebp-04h],03h jz L00447AF3 push 00000000h push L004102F0 push 00000000h push 00000002h push ebx push 0000009Eh push 000000C5h push 0000008Eh push 000000B8h mov ecx,eax call SUB_L00412450 jmp L00447AF5 L00447AF3: xor eax,eax L00447AF5: push 00000001h push ebx mov ecx,eax mov byte ptr [ebp-04h],00h mov [ebx+0000009Ch],eax call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp+08h],eax test eax,eax mov byte ptr [ebp-04h],04h jz L00447B4A push 00000000h push 00000908h push 00000907h push L004068E0 push 00000000h push 00000000h push ebx push 0000008Ah push 000000D0h mov ecx,eax call SUB_L004122F0 jmp L00447B4C L00447B4A: xor eax,eax L00447B4C: push 00000001h push ebx mov ecx,eax mov byte ptr [ebp-04h],00h mov dword ptr [eax+000000A4h],00000909h call SUB_L004415C0 mov ecx,[ebp-0Ch] pop edi mov eax,ebx pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0018h ;------------------------------------------------------------------------------ Align 8 L00447B80: push ebp mov ebp,esp push esi mov esi,ecx call SUB_L00447F00 test byte ptr [ebp+08h],01h jz L00447B9A push esi call SUB_L0049A810 add esp,00000004h L00447B9A: mov eax,esi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00447BB0: push ebp mov ebp,esp push FFFFFFFFh push L004B34A4 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push esi mov esi,ecx push edi mov [ebp-10h],esi call SUB_L00441CB0 xor ebx,ebx mov dword ptr [esi],L004BAAF8 mov dword ptr [esi+04h],SSZ004C724C_hue_gump mov [esi+5Ch],ebx mov [esi+50h],ebx lea edi,[esi+20h] mov [esi+60h],ebx mov [esi+4Ch],ebx lea edx,[esi+1Ch] push edi mov ecx,00000906h mov [ebp-04h],ebx mov [esi+48h],ebx mov [esi+44h],ebx mov [esi+40h],ebx mov [esi+3Ch],ebx call SUB_L004390A0 mov eax,[L004C7F34] mov edx,[esi+1Ch] sub eax,edx mov ecx,[ebp+08h] cdq sub eax,edx mov edx,[edi] sar eax,1 mov [esi+2Ch],eax mov eax,[L004C7F38] sub eax,edx mov [esi+000000C0h],ecx cdq mov cx,[ebp+10h] sub eax,edx mov dx,[ebp+0Ch] mov [esi+000000C6h],cx sar eax,1 mov [esi+30h],eax mov eax,00000022h mov [esi+000000CCh],eax mov [esi+000000D0h],eax mov eax,00000001h push SSZ004C4EF0_framedata_for_CDumbGump push 00000008h mov ecx,L00669C8C mov dword ptr [esi+000000D4h],000000C1h mov dword ptr [esi+000000D8h],00000071h mov word ptr [esi+000000DCh],0003h mov [esi+000000DEh],ax mov [esi+000000A8h],ebx mov [esi+000000A4h],ebx mov [esi+000000ACh],eax mov [esi+000000B0h],eax mov [esi+000000B8h],ebx mov [esi+000000B4h],ebx mov [esi+000000C4h],dx mov [esi+000000C8h],ebx mov [esi+10h],ebx mov [esi+14h],eax call SUB_L0044FBD0 mov ecx,[esi+14h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+38h],edi push SSZ004C4EE4_dumb_frame0 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+1Ch] imul eax,[esi+20h] lea ecx,[eax+eax+04h] push ecx mov ecx,L00669C8C call SUB_L0044FBD0 mov edx,[esi+38h] mov [edx+04h],eax mov ecx,[esi+1Ch] imul ecx,[esi+20h] mov edx,[esi+38h] xor eax,eax shl ecx,1 mov edi,[edx+04h] mov edx,ecx add edi,00000004h shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+38h] mov dx,[esi+1Ch] mov ecx,[eax+04h] mov [ecx],dx mov eax,[esi+38h] mov dx,[esi+20h] mov ecx,[eax+04h] mov [ecx+02h],dx mov eax,[esi+38h] xor ecx,ecx xor edx,edx mov eax,[eax+04h] mov cx,[eax+02h] mov dx,[eax] push ecx add eax,00000004h push edx push eax push ebx push ebx mov edx,00000906h mov ecx,SUB_L00488700 call SUB_L00439100 mov ecx,esi call SUB_L00448060 push 000000B4h call SUB_L0049A820 add esp,00000004h mov [ebp+0Ch],eax cmp eax,ebx mov byte ptr [ebp-04h],01h jz L00447DAA push 00000845h push esi push 000000BAh push ebx push 0000008Eh push 00000026h mov ecx,eax call SUB_L00412A50 jmp L00447DAC L00447DAA: xor eax,eax L00447DAC: mov [esi+00000094h],eax mov word ptr [eax+000000ACh],0846h mov ecx,[esi+00000094h] push 00000001h push esi mov [ebp-04h],bl call SUB_L004415C0 mov ecx,[esi+00000094h] xor eax,eax mov ax,[esi+000000DEh] push 00000004h push eax call SUB_L00412F50 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp+0Ch],eax cmp eax,ebx mov byte ptr [ebp-04h],02h jz L00447E1C push ebx push L004102B0 push ebx push 00000002h push esi push 0000009Eh push 00000027h push 0000008Eh push 0000001Ah mov ecx,eax call SUB_L00412450 jmp L00447E1E L00447E1C: xor eax,eax L00447E1E: push 00000001h push esi mov ecx,eax mov [ebp-04h],bl mov [esi+00000098h],eax call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp+0Ch],eax cmp eax,ebx mov byte ptr [ebp-04h],03h jz L00447E70 push ebx push L004102F0 push ebx push 00000002h push esi push 0000009Eh push 000000C5h push 0000008Eh push 000000B8h mov ecx,eax call SUB_L00412450 jmp L00447E72 L00447E70: xor eax,eax L00447E72: push 00000001h push esi mov ecx,eax mov [ebp-04h],bl mov [esi+0000009Ch],eax call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp+0Ch],eax cmp eax,ebx mov byte ptr [ebp-04h],04h jz L00447EC3 push ebx push 00000908h push 00000907h push L004068E0 push ebx push ebx push esi push 0000008Ah push 000000D0h mov ecx,eax call SUB_L004122F0 jmp L00447EC5 L00447EC3: xor eax,eax L00447EC5: push 00000001h push esi mov ecx,eax mov [ebp-04h],bl mov dword ptr [eax+000000A4h],00000909h call SUB_L004415C0 mov ecx,[ebp-0Ch] mov eax,esi pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 16 SUB_L00447F00: push ebp mov ebp,esp push FFFFFFFFh push L004B34B8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000010h push ebx push esi mov esi,ecx mov [ebp-10h],esi mov dword ptr [esi],L004BAAF8 mov eax,[esi+000000B0h] xor ebx,ebx cmp eax,ebx mov [ebp-04h],ebx jz L00447F6B mov ax,[esi+000000DCh] mov cx,[esi+000000C4h] mov edx,[esi+000000C0h] push eax push ecx lea eax,[ebp-1Ch] push edx push eax mov ecx,L006BB1C0 call SUB_L00476120 lea ecx,[ebp-1Ch] push ecx mov ecx,[L006BB1CC] call SUB_L0048B170 L00447F6B: mov eax,[esi+000000B4h] cmp eax,ebx mov eax,[L00549210] jz L00447F9E cmp eax,ebx jnz L00447F9E mov eax,[L00669638] mov dx,[esi+000000DCh] mov [eax+000000C0h],dx mov ecx,[L00669638] call SUB_L004068F0 jmp L00447FEA L00447F9E: cmp [esi+000000B8h],ebx jz L00447FCB cmp eax,ebx jnz L00447FCB mov edx,[L00669638] mov cx,[esi+000000DCh] mov [edx+000000C2h],cx mov ecx,[L00669638] call SUB_L004068F0 jmp L00447FEA L00447FCB: cmp [esi+000000BCh],bl jz L00447FEA cmp eax,ebx jz L00447FDC or ecx,FFFFFFFFh jmp L00447FE5 L00447FDC: xor ecx,ecx mov cx,[esi+000000DCh] L00447FE5: call SUB_L004667D0 L00447FEA: mov eax,[esi+000000C8h] cmp eax,ebx jz L00447FFD push eax call SUB_L0049A810 add esp,00000004h L00447FFD: mov eax,[esi+38h] mov eax,[eax+04h] cmp eax,ebx jz L0044801D push SSZ004C7268_hue_frame0_pBMP push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov ecx,[esi+38h] mov [ecx+04h],ebx L0044801D: mov eax,[esi+38h] cmp eax,ebx jz L00448037 push SSZ004C7258_hue_framedata push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov [esi+38h],ebx L00448037: mov ecx,esi mov [L00549210],ebx mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00441D50 mov ecx,[ebp-0Ch] pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 SUB_L00448060: push ebp mov ebp,esp sub esp,0000002Ch push ebx push esi mov esi,ecx push edi mov ax,[esi+000000DEh] mov ebx,[esi+000000D0h] mov ecx,[esi+000000D8h] inc ax cmp ebx,ecx mov [ebp-14h],eax mov [ebp-04h],ebx jg L00448192 L0044808E: mov edi,[esi+000000CCh] mov ecx,[esi+000000D4h] cmp edi,ecx mov [ebp-08h],edi jg L0044817E L004480A5: and eax,0000FFFFh lea ecx,[eax+eax*4] lea edx,[eax+ecx*2] mov ax,[L006C1A68+edx*8] mov [ebp-10h],ax mov al,[L0073EC3C] test al,al jz L00448122 lea eax,[ebx+08h] mov [ebp-08h],ebx cmp ebx,eax jge L00448161 lea edx,[edi+08h] L004480D6: cmp edi,edx mov eax,edi jge L00448111 mov ecx,[ebp-10h] mov dl,cl mov ebx,ecx and edx,0000001Fh and ebx,0000FFE0h shl ebx,1 mov ecx,edx or ecx,ebx L004480F2: mov edx,[ebp-08h] mov ebx,[esi+38h] imul edx,[esi+1Ch] mov ebx,[ebx+04h] add edx,eax inc eax mov [ebx+edx*2+04h],cx lea edx,[edi+08h] cmp eax,edx jl L004480F2 mov ebx,[ebp-04h] L00448111: mov eax,[ebp-08h] inc eax mov [ebp-08h],eax lea eax,[ebx+08h] cmp [ebp-08h],eax jl L004480D6 jmp L00448161 L00448122: lea eax,[ebx+08h] mov ecx,ebx cmp ebx,eax jge L00448161 lea edx,[edi+08h] L0044812E: cmp edi,edx mov eax,edi jge L00448159 L00448134: mov edx,ecx mov edi,[esi+38h] imul edx,[esi+1Ch] mov edi,[edi+04h] mov bx,[ebp-10h] add edx,eax inc eax mov [edi+edx*2+04h],bx mov edi,[ebp-08h] lea edx,[edi+08h] cmp eax,edx jl L00448134 mov ebx,[ebp-04h] L00448159: inc ecx lea eax,[ebx+08h] cmp ecx,eax jl L0044812E L00448161: mov eax,[ebp-14h] mov ecx,[esi+000000D4h] add edi,00000008h add eax,00000005h cmp edi,ecx mov [ebp-14h],eax mov [ebp-08h],edi jle L004480A5 L0044817E: mov ecx,[esi+000000D8h] add ebx,00000008h cmp ebx,ecx mov [ebp-04h],ebx jle L0044808E L00448192: xor eax,eax mov ax,[esi+000000DCh] lea ecx,[eax-02h] mov eax,51EB851Fh imul ecx sar edx,05h mov eax,edx shr eax,1Fh add edx,eax mov eax,ecx shl edx,03h mov edi,edx mov ecx,00000064h cdq idiv ecx mov eax,66666667h mov ecx,[esi+000000CCh] imul edx sar edx,1 mov eax,edx shr eax,1Fh add edx,eax shl edx,03h lea ecx,[edx+ecx+03h] mov edx,[esi+000000D0h] mov eax,ecx lea edi,[edi+edx+03h] lea edx,[ecx+03h] cmp ecx,edx mov [ebp-04h],edi jge L0044820D L004481F1: inc edi mov ebx,[esi+38h] imul edi,[esi+1Ch] mov ebx,[ebx+04h] add edi,eax inc eax mov word ptr [ebx+edi*2+04h],7FFFh mov edi,[ebp-04h] cmp eax,edx jl L004481F1 L0044820D: lea edx,[edi+03h] inc ecx cmp edi,edx mov eax,edi jge L00448231 L00448217: mov edi,eax mov ebx,[esi+38h] imul edi,[esi+1Ch] mov ebx,[ebx+04h] add edi,ecx inc eax cmp eax,edx mov word ptr [ebx+edi*2+04h],7FFFh jl L00448217 L00448231: mov eax,[esi+000000A4h] mov dword ptr [ebp-2Ch],000000C8h test eax,eax mov dword ptr [ebp-28h],00000032h mov dword ptr [ebp-24h],000000FEh mov dword ptr [ebp-20h],00000064h jz L004482F0 mov ax,[esi+000000DCh] test ax,ax jz L004482B1 and eax,0000FFFFh xor ecx,ecx dec eax xor edx,edx mov [L0076735C],eax mov eax,[esi+38h] mov eax,[eax+04h] mov cx,[eax+02h] mov dx,[eax] push ecx mov ecx,[esi+000000D4h] add eax,00000004h push edx mov edx,[esi+50h] push eax mov eax,[esi+000000D0h] sub ecx,00000028h sub eax,00000046h push eax push ecx mov ecx,SUB_L004887E0 call SUB_L00439100 pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L004482B1: mov edx,[esi+38h] xor ecx,ecx mov eax,[edx+04h] xor edx,edx mov cx,[eax+02h] mov dx,[eax] push ecx mov ecx,[esi+000000D4h] add eax,00000004h push edx mov edx,[esi+50h] push eax mov eax,[esi+000000D0h] sub ecx,00000028h sub eax,00000046h push eax push ecx mov ecx,SUB_L00488700 call SUB_L00439100 pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L004482F0: mov eax,[esi+000000A8h] test eax,eax jz L00448376 lea edx,[ebp-1Ch] push 00000000h lea eax,[ebp-0Ch] push edx mov edx,[esi+000000C8h] lea ecx,[ebp-18h] push eax push ecx push 00000036h push edx push 00000003h mov ecx,L00669CC8 call SUB_L00437B40 mov edx,[esi+38h] mov ecx,[esi+1Ch] push 00000000h lea eax,[ebp-2Ch] push 00000000h push eax mov eax,[edx+04h] mov edx,[ebp-24h] push ecx mov ecx,[ebp-2Ch] add eax,00000004h sub edx,ecx push eax mov eax,[esi+000000C8h] push edx xor edx,edx mov dx,[esi+000000DCh] mov esi,[ebp-28h] push eax mov eax,[ebp-20h] push edx mov edx,[ebp-0Ch] sub eax,edx push 00000003h sub eax,esi cdq sub eax,edx sar eax,1 add eax,esi push eax push ecx mov ecx,L00669CC8 call SUB_L004372C0 pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00448376: mov eax,[esi+000000ACh] test eax,eax jz L004485D9 mov al,[L0073EC3C] test al,al jz L004484DD xor eax,eax mov ecx,L006A9DB8 mov ax,[esi+000000C6h] add eax,00004000h push eax call SUB_L004882D0 mov ebx,eax test ebx,ebx jnz L004483C9 push 00004000h mov ecx,L006A9DB8 call SUB_L004882D0 mov ebx,eax test ebx,ebx jz L004485D9 L004483C9: mov ecx,[esi+20h] imul ecx,[esi+1Ch] shl ecx,1 push ecx call SUB_L0049A820 mov ecx,[esi+20h] mov edi,eax imul ecx,[esi+1Ch] shl ecx,1 mov edx,ecx xor eax,eax shr ecx,02h mov [ebp-08h],edi add esp,00000004h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov edx,[esi+1Ch] mov ecx,[ebp-08h] call SUB_L00488A00 mov eax,[esi+1Ch] mov edx,[esi+000000D4h] xor ecx,ecx xor edi,edi mov cx,[ebx+04h] sub eax,ecx mov [ebp-18h],ecx mov di,[ebx+06h] sub eax,edx cdq sub eax,edx mov [ebp-0Ch],edi mov ecx,eax mov eax,edi cdq sub eax,edx mov edi,eax mov eax,[esi+20h] cdq sub eax,edx xor edx,edx mov dx,[esi+000000DCh] sar edi,1 sar eax,1 sar ecx,1 add cx,[esi+000000D4h] sub eax,edi and eax,0000FFFFh dec edx push eax and ecx,0000FFFFh lea eax,[ebp-2Ch] mov [L0076735C],edx push ecx push eax mov edx,ebx mov ecx,L004883B0 call SUB_L00488A10 mov ecx,[esi+38h] mov eax,[esi+20h] mov edi,[ebp-08h] mov dword ptr [ebp-14h],00000000h mov ecx,[ecx+04h] add ecx,00000004h test eax,eax jle L004484CA L0044848B: mov eax,[esi+1Ch] xor edx,edx test eax,eax jle L004484BC L00448494: mov ax,[edi] test ax,ax jz L004484AE mov ebx,eax and eax,0000001Fh and ebx,0000FFE0h shl ebx,1 or ebx,eax mov [ecx],bx L004484AE: mov eax,[esi+1Ch] add edi,00000002h add ecx,00000002h inc edx cmp edx,eax jl L00448494 L004484BC: mov eax,[ebp-14h] mov edx,[esi+20h] inc eax cmp eax,edx mov [ebp-14h],eax jl L0044848B L004484CA: mov edx,[ebp-08h] push edx call SUB_L0049A810 add esp,00000004h pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L004484DD: mov eax,[esi+38h] mov edx,[esi+1Ch] mov ecx,[eax+04h] add ecx,00000004h call SUB_L00488A00 xor ecx,ecx mov cx,[esi+000000C6h] add ecx,00004000h push ecx mov ecx,L006A9DB8 call SUB_L004882D0 mov ebx,eax test ebx,ebx jnz L00448527 push 00004000h mov ecx,L006A9DB8 call SUB_L004882D0 mov ebx,eax test ebx,ebx jz L004485D9 L00448527: xor ecx,ecx mov edx,[esi+000000D4h] mov cx,[ebx+04h] xor eax,eax mov [ebp-18h],ecx mov ax,[ebx+06h] mov [ebp-0Ch],eax mov eax,[esi+1Ch] sub eax,ecx sub eax,edx cdq sub eax,edx mov ecx,eax mov eax,[esi+20h] cdq sub eax,edx mov edi,eax mov eax,[ebp-0Ch] cdq sar ecx,1 add cx,[esi+000000D4h] sub eax,edx xor edx,edx mov dx,[esi+000000DCh] sub ecx,0000000Ah sar edi,1 sar eax,1 sub edi,eax dec edx xor eax,eax mov [L0076735C],edx mov ax,[esi+000000C6h] mov edx,[L006A9D98] lea eax,[eax+eax*4] test dword ptr [edx+eax*8],00040000h jz L004485BB and edi,0000FFFFh and ecx,0000FFFFh push edi lea eax,[ebp-2Ch] push ecx push eax mov edx,ebx mov ecx,L004884A0 call SUB_L00488A10 pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L004485BB: and edi,0000FFFFh and ecx,0000FFFFh push edi push ecx lea ecx,[ebp-2Ch] mov edx,ebx push ecx mov ecx,L004883B0 call SUB_L00488A10 L004485D9: pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L004485E0: push ebp mov ebp,esp sub esp,00000018h push ebx mov ebx,ecx xor eax,eax push esi mov ecx,[ebx+68h] push edi cmp ecx,eax jz L00448697 mov [ebp-08h],eax mov [ebp-04h],eax lea eax,[ebp-04h] lea ecx,[ebp-08h] push eax push ecx mov ecx,ebx call SUB_L00440C60 mov edx,[ebx+38h] mov eax,[ebp-08h] mov ecx,[ebp-04h] mov edi,[ebp+08h] mov esi,[edx+04h] xor edx,edx mov [ebp-18h],eax mov [ebp-14h],ecx mov dx,[esi] add eax,edx mov [ebp-10h],eax xor eax,eax mov ax,[esi+02h] add ecx,eax mov [ebp-0Ch],ecx lea ecx,[ebp-18h] push ecx push edi mov ecx,L00669608 call SUB_L00440D40 test eax,eax jz L00448681 mov edx,[L004C7F38] mov eax,[L004C7F34] mov ecx,[L006BAE7C] push edx mov edx,[ebp-04h] push eax mov eax,[ebp-08h] push ecx push edx xor ecx,ecx mov cx,[esi+02h] xor edx,edx mov dx,[esi] push eax push ecx push edx push edi lea edx,[esi+04h] mov ecx,SUB_L00488700 call SUB_L00439500 L00448681: mov esi,[ebx+4Ch] test esi,esi jz L00448697 L00448688: mov eax,[esi] push edi mov ecx,esi call [eax+0Ch] mov esi,[esi+40h] test esi,esi jnz L00448688 L00448697: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L004486A0: push ebp mov ebp,esp mov dword ptr [L006A9DD4],00000000h mov eax,[ecx+000000B0h] test eax,eax jnz L004486CB test ecx,ecx mov dword ptr [L00549210],00000001h jz L004486CB mov eax,[ecx] push 00000001h call [eax] L004486CB: pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 4 L004486D0: push ebp mov ebp,esp push esi push edi mov esi,ecx push 00000000h call SUB_L00441340 mov ecx,[ebp+08h] mov edi,[esi+000000CCh] mov eax,[ebp+0Ch] cmp ecx,edi mov dword ptr [esi+000000A0h],00000001h mov [esi+6Ch],ecx mov [esi+70h],eax jl L00448767 cmp ecx,[esi+000000D4h] jg L00448767 mov edx,[esi+000000D0h] cmp eax,edx jl L00448767 cmp eax,[esi+000000D8h] jg L00448767 sub eax,edx cdq and edx,00000007h add eax,edx sar eax,03h lea edx,[eax+eax*4] mov eax,ecx sub eax,edi mov [ebp+08h],edx mov ecx,[ebp+08h] cdq and edx,00000007h add eax,edx sar eax,03h lea eax,[eax+ecx*4] mov ecx,esi lea edx,[eax+eax*4] add dx,[esi+000000DEh] add edx,00000002h mov [esi+000000DCh],dx call SUB_L00448060 mov dword ptr [L00549180],00000001h pop edi pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ L00448767: push 00000011h mov ecx,L006A9DC0 mov dword ptr [L00549180],00000000h call SUB_L00450120 pop edi pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 L00448790: push ebp mov ebp,esp xor eax,eax mov [ecx+000000A0h],eax mov [L006A9DD4],eax pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 L004487B0: push ebp mov ebp,esp push ebx push esi mov esi,ecx push edi mov eax,[esi+000000A0h] test eax,eax jz L00448864 mov eax,[L00549180] test eax,eax jnz L00448801 push 00000011h mov ecx,L006A9DC0 call SUB_L00450120 mov eax,[ebp+0Ch] mov ebx,[esi+70h] mov ecx,[ebp+08h] mov edx,[esi+6Ch] push 00000001h push 00000000h sub eax,ebx push 00000001h sub ecx,edx push eax push ecx mov ecx,esi call SUB_L00440850 pop edi pop esi pop ebx pop ebp retn 0008h ;------------------------------------------------------------------------------ L00448801: mov edi,[esi+000000CCh] mov ebx,[ebp+08h] cmp ebx,edi jl L00448864 cmp ebx,[esi+000000D4h] jg L00448864 mov ecx,[esi+000000D0h] mov eax,[ebp+0Ch] cmp eax,ecx jl L00448864 cmp eax,[esi+000000D8h] jg L00448864 sub eax,ecx cdq and edx,00000007h add eax,edx sar eax,03h lea ecx,[eax+eax*4] mov eax,ebx sub eax,edi cdq and edx,00000007h add eax,edx sar eax,03h lea eax,[eax+ecx*4] mov ecx,esi lea edx,[eax+eax*4] add dx,[esi+000000DEh] add edx,00000002h mov [esi+000000DCh],dx call SUB_L00448060 L00448864: pop edi pop esi pop ebx pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 8 L00448870: push ebp mov ebp,esp mov eax,[ebp+10h] mov edx,[ecx+00000094h] cmp eax,edx jnz L004488AB mov eax,[ebp+08h] mov dx,[ecx+000000DEh] sub [ecx+000000DCh],dx shl eax,02h cdq idiv [ebp+0Ch] add [ecx+000000DCh],ax mov [ecx+000000DEh],ax call SUB_L00448060 L004488AB: pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 4 SUB_L004488B0: push ebp mov ebp,esp push ecx push ebx mov ebx,ecx push esi push edi mov al,[ebx] cmp al,23h jnz L00448A04 movsx eax,[ebx+01h] push eax call SUB_L0049AD20 add esp,00000004h cmp al,30h jl L004488E0 cmp al,39h jg L004488E0 movsx esi,al sub esi,00000030h jmp L004488F2 L004488E0: cmp al,61h jl L004488F0 cmp al,66h jg L004488F0 movsx esi,al sub esi,00000057h jmp L004488F2 L004488F0: xor esi,esi L004488F2: movsx ecx,[ebx+02h] push ecx call SUB_L0049AD20 add esp,00000004h cmp al,30h jl L0044890F cmp al,39h jg L0044890F movsx eax,al sub eax,00000030h jmp L00448921 L0044890F: cmp al,61h jl L0044891F cmp al,66h jg L0044891F movsx eax,al sub eax,00000057h jmp L00448921 L0044891F: xor eax,eax L00448921: movsx edx,[ebx+03h] shl esi,04h add esi,eax push edx mov [ebp-04h],esi call SUB_L0049AD20 add esp,00000004h cmp al,30h jl L00448946 cmp al,39h jg L00448946 movsx esi,al sub esi,00000030h jmp L00448958 L00448946: cmp al,61h jl L00448956 cmp al,66h jg L00448956 movsx esi,al sub esi,00000057h jmp L00448958 L00448956: xor esi,esi L00448958: movsx eax,[ebx+04h] push eax call SUB_L0049AD20 add esp,00000004h cmp al,30h jl L00448975 cmp al,39h jg L00448975 movsx eax,al sub eax,00000030h jmp L00448987 L00448975: cmp al,61h jl L00448985 cmp al,66h jg L00448985 movsx eax,al sub eax,00000057h jmp L00448987 L00448985: xor eax,eax L00448987: movsx ecx,[ebx+05h] shl esi,04h push ecx add esi,eax call SUB_L0049AD20 add esp,00000004h cmp al,30h jl L004489A9 cmp al,39h jg L004489A9 movsx edi,al sub edi,00000030h jmp L004489BB L004489A9: cmp al,61h jl L004489B9 cmp al,66h jg L004489B9 movsx edi,al sub edi,00000057h jmp L004489BB L004489B9: xor edi,edi L004489BB: movsx edx,[ebx+06h] push edx call SUB_L0049AD20 add esp,00000004h cmp al,30h jl L004489E0 cmp al,39h jg L004489E0 mov ecx,[ebp-04h] movsx eax,al sub eax,00000030h shl edi,04h add edi,eax jmp L00448A35 L004489E0: cmp al,61h jl L004489F8 cmp al,66h jg L004489F8 mov ecx,[ebp-04h] movsx eax,al sub eax,00000057h shl edi,04h add edi,eax jmp L00448A35 L004489F8: mov ecx,[ebp-04h] xor eax,eax shl edi,04h add edi,eax jmp L00448A35 L00448A04: cmp al,2Dh push ebx jnz L00448A18 call SUB_L0049BB10 add esp,00000004h pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00448A18: call SUB_L0049BB10 xor edx,edx add esp,00000004h mov [ebp-04h],eax xor ecx,ecx mov cl,[ebp-02h] mov dl,ah and eax,000000FFh mov esi,edx mov edi,eax L00448A35: mov eax,ecx and esi,FFFFFFF8h and al,F8h shl eax,05h or eax,esi shl eax,02h shr edi,03h or eax,edi pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ SUB_L00448A50: push ebp mov ebp,esp push FFFFFFFFh push L004B34DB mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi push edi mov esi,ecx xor edi,edi push 00000404h mov [esi+04h],edi mov [esi+08h],edi mov [esi+0Ch],edi mov [esi+10h],edi mov [esi+14h],edi mov [esi+18h],edi mov [esi+1Ch],edi mov dword ptr [esi],00000040h call SUB_L0049A820 add esp,00000004h mov [ebp-10h],eax cmp eax,edi mov [ebp-04h],edi jz L00448ABE push L004496E0 push L004496C0 lea edi,[eax+04h] push 00000040h push 00000010h push edi mov dword ptr [eax],00000040h call SUB_L0049AFF0 L00448ABE: mov eax,[ebp+08h] mov ecx,[ebp-0Ch] mov [esi+18h],edi mov [esi+08h],eax mov [esi+0Ch],eax mov eax,esi pop edi mov fs:[00000000h],ecx pop esi mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L00448AE0: push ebx push esi mov esi,ecx mov eax,[esi+04h] push eax call SUB_L0049A810 mov eax,[esi+18h] xor ebx,ebx add esp,00000004h cmp eax,ebx jz L00448B18 mov ecx,[eax-04h] push edi lea edi,[eax-04h] push L004496E0 push ecx push 00000010h push eax call SUB_L0049AEB0 push edi call SUB_L0049A810 add esp,00000004h pop edi L00448B18: mov [esi],ebx mov [esi+04h],ebx mov [esi+08h],ebx mov [esi+0Ch],ebx mov [esi+10h],ebx mov [esi+14h],ebx mov [esi+18h],ebx mov [esi+1Ch],ebx pop esi pop ebx retn ;------------------------------------------------------------------------------ Align 16 SUB_L00448B40: push ebp mov ebp,esp push ebx push esi mov esi,ecx push edi mov eax,[esi+04h] push eax call SUB_L0049A810 mov ebx,[ebp+08h] or ecx,FFFFFFFFh mov edi,ebx xor eax,eax add esp,00000004h mov dword ptr [esi+04h],00000000h repne scasb not ecx push ecx call SUB_L0049A820 mov edx,eax mov edi,ebx or ecx,FFFFFFFFh xor eax,eax add esp,00000004h mov [esi+04h],edx repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L00448BA0: push ebp mov ebp,esp sub esp,00000418h push ebx mov edx,ecx push esi push edi or ecx,FFFFFFFFh mov edi,SSZ004C72AC_File_ xor eax,eax lea ebx,[ebp-00000418h] repne scasb not ecx sub edi,ecx mov byte ptr [ebp-00000418h],00h mov esi,edi mov edi,ebx mov ebx,ecx or ecx,FFFFFFFFh repne scasb mov ecx,ebx dec edi shr ecx,02h rep movsd mov ecx,ebx lea ebx,[ebp-00000418h] and ecx,00000003h mov [ebp-08h],edx rep movsb mov edi,[edx+04h] or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov esi,edi mov edi,ebx mov ebx,ecx or ecx,FFFFFFFFh repne scasb mov ecx,ebx dec edi shr ecx,02h rep movsd mov ecx,ebx lea ebx,[ebp-00000418h] and ecx,00000003h rep movsb mov edi,SSZ004C72A4___Path_ or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov esi,edi mov edi,ebx mov ebx,ecx or ecx,FFFFFFFFh repne scasb mov ecx,ebx dec edi shr ecx,02h rep movsd mov eax,[edx+1Ch] mov ecx,ebx and ecx,00000003h test eax,eax rep movsb jle L00448CBC mov edx,[edx+18h] mov [ebp-04h],eax add edx,00000008h L00448C52: mov edi,L004C72A0 or ecx,FFFFFFFFh xor eax,eax lea ebx,[ebp-00000418h] repne scasb not ecx sub edi,ecx mov esi,edi mov edi,ebx mov ebx,ecx or ecx,FFFFFFFFh repne scasb mov ecx,ebx dec edi shr ecx,02h rep movsd mov ecx,ebx lea ebx,[ebp-00000418h] and ecx,00000003h rep movsb mov edi,edx or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx add edx,00000010h mov esi,edi mov edi,ebx mov ebx,ecx or ecx,FFFFFFFFh repne scasb mov ecx,ebx dec edi shr ecx,02h rep movsd mov eax,[ebp-04h] mov ecx,ebx and ecx,00000003h dec eax rep movsb mov [ebp-04h],eax jnz L00448C52 mov edx,[ebp-08h] L00448CBC: or ecx,FFFFFFFFh mov edi,L004C4118 xor eax,eax lea ebx,[ebp-00000418h] repne scasb not ecx sub edi,ecx mov esi,edi mov edi,ebx mov ebx,ecx or ecx,FFFFFFFFh repne scasb mov ecx,ebx dec edi shr ecx,02h rep movsd mov ecx,ebx lea ebx,[ebp-00000418h] and ecx,00000003h rep movsb mov edi,[ebp+0Ch] or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov esi,edi mov edi,ebx mov ebx,ecx or ecx,FFFFFFFFh repne scasb mov ecx,ebx dec edi shr ecx,02h rep movsd mov eax,[edx+0Ch] mov ecx,ebx and ecx,00000003h lea ebx,[ebp-00000418h] rep movsb movsx edx,[eax] xor ecx,ecx mov edi,SSZ004C7284__Tag_at_current_position___ mov cl,[eax+01h] shl edx,08h add edx,ecx xor ecx,ecx mov cl,[eax+02h] shl edx,08h add edx,ecx xor ecx,ecx mov cl,[eax+03h] xor eax,eax shl edx,08h add edx,ecx or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov [ebp+0Ch],edx mov esi,edi mov edi,ebx mov ebx,ecx or ecx,FFFFFFFFh repne scasb mov ecx,ebx dec edi shr ecx,02h rep movsd mov ecx,ebx mov eax,edx and ecx,00000003h and eax,000000FFh rep movsb xor ecx,ecx push eax mov cl,dh xor edx,edx mov dl,[ebp+0Eh] push ecx push edx xor eax,eax mov al,[ebp+0Fh] lea ecx,[ebp-18h] push eax push SSZ004C7278___c_c_c_c__ push ecx call SUB_L0049AC80 lea edi,[ebp-18h] or ecx,FFFFFFFFh xor eax,eax add esp,00000018h repne scasb not ecx sub edi,ecx lea edx,[ebp-00000418h] mov esi,edi mov ebx,ecx mov edi,edx or ecx,FFFFFFFFh repne scasb mov ecx,ebx dec edi shr ecx,02h rep movsd mov eax,[ebp+10h] mov edx,[ebp+08h] mov ecx,ebx and eax,000000FFh and ecx,00000003h push eax rep movsb lea ecx,[ebp-00000418h] call SUB_L0049A0A0 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 16 SUB_L00448DF0: mov ecx,[ecx+0Ch] xor edx,edx movsx eax,[ecx] mov dl,[ecx+01h] shl eax,08h add eax,edx xor edx,edx mov dl,[ecx+02h] shl eax,08h add eax,edx xor edx,edx mov dl,[ecx+03h] shl eax,08h add eax,edx retn ;------------------------------------------------------------------------------ Align 16 SUB_L00448E20: push ebp mov ebp,esp mov eax,[ecx+0Ch] push ebx push esi cmp byte ptr [eax],46h jnz L00448E82 cmp byte ptr [eax+01h],4Fh jnz L00448E82 cmp byte ptr [eax+02h],52h jnz L00448E82 cmp byte ptr [eax+03h],4Dh jnz L00448E82 mov ecx,[ebp+08h] test ecx,ecx jz L00448E7A movsx esi,[eax+08h] xor edx,edx mov dl,[ebp+0Bh] cmp esi,edx jnz L00448E82 movsx edx,[eax+09h] xor ebx,ebx mov bl,[ebp+0Ah] cmp edx,ebx jnz L00448E82 movsx edx,[eax+0Ah] xor ebx,ebx mov bl,ch cmp edx,ebx jnz L00448E82 movsx eax,[eax+0Bh] and ecx,000000FFh cmp eax,ecx jnz L00448E82 L00448E7A: mov al,01h pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ L00448E82: pop esi xor al,al pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 8 SUB_L00448E90: push ebp mov ebp,esp mov edx,[ebp+08h] xor al,al test edx,edx jz L00448EE0 mov eax,[ecx+0Ch] push esi xor ecx,ecx push ebx movsx esi,[eax] mov cl,[ebp+0Bh] cmp esi,ecx jnz L00448EDC movsx ecx,[eax+01h] xor ebx,ebx mov bl,[ebp+0Ah] cmp ecx,ebx jnz L00448EDC movsx ecx,[eax+02h] xor ebx,ebx mov bl,dh cmp ecx,ebx jnz L00448EDC movsx eax,[eax+03h] and edx,000000FFh cmp eax,edx jnz L00448EDC pop ebx mov al,01h pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ L00448EDC: pop ebx xor al,al pop esi L00448EE0: pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00448EF0: push ebp mov ebp,esp push FFFFFFFFh push L004B34FB mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000204h push ebx push esi mov esi,ecx xor bl,bl push edi mov [ebp-0Dh],bl mov eax,[esi+0Ch] mov cl,[eax] cmp cl,46h mov ecx,[ebp+08h] jnz L00448F83 cmp byte ptr [eax+01h],4Fh jnz L00448F83 cmp byte ptr [eax+02h],52h jnz L00448F83 cmp byte ptr [eax+03h],4Dh jnz L00448F83 test ecx,ecx jz L00448F7F movsx edi,[eax+08h] xor edx,edx mov dl,[ebp+0Bh] cmp edi,edx jnz L00448F78 movsx edx,[eax+09h] xor ebx,ebx mov bl,[ebp+0Ah] cmp edx,ebx jnz L00448F78 movsx edx,[eax+0Ah] xor ebx,ebx mov bl,ch cmp edx,ebx jnz L00448F78 movsx eax,[eax+0Bh] mov edx,ecx and edx,000000FFh cmp eax,edx jnz L00448F78 mov bl,[ebp-0Dh] mov al,01h jmp L00448F85 L00448F78: mov bl,[ebp-0Dh] xor al,al jmp L00448F85 L00448F7F: mov al,01h jmp L00448F85 L00448F83: xor al,al L00448F85: test al,al jz L0044909F cmp dword ptr [esi+1Ch],00000040h jl L00448FF7 mov eax,[esi] shl eax,1 mov [esi],eax mov eax,[esi+18h] test eax,eax jz L00448FBD mov ecx,[eax-04h] lea edi,[eax-04h] push L004496E0 push ecx push 00000010h push eax call SUB_L0049AEB0 push edi call SUB_L0049A810 add esp,00000004h L00448FBD: mov edi,[esi] mov edx,edi shl edx,04h add edx,00000004h push edx call SUB_L0049A820 add esp,00000004h mov [ebp+08h],eax xor ebx,ebx cmp eax,ebx mov [ebp-04h],ebx jz L00448FF4 push L004496E0 push L004496C0 lea ebx,[eax+04h] push edi push 00000010h push ebx mov [eax],edi call SUB_L0049AFF0 L00448FF4: mov [esi+18h],ebx L00448FF7: mov eax,[esi+1Ch] mov ecx,[esi+18h] mov edx,[esi+0Ch] mov bl,01h shl eax,04h mov [eax+ecx],edx mov edi,[esi+0Ch] add edi,00000004h xor edx,edx mov ecx,edi mov [esi+0Ch],edi movsx eax,[ecx] mov dl,[ecx+01h] add ecx,00000008h shl eax,18h shl edx,10h add eax,edx xor edx,edx mov dl,[ecx-06h] shl edx,08h add eax,edx xor edx,edx mov dl,[ecx-05h] mov [esi+0Ch],ecx mov ecx,[esi+1Ch] add eax,edx mov edx,[esi+18h] mov [esi+10h],eax shl ecx,04h mov [ecx+edx+04h],eax mov eax,[esi+0Ch] mov ecx,[esi+1Ch] mov edx,[esi+18h] mov al,[eax-04h] shl ecx,04h mov [ecx+edx+08h],al mov ecx,[esi+0Ch] mov edx,[esi+1Ch] mov eax,[esi+18h] mov cl,[ecx-03h] shl edx,04h mov [edx+eax+09h],cl mov edx,[esi+0Ch] mov eax,[esi+1Ch] mov ecx,[esi+18h] mov dl,[edx-02h] shl eax,04h mov [eax+ecx+0Ah],dl mov eax,[esi+0Ch] mov ecx,[esi+1Ch] mov edx,[esi+18h] mov al,[eax-01h] shl ecx,04h mov [ecx+edx+0Bh],al mov eax,[esi+1Ch] inc eax mov [esi+1Ch],eax jmp L004490E2 L0044909F: mov edx,ecx xor eax,eax and edx,000000FFh mov al,ch push edx xor ecx,ecx mov cl,[ebp+0Ah] xor edx,edx mov dl,[ebp+0Bh] push eax push ecx push edx lea eax,[ebp-00000210h] push SSZ004C72D8_Cannot_enter_FORM___c_c_c_c_ push eax call SUB_L0049AC80 add esp,00000018h lea ecx,[ebp-00000210h] push 00000001h push ecx push SSZ004C72B4_bool_Iff__enterForm__IffTag_tag_ mov ecx,esi call SUB_L00448BA0 L004490E2: mov ecx,[ebp-0Ch] pop edi mov al,bl pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00449100: push ebp mov ebp,esp push FFFFFFFFh push L004B351B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000200h mov eax,[ebp+08h] push ebx push esi mov esi,ecx xor bl,bl xor cl,cl test eax,eax push edi jz L0044916C mov edi,[esi+0Ch] xor ecx,ecx mov cl,[ebp+0Bh] movsx edx,[edi] cmp edx,ecx jnz L0044916A movsx ecx,[edi+01h] xor edx,edx mov dl,[ebp+0Ah] cmp ecx,edx jnz L0044916A movsx ecx,[edi+02h] xor edx,edx mov dl,ah cmp ecx,edx jnz L0044916A movsx ecx,[edi+03h] mov edx,eax and edx,000000FFh cmp ecx,edx jnz L0044916A mov cl,01h jmp L0044916C L0044916A: xor cl,cl L0044916C: test cl,cl jz L00449286 cmp dword ptr [esi+1Ch],00000040h jl L004491DE mov eax,[esi] shl eax,1 mov [esi],eax mov eax,[esi+18h] test eax,eax jz L004491A4 mov ecx,[eax-04h] lea edi,[eax-04h] push L004496E0 push ecx push 00000010h push eax call SUB_L0049AEB0 push edi call SUB_L0049A810 add esp,00000004h L004491A4: mov edi,[esi] mov edx,edi shl edx,04h add edx,00000004h push edx call SUB_L0049A820 add esp,00000004h mov [ebp+08h],eax xor ebx,ebx cmp eax,ebx mov [ebp-04h],ebx jz L004491DB push L004496E0 push L004496C0 lea ebx,[eax+04h] push edi push 00000010h push ebx mov [eax],edi call SUB_L0049AFF0 L004491DB: mov [esi+18h],ebx L004491DE: mov eax,[esi+1Ch] mov ecx,[esi+18h] mov edx,[esi+0Ch] mov bl,01h shl eax,04h mov [eax+ecx],edx mov edi,[esi+0Ch] add edi,00000004h xor edx,edx mov ecx,edi mov [esi+0Ch],edi movsx eax,[ecx] mov dl,[ecx+01h] add ecx,00000004h shl eax,18h shl edx,10h add eax,edx xor edx,edx mov dl,[ecx-02h] shl edx,08h add eax,edx xor edx,edx mov dl,[ecx-01h] mov [esi+0Ch],ecx mov ecx,[esi+1Ch] add eax,edx mov edx,[esi+18h] mov [esi+14h],eax shl ecx,04h mov [ecx+edx+04h],eax mov eax,[esi+0Ch] mov ecx,[esi+1Ch] mov edx,[esi+18h] mov al,[eax-08h] shl ecx,04h mov [ecx+edx+08h],al mov ecx,[esi+0Ch] mov edx,[esi+1Ch] mov eax,[esi+18h] mov cl,[ecx-07h] shl edx,04h mov [edx+eax+09h],cl mov edx,[esi+0Ch] mov eax,[esi+1Ch] mov ecx,[esi+18h] mov dl,[edx-06h] shl eax,04h mov [eax+ecx+0Ah],dl mov eax,[esi+0Ch] mov ecx,[esi+1Ch] mov edx,[esi+18h] mov al,[eax-05h] shl ecx,04h mov [ecx+edx+0Bh],al mov eax,[esi+1Ch] inc eax mov [esi+1Ch],eax jmp L004492C9 L00449286: mov ecx,eax xor edx,edx and ecx,000000FFh mov dl,ah push ecx xor eax,eax mov al,[ebp+0Ah] xor ecx,ecx mov cl,[ebp+0Bh] push edx push eax push ecx lea edx,[ebp-0000020Ch] push SSZ004C731C_Cannot_enter_CHUNK___c_c_c_c_ push edx call SUB_L0049AC80 add esp,00000018h lea eax,[ebp-0000020Ch] mov ecx,esi push 00000001h push eax push SSZ004C72F8_bool_Iff__enterChunk__IffTag_tag call SUB_L00448BA0 L004492C9: mov ecx,[ebp-0Ch] pop edi mov al,bl pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L004492E0: push ebp mov ebp,esp sub esp,00000200h push ebx push esi mov esi,ecx xor bl,bl mov eax,[esi+1Ch] test eax,eax jle L0044936D mov ecx,[ebp+0Ch] mov ebx,00000001h cmp ecx,ebx jnz L0044932F mov ecx,[esi+18h] shl eax,04h add eax,ecx mov ecx,[esi+0Ch] mov edx,[eax-10h] mov eax,[eax-0Ch] sub edx,ecx lea eax,[edx+eax+08h] test eax,eax jz L0044932F push ebx push SSZ004C73AC_extra_data_in_CHUNK push SSZ004C7388_bool_Iff__exitChunk__IffTag_tag_ mov ecx,esi call SUB_L00448BA0 L0044932F: mov edx,[esi+1Ch] mov ecx,[esi+18h] dec edx mov eax,edx mov [esi+1Ch],edx shl eax,04h add eax,ecx mov ecx,[eax] mov [esi+0Ch],ecx mov edx,[eax+04h] lea ecx,[ecx+edx+08h] mov [esi+0Ch],ecx mov eax,[eax+04h] cdq xor eax,edx sub eax,edx and eax,ebx xor eax,edx sub eax,edx jz L004493CD inc ecx mov al,bl mov [esi+0Ch],ecx pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L0044936D: mov eax,[ebp+08h] test eax,eax jz L004493A4 mov ecx,eax xor edx,edx and ecx,000000FFh mov dl,ah push ecx xor eax,eax mov al,[ebp+0Ah] xor ecx,ecx mov cl,[ebp+0Bh] push edx push eax push ecx lea edx,[ebp-00000200h] push SSZ004C735C_depth____0__Cannot_exit_CHUNK___ push edx call SUB_L0049AC80 add esp,00000018h jmp L004493B8 L004493A4: lea eax,[ebp-00000200h] push SSZ004C733C_depth____0__Cannot_exit_CHUNK push eax call SUB_L0049AC80 add esp,00000008h L004493B8: lea ecx,[ebp-00000200h] push 00000001h push ecx push SSZ004C7388_bool_Iff__exitChunk__IffTag_tag_ mov ecx,esi call SUB_L00448BA0 L004493CD: mov al,bl pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L004493E0: push ebp mov ebp,esp sub esp,00000200h push ebx push esi mov esi,ecx xor bl,bl mov eax,[esi+1Ch] test eax,eax jle L0044941D mov ecx,[esi+18h] dec eax mov [esi+1Ch],eax mov bl,01h shl eax,04h add eax,ecx mov ecx,[eax] mov [esi+0Ch],ecx mov edx,[eax+04h] lea eax,[edx+ecx+04h] mov [esi+0Ch],eax mov al,bl pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L0044941D: mov eax,[ebp+08h] test eax,eax jz L00449454 mov ecx,eax xor edx,edx and ecx,000000FFh mov dl,ah push ecx xor eax,eax mov al,[ebp+0Ah] xor ecx,ecx mov cl,[ebp+0Bh] push edx push eax push ecx lea edx,[ebp-00000200h] push SSZ004C7400_depth____0__Cannot_exit_FORM___c push edx call SUB_L0049AC80 add esp,00000018h jmp L00449468 L00449454: lea eax,[ebp-00000200h] push SSZ004C73E0_depth____0__Cannot_exit_FORM push eax call SUB_L0049AC80 add esp,00000008h L00449468: lea ecx,[ebp-00000200h] push 00000001h push ecx push SSZ004C73C0_bool_Iff__exitForm__IffTag_tag_ mov ecx,esi call SUB_L00448BA0 mov al,bl pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00449490: mov edx,[ecx+1Ch] xor al,al test edx,edx jle L004494B7 mov eax,[ecx+18h] push esi mov esi,[ecx+0Ch] shl edx,04h add eax,edx mov edx,[eax-10h] mov eax,[eax-0Ch] sub edx,esi pop esi lea eax,[edx+eax+08h] neg eax sbb eax,eax inc eax L004494B7: retn ;------------------------------------------------------------------------------ Align 16 SUB_L004494C0: mov eax,[ecx+1Ch] push esi xor esi,esi test eax,eax jle L004494E5 mov edx,[ecx+18h] mov esi,[ecx+0Ch] shl eax,04h add eax,edx mov edx,[eax-10h] mov eax,[eax-0Ch] sub edx,esi lea esi,[edx+eax+08h] mov eax,esi pop esi retn ;------------------------------------------------------------------------------ L004494E5: push 00000001h push SSZ004C744C_depth____0 push SSZ004C7428_unsigned_int_Iff__charsLeft__voi call SUB_L00448BA0 mov eax,esi pop esi retn ;------------------------------------------------------------------------------ Align 8 SUB_L00449500: push esi mov esi,ecx push edi xor edi,edi mov eax,[esi+1Ch] test eax,eax jle L00449526 mov ecx,[esi+18h] shl eax,04h add eax,ecx mov ecx,[esi+0Ch] mov edx,[eax-10h] mov eax,[eax-0Ch] sub edx,ecx lea edi,[edx+eax+08h] jmp L00449539 L00449526: push 00000001h push SSZ004C744C_depth____0 push SSZ004C7428_unsigned_int_Iff__charsLeft__voi mov ecx,esi call SUB_L00448BA0 L00449539: cmp edi,00000004h jnc L00449551 push 00000001h push SSZ004C7470_At_end_of_CHUNK__Not_enough_data push SSZ004C7458_void_Iff__skipString mov ecx,esi call SUB_L00448BA0 L00449551: mov eax,[esi+0Ch] mov cl,[eax] inc eax test cl,cl mov [esi+0Ch],eax jz L00449568 L0044955E: mov dl,[eax] inc eax test dl,dl mov [esi+0Ch],eax jnz L0044955E L00449568: pop edi pop esi retn ;------------------------------------------------------------------------------ Align 8 SUB_L00449570: push ebp mov ebp,esp push esi mov esi,ecx push edi xor edi,edi mov eax,[esi+1Ch] test eax,eax jle L00449599 mov ecx,[esi+18h] shl eax,04h add eax,ecx mov ecx,[esi+0Ch] mov edx,[eax-10h] mov eax,[eax-0Ch] sub edx,ecx lea edi,[edx+eax+08h] jmp L004495AC L00449599: push 00000001h push SSZ004C744C_depth____0 push SSZ004C7428_unsigned_int_Iff__charsLeft__voi mov ecx,esi call SUB_L00448BA0 L004495AC: cmp edi,00000004h jnc L004495C4 push 00000001h push SSZ004C7470_At_end_of_CHUNK__Not_enough_data push SSZ004C7494_void_Iff__readString mov ecx,esi call SUB_L00448BA0 L004495C4: mov ecx,[esi+0Ch] mov al,[ecx] mov ecx,[ebp+08h] mov [ecx],al mov edx,[esi+0Ch] inc ecx inc edx test al,al mov [esi+0Ch],edx jz L004495EA L004495DA: mov al,[edx] mov [ecx],al mov edx,[esi+0Ch] inc ecx inc edx test al,al mov [esi+0Ch],edx jnz L004495DA L004495EA: pop edi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ SUB_L004495F0: push ebp mov ebp,esp push esi mov esi,ecx push edi xor edi,edi mov eax,[esi+1Ch] test eax,eax jle L00449619 mov ecx,[esi+18h] shl eax,04h add eax,ecx mov ecx,[esi+0Ch] mov edx,[eax-10h] mov eax,[eax-0Ch] sub edx,ecx lea edi,[edx+eax+08h] jmp L0044962C L00449619: push 00000001h push SSZ004C744C_depth____0 push SSZ004C7428_unsigned_int_Iff__charsLeft__voi mov ecx,esi call SUB_L00448BA0 L0044962C: cmp edi,00000004h jnc L00449644 push 00000001h push SSZ004C7470_At_end_of_CHUNK__Not_enough_data push SSZ004C74AC_int_Iff__readInt32 mov ecx,esi call SUB_L00448BA0 L00449644: mov eax,[ebp+08h] mov ecx,[esi+0Ch] test eax,eax jnz L0044967B movsx eax,[ecx+03h] xor edx,edx mov dl,[ecx+02h] shl eax,08h add eax,edx xor edx,edx mov dl,[ecx+01h] shl eax,08h add eax,edx xor edx,edx mov dl,[ecx] shl eax,08h add eax,edx add ecx,00000004h mov [esi+0Ch],ecx pop edi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ L0044967B: movsx eax,[ecx] xor edx,edx pop edi mov dl,[ecx+01h] shl eax,08h add eax,edx xor edx,edx mov dl,[ecx+02h] shl eax,08h add eax,edx xor edx,edx mov dl,[ecx+03h] shl eax,08h add eax,edx add ecx,00000004h mov [esi+0Ch],ecx pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L004496B0: mov eax,[ecx+0Ch] retn ;------------------------------------------------------------------------------ Align 16 L004496C0: mov eax,ecx xor ecx,ecx mov dword ptr [eax],00000000h mov dword ptr [eax+04h],00000000h mov [eax+08h],ecx mov [eax+0Ch],ecx retn ;------------------------------------------------------------------------------ Align 16 L004496E0: db C7h; '‡' db 01h; db 00h; db 00h; db 00h; db 00h; db C7h; '‡' db 41h; 'A' db 04h; db 00h; db 00h; db 00h; db 00h; db 8Dh; '?' db 41h; 'A' db 08h; db 33h; '3' db C9h; '‰' db 89h; '%' db 08h; db 89h; '%' db 48h; 'H' db 04h; db C3h; 'ƒ' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' SUB_L00449700: push ebp mov ebp,esp sub esp,00000104h push L004D77C0 lea eax,[ebp-00000104h] push 00000000h push eax mov ecx,L006BB1C0 call SUB_L00473930 lea ecx,[ebp-00000104h] push ecx mov ecx,[L006BB1CC] call SUB_L0048B170 mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L00449740: push ebp mov ebp,esp mov eax,00010000h call SUB_L0049ACF0 mov eax,[ebp+0Ch] mov edx,[L005492AC] push esi mov esi,ecx mov ecx,[ebp+08h] push eax mov eax,[L005492A8] push ecx push edx lea ecx,[ebp-00010000h] push eax push ecx mov ecx,L006BB1C0 call SUB_L004766D0 mov ecx,[L006BB1CC] lea edx,[ebp-00010000h] push edx call SUB_L0048B170 xor eax,eax mov ecx,esi mov [L005492A4],eax mov [esi+08h],eax mov [esi+00000114h],eax call SUB_L0044A3D0 pop esi mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L004497B0: mov eax,ecx xor ecx,ecx mov dword ptr [eax],L004BAC3C mov [eax+00000118h],ecx mov [eax+04h],ecx mov [eax+08h],ecx mov [eax+00000114h],ecx mov [eax+0000011Ch],ecx mov [eax+00000120h],cl mov [eax+00000228h],ecx retn ;------------------------------------------------------------------------------ Align 4 L004497E0: push ebp mov ebp,esp mov al,[ebp+08h] push esi mov esi,ecx test al,01h mov dword ptr [esi],L004BAC3C jz L004497FC push esi call SUB_L0049A810 add esp,00000004h L004497FC: mov eax,esi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00449810: mov eax,[L007B8310] push eax call [USER32.dll!SetFocus] retn ;------------------------------------------------------------------------------ Align 4 SUB_L00449820: push ebp mov ebp,esp push ebx push esi mov esi,[USER32.dll!GetKeyState] push edi mov ebx,ecx push 00000011h call esi xor ecx,ecx push 00000010h test ax,ax setl cl mov edi,ecx call esi push 00000012h call esi xor edx,edx test ax,ax setl dl mov eax,edx test eax,eax mov eax,[ebp+08h] jz L0044986C cmp eax,00000073h jz CASE_00449A30_PROC0009 cmp eax,00000009h jnz L0044986C xor eax,eax pop edi pop esi pop ebx pop ebp retn 0008h ;------------------------------------------------------------------------------ L0044986C: mov ecx,[L005492A0] test ecx,ecx jz L00449A22 mov ecx,[L00669630] test ecx,ecx jnz L00449A22 mov ecx,[ebx+08h] test ecx,ecx jnz L00449A22 add eax,FFFFFFDFh cmp eax,00000030h ja CASE_00449A30_PROC0009 xor ecx,ecx mov cl,[eax+CASE_00449A58] jmp [CASE_PROCTABLE_00449A30+ecx*4] CASE_00449A30_PROC0005: mov edx,[ebp+0Ch] mov ecx,L00669590 push edx push 00000000h call SUB_L00452ED0 mov eax,00000001h pop edi pop esi pop ebx pop ebp retn 0008h ;------------------------------------------------------------------------------ CASE_00449A30_PROC0000: mov eax,[ebp+0Ch] mov ecx,L00669590 push eax push 00000001h call SUB_L00452ED0 mov eax,00000001h pop edi pop esi pop ebx pop ebp retn 0008h ;------------------------------------------------------------------------------ CASE_00449A30_PROC0006: mov ecx,[ebp+0Ch] push ecx push 00000002h mov ecx,L00669590 call SUB_L00452ED0 mov eax,00000001h pop edi pop esi pop ebx pop ebp retn 0008h ;------------------------------------------------------------------------------ CASE_00449A30_PROC0001: mov edx,[ebp+0Ch] mov ecx,L00669590 push edx push 00000003h call SUB_L00452ED0 mov eax,00000001h pop edi pop esi pop ebx pop ebp retn 0008h ;------------------------------------------------------------------------------ CASE_00449A30_PROC0007: mov eax,[ebp+0Ch] mov ecx,L00669590 push eax push 00000004h call SUB_L00452ED0 mov eax,00000001h pop edi pop esi pop ebx pop ebp retn 0008h ;------------------------------------------------------------------------------ CASE_00449A30_PROC0002: mov ecx,[ebp+0Ch] push ecx push 00000005h mov ecx,L00669590 call SUB_L00452ED0 mov eax,00000001h pop edi pop esi pop ebx pop ebp retn 0008h ;------------------------------------------------------------------------------ CASE_00449A30_PROC0004: mov edx,[ebp+0Ch] mov ecx,L00669590 push edx push 00000006h call SUB_L00452ED0 mov eax,00000001h pop edi pop esi pop ebx pop ebp retn 0008h ;------------------------------------------------------------------------------ CASE_00449A30_PROC0003: mov eax,[ebp+0Ch] mov ecx,L00669590 push eax push 00000007h call SUB_L00452ED0 mov eax,00000001h pop edi pop esi pop ebx pop ebp retn 0008h ;------------------------------------------------------------------------------ CASE_00449A30_PROC0008: test edi,edi jz L00449A22 mov al,[L0073EC34] test al,al jz L004499BB lea esi,[ebx+0Ch] lea edx,[ebx+00000120h] mov ecx,esi call SUB_L00491D10 mov ecx,esi call SUB_L00491C00 mov [ebx+08h],eax jmp L004499F0 L004499BB: lea edi,[ebx+00000120h] or ecx,FFFFFFFFh xor eax,eax lea edx,[ebx+0Ch] repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax xor eax,eax and ecx,00000003h rep movsb mov edi,edx or ecx,FFFFFFFFh repne scasb not ecx dec ecx mov [ebx+08h],ecx L004499F0: mov ecx,[ebx+00000228h] mov [ebx+00000114h],ecx mov ecx,ebx call SUB_L0044A3D0 mov dword ptr [L005492B0],00000001h mov eax,00000001h pop edi pop esi pop ebx pop ebp retn 0008h ;------------------------------------------------------------------------------ CASE_00449A30_PROC0009: xor eax,eax pop edi pop esi pop ebx pop ebp retn 0008h ;------------------------------------------------------------------------------ L00449A22: pop edi pop esi mov eax,00000001h pop ebx pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_00449A30: dd CASE_00449A30_PROC0000 dd CASE_00449A30_PROC0001 dd CASE_00449A30_PROC0002 dd CASE_00449A30_PROC0003 dd CASE_00449A30_PROC0004 dd CASE_00449A30_PROC0005 dd CASE_00449A30_PROC0006 dd CASE_00449A30_PROC0007 dd CASE_00449A30_PROC0008 dd CASE_00449A30_PROC0009 CASE_00449A58: db 00h, 01h, 02h, 03h, 04h, 05h, 06h, 07h, 09h, 09h, 09h, 09h, 09h, 09h, 09h, 09h db 09h, 09h, 09h, 09h, 09h, 09h, 09h, 09h, 09h, 09h, 09h, 09h, 09h, 09h, 09h, 09h db 09h, 09h, 09h, 09h, 09h, 09h, 09h, 09h, 09h, 09h, 09h, 09h, 09h, 09h, 09h, 09h db 08h Align 8 SUB_L00449A90: mov eax,ecx push ebx cmp byte ptr [eax],20h jnz L00449AA1 L00449A98: mov cl,[eax+01h] inc eax cmp cl,20h jz L00449A98 L00449AA1: mov bl,[eax] cmp bl,20h jz L00449ACD L00449AA8: test bl,bl jz L00449ACD cmp bl,41h jl L00449ABE cmp bl,5Ah jg L00449ABE movsx ebx,bl add ebx,00000020h jmp L00449AC1 L00449ABE: movsx ebx,bl L00449AC1: mov [edx],bl mov bl,[eax+01h] inc edx inc eax cmp bl,20h jnz L00449AA8 L00449ACD: mov byte ptr [edx],00h mov cl,[eax] test cl,cl jz L00449AD7 inc eax L00449AD7: pop ebx retn ;------------------------------------------------------------------------------ Align 8 SUB_L00449AE0: push ebp mov ebp,esp push FFFFFFFFh push L004B3546 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,0000048Ch mov al,[L0073EC34] push ebx push esi push edi test al,al mov [ebp-18h],ecx jz L00449B27 mov eax,[ecx+08h] lea edx,[ecx+0Ch] mov word ptr [ecx+eax*2+0Ch],0000h lea ecx,[ebp-0000009Ch] call SUB_L00491E20 jmp L00449B55 L00449B27: mov edx,[ecx+08h] lea edi,[ecx+0Ch] xor eax,eax mov byte ptr [edx+ecx+0Ch],00h or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx lea edx,[ebp-0000009Ch] mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb L00449B55: mov al,[ebp-0000009Ch] lea edi,[ebp-0000009Ch] cmp al,20h lea ecx,[ebp-000001A0h] mov [ebp-14h],edi jnz L00449B79 L00449B6E: mov al,[edi+01h] inc edi cmp al,20h jz L00449B6E mov [ebp-14h],edi L00449B79: mov al,[edi] cmp al,20h jz L00449BA4 L00449B7F: test al,al jz L00449BA1 cmp al,41h jl L00449B93 cmp al,5Ah jg L00449B93 movsx eax,al add eax,00000020h jmp L00449B96 L00449B93: movsx eax,al L00449B96: mov [ecx],al mov al,[edi+01h] inc ecx inc edi cmp al,20h jnz L00449B7F L00449BA1: mov [ebp-14h],edi L00449BA4: mov al,[edi] mov byte ptr [ecx],00h test al,al jz L00449BB1 inc edi mov [ebp-14h],edi L00449BB1: mov eax,[L004C74E8] mov dword ptr [ebp-10h],00000000h cmp eax,FFFFFFFFh jz L00449DE2 mov ebx,L004C74E8 L00449BCB: mov esi,[ebx+04h] lea eax,[ebp-000001A0h] L00449BD4: mov dl,[eax] mov cl,dl cmp dl,[esi] jnz L00449BF8 test cl,cl jz L00449BF4 mov dl,[eax+01h] mov cl,dl cmp dl,[esi+01h] jnz L00449BF8 add eax,00000002h add esi,00000002h test cl,cl jnz L00449BD4 L00449BF4: xor eax,eax jmp L00449BFD L00449BF8: sbb eax,eax sbb eax,FFFFFFFFh L00449BFD: test eax,eax jz L00449C26 mov edx,[ebp-10h] mov eax,[ebx+08h] add ebx,00000008h inc edx cmp eax,FFFFFFFFh mov [ebp-10h],edx jnz L00449BCB xor eax,eax mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00449C26: mov eax,[ebp-18h] mov ebx,00000001h mov ecx,[eax+00000118h] test ecx,ecx jz L00449C98 mov ecx,[ebp-10h] push edi lea eax,[ebp-00000498h] mov edx,[L004C74EC+ecx*8] push edx push SSZ004C75C0___s__s push eax call SUB_L0049AC80 add esp,00000010h mov [L00669408],bl push 000000E4h call SUB_L0049A820 add esp,00000004h mov [ebp-18h],eax test eax,eax mov dword ptr [ebp-04h],00000000h jz L00449C91 push 00000000h push 00000000h push 00000000h lea ecx,[ebp-00000498h] push 00000000h push ecx push 00000000h mov ecx,eax call SUB_L004012C0 L00449C91: mov dword ptr [ebp-04h],FFFFFFFFh L00449C98: mov edx,[ebp-10h] mov eax,[L004C74E8+edx*8] add eax,FFFFFFF5h cmp eax,000000C0h ja CASE_00449DF8_PROC0004 xor ecx,ecx mov cl,[eax+CASE_00449E0C] jmp [CASE_PROCTABLE_00449DF8+ecx*4] CASE_00449DF8_PROC0001: or ecx,FFFFFFFFh xor eax,eax repne scasb mov eax,[ebp-10h] mov edx,[ebp-14h] not ecx dec ecx push ecx mov cl,[L004C74E8+eax*8] push edx lea edx,[ebp-00000298h] push ecx push edx mov ecx,L006BB1C0 call SUB_L00474260 mov ecx,[L006BB1CC] lea eax,[ebp-00000298h] push eax call SUB_L0048B170 mov eax,ebx mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ CASE_00449DF8_PROC0002: mov eax,[L006BB1CC] test eax,eax jz CASE_00449DF8_PROC0004 push edi lea ecx,[ebp-000001A0h] push 00000000h push ecx mov ecx,L006BB1C0 call SUB_L00473930 mov ecx,[L006BB1CC] lea edx,[ebp-000001A0h] push edx call SUB_L0048B170 mov eax,ebx mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ CASE_00449DF8_PROC0000: mov eax,[L0073EBE4] push L006AAAAC movsx ecx,[eax+24h] movsx edx,[eax+22h] movsx eax,[eax+20h] push ecx push edx push eax lea ecx,[ebp-00000498h] push SSZ004C75A4_You_are_at___d__d__d_in__s_ push ecx call SUB_L0049AC80 add esp,00000018h mov [L00669408],bl push 000000E4h call SUB_L0049A820 add esp,00000004h mov [ebp-18h],eax test eax,eax mov [ebp-04h],ebx jz CASE_00449DF8_PROC0004 push 00000000h push 00000000h push 00000000h lea edx,[ebp-00000498h] push 00000000h push edx push 00000000h mov ecx,eax call SUB_L004012C0 mov eax,ebx mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ CASE_00449DF8_PROC0003: call SUB_L00494430 CASE_00449DF8_PROC0004: mov eax,ebx mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00449DE2: mov ecx,[ebp-0Ch] pop edi pop esi xor eax,eax mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_00449DF8: dd CASE_00449DF8_PROC0000 dd CASE_00449DF8_PROC0001 dd CASE_00449DF8_PROC0002 dd CASE_00449DF8_PROC0003 dd CASE_00449DF8_PROC0004 CASE_00449E0C: db 00h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h db 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h db 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h db 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h db 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h db 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h db 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h db 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h db 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h db 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h db 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h db 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 01h, 04h, 04h, 02h db 03h Align 4 SUB_L00449ED0: push ebp mov ebp,esp mov eax,[ebp+08h] mov [ecx+00000114h],eax pop ebp retn 0004h ;------------------------------------------------------------------------------ SUB_L00449EE0: push ebp mov ebp,esp mov eax,0001000Ch call SUB_L0049ACF0 mov eax,[L005492A0] push ebx push esi push edi xor edi,edi mov ebx,ecx cmp eax,edi jz L0044A344 cmp [L005492B0],edi jz L00449F18 mov [L005492B0],edi pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L00449F18: mov esi,[ebp+08h] lea eax,[esi-08h] cmp eax,00000026h ja CASE_0044A350_PROC0007 xor ecx,ecx mov cl,[eax+CASE_0044A370] jmp [CASE_PROCTABLE_0044A350+ecx*4] CASE_0044A350_PROC0001: mov eax,[ebx+08h] cmp eax,edi jle L0044A285 mov cl,[L0073EC34] test cl,cl jz L00449F60 lea edx,[ebx+0Ch] lea ecx,[ebx+00000120h] mov [ebx+eax*2+0Ch],di call SUB_L00491D10 jmp L00449F8D L00449F60: mov byte ptr [ebx+eax+0Ch],00h lea edi,[ebx+0Ch] or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx lea edx,[ebx+00000120h] mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb xor edi,edi L00449F8D: mov eax,[ebx+00000114h] mov [ebx+00000228h],eax mov ecx,[L005492A4] cmp ecx,00000001h jnz L0044A037 mov al,[L0073EC34] test al,al lea eax,[ebx+0Ch] push eax push 00000001h jz L00449FD7 mov ecx,ebx call SUB_L00492430 mov ecx,ebx mov [ebx+08h],edi mov [ebx+00000114h],edi call SUB_L0044A3D0 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L00449FD7: mov ecx,[L005492AC] mov edx,[L005492A8] push ecx lea eax,[ebp-0001000Ch] push edx push eax mov ecx,L006BB1C0 call SUB_L004766D0 lea ecx,[ebp-0001000Ch] push ecx mov ecx,[L006BB1CC] call SUB_L0048B170 mov [L005492A4],edi mov ecx,ebx mov [ebx+08h],edi mov [ebx+00000114h],edi call SUB_L0044A3D0 mov ecx,ebx mov [ebx+08h],edi mov [ebx+00000114h],edi call SUB_L0044A3D0 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L0044A037: cmp eax,00000005h jnz L0044A05C mov ecx,ebx call SUB_L00449AE0 mov ecx,ebx mov [ebx+08h],edi mov [ebx+00000114h],edi call SUB_L0044A3D0 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L0044A05C: mov cl,[L0073EC34] push eax test cl,cl jz L0044A092 mov edx,[ebx+08h] lea eax,[ebx+0Ch] push edx push eax mov ecx,L006BB1C8 call SUB_L004926C0 mov ecx,ebx mov [ebx+08h],edi mov [ebx+00000114h],edi call SUB_L0044A3D0 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L0044A092: mov eax,[ebx+08h] mov ecx,L006BB1C8 push eax lea eax,[ebx+0Ch] push eax call SUB_L0048B960 mov ecx,ebx mov [ebx+08h],edi mov [ebx+00000114h],edi call SUB_L0044A3D0 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0044A350_PROC0006: cmp dword ptr [ebx+08h],00000080h jge L0044A344 mov al,[L0073EC34] test al,al jz L0044A0E8 lea ecx,[ebp-08h] lea edx,[ebp-0Ch] push ecx push edx lea edx,[ebp-04h] lea ecx,[ebx+0Ch] call SUB_L00492DC0 jmp L0044A104 L0044A0E8: lea eax,[ebp-08h] lea ecx,[ebp-0Ch] push eax lea edx,[ebp-04h] push ecx lea eax,[ebx+0Ch] push edx push eax push 00000003h mov ecx,L00669CC8 call SUB_L00437A10 L0044A104: cmp dword ptr [ebp-04h],00000258h jge L0044A344 mov al,[L0073EC34] test al,al jz L0044A129 mov ecx,[ebx+08h] mov word ptr [ebx+ecx*2+0Ch],002Eh jmp L0044A33A L0044A129: mov edx,[ebx+08h] mov byte ptr [ebx+edx+0Ch],2Eh jmp L0044A33A CASE_0044A350_PROC0003: mov eax,[ebx+08h] cmp eax,00000001h jz L0044A1B5 cmp eax,00000080h jge L0044A344 mov al,[L0073EC34] test al,al jz L0044A167 lea eax,[ebp-08h] lea ecx,[ebp-0Ch] push eax push ecx lea edx,[ebp-04h] lea ecx,[ebx+0Ch] call SUB_L00492DC0 jmp L0044A183 L0044A167: lea edx,[ebp-08h] lea eax,[ebp-0Ch] push edx lea ecx,[ebp-04h] push eax lea edx,[ebx+0Ch] push ecx push edx push 00000003h mov ecx,L00669CC8 call SUB_L00437A10 L0044A183: cmp dword ptr [ebp-04h],00000258h jge L0044A344 mov al,[L0073EC34] test al,al jz L0044A1A8 mov eax,[ebx+08h] mov word ptr [ebx+eax*2+0Ch],0020h jmp L0044A33A L0044A1A8: mov ecx,[ebx+08h] mov byte ptr [ebx+ecx+0Ch],20h jmp L0044A33A L0044A1B5: mov cl,[L0073EC34] test cl,cl jz L0044A1C5 mov ax,[ebx+0Ch] jmp L0044A1CA L0044A1C5: movsx ax,[ebx+0Ch] L0044A1CA: and eax,0000FFFFh add eax,FFFFFFDFh cmp eax,0000001Ah ja CASE_0044A398_PROC0004 xor edx,edx mov dl,[eax+CASE_0044A3AC] jmp [CASE_PROCTABLE_0044A398+edx*4] CASE_0044A398_PROC0001: mov ecx,ebx mov [ebx+00000114h],edi mov [ebx+08h],edi call SUB_L0044A3D0 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0044A398_PROC0002: mov ecx,ebx mov dword ptr [ebx+00000114h],00000002h mov [ebx+08h],edi call SUB_L0044A3D0 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0044A398_PROC0003: mov ecx,ebx mov dword ptr [ebx+00000114h],00000008h mov [ebx+08h],edi call SUB_L0044A3D0 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0044A398_PROC0000: mov ecx,ebx mov dword ptr [ebx+00000114h],00000009h mov [ebx+08h],edi call SUB_L0044A3D0 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0044A398_PROC0004: test cl,cl jz L0044A265 mov word ptr [ebx+0Eh],0020h jmp L0044A33A L0044A265: mov byte ptr [ebx+0Dh],20h jmp L0044A33A CASE_0044A350_PROC0000: mov eax,[ebx+08h] cmp eax,edi jle L0044A344 dec eax cmp eax,edi mov [ebx+08h],eax jnz L0044A33D L0044A285: mov ecx,ebx mov [ebx+00000114h],edi call SUB_L0044A3D0 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0044A350_PROC0004: mov eax,[ebx+04h] cmp eax,edi jz CASE_0044A350_PROC0007 dec eax mov [ebx+04h],eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0044A350_PROC0007: cmp dword ptr [ebx+08h],00000080h jge L0044A344 mov al,[L0073EC34] test al,al jz L0044A2FA mov ecx,esi call SUB_L00492940 test eax,eax jz L0044A344 lea eax,[ebp-08h] lea ecx,[ebp-0Ch] push eax push ecx lea edx,[ebp-04h] lea ecx,[ebx+0Ch] call SUB_L00492DC0 cmp dword ptr [ebp-04h],00000258h jge L0044A344 mov edx,[ebx+08h] mov ax,[ebp+08h] mov [ebx+edx*2+0Ch],ax jmp L0044A33A L0044A2FA: push esi push 00000003h mov ecx,L00669CC8 call SUB_L00437140 test eax,eax jz L0044A344 lea ecx,[ebp-08h] lea edx,[ebp-0Ch] push ecx lea eax,[ebp-04h] push edx lea ecx,[ebx+0Ch] push eax push ecx push 00000003h mov ecx,L00669CC8 call SUB_L00437A10 cmp dword ptr [ebp-04h],00000258h jge L0044A344 mov edx,[ebx+08h] mov al,[ebp+08h] mov [ebx+edx+0Ch],al L0044A33A: inc [ebx+08h] L0044A33D: mov ecx,ebx call SUB_L0044A3D0 L0044A344: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_0044A350: dd CASE_0044A350_PROC0000 dd CASE_0044A350_PROC0001 dd CASE_0044A350_PROC0001 dd CASE_0044A350_PROC0003 dd CASE_0044A350_PROC0004 dd CASE_0044A350_PROC0004 dd CASE_0044A350_PROC0006 dd CASE_0044A350_PROC0007 CASE_0044A370: db 00h, 07h, 01h, 07h, 07h, 02h, 07h, 07h, 07h, 07h, 07h, 07h, 07h, 07h, 07h, 07h db 07h, 07h, 07h, 07h, 07h, 07h, 07h, 07h, 03h, 07h, 07h, 07h, 07h, 07h, 07h, 07h db 07h, 07h, 07h, 04h, 07h, 05h, 06h Align 4 CASE_PROCTABLE_0044A398: dd CASE_0044A398_PROC0000 dd CASE_0044A398_PROC0001 dd CASE_0044A398_PROC0002 dd CASE_0044A398_PROC0003 dd CASE_0044A398_PROC0004 CASE_0044A3AC: db 00h, 04h, 04h, 04h, 04h, 04h, 01h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h db 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 02h, 03h Align 16 SUB_L0044A3D0: push ebp mov ebp,esp push FFFFFFFFh push L004B35D4 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000008h mov eax,[L0066962C] push ebx push esi xor esi,esi cmp eax,esi mov al,[L0073EC34] push edi mov ebx,ecx jz L0044A418 test al,al jz L0044A40E mov eax,[ebx+08h] mov [ebx+eax*2+0Ch],si jmp L0044A440 L0044A40E: mov ecx,[ebx+08h] mov byte ptr [ebx+ecx+0Ch],00h jmp L0044A440 L0044A418: test al,al jz L0044A430 mov edx,[ebx+08h] mov word ptr [ebx+edx*2+0Ch],005Fh mov eax,[ebx+08h] mov [ebx+eax*2+0Eh],si jmp L0044A440 L0044A430: mov ecx,[ebx+08h] mov byte ptr [ebx+ecx+0Ch],5Fh mov edx,[ebx+08h] mov byte ptr [ebx+edx+0Dh],00h L0044A440: mov eax,[ebx+00000114h] cmp eax,00000002h jnz L0044A617 mov al,[L0073EC34] test al,al jz L0044A508 lea esi,[ebx+0Ch] mov ecx,esi call SUB_L00491C00 mov edx,eax mov edi,SSZ004C75F4_Emote__ or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx add edx,ecx lea eax,[edx+edx+02h] push eax call SUB_L0049A820 mov edi,eax add esp,00000004h mov edx,SSZ004C75F4_Emote__ mov ecx,edi call SUB_L00491D80 mov edx,esi mov ecx,edi call SUB_L00491DC0 mov ecx,[ebx+0000011Ch] test ecx,ecx jz L0044A4CA mov dx,[L006BB5BA] mov ax,[L006BB5B8] push edx push eax push edi call SUB_L00402740 push edi call SUB_L0049A810 add esp,00000004h jmp L0044ADE2 L0044A4CA: push 00000094h call SUB_L0049A820 add esp,00000004h mov [ebp-14h],eax test eax,eax mov dword ptr [ebp-04h],00000000h jz L0044AC16 mov cx,[L006BB5BA] mov dx,[L006BB5B8] push 00000001h push ecx push edx push edi mov ecx,eax call SUB_L00402430 jmp L0044AC18 L0044A508: mov edi,SSZ004C75F4_Emote__ or ecx,FFFFFFFFh xor eax,eax lea edx,[ebx+0Ch] repne scasb not ecx dec ecx mov edi,edx mov esi,ecx or ecx,FFFFFFFFh repne scasb not ecx dec ecx lea eax,[esi+ecx+01h] push eax call SUB_L0049A820 mov edx,eax mov edi,SSZ004C75F4_Emote__ or ecx,FFFFFFFFh xor eax,eax add esp,00000004h mov [ebp-10h],edx repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax xor eax,eax and ecx,00000003h rep movsb lea edi,[ebx+0Ch] or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov [ebp-14h],eax mov edi,edx mov edx,[ebp-14h] or ecx,FFFFFFFFh xor eax,eax repne scasb mov ecx,edx dec edi shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb mov ecx,[ebx+0000011Ch] test ecx,ecx jz L0044A5BD mov ax,[L006BB5BA] mov dx,[L006BB5B8] push eax mov eax,[ebp-10h] push edx push eax call SUB_L004025A0 mov edx,[ebp-10h] push edx call SUB_L0049A810 add esp,00000004h jmp L0044ADE2 L0044A5BD: push 00000094h call SUB_L0049A820 add esp,00000004h mov [ebp-14h],eax test eax,eax mov dword ptr [ebp-04h],00000001h jz L0044A5F7 mov cx,[L006BB5BA] mov dx,[L006BB5B8] push 00000000h push ecx mov ecx,[ebp-10h] push edx push ecx mov ecx,eax call SUB_L00402430 jmp L0044A5F9 L0044A5F7: xor eax,eax L0044A5F9: mov edx,[ebp-10h] mov dword ptr [ebp-04h],FFFFFFFFh push edx mov [ebx+0000011Ch],eax call SUB_L0049A810 add esp,00000004h jmp L0044ADE2 L0044A617: cmp eax,00000008h jnz L0044A7E8 mov al,[L0073EC34] test al,al jz L0044A6D9 lea esi,[ebx+0Ch] mov ecx,esi call SUB_L00491C00 mov edx,eax mov edi,SSZ004C75E8_Whisper__ or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx add edx,ecx lea eax,[edx+edx+02h] push eax call SUB_L0049A820 mov edi,eax add esp,00000004h mov edx,SSZ004C75E8_Whisper__ mov ecx,edi call SUB_L00491D80 mov edx,esi mov ecx,edi call SUB_L00491DC0 mov ecx,[ebx+0000011Ch] test ecx,ecx jz L0044A69B mov dx,[L006BB5B6] mov ax,[L006BB5B4] push edx push eax push edi call SUB_L00402740 push edi call SUB_L0049A810 add esp,00000004h jmp L0044ADE2 L0044A69B: push 00000094h call SUB_L0049A820 add esp,00000004h mov [ebp-14h],eax test eax,eax mov dword ptr [ebp-04h],00000002h jz L0044AC16 mov cx,[L006BB5B6] mov dx,[L006BB5B4] push 00000001h push ecx push edx push edi mov ecx,eax call SUB_L00402430 jmp L0044AC18 L0044A6D9: mov edi,SSZ004C75E8_Whisper__ or ecx,FFFFFFFFh xor eax,eax lea edx,[ebx+0Ch] repne scasb not ecx dec ecx mov edi,edx mov esi,ecx or ecx,FFFFFFFFh repne scasb not ecx dec ecx lea eax,[esi+ecx+01h] push eax call SUB_L0049A820 mov edx,eax mov edi,SSZ004C75E8_Whisper__ or ecx,FFFFFFFFh xor eax,eax add esp,00000004h mov [ebp-10h],edx repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax xor eax,eax and ecx,00000003h rep movsb lea edi,[ebx+0Ch] or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov [ebp-14h],eax mov edi,edx mov edx,[ebp-14h] or ecx,FFFFFFFFh xor eax,eax repne scasb mov ecx,edx dec edi shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb mov ecx,[ebx+0000011Ch] test ecx,ecx jz L0044A78E mov ax,[L006BB5B6] mov dx,[L006BB5B4] push eax mov eax,[ebp-10h] push edx push eax call SUB_L004025A0 mov edx,[ebp-10h] push edx call SUB_L0049A810 add esp,00000004h jmp L0044ADE2 L0044A78E: push 00000094h call SUB_L0049A820 add esp,00000004h mov [ebp-14h],eax test eax,eax mov dword ptr [ebp-04h],00000003h jz L0044A7C8 mov cx,[L006BB5B6] mov dx,[L006BB5B4] push 00000000h push ecx mov ecx,[ebp-10h] push edx push ecx mov ecx,eax call SUB_L00402430 jmp L0044A7CA L0044A7C8: xor eax,eax L0044A7CA: mov edx,[ebp-10h] mov dword ptr [ebp-04h],FFFFFFFFh push edx mov [ebx+0000011Ch],eax call SUB_L0049A810 add esp,00000004h jmp L0044ADE2 L0044A7E8: cmp eax,00000009h jnz L0044A9B9 mov al,[L0073EC34] test al,al jz L0044A8AA lea esi,[ebx+0Ch] mov ecx,esi call SUB_L00491C00 mov edx,eax mov edi,SSZ004C75E0_Yell__ or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx add edx,ecx lea eax,[edx+edx+02h] push eax call SUB_L0049A820 mov edi,eax add esp,00000004h mov edx,SSZ004C75E0_Yell__ mov ecx,edi call SUB_L00491D80 mov edx,esi mov ecx,edi call SUB_L00491DC0 mov ecx,[ebx+0000011Ch] test ecx,ecx jz L0044A86C mov dx,[L006BB5B6] mov ax,[L006BB5B4] push edx push eax push edi call SUB_L00402740 push edi call SUB_L0049A810 add esp,00000004h jmp L0044ADE2 L0044A86C: push 00000094h call SUB_L0049A820 add esp,00000004h mov [ebp-14h],eax test eax,eax mov dword ptr [ebp-04h],00000004h jz L0044AC16 mov cx,[L006BB5B6] mov dx,[L006BB5B4] push 00000001h push ecx push edx push edi mov ecx,eax call SUB_L00402430 jmp L0044AC18 L0044A8AA: mov edi,SSZ004C75E0_Yell__ or ecx,FFFFFFFFh xor eax,eax lea edx,[ebx+0Ch] repne scasb not ecx dec ecx mov edi,edx mov esi,ecx or ecx,FFFFFFFFh repne scasb not ecx dec ecx lea eax,[esi+ecx+01h] push eax call SUB_L0049A820 mov edx,eax mov edi,SSZ004C75E0_Yell__ or ecx,FFFFFFFFh xor eax,eax add esp,00000004h mov [ebp-10h],edx repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax xor eax,eax and ecx,00000003h rep movsb lea edi,[ebx+0Ch] or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov [ebp-14h],eax mov edi,edx mov edx,[ebp-14h] or ecx,FFFFFFFFh xor eax,eax repne scasb mov ecx,edx dec edi shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb mov ecx,[ebx+0000011Ch] test ecx,ecx jz L0044A95F mov ax,[L006BB5B6] mov dx,[L006BB5B4] push eax mov eax,[ebp-10h] push edx push eax call SUB_L004025A0 mov edx,[ebp-10h] push edx call SUB_L0049A810 add esp,00000004h jmp L0044ADE2 L0044A95F: push 00000094h call SUB_L0049A820 add esp,00000004h mov [ebp-14h],eax test eax,eax mov dword ptr [ebp-04h],00000005h jz L0044A999 mov cx,[L006BB5B6] mov dx,[L006BB5B4] push 00000000h push ecx mov ecx,[ebp-10h] push edx push ecx mov ecx,eax call SUB_L00402430 jmp L0044A99B L0044A999: xor eax,eax L0044A99B: mov edx,[ebp-10h] mov dword ptr [ebp-04h],FFFFFFFFh push edx mov [ebx+0000011Ch],eax call SUB_L0049A810 add esp,00000004h jmp L0044ADE2 L0044A9B9: cmp eax,00000005h jnz L0044AB60 mov al,[L0073EC34] test al,al jz L0044AA57 lea esi,[ebx+0Ch] mov ecx,esi call SUB_L00491C00 mov edx,eax mov edi,SSZ004C75D4_Command__ or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx add edx,ecx lea eax,[edx+edx+02h] push eax call SUB_L0049A820 mov edi,eax add esp,00000004h mov edx,SSZ004C75D4_Command__ mov ecx,edi call SUB_L00491D80 mov edx,esi mov ecx,edi call SUB_L00491DC0 mov ecx,[ebx+0000011Ch] test ecx,ecx jz L0044AA3B mov dx,[L006BB5B6] push edx push 000003B2h push edi call SUB_L00402740 push edi call SUB_L0049A810 add esp,00000004h jmp L0044ADE2 L0044AA3B: push 00000094h call SUB_L0049A820 add esp,00000004h mov [ebp-14h],eax mov dword ptr [ebp-04h],00000006h jmp L0044ABF9 L0044AA57: mov edi,SSZ004C75D4_Command__ or ecx,FFFFFFFFh xor eax,eax lea edx,[ebx+0Ch] repne scasb not ecx dec ecx mov edi,edx mov esi,ecx or ecx,FFFFFFFFh repne scasb not ecx dec ecx lea edx,[esi+ecx+01h] push edx call SUB_L0049A820 mov edx,eax mov edi,SSZ004C75D4_Command__ or ecx,FFFFFFFFh xor eax,eax add esp,00000004h mov [ebp-10h],edx repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax xor eax,eax and ecx,00000003h rep movsb lea edi,[ebx+0Ch] or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov [ebp-14h],eax mov edi,edx mov edx,[ebp-14h] or ecx,FFFFFFFFh xor eax,eax repne scasb mov ecx,edx dec edi shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb mov ecx,[ebx+0000011Ch] test ecx,ecx jz L0044AB09 mov ax,[L006BB5B6] mov edx,[ebp-10h] push eax push 000003B2h push edx call SUB_L004025A0 mov eax,[ebp-10h] push eax call SUB_L0049A810 add esp,00000004h jmp L0044ADE2 L0044AB09: push 00000094h call SUB_L0049A820 add esp,00000004h mov [ebp-14h],eax test eax,eax mov dword ptr [ebp-04h],00000007h jz L0044AB40 mov cx,[L006BB5B6] mov edx,[ebp-10h] push 00000000h push ecx push 000003B2h push edx mov ecx,eax call SUB_L00402430 jmp L0044AB42 L0044AB40: xor eax,eax L0044AB42: mov [ebx+0000011Ch],eax mov eax,[ebp-10h] push eax mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L0049A810 add esp,00000004h jmp L0044ADE2 L0044AB60: cmp eax,00000001h mov al,[L0073EC34] jnz L0044AD3C test al,al jz L0044AC33 lea esi,[ebx+0Ch] mov ecx,esi call SUB_L00491C00 mov edx,eax mov edi,SSZ004C75C8_Broadcast__ or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx add edx,ecx lea eax,[edx+edx+02h] push eax call SUB_L0049A820 mov edi,eax add esp,00000004h mov edx,SSZ004C75C8_Broadcast__ mov ecx,edi call SUB_L00491D80 mov edx,esi mov ecx,edi call SUB_L00491DC0 mov ecx,[ebx+0000011Ch] test ecx,ecx jz L0044ABE2 mov dx,[L006BB5B6] push edx push 000003B2h push edi call SUB_L00402740 push edi call SUB_L0049A810 add esp,00000004h jmp L0044ADE2 L0044ABE2: push 00000094h call SUB_L0049A820 add esp,00000004h mov [ebp-14h],eax mov dword ptr [ebp-04h],00000008h L0044ABF9: test eax,eax jz L0044AC16 mov cx,[L006BB5B6] push 00000001h push ecx push 000003B2h push edi mov ecx,eax call SUB_L00402430 jmp L0044AC18 L0044AC16: xor eax,eax L0044AC18: push edi mov dword ptr [ebp-04h],FFFFFFFFh mov [ebx+0000011Ch],eax call SUB_L0049A810 add esp,00000004h jmp L0044ADE2 L0044AC33: mov edi,SSZ004C75C8_Broadcast__ or ecx,FFFFFFFFh xor eax,eax lea edx,[ebx+0Ch] repne scasb not ecx dec ecx mov edi,edx mov esi,ecx or ecx,FFFFFFFFh repne scasb not ecx dec ecx lea edx,[esi+ecx+01h] push edx call SUB_L0049A820 mov edx,eax mov edi,SSZ004C75C8_Broadcast__ or ecx,FFFFFFFFh xor eax,eax add esp,00000004h mov [ebp-10h],edx repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax xor eax,eax and ecx,00000003h rep movsb lea edi,[ebx+0Ch] or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov [ebp-14h],eax mov edi,edx mov edx,[ebp-14h] or ecx,FFFFFFFFh xor eax,eax repne scasb mov ecx,edx dec edi shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb mov ecx,[ebx+0000011Ch] test ecx,ecx jz L0044ACE5 mov ax,[L006BB5B6] mov edx,[ebp-10h] push eax push 000003B2h push edx call SUB_L004025A0 mov eax,[ebp-10h] push eax call SUB_L0049A810 add esp,00000004h jmp L0044ADE2 L0044ACE5: push 00000094h call SUB_L0049A820 add esp,00000004h mov [ebp-14h],eax test eax,eax mov dword ptr [ebp-04h],00000009h jz L0044AD1C mov cx,[L006BB5B6] mov edx,[ebp-10h] push 00000000h push ecx push 000003B2h push edx mov ecx,eax call SUB_L00402430 jmp L0044AD1E L0044AD1C: xor eax,eax L0044AD1E: mov [ebx+0000011Ch],eax mov eax,[ebp-10h] push eax mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L0049A810 add esp,00000004h jmp L0044ADE2 L0044AD3C: mov ecx,[ebx+0000011Ch] test al,al jz L0044AD83 cmp ecx,esi jz L0044AD64 mov dx,[L006BB5B6] mov ax,[L006BB5B4] push edx lea edx,[ebx+0Ch] push eax push edx call SUB_L00402740 jmp L0044ADE2 L0044AD64: push 00000094h call SUB_L0049A820 add esp,00000004h mov [ebp-14h],eax cmp eax,esi mov dword ptr [ebp-04h],0000000Ah jz L0044ADDA push 00000001h jmp L0044ADBD L0044AD83: cmp ecx,esi jz L0044ADA1 mov dx,[L006BB5B6] mov ax,[L006BB5B4] push edx lea edx,[ebx+0Ch] push eax push edx call SUB_L004025A0 jmp L0044ADE2 L0044ADA1: push 00000094h call SUB_L0049A820 add esp,00000004h mov [ebp-14h],eax cmp eax,esi mov dword ptr [ebp-04h],0000000Bh jz L0044ADDA push esi L0044ADBD: mov cx,[L006BB5B6] mov dx,[L006BB5B4] push ecx lea ecx,[ebx+0Ch] push edx push ecx mov ecx,eax call SUB_L00402430 jmp L0044ADDC L0044ADDA: xor eax,eax L0044ADDC: mov [ebx+0000011Ch],eax L0044ADE2: mov al,[L0073EC34] test al,al jz L0044AE06 mov edx,[ebx+08h] mov word ptr [ebx+edx*2+0Ch],0000h mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L0044AE06: mov eax,[ebx+08h] mov ecx,[ebp-0Ch] pop edi pop esi mov byte ptr [ebx+eax+0Ch],00h mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ db 90h; '?' push SSZ004C7608_United_States push SSZ004C7600_English push 00000065h push L004C75FC mov ecx,L005492B8 call SUB_L0044BA90 push L0044AE50 call SUB_L0049BC50 add esp,00000004h retn ;------------------------------------------------------------------------------ Align 8 L0044AE50: mov cl,[L005492CC] mov al,01h test al,cl jnz L0044AE9D mov dl,cl or dl,al mov eax,[L005492C0] push eax mov [L005492CC],dl call SUB_L0049A810 mov eax,[L005492C4] add esp,00000004h push eax call SUB_L0049A810 add esp,00000004h xor eax,eax mov [L005492B8],al mov [L005492BC],al mov [L005492C0],eax mov [L005492C4],eax mov [L005492C8],eax L0044AE9D: retn ;------------------------------------------------------------------------------ Align 4 SUB_L0044AEA0: push ebp mov ebp,esp push FFFFFFFFh push L004B35EB mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000208h mov al,[L005492D0] test al,al jnz L0044B184 push edi push esi push ebx push 00000014h call SUB_L0049A820 add esp,00000004h mov [ebp-14h],eax test eax,eax mov dword ptr [ebp-04h],00000000h jz L0044AF0A mov ecx,[L005492C4] mov edx,[L005492C0] push ecx push edx movsx ecx,[L005492BC] push ecx push L005492B8 mov ecx,eax call SUB_L0044BA90 jmp L0044AF0C L0044AF0A: xor eax,eax L0044AF0C: mov edx,[L005492D4] mov dword ptr [ebp-04h],FFFFFFFFh mov [eax+10h],edx mov [L005492D4],eax call SUB_L0044B2E0 mov ebx,[KERNEL32.dll!GetProfileStringA] mov eax,L005492DC test eax,eax jz L0044AF3E mov al,[L005492DC] test al,al jnz L0044AFAF L0044AF3E: lea edx,[ebp-14h] push 00000004h xor ecx,ecx push edx push SSZ004C7684_default mov [ebp-14h],ecx push SSZ004C7678_sLanguage push SSZ004C7670_intl mov [ebp-10h],cl call ebx test eax,eax ja L0044AF86 mov edi,L004C766C or ecx,FFFFFFFFh xor eax,eax lea edx,[ebp-14h] repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb L0044AF86: lea ecx,[ebp-14h] test ecx,ecx jnz L0044AF9F push ecx mov edx,SSZ004C7640_LanguageManager__setUserLanguage mov ecx,SSZ004C7618___ul__not_setting_user_language_ call SUB_L0049A0A0 jmp L0044AFAF L0044AF9F: mov edx,[ebp-14h] mov [L005492DC],edx mov byte ptr [L005492DF],00h L0044AFAF: mov esi,[L005492D4] test esi,esi jz L0044AFD2 L0044AFB9: push esi push L005492DC call SUB_L0049B300 add esp,00000008h test eax,eax jz L0044AFD2 mov esi,[esi+10h] test esi,esi jnz L0044AFB9 L0044AFD2: test esi,esi mov [L005492D8],esi jnz L0044B019 mov eax,L004C75FC test eax,eax jnz L0044AFF7 push eax mov edx,SSZ004C7640_LanguageManager__setUserLanguage mov ecx,SSZ004C7618___ul__not_setting_user_language_ call SUB_L0049A0A0 jmp L0044B00A L0044AFF7: mov ecx,[L004C75FC] mov [L005492DC],ecx mov byte ptr [L005492DF],00h L0044B00A: mov ecx,L005492DC call SUB_L0044B6F0 mov [L005492D8],eax L0044B019: lea edx,[ebp-00000214h] mov ecx,00000012h call SUB_L00429840 test al,al jz L0044B166 lea edx,[ebp-00000214h] test edx,edx jnz L0044B04D push edx mov edx,SSZ004C7640_LanguageManager__setUserLanguage mov ecx,SSZ004C7618___ul__not_setting_user_language_ call SUB_L0049A0A0 jmp L0044B05F L0044B04D: mov eax,[ebp-00000214h] mov [L005492DC],eax mov byte ptr [L005492DF],00h L0044B05F: mov ecx,L005492DC test ecx,ecx jz L0044B071 mov al,[L005492DC] test al,al jnz L0044B0E2 L0044B071: lea eax,[ebp-14h] push 00000004h xor edx,edx push eax push SSZ004C7684_default mov [ebp-14h],edx push SSZ004C7678_sLanguage push SSZ004C7670_intl mov [ebp-10h],dl call ebx test eax,eax ja L0044B0B9 mov edi,L004C766C or ecx,FFFFFFFFh xor eax,eax lea edx,[ebp-14h] repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb L0044B0B9: lea ecx,[ebp-14h] test ecx,ecx jnz L0044B0D2 push ecx mov edx,SSZ004C7640_LanguageManager__setUserLanguage mov ecx,SSZ004C7618___ul__not_setting_user_language_ call SUB_L0049A0A0 jmp L0044B0E2 L0044B0D2: mov edx,[ebp-14h] mov [L005492DC],edx mov byte ptr [L005492DF],00h L0044B0E2: mov esi,[L005492D4] test esi,esi jz L0044B105 L0044B0EC: push esi push L005492DC call SUB_L0049B300 add esp,00000008h test eax,eax jz L0044B105 mov esi,[esi+10h] test esi,esi jnz L0044B0EC L0044B105: test esi,esi mov [L005492D8],esi jnz L0044B166 mov eax,L004C75FC test eax,eax jnz L0044B12A push eax mov edx,SSZ004C7640_LanguageManager__setUserLanguage mov ecx,SSZ004C7618___ul__not_setting_user_language_ call SUB_L0049A0A0 jmp L0044B13D L0044B12A: mov ecx,[L004C75FC] mov [L005492DC],ecx mov byte ptr [L005492DF],00h L0044B13D: mov esi,[L005492D4] test esi,esi jz L0044B160 L0044B147: push esi push L005492DC call SUB_L0049B300 add esp,00000008h test eax,eax jz L0044B160 mov esi,[esi+10h] test esi,esi jnz L0044B147 L0044B160: mov [L005492D8],esi L0044B166: call SUB_L0044B720 call SUB_L0044CA30 mov ecx,L005492DC call SUB_L0044CB40 mov byte ptr [L005492D0],01h pop ebx pop esi pop edi L0044B184: mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L0044B1A0: mov al,[L005492D0] push ebx xor ebx,ebx cmp al,bl jz L0044B244 push edi push esi call SUB_L0044CAE0 mov eax,[L005492E0] cmp eax,ebx jz L0044B1E4 L0044B1C0: mov edi,[eax+44h] mov esi,eax cmp esi,ebx jz L0044B1D9 mov ecx,esi call SUB_L0044BBB0 push esi call SUB_L0049A810 add esp,00000004h L0044B1D9: mov eax,edi cmp edi,ebx mov [L005492E0],eax jnz L0044B1C0 L0044B1E4: mov esi,[L005492D4] mov [L005492E0],ebx cmp esi,ebx jz L0044B236 L0044B1F4: mov edi,[esi+10h] cmp esi,ebx jz L0044B22A mov eax,[esi+08h] push eax call SUB_L0049A810 mov ecx,[esi+0Ch] add esp,00000004h push ecx call SUB_L0049A810 add esp,00000004h mov [esi],bl mov [esi+04h],bl mov [esi+08h],ebx push esi mov [esi+0Ch],ebx mov [esi+10h],ebx call SUB_L0049A810 add esp,00000004h L0044B22A: mov esi,edi cmp edi,ebx mov [L005492D4],esi jnz L0044B1F4 L0044B236: pop esi mov [L005492D4],ebx mov [L005492D0],bl pop edi L0044B244: pop ebx retn ;------------------------------------------------------------------------------ Align 16 SUB_L0044B250: mov ecx,[L005492D8] xor eax,eax test ecx,ecx jz L0044B25F mov eax,[ecx+08h] L0044B25F: retn ;------------------------------------------------------------------------------ SUB_L0044B260: mov ecx,[L005492D8] xor eax,eax test ecx,ecx jz L0044B26E mov eax,ecx L0044B26E: retn ;------------------------------------------------------------------------------ Align 4 SUB_L0044B270: push esi push edi mov edi,ecx test edi,edi jnz L0044B28C mov eax,[L005492D8] test eax,eax jz L0044B287 mov al,[eax+04h] pop edi pop esi retn ;------------------------------------------------------------------------------ L0044B287: xor al,al pop edi pop esi retn ;------------------------------------------------------------------------------ L0044B28C: mov esi,[L005492D4] test esi,esi jz L0044B2B9 L0044B296: push esi push edi call SUB_L0049B300 add esp,00000008h test eax,eax jz L0044B2B3 mov esi,[esi+10h] test esi,esi jnz L0044B296 mov al,[L005492BC] pop edi pop esi retn ;------------------------------------------------------------------------------ L0044B2B3: mov al,[esi+04h] pop edi pop esi retn ;------------------------------------------------------------------------------ L0044B2B9: mov al,[L005492BC] pop edi pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L0044B2D0: mov eax,L005492B8 retn ;------------------------------------------------------------------------------ Align 16 SUB_L0044B2E0: push ebp mov ebp,esp push FFFFFFFFh push L004B3629 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000CC8h push ebx push esi push edi or ecx,FFFFFFFFh mov edi,SSZ004C7740_language xor eax,eax xor bl,bl lea edx,[ebp-70h] repne scasb not ecx sub edi,ecx mov [ebp-70h],bl mov esi,edi mov edi,edx mov edx,ecx or ecx,FFFFFFFFh repne scasb mov ecx,edx dec edi shr ecx,02h rep movsd mov ecx,edx lea edx,[ebp-000000B0h] and ecx,00000003h mov [ebp-000000B0h],bl rep movsb or ecx,FFFFFFFFh mov edi,L004C773C repne scasb not ecx sub edi,ecx mov esi,edi mov edi,edx mov edx,ecx or ecx,FFFFFFFFh repne scasb mov ecx,edx dec edi shr ecx,02h rep movsd mov ecx,edx lea edx,[ebp-70h] and ecx,00000003h rep movsb mov edi,L004C7738 or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov esi,edi mov edi,edx mov edx,ecx or ecx,FFFFFFFFh repne scasb mov ecx,edx dec edi shr ecx,02h rep movsd mov ecx,edx lea edx,[ebp-000000B0h] and ecx,00000003h rep movsb mov edi,L004C7738 or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov esi,edi mov edi,edx mov edx,ecx or ecx,FFFFFFFFh repne scasb mov ecx,edx dec edi shr ecx,02h rep movsd mov ecx,edx lea edx,[ebp-70h] and ecx,00000003h rep movsb mov edi,SSZ004C7728_langcode_iff or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov esi,edi mov edi,edx mov edx,ecx or ecx,FFFFFFFFh repne scasb mov ecx,edx dec edi shr ecx,02h rep movsd mov ecx,edx lea edx,[ebp-000000B0h] and ecx,00000003h rep movsb mov edi,SSZ004C7728_langcode_iff or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov esi,edi mov edi,edx mov edx,ecx or ecx,FFFFFFFFh repne scasb mov ecx,edx dec edi shr ecx,02h rep movsd mov ecx,edx lea eax,[ebp-000000D4h] and ecx,00000003h push eax rep movsb lea ecx,[ebp-70h] push ecx mov ecx,L006BB1C8 call SUB_L00455E10 push eax call SUB_L004B0830 add esp,00000008h mov esi,eax lea edx,[ebp-000000D4h] lea eax,[ebp-000000B0h] push edx push eax mov ecx,L006BB1C8 call SUB_L00455E10 push eax call SUB_L004B0830 add esp,00000008h xor edi,edi test esi,esi jnz L0044B481 push 00000090h call SUB_L0049A820 mov esi,eax add esp,00000004h mov [ebp-30h],esi xor eax,eax cmp esi,eax mov [ebp-04h],eax jz L0044B4BF lea ecx,[ebp-70h] push ecx jmp L0044B4A9 L0044B481: test eax,eax jnz L0044B4C8 push 00000090h call SUB_L0049A820 mov esi,eax add esp,00000004h mov [ebp-30h],esi test esi,esi mov dword ptr [ebp-04h],00000001h jz L0044B4BD lea edx,[ebp-000000B0h] push edx L0044B4A9: mov ecx,L006BB1C8 call SUB_L00455E10 mov ecx,esi push eax call SUB_L004958A0 jmp L0044B4BF L0044B4BD: xor eax,eax L0044B4BF: mov dword ptr [ebp-04h],FFFFFFFFh mov edi,eax L0044B4C8: test edi,edi jz L0044B6DB mov ecx,edi call SUB_L00495960 lea ecx,[ebp-2Ch] push eax call SUB_L00448A50 mov ebx,00000002h push SSZ004C7728_langcode_iff lea ecx,[ebp-2Ch] mov [ebp-04h],ebx call SUB_L00448B40 lea ecx,[ebp-2Ch] push 44415441h call SUB_L00448EF0 lea ecx,[ebp-2Ch] push 4C414E47h call SUB_L00448EF0 lea ecx,[ebp-2Ch] push 57494E33h call SUB_L00448EF0 lea ecx,[ebp-2Ch] call SUB_L00449490 test al,al jnz L0044B69C L0044B52C: lea ecx,[ebp-2Ch] call SUB_L00448DF0 mov esi,eax cmp esi,434F4445h jz L0044B5C3 push esi lea ecx,[ebp-2Ch] call SUB_L00448E20 test al,al jz L0044B57A push 00000000h push SSZ004C7704_Ignoring_Unexpected_FORM_or_CHUN push SSZ004C76E0_LanguageManager__loadLanguageCod lea ecx,[ebp-2Ch] call SUB_L00448BA0 lea ecx,[ebp-2Ch] push esi call SUB_L00448EF0 lea ecx,[ebp-2Ch] push esi call SUB_L004493E0 jmp L0044B68C L0044B57A: push esi lea ecx,[ebp-2Ch] call SUB_L00448E90 test al,al push 00000000h jz L0044B5AC push SSZ004C7704_Ignoring_Unexpected_FORM_or_CHUN push SSZ004C76E0_LanguageManager__loadLanguageCod lea ecx,[ebp-2Ch] call SUB_L00448BA0 lea ecx,[ebp-2Ch] push esi call SUB_L00449100 push 00000000h push esi jmp L0044B684 L0044B5AC: push SSZ004C76B4_Very_Strange_Error__Maybe_Premat push SSZ004C76E0_LanguageManager__loadLanguageCod lea ecx,[ebp-2Ch] call SUB_L00448BA0 jmp L0044B68C L0044B5C3: push 434F4445h lea ecx,[ebp-2Ch] call SUB_L00449100 lea ecx,[ebp-2Ch] call SUB_L004494C0 cmp eax,00000400h jbe L0044B5F8 push 00000000h push SSZ004C768C_Ignoring_Unusually_large_CHUNK_C push SSZ004C76E0_LanguageManager__loadLanguageCod lea ecx,[ebp-2Ch] call SUB_L00448BA0 jmp L0044B67D L0044B5F8: lea eax,[ebp-00000CD4h] lea ecx,[ebp-2Ch] push eax call SUB_L00449570 lea ecx,[ebp-2Ch] push 00000000h call SUB_L004495F0 lea ecx,[ebp-000008D4h] push ecx lea ecx,[ebp-2Ch] movsx esi,al call SUB_L00449570 lea edx,[ebp-000004D4h] lea ecx,[ebp-2Ch] push edx call SUB_L00449570 push 00000014h call SUB_L0049A820 add esp,00000004h mov [ebp-30h],eax test eax,eax mov byte ptr [ebp-04h],03h jz L0044B666 lea ecx,[ebp-000004D4h] lea edx,[ebp-000008D4h] push ecx push edx lea ecx,[ebp-00000CD4h] push esi push ecx mov ecx,eax call SUB_L0044BA90 jmp L0044B668 L0044B666: xor eax,eax L0044B668: test eax,eax mov [ebp-04h],bl jz L0044B67D mov edx,[L005492D4] mov [eax+10h],edx mov [L005492D4],eax L0044B67D: push 00000000h push 434F4445h L0044B684: lea ecx,[ebp-2Ch] call SUB_L004492E0 L0044B68C: lea ecx,[ebp-2Ch] call SUB_L00449490 test al,al jz L0044B52C L0044B69C: push 57494E33h lea ecx,[ebp-2Ch] call SUB_L004493E0 lea ecx,[ebp-2Ch] push 4C414E47h call SUB_L004493E0 lea ecx,[ebp-2Ch] push 44415441h call SUB_L004493E0 mov ecx,edi mov bl,01h call SUB_L00495920 lea ecx,[ebp-2Ch] mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00448AE0 L0044B6DB: mov ecx,[ebp-0Ch] pop edi mov al,bl pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 4 SUB_L0044B6F0: push esi mov esi,[L005492D4] push edi mov edi,ecx test esi,esi jz L0044B713 L0044B6FE: push esi push edi call SUB_L0049B300 add esp,00000008h test eax,eax jz L0044B713 mov esi,[esi+10h] test esi,esi jnz L0044B6FE L0044B713: mov eax,esi pop edi pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L0044B720: push ebp mov ebp,esp sub esp,00000040h push esi push 00000001h push 00000000h push 00000000h xor edx,edx mov ecx,SSZ004C7768_intro call SUB_L0044B850 xor edx,edx mov ecx,SSZ004C6AF0_gt_0000 push 00000001h push 00000000h push 00000000h call SUB_L0044B850 xor edx,edx mov ecx,SSZ004C6AF8_gt_1010 push 00000001h push 00000000h push 00000000h call SUB_L0044B850 xor edx,edx mov ecx,SSZ004C6B00_gt_2000 push 00000001h push 00000000h push 00000000h call SUB_L0044B850 xor edx,edx mov ecx,SSZ004C6B08_gt_2310 push 00000001h push 00000000h push 00000000h call SUB_L0044B850 xor edx,edx mov ecx,SSZ004C6B10_gt_2400 push 00000001h push 00000000h push 00000000h call SUB_L0044B850 xor edx,edx mov ecx,SSZ004C6B18_gt_5000 push 00000001h push 00000000h push 00000000h call SUB_L0044B850 xor edx,edx mov ecx,SSZ004C6B20_gt_5400 push 00000001h push 00000000h push 00000000h call SUB_L0044B850 xor edx,edx mov ecx,SSZ004C775C_skilname push 00000001h push 00000000h push 00000000h call SUB_L0044B850 xor edx,edx mov ecx,SSZ004C5560_chat push 00000001h push 00000000h push 00000000h call SUB_L0044B850 xor edx,edx mov ecx,SSZ004C7754_options push 00000001h push 00000000h push 00000000h call SUB_L0044B850 mov esi,00000001h L0044B7F2: push esi lea eax,[ebp-40h] push SSZ004C774C__dgen push eax call SUB_L0049AC80 add esp,0000000Ch xor edx,edx lea ecx,[ebp-40h] push 00000001h push 00000000h push 00000000h call SUB_L0044B850 inc esi cmp esi,00000006h jle L0044B7F2 mov esi,00000001h L0044B81F: push esi lea ecx,[ebp-40h] push SSZ004C5514_skill_02d push ecx call SUB_L0049AC80 add esp,0000000Ch xor edx,edx lea ecx,[ebp-40h] push 00000001h push 00000000h push 00000000h call SUB_L0044B850 inc esi cmp esi,0000002Eh jle L0044B81F pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 SUB_L0044B850: push ebp mov ebp,esp push FFFFFFFFh push L004B364B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000200h mov al,[ebp+0Ch] push ebx push esi push edi test al,al mov edi,edx mov ebx,ecx jz L0044B905 test edi,edi jz L0044B8C4 mov esi,[L005492E0] test esi,esi jz L0044B8C4 L0044B88E: mov eax,[esi+08h] push edi push eax call SUB_L0049B300 add esp,00000008h test eax,eax jnz L0044B8BD mov ecx,[L005492D8] test ecx,ecx jz L0044B8AC mov eax,[ecx+08h] L0044B8AC: mov ecx,[esi+04h] push eax push ecx call SUB_L0049B300 add esp,00000008h test eax,eax jz L0044B8C6 L0044B8BD: mov esi,[esi+44h] test esi,esi jnz L0044B88E L0044B8C4: xor esi,esi L0044B8C6: test esi,esi jz L0044B905 mov ecx,[L005492E0] cmp ecx,esi jnz L0044B8DF mov edx,[esi+44h] mov [L005492E0],edx jmp L0044B8F5 L0044B8DF: mov eax,[ecx+44h] cmp eax,esi jz L0044B8EF L0044B8E6: mov ecx,eax mov eax,[ecx+44h] cmp eax,esi jnz L0044B8E6 L0044B8EF: mov eax,[esi+44h] mov [ecx+44h],eax L0044B8F5: mov ecx,esi call SUB_L0044BBB0 push esi call SUB_L0049A810 add esp,00000004h L0044B905: test edi,edi jz L0044B949 mov esi,[L005492E0] test esi,esi jz L0044B949 L0044B913: mov ecx,[esi+08h] push edi push ecx call SUB_L0049B300 add esp,00000008h test eax,eax jnz L0044B942 mov ecx,[L005492D8] test ecx,ecx jz L0044B931 mov eax,[ecx+08h] L0044B931: mov edx,[esi+04h] push eax push edx call SUB_L0049B300 add esp,00000008h test eax,eax jz L0044B94B L0044B942: mov esi,[esi+44h] test esi,esi jnz L0044B913 L0044B949: xor esi,esi L0044B94B: test esi,esi jnz L0044BA74 test ebx,ebx jz L0044B997 mov esi,[L005492E0] test esi,esi jz L0044B997 L0044B961: mov eax,[esi+08h] push ebx push eax call SUB_L0049B300 add esp,00000008h test eax,eax jnz L0044B990 mov ecx,[L005492D8] test ecx,ecx jz L0044B97F mov eax,[ecx+08h] L0044B97F: mov ecx,[esi+04h] push eax push ecx call SUB_L0049B300 add esp,00000008h test eax,eax jz L0044B999 L0044B990: mov esi,[esi+44h] test esi,esi jnz L0044B961 L0044B997: xor esi,esi L0044B999: test esi,esi jnz L0044BA74 push 00000048h call SUB_L0049A820 add esp,00000004h mov [ebp+0Ch],eax cmp eax,esi mov [ebp-04h],esi jz L0044B9BE mov ecx,eax call SUB_L0044BB70 mov esi,eax L0044B9BE: test esi,esi mov dword ptr [ebp-04h],FFFFFFFFh jnz L0044B9DA push 00000001h mov edx,SSZ004C7804_cannot_new_LanguageSection mov ecx,SSZ004C77E4_LanguageManager__loadSection_ call SUB_L0049A0A0 L0044B9DA: mov edx,[ebp+08h] mov ecx,esi push edx push edi push ebx call SUB_L0044BCB0 test al,al jz L0044B9FB mov eax,[L005492E0] mov [esi+44h],eax mov [L005492E0],esi jmp L0044BA74 L0044B9FB: mov al,[ebp+10h] test al,al jz L0044BA5E mov eax,[L005492D8] xor ecx,ecx test eax,eax jz L0044BA10 mov ecx,[eax+08h] L0044BA10: test ecx,ecx jnz L0044BA2C push ebx push edi lea ecx,[ebp-0000020Ch] push SSZ004C77A8___getLanguageName_____no_section push ecx call SUB_L0049AC80 add esp,00000010h jmp L0044BA4C L0044BA2C: xor ecx,ecx test eax,eax jz L0044BA35 mov ecx,[eax+08h] L0044BA35: push ebx push ecx push edi lea edx,[ebp-0000020Ch] push SSZ004C7770_no_section___s__found_for_langua push edx call SUB_L0049AC80 add esp,00000014h L0044BA4C: push 00000001h lea edx,[ebp-0000020Ch] mov ecx,SSZ004C77E4_LanguageManager__loadSection_ call SUB_L0049A0A0 L0044BA5E: test esi,esi jz L0044BA72 mov ecx,esi call SUB_L0044BBB0 push esi call SUB_L0049A810 add esp,00000004h L0044BA72: xor esi,esi L0044BA74: mov ecx,[ebp-0Ch] mov eax,esi pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 8 SUB_L0044BA90: push ebp mov ebp,esp push ebx push esi mov esi,[ebp+08h] mov ebx,ecx xor eax,eax push edi mov byte ptr [ebx],00h mov byte ptr [ebx+04h],00h mov [ebx+08h],eax mov [ebx+0Ch],eax mov [ebx+10h],eax movsx eax,[esi] push eax call SUB_L0049AD20 mov [ebx],al add esp,00000004h movsx ecx,[esi+01h] push ecx call SUB_L0049AD20 mov [ebx+01h],al add esp,00000004h movsx edx,[esi+02h] push edx call SUB_L0049AD20 mov [ebx+02h],al mov al,[ebp+0Ch] add esp,00000004h cmp al,3Fh mov byte ptr [ebx+03h],00h mov [ebx+04h],al jnz L0044BAED mov byte ptr [ebx+04h],00h L0044BAED: mov esi,[ebp+10h] or ecx,FFFFFFFFh mov edi,esi xor eax,eax repne scasb not ecx push ecx call SUB_L0049A820 mov edx,eax mov edi,esi or ecx,FFFFFFFFh xor eax,eax add esp,00000004h mov [ebx+08h],edx repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax xor eax,eax and ecx,00000003h rep movsb mov esi,[ebp+14h] or ecx,FFFFFFFFh mov edi,esi repne scasb not ecx push ecx call SUB_L0049A820 mov edx,eax mov edi,esi or ecx,FFFFFFFFh xor eax,eax add esp,00000004h mov [ebx+0Ch],edx repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax mov eax,ebx and ecx,00000003h rep movsb pop edi pop esi pop ebx pop ebp retn 0010h ;------------------------------------------------------------------------------ Align 8 SUB_L0044BB70: mov eax,ecx xor ecx,ecx mov [eax],cl mov [eax+04h],ecx mov [eax+08h],ecx mov [eax+0Ch],ecx mov [eax+10h],ecx mov [eax+14h],ecx mov [eax+18h],ecx mov [eax+1Ch],ecx mov [eax+20h],ecx mov [eax+24h],ecx mov [eax+28h],ecx mov [eax+2Ch],ecx mov [eax+30h],ecx mov [eax+34h],ecx mov [eax+38h],ecx mov [eax+3Ch],ecx mov [eax+40h],ecx mov [eax+44h],ecx retn ;------------------------------------------------------------------------------ Align 8 SUB_L0044BBB0: push ebx push esi mov esi,ecx xor ebx,ebx push edi cmp [esi+24h],ebx jz L0044BBE5 cmp [esi+20h],ebx jle L0044BBE5 L0044BBC1: mov eax,[esi+24h] mov edi,[eax+ebx*4] test edi,edi jz L0044BBDB mov ecx,edi call SUB_L00493CF0 push edi call SUB_L0049A810 add esp,00000004h L0044BBDB: mov eax,[esi+20h] inc ebx cmp ebx,eax jl L0044BBC1 xor ebx,ebx L0044BBE5: mov ecx,[esi+04h] push ecx call SUB_L0049A810 mov edx,[esi+08h] add esp,00000004h push edx call SUB_L0049A810 mov eax,[esi+24h] add esp,00000004h push eax call SUB_L0049A810 mov edi,[esi+30h] add esp,00000004h cmp edi,ebx jz L0044BC20 mov ecx,edi call SUB_L004958E0 push edi call SUB_L0049A810 add esp,00000004h L0044BC20: mov ecx,[esi+28h] push ecx call SUB_L0049A810 mov edx,[esi+2Ch] add esp,00000004h push edx call SUB_L0049A810 mov eax,[esi+34h] add esp,00000004h push eax call SUB_L0049A810 mov ecx,[esi+38h] add esp,00000004h push ecx call SUB_L0049A810 mov edx,[esi+3Ch] add esp,00000004h push edx call SUB_L0049A810 mov eax,[esi+40h] add esp,00000004h push eax call SUB_L0049A810 add esp,00000004h mov byte ptr [esi],00h mov [esi+04h],ebx mov [esi+08h],ebx mov [esi+0Ch],ebx mov [esi+10h],ebx mov [esi+14h],ebx mov [esi+18h],ebx mov [esi+1Ch],ebx mov [esi+20h],ebx mov [esi+24h],ebx mov [esi+28h],ebx mov [esi+2Ch],ebx mov [esi+30h],ebx mov [esi+34h],ebx mov [esi+38h],ebx mov [esi+3Ch],ebx mov [esi+40h],ebx mov [esi+44h],ebx pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ Align 16 SUB_L0044BCB0: push ebp mov ebp,esp push FFFFFFFFh push L004B367E mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000224h push ebx push esi mov esi,[ebp+08h] mov ebx,ecx push edi push esi mov byte ptr [ebx],00h call SUB_L0044C2C0 mov eax,[ebx+30h] test eax,eax jnz L0044BD0D push esi lea eax,[ebp-00000230h] push SSZ004C78E8_cannot_open_file___s__ push eax call SUB_L0049AC80 add esp,0000000Ch mov edx,SSZ004C78D0_LanguageSection__load_ lea ecx,[ebp-00000230h] push 00000001h call SUB_L0049A0A0 L0044BD0D: mov ecx,[ebx+30h] call SUB_L00495960 push eax lea ecx,[ebp-2Ch] call SUB_L00448A50 push esi lea ecx,[ebp-2Ch] mov dword ptr [ebp-04h],00000000h call SUB_L00448B40 push 44415441h lea ecx,[ebp-2Ch] call SUB_L00448EF0 push 4C414E47h lea ecx,[ebp-2Ch] call SUB_L00448EF0 push 494E464Fh lea ecx,[ebp-2Ch] call SUB_L00449100 lea ecx,[ebp-2Ch] call SUB_L00449500 push 00000000h lea ecx,[ebp-2Ch] call SUB_L004495F0 push 00000000h lea ecx,[ebp-2Ch] mov [ebx+0Ch],eax call SUB_L004495F0 push 00000200h mov [ebx+10h],eax call SUB_L0049A820 add esp,00000004h lea ecx,[ebp-2Ch] mov [ebx+08h],eax push eax call SUB_L00449570 push 00000000h lea ecx,[ebp-2Ch] call SUB_L004495F0 push 00000000h lea ecx,[ebp-2Ch] mov [ebx+14h],eax call SUB_L004495F0 lea ecx,[ebp-2Ch] mov [ebx+20h],eax call SUB_L004494C0 test eax,eax jz L0044BDCA push 00000001h push SSZ004C78B4_Extra_data_in_CHUNK_INFO_ push SSZ004C78D0_LanguageSection__load_ lea ecx,[ebp-2Ch] call SUB_L00448BA0 L0044BDCA: push 00000000h push 494E464Fh lea ecx,[ebp-2Ch] call SUB_L004492E0 mov eax,[ebx+0Ch] cmp eax,00000001h jz L0044BDFA cmp eax,00000002h jz L0044BDFA push 00000001h push SSZ004C789C_Illegal_character_size_ push SSZ004C78D0_LanguageSection__load_ lea ecx,[ebp-2Ch] call SUB_L00448BA0 L0044BDFA: mov eax,[ebx+20h] test eax,eax jg L0044BE15 push 00000001h push SSZ004C7888_stringCount____0_ push SSZ004C78D0_LanguageSection__load_ lea ecx,[ebp-2Ch] call SUB_L00448BA0 L0044BE15: mov ecx,[ebx+20h] shl ecx,02h push ecx call SUB_L0049A820 mov ecx,[ebx+20h] mov edi,eax shl ecx,02h mov edx,ecx xor eax,eax shr ecx,02h mov [ebx+24h],edi add esp,00000004h rep stosd mov ecx,edx and ecx,00000003h rep stosb lea ecx,[ebp-2Ch] call SUB_L00449490 test al,al jnz L0044C22C L0044BE4F: lea ecx,[ebp-2Ch] call SUB_L00448DF0 mov esi,eax cmp esi,464F4E54h jg L0044BF2E jz L0044BEE1 cmp esi,434F4C52h jnz L0044BF4E push eax lea ecx,[ebp-2Ch] call SUB_L00449100 mov eax,[ebx+20h] shl eax,02h push eax call SUB_L0049A820 mov [ebx+3Ch],eax mov eax,[ebx+20h] add esp,00000004h xor esi,esi test eax,eax jle L0044BED5 L0044BE97: push 00000000h lea ecx,[ebp-2Ch] call SUB_L004495F0 push 00000000h lea ecx,[ebp-2Ch] mov edi,eax call SUB_L004495F0 push 00000000h lea ecx,[ebp-2Ch] mov [ebp+08h],eax call SUB_L004495F0 mov edx,[ebp+08h] mov ecx,[ebx+3Ch] shl edi,08h add edi,edx shl edi,08h add edi,eax mov [ecx+esi*4],edi mov eax,[ebx+20h] inc esi cmp esi,eax jl L0044BE97 L0044BED5: push 00000001h push 434F4C52h jmp L0044C214 L0044BEE1: push 464F4E54h lea ecx,[ebp-2Ch] call SUB_L00449100 mov edx,[ebx+20h] shl edx,02h push edx call SUB_L0049A820 mov [ebx+40h],eax mov eax,[ebx+20h] add esp,00000004h xor esi,esi test eax,eax jle L0044BF22 L0044BF09: push 00000000h lea ecx,[ebp-2Ch] call SUB_L004495F0 mov ecx,[ebx+40h] inc esi mov [ecx+esi*4-04h],eax mov eax,[ebx+20h] cmp esi,eax jl L0044BF09 L0044BF22: push 00000001h push 464F4E54h jmp L0044C214 L0044BF2E: cmp esi,504F534Eh jz L0044C1AA cmp esi,54455854h jz L0044BFE2 cmp esi,54494D45h jz L0044BF73 L0044BF4E: push 00000000h push SSZ004C7704_Ignoring_Unexpected_FORM_or_CHUN push SSZ004C78D0_LanguageSection__load_ lea ecx,[ebp-2Ch] call SUB_L00448BA0 push esi lea ecx,[ebp-2Ch] call SUB_L00449100 push 00000000h push esi jmp L0044C214 L0044BF73: push 54494D45h lea ecx,[ebp-2Ch] call SUB_L00449100 mov edx,[ebx+20h] shl edx,02h push edx call SUB_L0049A820 mov [ebx+28h],eax mov eax,[ebx+20h] add esp,00000004h shl eax,02h push eax call SUB_L0049A820 mov [ebx+2Ch],eax mov eax,[ebx+20h] add esp,00000004h xor esi,esi test eax,eax jle L0044BFD6 L0044BFAD: push 00000000h lea ecx,[ebp-2Ch] call SUB_L004495F0 mov ecx,[ebx+28h] push 00000000h mov [ecx+esi*4],eax lea ecx,[ebp-2Ch] call SUB_L004495F0 mov edx,[ebx+2Ch] inc esi mov [edx+esi*4-04h],eax mov eax,[ebx+20h] cmp esi,eax jl L0044BFAD L0044BFD6: push 00000001h push 54494D45h jmp L0044C214 L0044BFE2: push 54455854h lea ecx,[ebp-2Ch] call SUB_L00449100 cmp dword ptr [ebx+0Ch],00000001h jnz L0044C0BF lea ecx,[ebp-2Ch] call SUB_L004496B0 mov ecx,[ebx+20h] xor edi,edi test ecx,ecx mov [ebp+08h],eax mov esi,eax jle L0044C07D L0044C00F: push 00000010h call SUB_L0049A820 add esp,00000004h mov [ebp-30h],eax test eax,eax mov byte ptr [ebp-04h],01h jz L0044C02E push esi mov ecx,eax call SUB_L00493DA0 jmp L0044C030 L0044C02E: xor eax,eax L0044C030: mov ecx,[ebx+24h] mov byte ptr [ebp-04h],00h mov [ecx+edi*4],eax mov al,[esi] test al,al jnz L0044C043 inc esi jmp L0044C072 L0044C043: inc esi L0044C044: lea ecx,[ebp-2Ch] call SUB_L004494C0 mov ecx,[ebp+08h] mov edx,esi sub edx,ecx cmp edx,eax jbe L0044C06B push 00000001h push SSZ004C7860_NOT_ENOUGH_DATA__Check_string_co push SSZ004C7844_LanguageSection__loadText_ lea ecx,[ebp-2Ch] call SUB_L00448BA0 L0044C06B: mov al,[esi] inc esi test al,al jnz L0044C044 L0044C072: mov eax,[ebx+20h] inc edi cmp edi,eax jl L0044C00F mov eax,[ebp+08h] L0044C07D: lea ecx,[ebp-2Ch] sub esi,eax call SUB_L004494C0 cmp esi,eax jnc L0044C09F push 00000001h push SSZ004C7820_TOO_MUCH_DATA__Check_string_coun push SSZ004C7844_LanguageSection__loadText_ lea ecx,[ebp-2Ch] call SUB_L00448BA0 L0044C09F: lea ecx,[ebp-2Ch] call SUB_L004494C0 cmp esi,eax jbe L0044C0BF push 00000001h push SSZ004C7860_NOT_ENOUGH_DATA__Check_string_co push SSZ004C7844_LanguageSection__loadText_ lea ecx,[ebp-2Ch] call SUB_L00448BA0 L0044C0BF: cmp dword ptr [ebx+0Ch],00000002h jnz L0044C1A1 lea ecx,[ebp-2Ch] call SUB_L004496B0 mov ecx,[ebx+20h] xor esi,esi test ecx,ecx mov [ebp+08h],eax mov edi,eax jle L0044C159 L0044C0DF: push 00000010h call SUB_L0049A820 add esp,00000004h mov [ebp-30h],eax test eax,eax mov byte ptr [ebp-04h],02h jz L0044C0FE push edi mov ecx,eax call SUB_L00493D10 jmp L0044C100 L0044C0FE: xor eax,eax L0044C100: mov ecx,[ebx+24h] mov byte ptr [ebp-04h],00h mov [ecx+esi*4],eax cmp word ptr [edi],0000h jnz L0044C115 add edi,00000002h jmp L0044C14E L0044C115: add edi,00000002h L0044C118: lea ecx,[ebp-2Ch] call SUB_L004494C0 mov ecx,[ebp+08h] mov edx,edi sub edx,ecx shr eax,1 sar edx,1 cmp edx,eax jbe L0044C143 push 00000001h push SSZ004C7860_NOT_ENOUGH_DATA__Check_string_co push SSZ004C7844_LanguageSection__loadText_ lea ecx,[ebp-2Ch] call SUB_L00448BA0 L0044C143: mov ax,[edi] add edi,00000002h test ax,ax jnz L0044C118 L0044C14E: mov eax,[ebx+20h] inc esi cmp esi,eax jl L0044C0DF mov eax,[ebp+08h] L0044C159: sub edi,eax lea ecx,[ebp-2Ch] sar edi,1 call SUB_L004494C0 shr eax,1 cmp edi,eax jnc L0044C17F push 00000001h push SSZ004C7820_TOO_MUCH_DATA__Check_string_coun push SSZ004C7844_LanguageSection__loadText_ lea ecx,[ebp-2Ch] call SUB_L00448BA0 L0044C17F: lea ecx,[ebp-2Ch] call SUB_L004494C0 shr eax,1 cmp edi,eax jbe L0044C1A1 push 00000001h push SSZ004C7860_NOT_ENOUGH_DATA__Check_string_co push SSZ004C7844_LanguageSection__loadText_ lea ecx,[ebp-2Ch] call SUB_L00448BA0 L0044C1A1: push 00000000h push 54455854h jmp L0044C214 L0044C1AA: push 504F534Eh lea ecx,[ebp-2Ch] call SUB_L00449100 mov ecx,[ebx+20h] shl ecx,02h push ecx call SUB_L0049A820 mov edx,[ebx+20h] add esp,00000004h shl edx,02h push edx mov [ebx+34h],eax call SUB_L0049A820 mov [ebx+38h],eax mov eax,[ebx+20h] add esp,00000004h xor esi,esi test eax,eax jle L0044C20D L0044C1E4: push 00000000h lea ecx,[ebp-2Ch] call SUB_L004495F0 mov ecx,[ebx+34h] push 00000000h mov [ecx+esi*4],eax lea ecx,[ebp-2Ch] call SUB_L004495F0 mov edx,[ebx+38h] inc esi mov [edx+esi*4-04h],eax mov eax,[ebx+20h] cmp esi,eax jl L0044C1E4 L0044C20D: push 00000001h push 504F534Eh L0044C214: lea ecx,[ebp-2Ch] call SUB_L004492E0 lea ecx,[ebp-2Ch] call SUB_L00449490 test al,al jz L0044BE4F L0044C22C: push 4C414E47h lea ecx,[ebp-2Ch] call SUB_L004493E0 push 44415441h lea ecx,[ebp-2Ch] call SUB_L004493E0 mov ecx,[ebx+30h] mov byte ptr [ebx],01h call SUB_L00495920 call SUB_L0044B250 mov edi,eax or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx push ecx call SUB_L0049A820 add esp,00000004h mov [ebx+04h],eax call SUB_L0044B250 mov edi,eax or ecx,FFFFFFFFh xor eax,eax mov dword ptr [ebp-04h],FFFFFFFFh repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,[ebx+04h] shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov bl,[ebx] lea ecx,[ebp-2Ch] call SUB_L00448AE0 mov ecx,[ebp-0Ch] pop edi mov al,bl pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 16 SUB_L0044C2C0: push ebp mov ebp,esp push FFFFFFFFh push L004B36BC mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000034h push ebx push esi mov [ebp-1Ch],ecx push edi mov edi,[ebp+08h] or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx mov edi,SSZ004C7740_language mov edx,ecx or ecx,FFFFFFFFh repne scasb not ecx dec ecx lea esi,[edx+ecx+06h] push esi call SUB_L0049A820 add esp,00000004h mov ebx,eax push esi call SUB_L0049A820 add esp,00000004h mov edi,eax mov [ebp-18h],edi push esi call SUB_L0049A820 add esp,00000004h mov [ebp-10h],eax push esi call SUB_L0049A820 mov ecx,[ebp-10h] mov byte ptr [ebx],00h mov byte ptr [edi],00h mov [ebp-14h],eax mov byte ptr [ecx],00h mov byte ptr [eax],00h mov edi,SSZ004C7740_language or ecx,FFFFFFFFh xor eax,eax add esp,00000004h repne scasb not ecx sub edi,ecx mov esi,edi mov edx,ecx mov edi,ebx or ecx,FFFFFFFFh repne scasb mov ecx,edx dec edi shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb mov edi,L004C773C or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov esi,edi mov edi,[ebp-18h] mov edx,ecx or ecx,FFFFFFFFh repne scasb mov ecx,edx dec edi shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb mov edi,SSZ004C7740_language or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov esi,edi mov edx,ecx mov edi,[ebp-10h] or ecx,FFFFFFFFh repne scasb mov ecx,edx dec edi shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb or ecx,FFFFFFFFh mov edi,L004C773C repne scasb not ecx sub edi,ecx mov edx,ecx mov esi,edi mov edi,[ebp-14h] or ecx,FFFFFFFFh repne scasb mov ecx,edx dec edi shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb or ecx,FFFFFFFFh mov edi,L004C7738 repne scasb not ecx sub edi,ecx mov edx,ecx mov esi,edi or ecx,FFFFFFFFh mov edi,ebx repne scasb mov ecx,edx dec edi shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb mov edi,L004C7738 or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov esi,edi mov edi,[ebp-18h] mov edx,ecx or ecx,FFFFFFFFh repne scasb mov ecx,edx dec edi shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb mov edi,L004C7738 or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov esi,edi mov edi,[ebp-10h] mov edx,ecx or ecx,FFFFFFFFh repne scasb mov ecx,edx dec edi shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb mov edi,L004C7738 or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov esi,edi mov edi,[ebp-14h] mov edx,ecx or ecx,FFFFFFFFh repne scasb mov ecx,edx dec edi shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb mov edi,[ebp+08h] or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov edx,ecx mov esi,edi or ecx,FFFFFFFFh mov edi,ebx repne scasb mov ecx,edx dec edi shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb mov edi,[ebp+08h] or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov esi,edi mov edi,[ebp-18h] mov edx,ecx or ecx,FFFFFFFFh repne scasb mov ecx,edx dec edi shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb mov edi,[ebp+08h] or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov esi,edi mov edi,[ebp-10h] mov edx,ecx or ecx,FFFFFFFFh repne scasb mov ecx,edx dec edi shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb mov edi,[ebp+08h] or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov esi,edi mov edi,[ebp-14h] mov edx,ecx or ecx,FFFFFFFFh repne scasb mov ecx,edx dec edi shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb or ecx,FFFFFFFFh mov edi,L004C773C repne scasb not ecx sub edi,ecx mov edx,ecx mov esi,edi or ecx,FFFFFFFFh mov edi,ebx repne scasb mov ecx,edx dec edi shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb or ecx,FFFFFFFFh mov edi,L004C773C repne scasb not ecx sub edi,ecx mov edx,ecx mov esi,edi mov edi,[ebp-18h] or ecx,FFFFFFFFh repne scasb mov ecx,edx dec edi shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb mov edi,L004C773C or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov esi,edi mov edi,[ebp-10h] mov edx,ecx or ecx,FFFFFFFFh repne scasb mov ecx,edx dec edi shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb mov edi,L004C773C or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov esi,edi mov edi,[ebp-14h] mov edx,ecx or ecx,FFFFFFFFh repne scasb mov ecx,edx dec edi shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb call SUB_L0044B260 mov edi,eax or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx mov esi,edi mov edx,ecx mov edi,ebx or ecx,FFFFFFFFh repne scasb mov ecx,edx dec edi shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb call SUB_L0044B260 mov edi,eax or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx mov esi,edi mov edi,[ebp-18h] mov edx,ecx or ecx,FFFFFFFFh repne scasb mov ecx,edx dec edi shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb call SUB_L0044B2D0 mov edi,eax or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx mov esi,edi mov edi,[ebp-10h] mov edx,ecx or ecx,FFFFFFFFh repne scasb mov ecx,edx dec edi shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb call SUB_L0044B2D0 mov edi,eax or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx mov esi,edi mov edi,[ebp-14h] mov edx,ecx or ecx,FFFFFFFFh repne scasb mov ecx,edx dec edi shr ecx,02h rep movsd mov ecx,edx lea eax,[ebp-40h] and ecx,00000003h push eax rep movsb push ebx mov ecx,L006BB1C8 call SUB_L00455E10 push eax call SUB_L004B0830 mov edi,[ebp-18h] add esp,00000008h lea ecx,[ebp-40h] mov esi,eax push ecx push edi mov ecx,L006BB1C8 call SUB_L00455E10 push eax call SUB_L004B0830 add esp,00000008h mov [ebp+08h],eax mov eax,[ebp-10h] lea edx,[ebp-40h] push edx push eax mov ecx,L006BB1C8 call SUB_L00455E10 push eax call SUB_L004B0830 mov edx,[ebp-14h] add esp,00000008h lea ecx,[ebp-40h] mov [ebp-18h],eax push ecx push edx mov ecx,L006BB1C8 call SUB_L00455E10 push eax call SUB_L004B0830 add esp,00000008h test esi,esi jnz L0044C714 push 00000090h call SUB_L0049A820 mov esi,eax add esp,00000004h mov [ebp+08h],esi xor eax,eax cmp esi,eax mov [ebp-04h],eax jz L0044C7E8 push ebx jmp L0044C7D2 L0044C714: mov ecx,[ebp+08h] test ecx,ecx jnz L0044C771 push 00000090h call SUB_L0049A820 mov esi,eax add esp,00000004h mov [ebp+08h],esi test esi,esi mov dword ptr [ebp-04h],00000001h jz L0044C75D push edi mov ecx,L006BB1C8 call SUB_L00455E10 push eax mov ecx,esi call SUB_L004958A0 mov edx,[ebp-1Ch] mov dword ptr [ebp-04h],FFFFFFFFh mov [edx+30h],eax jmp L0044C7F5 L0044C75D: mov edx,[ebp-1Ch] xor eax,eax mov dword ptr [ebp-04h],FFFFFFFFh mov [edx+30h],eax jmp L0044C7F5 L0044C771: mov ecx,[ebp-18h] test ecx,ecx jnz L0044C7AD push 00000090h call SUB_L0049A820 mov esi,eax add esp,00000004h mov [ebp+08h],esi test esi,esi mov dword ptr [ebp-04h],00000002h jz L0044C7E6 mov eax,[ebp-10h] mov ecx,L006BB1C8 push eax call SUB_L00455E10 push eax mov ecx,esi call SUB_L004958A0 jmp L0044C7E8 L0044C7AD: test eax,eax jnz L0044C7F5 push 00000090h call SUB_L0049A820 mov esi,eax add esp,00000004h mov [ebp+08h],esi test esi,esi mov dword ptr [ebp-04h],00000003h jz L0044C7E6 mov edx,[ebp-14h] push edx L0044C7D2: mov ecx,L006BB1C8 call SUB_L00455E10 push eax mov ecx,esi call SUB_L004958A0 jmp L0044C7E8 L0044C7E6: xor eax,eax L0044C7E8: mov ecx,[ebp-1Ch] mov dword ptr [ebp-04h],FFFFFFFFh mov [ecx+30h],eax L0044C7F5: push ebx call SUB_L0049A810 add esp,00000004h push edi call SUB_L0049A810 mov edx,[ebp-10h] add esp,00000004h push edx call SUB_L0049A810 mov eax,[ebp-14h] add esp,00000004h push eax call SUB_L0049A810 mov ecx,[ebp-0Ch] add esp,00000004h mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L0044C840: push ebp mov ebp,esp sub esp,00000200h push esi mov esi,[ebp+08h] push edi xor edi,edi test esi,esi jl L0044C861 cmp esi,[ecx+20h] jge L0044C861 mov eax,[ecx+24h] mov edi,[eax+esi*4] jmp L0044C88D L0044C861: mov ecx,[ecx+20h] lea edx,[ebp-00000200h] dec ecx push ecx push esi push SSZ004C793C_given_string_number___d__out_of_ push edx call SUB_L0049AC80 add esp,00000010h lea edx,[ebp-00000200h] mov ecx,SSZ004C7920_LanguageSection__getStr_ push 00000001h call SUB_L0049A0A0 L0044C88D: test edi,edi jnz L0044C8B8 push esi lea eax,[ebp-00000200h] push SSZ004C7900_string_number___d__is_NULL___ push eax call SUB_L0049AC80 add esp,0000000Ch lea edx,[ebp-00000200h] mov ecx,SSZ004C7920_LanguageSection__getStr_ push 00000001h call SUB_L0049A0A0 L0044C8B8: mov eax,edi pop edi pop esi mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L0044C8D0: push ebp mov ebp,esp sub esp,00000200h push ebx push esi mov esi,ecx push edi mov eax,[esi+28h] test eax,eax jz L0044C8EC mov eax,[esi+2Ch] test eax,eax jnz L0044C912 L0044C8EC: lea eax,[ebp-00000200h] push SSZ004C7990_no_frame_timing_information push eax call SUB_L0049AC80 add esp,00000008h mov edx,SSZ004C796C_LanguageSection__getStrForFrame_ lea ecx,[ebp-00000200h] push 00000001h call SUB_L0049A0A0 L0044C912: mov edi,[esi+20h] xor eax,eax test edi,edi jle L0044C95B mov edx,[esi+28h] mov ecx,[ebp+08h] L0044C921: cmp [edx+eax*4],ecx jg L0044C92E mov ebx,[esi+2Ch] cmp ecx,[ebx+eax*4] jle L0044C947 L0044C92E: inc eax cmp eax,edi jl L0044C921 mov eax,[ebp+0Ch] mov dword ptr [eax],FFFFFFFFh xor eax,eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L0044C947: mov ecx,[ebp+0Ch] mov [ecx],eax mov edx,[esi+24h] mov eax,[edx+eax*4] pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L0044C95B: mov eax,[ebp+0Ch] pop edi pop esi pop ebx mov dword ptr [eax],FFFFFFFFh xor eax,eax mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 4 SUB_L0044C970: push ebp mov ebp,esp mov edx,[ecx+34h] test edx,edx jz L0044C98D mov eax,[ebp+08h] test eax,eax jl L0044C98D cmp eax,[ecx+20h] jge L0044C98D mov eax,[edx+eax*4] pop ebp retn 0004h ;------------------------------------------------------------------------------ L0044C98D: xor eax,eax pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L0044C9A0: push ebp mov ebp,esp mov edx,[ecx+38h] test edx,edx jz L0044C9BD mov eax,[ebp+08h] test eax,eax jl L0044C9BD cmp eax,[ecx+20h] jge L0044C9BD mov eax,[edx+eax*4] pop ebp retn 0004h ;------------------------------------------------------------------------------ L0044C9BD: xor eax,eax pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L0044C9D0: push ebp mov ebp,esp mov edx,[ecx+3Ch] test edx,edx jz L0044C9F4 mov eax,[ebp+08h] test eax,eax jl L0044C9F4 cmp eax,[ecx+20h] jge L0044C9F4 mov ecx,[ebp+0Ch] mov eax,[edx+eax*4] mov [ecx],eax mov al,01h pop ebp retn 0008h ;------------------------------------------------------------------------------ L0044C9F4: xor al,al pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 8 SUB_L0044CA00: push ebp mov ebp,esp mov edx,[ecx+40h] test edx,edx jz L0044CA24 mov eax,[ebp+08h] test eax,eax jl L0044CA24 cmp eax,[ecx+20h] jge L0044CA24 mov ecx,[ebp+0Ch] mov eax,[edx+eax*4] mov [ecx],eax mov al,01h pop ebp retn 0008h ;------------------------------------------------------------------------------ L0044CA24: xor al,al pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 8 SUB_L0044CA30: mov al,[L005492E4] test al,al jnz L0044CAAE mov al,[L005492E8] test al,al jz L0044CAA7 mov eax,[L005492FC] test eax,eax jz L0044CA91 mov ecx,[L0054930C] test ecx,ecx jz L0044CA91 cmp eax,7F000001h jnz L0044CA73 call SUB_L0044CB80 mov [L005492EC],al call SUB_L0044D130 mov byte ptr [L005492E4],01h retn ;------------------------------------------------------------------------------ L0044CA73: push 00000000h mov edx,SSZ004C7A68_LanguageTranslationServer__insta mov ecx,SSZ004C7A18_currently_no_support_for_transla call SUB_L0049A0A0 call SUB_L0044D130 mov byte ptr [L005492E4],01h retn ;------------------------------------------------------------------------------ L0044CA91: push 00000000h mov edx,SSZ004C7A68_LanguageTranslationServer__insta mov ecx,SSZ004C79D8_must_specify_IP_address___port_n call SUB_L0049A0A0 call SUB_L0044D130 L0044CAA7: mov byte ptr [L005492E4],01h L0044CAAE: retn ;------------------------------------------------------------------------------ Align 4 SUB_L0044CAB0: mov byte ptr [L005492E8],01h retn ;------------------------------------------------------------------------------ Align 16 SUB_L0044CAC0: mov al,[L005492E4] test al,al jz L0044CAD7 mov al,[L005492E8] test al,al jz L0044CAD7 jmp L0044D270 L0044CAD7: retn ;------------------------------------------------------------------------------ Align 16 SUB_L0044CAE0: mov al,[L005492E4] push ebx xor ebx,ebx cmp al,bl jz L0044CB31 cmp [L005492EC],bl jz L0044CB11 mov eax,[L005492F0] cmp eax,ebx jz L0044CB11 push ebx push eax call [KERNEL32.dll!TerminateProcess] mov [L005492F0],ebx mov [L005492EC],bl L0044CB11: mov eax,[L00549300] push eax call SUB_L0049A810 add esp,00000004h mov [L00549300],ebx mov [L005492F4],bl mov [L005492E4],bl L0044CB31: pop ebx retn ;------------------------------------------------------------------------------ Align 16 SUB_L0044CB40: test ecx,ecx jnz L0044CB55 push ecx mov edx,SSZ004C7A8C_LanguageTranslationServer__setUs mov ecx,SSZ004C7618___ul__not_setting_user_language_ call SUB_L0049A0A0 retn ;------------------------------------------------------------------------------ L0044CB55: xor eax,eax sub ecx,L005492F4 L0044CB5D: mov dl,[ecx+eax+L005492F4] mov [eax+L005492F4],dl inc eax cmp eax,00000004h jl L0044CB5D mov byte ptr [L005492F7],00h retn ;------------------------------------------------------------------------------ Align 16 SUB_L0044CB80: push ebp mov ebp,esp mov eax,00002044h call SUB_L0049ACF0 mov al,[L005492EC] mov byte ptr [ebp-01h],00h push esi push edi test al,al jz L0044CBA4 mov al,01h pop edi pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L0044CBA4: push SSZ004C7BFC_TranServ_TranServ_exe mov ecx,L006BB1C8 mov byte ptr [ebp-00000844h],00h call SUB_L00455E10 mov edi,eax or ecx,FFFFFFFFh xor eax,eax lea edx,[ebp-00000844h] repne scasb not ecx sub edi,ecx mov esi,edi mov edi,edx mov edx,ecx or ecx,FFFFFFFFh repne scasb mov ecx,edx dec edi shr ecx,02h rep movsd mov eax,[L0054930C] mov ecx,edx and ecx,00000003h push eax rep movsb lea ecx,[ebp-24h] push SSZ004C7BF4__p__d push ecx call SUB_L0049AC80 add esp,0000000Ch mov ecx,L006BB1C8 push L004D77C0 call SUB_L00455E10 lea edx,[ebp-00001844h] push eax push SSZ004C7BEC__d__s push edx call SUB_L0049AC80 add esp,0000000Ch lea eax,[ebp-00001844h] lea ecx,[ebp-24h] lea edx,[ebp-00000844h] push 00000000h push eax push ecx lea eax,[ebp-00000844h] push edx push eax push 00000001h call SUB_L0049BD50 add esp,00000018h cmp eax,FFFFFFFFh jnz L0044CDAD push SSZ004C7BDC_TranServ_exe mov ecx,L006BB1C8 mov byte ptr [ebp-00000844h],00h call SUB_L00455E10 mov edi,eax or ecx,FFFFFFFFh xor eax,eax lea edx,[ebp-00000844h] repne scasb not ecx sub edi,ecx mov esi,edi mov edi,edx mov edx,ecx or ecx,FFFFFFFFh repne scasb mov ecx,edx dec edi shr ecx,02h rep movsd mov eax,[L0054930C] mov ecx,edx and ecx,00000003h push eax rep movsb lea ecx,[ebp-44h] push SSZ004C7BF4__p__d push ecx call SUB_L0049AC80 add esp,0000000Ch mov ecx,L006BB1C8 push L004D77C0 call SUB_L00455E10 lea edx,[ebp-00002044h] push eax push SSZ004C7BEC__d__s push edx call SUB_L0049AC80 add esp,0000000Ch lea eax,[ebp-00002044h] lea ecx,[ebp-44h] lea edx,[ebp-00000844h] push 00000000h push eax push ecx lea eax,[ebp-00000844h] push edx push eax push 00000001h call SUB_L0049BD50 add esp,00000018h cmp eax,FFFFFFFFh jnz L0044CDBA call SUB_L0049BD30 mov eax,[eax] add eax,FFFFFFFEh cmp eax,00000014h ja CASE_0044CDC4_PROC0005 xor ecx,ecx mov cl,[eax+CASE_0044CDDC] jmp [CASE_PROCTABLE_0044CDC4+ecx*4] CASE_0044CDC4_PROC0001: lea edx,[ebp-00001044h] mov edi,SSZ004C7BB8_Argument_list_exceeds_1024_bytes jmp L0044CD76 CASE_0044CDC4_PROC0004: lea edx,[ebp-00001044h] mov edi,SSZ004C7B9C_mode_argument_is_invalid jmp L0044CD76 CASE_0044CDC4_PROC0000: lea ecx,[ebp-00000844h] lea edx,[ebp-00001044h] push ecx push SSZ004C7B88_File_not_found____s push edx call SUB_L0049AC80 add esp,0000000Ch jmp L0044CD93 CASE_0044CDC4_PROC0002: lea edx,[ebp-00001044h] mov edi,SSZ004C7B40_Specified_file_is_not_executable jmp L0044CD76 CASE_0044CDC4_PROC0003: lea edx,[ebp-00001044h] mov edi,SSZ004C7B08_Not_enough_memory_is_available_t jmp L0044CD76 CASE_0044CDC4_PROC0005: lea edx,[ebp-00001044h] mov edi,SSZ004C7AF0_Unknown_error_number L0044CD76: or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb L0044CD93: push 00000000h mov edx,SSZ004C7ABC_LanguageTranslationServer__spawn lea ecx,[ebp-00001044h] call SUB_L0049A0A0 xor al,al pop edi pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L0044CDAD: mov [L005492F0],eax mov al,01h pop edi pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L0044CDBA: mov al,[ebp-01h] pop edi pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_0044CDC4: dd CASE_0044CDC4_PROC0000 dd CASE_0044CDC4_PROC0001 dd CASE_0044CDC4_PROC0002 dd CASE_0044CDC4_PROC0003 dd CASE_0044CDC4_PROC0004 dd CASE_0044CDC4_PROC0005 CASE_0044CDDC: db 00h, 05h, 05h, 05h, 05h, 01h, 02h, 05h, 05h, 05h, 03h, 05h, 05h, 05h, 05h, 05h db 05h, 05h, 05h, 05h, 04h Align 16 SUB_L0044CE00: mov [L005492FC],ecx retn ;------------------------------------------------------------------------------ Align 16 SUB_L0044CE10: mov [L0054930C],ecx inc ecx mov [L00549318],ecx retn ;------------------------------------------------------------------------------ Align 4 SUB_L0044CE20: mov eax,[L00549300] push esi push edi mov esi,ecx push eax call SUB_L0049A810 mov edi,esi or ecx,FFFFFFFFh xor eax,eax add esp,00000004h repne scasb not ecx push ecx call SUB_L0049A820 mov edx,eax mov edi,esi or ecx,FFFFFFFFh xor eax,eax add esp,00000004h mov [L00549300],edx repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb pop edi pop esi retn ;------------------------------------------------------------------------------ SUB_L0044CE70: xor eax,eax sub ecx,L004C79B0 L0044CE78: mov dl,[ecx+eax+L004C79B0] mov [eax+L004C79B0],dl inc eax cmp eax,00000010h jl L0044CE78 mov byte ptr [L004C79BF],00h retn ;------------------------------------------------------------------------------ Align 16 SUB_L0044CEA0: mov al,[ecx] mov byte ptr [L004C79C5],00h mov [L004C79C4],al retn ;------------------------------------------------------------------------------ Align 4 SUB_L0044CEB0: mov al,[ecx] mov byte ptr [L004C79C9],00h mov [L004C79C8],al retn ;------------------------------------------------------------------------------ Align 4 SUB_L0044CEC0: push ebx push esi mov esi,ecx push edi test esi,esi jz L0044CF3E mov bl,[esi] test bl,bl jz L0044CF3E movsx eax,[L005492F4] push eax call SUB_L0049AD20 movsx ecx,bl add esp,00000004h mov edi,eax push ecx call SUB_L0049AD20 add esp,00000004h cmp eax,edi jnz L0044CF14 movsx edx,[esi+01h] push edx call SUB_L0049AD20 mov edi,eax add esp,00000004h movsx eax,[L005492F5] push eax call SUB_L0049AD20 add esp,00000004h cmp edi,eax jz L0044CF3E L0044CF14: mov ecx,esi xor eax,eax sub ecx,L005492F8 L0044CF1E: mov dl,[ecx+eax+L005492F8] mov [eax+L005492F8],dl inc eax cmp eax,00000004h jl L0044CF1E mov byte ptr [L005492FB],00h mov al,01h pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ L0044CF3E: pop edi pop esi xor al,al pop ebx retn ;------------------------------------------------------------------------------ Align 16 SUB_L0044CF50: push ebp mov ebp,esp push FFFFFFFFh push L004B36DB mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx mov ebx,ecx mov cl,[L005492E4] push esi or eax,FFFFFFFFh push edi test cl,cl mov edi,edx mov [ebp-10h],eax jz L0044D11B mov cl,[L005492E8] test cl,cl jz L0044D11B mov cl,[L005492EC] test cl,cl jz L0044D11B mov ecx,L005492F8 test ecx,ecx jz L0044D11B mov cl,[L005492F8] test cl,cl jz L0044D11B movsx edx,[L005492F4] push edx call SUB_L0049AD20 mov esi,eax add esp,00000004h movsx eax,[L005492F8] push eax call SUB_L0049AD20 add esp,00000004h cmp eax,esi jnz L0044D00B movsx ecx,[L005492F5] push ecx call SUB_L0049AD20 movsx edx,[L005492F9] add esp,00000004h mov esi,eax push edx call SUB_L0049AD20 add esp,00000004h cmp eax,esi jz L0044D118 L0044D00B: xor eax,eax L0044D00D: inc eax cmp eax,00000004h jl L0044D00D test edi,edi mov byte ptr [L005492FB],00h jz L0044D118 push 0000002Ch call SUB_L0049A820 mov esi,eax add esp,00000004h mov [ebp-10h],esi xor ecx,ecx cmp esi,ecx mov [ebp-04h],ecx jz L0044D0B7 lea eax,[esi+0Ch] lea edx,[esi+10h] mov [eax],ecx mov eax,[ebp+08h] mov [edx],ecx mov edx,[ebp+10h] mov [esi+14h],ecx mov [esi+18h],ecx mov [esi+1Ch],ecx mov [esi+20h],ecx mov [esi+24h],cl mov [esi+28h],ecx mov ecx,[ebp+0Ch] mov [esi],eax mov [esi+04h],ecx mov ecx,edi mov [esi+08h],edx call SUB_L00491C00 lea eax,[eax+eax+02h] push eax call SUB_L0049A820 add esp,00000004h mov edx,edi mov ecx,eax mov [esi+14h],eax call SUB_L00491D10 test ebx,ebx jz L0044D0AB mov ecx,ebx call SUB_L00491C00 lea ecx,[eax+eax+02h] push ecx call SUB_L0049A820 add esp,00000004h mov edx,ebx mov ecx,eax mov [esi+1Ch],eax call SUB_L00491D10 L0044D0AB: call SUB_L0044D360 mov [esi+20h],eax xor ecx,ecx jmp L0044D0B9 L0044D0B7: xor esi,esi L0044D0B9: mov dword ptr [ebp-04h],FFFFFFFFh xor eax,eax L0044D0C2: mov dl,[eax+L005492F8] mov [eax+esi+0Ch],dl inc eax cmp eax,00000004h jl L0044D0C2 mov byte ptr [esi+0Fh],00h xor eax,eax L0044D0D8: mov cl,[eax+L005492F4] mov [eax+esi+10h],cl inc eax cmp eax,00000004h jl L0044D0D8 mov byte ptr [esi+13h],00h mov edx,[L0054931C] mov [esi+28h],edx mov ecx,esi mov [L0054931C],esi call SUB_L0044D390 mov eax,[esi+20h] mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ L0044D118: mov eax,[ebp-10h] L0044D11B: mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 4 SUB_L0044D130: push ebp mov ebp,esp push FFFFFFFFh push L004B3706 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx mov al,[L00549308] push esi test al,al jnz L0044D25E mov eax,[L0054930C] xor esi,esi cmp eax,esi jz L0044D25E cmp [L00549318],esi jz L0044D25E mov ecx,[L00549314] push edi push ebx xor bl,bl or edi,FFFFFFFFh L0044D17F: cmp ecx,esi jz L0044D192 cmp [ecx+04h],edi jnz L0044D1CE cmp ecx,esi jz L0044D192 mov eax,[ecx] push 00000001h call [eax] L0044D192: push 00000428h call SUB_L0049A820 add esp,00000004h mov [ebp-10h],eax cmp eax,esi mov [ebp-04h],esi jz L0044D1C1 mov cx,[L00549318] mov edx,[L005492FC] push ecx push edx mov ecx,eax call SUB_L00488F40 jmp L0044D1C3 L0044D1C1: xor eax,eax L0044D1C3: mov ecx,eax mov [ebp-04h],edi mov [L00549314],ecx L0044D1CE: cmp ecx,esi jz L0044D1E3 call SUB_L00489060 test al,al jz L0044D1DD mov bl,01h L0044D1DD: mov ecx,[L00549314] L0044D1E3: test bl,bl jz L0044D17F mov ecx,[L00549310] xor bl,bl L0044D1EF: cmp ecx,esi jz L0044D202 cmp [ecx+04h],edi jnz L0044D23C cmp ecx,esi jz L0044D202 mov eax,[ecx] push 00000001h call [eax] L0044D202: push 00000428h call SUB_L0049A820 add esp,00000004h mov [ebp-10h],eax cmp eax,esi mov dword ptr [ebp-04h],00000001h jz L0044D22F mov cx,[L0054930C] push ecx push esi mov ecx,eax call SUB_L00488D20 jmp L0044D231 L0044D22F: xor eax,eax L0044D231: mov ecx,eax mov [ebp-04h],edi mov [L00549310],ecx L0044D23C: cmp ecx,esi jz L0044D251 call SUB_L00488EC0 test al,al jz L0044D24B mov bl,01h L0044D24B: mov ecx,[L00549310] L0044D251: test bl,bl jz L0044D1EF pop ebx mov byte ptr [L00549308],01h pop edi L0044D25E: mov ecx,[ebp-0Ch] pop esi mov fs:[00000000h],ecx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 4 L0044D270: mov al,[L00549308] push ebx push esi push edi test al,al jz L0044D353 mov ecx,[L00549310] test ecx,ecx jz L0044D353 call SUB_L00488CD0 test al,al jz L0044D353 mov eax,[L00549310] mov esi,[L0054931C] test esi,esi lea ebx,[eax+2Dh] jz L0044D353 mov eax,[eax+21h] L0044D2B4: cmp [esi+20h],eax jz L0044D2C4 mov esi,[esi+28h] test esi,esi jnz L0044D2B4 pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ L0044D2C4: mov al,[esi+24h] test al,al jz L0044D2DC push 00000000h mov edx,SSZ004C7C30_LanguageTranslationServer__Packe mov ecx,SSZ004C7C14_Packet_already_translated_ call SUB_L0049A0A0 L0044D2DC: mov eax,[esi+18h] push eax call SUB_L0049A810 add esp,00000004h mov ecx,ebx call SUB_L00491C00 mov ecx,[esi+1Ch] mov edi,eax inc edi test ecx,ecx jz L0044D302 call SUB_L00491C00 lea edi,[edi+eax+01h] L0044D302: lea ecx,[edi+edi] push ecx call SUB_L0049A820 mov [esi+18h],eax mov eax,[esi+1Ch] add esp,00000004h test eax,eax jz L0044D32E mov ecx,[esi+18h] mov edx,eax call SUB_L00491D10 mov ecx,[esi+18h] mov edx,ebx call SUB_L00491DC0 jmp L0044D338 L0044D32E: mov ecx,[esi+18h] mov edx,ebx call SUB_L00491D10 L0044D338: mov byte ptr [esi+24h],01h mov ecx,[esi+04h] test ecx,ecx jz L0044D353 mov eax,[esi] test eax,eax jz L0044D353 mov edx,[esi+1Ch] push ebx push edx mov edx,[esi+08h] call eax L0044D353: pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ Align 16 SUB_L0044D360: mov ecx,[L004C79D4] mov eax,ecx inc ecx test eax,eax mov [L004C79D4],ecx jg L0044D389 push 00000000h mov edx,SSZ004C7C90_LanguageTranslationServer__Packe mov ecx,SSZ004C7C5C_Warning__Text_Id_has_wrapped__Re call SUB_L0049A0A0 mov eax,00000001h L0044D389: retn ;------------------------------------------------------------------------------ Align 8 SUB_L0044D390: push ebp mov ebp,esp push ecx mov al,[L00549308] push esi test al,al mov esi,ecx jz L0044D47B mov eax,[L00549314] test eax,eax jz L0044D47B mov ecx,[esi+14h] push edi push ebx call SUB_L00491C00 lea edi,[eax+eax+02h] mov eax,[L00549320] test eax,eax lea ebx,[edi+0Ch] jz L0044D3D3 cmp ebx,[L00549324] jle L0044D3F0 L0044D3D3: push eax call SUB_L0049A810 add esp,00000004h mov [L00549324],ebx push ebx call SUB_L0049A820 add esp,00000004h mov [L00549320],eax L0044D3F0: mov dword ptr [eax],00000000h mov ecx,[L00549320] mov eax,[esi+20h] mov byte ptr [ebp-01h],00h mov [ecx],eax mov dl,[esi+0Eh] lea ecx,[esi+0Ch] mov [ebp-02h],dl call SUB_L0044B270 mov ecx,[L00549320] mov [ebp-04h],al mov byte ptr [ebp-03h],00h mov eax,[ebp-04h] mov [ecx+04h],eax mov dl,[esi+12h] lea ecx,[esi+10h] mov [ebp-02h],dl mov byte ptr [ebp-01h],00h call SUB_L0044B270 mov [ebp-04h],al mov eax,[L00549320] mov byte ptr [ebp-03h],00h mov ecx,[ebp-04h] mov [eax+08h],ecx mov edx,[L00549320] mov esi,[esi+14h] mov ecx,edi mov eax,ecx lea edi,[edx+0Ch] shr ecx,02h rep movsd mov ecx,eax push ebx and ecx,00000003h rep movsb mov ecx,[L00549320] push ecx mov ecx,[L00549314] call SUB_L00488C90 pop ebx pop edi L0044D47B: pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ SUB_L0044D480: push ebp mov ebp,esp push FFFFFFFFh push L004B3718 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push esi mov esi,ecx mov [ebp-10h],esi call SUB_L00441CB0 xor ebx,ebx mov dword ptr [esi],L004BAC40 mov dword ptr [esi+04h],SSZ004C7CD8_map_gump mov [esi+5Ch],ebx push SSZ004C7CC0_framedata_for_CMapGump mov [esi+000000A4h],ebx push 00000008h mov ecx,L00669C8C mov [ebp-04h],ebx mov [esi+000000A0h],ebx mov [esi+0000009Ch],ebx mov [esi+00000098h],ebx mov [esi+000000ACh],ebx mov [esi+000000A8h],ebx mov [esi+00000094h],ebx mov [esi+70h],ebx mov [esi+6Ch],ebx mov [esi+000000B4h],ebx mov [esi+000000B0h],ebx mov [esi+000000BCh],ebx mov [esi+000000B8h],ebx mov [esi+000000CCh],ebx mov [esi+000000C8h],ebx mov [esi+000000C4h],ebx mov [esi+000000C0h],ebx mov [esi+2Ch],ebx mov [esi+30h],ebx mov [esi+34h],ebx mov [esi+4Ch],ebx mov [esi+48h],ebx mov [esi+44h],ebx mov [esi+40h],ebx mov [esi+3Ch],ebx mov [esi+10h],ebx mov dword ptr [esi+14h],00000001h call SUB_L0044FBD0 xor ecx,ecx mov [esi+38h],eax mov [eax],ecx push 00000001h mov [eax+04h],ecx push ebx mov ecx,esi mov [esi+20h],ebx mov [esi+1Ch],ebx mov [esi+18h],ebx mov [esi+000000D4h],ebx mov [esi+000000D8h],ebx call SUB_L004415C0 cmp [L004C5624],bl jz L0044D583 call SUB_L0044EB00 L0044D583: mov ecx,[ebp-0Ch] mov eax,esi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 L0044D5A0: push ebp mov ebp,esp push esi mov esi,ecx call SUB_L0044D5D0 test byte ptr [ebp+08h],01h jz L0044D5BA push esi call SUB_L0049A810 add esp,00000004h L0044D5BA: mov eax,esi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L0044D5D0: mov dword ptr [ecx],L004BAC40 jmp SUB_L00441D50 Align 8 L0044D5E0: push ebp mov ebp,esp mov ecx,[ebp+08h] test ecx,ecx jl L0044D609 mov eax,[ebp+0Ch] test eax,eax jl L0044D609 cmp ecx,00000280h jge L0044D609 cmp eax,000001E0h jge L0044D609 mov eax,00000001h pop ebp retn 0008h ;------------------------------------------------------------------------------ L0044D609: xor eax,eax pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 4 L0044D610: push ebp mov ebp,esp push ebx push esi mov esi,ecx push edi mov ecx,L00669608 call SUB_L0043FDA0 mov ecx,[L004D7E00] mov edi,00000001h test ecx,ecx jz L0044D65A mov eax,[L004D7E04] test eax,eax jz L0044D65A cmp [ecx+0000014Ch],edi jnz L0044D6FE call SUB_L0040CDE0 mov eax,[L004D7E00] mov dword ptr [eax+0000014Ch],00000000h L0044D65A: mov ebx,[ebp+0Ch] mov ecx,[ebp+08h] mov edx,ebx call SUB_L0048B870 test eax,eax jnz L0044D6F7 mov eax,[esi+000000ACh] mov [esi+000000A0h],edi cmp eax,edi jnz L0044D699 mov ecx,[ebp+08h] mov dword ptr [esi+000000ACh],00000002h mov [esi+6Ch],ecx mov [esi+70h],ebx pop edi pop esi pop ebx pop ebp retn 0008h ;------------------------------------------------------------------------------ L0044D699: mov [esi+000000ACh],edi call [KERNEL32.dll!GetTickCount] mov ecx,[ebp+08h] push ebx push ecx mov ecx,L006A9D38 mov [esi+000000A8h],eax call SUB_L0045F9E0 mov edi,eax test edi,edi jz L0044D6E4 mov edx,[edi] mov ecx,edi call [edx+2Ch] test eax,eax jz L0044D6E4 mov eax,[edi+78h] mov ecx,[ebp+08h] mov [esi+00000094h],eax mov [esi+6Ch],ecx mov [esi+70h],ebx pop edi pop esi pop ebx pop ebp retn 0008h ;------------------------------------------------------------------------------ L0044D6E4: mov ecx,[ebp+08h] mov dword ptr [esi+00000094h],00000000h mov [esi+6Ch],ecx mov [esi+70h],ebx L0044D6F7: pop edi pop esi pop ebx pop ebp retn 0008h ;------------------------------------------------------------------------------ L0044D6FE: call SUB_L004068F0 pop edi pop esi pop ebx pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 8 L0044D710: push ebp mov ebp,esp push ebx mov ebx,[ebp+08h] push esi push edi mov edi,[ebp+0Ch] mov esi,ecx mov edx,edi mov ecx,ebx call SUB_L0048B870 test eax,eax jnz L0044D7E3 mov eax,[esi+00000098h] xor ecx,ecx cmp eax,ecx mov [esi+000000A0h],ecx jz L0044D760 mov [esi+00000098h],ecx mov [esi+000000ACh],ecx mov [esi+000000A4h],ecx mov [L006A9DD4],ecx pop edi pop esi pop ebx pop ebp retn 0008h ;------------------------------------------------------------------------------ L0044D760: mov eax,[esi+000000ACh] cmp eax,00000002h jnz L0044D7C0 mov eax,[esi+00000094h] mov [esi+000000ACh],ecx cmp eax,ecx jz L0044D7AA push eax mov ecx,L006A9D38 call SUB_L004616C0 test eax,eax jnz L0044D796 push edi push ebx mov ecx,L006A9D38 call SUB_L0045F9E0 L0044D796: push eax mov ecx,esi call SUB_L0044E0A0 mov dword ptr [esi+00000094h],00000000h jmp L0044D7D5 L0044D7AA: push edi push ebx mov ecx,L006A9D38 call SUB_L0045F9E0 push eax mov ecx,esi call SUB_L0044E0A0 jmp L0044D7D5 L0044D7C0: cmp [esi+000000A4h],ecx jnz L0044D7D7 cmp eax,ecx jnz L0044D7D7 push edi push ebx mov ecx,esi call SUB_L0044DD90 L0044D7D5: xor ecx,ecx L0044D7D7: mov [esi+000000A4h],ecx mov [L006A9DD4],ecx L0044D7E3: pop edi pop esi pop ebx pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 8 L0044D7F0: push ebp mov ebp,esp push ebx mov ebx,[ebp+08h] push esi push edi mov edi,[ebp+0Ch] mov esi,ecx mov edx,edi mov ecx,ebx call SUB_L0048B870 test eax,eax jnz L0044D855 mov ecx,[esi+000000BCh] mov eax,00000001h test ecx,ecx mov [esi+000000B0h],eax jbe L0044D82C mov dword ptr [esi+000000BCh],00000002h jmp L0044D843 L0044D82C: mov [esi+000000BCh],eax call [KERNEL32.dll!GetTickCount] mov [esi+000000B8h],eax mov eax,00000001h L0044D843: mov [esi+000000C0h],ebx mov [esi+000000C4h],edi mov [esi+000000B4h],eax L0044D855: pop edi pop esi pop ebx pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 8 L0044D860: push ebp mov ebp,esp push ebx mov ebx,[ebp+08h] push esi push edi mov edi,[ebp+0Ch] mov esi,ecx mov edx,edi mov ecx,ebx call SUB_L0048B870 test eax,eax jnz L0044D907 mov eax,[esi+000000BCh] xor edx,edx cmp eax,00000002h mov [esi+000000B0h],edx jnz L0044D8A8 push edi push ebx mov ecx,esi mov [esi+000000BCh],edx call SUB_L0044E3F0 pop edi pop esi pop ebx pop ebp retn 0008h ;------------------------------------------------------------------------------ L0044D8A8: cmp [esi+000000B4h],edx jz L0044D8EC cmp eax,edx jnz L0044D8EC cmp dword ptr [L006695A8],00000001h jz L0044D907 mov eax,[L00669598] mov ecx,[L00669594] cmp eax,ecx jl L0044D907 push FFFFFFFFh push edx mov ecx,L006A9DC0 mov [esi+000000B4h],edx call SUB_L00450650 push eax mov ecx,L00669590 call SUB_L00452EA0 xor edx,edx L0044D8EC: mov ecx,[L006A9DD4] cmp ecx,edx jz L0044D907 mov edx,[ecx] call [edx+000000A0h] test eax,eax jnz L0044D907 mov [L006A9DD4],eax L0044D907: pop edi pop esi pop ebx pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 4 L0044D910: push ebp mov ebp,esp push ebx mov ebx,[ebp+08h] push esi mov esi,[ebp+0Ch] push edi mov edi,ecx mov edx,esi mov ecx,ebx call SUB_L0048B870 test eax,eax jnz L0044DA0B mov eax,[L007121C4] test eax,eax jz L0044D93C push 00000013h jmp L0044D93E L0044D93C: push 00000000h L0044D93E: mov ecx,L006A9DC0 call SUB_L00450120 push esi push ebx mov ecx,L006A9D38 mov [edi+000000C8h],ebx mov [edi+000000CCh],esi call SUB_L0045F9E0 mov esi,eax mov eax,[L0073EBE4] mov ebx,esi mov ecx,[eax+00000150h] test ecx,ecx jnz L0044D97C mov eax,[L007121C4] test eax,eax jz L0044D9BF L0044D97C: test esi,esi jz L0044D98D mov edx,[esi] mov ecx,esi call [edx+24h] test eax,eax jnz L0044D98D xor esi,esi L0044D98D: cmp esi,[L0073EBE4] jnz L0044D997 xor esi,esi L0044D997: mov ecx,[edi+000000D4h] cmp esi,ecx jz L0044D9BF test ecx,ecx mov [edi+000000D4h],esi jz L0044D9B0 call SUB_L00430E30 L0044D9B0: mov ecx,[edi+000000D4h] test ecx,ecx jz L0044D9BF call SUB_L00430E30 L0044D9BF: test ebx,ebx jz L0044D9E1 mov eax,[ebx] mov ecx,ebx call [eax+2Ch] test eax,eax jnz L0044D9D0 xor ebx,ebx L0044D9D0: test ebx,ebx jz L0044D9E1 mov edx,[ebx] mov ecx,ebx call [edx+5Ch] test eax,eax jnz L0044D9E1 xor ebx,ebx L0044D9E1: mov ecx,[edi+000000D8h] cmp ebx,ecx jz L0044DA0B test ecx,ecx mov [edi+000000D8h],ebx jz L0044D9FA call SUB_L00430E30 L0044D9FA: mov edi,[edi+000000D8h] test edi,edi jz L0044DA0B mov ecx,edi call SUB_L00430E30 L0044DA0B: pop edi pop esi pop ebx pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 L0044DA20: push esi mov esi,ecx mov ecx,[esi+000000D4h] test ecx,ecx jz L0044DA3C mov dword ptr [esi+000000D4h],00000000h call SUB_L00430E30 L0044DA3C: mov ecx,[esi+000000D8h] test ecx,ecx jz L0044DA55 mov dword ptr [esi+000000D8h],00000000h call SUB_L00430E30 L0044DA55: pop esi retn ;------------------------------------------------------------------------------ Align 16 L0044DA60: push ebp mov ebp,esp push ebx mov ebx,[ebp+0Ch] push esi push edi mov edi,[ebp+08h] mov esi,ecx mov edx,ebx mov ecx,edi call SUB_L0048B870 test eax,eax jnz L0044DB27 mov eax,[esi+000000B0h] test eax,eax jz L0044DAC5 mov eax,[esi+000000BCh] test eax,eax jbe L0044DAC5 mov edx,[esi+000000C0h] mov eax,edi sub eax,edx cdq xor eax,edx sub eax,edx cmp eax,00000004h jg L0044DABB mov edx,[esi+000000C4h] mov eax,ebx sub eax,edx cdq xor eax,edx sub eax,edx cmp eax,00000004h jle L0044DAC5 L0044DABB: mov dword ptr [esi+000000BCh],00000000h L0044DAC5: mov eax,[esi+000000A0h] test eax,eax jz L0044DB1B mov eax,[esi+000000ACh] test eax,eax jbe L0044DB1B mov ecx,[esi+6Ch] mov eax,edi sub eax,ecx cdq xor eax,edx sub eax,edx cmp eax,00000004h jg L0044DAFB mov edx,[esi+70h] mov eax,ebx sub eax,edx cdq xor eax,edx sub eax,edx cmp eax,00000004h jle L0044DB1B L0044DAFB: mov eax,[esi+70h] mov dword ptr [esi+00000098h],00000001h push eax push ecx mov ecx,esi mov dword ptr [esi+000000ACh],00000000h call SUB_L0044E230 L0044DB1B: mov [esi+000000C8h],edi mov [esi+000000CCh],ebx L0044DB27: pop edi pop esi pop ebx pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 4 L0044DB30: push ebx push esi push edi mov esi,ecx call SUB_L0048B870 test eax,eax jnz L0044DBF4 mov eax,[esi+000000B0h] xor ebx,ebx cmp eax,ebx jnz L0044DB56 cmp [esi+000000B4h],ebx jz L0044DB75 L0044DB56: push FFFFFFFFh push 00000001h mov ecx,L006A9DC0 mov [esi+000000B4h],ebx call SUB_L00450650 push eax mov ecx,L00669590 call SUB_L00452EA0 L0044DB75: call [KERNEL32.dll!GetTickCount] mov edi,eax call [USER32.dll!GetDoubleClickTime] mov edx,[esi+000000BCh] mov ecx,00000001h cmp edx,ecx jnz L0044DBA4 mov edx,edi sub edx,[esi+000000B8h] cmp edx,eax jbe L0044DBA4 mov [esi+000000BCh],ebx L0044DBA4: cmp [esi+000000ACh],ecx jnz L0044DBF4 sub edi,[esi+000000A8h] cmp edi,eax jbe L0044DBF4 mov eax,[esi+000000A0h] mov [esi+000000ACh],ebx cmp eax,ebx mov [esi+00000094h],ebx jnz L0044DBDF mov eax,[esi+70h] mov ecx,[esi+6Ch] push eax push ecx mov ecx,esi call SUB_L0044DD90 pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ L0044DBDF: mov edx,[esi+70h] mov eax,[esi+6Ch] mov [esi+00000098h],ecx push edx push eax mov ecx,esi call SUB_L0044E230 L0044DBF4: pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ Align 16 SUB_L0044DC00: push ebp mov ebp,esp sub esp,00000204h mov eax,[L00669CA4] push ebx push esi push edi test eax,eax jz L0044DD09 cmp dword ptr [L00669594],00000003h jge L0044DD09 mov ebx,[L00669C9C] mov eax,[ebx+10h] mov [L00669CA8],eax mov esi,[ebx+14h] mov [L00669CAC],esi mov ecx,[ebx+1Ch] mov [L00669CB4],ecx mov edi,[ebx+28h] test edi,edi jnz L0044DC64 mov ecx,L00669C90 mov [L00669CA4],edi call SUB_L00477270 pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L0044DC64: mov edx,[edi+14h] mov ecx,[edi+10h] sub edx,esi sub ecx,eax or esi,FFFFFFFFh xor eax,eax L0044DC73: cmp [L004C7E28+eax*4],ecx jnz L0044DC85 cmp [L004C7E50+eax*4],edx jz L0044DC8D L0044DC85: inc eax cmp eax,00000008h jl L0044DC73 jmp L0044DC8F L0044DC8D: mov esi,eax L0044DC8F: cmp esi,[L00669CB4] jnz L0044DC9F mov ebx,edi mov [L00669C9C],ebx L0044DC9F: mov [ebx+1Ch],esi mov eax,[L00669C9C] push esi push edx mov edx,[eax+14h] mov eax,[eax+10h] push ecx push edx push eax mov eax,[L0073EBE4] movsx ecx,[eax+22h] movsx edx,[eax+20h] push ecx push edx lea eax,[ebp-00000204h] push SSZ004C7CE4_At___d___d___Going_to___d___d___ push eax call SUB_L0049AC80 add esp,00000024h cmp esi,FFFFFFFFh jz L0044DD09 mov eax,[L0073EBE4] lea ecx,[ebp-04h] push ecx push esi movsx edx,[eax+24h] movsx ecx,[eax+20h] push edx movsx edx,[eax+22h] call SUB_L00452A10 inc esi mov ecx,L00669590 push 00000001h and esi,00000007h push FFFFFFFFh push esi call SUB_L00452F30 L0044DD09: pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ SUB_L0044DD10: push ebp mov ebp,esp push FFFFFFFFh push L004B373B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push 000000A4h mov [L00549328],ecx call SUB_L0049A820 add esp,00000004h mov [ebp-10h],eax test eax,eax mov dword ptr [ebp-04h],00000000h jz L0044DD64 push 00000000h push L004068E0 push L00411E40 push SSZ004C7D1C_This_may_flag_you_criminal_ mov ecx,eax call SUB_L0041FA10 jmp L0044DD66 L0044DD64: xor eax,eax L0044DD66: push 00000001h push 00000000h mov ecx,eax mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L004415C0 mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L0044DD90: push ebp mov ebp,esp sub esp,00000008h mov eax,[L007121C4] push ebx push esi push edi xor edi,edi cmp eax,edi jz L0044DE89 cmp [L007121D4],edi jz L0044DE89 cmp [L006BB5F0],edi jnz L0044DE89 mov ebx,[L007121C8] mov ecx,[ebp+0Ch] mov edx,[ebp+08h] xor eax,eax cmp ebx,00000001h setnz al push eax push ecx push edx mov ecx,L006BB1A0 call SUB_L00434DF0 mov esi,eax mov al,[L0073EC0C] test al,al jz L0044DE69 cmp esi,edi jz L0044DE69 mov eax,[esi] mov ecx,esi call [eax+24h] test eax,eax jz L0044DE69 mov al,[L007121D0] test al,al jz L0044DE69 cmp al,01h jnz L0044DE1B mov edx,[esi] mov ecx,esi call [edx+0000009Ch] test al,al jz L0044DE2D mov al,[L007121D0] L0044DE1B: cmp al,02h jnz L0044DE69 mov eax,[esi] mov ecx,esi call [eax+000000A0h] test al,al jnz L0044DE69 L0044DE2D: push edi mov ecx,L006BB1C8 mov [L007121C4],edi mov byte ptr [L007121D0],00h call SUB_L0049A010 mov ecx,[L006BAE80] mov [ecx+000000D4h],edi mov ecx,esi call SUB_L00430E30 mov ecx,[esi+78h] call SUB_L0044DD10 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L0044DE69: mov ecx,esi call [L007121D4] cmp esi,edi jz L0044DFE1 mov ecx,esi call SUB_L00430E30 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L0044DE89: mov edx,[ebp+0Ch] mov eax,[ebp+08h] push edx push eax mov ecx,L006A9D38 call SUB_L0045F9E0 mov esi,eax cmp esi,edi jz L0044DFE1 mov edi,[USER32.dll!GetAsyncKeyState] push 00000012h call edi push 00000011h mov ebx,eax call edi test bh,80h jz L0044DF96 test ah,80h jnz L0044DF96 mov edx,[esi] mov ecx,esi call [edx+24h] test eax,eax jz L0044DF96 mov ecx,[L0073EBE4] cmp esi,ecx jnz L0044DF33 mov eax,[ecx+000001F8h] xor esi,esi push esi push esi cmp eax,esi push 00000003h push esi jz L0044DEF8 push SSZ004C7D58_Stopped_following_ jmp L0044DEFD L0044DEF8: push SSZ004C7D48_Not_following_ L0044DEFD: call SUB_L0045DAE0 mov eax,[L0073EBE4] mov [eax+000001F8h],esi mov eax,[L00669CA4] cmp eax,esi jz L0044DFE1 mov ecx,L00669C90 call SUB_L00477270 mov [L00669CA4],esi pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L0044DF33: push 00000000h push 00000000h push 00000003h push 00000000h push SSZ004C7D38_Now_following_ call SUB_L0045DAE0 mov ecx,[L0073EBE4] mov dword ptr [ecx+000001F8h],00000001h mov eax,[L0073EBE4] mov edx,[esi+78h] mov [eax+000001FCh],edx mov eax,[L0073EBE4] movsx ecx,[esi+20h] movsx edx,[eax+20h] sub edx,ecx mov [eax+00000200h],edx mov eax,[L0073EBE4] movsx ecx,[esi+22h] movsx edx,[eax+22h] sub edx,ecx mov [eax+00000204h],edx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L0044DF96: mov eax,[esi] mov ecx,esi call [eax+2Ch] test eax,eax jz L0044DFAA call SUB_L0048B870 test eax,eax jz L0044DFB5 L0044DFAA: push esi mov ecx,L006A9D38 call SUB_L00461340 L0044DFB5: mov edx,[esi] mov ecx,esi call [edx+2Ch] test eax,eax jz L0044DFE1 mov eax,[esi+78h] lea ecx,[ebp-08h] push eax push ecx mov ecx,L006BB1C0 call SUB_L00474350 mov ecx,[L006BB1CC] lea edx,[ebp-08h] push edx call SUB_L0048B170 L0044DFE1: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 8 SUB_L0044DFF0: push ebp mov ebp,esp push FFFFFFFFh push L004B3766 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx mov al,[L004CC8B4] mov [L0054932C],ecx test al,al push 000000A4h jz L0044E04D call SUB_L0049A820 add esp,00000004h mov [ebp-10h],eax test eax,eax mov dword ptr [ebp-04h],00000000h jz L0044E07D push 00000000h push L004068E0 push L00411E00 push SSZ004C7D1C_This_may_flag_you_criminal_ mov ecx,eax call SUB_L0041FA10 jmp L0044E07F L0044E04D: call SUB_L0049A820 add esp,00000004h mov [ebp-10h],eax test eax,eax mov dword ptr [ebp-04h],00000001h jz L0044E07D push 00000000h push L004068E0 push L00411E00 push SSZ004C7D6C_This_will_lower_notoriety__ mov ecx,eax call SUB_L0041FA10 jmp L0044E07F L0044E07D: xor eax,eax L0044E07F: push 00000001h mov ecx,eax push 00000000h mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L004415C0 mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 4 SUB_L0044E0A0: push ebp mov ebp,esp sub esp,00000008h push esi push edi mov edi,[ebp+08h] test edi,edi jz L0044E228 mov eax,[edi] mov ecx,edi call [eax+2Ch] test eax,eax jz L0044E228 mov eax,[L007121C4] test eax,eax jnz L0044E228 mov edx,[edi] mov ecx,edi call [edx+28h] test eax,eax jnz L0044E207 mov eax,[edi] mov ecx,edi call [eax+24h] test eax,eax jz L0044E0FD mov ecx,[L0073EBE4] mov eax,[ecx+00000150h] test eax,eax jz L0044E207 L0044E0FD: test dword ptr [edi+78h],40000000h jz L0044E190 mov edx,[edi] mov ecx,edi call [edx+54h] test eax,eax jz L0044E17D mov eax,[edi+18h] mov esi,edi test eax,eax jz L0044E127 L0044E11E: mov esi,eax mov eax,[esi+18h] test eax,eax jnz L0044E11E L0044E127: test esi,esi jz L0044E228 L0044E12F: mov eax,[esi] mov ecx,esi call [eax+18h] test eax,eax jz L0044E16E mov edx,[esi] mov ecx,esi call [edx+54h] test eax,eax jz L0044E16E mov ax,[esi+20h] cmp ax,[edi+20h] jnz L0044E16E mov cx,[esi+22h] cmp cx,[edi+22h] jnz L0044E16E mov dx,[esi+24h] cmp dx,[edi+24h] jnz L0044E16E push esi mov ecx,L006A9D38 call SUB_L004611C0 L0044E16E: mov esi,[esi+14h] test esi,esi jnz L0044E12F pop edi pop esi mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L0044E17D: push edi mov ecx,L006A9D38 call SUB_L004611C0 pop edi pop esi mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L0044E190: mov eax,[edi] mov ecx,edi call [eax+28h] test eax,eax jnz L0044E228 mov edx,[edi] mov ecx,edi call [edx+24h] test eax,eax jz L0044E228 mov eax,[L0073EBE4] mov ecx,[eax+00000150h] test ecx,ecx jz L0044E228 mov al,[L0073EC0C] test al,al jz L0044E1DE mov ecx,edi call SUB_L00432D70 cmp eax,00000059h jnz L0044E1DE mov ecx,[edi+78h] call SUB_L0044DFF0 pop edi pop esi mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L0044E1DE: mov ecx,[edi+78h] lea edx,[ebp-08h] push ecx push edx mov ecx,L006BB1C0 call SUB_L00474100 mov ecx,[L006BB1CC] lea eax,[ebp-08h] push eax call SUB_L0048B170 pop edi pop esi mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L0044E207: mov ecx,[edi+78h] lea edx,[ebp-08h] push ecx push edx mov ecx,L006BB1C0 call SUB_L00473E20 mov ecx,[L006BB1CC] lea eax,[ebp-08h] push eax call SUB_L0048B170 L0044E228: pop edi pop esi mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ SUB_L0044E230: push ebp mov ebp,esp push FFFFFFFFh push L004B377B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000010h push ebx push esi mov esi,ecx push edi mov dword ptr [esi+000000A4h],00000001h mov ecx,[L0073EBE4] mov eax,[ecx] call [eax+00000090h] test eax,eax jz L0044E273 xor ebx,ebx jmp L0044E3AB L0044E273: mov ecx,[ebp+0Ch] mov edx,[ebp+08h] push ecx push edx mov ecx,L006A9D38 call SUB_L0045F9E0 mov edi,eax xor ebx,ebx cmp edi,ebx jz L0044E3B7 mov eax,[edi] mov ecx,edi call [eax+24h] test eax,eax jz L0044E376 mov ecx,[L00669620] push ecx push ebx push ebx push edi mov ecx,L00669608 call SUB_L0043F350 mov esi,eax cmp esi,ebx jnz L0044E30E push 00000124h call SUB_L0049A820 add esp,00000004h mov [ebp+0Ch],eax cmp eax,ebx mov [ebp-04h],ebx jz L0044E2DF push 00000001h push edi mov ecx,eax call SUB_L00479290 mov esi,eax jmp L0044E2E1 L0044E2DF: xor esi,esi L0044E2E1: mov edx,[esi+20h] push SSZ004C4948_gump_background imul edx,[esi+1Ch] shl edx,1 push edx mov ecx,L00669C8C mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L0044FBD0 push 00000001h push ebx mov ecx,esi mov [esi+58h],eax call SUB_L004415C0 L0044E30E: mov eax,[esi+24h] mov dword ptr [esi+000000E0h],00000001h cdq sub eax,edx lea ecx,[ebp-1Ch] sar eax,1 mov [esi+6Ch],eax mov eax,[esi+28h] cdq sub eax,edx sar eax,1 mov [esi+70h],eax mov [L006A9DD4],esi mov [L00669C18],esi mov [L00669C14],edi mov eax,[edi+78h] push eax push 00000004h push ecx mov ecx,L006BB1C0 call SUB_L00474A00 mov ecx,[L006BB1CC] lea edx,[ebp-1Ch] push edx call SUB_L0048B170 mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L0044E376: cmp edi,ebx jz L0044E3B7 cmp [L006A9DA8],ebx jnz L0044E3B7 mov eax,[edi] mov ecx,edi call [eax+5Ch] test eax,eax jnz L0044E39F call SUB_L0048B870 test eax,eax jz L0044E3B7 call SUB_L0048B870 test eax,eax jz L0044E3B7 L0044E39F: push ebx push edi mov ecx,L006A9D38 call SUB_L004614B0 L0044E3AB: mov [esi+00000098h],ebx mov [esi+000000ACh],ebx L0044E3B7: mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 8 SUB_L0044E3D0: mov eax,[L00669C9C] mov ecx,[eax+24h] test ecx,ecx jz L0044E3EA L0044E3DC: mov edx,eax mov eax,ecx mov [eax+28h],edx mov ecx,[eax+24h] test ecx,ecx jnz L0044E3DC L0044E3EA: retn ;------------------------------------------------------------------------------ Align 8 SUB_L0044E3F0: push ebp mov ebp,esp sub esp,00000008h mov al,[L004CCB10] push ebx push esi push edi test al,al jz L0044E5BC mov eax,[L00669CA4] test eax,eax jnz L0044E5BC cmp dword ptr [L006695A8],00000001h jz L0044E5BC mov eax,[L00669598] mov ecx,[L00669594] cmp eax,ecx jl L0044E5BC mov ecx,[ebp+0Ch] mov edx,[ebp+08h] push 00000000h push ecx push edx mov ecx,L006BB1A0 call SUB_L00434DF0 test eax,eax jz L0044E5BC movsx edx,[eax+20h] movsx ecx,[eax+22h] movsx eax,[eax+24h] mov esi,[L006AAA9C] mov edi,[L006AAAA0] mov ebx,[L006AAAA4] mov [ebp+08h],eax mov eax,[L00669594] mov [ebp-08h],edx test eax,eax mov [ebp-04h],ecx jle L0044E4BD mov ecx,L006695B4 mov [ebp+0Ch],eax L0044E487: mov eax,[ecx+04h] test eax,eax jnz L0044E4B1 mov al,[ecx] cmp al,[ecx+01h] jnz L0044E4B1 and eax,000000FFh shl eax,02h mov ebx,[eax+L004C7E28] add esi,ebx mov ebx,[eax+L004C7E50] add edi,ebx movsx ebx,[ecx+10h] L0044E4B1: mov eax,[ebp+0Ch] add ecx,00000014h dec eax mov [ebp+0Ch],eax jnz L0044E487 L0044E4BD: mov ecx,[ebp+08h] mov eax,[ebp-04h] push 00000000h push 000001F4h push ecx push eax push edx push ebx push edi push esi mov ecx,L00669C90 call SUB_L004772B0 test eax,eax mov [L00669C9C],eax jnz L0044E534 mov ecx,[ebp+08h] mov edx,[ebp-04h] mov eax,[ebp-08h] push 00000001h push 000001F4h push ecx push edx push eax push ebx push edi push esi mov ecx,L00669C90 call SUB_L004772B0 test eax,eax mov [L00669C9C],eax jnz L0044E534 mov ecx,[L0073EBE4] push eax push eax push 00000003h push eax push SSZ004C7D98_Can_t_get_there call SUB_L0045DAE0 mov dword ptr [L00669CA4],00000000h pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L0044E534: mov dword ptr [L00669CA4],00000001h mov ecx,[eax+24h] test ecx,ecx mov edx,eax jz L0044E555 L0044E547: mov esi,eax mov eax,ecx mov [eax+28h],esi mov ecx,[eax+24h] test ecx,ecx jnz L0044E547 L0044E555: mov eax,[edx+24h] test eax,eax jz L0044E565 L0044E55C: mov edx,eax mov eax,[edx+24h] test eax,eax jnz L0044E55C L0044E565: mov [L00669C9C],edx mov ecx,[edx+10h] mov [L00669CA8],ecx mov eax,[edx+14h] mov [L00669CAC],eax mov ecx,[edx+18h] mov [L00669CB0],ecx mov ecx,[L0073EBE4] xor eax,eax push 00000000h mov al,[ecx+6Eh] push 00000000h mov [L00669CB4],eax mov [edx+1Ch],eax mov edx,[L00669C9C] mov ecx,[L0073EBE4] push 00000003h push 00000000h push SSZ004C7D88_Pathfinding_ mov [L00669CA0],edx call SUB_L0045DAE0 L0044E5BC: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 L0044E5D0: push ebp mov ebp,esp sub esp,0000000Ch mov eax,[ebp+0Ch] mov ecx,[ebp+08h] push esi push 00000001h push eax push ecx mov ecx,L006BB1A0 call SUB_L00434DF0 mov esi,eax test esi,esi jz L0044E62A mov edx,[esi] mov ecx,esi call [edx+18h] test eax,eax jz L0044E62A mov eax,[esi] mov ecx,esi call [eax+2Ch] test eax,eax jz L0044E62A mov ecx,[esi+78h] push 00000001h lea edx,[ebp-0Ch] push ecx push edx mov ecx,L006BB1C0 call SUB_L00476E70 mov ecx,[L006BB1CC] lea eax,[ebp-0Ch] push eax call SUB_L0048B170 L0044E62A: pop esi mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L0044E640: push ebp mov ebp,esp push FFFFFFFFh push L004B3798 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000024h push ebx push esi mov esi,ecx push edi mov [ebp-20h],esi call SUB_L00441CB0 lea eax,[ebp-14h] xor ebx,ebx push eax lea edx,[ebp-18h] mov ecx,00000A8Ch mov [ebp-04h],ebx mov [esi+00000094h],ebx mov [esi+00000098h],ebx mov [esi+0000009Ch],ebx mov dword ptr [esi],L004BAD88 mov dword ptr [esi+04h],SSZ004C7DD4_GameAreaEdgeGump mov [esi+4Ch],ebx mov [esi+48h],ebx mov [esi+44h],ebx mov [esi+40h],ebx mov [esi+3Ch],ebx mov [esi+2Ch],ebx mov [esi+30h],ebx mov [esi+10h],ebx mov dword ptr [esi+14h],00000001h call SUB_L004390A0 lea ecx,[ebp-1Ch] lea edx,[ebp-10h] push ecx mov ecx,00000A8Dh call SUB_L004390A0 mov eax,[ebp+08h] cmp eax,00000003h ja L0044E753 jmp [CASE_PROCTABLE_0044E8EC+eax*4] CASE_0044E8EC_PROC0000: mov eax,[ebp-10h] lea ecx,[eax+eax+00000280h] mov [esi+18h],ecx mov [esi+1Ch],ecx mov ecx,[ebp-14h] mov [esi+20h],ecx neg eax neg ecx mov [esi+2Ch],eax mov [esi+30h],ecx jmp L0044E753 CASE_0044E8EC_PROC0001: mov eax,[ebp-10h] mov edx,[ebp-14h] mov [esi+20h],edx mov dword ptr [esi+30h],000001E0h lea ecx,[eax+eax+00000280h] neg eax mov [esi+18h],ecx mov [esi+1Ch],ecx mov [esi+2Ch],eax jmp L0044E753 CASE_0044E8EC_PROC0002: mov eax,[ebp-10h] mov dword ptr [esi+20h],000001E0h mov [esi+18h],eax mov [esi+1Ch],eax neg eax mov [esi+2Ch],eax jmp L0044E750 CASE_0044E8EC_PROC0003: mov eax,[ebp-10h] mov dword ptr [esi+20h],000001E0h mov [esi+18h],eax mov [esi+1Ch],eax mov dword ptr [esi+2Ch],00000280h L0044E750: mov [esi+30h],ebx L0044E753: mov eax,[esi+14h] push SSZ004C7DBC_GameAreaEdge_framedata shl eax,03h push eax mov ecx,L00669C8C call SUB_L0044FBD0 mov ecx,[esi+14h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+38h],edi push SSZ004C7DA8_GameAreaEdge_frame0 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+1Ch] imul eax,[esi+20h] lea ecx,[eax+eax+04h] push ecx mov ecx,L00669C8C call SUB_L0044FBD0 mov edx,[esi+38h] mov [edx+04h],eax mov eax,[esi+38h] mov dx,[esi+1Ch] mov ecx,[eax+04h] mov [ecx],dx mov eax,[esi+38h] mov dx,[esi+20h] mov ecx,[eax+04h] mov [ecx+02h],dx mov edx,[ebp+08h] mov ecx,[esi+1Ch] mov eax,[esi+20h] cmp edx,00000003h mov [ebp-30h],ebx mov [ebp-2Ch],ebx mov [ebp-28h],ecx mov [ebp-24h],eax ja L0044E8CD jmp [CASE_PROCTABLE_0044E8FC+edx*4] CASE_0044E8FC_PROC0000: xor edi,edi cmp ecx,ebx jle L0044E8CD mov eax,[ebp-18h] L0044E7F2: add eax,edi cmp eax,ecx jle L0044E826 mov ecx,[esi+38h] xor edx,edx mov eax,[ecx+04h] xor ecx,ecx mov dx,[eax+02h] mov cx,[eax] push edx add eax,00000004h push ecx push eax push ebx lea edx,[ebp-30h] push edi push edx mov edx,00000A8Ch mov ecx,SUB_L00488380 call SUB_L00439290 jmp L0044E84E L0044E826: mov eax,[esi+38h] xor ecx,ecx xor edx,edx mov eax,[eax+04h] mov cx,[eax+02h] mov dx,[eax] push ecx add eax,00000004h push edx push eax push ebx push edi mov edx,00000A8Ch mov ecx,SUB_L00488380 call SUB_L00439100 L0044E84E: mov eax,[ebp-18h] mov ecx,[esi+1Ch] add edi,eax cmp edi,ecx jl L0044E7F2 jmp L0044E8CD CASE_0044E8FC_PROC0002: xor edi,edi cmp eax,ebx jle L0044E8CD mov ecx,[ebp-1Ch] L0044E865: add ecx,edi cmp ecx,eax jle L0044E899 mov edx,[esi+38h] xor ecx,ecx mov eax,[edx+04h] xor edx,edx mov cx,[eax+02h] mov dx,[eax] push ecx add eax,00000004h push edx push eax push edi lea eax,[ebp-30h] push ebx push eax mov edx,00000A8Dh mov ecx,SUB_L00488380 call SUB_L00439290 jmp L0044E8C1 L0044E899: mov ecx,[esi+38h] xor edx,edx mov eax,[ecx+04h] xor ecx,ecx mov dx,[eax+02h] mov cx,[eax] push edx add eax,00000004h push ecx push eax push edi push ebx mov edx,00000A8Dh mov ecx,SUB_L00488380 call SUB_L00439100 L0044E8C1: mov ecx,[ebp-1Ch] mov eax,[esi+20h] add edi,ecx cmp edi,eax jl L0044E865 L0044E8CD: push 00000001h push ebx mov ecx,esi call SUB_L004415C0 mov ecx,[ebp-0Ch] mov eax,esi pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_PROCTABLE_0044E8EC: dd CASE_0044E8EC_PROC0000 dd CASE_0044E8EC_PROC0001 dd CASE_0044E8EC_PROC0002 dd CASE_0044E8EC_PROC0003 CASE_PROCTABLE_0044E8FC: dd CASE_0044E8FC_PROC0000 dd CASE_0044E8FC_PROC0000 dd CASE_0044E8FC_PROC0002 dd CASE_0044E8FC_PROC0002 Align 8 L0044E910: push ebp mov ebp,esp push esi mov esi,ecx call SUB_L0044E940 test byte ptr [ebp+08h],01h jz L0044E92A push esi call SUB_L0049A810 add esp,00000004h L0044E92A: mov eax,esi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L0044E940: push ebp mov ebp,esp push FFFFFFFFh push L004B37B8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx mov [ebp-10h],esi mov dword ptr [esi],L004BAD88 mov eax,[esi+38h] mov dword ptr [ebp-04h],00000000h mov eax,[eax+04h] test eax,eax jz L0044E990 push SSZ004C7DA8_GameAreaEdge_frame0 push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov ecx,[esi+38h] mov dword ptr [ecx+04h],00000000h L0044E990: mov eax,[esi+38h] test eax,eax jz L0044E9AE push SSZ004C7DBC_GameAreaEdge_framedata push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov dword ptr [esi+38h],00000000h L0044E9AE: mov ecx,esi mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00441D50 mov ecx,[ebp-0Ch] pop esi mov fs:[00000000h],ecx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 L0044E9D0: push ebp mov ebp,esp mov eax,[ebp+08h] mov edx,[L007121F8] sub eax,edx mov edx,[ebp+0Ch] mov [ecx+00000098h],eax mov eax,[L007121FC] sub edx,eax mov dword ptr [ecx+00000094h],00000001h mov [ecx+0000009Ch],edx pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 L0044EA10: push ebp mov ebp,esp push ecx mov eax,[ecx+00000094h] push ebx push esi push edi test eax,eax mov [ebp-04h],ecx jz L0044EAEB mov eax,[ebp+08h] mov ebx,[L007121F8] mov esi,[ecx+00000098h] mov edi,[ecx+0000009Ch] mov edx,[ebp+0Ch] mov ecx,[L007121FC] sub eax,ebx sub edx,ecx sub eax,esi sub edx,edi lea ecx,[eax+ebx] test ecx,ecx jge L0044EA59 mov eax,ebx neg eax L0044EA59: mov ecx,[L007121FC] add ecx,edx test ecx,ecx jge L0044EA6D mov edx,[L007121FC] neg edx L0044EA6D: mov ecx,[L004C7F34] lea ebx,[eax+ebx+00000280h] cmp ebx,ecx jle L0044EA8C sub ecx,[L007121F8] sub ecx,00000280h mov eax,ecx L0044EA8C: mov ecx,[L007121FC] lea ebx,[edx+ecx+000001E0h] mov ecx,[L004C7F38] cmp ebx,ecx jle L0044EAB1 sub ecx,[L007121FC] sub ecx,000001E0h mov edx,ecx L0044EAB1: test eax,eax jnz L0044EAB9 test edx,edx jz L0044EAEB L0044EAB9: mov ecx,[ebp-04h] sub esi,eax sub edi,edx mov [ecx+00000098h],esi mov [ecx+0000009Ch],edi mov ecx,[L007121F8] add ecx,eax mov eax,[L007121FC] add eax,edx mov [L007121F8],ecx mov [L007121FC],eax call SUB_L0045A290 L0044EAEB: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L0044EB00: push ebp mov ebp,esp push FFFFFFFFh push L004B37DB mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push esi push edi xor ebx,ebx xor esi,esi or edi,FFFFFFFFh L0044EB23: push 000000A0h call SUB_L0049A820 add esp,00000004h mov [ebp-10h],eax cmp eax,ebx mov [ebp-04h],ebx jz L0044EB42 push esi mov ecx,eax call SUB_L0044E640 L0044EB42: inc esi mov [ebp-04h],edi cmp esi,00000004h jl L0044EB23 mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 SUB_L0044EB60: push ebp mov ebp,esp mov ecx,[ebp+08h] push ebx push esi push edi mov edi,[ebp+0Ch] mov si,[ecx] xor edx,edx mov ax,[edi] cmp ax,1400h setge dl xor ebx,ebx cmp si,1400h setge bl xor edx,ebx jz L0044EB95 mov eax,0000270Fh pop edi pop esi pop ebx pop ebp retn 0008h ;------------------------------------------------------------------------------ L0044EB95: movsx edx,ax movsx eax,si sub eax,edx jns L0044EBA1 neg eax L0044EBA1: movsx edx,[edi+02h] movsx ecx,[ecx+02h] sub ecx,edx jns L0044EBAF neg ecx L0044EBAF: cmp si,1400h jge L0044EBD0 mov edx,00001400h sub edx,eax cmp eax,edx jle L0044EBC3 mov eax,edx L0044EBC3: mov edx,00001000h sub edx,ecx cmp ecx,edx jle L0044EBD0 mov ecx,edx L0044EBD0: cmp eax,ecx jg L0044EBD6 mov eax,ecx L0044EBD6: pop edi pop esi pop ebx pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 4 SUB_L0044EBE0: push ebp mov ebp,esp push esi push edi mov edi,ecx xor eax,eax cmp edx,00001400h mov si,[edi] setge al xor ecx,ecx cmp si,1400h setge cl xor eax,ecx jz L0044EC0E mov eax,0000270Fh pop edi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ L0044EC0E: movsx eax,si sub eax,edx jns L0044EC17 neg eax L0044EC17: movsx ecx,[edi+02h] sub ecx,[ebp+08h] jns L0044EC22 neg ecx L0044EC22: cmp si,1400h jge L0044EC43 mov edx,00001400h sub edx,eax cmp eax,edx jle L0044EC36 mov eax,edx L0044EC36: mov edx,00001000h sub edx,ecx cmp ecx,edx jle L0044EC43 mov ecx,edx L0044EC43: cmp eax,ecx jg L0044EC49 mov eax,ecx L0044EC49: pop edi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ db 90h; '?' mov edx,ecx xor eax,eax push edi mov ecx,00000024h mov [edx+0Ch],eax mov [edx+08h],eax mov [edx+04h],eax mov eax,FFFFD8F1h mov [edx+00000148h],eax mov [edx+00000144h],eax lea edi,[edx+0000014Ch] or eax,FFFFFFFFh mov dword ptr [edx],L004BAECC mov dword ptr [edx+00000114h],00001800h mov dword ptr [edx+00000118h],00001000h mov dword ptr [edx+00000140h],00000300h mov dword ptr [edx+0000013Ch],00000200h mov dword ptr [edx+10h],FFFFFFFFh rep stosd mov eax,edx pop edi retn ;------------------------------------------------------------------------------ Align 16 L0044ECC0: push ebp mov ebp,esp mov al,[ebp+08h] push esi mov esi,ecx test al,01h mov dword ptr [esi],L004BAECC jz L0044ECDC push esi call SUB_L0049A810 add esp,00000004h L0044ECDC: mov eax,esi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db C7h; '‡' db 01h; db CCh; 'Œ' db AEh; 'R' db 4Bh; 'K' db 00h; db C3h; 'ƒ' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' SUB_L0044ED00: mov edx,ecx mov eax,FFFFD8F1h push edi mov ecx,00000024h mov [edx+00000148h],eax mov [edx+00000144h],eax lea edi,[edx+0000014Ch] or eax,FFFFFFFFh rep stosd mov ecx,L006BDA38 mov [edx+10h],eax call SUB_L00434B30 pop edi retn ;------------------------------------------------------------------------------ Align 16 SUB_L0044ED40: push ebp mov ebp,esp push FFFFFFFFh push L004B37F8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000040h push ebx mov ebx,ecx push esi push edi mov [ebp-10h],ebx mov edi,[ebx+04h] mov eax,[ebx+08h] mov ecx,[ebx+00000144h] sub edi,00000012h sub eax,00000012h mov dword ptr [ebp-04h],00000000h sar edi,03h sar eax,03h cmp edi,ecx mov [ebp-2Ch],edi mov [ebp-1Ch],eax jnz L0044ED98 cmp eax,[ebx+00000148h] jz L0044EFF2 L0044ED98: mov esi,[L006A9D38] lea ecx,[edi+05h] add eax,00000005h mov [ebp-14h],ecx test esi,esi mov [ebp-18h],eax jz L0044EDF9 L0044EDAE: mov edx,[esi+40h] mov eax,[esi] mov ecx,esi mov [ebp-30h],edx call [eax+2Ch] test eax,eax jnz L0044EDF2 mov edx,[esi] mov ecx,esi call [edx+68h] test eax,eax jnz L0044EDF2 movsx eax,[esi+20h] movsx ecx,[esi+22h] sar eax,03h sar ecx,03h cmp eax,edi jl L0044EDEB cmp eax,[ebp-14h] jg L0044EDEB cmp ecx,[ebp-1Ch] jl L0044EDEB cmp ecx,[ebp-18h] jle L0044EDF2 L0044EDEB: mov eax,[esi] mov ecx,esi call [eax+04h] L0044EDF2: mov esi,[ebp-30h] test esi,esi jnz L0044EDAE L0044EDF9: lea edi,[ebx+0000014Ch] mov dword ptr [ebp-28h],00000024h mov [ebp-30h],edi jmp L0044EE0E L0044EE0B: mov ebx,[ebp-10h] L0044EE0E: mov ecx,[edi] mov esi,[ebx+0000013Ch] mov eax,ecx cdq idiv esi mov eax,ecx mov ecx,[ebp-2Ch] mov ebx,edx cdq idiv esi cmp eax,ecx jl L0044EE38 cmp eax,[ebp-14h] jg L0044EE38 cmp ebx,[ebp-1Ch] jl L0044EE38 cmp ebx,[ebp-18h] jle L0044EE3E L0044EE38: mov dword ptr [edi],FFFFFFFFh L0044EE3E: mov eax,[ebp-28h] add edi,00000004h dec eax mov [ebp-28h],eax jnz L0044EE0B mov esi,[ebp-1Ch] mov eax,[ebp-18h] cmp esi,eax mov [ebp-28h],esi jg L0044EFE0 L0044EE5B: test esi,esi jl L0044EFCE mov ecx,[ebp-10h] cmp esi,[ecx+0000013Ch] jge L0044EFCE mov eax,[ebp-2Ch] mov edx,[ebp-14h] mov ebx,eax cmp eax,edx mov [ebp-24h],ebx jg L0044EFCE jmp L0044EE8A L0044EE87: mov ecx,[ebp-10h] L0044EE8A: test ebx,ebx jl L0044EFBF cmp ebx,[ecx+00000140h] jge L0044EFBF mov edi,ebx xor edx,edx imul edi,[ecx+0000013Ch] mov ecx,[ebp-30h] add edi,esi mov [ebp-40h],edi xor eax,eax L0044EEB3: cmp [ecx],edi jz L0044EEC2 inc eax add ecx,00000004h cmp eax,00000024h jl L0044EEB3 jmp L0044EEC7 L0044EEC2: mov edx,00000001h L0044EEC7: test edx,edx jnz L0044EFBF lea ecx,[ebp-44h] lea edx,[ebp-20h] push ecx push edx push edi push 00000002h push 00000001h mov ecx,L006AA860 call SUB_L00446620 mov esi,eax mov eax,[ebp-20h] test eax,eax jz L0044EF9F jle L0044EF9F L0044EEF9: mov di,[esi] cmp di,4000h jc L0044EF08 mov edi,00000001h L0044EF08: movsx ecx,[esi+04h] movsx eax,[esi+03h] mov dx,[esi+05h] and edi,0000FFFFh movsx ebx,[esi+02h] mov [ebp-38h],ecx mov ecx,edi mov [ebp-34h],eax mov [ebp-3Ch],dx call SUB_L0045BA40 mov edx,[L006A9D98] lea ecx,[edi+edi*4] lea ecx,[edx+ecx*8] test dword ptr [ecx],00800000h jz L0044EF49 mov cl,[ecx+05h] mov [eax+6Eh],cl L0044EF49: mov edx,[ebp-24h] sub esp,00000008h lea ecx,[ebx+edx*8] mov edx,[ebp-34h] mov [ebp-4Ch],cx mov ecx,[ebp-28h] lea edx,[edx+ecx*8] mov cx,[ebp-38h] mov [ebp-4Ah],dx mov dx,[ebp-3Ch] mov edi,[ebp-4Ch] mov [eax+3Eh],dx mov edx,esp mov [ebp-48h],cx mov [edx],edi mov [edx+04h],cx mov ecx,eax call SUB_L0045CAD0 mov eax,[ebp-20h] add esi,00000007h sub eax,00000007h test eax,eax mov [ebp-20h],eax jg L0044EEF9 mov ebx,[ebp-24h] mov edi,[ebp-40h] L0044EF9F: mov ecx,[ebp-30h] xor eax,eax L0044EFA4: cmp dword ptr [ecx],FFFFFFFFh jz L0044EFB2 inc eax add ecx,00000004h cmp eax,00000024h jl L0044EFA4 L0044EFB2: mov ecx,[ebp-10h] mov esi,[ebp-28h] mov [ecx+eax*4+0000014Ch],edi L0044EFBF: mov eax,[ebp-14h] inc ebx cmp ebx,eax mov [ebp-24h],ebx jle L0044EE87 L0044EFCE: mov eax,[ebp-18h] inc esi cmp esi,eax mov [ebp-28h],esi jle L0044EE5B mov esi,[ebp-1Ch] L0044EFE0: mov eax,[ebp-10h] mov edx,[ebp-2Ch] mov [eax+00000144h],edx mov [eax+00000148h],esi L0044EFF2: mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L0044F010: push ebp mov ebp,esp push ecx mov eax,[ebp+08h] push ebx push esi push edi lea edi,[eax-01h] add eax,00000002h cmp edi,eax mov ebx,ecx mov [ebp-04h],eax jg L0044F0C1 mov ecx,[ebp+0Ch] lea edx,[ecx-01h] add ecx,00000002h mov [ebp+0Ch],edx mov [ebp+08h],ecx L0044F03C: mov esi,[ebp+0Ch] mov ecx,[ebp+08h] cmp esi,ecx jg L0044F0A3 L0044F046: test edi,edi jl L0044F0C1 cmp edi,[ebx+00000114h] jge L0044F0C1 test esi,esi jl L0044F0C1 cmp esi,[ebx+00000118h] jge L0044F0C1 mov eax,edi mov ecx,esi sar eax,03h imul eax,[ebx+0000013Ch] sar ecx,03h add eax,ecx mov ecx,L006AA860 push eax push 00000000h call SUB_L004464D0 mov edx,edi mov ecx,esi and edx,00000007h and ecx,00000007h lea ecx,[edx+ecx*8+02h] lea edx,[eax+ecx*2] movsx eax,[ecx+edx] cmp eax,[ebp+10h] jnz L0044F0B6 mov eax,[ebp+08h] inc esi cmp esi,eax jle L0044F046 mov eax,[ebp-04h] L0044F0A3: inc edi cmp edi,eax jle L0044F03C mov eax,00000001h pop edi pop esi pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ L0044F0B6: xor eax,eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ L0044F0C1: pop edi pop esi mov eax,00000001h pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 4 SUB_L0044F0D0: push ebp mov ebp,esp push FFFFFFFFh push L004B3818 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,0000000Ch push ebx push esi push edi mov [ebp-10h],ecx mov edi,[ebp+08h] mov ebx,[ebp+0Ch] cmp edi,00001400h mov dword ptr [ebp-04h],00000000h jl L0044F173 cmp edi,00001800h jge L0044F173 test ebx,ebx jl L0044F173 cmp ebx,00001000h jge L0044F173 test edi,edi jl L0044F16A cmp edi,[ecx+00000114h] jge L0044F16A cmp ebx,[ecx+00000118h] jge L0044F16A mov eax,edi sar eax,03h imul eax,[ecx+0000013Ch] mov ecx,ebx sar ecx,03h add eax,ecx mov ecx,L006AA860 push eax push 00000000h call SUB_L004464D0 mov edx,edi mov ecx,ebx and edx,00000007h and ecx,00000007h xor esi,esi lea ecx,[edx+ecx*8] lea edx,[eax+ecx*2] mov si,[ecx+edx+04h] mov ecx,[ebp-10h] jmp L0044F17D L0044F16A: mov dword ptr [ebp+08h],00008001h jmp L0044F17A L0044F173: mov dword ptr [ebp+08h],00000244h L0044F17A: mov esi,[ebp+08h] L0044F17D: and esi,00007FFFh test edi,edi mov [ebp+08h],esi jl L0044F1D2 test ebx,ebx jl L0044F1D2 cmp edi,[ecx+00000114h] jge L0044F1D2 cmp ebx,[ecx+00000118h] jge L0044F1D2 xor esi,esi jmp L0044F1A5 L0044F1A2: mov ecx,[ebp-10h] L0044F1A5: mov eax,[L004C7DF8+esi*4] mov edx,[L004C7DE8+esi*4] add eax,ebx add edx,edi push eax push edx call SUB_L0044F890 mov [esi+L00549334],al inc esi cmp esi,00000004h jl L0044F1A2 mov esi,[ebp+08h] mov ecx,[ebp-10h] jmp L0044F1DC L0044F1D2: mov dword ptr [L00549334],00000000h L0044F1DC: mov edx,[L006A9D9C] mov eax,esi shl eax,03h sub eax,esi cmp word ptr [edx+eax*4+04h],0000h jz L0044F25A mov edx,[L00549334] mov ax,[L00549336] cmp dl,dh jnz L0044F224 cmp dh,al jnz L0044F224 cmp al,ah jnz L0044F224 movsx eax,dl push eax push ebx push edi call SUB_L0044F010 test eax,eax jnz L0044F25A mov edx,[L00549334] mov ax,[L00549336] L0044F224: movsx ecx,[L00549336] movsx eax,ah add eax,ecx push L00549334 movsx ecx,dh movsx edx,dl add eax,ecx mov ecx,esi add eax,edx lea edx,[ebp-18h] sar eax,02h mov [ebp-18h],di mov [ebp-16h],bx mov [ebp-14h],ax call SUB_L0045BF20 jmp L0044F278 L0044F25A: movsx ax,[L00549334] lea edx,[ebp-18h] mov ecx,esi mov [ebp-18h],di mov [ebp-16h],bx mov [ebp-14h],ax call SUB_L0045BDC0 L0044F278: mov edx,[eax] mov ecx,eax call [edx+10h] mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L0044F2A0: push ebp mov ebp,esp push FFFFFFFFh push L004B3838 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000010h push ebx push esi push edi mov [ebp-14h],ecx mov edi,[ebp+08h] mov ebx,[ebp+0Ch] test edi,edi mov dword ptr [ebp-04h],00000000h jge L0044F2D8 add edi,00001400h L0044F2D8: cmp edi,00001400h jl L0044F2E6 sub edi,00001400h L0044F2E6: test ebx,ebx jge L0044F2F0 add ebx,00001000h L0044F2F0: cmp ebx,00001000h jl L0044F2FE sub ebx,00001000h L0044F2FE: test edi,edi jl L0044F352 test ebx,ebx jl L0044F352 cmp edi,[ecx+00000114h] jge L0044F352 cmp ebx,[ecx+00000118h] jge L0044F352 mov eax,edi sar eax,03h imul eax,[ecx+0000013Ch] mov ecx,ebx sar ecx,03h add eax,ecx mov ecx,L006AA860 push eax push 00000000h call SUB_L004464D0 mov edx,edi mov ecx,ebx and edx,00000007h and ecx,00000007h xor esi,esi lea ecx,[edx+ecx*8] lea edx,[eax+ecx*2] mov si,[ecx+edx+04h] mov ecx,[ebp-14h] jmp L0044F35C L0044F352: mov dword ptr [ebp-10h],00008001h mov esi,[ebp-10h] L0044F35C: and esi,00007FFFh test edi,edi mov [ebp-10h],esi jl L0044F3B2 test ebx,ebx jl L0044F3B2 cmp edi,[ecx+00000114h] jge L0044F3B2 cmp ebx,[ecx+00000118h] jge L0044F3B2 xor esi,esi L0044F37F: mov eax,[L004C7DF8+esi*4] mov ecx,[L004C7DE8+esi*4] add eax,ebx add ecx,edi push eax push ecx mov ecx,[ebp-14h] call SUB_L0044F890 mov [esi+L00549334],al inc esi cmp esi,00000004h jl L0044F37F mov edx,[L00549334] mov esi,[ebp-10h] jmp L0044F3BA L0044F3B2: xor edx,edx mov [L00549334],edx L0044F3BA: mov ecx,[L006A9D9C] mov eax,esi shl eax,03h sub eax,esi cmp word ptr [ecx+eax*4+04h],0000h jz L0044F43B mov cx,[L00549336] cmp dl,dh jnz L0044F401 cmp dh,cl jnz L0044F401 cmp cl,ch jnz L0044F401 mov ecx,[ebp-14h] movsx edx,dl push edx push ebx push edi call SUB_L0044F010 mov edx,[L00549334] test eax,eax jnz L0044F43B mov cx,[L00549336] L0044F401: movsx eax,cl movsx ecx,ch add eax,ecx push L00549334 movsx ecx,dh movsx edx,dl add eax,ecx mov cx,[ebp+08h] add eax,edx mov dx,[ebp+0Ch] sar eax,02h mov [ebp-1Ch],cx mov [ebp-1Ah],dx lea edx,[ebp-1Ch] mov ecx,esi mov [ebp-18h],ax call SUB_L0045BF20 jmp L0044F45D L0044F43B: mov cx,[ebp+0Ch] mov ax,[ebp+08h] movsx dx,dl mov [ebp-1Ah],cx mov [ebp-18h],dx lea edx,[ebp-1Ch] mov ecx,esi mov [ebp-1Ch],ax call SUB_L0045BDC0 L0044F45D: mov edx,[eax] mov ecx,eax call [edx+10h] mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L0044F480: push ebp mov ebp,esp sub esp,00000008h push ebx push esi mov esi,ecx push edi mov ecx,L006BDA38 mov [ebp-04h],esi call SUB_L00434C10 mov ecx,esi call SUB_L0044ED40 mov eax,[esi+04h] mov ecx,[esi+08h] cmp eax,00001400h lea ebx,[ecx-12h] jl L0044F53C add ecx,00000012h cmp ebx,ecx jg L0044F5BC L0044F4BE: lea edi,[eax-12h] lea ecx,[eax+12h] cmp edi,ecx jg L0044F52C mov ecx,ebx and ecx,0000003Fh shl ecx,06h mov [ebp-08h],ecx L0044F4D3: mov edx,edi and edx,0000003Fh add edx,ecx mov esi,[L006BDA48+edx*4] test esi,esi jz L0044F50E L0044F4E5: mov eax,[esi] mov ecx,esi call [eax+1Ch] test eax,eax jz L0044F500 movsx ecx,[esi+20h] cmp ecx,edi jnz L0044F500 movsx edx,[esi+22h] cmp edx,ebx jz L0044F507 L0044F500: mov esi,[esi+14h] test esi,esi jnz L0044F4E5 L0044F507: mov ecx,[ebp-08h] test esi,esi jnz L0044F51B L0044F50E: mov ecx,[ebp-04h] push ebx push edi call SUB_L0044F0D0 mov ecx,[ebp-08h] L0044F51B: mov eax,[ebp-04h] inc edi mov eax,[eax+04h] lea edx,[eax+12h] cmp edi,edx jle L0044F4D3 mov esi,[ebp-04h] L0044F52C: mov ecx,[esi+08h] inc ebx add ecx,00000012h cmp ebx,ecx jle L0044F4BE jmp L0044F5BC L0044F53C: add ecx,00000012h cmp ebx,ecx jg L0044F5BC L0044F543: lea edi,[eax-12h] lea edx,[eax+12h] cmp edi,edx jg L0044F5B1 mov ecx,ebx and ecx,0000003Fh shl ecx,06h mov [ebp-08h],ecx L0044F558: mov eax,edi and eax,0000003Fh add eax,ecx mov esi,[L006BDA48+eax*4] test esi,esi jz L0044F593 L0044F56A: mov edx,[esi] mov ecx,esi call [edx+1Ch] test eax,eax jz L0044F585 movsx eax,[esi+20h] cmp eax,edi jnz L0044F585 movsx ecx,[esi+22h] cmp ecx,ebx jz L0044F58C L0044F585: mov esi,[esi+14h] test esi,esi jnz L0044F56A L0044F58C: mov ecx,[ebp-08h] test esi,esi jnz L0044F5A0 L0044F593: mov ecx,[ebp-04h] push ebx push edi call SUB_L0044F2A0 mov ecx,[ebp-08h] L0044F5A0: mov edx,[ebp-04h] inc edi mov eax,[edx+04h] lea edx,[eax+12h] cmp edi,edx jle L0044F558 mov esi,[ebp-04h] L0044F5B1: mov ecx,[esi+08h] inc ebx add ecx,00000012h cmp ebx,ecx jle L0044F543 L0044F5BC: mov ecx,[L0066963C] test ecx,ecx jz L0044F5CB call SUB_L0047C890 L0044F5CB: mov eax,[esi+08h] mov edx,[esi+04h] and eax,0000003Fh and edx,0000003Fh shl eax,06h add edx,eax mov esi,[L006BDA48+edx*4] test esi,esi jz L0044F5FD L0044F5E7: mov edx,[esi] mov ecx,esi call [edx+1Ch] test eax,eax jnz L0044F5F9 mov esi,[esi+14h] test esi,esi jnz L0044F5E7 L0044F5F9: test esi,esi jnz L0044F601 L0044F5FD: xor ecx,ecx jmp L0044F605 L0044F601: movsx ecx,[esi+24h] L0044F605: mov esi,[ebp-04h] mov edx,[L006BB1A0] mov eax,[esi+0Ch] add eax,00000010h cmp eax,ecx jge L0044F642 test edx,edx jnz L0044F642 call SUB_L004584A0 mov dword ptr [L006BB1A0],00000001h mov eax,[esi+0Ch] add eax,00000010h mov [L006BB1A4],eax call SUB_L0045A290 pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L0044F642: cmp eax,ecx jge L0044F668 cmp edx,00000001h jnz L0044F664 cmp [L006BB1A4],eax jz L0044F67C mov [L006BB1A4],eax call SUB_L0045A290 pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L0044F664: cmp eax,ecx jl L0044F67C L0044F668: cmp edx,00000001h jnz L0044F67C mov dword ptr [L006BB1A0],00000000h call SUB_L0045A290 L0044F67C: pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L0044F690: push ebp mov ebp,esp sub esp,00000008h push ebx push esi mov esi,ecx push edi mov ebx,edx mov [ebp-04h],esi call SUB_L0045A290 mov edi,L006BDA48 mov dword ptr [ebp-08h],00000040h jmp L0044F6C2 L0044F6B3: mov esi,[ebp-04h] mov dword ptr [ebp-08h],00000040h jmp L0044F6C2 L0044F6BF: mov esi,[ebp-04h] L0044F6C2: mov eax,[edi] test eax,eax jz L0044F6D7 L0044F6C8: add [eax+20h],si add [eax+22h],bx mov eax,[eax+14h] test eax,eax jnz L0044F6C8 L0044F6D7: mov esi,[edi] test esi,esi jz L0044F6F2 L0044F6DD: mov eax,[esi] mov ecx,esi call [eax+14h] mov edx,[esi] mov ecx,esi call [edx+10h] mov esi,[esi+14h] test esi,esi jnz L0044F6DD L0044F6F2: mov eax,[ebp-08h] add edi,00000004h dec eax mov [ebp-08h],eax jnz L0044F6BF cmp edi,L006C1A48 jl L0044F6B3 pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 4 SUB_L0044F710: push ebp mov ebp,esp push esi mov esi,ecx mov ecx,[ebp+08h] mov eax,[esi+04h] cmp eax,00001400h jl L0044F735 mov edx,[ebp+0Ch] add ecx,eax mov eax,[esi+08h] mov [esi+04h],ecx add eax,edx mov [esi+08h],eax jmp L0044F7B4 L0044F735: mov edx,[ebp+0Ch] add eax,ecx mov ecx,[esi+08h] mov [esi+04h],eax add ecx,edx cmp eax,00001400h mov [esi+08h],ecx jl L0044F760 add eax,FFFFEC00h xor edx,edx mov ecx,FFFFEC00h mov [esi+04h],eax call SUB_L0044F690 L0044F760: mov eax,[esi+04h] test eax,eax jge L0044F77B add eax,00001400h xor edx,edx mov ecx,00001400h mov [esi+04h],eax call SUB_L0044F690 L0044F77B: mov eax,[esi+08h] cmp eax,00001000h jl L0044F799 add eax,FFFFF000h mov edx,FFFFF000h xor ecx,ecx mov [esi+08h],eax call SUB_L0044F690 L0044F799: mov eax,[esi+08h] test eax,eax jge L0044F7B4 add eax,00001000h mov edx,00001000h xor ecx,ecx mov [esi+08h],eax call SUB_L0044F690 L0044F7B4: mov eax,[ebp+10h] mov [esi+0Ch],eax mov ecx,[L0073EBE4] mov al,[ecx+6Ch] test al,al jnz L0044F7CE mov ecx,esi call SUB_L0044F480 L0044F7CE: pop esi pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 16 SUB_L0044F7E0: push ebp mov ebp,esp push ebx push esi push edi mov esi,ecx call SUB_L0045A290 mov edi,[ebp+08h] cmp edi,FFFFFFFFh jz L0044F804 mov eax,[ebp+0Ch] mov ecx,[ebp+10h] mov [esi+04h],edi mov [esi+08h],eax mov [esi+0Ch],ecx L0044F804: mov edx,[ebp+14h] mov eax,[esi+10h] cmp edx,eax jz L0044F85A mov eax,[esi+0000012Ch] mov [esi+10h],edx mov ecx,eax sar ecx,03h mov [esi+0000011Ch],ecx mov ecx,[esi+00000130h] mov ebx,ecx sar ebx,03h mov [esi+00000124h],ebx mov ebx,[esi+00000134h] add ebx,eax mov eax,[esi+00000138h] add eax,ecx sar ebx,03h sar eax,03h mov [esi+00000120h],ebx mov [esi+00000128h],eax call SUB_L004068F0 L0044F85A: mov ecx,[L0073EBE4] mov al,[ecx+6Ch] test al,al jnz L0044F87D cmp edi,FFFFFFFFh jz L0044F87D mov ecx,esi call SUB_L0044F480 mov ecx,L00669608 call SUB_L0043F1B0 L0044F87D: pop edi pop esi pop ebx pop ebp retn 0010h ;------------------------------------------------------------------------------ Align 16 SUB_L0044F890: push ebp mov ebp,esp push esi push edi mov edi,[ebp+08h] test edi,edi jge L0044F8A2 add edi,[ecx+00000114h] L0044F8A2: mov eax,[ecx+00000114h] cmp edi,eax jl L0044F8AE sub edi,eax L0044F8AE: mov esi,[ebp+0Ch] test esi,esi jge L0044F8BB add esi,[ecx+00000118h] L0044F8BB: mov eax,[ecx+00000118h] cmp esi,eax jl L0044F8C7 sub esi,eax L0044F8C7: mov ecx,[ecx+0000013Ch] mov eax,edi sar eax,03h imul ecx,eax mov edx,esi sar edx,03h add ecx,edx push ecx push 00000000h mov ecx,L006AA860 call SUB_L004464D0 and edi,00000007h and esi,00000007h mov ecx,edi pop edi lea edx,[esi+esi*2] pop esi lea eax,[eax+ecx*2] add ecx,eax mov al,[ecx+edx*8+06h] pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L0044F910: push ebp mov ebp,esp push ecx mov edx,[ebp+08h] push ebx xor ebx,ebx push esi cmp edx,ebx push edi mov [ebp-04h],ecx jl L0044F9DF mov eax,[ebp+0Ch] cmp eax,ebx jl L0044F9DF cmp edx,[ecx+00000114h] jge L0044F9DF cmp eax,[ecx+00000118h] jge L0044F9DF jmp L0044F955 L0044F94C: mov ecx,[ebp-04h] mov edx,[ebp+08h] mov eax,[ebp+0Ch] L0044F955: mov esi,[L004C7DF8+ebx*4] mov edi,[L004C7DE8+ebx*4] add esi,eax add edi,edx jns L0044F96F add edi,[ecx+00000114h] L0044F96F: mov eax,[ecx+00000114h] cmp edi,eax jl L0044F97B sub edi,eax L0044F97B: test esi,esi jge L0044F985 add esi,[ecx+00000118h] L0044F985: mov eax,[ecx+00000118h] cmp esi,eax jl L0044F991 sub esi,eax L0044F991: mov eax,edi sar eax,03h imul eax,[ecx+0000013Ch] mov ecx,esi sar ecx,03h add eax,ecx mov ecx,L006AA860 push eax push 00000000h call SUB_L004464D0 and edi,00000007h and esi,00000007h inc ebx lea esi,[edi+esi*8+02h] cmp ebx,00000004h lea edx,[eax+esi*2] mov al,[esi+edx] mov [ebx+L00549333],al jl L0044F94C mov eax,L00549334 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L0044F9DF: pop edi mov [L00549334],ebx pop esi mov eax,L00549334 pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L0044FA00: push ebp mov ebp,esp push esi push edi mov edi,[ebp+08h] test edi,edi jl L0044FA60 mov esi,[ebp+0Ch] test esi,esi jl L0044FA60 cmp edi,[ecx+00000114h] jge L0044FA60 cmp esi,[ecx+00000118h] jge L0044FA60 mov ecx,[ecx+0000013Ch] mov eax,edi sar eax,03h imul ecx,eax mov edx,esi sar edx,03h add ecx,edx push ecx push 00000000h mov ecx,L006AA860 call SUB_L004464D0 and esi,00000007h and edi,00000007h xor edx,edx lea ecx,[edi+esi*8] lea eax,[eax+ecx*2] mov dx,[ecx+eax+04h] mov eax,edx pop edi pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ L0044FA60: pop edi mov eax,00008001h pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 8 SUB_L0044FA70: push ebp mov ebp,esp push FFFFFFFFh push L004B3868 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,0000001Ch push ebx push esi push edi mov eax,[ebp+08h] mov ecx,[ebp+10h] mov dx,[ebp+14h] mov ebx,[ebp+12h] mov edi,[ebp+0Ah] cmp ax,cx mov dword ptr [ebp-04h],00000001h jnz L0044FAB9 cmp di,bx jnz L0044FAB9 cmp [ebp+0Ch],dx jz L0044FB9A L0044FAB9: movsx esi,ax movsx eax,cx movsx edi,di movsx ecx,bx movsx ebx,[ebp+0Ch] sub ecx,edi sub eax,esi mov [ebp-10h],ecx mov [ebp-14h],eax movsx ecx,dx sub ecx,ebx cdq mov [ebp-18h],ecx mov ecx,eax mov eax,[ebp-10h] xor ecx,edx sub ecx,edx cdq xor eax,edx sub eax,edx cmp eax,ecx jle L0044FAF0 mov ecx,eax L0044FAF0: test ecx,ecx jz L0044FB9A mov eax,[ebp-14h] shl eax,10h cdq idiv ecx shl esi,10h shl edi,10h shl ebx,10h mov [ebp-14h],eax mov eax,[ebp-10h] shl eax,10h cdq idiv ecx mov [ebp-10h],eax mov eax,[ebp-18h] shl eax,10h cdq idiv ecx mov [ebp-18h],eax dec ecx mov byte ptr [ebp-04h],02h test ecx,ecx mov dword ptr [ebp-1Ch],00000000h mov [ebp-20h],ecx jle L0044FB9A L0044FB38: mov ecx,[ebp-14h] mov eax,[ebp-10h] mov edx,[ebp-18h] add esi,ecx add edi,eax mov eax,esi mov ecx,edi sub esp,00000008h sar eax,10h sar ecx,10h add ebx,edx mov [ebp-28h],ax mov [ebp-26h],cx mov ecx,[ebp-28h] mov edx,esp mov eax,ebx sar eax,10h mov [edx],ecx mov ecx,L006A9D38 mov [ebp-24h],ax mov [edx+04h],ax call SUB_L004610E0 test eax,eax jz L0044FB8C mov edx,[eax] mov ecx,eax call [edx+40h] mov ecx,[ebp+18h] test ecx,eax jnz L0044FBB2 L0044FB8C: mov eax,[ebp-1Ch] mov ecx,[ebp-20h] inc eax cmp eax,ecx mov [ebp-1Ch],eax jl L0044FB38 L0044FB9A: mov eax,00000001h mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0014h ;------------------------------------------------------------------------------ L0044FBB2: mov ecx,[ebp-0Ch] pop edi pop esi xor eax,eax mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0014h ;------------------------------------------------------------------------------ Align 16 SUB_L0044FBD0: push ebp mov ebp,esp mov eax,[ebp+08h] push eax call SUB_L0049A820 add esp,00000004h pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L0044FBF0: push ebp mov ebp,esp mov eax,[ebp+08h] push eax call SUB_L0049A810 add esp,00000004h pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L0044FC10: push ebx push esi mov esi,ecx push edi xor ecx,ecx or edi,FFFFFFFFh mov [esi+04h],ecx mov [esi+10h],ecx mov [esi+14h],ecx lea ebx,[esi+20h] mov [esi+18h],edi mov [esi+1Ch],ecx mov eax,ebx mov edx,0000002Eh L0044FC33: mov [eax],edi mov [eax+04h],edi mov [eax+08h],cl mov [eax+09h],cl mov [eax+0Ah],cl mov [eax+0Ch],ecx mov [eax+10h],ecx mov [eax+14h],ecx add eax,00000018h dec edx jnz L0044FC33 mov [esi+00000470h],ecx mov [esi+00000474h],ecx mov [esi+00000478h],ecx mov [esi+0000047Ch],ecx mov [esi+00000480h],ecx mov [esi+00000658h],ecx mov [esi+0000065Ch],ecx mov [esi+00000660h],ecx mov [esi+00000664h],ecx mov [esi+00000668h],ecx mov [esi+0000066Ch],ecx mov [esi+00000670h],ecx mov [esi+00000674h],ecx mov edi,[KERNEL32.dll!InterlockedExchange] mov [esi+00000678h],ecx mov [esi+0000067Ch],ecx lea eax,[esi+0Ch] mov [esi+00000680h],ecx mov dword ptr [esi],L004BAED0 cmp [eax],ecx jz L0044FCCF push ecx push eax call edi lea eax,[esi+08h] push 00000001h push eax call edi L0044FCCF: lea ecx,[esi+08h] push 00000001h push ecx call edi mov edi,[KERNEL32.dll!InitializeCriticalSection] push L00549370 call edi push L00549338 call edi push L00549388 call edi push L00549350 call edi lea edi,[esi+00000484h] mov ecx,00000027h xor eax,eax mov edx,00006058h rep stosd mov dword ptr [ebx],00006053h mov eax,00006054h mov dword ptr [esi+24h],00006053h mov [esi+38h],eax mov [esi+3Ch],eax mov eax,00006055h mov [esi+50h],eax mov ebx,00006056h mov [esi+54h],eax mov [esi+68h],ebx mov edi,00006057h mov [esi+6Ch],ebx mov [esi+00000080h],edi mov [esi+00000084h],edi mov [esi+00000098h],edx mov ecx,00006059h mov [esi+0000009Ch],edx mov [esi+000000B0h],ecx mov eax,0000605Ah mov [esi+000000B4h],ecx mov [esi+000000C8h],eax mov [esi+000000CCh],eax mov dword ptr [esi+000000E0h],00006053h mov dword ptr [esi+000000E4h],00006053h mov dword ptr [esi+000000F8h],00006054h mov dword ptr [esi+000000FCh],00006054h mov dword ptr [esi+00000110h],00006055h mov dword ptr [esi+00000114h],00006055h mov [esi+00000128h],ebx mov [esi+0000012Ch],ebx mov [esi+00000140h],edi mov [esi+00000144h],edi mov [esi+00000158h],edx mov [esi+0000015Ch],edx mov [esi+00000170h],ecx mov [esi+00000174h],ecx mov [esi+00000188h],eax mov [esi+0000018Ch],eax mov eax,0000605Bh mov [esi+000001A0h],eax mov [esi+000001A4h],eax mov dword ptr [esi+000001B8h],0000605Ch mov eax,0000605Eh mov dword ptr [esi+000001BCh],0000605Dh mov [esi+000001D0h],eax mov [esi+000001D4h],eax mov eax,0000605Fh mov [esi+000001E8h],eax mov [esi+000001ECh],eax mov eax,00006060h mov [esi+00000200h],eax mov [esi+00000204h],eax mov eax,00006061h mov [esi+00000218h],eax mov [esi+0000021Ch],eax mov eax,00006062h mov [esi+00000230h],eax mov [esi+00000234h],eax mov eax,0000606Ah mov [esi+00000248h],eax mov [esi+0000024Ch],eax mov eax,0000606Bh mov [esi+00000260h],eax mov [esi+00000264h],eax mov eax,0000606Ch mov [esi+00000278h],eax mov ebx,0000606Dh mov [esi+0000027Ch],eax mov [esi+00000290h],ebx mov edi,0000606Eh mov [esi+00000294h],ebx mov [esi+000002A8h],edi mov edx,0000606Fh mov [esi+000002ACh],edi mov [esi+000002C0h],edx mov ecx,00006070h mov [esi+000002C4h],edx mov [esi+000002D8h],ecx mov eax,00006071h mov [esi+000002DCh],ecx mov [esi+000002F0h],eax mov [esi+000002F4h],eax mov [esi+000003B0h],eax mov [esi+000003B4h],eax mov eax,00006072h mov [esi+000003C8h],eax mov [esi+000003CCh],eax mov eax,00006075h mov [esi+00000368h],edi mov [esi+000003F8h],eax mov [esi+000003FCh],eax mov eax,00006076h mov [esi+0000036Ch],edi mov [esi+00000410h],eax mov [esi+00000414h],eax mov eax,00006077h mov dword ptr [esi+00000308h],0000606Ah mov [esi+00000428h],eax mov [esi+0000042Ch],eax mov eax,00006078h mov dword ptr [esi+0000030Ch],0000606Ah mov [esi+00000440h],eax mov [esi+00000444h],eax mov eax,00006079h mov dword ptr [esi+00000320h],0000606Bh mov [esi+00000458h],eax mov [esi+0000045Ch],eax mov dword ptr [esi+00000324h],0000606Bh mov dword ptr [esi+00000338h],0000606Ch mov dword ptr [esi+0000033Ch],0000606Ch mov [esi+00000350h],ebx mov [esi+00000354h],ebx mov [esi+00000380h],edx mov [esi+00000384h],edx mov [esi+00000398h],ecx mov [esi+0000039Ch],ecx mov dword ptr [esi+000003E0h],00006073h mov dword ptr [esi+000003E4h],00006074h mov eax,esi pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ Align 8 L0044FFF0: push ebp mov ebp,esp push ebx push esi mov esi,ecx push edi mov ebx,00000027h mov dword ptr [esi],L004BAED0 lea edi,[esi+00000484h] L00450009: mov eax,[edi] push eax call SUB_L0049A810 add esp,00000004h add edi,00000004h dec ebx jnz L00450009 mov ecx,[esi+00000660h] xor edi,edi cmp ecx,edi jz L0045006C mov eax,[esi+0000065Ch] cmp eax,edi jz L0045006C push eax push ecx mov ecx,L006AAE78 call SUB_L004952D0 mov ecx,[esi+00000664h] mov edx,[esi+00000668h] push ecx push edx mov ecx,L006AAE78 call SUB_L004952D0 mov [esi+00000668h],edi mov [esi+00000660h],edi mov [esi+00000664h],edi mov [esi+0000065Ch],edi L0045006C: test byte ptr [ebp+08h],01h jz L0045007B push esi call SUB_L0049A810 add esp,00000004h L0045007B: mov eax,esi pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 L00450090: push ebx push esi mov esi,ecx push edi mov ebx,00000027h mov dword ptr [esi],L004BAED0 lea edi,[esi+00000484h] L004500A6: mov eax,[edi] push eax call SUB_L0049A810 add esp,00000004h add edi,00000004h dec ebx jnz L004500A6 mov ecx,[esi+00000660h] xor edi,edi cmp ecx,edi jz L00450109 mov eax,[esi+0000065Ch] cmp eax,edi jz L00450109 push eax push ecx mov ecx,L006AAE78 call SUB_L004952D0 mov ecx,[esi+00000664h] mov edx,[esi+00000668h] push ecx push edx mov ecx,L006AAE78 call SUB_L004952D0 mov [esi+00000668h],edi mov [esi+00000660h],edi mov [esi+00000664h],edi mov [esi+0000065Ch],edi L00450109: pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ Align 4 SUB_L00450110: mov eax,[ecx+08h] retn ;------------------------------------------------------------------------------ Align 16 SUB_L00450120: push ebp mov ebp,esp mov eax,[L005492A0] push esi mov esi,ecx push edi test eax,eax mov ecx,00000011h jz L00450138 mov ecx,[ebp+08h] L00450138: cmp ecx,00000014h jnz L00450148 mov eax,[esi+04h] test eax,eax jg L00450148 inc eax mov [esi+04h],eax L00450148: mov eax,[esi+04h] test eax,eax jle L0045015E mov ecx,[esi+0Ch] lea eax,[esi+0Ch] cmp ecx,00000014h jz L00450185 push 00000014h jmp L00450174 L0045015E: cmp ecx,00000011h lea eax,[esi+0Ch] jnz L0045016F cmp dword ptr [eax],00000011h jz L00450185 push 00000011h jmp L00450174 L0045016F: cmp [eax],ecx jz L00450185 push ecx L00450174: mov edi,[KERNEL32.dll!InterlockedExchange] push eax call edi add esi,00000008h push 00000001h push esi call edi L00450185: pop edi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 8 SUB_L00450190: inc [ecx+04h] retn ;------------------------------------------------------------------------------ Align 16 SUB_L004501A0: mov eax,[ecx+04h] dec eax mov [ecx+04h],eax jns L004501B0 mov dword ptr [ecx+04h],00000000h L004501B0: retn ;------------------------------------------------------------------------------ Align 16 SUB_L004501C0: push ebp mov ebp,esp sub esp,00000024h push ebx push esi push edi lea edi,[ecx+24h] mov [ebp-14h],ecx mov [ebp-08h],edi mov dword ptr [ebp-0Ch],0000002Eh L004501D9: xor ecx,ecx mov [edi+08h],ecx mov [edi+0Ch],ecx mov eax,[edi-04h] mov edx,[edi] cmp eax,edx mov [ebp-04h],eax jg L0045029D jmp L004501F6 L004501F3: mov eax,[ebp-04h] L004501F6: push eax mov ecx,L006A9DB8 call SUB_L004882D0 xor edx,edx xor ecx,ecx mov dx,[eax+06h] mov cx,[eax+04h] lea ebx,[eax+08h] xor esi,esi lea eax,[eax+edx*2+08h] mov si,[ebx] mov [ebp-10h],eax lea esi,[eax+esi*2] xor eax,eax test ecx,ecx jle L0045023C add esi,00000004h L00450228: cmp word ptr [esi],03E0h jz L00450239 inc eax add esi,00000002h cmp eax,ecx jl L00450228 jmp L0045023C L00450239: mov [edi+04h],al L0045023C: xor eax,eax test edx,edx jle L00450268 mov esi,ebx L00450244: mov ebx,[ebp-10h] xor edi,edi mov di,[esi] cmp word ptr [ebx+edi*2+04h],03E0h jz L00450262 inc eax add esi,00000002h cmp eax,edx jl L00450244 mov edi,[ebp-08h] jmp L00450268 L00450262: mov edi,[ebp-08h] mov [edi+05h],al L00450268: lea eax,[edi-24h] mov dword ptr [eax+34h],00000001h mov esi,[edi+08h] lea eax,[edi+08h] cmp ecx,esi jle L0045027E mov [eax],ecx L0045027E: mov ecx,[edi+0Ch] lea eax,[edi+0Ch] cmp edx,ecx jle L0045028A mov [eax],edx L0045028A: mov eax,[ebp-04h] mov ecx,[edi] inc eax cmp eax,ecx mov [ebp-04h],eax jle L004501F3 xor ecx,ecx L0045029D: mov eax,[ebp-0Ch] add edi,00000018h dec eax mov [ebp-08h],edi mov [ebp-0Ch],eax jnz L004501D9 mov eax,[ebp-14h] mov [ebp-04h],ecx lea esi,[eax+000005BCh] mov [ebp-10h],esi L004502BF: mov ecx,[ebp-04h] add ecx,00006053h push ecx mov ecx,L006A9DB8 call SUB_L004882D0 xor ecx,ecx lea ebx,[esi-0000009Ch] mov cx,[eax+04h] mov [ebp-0Ch],eax test cl,01h mov [ebx],ecx jz L004502EC dec ecx mov [ebx],ecx L004502EC: xor edx,edx mov dx,[eax+06h] mov eax,00000001h mov [esi],edx mov [ebp-20h],eax mov [ebp-24h],eax mov eax,[ebx] mov ecx,edx lea edx,[eax-01h] imul eax,ecx shl eax,1 push eax mov [ebp-18h],ecx mov [ebp-1Ch],edx call SUB_L0049A820 mov edi,eax xor eax,eax mov [esi-00000138h],edi mov ecx,[ebx] imul ecx,[esi] shl ecx,1 mov edx,ecx add esp,00000004h shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov edx,[ebx] mov ecx,[esi-00000138h] call SUB_L00488A00 mov edx,[ebp-0Ch] push 00000000h lea eax,[ebp-24h] push 00000000h push eax mov ecx,SUB_L00488380 call SUB_L00488A10 cmp dword ptr [ebp-04h],00000017h jge L0045041E mov ecx,[L005493A8] test ecx,ecx jz L0045041E mov eax,[esi] mov edx,[esi-00000138h] test eax,eax mov dword ptr [ebp-08h],00000000h jle L0045041E mov eax,ebx L0045038C: mov edi,[eax] mov dword ptr [ebp-0Ch],00000000h test edi,edi jle L0045040D L00450399: mov ax,[edx] test ax,ax jz L004503F3 mov edi,eax mov esi,ecx and edi,0000FFFFh and esi,0000001Fh shr edi,0Ah imul esi,edi mov edi,eax mov ebx,ecx and edi,0000FC00h sar ebx,0Ah imul edi,ebx sar ecx,05h and ecx,0000001Fh shr ax,0Ah imul ecx,eax shr edi,05h sar esi,05h and edi,00000400h and ecx,0000FFE0h or esi,edi or esi,ecx mov [edx],si mov ecx,[L005493A8] mov esi,[ebp-10h] L004503F3: mov edi,[ebp-0Ch] mov ebx,[esi-0000009Ch] lea eax,[esi-0000009Ch] add edx,00000002h inc edi cmp edi,ebx mov [ebp-0Ch],edi jl L00450399 L0045040D: mov edi,[ebp-08h] mov ebx,[esi] inc edi cmp edi,ebx mov [ebp-08h],edi jl L0045038C L0045041E: mov al,[L0073EC3C] test al,al jz L0045047F mov eax,[esi] mov ecx,[esi-00000138h] test eax,eax mov dword ptr [ebp-0Ch],00000000h jle L0045047F lea edi,[esi-0000009Ch] L00450440: mov eax,[edi] xor edx,edx test eax,eax jle L00450472 lea edi,[esi-0000009Ch] L0045044E: mov ax,[ecx] test ax,ax jz L00450468 mov ebx,eax and eax,0000001Fh and ebx,0000FFE0h shl ebx,1 or ebx,eax mov [ecx],bx L00450468: mov eax,[edi] add ecx,00000002h inc edx cmp edx,eax jl L0045044E L00450472: mov eax,[ebp-0Ch] mov edx,[esi] inc eax cmp eax,edx mov [ebp-0Ch],eax jl L00450440 L0045047F: mov eax,[ebp-04h] add esi,00000004h inc eax mov [ebp-10h],esi cmp eax,00000027h mov [ebp-04h],eax jl L004502BF mov esi,[ebp-14h] mov edi,00000004h mov edx,00000027h mov [esi+0000066Ch],edi mov [esi+00000670h],edi lea eax,[esi+000005BCh] L004504B4: mov ecx,[eax-0000009Ch] mov ebx,[esi+0000066Ch] cmp ecx,ebx jle L004504CA mov [esi+0000066Ch],ecx L004504CA: mov ecx,[eax] mov ebx,[esi+00000670h] cmp ecx,ebx jle L004504DC mov [esi+00000670h],ecx L004504DC: add eax,edi dec edx jnz L004504B4 mov eax,[esi+0000066Ch] mov edx,[esi+00000670h] add eax,00000003h lea ecx,[esi+0000065Ch] and al,FCh push ecx push edx push eax mov ecx,L006AAE78 mov [esi+0000066Ch],eax call SUB_L004952F0 mov ecx,[esi+00000670h] mov edx,[esi+0000066Ch] mov [esi+00000660h],eax lea eax,[esi+00000664h] push eax push ecx push edx mov ecx,L006AAE78 call SUB_L004952F0 mov [esi+00000668h],eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 4 SUB_L00450540: push ebp mov ebp,esp push ebx mov ebx,[KERNEL32.dll!EnterCriticalSection] push esi push edi mov esi,ecx push L00549350 call ebx mov edi,[esi+18h] push L00549350 call [KERNEL32.dll!LeaveCriticalSection] push L00549338 call ebx test edi,edi jl L004505B2 lea eax,[edi+edi*2] mov ecx,[esi+eax*8+34h] lea eax,[esi+eax*8] test ecx,ecx jz L004505B2 mov edx,[esi+00000474h] xor ecx,ecx mov cl,[eax+28h] push L00549338 add edx,ecx mov ecx,[ebp+08h] mov [ecx],edx mov ecx,[ebp+0Ch] xor edx,edx mov dl,[eax+29h] mov eax,[esi+00000478h] add eax,edx mov [ecx],eax call [KERNEL32.dll!LeaveCriticalSection] pop edi pop esi pop ebx pop ebp retn 0008h ;------------------------------------------------------------------------------ L004505B2: mov eax,[ebp+08h] mov edx,[esi+00000474h] push L00549338 mov [eax],edx mov edx,[ebp+0Ch] mov ecx,[esi+00000478h] mov [edx],ecx call [KERNEL32.dll!LeaveCriticalSection] pop edi pop esi pop ebx pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 8 SUB_L004505E0: push ebp mov ebp,esp push esi mov esi,ecx push L00549388 call [KERNEL32.dll!EnterCriticalSection] mov eax,[esi+00000698h] mov edx,[ebp+08h] push L00549388 mov ecx,[esi+eax*4-00017C2Ch] mov [edx],ecx mov eax,[esi+00000698h] mov edx,[ebp+0Ch] mov ecx,[esi+eax*4-00017B90h] mov [edx],ecx call [KERNEL32.dll!LeaveCriticalSection] pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L00450630: push ebp mov ebp,esp mov eax,[ecx+14h] mov edx,[ebp+08h] cmp eax,edx jnz L00450644 mov dword ptr [ecx+14h],00000000h L00450644: pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00450650: push ebp mov ebp,esp push ebx mov ebx,[KERNEL32.dll!EnterCriticalSection] push esi push edi mov edi,ecx push L00549350 call ebx mov esi,[edi+18h] push L00549350 call [KERNEL32.dll!LeaveCriticalSection] push L00549338 call ebx test esi,esi jl L004506A8 lea eax,[esi+esi*2] mov ecx,[edi+eax*8+34h] lea eax,[edi+eax*8] test ecx,ecx jz L004506A8 mov esi,[edi+00000474h] mov edi,[edi+00000478h] xor ecx,ecx xor edx,edx mov cl,[eax+28h] mov dl,[eax+29h] add esi,ecx add edi,edx jmp L004506B4 L004506A8: mov esi,[edi+00000474h] mov edi,[edi+00000478h] L004506B4: push L00549338 call [KERNEL32.dll!LeaveCriticalSection] mov eax,[ebp+08h] mov ecx,[L007121FC] test eax,eax mov eax,[L007121F8] jnz L004506F7 cmp esi,eax jl L004506ED lea edx,[eax+00000280h] cmp esi,edx jge L004506ED cmp edi,ecx jl L004506ED lea edx,[ecx+000001E0h] cmp edi,edx jl L004506F7 L004506ED: or eax,FFFFFFFFh pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ L004506F7: mov edx,FFFFFEC0h sub edx,eax mov eax,FFFFFF10h sub eax,ecx add esi,edx add edi,eax test esi,esi jle L0045075D mov ecx,esi neg ecx shl ecx,1 cmp edi,ecx jge L00450720 xor eax,eax pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ L00450720: mov edx,esi lea eax,[edi+edi] neg edx cmp eax,edx jge L00450737 mov eax,00000001h pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ L00450737: cmp eax,esi jge L00450747 mov eax,00000002h pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ L00450747: lea eax,[esi+esi] xor ecx,ecx cmp edi,eax setge cl add ecx,00000003h mov eax,ecx pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ L0045075D: mov edx,esi neg edx shl edx,1 cmp edi,edx jle L00450773 mov eax,00000004h pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ L00450773: mov ecx,esi lea eax,[edi+edi] neg ecx cmp eax,ecx jle L0045078A mov eax,00000005h pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ L0045078A: cmp eax,esi jle L0045079A mov eax,00000006h pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ L0045079A: lea edx,[esi+esi] xor eax,eax cmp edi,edx pop edi setle al dec eax pop esi and eax,00000007h pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L004507B0: push ebx mov ebx,[KERNEL32.dll!EnterCriticalSection] push esi push edi mov esi,ecx push L00549350 call ebx mov edi,[esi+18h] push L00549350 call [KERNEL32.dll!LeaveCriticalSection] push L00549338 call ebx test edi,edi jl L00450805 lea eax,[edi+edi*2] mov ecx,[esi+eax*8+34h] lea eax,[esi+eax*8] test ecx,ecx jz L00450805 mov edi,[esi+00000474h] mov esi,[esi+00000478h] xor ecx,ecx xor edx,edx mov cl,[eax+28h] mov dl,[eax+29h] add edi,ecx add esi,edx jmp L00450811 L00450805: mov edi,[esi+00000474h] mov esi,[esi+00000478h] L00450811: push L00549338 call [KERNEL32.dll!LeaveCriticalSection] mov ecx,[L007121F8] mov edx,[L007121FC] mov eax,FFFFFEC0h sub eax,ecx mov ecx,FFFFFF10h sub ecx,edx add edi,eax add esi,ecx mov eax,edi mov edx,esi imul eax,edi imul edx,esi shl edx,04h lea eax,[eax+eax*8] pop edi add edx,eax xor eax,eax cmp edx,00064000h pop esi setle al pop ebx retn ;------------------------------------------------------------------------------ Align 8 SUB_L00450860: push ebp mov ebp,esp sub esp,00000008h push ebx push esi push edi mov edi,[KERNEL32.dll!EnterCriticalSection] mov esi,ecx push L00549350 call edi mov ebx,[esi+18h] push L00549350 call [KERNEL32.dll!LeaveCriticalSection] push L00549338 call edi test ebx,ebx jl L004508C1 lea eax,[ebx+ebx*2] mov ecx,[esi+eax*8+34h] lea eax,[esi+eax*8] test ecx,ecx jz L004508C1 mov edx,[ebp+08h] xor ecx,ecx mov cl,[eax+28h] sub edx,ecx xor ecx,ecx mov [esi+00000474h],edx mov cl,[eax+29h] mov edx,[ebp+0Ch] sub edx,ecx mov [esi+00000478h],edx jmp L004508D3 L004508C1: mov eax,[ebp+08h] mov ecx,[ebp+0Ch] mov [esi+00000474h],eax mov [esi+00000478h],ecx L004508D3: push L00549338 call [KERNEL32.dll!LeaveCriticalSection] push L00549350 call edi mov ebx,[esi+18h] push L00549350 call [KERNEL32.dll!LeaveCriticalSection] push L00549338 call edi test ebx,ebx jl L0045092C lea edx,[ebx+ebx*2] mov ecx,[esi+edx*8+34h] lea eax,[esi+edx*8] test ecx,ecx jz L0045092C mov edx,[esi+00000474h] xor ecx,ecx mov cl,[eax+28h] add ecx,edx xor edx,edx mov [ebp-08h],ecx mov dl,[eax+29h] add edx,[esi+00000478h] mov [ebp-04h],edx jmp L0045093E L0045092C: mov eax,[esi+00000474h] mov ecx,[esi+00000478h] mov [ebp-08h],eax mov [ebp-04h],ecx L0045093E: push L00549338 call [KERNEL32.dll!LeaveCriticalSection] mov eax,[esi+14h] test eax,eax jnz L00450969 mov edx,[ebp-04h] mov eax,[ebp-08h] push 00000001h push 00000000h push edx push eax mov ecx,L00669608 call SUB_L0043F4D0 mov [esi+14h],eax L00450969: mov ecx,[esi+14h] test ecx,ecx jz L0045098D lea edx,[ebp-04h] lea eax,[ebp-08h] push edx push eax call SUB_L00440CD0 mov eax,[ebp-04h] mov ecx,[esi+14h] push eax mov eax,[ebp-08h] mov edx,[ecx] push eax call [edx+14h] L0045098D: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L004509A0: push ebp mov ebp,esp sub esp,00000008h push ebx push esi push edi mov edi,[KERNEL32.dll!EnterCriticalSection] mov esi,ecx push L00549350 call edi mov ebx,[esi+18h] push L00549350 call [KERNEL32.dll!LeaveCriticalSection] push L00549338 call edi test ebx,ebx jl L00450A01 lea eax,[ebx+ebx*2] mov ecx,[esi+eax*8+34h] lea eax,[esi+eax*8] test ecx,ecx jz L00450A01 mov edx,[ebp+08h] xor ecx,ecx mov cl,[eax+28h] sub edx,ecx xor ecx,ecx mov [esi+00000474h],edx mov cl,[eax+29h] mov edx,[ebp+0Ch] sub edx,ecx mov [esi+00000478h],edx jmp L00450A13 L00450A01: mov eax,[ebp+08h] mov ecx,[ebp+0Ch] mov [esi+00000474h],eax mov [esi+00000478h],ecx L00450A13: push L00549338 call [KERNEL32.dll!LeaveCriticalSection] push L00549350 call edi mov ebx,[esi+18h] push L00549350 call [KERNEL32.dll!LeaveCriticalSection] push L00549338 call edi test ebx,ebx jl L00450A6C lea edx,[ebx+ebx*2] mov ecx,[esi+edx*8+34h] lea eax,[esi+edx*8] test ecx,ecx jz L00450A6C mov edx,[esi+00000474h] xor ecx,ecx mov cl,[eax+28h] add ecx,edx xor edx,edx mov [ebp-08h],ecx mov dl,[eax+29h] add edx,[esi+00000478h] mov [ebp-04h],edx jmp L00450A7E L00450A6C: mov eax,[esi+00000474h] mov ecx,[esi+00000478h] mov [ebp-08h],eax mov [ebp-04h],ecx L00450A7E: push L00549338 call [KERNEL32.dll!LeaveCriticalSection] mov ecx,[esi+14h] test ecx,ecx jz L00450AB3 mov eax,[ecx+48h] test eax,eax jz L00450AB3 cmp eax,[L0066961C] jnz L00450AB3 mov eax,[ebp-04h] mov edx,[ecx] push eax mov eax,[ebp-08h] push eax call [edx+18h] mov dword ptr [esi+14h],00000000h L00450AB3: mov ecx,[esi+14h] test ecx,ecx jz L00450AD7 lea edx,[ebp-04h] lea eax,[ebp-08h] push edx push eax call SUB_L00440CD0 mov eax,[ebp-04h] mov ecx,[esi+14h] push eax mov eax,[ebp-08h] mov edx,[ecx] push eax call [edx+18h] L00450AD7: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ SUB_L00450AE0: push ebp mov ebp,esp sub esp,00000008h push ebx mov ebx,ecx mov ecx,[L00669630] push esi push edi mov edi,edx test ecx,ecx jz L00450B41 lea eax,[ebp-04h] lea edx,[ebp-08h] push eax push edx mov [ebp-08h],ebx mov [ebp-04h],edi call SUB_L00440CD0 mov edx,[ebp-04h] mov ecx,[L00669630] push edx mov edx,[ebp-08h] mov eax,[ecx] push edx call [eax+10h] test eax,eax jz L00450BB0 mov edx,[ebp-04h] mov ecx,[L00669630] push 00000000h push edx mov edx,[ebp-08h] mov eax,[ecx] push edx call [eax+04h] pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00450B41: mov esi,[L00669620] test esi,esi jz L00450BB0 L00450B4B: lea eax,[ebp-04h] lea ecx,[ebp-08h] push eax push ecx mov ecx,esi mov [ebp-08h],ebx mov [ebp-04h],edi call SUB_L00440CD0 mov eax,[esi+68h] test eax,eax jz L00450B88 mov eax,[ebp-04h] mov ecx,[ebp-08h] mov edx,[esi] push eax push ecx mov ecx,esi call [edx+10h] test eax,eax jz L00450B88 mov edx,[esi] mov ecx,esi call [edx+00000098h] test eax,eax jz L00450B98 L00450B88: mov esi,[esi+3Ch] test esi,esi jnz L00450B4B xor eax,eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00450B98: mov ecx,[ebp-04h] mov edx,[ebp-08h] mov eax,[esi] push 00000000h push ecx push edx mov ecx,esi call [eax+04h] pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00450BB0: pop edi pop esi xor eax,eax pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 SUB_L00450BC0: push ebp mov ebp,esp sub esp,00000008h push ebx push esi push edi mov edi,[KERNEL32.dll!EnterCriticalSection] mov esi,ecx push L00549350 call edi mov ebx,[esi+18h] push L00549350 call [KERNEL32.dll!LeaveCriticalSection] push L00549338 call edi test ebx,ebx jl L00450C21 lea eax,[ebx+ebx*2] mov ecx,[esi+eax*8+34h] lea eax,[esi+eax*8] test ecx,ecx jz L00450C21 mov edx,[ebp+08h] xor ecx,ecx mov cl,[eax+28h] sub edx,ecx xor ecx,ecx mov [esi+00000474h],edx mov cl,[eax+29h] mov edx,[ebp+0Ch] sub edx,ecx mov [esi+00000478h],edx jmp L00450C33 L00450C21: mov eax,[ebp+08h] mov ecx,[ebp+0Ch] mov [esi+00000474h],eax mov [esi+00000478h],ecx L00450C33: push L00549338 call [KERNEL32.dll!LeaveCriticalSection] push L00549350 call edi mov ebx,[esi+18h] push L00549350 call [KERNEL32.dll!LeaveCriticalSection] push L00549338 call edi test ebx,ebx jl L00450C8C lea edx,[ebx+ebx*2] mov ecx,[esi+edx*8+34h] lea eax,[esi+edx*8] test ecx,ecx jz L00450C8C mov edx,[esi+00000474h] xor ecx,ecx mov cl,[eax+28h] add ecx,edx xor edx,edx mov [ebp-08h],ecx mov dl,[eax+29h] add edx,[esi+00000478h] mov [ebp-04h],edx jmp L00450C9E L00450C8C: mov eax,[esi+00000474h] mov ecx,[esi+00000478h] mov [ebp-08h],eax mov [ebp-04h],ecx L00450C9E: push L00549338 call [KERNEL32.dll!LeaveCriticalSection] mov eax,[esi+14h] test eax,eax jnz L00450CBE mov edx,[ebp-04h] mov ecx,[ebp-08h] call SUB_L00450AE0 mov [esi+14h],eax L00450CBE: mov ecx,[esi+14h] test ecx,ecx jz L00450CE2 lea edx,[ebp-04h] lea eax,[ebp-08h] push edx push eax call SUB_L00440CD0 mov eax,[ebp-04h] mov ecx,[esi+14h] push eax mov eax,[ebp-08h] mov edx,[ecx] push eax call [edx+1Ch] L00450CE2: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 8 SUB_L00450CF0: push ebp mov ebp,esp sub esp,00000008h push ebx push esi push edi mov edi,[KERNEL32.dll!EnterCriticalSection] mov esi,ecx push L00549350 call edi mov ebx,[esi+18h] push L00549350 call [KERNEL32.dll!LeaveCriticalSection] push L00549338 call edi test ebx,ebx jl L00450D51 lea eax,[ebx+ebx*2] mov ecx,[esi+eax*8+34h] lea eax,[esi+eax*8] test ecx,ecx jz L00450D51 mov edx,[ebp+08h] xor ecx,ecx mov cl,[eax+28h] sub edx,ecx xor ecx,ecx mov [esi+00000474h],edx mov cl,[eax+29h] mov edx,[ebp+0Ch] sub edx,ecx mov [esi+00000478h],edx jmp L00450D63 L00450D51: mov eax,[ebp+08h] mov ecx,[ebp+0Ch] mov [esi+00000474h],eax mov [esi+00000478h],ecx L00450D63: push L00549338 call [KERNEL32.dll!LeaveCriticalSection] push L00549350 call edi mov ebx,[esi+18h] push L00549350 call [KERNEL32.dll!LeaveCriticalSection] push L00549338 call edi test ebx,ebx jl L00450DBC lea edx,[ebx+ebx*2] mov ecx,[esi+edx*8+34h] lea eax,[esi+edx*8] test ecx,ecx jz L00450DBC mov edx,[esi+00000474h] xor ecx,ecx mov cl,[eax+28h] add ecx,edx xor edx,edx mov [ebp-08h],ecx mov dl,[eax+29h] add edx,[esi+00000478h] mov [ebp-04h],edx jmp L00450DCE L00450DBC: mov eax,[esi+00000474h] mov ecx,[esi+00000478h] mov [ebp-08h],eax mov [ebp-04h],ecx L00450DCE: push L00549338 call [KERNEL32.dll!LeaveCriticalSection] mov eax,[esi+14h] test eax,eax jz L00450DF6 mov ecx,[L0066961C] test ecx,ecx jz L00450DF6 cmp [eax+48h],ecx jnz L00450DF6 mov dword ptr [esi+14h],00000000h L00450DF6: mov ecx,[esi+14h] test ecx,ecx jz L00450E1A lea edx,[ebp-04h] lea eax,[ebp-08h] push edx push eax call SUB_L00440CD0 mov eax,[ebp-04h] mov ecx,[esi+14h] push eax mov eax,[ebp-08h] mov edx,[ecx] push eax call [edx+20h] L00450E1A: push L00549350 call edi mov ebx,[esi+18h] push L00549350 call [KERNEL32.dll!LeaveCriticalSection] push L00549338 call edi test ebx,ebx jl L00450E66 lea ecx,[ebx+ebx*2] lea eax,[esi+ecx*8] mov ecx,[esi+ecx*8+34h] test ecx,ecx jz L00450E66 mov ecx,[esi+00000474h] xor edx,edx mov dl,[eax+28h] xor ebx,ebx mov bl,[eax+29h] mov eax,[esi+00000478h] mov edi,edx add edi,ecx add ebx,eax jmp L00450E72 L00450E66: mov edi,[esi+00000474h] mov ebx,[esi+00000478h] L00450E72: push L00549338 call [KERNEL32.dll!LeaveCriticalSection] mov ecx,[L0066961C] test ecx,ecx jz L00450EBB mov edx,[ecx+2Ch] cmp edi,edx jle L00450EBB mov eax,[ecx+30h] cmp ebx,eax jle L00450EBB mov esi,[ecx+1Ch] add esi,edx cmp edi,esi jge L00450EBB mov edx,[ecx+20h] add edx,eax cmp ebx,edx jge L00450EBB test ecx,ecx jz L00450EB1 mov eax,[ecx] push 00000001h call [eax] L00450EB1: mov dword ptr [L0066961C],00000000h L00450EBB: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L00450ED0: push ebp mov ebp,esp push ebx mov ebx,[KERNEL32.dll!EnterCriticalSection] push esi push edi mov esi,ecx push L00549350 call ebx mov edi,[esi+18h] push L00549350 call [KERNEL32.dll!LeaveCriticalSection] push L00549338 call ebx test edi,edi jl L00450F2E lea eax,[edi+edi*2] mov ecx,[esi+eax*8+34h] lea eax,[esi+eax*8] test ecx,ecx jz L00450F2E mov edx,[ebp+08h] xor ecx,ecx mov cl,[eax+28h] sub edx,ecx xor ecx,ecx mov [esi+00000474h],edx mov cl,[eax+29h] mov edx,[ebp+0Ch] sub edx,ecx mov [esi+00000478h],edx jmp L00450F40 L00450F2E: mov eax,[ebp+08h] mov ecx,[ebp+0Ch] mov [esi+00000474h],eax mov [esi+00000478h],ecx L00450F40: push L00549338 call [KERNEL32.dll!LeaveCriticalSection] mov ecx,esi call SUB_L00451360 pop edi pop esi pop ebx pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 8 SUB_L00450F60: push ebp mov ebp,esp sub esp,0000000Ch push ebx push esi push edi mov esi,ecx call SUB_L00451080 mov ebx,[KERNEL32.dll!EnterCriticalSection] push L00549350 call ebx mov edi,[esi+18h] push L00549350 call [KERNEL32.dll!LeaveCriticalSection] push L00549338 call ebx test edi,edi jl L00450FC0 lea eax,[edi+edi*2] mov ecx,[esi+eax*8+34h] lea eax,[esi+eax*8] test ecx,ecx jz L00450FC0 mov edi,[esi+00000474h] mov ebx,[esi+00000478h] xor ecx,ecx xor edx,edx mov cl,[eax+28h] mov dl,[eax+29h] add edi,ecx add ebx,edx jmp L00450FCC L00450FC0: mov edi,[esi+00000474h] mov ebx,[esi+00000478h] L00450FCC: push L00549338 call [KERNEL32.dll!LeaveCriticalSection] mov ecx,[esi+14h] mov [ebp-04h],edi test ecx,ecx mov [ebp-08h],ebx jz L00451007 lea eax,[ebp-08h] lea edx,[ebp-04h] push eax push edx call SUB_L00440CD0 mov edx,[ebp-08h] mov ecx,[esi+14h] push edx mov edx,[ebp-04h] mov eax,[ecx] push edx call [eax+2Ch] mov [ebp-04h],edi mov [ebp-08h],ebx L00451007: push 00000000h push 00000000h push ebx push edi mov ecx,L00669608 call SUB_L0043F4D0 mov ecx,[L00669634] mov [ebp-0Ch],eax test ecx,ecx jz L00451030 cmp eax,ecx jz L00451030 mov eax,[ecx] call [eax+28h] mov eax,[ebp-0Ch] L00451030: test eax,eax mov [L00669634],eax jz L00451066 lea ecx,[ebp-08h] lea edx,[ebp-04h] push ecx push edx mov ecx,eax call SUB_L00440CD0 mov edx,[ebp-08h] mov ecx,[ebp-0Ch] push edx mov edx,[ebp-04h] mov eax,[ecx] push edx call [eax+24h] mov ecx,[ebp-0Ch] mov eax,[ecx] call [eax+30h] mov [ebp-04h],edi mov [ebp-08h],ebx L00451066: mov esi,[esi+14h] test esi,esi jz L00451074 mov edx,[esi] mov ecx,esi call [edx+30h] L00451074: pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 SUB_L00451080: push ebp mov ebp,esp sub esp,00000020h push ebx push esi push edi mov edi,[KERNEL32.dll!EnterCriticalSection] mov ebx,ecx push L00549350 mov [ebp-0Ch],ebx call edi mov esi,[ebx+18h] push L00549350 call [KERNEL32.dll!LeaveCriticalSection] push L00549338 call edi test esi,esi jl L004510E4 lea eax,[esi+esi*2] mov ecx,[ebx+eax*8+34h] lea eax,[ebx+eax*8] test ecx,ecx jz L004510E4 mov ebx,[ebx+00000474h] xor ecx,ecx mov cl,[eax+28h] xor edx,edx mov dl,[eax+29h] mov eax,[ebp-0Ch] add ebx,ecx mov esi,[eax+00000478h] add esi,edx mov [ebp-04h],esi jmp L004510F8 L004510E4: mov ecx,[ebp-0Ch] mov ebx,[ebx+00000474h] mov edx,[ecx+00000478h] mov [ebp-04h],edx mov esi,edx L004510F8: push L00549338 call [KERNEL32.dll!LeaveCriticalSection] call [KERNEL32.dll!GetTickCount] mov [ebp-08h],eax lea eax,[ebp-10h] lea ecx,[ebp-14h] push eax push ecx mov ecx,[L006BAE80] mov [ebp-14h],ebx mov [ebp-10h],esi call SUB_L00440CD0 mov edx,[ebp-10h] mov eax,[ebp-14h] push 00000001h push edx push eax mov ecx,L006BB1A0 call SUB_L00434DF0 mov esi,eax xor edi,edi test esi,esi jz L0045115B mov edx,[esi] mov ecx,esi call [edx+18h] test eax,eax jz L0045115B mov eax,[esi] mov ecx,esi mov edi,esi call [eax+2Ch] test eax,eax jnz L0045115B xor edi,edi L0045115B: test edi,edi jnz L00451168 xor eax,eax mov [L005493B4],eax jmp L0045116D L00451168: mov eax,[L005493B4] L0045116D: mov ecx,[L005493AC] mov edx,00000004h cmp ecx,edx ja L004511A4 jmp [L004512EC+ecx*4] L00451183: mov ecx,[ebp-08h] test edi,edi mov [L005493B0],ecx jz L004511A4 cmp edi,eax jz L004511A4 mov [L005493B4],edi mov dword ptr [L005493AC],00000001h L004511A4: mov ecx,[L0066961C] L004511AA: test ecx,ecx jz L004511FD L004511AE: mov edx,[ecx+2Ch] cmp ebx,edx jle L004511D1 mov eax,[ecx+30h] mov esi,[ebp-04h] cmp esi,eax jle L004511D1 mov edi,[ecx+1Ch] add edi,edx cmp ebx,edi jge L004511D1 mov edx,[ecx+20h] add edx,eax cmp esi,edx jl L004511FD L004511D1: mov al,[L00549070] test al,al jnz L004511FD mov eax,[ebp-0Ch] mov eax,[eax+14h] test eax,eax jz L004511E9 cmp [eax+48h],ecx jz L004511FD L004511E9: test ecx,ecx jz L004511F3 mov edx,[ecx] push 00000001h call [edx] L004511F3: mov dword ptr [L0066961C],00000000h L004511FD: pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00451204: cmp [L005493A0],ebx jnz L0045123D mov edx,[L00549368] mov eax,[ebp-04h] cmp edx,eax jnz L0045123D mov eax,[ebp-08h] mov edx,[L005493B0] mov ecx,[L004C7228] sub eax,edx cmp eax,ecx jc L0045123D mov dword ptr [L005493AC],00000002h jmp L004511A4 L0045123D: mov eax,[ebp-04h] mov [L005493A0],ebx mov [L00549368],eax jmp L004511A4 L00451250: test eax,eax jz L00451277 mov ecx,[eax+78h] push 00000001h lea edx,[ebp-20h] push ecx push edx mov ecx,L006BB1C0 call SUB_L00476E70 mov ecx,[L006BB1CC] lea eax,[ebp-20h] push eax call SUB_L0048B170 L00451277: mov ecx,[ebp-08h] mov dword ptr [L005493AC],00000003h mov [L005493B8],ecx jmp L004511A4 L0045128F: mov ecx,[L0066961C] test ecx,ecx jz L0045129F mov [L005493AC],edx L0045129F: mov eax,[ebp-08h] mov edi,[L005493B8] sub eax,edi cmp eax,000007D0h jc L004511AA mov [L005493AC],edx jmp L004511AA L004512C0: mov al,[L004C7234] test al,al jnz L004512D3 mov dword ptr [L005493AC],00000000h L004512D3: mov ecx,[L0066961C] test ecx,ecx jnz L004511AE mov [L005493AC],ecx jmp L004511AA L004512EC: dd L00451183 dd L00451204 dd L00451250 dd L0045128F dd L004512C0 SUB_L00451300: push ebp mov ebp,esp mov eax,[ebp+0Ch] mov ecx,[ebp+08h] push eax push ecx mov ecx,L006BB1A0 call SUB_L00435740 test eax,eax jz L0045132F movsx edx,[eax+20h] mov ecx,[ebp+10h] mov [ecx],edx movsx edx,[eax+22h] mov eax,[ebp+14h] mov [eax],edx pop ebp retn 0010h ;------------------------------------------------------------------------------ L0045132F: mov ecx,[ebp+10h] mov edx,[ebp+14h] mov dword ptr [ecx],FFFFFFFFh mov dword ptr [edx],FFFFFFFFh pop ebp retn 0010h ;------------------------------------------------------------------------------ Align 16 SUB_L00451350: push ebp mov ebp,esp mov eax,[ebp+08h] mov [ecx+10h],eax pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L00451360: push ebp mov ebp,esp sub esp,00000008h push ebx push esi push edi mov esi,ecx push 00000000h call SUB_L00450650 mov [ebp-08h],eax mov eax,[L0073EBE4] test eax,eax jz L00451390 mov edx,[eax+00000150h] xor ecx,ecx test edx,edx setz cl mov [ebp-04h],ecx jmp L00451397 L00451390: mov dword ptr [ebp-04h],00000001h L00451397: mov ebx,[KERNEL32.dll!EnterCriticalSection] push L00549350 call ebx mov edi,[esi+18h] push L00549350 call [KERNEL32.dll!LeaveCriticalSection] push L00549338 call ebx test edi,edi jl L004513E7 lea edx,[edi+edi*2] mov ecx,[esi+edx*8+34h] lea eax,[esi+edx*8] test ecx,ecx jz L004513E7 mov edi,[esi+00000474h] mov ebx,[esi+00000478h] xor ecx,ecx xor edx,edx mov cl,[eax+28h] mov dl,[eax+29h] add edi,ecx add ebx,edx jmp L004513F3 L004513E7: mov edi,[esi+00000474h] mov ebx,[esi+00000478h] L004513F3: push L00549338 call [KERNEL32.dll!LeaveCriticalSection] mov edx,[L007121F8] mov eax,FFFFFEC0h sub eax,edx mov ecx,FFFFFF10h add edi,eax mov eax,[L007121FC] sub ecx,eax mov eax,edi add ebx,ecx imul eax,edi mov edx,ebx lea eax,[eax+eax*8] imul edx,ebx shl edx,04h add edx,eax xor ebx,ebx cmp edx,00064000h push L00549350 setle bl call [KERNEL32.dll!EnterCriticalSection] mov edi,[esi+0Ch] test edi,edi jnz L00451464 mov eax,[ebp-08h] cmp eax,FFFFFFFFh jnz L00451459 mov edi,00000011h jmp L00451464 L00451459: test ebx,ebx jz L00451462 mov edi,00000008h L00451462: add edi,eax L00451464: mov eax,[ebp-04h] test eax,eax jz L0045146E add edi,00000017h L0045146E: cmp edi,FFFFFFFFh jl L004514DC cmp edi,0000002Eh jge L004514DC cmp edi,[esi+18h] jz L004514DC lea ecx,[esi+08h] push 00000001h push ecx call [KERNEL32.dll!InterlockedExchange] lea eax,[edi+02h] lea ecx,[edi+edi*2] push L00549388 lea edx,[eax+eax*2] lea ebx,[esi+ecx*8] mov eax,[esi+edx*8] mov edx,[ebx+2Ch] mov [ebp-04h],eax mov [ebp-08h],edx call [KERNEL32.dll!EnterCriticalSection] mov eax,[ebp-08h] mov ecx,[ebp-04h] push L00549388 mov [esi+0000047Ch],eax mov [esi+00000480h],ecx call [KERNEL32.dll!LeaveCriticalSection] mov [esi+18h],edi mov dword ptr [esi+1Ch],00000000h mov edx,[ebx+20h] mov [esi+00000470h],edx L004514DC: push L00549350 call [KERNEL32.dll!LeaveCriticalSection] pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 4 SUB_L004514F0: push ebp mov ebp,esp mov eax,[L007121E4] push ebx push esi push edi test eax,eax mov esi,ecx jnz L004515ED cmp dword ptr [esi+18h],FFFFFFFFh jz L004515ED mov eax,[esi+10h] test eax,eax jz L004515ED mov ebx,[ebp+08h] mov edi,[KERNEL32.dll!EnterCriticalSection] test ebx,ebx jz L0045152E push L00549370 call edi L0045152E: push L00549338 call edi push L00549350 call edi push L00549388 call edi mov eax,[esi+00000474h] mov ecx,[esi+00000478h] mov edx,[esi+18h] mov [esi+00000684h],eax mov eax,[esi+00000470h] mov edi,[KERNEL32.dll!LeaveCriticalSection] mov [esi+00000688h],ecx mov [esi+00000694h],edx mov [esi+00000698h],eax mov ecx,[esi+eax*4-00017C2Ch] mov [esi+0000068Ch],ecx mov edx,[esi+eax*4-00017B90h] push L00549338 mov [esi+00000690h],edx call edi push L00549350 call edi push L00549388 call edi mov al,[L004CCBA4] test al,al jz L004515E2 mov eax,[esi+00000658h] test eax,eax jz L004515BF mov ecx,esi call SUB_L00451930 L004515BF: mov ecx,esi call SUB_L00451600 mov eax,[L005493A4] test eax,eax jnz L004515E2 mov ecx,esi call SUB_L004517A0 add esi,00000008h push 00000000h push esi call [KERNEL32.dll!InterlockedExchange] L004515E2: test ebx,ebx jz L004515ED push L00549370 call edi L004515ED: pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00451600: push ebp mov ebp,esp sub esp,0000002Ch mov edx,[L004C7F34] push ebx push esi mov esi,ecx mov ecx,[L004C7F38] xor eax,eax mov [L005493A4],eax mov ebx,[esi+00000684h] mov [ebp-28h],eax mov [ebp-20h],ecx mov ecx,[esi+0000068Ch] mov [ebp-2Ch],eax push edi mov edi,[esi+00000688h] mov eax,ebx mov [ebp-24h],edx mov edx,[esi+00000690h] add eax,ecx mov ecx,edi mov [ebp-14h],eax add ecx,edx lea edx,[ebp-1Ch] lea eax,[ebp-2Ch] mov [ebp-10h],ecx push edx push eax mov ecx,L00669608 mov [ebp-08h],edi mov [ebp-1Ch],ebx mov [ebp-18h],edi call SUB_L00440D40 test eax,eax jz L00451764 mov eax,[L00669574] mov dword ptr [ebp-04h],00000000h test eax,eax jz L004516AB mov eax,[L0066956C] lea edx,[ebp-04h] push edx push eax mov ecx,[eax] call [ecx+44h] cmp eax,887601C2h jnz L004516BD mov eax,[L0066956C] push eax mov ecx,[eax] call [ecx+6Ch] xor eax,eax mov [ebp-04h],eax jmp L004516C0 L004516AB: mov edx,[L007B8310] push edx call [USER32.dll!GetDC] mov [ebp-04h],eax jmp L004516C0 L004516BD: mov eax,[ebp-04h] L004516C0: test eax,eax jz L00451764 push eax call [GDI32.dll!CreateCompatibleDC] mov edi,eax mov eax,[L006BB18C] test eax,eax jz L004516EC mov eax,[L006BB194] mov ecx,[ebp-04h] push 00000000h push eax push ecx call [GDI32.dll!SelectPalette] L004516EC: mov edx,[esi+00000660h] push edx push edi call [GDI32.dll!SelectObject] mov ecx,[ebp-04h] mov edx,[esi+00000690h] mov [ebp-0Ch],eax mov eax,[ebp-08h] push 00CC0020h push eax mov eax,[esi+0000068Ch] push ebx push ecx push edx push eax push 00000000h push 00000000h push edi call [GDI32.dll!BitBlt] mov eax,[L00669574] test eax,eax jz L0045173E mov eax,[L0066956C] mov edx,[ebp-04h] push edx push eax mov ecx,[eax] call [ecx+68h] jmp L0045174F L0045173E: mov eax,[ebp-04h] mov ecx,[L007B8310] push eax push ecx call [USER32.dll!ReleaseDC] L0045174F: mov edx,[ebp-0Ch] push edx push edi call [GDI32.dll!SelectObject] push edi call [GDI32.dll!DeleteDC] mov edi,[ebp-08h] L00451764: mov eax,[esi+0000068Ch] mov ecx,[esi+00000690h] mov [esi+00000678h],edi mov [esi+00000674h],ebx mov [esi+0000067Ch],eax mov [esi+00000680h],ecx mov dword ptr [esi+00000658h],00000001h pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 SUB_L004517A0: push ebp mov ebp,esp sub esp,00000018h push ebx mov ebx,ecx push esi push edi mov ecx,[ebx+00000688h] mov edx,[ebx+00000698h] mov eax,[ebx+00000684h] mov [ebp-14h],ecx mov ecx,[ebx+edx*4-00017CC8h] mov [ebp-18h],eax test ecx,ecx mov [ebp-10h],ecx jz L00451921 mov eax,[ebx+0000065Ch] test eax,eax jz L0045183A mov edx,[ebx+00000664h] mov [ebp-08h],eax mov eax,[ebx+00000690h] mov dword ptr [ebp-0Ch],00000000h test eax,eax jle L0045183A L004517F9: mov ecx,[ebx+0000068Ch] mov esi,[ebp-08h] shl ecx,1 mov eax,ecx mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov eax,[ebx+0000066Ch] mov edi,[ebp-08h] mov ecx,[ebx+00000690h] shl eax,1 add edx,eax add edi,eax mov eax,[ebp-0Ch] mov [ebp-08h],edi inc eax cmp eax,ecx mov [ebp-0Ch],eax jl L004517F9 mov ecx,[ebp-10h] L0045183A: mov edx,[ebx+00000670h] mov eax,[ebx+0000066Ch] push edx mov edx,[ebx+00000664h] push eax mov eax,[ebx+00000690h] push edx mov edx,[ebx+0000068Ch] push 00000000h push 00000000h push eax push edx mov edx,ecx mov ecx,SUB_L00488700 call SUB_L00439480 mov eax,[L00669574] mov dword ptr [ebp-04h],00000000h test eax,eax jz L004518A5 mov eax,[L0066956C] lea edx,[ebp-04h] push edx push eax mov ecx,[eax] call [ecx+44h] cmp eax,887601C2h jnz L004518B7 mov eax,[L0066956C] push eax mov ecx,[eax] call [ecx+6Ch] xor eax,eax mov [ebp-04h],eax jmp L004518BA L004518A5: mov edx,[L007B8310] push edx call [USER32.dll!GetDC] mov [ebp-04h],eax jmp L004518BA L004518B7: mov eax,[ebp-04h] L004518BA: test eax,eax jz L00451921 mov ecx,[ebx+00000664h] mov edx,[ebx+00000668h] push 00000000h push 00000000h push ecx mov ecx,[ebx+00000690h] push edx mov edx,[ebx+0000068Ch] push ecx mov ecx,[ebp-14h] push edx mov edx,[ebp-18h] push ecx push edx push eax mov ecx,L006AAE78 call SUB_L00495250 mov eax,[L00669574] test eax,eax jz L00451910 mov eax,[L0066956C] mov edx,[ebp-04h] push edx push eax mov ecx,[eax] call [ecx+68h] pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00451910: mov eax,[ebp-04h] mov ecx,[L007B8310] push eax push ecx call [USER32.dll!ReleaseDC] L00451921: pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L00451930: push ebp mov ebp,esp push ecx push esi mov esi,ecx mov eax,[esi+0000065Ch] test eax,eax jz L004519FD mov eax,[L00669574] mov dword ptr [ebp-04h],00000000h test eax,eax jz L0045197D mov eax,[L0066956C] lea edx,[ebp-04h] push edx push eax mov ecx,[eax] call [ecx+44h] cmp eax,887601C2h jnz L0045198F mov eax,[L0066956C] push eax mov ecx,[eax] call [ecx+6Ch] xor eax,eax mov [ebp-04h],eax jmp L00451992 L0045197D: mov edx,[L007B8310] push edx call [USER32.dll!GetDC] mov [ebp-04h],eax jmp L00451992 L0045198F: mov eax,[ebp-04h] L00451992: test eax,eax jz L004519FD mov ecx,[esi+0000065Ch] mov edx,[esi+00000660h] push 00000000h push 00000000h push ecx mov ecx,[esi+00000680h] push edx mov edx,[esi+0000067Ch] push ecx mov ecx,[esi+00000678h] push edx mov edx,[esi+00000674h] push ecx push edx push eax mov ecx,L006AAE78 call SUB_L00495250 mov eax,[L00669574] test eax,eax jz L004519EC mov eax,[L0066956C] mov edx,[ebp-04h] push edx push eax mov ecx,[eax] call [ecx+68h] pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L004519EC: mov eax,[ebp-04h] mov ecx,[L007B8310] push eax push ecx call [USER32.dll!ReleaseDC] L004519FD: pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L00451A10: push ebp mov ebp,esp sub esp,0000001Ch mov edx,[L007121FC] push ebx mov ebx,[L004C7F34] mov eax,[L0073EA70] imul edx,ebx sub eax,edx mov edx,[L007121F8] push esi sub eax,edx push edi mov edi,[L004C7F38] mov [ebp-10h],eax jns L00451A4C mov edx,edi imul edx,ebx add eax,edx mov [ebp-10h],eax L00451A4C: mov eax,ebx mov edx,[ecx+00000684h] imul eax,[ecx+00000688h] imul edi,ebx lea esi,[eax+edx] mov edx,[ecx+00000690h] dec edx mov eax,[ecx+0000068Ch] imul edx,ebx mov ebx,[ebp-10h] add edx,esi mov [ebp-0Ch],edi sub edi,ebx add edx,eax cmp esi,edi jg L00451B85 cmp edx,edi jle L00451B81 mov edx,[L006BAE7C] mov edi,[ebp-0Ch] add edi,edi mov [ebp-04h],esi lea edx,[edx+ebx*2] xor esi,esi mov [ebp-14h],edx sub edx,edi mov edi,[ecx+00000690h] mov [ebp-18h],edx xor edx,edx mov [ebp-0Ch],esi test edi,edi mov [ebp-08h],edx jle L00451C35 L00451ABE: mov edi,[ecx+00000688h] add edi,esi test edi,edi jl L00451B45 cmp edi,[L004C7F38] jge L00451B45 xor edi,edi test eax,eax jle L00451B45 mov ebx,[ebp-14h] mov eax,[ebp-04h] lea esi,[edx+edx] lea edx,[ebx+eax*2] mov eax,[ebp-18h] sub eax,ebx mov [ebp-1Ch],eax L00451AEC: mov eax,[ecx+00000684h] add eax,edi test eax,eax jl L00451B2E mov ebx,[L004C7F34] cmp eax,ebx jge L00451B2E mov eax,[L004C7F38] imul eax,ebx mov ebx,[ebp-10h] sub eax,ebx mov ebx,[ebp-04h] add ebx,edi cmp ebx,eax mov eax,[ecx+0000065Ch] jl L00451B27 mov ebx,[ebp-1Ch] mov bx,[ebx+edx] jmp L00451B2A L00451B27: mov bx,[edx] L00451B2A: mov [eax+esi],bx L00451B2E: mov eax,[ecx+0000068Ch] inc edi add edx,00000002h add esi,00000002h cmp edi,eax jl L00451AEC mov edx,[ebp-08h] mov esi,[ebp-0Ch] L00451B45: mov edi,[ecx+0000066Ch] mov ebx,[ebp-04h] add edx,edi mov edi,[L004C7F34] add ebx,edi mov edi,[ecx+00000690h] inc esi mov [ebp-08h],edx cmp esi,edi mov [ebp-04h],ebx mov [ebp-0Ch],esi jl L00451ABE mov dword ptr [ecx+00000658h],00000001h pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00451B81: cmp esi,edi jl L00451B88 L00451B85: sub ebx,[ebp-0Ch] L00451B88: mov edx,[L006BAE7C] mov [ebp-04h],esi xor edi,edi xor esi,esi lea edx,[edx+ebx*2] mov [ebp-08h],edi mov [ebp-1Ch],edx mov edx,[ecx+00000690h] test edx,edx mov [ebp-0Ch],esi jle L00451C35 mov ebx,[L004C7F34] L00451BB5: mov edx,[ecx+00000688h] add edx,esi test edx,edx jl L00451C14 cmp edx,[L004C7F38] jge L00451C14 xor edx,edx test eax,eax jle L00451C14 mov eax,[ebp-1Ch] mov esi,[ebp-04h] add edi,edi lea esi,[eax+esi*2] L00451BDA: mov eax,[ecx+00000684h] add eax,edx test eax,eax jl L00451BFD cmp eax,ebx jge L00451BFD mov eax,[ecx+0000065Ch] mov bx,[esi] mov [eax+edi],bx mov ebx,[L004C7F34] L00451BFD: mov eax,[ecx+0000068Ch] inc edx add esi,00000002h add edi,00000002h cmp edx,eax jl L00451BDA mov esi,[ebp-0Ch] mov edi,[ebp-08h] L00451C14: mov edx,[ecx+0000066Ch] add edi,edx mov edx,[ebp-04h] add edx,ebx inc esi mov [ebp-04h],edx mov edx,[ecx+00000690h] cmp esi,edx mov [ebp-08h],edi mov [ebp-0Ch],esi jl L00451BB5 L00451C35: pop edi pop esi mov dword ptr [ecx+00000658h],00000001h pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L00451C50: push ebp mov ebp,esp sub esp,00000018h mov eax,[L007121FC] push ebx push esi push edi mov edi,[L004C7F34] mov ebx,[L0073EA70] imul eax,edi sub ebx,eax mov eax,[L007121F8] sub ebx,eax mov [ebp-08h],ebx jns L00451C89 mov edx,[L004C7F38] imul edx,edi add ebx,edx mov [ebp-08h],ebx L00451C89: mov eax,edi mov edx,[ecx+00000684h] imul eax,[ecx+00000688h] lea esi,[eax+edx] mov edx,[ecx+00000690h] dec edx mov [ebp-14h],esi imul edx,edi add edx,esi mov esi,[L004C7F38] imul esi,edi mov eax,[ecx+0000068Ch] mov edi,esi sub edi,ebx mov ebx,[ebp-14h] add edx,eax cmp ebx,edi jg L00451EA7 cmp edx,edi jle L00451EA7 mov edx,[L006BAE7C] mov edi,[ebp-08h] add esi,esi mov [ebp-04h],ebx lea edx,[edx+edi*2] mov [ebp-0Ch],edx sub edx,esi mov [ebp-14h],edx mov edx,[ebp+10h] xor esi,esi cmp edx,esi mov edx,[ecx+00000690h] mov [ebp+10h],esi jz L00451DE0 cmp edx,esi jle L00451FF7 mov edx,[ebp+0Ch] mov ebx,[L004C7F34] mov edi,[L004C7F38] add edx,edx mov [ebp-18h],edx mov edx,[ebp+08h] mov [ebp+08h],edx L00451D23: mov edx,[ecx+00000688h] mov esi,[ebp+10h] add edx,esi test edx,edx jl L00451DAF cmp edx,edi jge L00451DAF xor edx,edx test eax,eax jle L00451DAF mov eax,[ebp-0Ch] mov esi,[ebp-04h] lea esi,[eax+esi*2] mov eax,[ebp+08h] mov [ebp+0Ch],eax mov eax,[ebp-14h] sub eax,[ebp-0Ch] mov [ebp-10h],eax L00451D54: mov eax,[ecx+00000684h] add eax,edx test eax,eax jl L00451D98 cmp eax,ebx jge L00451D98 mov eax,[ebp+0Ch] mov ax,[eax] test ax,ax jz L00451D98 imul edi,ebx mov ebx,[ebp-08h] sub edi,ebx mov ebx,[ebp-04h] add ebx,edx cmp ebx,edi jl L00451D89 mov edi,[ebp-10h] mov [edi+esi],ax jmp L00451D8C L00451D89: mov [esi],ax L00451D8C: mov ebx,[L004C7F34] mov edi,[L004C7F38] L00451D98: mov eax,[ebp+0Ch] inc edx add eax,00000002h add esi,00000002h mov [ebp+0Ch],eax mov eax,[ecx+0000068Ch] cmp edx,eax jl L00451D54 L00451DAF: mov edx,[ebp-18h] mov esi,[ebp+08h] add esi,edx mov edx,[ebp-04h] add edx,ebx mov [ebp+08h],esi mov esi,[ecx+00000690h] mov [ebp-04h],edx mov edx,[ebp+10h] inc edx cmp edx,esi mov [ebp+10h],edx jl L00451D23 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ L00451DE0: cmp edx,esi jle L00451FF7 mov edx,[ebp+0Ch] add edx,edx mov [ebp-18h],edx mov edx,[ebp+08h] mov [ebp+0Ch],edx L00451DF6: mov edx,[ecx+00000688h] add edx,esi test edx,edx jl L00451E73 cmp edx,[L004C7F38] jge L00451E73 xor edx,edx test eax,eax jle L00451E73 mov ebx,[ebp-0Ch] mov eax,[ebp-04h] mov esi,[ebp+0Ch] lea edi,[ebx+eax*2] mov eax,[ebp-14h] sub eax,ebx mov [ebp-10h],eax L00451E24: mov eax,[ecx+00000684h] add eax,edx test eax,eax jl L00451E5F mov ebx,[L004C7F34] cmp eax,ebx jge L00451E5F mov eax,[L004C7F38] imul eax,ebx mov ebx,[ebp-08h] sub eax,ebx mov ebx,[ebp-04h] add ebx,edx cmp ebx,eax mov ax,[esi] jl L00451E5C mov ebx,[ebp-10h] mov [edi+ebx],ax jmp L00451E5F L00451E5C: mov [edi],ax L00451E5F: mov eax,[ecx+0000068Ch] inc edx add esi,00000002h add edi,00000002h cmp edx,eax jl L00451E24 mov esi,[ebp+10h] L00451E73: mov edx,[ebp-18h] mov edi,[ebp+0Ch] mov ebx,[ebp-04h] add edi,edx mov edx,[L004C7F34] mov [ebp+0Ch],edi add ebx,edx mov edx,[ecx+00000690h] inc esi mov [ebp-04h],ebx cmp esi,edx mov [ebp+10h],esi jl L00451DF6 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ L00451EA7: mov edx,[ebp-08h] cmp ebx,edi jl L00451EB0 sub edx,esi L00451EB0: mov esi,[L006BAE7C] lea edx,[esi+edx*2] mov esi,ebx mov [ebp-14h],edx mov edx,[ebp+10h] test edx,edx mov [ebp-04h],esi jz L00451F67 mov edx,[ecx+00000690h] xor ebx,ebx test edx,edx jle L00451FF7 mov edx,[ebp+0Ch] mov edi,[ebp+08h] add edx,edx mov [ebp+0Ch],edi mov [ebp+10h],edx L00451EEA: mov edx,[ecx+00000688h] add edx,ebx test edx,edx jl L00451F3D cmp edx,[L004C7F38] jge L00451F3D xor edx,edx test eax,eax jle L00451F3D mov eax,[ebp-14h] lea esi,[eax+esi*2] L00451F0A: mov eax,[ecx+00000684h] add eax,edx test eax,eax jl L00451F29 cmp eax,[L004C7F34] jge L00451F29 mov ax,[edi] test ax,ax jz L00451F29 mov [esi],ax L00451F29: mov eax,[ecx+0000068Ch] inc edx add edi,00000002h add esi,00000002h cmp edx,eax jl L00451F0A mov esi,[ebp-04h] L00451F3D: mov edi,[ebp+0Ch] mov edx,[ebp+10h] add edi,edx mov edx,[L004C7F34] add esi,edx mov edx,[ecx+00000690h] inc ebx mov [ebp+0Ch],edi cmp ebx,edx mov [ebp-04h],esi jl L00451EEA pop edi pop esi pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ L00451F67: mov edx,[ecx+00000690h] xor ebx,ebx test edx,edx jle L00451FF7 mov edx,[ebp+0Ch] add edx,edx mov [ebp+10h],edx mov edx,[ebp+08h] mov [ebp+0Ch],edx L00451F85: mov edx,[ecx+00000688h] add edx,ebx test edx,edx jl L00451FD6 cmp edx,[L004C7F38] jge L00451FD6 xor edx,edx test eax,eax jle L00451FD6 mov eax,[ebp-14h] lea edi,[eax+esi*2] mov esi,[ebp+0Ch] L00451FA8: mov eax,[ecx+00000684h] add eax,edx test eax,eax jl L00451FC2 cmp eax,[L004C7F34] jge L00451FC2 mov ax,[esi] mov [edi],ax L00451FC2: mov eax,[ecx+0000068Ch] inc edx add esi,00000002h add edi,00000002h cmp edx,eax jl L00451FA8 mov esi,[ebp-04h] L00451FD6: mov edx,[ebp+10h] mov edi,[ebp+0Ch] add edi,edx mov edx,[L004C7F34] add esi,edx mov edx,[ecx+00000690h] inc ebx mov [ebp+0Ch],edi cmp ebx,edx mov [ebp-04h],esi jl L00451F85 L00451FF7: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ SUB_L00452000: push ebp mov ebp,esp sub esp,00000034h push ebx push esi mov esi,ecx push edi mov eax,[esi+10h] test eax,eax jz L00452246 lea eax,[ebp-14h] push eax call [USER32.dll!GetCursorPos] mov edx,[L007B8310] lea ecx,[ebp-14h] push ecx push edx call [USER32.dll!ScreenToClient] mov edi,[KERNEL32.dll!EnterCriticalSection] push L00549350 call edi mov eax,[L006A9DD8] mov ebx,[KERNEL32.dll!LeaveCriticalSection] push L00549350 mov [ebp-08h],eax call ebx push L00549338 call edi mov eax,[ebp-08h] test eax,eax jl L00452098 lea eax,[eax+eax*2] mov ecx,[L006A9DF4+eax*8] test ecx,ecx jz L00452098 mov edx,[L006AA234] xor ecx,ecx mov cl,[L006A9DE8+eax*8] add ecx,edx mov [ebp-04h],ecx xor ecx,ecx mov cl,[L006A9DE9+eax*8] mov eax,ecx mov ecx,[L006AA238] add eax,ecx jmp L004520A6 L00452098: mov edx,[L006AA234] mov eax,[L006AA238] mov [ebp-04h],edx L004520A6: push L00549338 mov [ebp-08h],eax call ebx mov eax,[ebp-14h] mov ecx,[ebp-04h] cmp eax,ecx mov ecx,[ebp-10h] jnz L004520C6 cmp ecx,[ebp-08h] jz L00452151 L004520C6: push L00549350 mov [ebp-04h],ecx mov [ebp-08h],eax call edi mov ecx,[L006A9DD8] push L00549350 mov [ebp-0Ch],ecx call ebx push L00549338 call edi mov eax,[ebp-0Ch] test eax,eax jl L00452123 lea eax,[eax+eax*2] mov ecx,[L006A9DF4+eax*8] test ecx,ecx jz L00452123 mov ecx,[ebp-08h] xor edx,edx mov dl,[L006A9DE8+eax*8] sub ecx,edx mov [L006AA234],ecx xor ecx,ecx mov cl,[L006A9DE9+eax*8] mov eax,[ebp-04h] sub eax,ecx jmp L0045212F L00452123: mov edx,[ebp-08h] mov eax,[ebp-04h] mov [L006AA234],edx L0045212F: push L00549338 mov [L006AA238],eax call ebx mov ecx,L006A9DC0 call SUB_L00451360 push 00000001h mov ecx,L006A9DC0 call SUB_L004514F0 L00452151: push L00549338 call edi mov ecx,[esi+00000474h] mov edx,[esi+00000478h] push L00549338 mov [esi+00000684h],ecx mov [esi+00000688h],edx call ebx push L00549350 call edi mov eax,[esi+00000470h] mov ecx,[esi+18h] push L00549350 mov [ebp-0Ch],eax mov [esi+00000694h],ecx mov [esi+00000698h],eax call ebx push L00549388 call edi mov eax,[ebp-0Ch] push L00549388 mov edx,[esi+eax*4-00017C2Ch] mov [esi+0000068Ch],edx mov eax,[esi+eax*4-00017B90h] mov [esi+00000690h],eax call ebx mov ecx,[L004C7F38] mov edx,[L004C7F34] mov ebx,[esi+00000690h] xor eax,eax mov [ebp-30h],eax mov [ebp-34h],eax mov eax,[esi+00000684h] mov [ebp-28h],ecx mov ecx,[esi+00000688h] mov [ebp-2Ch],edx mov edx,[esi+0000068Ch] mov [ebp-24h],eax mov [ebp-20h],ecx add eax,edx add ecx,ebx mov [ebp-1Ch],eax mov [ebp-18h],ecx lea eax,[ebp-24h] lea ecx,[ebp-34h] push eax push ecx mov ecx,L00669608 call SUB_L00440D40 test eax,eax jz L00452246 mov ecx,esi call SUB_L00451A10 mov eax,[esi+00000698h] push 00000001h mov ecx,esi mov edx,[esi+eax*4-00017C2Ch] mov eax,[esi+eax*4-00017CC8h] push edx push eax call SUB_L00451C50 L00452246: pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 4 SUB_L00452250: push esi mov esi,ecx mov eax,[esi+00000658h] test eax,eax jz L004522BC mov eax,[esi+0000066Ch] mov ecx,[esi+0000065Ch] push 00000000h push eax push ecx mov ecx,esi call SUB_L00451C50 mov edx,[esi+00000684h] mov eax,[esi+00000688h] mov ecx,[esi+0000068Ch] mov [esi+00000674h],edx mov edx,[esi+00000690h] mov [esi+00000678h],eax mov [esi+0000067Ch],ecx mov [esi+00000680h],edx mov dword ptr [esi+00000658h],00000001h add esi,00000008h push 00000000h push esi call [KERNEL32.dll!InterlockedExchange] pop esi retn ;------------------------------------------------------------------------------ L004522BC: mov dword ptr [esi+00000658h],00000000h add esi,00000008h push 00000000h push esi call [KERNEL32.dll!InterlockedExchange] pop esi retn ;------------------------------------------------------------------------------ db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' mov eax,ecx xor ecx,ecx mov dword ptr [eax],L004BAF00 mov [eax+04h],ecx mov [eax+08h],ecx mov [eax+0Ch],ecx mov [eax+10h],ecx mov [eax+14h],ecx mov [eax+20h],ecx mov [eax+18h],ecx mov [eax+1Ch],ecx mov [L0073EBDC],ecx retn ;------------------------------------------------------------------------------ Align 8 L00452310: push ebp mov ebp,esp mov al,[ebp+08h] push esi mov esi,ecx test al,01h mov dword ptr [esi],L004BAF00 jz L0045232C push esi call SUB_L0049A810 add esp,00000004h L0045232C: mov eax,esi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 L00452340: xor eax,eax mov [ecx+04h],eax mov [ecx+08h],eax mov [ecx+0Ch],eax mov [ecx+10h],eax mov [ecx+14h],eax mov [ecx+20h],eax mov [ecx+18h],eax mov [ecx+1Ch],eax mov [L0073EBDC],eax retn ;------------------------------------------------------------------------------ SUB_L00452360: push ebp mov ebp,esp test edx,edx push esi jz L00452373 movsx esi,[ecx+02h] movsx eax,[ecx] add esi,eax jmp L0045237D L00452373: movsx esi,[ecx+01h] movsx edx,[ecx+03h] add esi,edx L0045237D: mov eax,[ebp+08h] sar esi,1 sub eax,00000000h jz L004524E4 dec eax jz L00452439 dec eax jz L004523C1 mov eax,[L005493D8] test eax,eax jnz L004523AF push 00000000h mov edx,SSZ004C7F00_Bugger mov ecx,SSZ004C7EBC_Someone_tried_to_call_GetZVal_wi call SUB_L0049A0A0 L004523AF: mov eax,[L005493D8] inc eax mov [L005493D8],eax mov eax,esi pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ L004523C1: mov eax,[ebp+0Ch] cmp eax,00000007h ja L004524D3 jmp [CASE_PROCTABLE_004524EC+eax*4] CASE_004524EC_PROC0000: movsx eax,[ecx+01h] movsx ecx,[ecx] add eax,ecx sar eax,1 pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ CASE_004524EC_PROC0001: movsx eax,[ecx+01h] pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ CASE_004524EC_PROC0002: movsx eax,[ecx+01h] movsx edx,[ecx+02h] add eax,edx sar eax,1 pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ CASE_004524EC_PROC0003: movsx eax,[ecx+02h] pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ CASE_004524EC_PROC0004: movsx eax,[ecx+03h] movsx ecx,[ecx+02h] add eax,ecx sar eax,1 pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ CASE_004524EC_PROC0005: movsx eax,[ecx+03h] pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ CASE_004524EC_PROC0006: movsx eax,[ecx+03h] movsx edx,[ecx] add eax,edx sar eax,1 pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ CASE_004524EC_PROC0007: movsx eax,[ecx] pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ L00452439: mov eax,[ebp+0Ch] cmp eax,00000007h ja L004524D3 jmp [CASE_PROCTABLE_0045250C+eax*4] CASE_0045250C_PROC0000: movsx eax,[ecx+01h] movsx ecx,[ecx] add eax,ecx sar eax,1 add eax,esi sar eax,1 pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ CASE_0045250C_PROC0001: movsx eax,[ecx+01h] add eax,esi sar eax,1 pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ CASE_0045250C_PROC0002: movsx eax,[ecx+01h] movsx edx,[ecx+02h] add eax,edx sar eax,1 add eax,esi sar eax,1 pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ CASE_0045250C_PROC0003: movsx eax,[ecx+02h] add eax,esi sar eax,1 pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ CASE_0045250C_PROC0004: movsx eax,[ecx+03h] movsx ecx,[ecx+02h] add eax,ecx sar eax,1 add eax,esi sar eax,1 pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ CASE_0045250C_PROC0005: movsx eax,[ecx+03h] add eax,esi sar eax,1 pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ CASE_0045250C_PROC0006: movsx eax,[ecx+03h] movsx edx,[ecx] add eax,edx sar eax,1 add eax,esi sar eax,1 pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ CASE_0045250C_PROC0007: movsx ecx,[ecx] mov eax,esi add eax,ecx sar eax,1 pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ L004524D3: push 00000000h mov edx,SSZ004C7F00_Bugger mov ecx,SSZ004C7E7C_Someone_tried_to_call_GetZVal_wi call SUB_L0049A0A0 L004524E4: mov eax,esi pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_004524EC: dd CASE_004524EC_PROC0000 dd CASE_004524EC_PROC0001 dd CASE_004524EC_PROC0002 dd CASE_004524EC_PROC0003 dd CASE_004524EC_PROC0004 dd CASE_004524EC_PROC0005 dd CASE_004524EC_PROC0006 dd CASE_004524EC_PROC0007 CASE_PROCTABLE_0045250C: dd CASE_0045250C_PROC0000 dd CASE_0045250C_PROC0001 dd CASE_0045250C_PROC0002 dd CASE_0045250C_PROC0003 dd CASE_0045250C_PROC0004 dd CASE_0045250C_PROC0005 dd CASE_0045250C_PROC0006 dd CASE_0045250C_PROC0007 db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db C7h; '‡' db 01h; db 00h; db AFh; 'ô' db 4Bh; 'K' db 00h; db C3h; 'ƒ' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' L00452540: push ebp mov ebp,esp mov edx,[ebp+08h] push esi mov esi,[ebp+0Ch] mov ax,[edx+02h] mov cx,[esi+02h] cmp ax,cx jnz L00452564 movsx eax,[edx+06h] movsx ecx,[esi+06h] sub eax,ecx pop esi pop ebp retn ;------------------------------------------------------------------------------ L00452564: movsx eax,ax movsx edx,cx sub eax,edx pop esi pop ebp retn ;------------------------------------------------------------------------------ Align 4 L00452570: push esi mov esi,ecx push edi lea edi,[esi+6Ch] mov ecx,edi call SUB_L0045A350 test eax,eax jz L00452590 movsx eax,[esi+6Eh] movsx ecx,[edi] add eax,ecx sar eax,1 pop edi pop esi retn ;------------------------------------------------------------------------------ L00452590: movsx eax,[esi+6Fh] movsx edx,[esi+6Dh] add eax,edx pop edi sar eax,1 pop esi retn ;------------------------------------------------------------------------------ Align 4 L004525A0: push esi mov esi,ecx push edi mov eax,[esi] call [eax+70h] mov edx,[esi] mov ecx,esi mov edi,eax call [edx+40h] test ah,04h jz L004525C0 mov eax,edi cdq sub eax,edx sar eax,1 mov edi,eax L004525C0: mov ax,[esi+24h] add eax,edi pop edi pop esi retn ;------------------------------------------------------------------------------ Align 8 L004525D0: push ebp mov ebp,esp push esi mov esi,ecx mov ecx,[ebp+08h] mov edx,ecx sar edx,1 lea eax,[edx+01h] and eax,00000003h test cl,01h movsx eax,[eax+esi+6Ch] jnz L004525F8 movsx ecx,[esi+edx+6Ch] add ecx,eax sar ecx,1 mov eax,ecx L004525F8: pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 4 L00452600: db 66h; 'f' db 0Fh; db BEh; '?' db 41h; 'A' db 6Ch; 'l' db 66h; 'f' db 0Fh; db BEh; '?' db 51h; 'Q' db 6Dh; 'm' db 66h; 'f' db 3Bh; ';' db D0h; '' db 7Dh; '}' db 02h; db 8Bh; '<' db C2h; '‚' db 66h; 'f' db 0Fh; db BEh; '?' db 51h; 'Q' db 6Eh; 'n' db 66h; 'f' db 3Bh; ';' db D0h; '' db 7Dh; '}' db 02h; db 8Bh; '<' db C2h; '‚' db 66h; 'f' db 0Fh; db BEh; '?' db 49h; 'I' db 6Fh; 'o' db 66h; 'f' db 3Bh; ';' db C8h; 'ˆ' db 7Dh; '}' db 02h; db 8Bh; '<' db C1h; '' db C3h; 'ƒ' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' SUB_L00452630: push ebp mov ebp,esp sub esp,00000014h mov eax,[ebp+08h] push ebx push esi push edi mov edi,ecx push eax push edx mov ecx,L006BB1A0 mov [ebp-14h],edx mov [ebp-10h],edi mov dword ptr [ebp-04h],00000000h call SUB_L00435850 mov esi,eax test esi,esi jz L0045283F mov [ebp-0Ch],edi L00452664: cmp dword ptr [ebp-04h],00000100h jge L0045283F mov edx,[esi] mov ecx,esi call [edx+34h] test eax,eax jnz L00452834 mov eax,[esi] mov ecx,esi call [eax+1Ch] test eax,eax jz L00452731 mov ax,[esi+38h] and eax,0000FFFFh cmp eax,000001B5h jg L004526B7 cmp eax,000001AEh jge L00452834 mov ecx,eax sub ecx,00000002h jz L00452834 jmp L004526C2 L004526B7: cmp eax,000001DBh jz L00452834 L004526C2: mov edx,[L006A9D9C] lea ecx,[00000000h+eax*8] sub ecx,eax mov eax,[ebp+0Ch] sub eax,00000002h mov ebx,00000001h mov ecx,[edx+ecx*4] jz L004526ED test cl,40h jnz L004526F2 mov ebx,00000007h jmp L004526F2 L004526ED: mov ebx,00000006h L004526F2: mov eax,[esi] mov ecx,esi call [eax+48h] mov edx,[esi] mov ecx,esi movsx edi,ax call [edx+44h] mov edx,[ebp-04h] movsx ecx,ax mov eax,[ebp-0Ch] inc edx mov [ebp-04h],edx mov edx,eax add edx,0000000Ch mov [eax+04h],cx sub ecx,edi mov [ebp-0Ch],edx mov [eax],bx mov [eax+02h],di mov [eax+06h],cx mov [eax+08h],esi jmp L00452834 L00452731: mov eax,[esi] mov ecx,esi call [eax+18h] test eax,eax jz L00452834 mov edx,[esi] xor edi,edi mov ecx,esi mov [ebp-08h],edi call [edx+24h] test eax,eax jnz L00452834 mov eax,[esi] mov ecx,esi call [eax+40h] mov ecx,[ebp+0Ch] mov ebx,eax mov eax,ecx sub eax,00000002h jz L004527EC test ebx,00000240h jz L0045277B mov edi,00000001h mov [ebp-08h],edi L0045277B: test bl,40h jnz L00452796 test bh,02h jz L0045278B or edi,00000002h mov [ebp-08h],edi L0045278B: test bh,04h jz L00452796 or edi,00000004h mov [ebp-08h],edi L00452796: cmp ecx,00000001h jnz L004527F4 xor eax,eax mov ax,[esi+38h] cmp eax,000006F6h jg L004527B8 cmp eax,000006F5h jge L004527E7 cmp eax,00000692h jz L004527E7 jmp L004527C4 L004527B8: sub eax,00000846h jz L004527E7 sub eax,0000002Dh jz L004527E7 L004527C4: mov edx,[esi] mov ecx,esi call [edx+2Ch] test eax,eax jz L004527DA mov eax,[esi] mov ecx,esi call [eax+5Ch] test eax,eax jnz L004527E7 L004527DA: test ebx,20000000h jz L004527F4 and edi,FFFFFFFEh jmp L004527F1 L004527E7: and edi,FFFFFFFEh jmp L004527F1 L004527EC: mov edi,00000006h L004527F1: mov [ebp-08h],edi L004527F4: test edi,edi jz L00452834 mov edx,[esi] mov ecx,esi call [edx+70h] mov edi,eax mov eax,[esi] mov ecx,esi call [eax+44h] mov ebx,[ebp-04h] mov ecx,[ebp-0Ch] mov dx,[esi+24h] inc ebx mov [ebp-04h],ebx mov ebx,ecx add ebx,0000000Ch mov [ecx+02h],dx mov [ebp-0Ch],ebx mov bx,[ebp-08h] mov [ecx],bx mov [ecx+04h],ax mov [ecx+06h],di mov [ecx+08h],esi L00452834: mov esi,[esi+18h] test esi,esi jnz L00452664 L0045283F: mov edi,[L006A9D64] test edi,edi jz L004528E9 mov eax,[ebp-04h] mov edx,[ebp-10h] lea ecx,[eax+eax*2] lea eax,[edx+ecx*4] mov ecx,[L0073EBE4] mov [ebp-0Ch],eax L00452862: movsx edx,[edi+20h] mov eax,[ebp-14h] mov dword ptr [ebp-08h],00000000h cmp eax,edx jnz L004528DB movsx eax,[edi+22h] cmp [ebp+08h],eax jnz L004528DB mov eax,[ebp+0Ch] test eax,eax jz L0045288D jle L004528A4 cmp eax,00000002h jg L004528A4 jmp L004528DB L0045288D: mov edx,[ecx+000001ECh] mov eax,[ecx+000001F0h] cmp edx,eax jz L004528DB mov dword ptr [ebp-08h],00000001h L004528A4: mov ebx,[ebp-04h] mov eax,[ebp-0Ch] mov cx,[edi+24h] inc ebx mov [ebp-04h],ebx mov ebx,eax add ebx,0000000Ch lea edx,[ecx+10h] mov [ebp-0Ch],ebx mov bx,[ebp-08h] mov [eax],bx mov [eax+02h],cx mov [eax+04h],dx mov word ptr [eax+06h],0010h mov [eax+08h],esi mov ecx,[L0073EBE4] L004528DB: mov edi,[edi+000000BCh] test edi,edi jnz L00452862 L004528E9: mov eax,[ebp-04h] pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L00452900: push ebp mov ebp,esp sub esp,00000C04h mov eax,[ebp+14h] push ebx and eax,00000007h push esi mov [ebp+14h],eax xor eax,00000004h shl eax,02h mov esi,edx mov ebx,ecx mov edx,[ebp+08h] mov ecx,[eax+L004C7E28] push edi mov edi,[eax+L004C7E50] mov eax,[ebp+10h] add edx,ecx mov ecx,[ebp+0Ch] mov dword ptr [ebx],FFFFFF80h mov [esi],eax mov eax,[ebp+18h] add ecx,edi push eax push ecx lea ecx,[ebp-00000C04h] mov [ebp-04h],esi call SUB_L00452630 lea ecx,[eax+eax*2] lea edx,[ebp-00000C04h] lea eax,[ebp+ecx*4-00000C04h] cmp edx,eax mov [ebp+08h],eax jz L004529F2 lea esi,[ebp-00000BFCh] L00452974: mov ecx,[esi] movsx edi,[esi-04h] test ecx,ecx jz L004529AD mov eax,[ecx] call [eax+1Ch] test eax,eax jz L004529AD cmp edi,[ebp+10h] jg L004529AD mov ecx,[esi] mov eax,[ebp+14h] push eax mov edx,[ecx] call [edx+4Ch] mov ecx,[ebx] movsx eax,ax cmp ecx,eax jge L004529A2 mov [ebx],eax L004529A2: mov ecx,[ebp-04h] cmp [ecx],eax jge L004529E2 mov [ecx],eax jmp L004529E2 L004529AD: mov ax,[esi-08h] test al,01h jz L004529C0 cmp edi,[ebp+10h] jg L004529C0 cmp [ebx],edi jge L004529C0 mov [ebx],edi L004529C0: test al,04h jz L004529E2 cmp [ebp+10h],edi jnz L004529E2 movsx ecx,[esi-06h] movsx eax,[esi-02h] mov edx,[ebp-04h] add eax,ecx cmp [edx],eax jge L004529DC mov [edx],eax L004529DC: cmp [ebx],ecx jle L004529E2 mov [ebx],ecx L004529E2: mov eax,[ebp+08h] add esi,0000000Ch lea ecx,[esi-08h] cmp ecx,eax jnz L00452974 mov esi,[ebp-04h] L004529F2: mov eax,[esi] pop edi add eax,00000002h mov [esi],eax pop esi pop ebx mov esp,ebp pop ebp retn 0014h ;------------------------------------------------------------------------------ Align 16 SUB_L00452A10: push ebp mov ebp,esp sub esp,00000C14h push ebx mov ebx,ecx mov ecx,[L0073EBE4] push esi push edi mov edi,edx mov eax,[ecx] xor esi,esi call [eax+00000090h] test eax,eax jz L00452A39 mov esi,00000001h L00452A39: call SUB_L0048B870 test eax,eax jnz L00452A55 mov ecx,[L0073EBE4] cmp word ptr [ecx+38h],03DBh jnz L00452A55 mov esi,00000001h L00452A55: mov edx,[ebp+0Ch] mov eax,[ebp+08h] push esi push edx push eax push edi push ebx lea edx,[ebp-10h] lea ecx,[ebp-04h] call SUB_L00452900 mov edx,ebx lea ecx,[ebp-00000C14h] push esi push edi call SUB_L00452630 mov esi,eax lea ecx,[ebp-00000C14h] push L00452540 push 0000000Ch push esi push ecx call SUB_L0049BD70 lea edx,[esi+esi*2] mov ecx,00000080h add esp,00000010h inc esi lea eax,[ebp+edx*4-00000C14h] mov word ptr [eax],0001h mov [eax+02h],cx mov [eax+04h],cx mov [eax+06h],cx mov ecx,[ebp+08h] mov dword ptr [eax+08h],00000000h mov eax,[ebp-04h] cmp ecx,eax jge L00452AC8 mov [ebp+08h],eax L00452AC8: mov ecx,[ebp+10h] lea edx,[esi+esi*2] mov [ebp+0Ch],eax lea eax,[ebp-00000C14h] mov dword ptr [ecx],FFFFFF80h lea ecx,[ebp+edx*4-00000C14h] lea ebx,[ebp-00000C14h] cmp eax,ecx mov dword ptr [ebp-04h],000F4240h mov dword ptr [ebp-0Ch],FFFFFF80h mov [ebp-08h],ebx mov [ebp-14h],ecx jz L00452BAF L00452B06: test byte ptr [ebx],01h jz L00452BA1 movsx edi,[ebx+02h] mov esi,[ebp+0Ch] mov edx,edi sub edx,esi cmp edx,00000010h jl L00452B8D lea esi,[ebx-0Ch] lea eax,[ebp-00000C14h] cmp esi,eax jc L00452B8D L00452B2C: mov dx,[esi] test dl,06h jz L00452B7D movsx ecx,[esi+04h] cmp ecx,[ebp-0Ch] jl L00452B7D mov eax,ecx neg eax lea ebx,[edi+eax] cmp ebx,00000010h jl L00452B7A mov ebx,[ebp-10h] cmp ecx,ebx jg L00452B55 test dl,02h jnz L00452B62 L00452B55: test dl,04h jz L00452B7A movsx edx,[esi+02h] cmp edx,ebx jg L00452B7A L00452B62: mov edx,[ebp+08h] add eax,edx test eax,eax jge L00452B6D neg eax L00452B6D: cmp eax,[ebp-04h] jge L00452B7A mov edx,[ebp+10h] mov [ebp-04h],eax mov [edx],ecx L00452B7A: mov ebx,[ebp-08h] L00452B7D: sub esi,0000000Ch lea eax,[ebp-00000C14h] cmp esi,eax jnc L00452B2C mov ecx,[ebp-14h] L00452B8D: movsx eax,[ebx+04h] cmp [ebp+0Ch],eax jge L00452B99 mov [ebp+0Ch],eax L00452B99: cmp [ebp-0Ch],eax jge L00452BA1 mov [ebp-0Ch],eax L00452BA1: add ebx,0000000Ch cmp ebx,ecx mov [ebp-08h],ebx jnz L00452B06 L00452BAF: mov ecx,[ebp+10h] xor eax,eax pop edi pop esi mov edx,[ecx] pop ebx cmp edx,FFFFFF80h setnz al mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 16 SUB_L00452BD0: push ebp mov ebp,esp sub esp,00000014h mov eax,[ecx+04h] push ebx push esi push edi test eax,eax mov dword ptr [ebp-14h],00000000h jnz L00452BF8 mov edx,[L0073EBE4] mov dl,[edx+6Eh] and edx,00000007h mov [ebp-04h],edx jmp L00452C04 L00452BF8: lea edx,[eax+eax*4] xor ebx,ebx mov bl,[ecx+edx*4+10h] mov [ebp-04h],ebx L00452C04: mov edx,[ebp+10h] test edx,edx jnz L00452C21 mov ecx,[ebp+08h] mov edx,[ebp-04h] xor eax,eax cmp [ecx],edx setnz al pop edi pop esi pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ L00452C21: mov esi,[L006AAA9C] mov edx,[L006AAAA4] mov edi,[L006AAAA0] xor ebx,ebx cmp esi,00001400h mov [ebp+10h],edx setge bl test eax,eax mov [ebp-10h],ebx jle L00452C7C add ecx,00000024h mov edx,eax L00452C4D: mov eax,[ecx+04h] test eax,eax jnz L00452C76 mov al,[ecx] cmp al,[ecx+01h] jnz L00452C76 and eax,000000FFh shl eax,02h add esi,[eax+L004C7E28] add edi,[eax+L004C7E50] movsx eax,[ecx+10h] mov [ebp+10h],eax L00452C76: add ecx,00000014h dec edx jnz L00452C4D L00452C7C: mov ecx,[ebp+08h] mov eax,[ecx] test al,01h mov ecx,[L004C7E28+eax*4] jz L00452E1C mov edx,[L004C7E50+eax*4] add ecx,esi add edx,edi test ebx,ebx jnz L00452CCF test ecx,ecx jge L00452CA9 add ecx,00001400h L00452CA9: cmp ecx,00001400h jl L00452CB7 sub ecx,00001400h L00452CB7: test edx,edx jge L00452CC1 add edx,00001000h L00452CC1: cmp edx,00001000h jl L00452CCF sub edx,00001000h L00452CCF: mov ebx,[ebp+0Ch] mov dword ptr [ebp-0Ch],00000000h push ebx push eax mov eax,[ebp+10h] push eax call SUB_L00452A10 test eax,eax jnz L00452CEF mov dword ptr [ebp-0Ch],00000001h L00452CEF: mov ecx,[ebp+08h] mov eax,[ebp-10h] mov ebx,[ecx] mov ecx,[L004C7E24+ebx*4] mov edx,[L004C7E4C+ebx*4] add ecx,esi add edx,edi test eax,eax jnz L00452D3D test ecx,ecx jge L00452D17 add ecx,00001400h L00452D17: cmp ecx,00001400h jl L00452D25 sub ecx,00001400h L00452D25: test edx,edx jge L00452D2F add edx,00001000h L00452D2F: cmp edx,00001000h jl L00452D3D sub edx,00001000h L00452D3D: lea eax,[ebp-08h] push eax lea eax,[ebx-01h] and eax,00000007h push eax mov eax,[ebp+10h] push eax call SUB_L00452A10 test eax,eax jnz L00452D5E mov dword ptr [ebp-0Ch],00000001h jmp L00452D6A L00452D5E: mov ecx,[ebp+08h] mov edx,[ebp-08h] mov [ebp-14h],edx mov ebx,[ecx] dec ebx L00452D6A: mov eax,[ebp+08h] mov eax,[eax] mov ecx,[L004C7E2C+eax*4] mov edx,[L004C7E54+eax*4] add ecx,esi mov esi,[ebp-10h] add edx,edi test esi,esi jnz L00452DB8 test ecx,ecx jge L00452D92 add ecx,00001400h L00452D92: cmp ecx,00001400h jl L00452DA0 sub ecx,00001400h L00452DA0: test edx,edx jge L00452DAA add edx,00001000h L00452DAA: cmp edx,00001000h jl L00452DB8 sub edx,00001000h L00452DB8: inc eax lea esi,[ebp-08h] and eax,00000007h push esi push eax mov eax,[ebp+10h] push eax call SUB_L00452A10 test eax,eax jnz L00452DDB mov eax,[ebp+08h] mov edx,[ebp-14h] mov ecx,00000001h jmp L00452DEA L00452DDB: mov eax,[ebp+08h] mov edx,[ebp-08h] mov ecx,[ebp-0Ch] mov ebx,[eax] inc ebx and ebx,00000007h L00452DEA: test ecx,ecx jz L00452E6D mov ecx,[eax] cmp ebx,ecx jnz L00452E07 mov edx,[ebp-04h] xor eax,eax cmp ecx,edx setnz al pop edi pop esi pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ L00452E07: mov ecx,[ebp+0Ch] mov [eax],ebx mov eax,00000001h mov [ecx],edx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ L00452E1C: mov edx,[L004C7E50+eax*4] add ecx,esi add edx,edi test ebx,ebx jnz L00452E5B test ecx,ecx jge L00452E35 add ecx,00001400h L00452E35: cmp ecx,00001400h jl L00452E43 sub ecx,00001400h L00452E43: test edx,edx jge L00452E4D add edx,00001000h L00452E4D: cmp edx,00001000h jl L00452E5B sub edx,00001000h L00452E5B: mov esi,[ebp+0Ch] push esi push eax mov eax,[ebp+10h] push eax call SUB_L00452A10 test eax,eax jz L00452E7B L00452E6D: mov eax,00000001h pop edi pop esi pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ L00452E7B: mov edx,[ebp+08h] mov ecx,[ebp-04h] xor eax,eax pop edi mov esi,[edx] cmp esi,ecx pop esi setnz al pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 16 SUB_L00452EA0: push ebp mov ebp,esp mov eax,[ecx+18h] test eax,eax jnz L00452EC8 mov eax,[L00669598] mov edx,[L00669594] cmp eax,edx jnz L00452EC8 mov edx,[ebp+0Ch] mov eax,[ebp+08h] push 00000001h push edx push eax call SUB_L00452F30 L00452EC8: pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 8 SUB_L00452ED0: push ebp mov ebp,esp mov eax,[ebp+0Ch] push esi test eax,40000000h jz L00452F0B mov edx,[ecx+18h] mov eax,[L007B8598] test edx,edx jnz L00452F1D mov edx,[L00669598] mov esi,[L00669594] cmp edx,esi jnz L00452F1D push 00000001h push eax mov eax,[ebp+08h] push eax call SUB_L00452F30 pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ L00452F0B: mov edx,[L007B8598] mov eax,[ebp+08h] push 00000001h push edx push eax call SUB_L00452F30 L00452F1D: pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L00452F30: push ebp mov ebp,esp push ecx mov eax,[L00712220] push esi mov esi,ecx mov [L005493D0],eax push edi cmp dword ptr [esi+18h],00000001h jz L00453101 mov ecx,[ebp+08h] mov eax,[esi+04h] dec ecx and ecx,00000007h cmp eax,00000004h mov [ebp+08h],ecx jz L00453101 mov eax,[L006BB1CC] test eax,eax jz L00453101 mov edx,[ebp+10h] lea eax,[ebp-04h] push edx lea ecx,[ebp+08h] push eax push ecx mov ecx,esi call SUB_L00452BD0 test eax,eax jz L00453101 mov eax,[esi+04h] lea edx,[eax+eax*4] mov al,[esi+0Ch] mov [esi+edx*4+26h],al mov eax,[esi+04h] add eax,00000002h lea ecx,[eax+eax*4] mov eax,[ebp+0Ch] cmp eax,FFFFFFFFh mov dword ptr [esi+ecx*4],00000000h jnz L00452FBE mov ecx,L006A9DC0 call SUB_L004507B0 neg eax sbb eax,eax inc eax L00452FBE: mov ecx,[esi+04h] lea edx,[ecx+ecx*4] mov [esi+edx*4+2Ch],al mov eax,[esi+04h] test eax,eax jnz L00452FDF mov eax,[L0073EBE4] mov cl,[eax+6Eh] and cl,07h mov [esi+25h],cl jmp L00452FEC L00452FDF: lea edx,[eax+eax*4] mov cl,[esi+edx*4+10h] lea eax,[esi+edx*4] mov [eax+25h],cl L00452FEC: call [KERNEL32.dll!GetTickCount] mov ecx,[esi+04h] lea edx,[ecx+ecx*4] mov [esi+edx*4+30h],eax mov eax,[esi+04h] mov cl,[ebp-04h] lea eax,[eax+eax*4] mov [esi+eax*4+34h],cl mov eax,[esi+04h] mov edx,[L0073EBE4] mov edi,[ebp+08h] lea eax,[eax+eax*4] movsx ecx,[edx+24h] lea eax,[esi+eax*4] xor edx,edx mov dl,[eax+25h] cmp edi,edx jnz L00453036 sub ecx,[ebp-04h] cmp ecx,0000000Bh jl L00453036 mov byte ptr [eax+2Dh],01h jmp L0045303A L00453036: mov byte ptr [eax+2Dh],00h L0045303A: mov eax,[esi+04h] mov cl,[ebp+08h] lea eax,[eax+eax*4] mov [esi+eax*4+24h],cl mov ecx,[esi+04h] inc ecx mov eax,ecx mov [esi+04h],ecx lea edx,[eax+eax*4] mov al,[esi+edx*4+18h] test al,al jz L00453063 mov eax,[ebp+08h] or al,80h mov [ebp+08h],eax L00453063: mov al,[esi+0Ch] mov ecx,[ebp+08h] push eax lea edx,[ebp+10h] push ecx push edx mov ecx,L006BB1C0 call SUB_L00473B80 mov ecx,[L006BB1CC] lea eax,[ebp+10h] push eax call SUB_L0048B170 mov edi,[L0073EBDC] inc edi mov [L0073EBDC],edi mov eax,[esi+0Ch] inc eax and eax,000000FFh mov [esi+0Ch],eax jnz L004530AA mov dword ptr [esi+0Ch],00000001h L004530AA: mov ecx,[L00669678] test ecx,ecx jz L004530C4 mov edx,[ecx] push 00000001h call [edx] mov dword ptr [L00669678],00000000h L004530C4: mov esi,[L00669620] test esi,esi jz L00453101 L004530CE: mov eax,[esi] mov edi,[esi+3Ch] mov ecx,esi call [eax+000000ACh] test eax,eax jz L004530FB mov ecx,[esi+34h] test ecx,ecx jz L004530FB call SUB_L0045D370 test eax,eax jnz L004530FB test esi,esi jz L004530FB mov edx,[esi] push 00000001h mov ecx,esi call [edx] L004530FB: test edi,edi mov esi,edi jnz L004530CE L00453101: pop edi pop esi mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 8 SUB_L00453110: push esi cmp ecx,00000007h mov esi,edx ja L00453226 jmp [CASE_PROCTABLE_00453228+ecx*4] CASE_00453228_PROC0000: lea eax,[esi+esi*4] mov ecx,[L005493C8] lea eax,[esi+eax*2] shl eax,1 cdq idiv ecx mov [L006BAE84],eax lea eax,[esi+esi*2] shl eax,02h sub eax,esi neg eax shl eax,1 cdq idiv ecx mov [L006BAE88],eax pop esi retn ;------------------------------------------------------------------------------ CASE_00453228_PROC0001: lea ecx,[esi+esi*4] lea eax,[esi+ecx*2] jmp L004531C9 CASE_00453228_PROC0002: lea edx,[esi+esi*4] lea eax,[esi+edx*2] shl eax,1 cdq idiv [L005493C8] mov [L006BAE84],eax mov [L006BAE88],eax pop esi retn ;------------------------------------------------------------------------------ CASE_00453228_PROC0003: lea eax,[esi+esi*4] mov dword ptr [L006BAE84],00000000h lea eax,[esi+eax*2] shl eax,02h cdq idiv [L005493C8] mov [L006BAE88],eax pop esi retn ;------------------------------------------------------------------------------ CASE_00453228_PROC0004: lea eax,[esi+esi*2] mov ecx,[L005493C8] shl eax,02h sub eax,esi neg eax shl eax,1 cdq idiv ecx lea edx,[esi+esi*4] mov [L006BAE84],eax lea eax,[esi+edx*2] shl eax,1 cdq idiv ecx mov [L006BAE88],eax pop esi retn ;------------------------------------------------------------------------------ CASE_00453228_PROC0005: lea eax,[esi+esi*2] shl eax,02h sub eax,esi neg eax L004531C9: shl eax,02h cdq idiv [L005493C8] mov dword ptr [L006BAE88],00000000h mov [L006BAE84],eax pop esi retn ;------------------------------------------------------------------------------ CASE_00453228_PROC0006: lea eax,[esi+esi*2] shl eax,02h sub eax,esi neg eax shl eax,1 cdq idiv [L005493C8] mov [L006BAE84],eax mov [L006BAE88],eax pop esi retn ;------------------------------------------------------------------------------ CASE_00453228_PROC0007: lea eax,[esi+esi*2] mov dword ptr [L006BAE84],00000000h shl eax,02h sub eax,esi neg eax shl eax,02h cdq idiv [L005493C8] mov [L006BAE88],eax L00453226: pop esi retn ;------------------------------------------------------------------------------ CASE_PROCTABLE_00453228: dd CASE_00453228_PROC0000 dd CASE_00453228_PROC0001 dd CASE_00453228_PROC0002 dd CASE_00453228_PROC0003 dd CASE_00453228_PROC0004 dd CASE_00453228_PROC0005 dd CASE_00453228_PROC0006 dd CASE_00453228_PROC0007 Align 16 SUB_L00453250: push ebp mov ebp,esp push FFFFFFFFh push L004B3888 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,0000001Ch push ebx mov ebx,ecx mov ecx,[L0073EBE4] push esi xor esi,esi push edi cmp ecx,esi jz L00453693 cmp [L004DBFC8],esi jnz L00453693 mov eax,[ebx+04h] mov [ebp-04h],esi cmp eax,esi jz L004532CB mov eax,[ebx+08h] lea eax,[eax+eax*4] mov dl,[ebx+eax*4+2Dh] test dl,dl jz L004532CB mov dword ptr [L005493D4],00000001h movsx edx,[ecx+24h] mov [L005493CC],edx mov eax,[ebx+08h] lea eax,[eax+eax*4] movsx edx,[ebx+eax*4+34h] mov [L005493C4],edx jmp L004532D1 L004532CB: mov [L005493D4],esi L004532D1: cmp [ecx+1Ch],esi jz L0045332E mov eax,[ebx+04h] cmp eax,esi mov eax,[ecx+00000148h] jnz L00453308 cmp eax,esi jnz L0045332E mov eax,[ecx] call [eax+14h] mov ecx,[L0073EBE4] mov dword ptr [ecx+00000148h],00000001h mov dword ptr [L006695A4],00000003h jmp L0045331D L00453308: cmp eax,esi jz L0045332E mov eax,[ecx] call [eax+14h] mov ecx,[L0073EBE4] mov [ecx+00000148h],esi L0045331D: mov ecx,[L0073EBE4] mov edx,[ecx] call [edx+10h] mov ecx,[L0073EBE4] L0045332E: lea eax,[ecx+20h] mov edx,[ecx+20h] mov [ebp-20h],edx mov dx,[ebp-20h] mov ax,[eax+04h] mov [ebp-28h],dx mov dx,[ebp-1Eh] mov [ebp-1Ch],ax mov [ebp-26h],dx mov edx,[ebx+04h] mov [ebp-24h],ax mov eax,[ebx+08h] cmp eax,edx jge L00453693 cmp [ebx+1Ch],esi jz L00453375 add eax,00000002h lea eax,[eax+eax*4] cmp [ebx+eax*4],esi jz L00453693 L00453375: call SUB_L0045EFA0 mov ecx,[L0073EBE4] call SUB_L00430E80 mov ecx,[L0073EBE4] mov edx,[ecx] call [edx+14h] mov eax,[L0073EBE4] mov ecx,[L0071221C] mov [eax+0000014Ch],ecx mov edx,[L004DAF44] mov eax,[ebx+08h] mov edi,[ebx+14h] mov esi,[L004DAF40] mov [ebp-18h],edx mov edx,[ebx+10h] inc edi lea eax,[eax+eax*4] xor ecx,ecx mov [ebx+14h],edi inc edx mov cl,[ebx+eax*4+24h] mov [ebx+10h],edx mov edi,[L0073EBE4] mov [ebp-14h],esi mov [ebp-10h],ecx mov eax,[edi+00000128h] test eax,eax jz L00453411 mov eax,[ebx+20h] test eax,eax jz L004533FC xor edx,edx mov dx,[edi+38h] movsx eax,[L004DB7F1+edx*2] cdq sub eax,edx sar eax,1 jmp L0045347A L004533FC: xor eax,eax mov ax,[edi+38h] movsx eax,[L004DB7F0+eax*2] cdq sub eax,edx sar eax,1 jmp L0045347A L00453411: mov eax,[L005493D4] test eax,eax jz L00453455 mov eax,[L005493C4] xor edx,edx mov dx,[edi+38h] movsx edi,[L004DB7F0+edx*2] mov edx,[L005493CC] sub edx,eax mov eax,2E8BA2E9h imul edx sar edx,1 mov eax,edx shr eax,1Fh add edx,eax lea eax,[edi+edx*2] mov edi,[L0073EBE4] mov [L005493C8],eax jmp L0045347F L00453455: mov eax,[ebx+20h] test eax,eax jz L0045346C xor edx,edx mov dx,[edi+38h] movsx eax,[L004DB7F1+edx*2] jmp L0045347A L0045346C: xor eax,eax mov ax,[edi+38h] movsx eax,[L004DB7F0+eax*2] L0045347A: mov [L005493C8],eax L0045347F: cmp [ebx+10h],eax jz L00453498 mov eax,[ebx+08h] lea edx,[eax+eax*4] xor eax,eax mov al,[ebx+edx*4+25h] cmp ecx,eax jz L004535D0 L00453498: mov eax,[L005493D4] test eax,eax jz L0045351C mov edx,[edi] mov ecx,edi call [edx+00000090h] test eax,eax jnz L0045350F mov eax,[L005493CC] mov edx,[L005493C4] sub eax,edx cmp eax,00000016h jl L0045350F mov cx,[L006BB5B6] mov dx,[L006BB5B4] push 00000000h push 00000000h push ecx mov ecx,[L0073EBE4] push edx push SSZ004C7F08_ouch_ call SUB_L0045DAE0 mov eax,[L0073EBE4] push 00000000h mov cl,[eax+38h] and ecx,00000001h mov edi,ecx mov ecx,00000005h call SUB_L00455460 lea edx,[edi+eax*2] mov ecx,[L004BAED8+edx*4] xor edx,edx call SUB_L00497BC0 L0045350F: mov ecx,[ebp-10h] mov dword ptr [L005493D4],00000000h L0045351C: mov eax,[ebx+08h] xor edx,edx mov dword ptr [ebx+10h],00000000h lea eax,[eax+eax*4] mov dl,[ebx+eax*4+2Ch] mov [ebx+20h],edx mov eax,[L0073EBE4] mov [eax+6Eh],cl mov eax,[ebx+08h] lea edx,[eax+eax*4] xor eax,eax mov al,[ebx+edx*4+25h] cmp ecx,eax jnz L00453583 mov eax,[L0073EBE4] mov dx,[L004C7E28+ecx*4] add [eax+20h],dx mov eax,[L0073EBE4] mov dx,[L004C7E50+ecx*4] add [eax+22h],dx mov eax,[ebx+08h] lea eax,[eax+eax*4] movsx dx,[ebx+eax*4+34h] mov eax,[L0073EBE4] mov [eax+24h],dx jmp L0045358C L00453583: mov edx,[L0073EBE4] mov [edx+6Eh],cl L0045358C: mov edx,[ebx+08h] lea eax,[edx+02h] lea eax,[eax+eax*4] cmp dword ptr [ebx+eax*4],00000000h jz L004535CC mov eax,[ebx+04h] inc edx cmp edx,eax jge L004535C7 lea ecx,[edx+edx*4] lea eax,[ebx+ecx*4+10h] L004535AA: lea esi,[eax+14h] mov ecx,00000005h mov edi,eax inc edx rep movsd mov ecx,[ebx+04h] add eax,00000014h cmp edx,ecx jl L004535AA mov esi,[ebp-14h] mov ecx,[ebp-10h] L004535C7: dec [ebx+04h] jmp L004535D0 L004535CC: inc edx mov [ebx+08h],edx L004535D0: mov edx,[ebx+10h] call SUB_L00453110 mov ecx,[L0073EBE4] mov edx,[ecx] call [edx+0000008Ch] mov edi,[ebp-18h] mov ecx,[L004DAF44] mov edx,[L004DAF40] sub edi,ecx sub esi,edx push edi push esi mov ecx,L00669428 call SUB_L00494EF0 push edi push esi mov ecx,L00669608 call SUB_L0043F130 test esi,esi jnz L00453619 test edi,edi jz L0045365B L00453619: mov ecx,[L004C7F34] mov eax,esi cdq xor eax,edx sub eax,edx cmp eax,ecx jge L0045364C mov eax,edi cdq mov ecx,eax mov eax,[L004C7F38] xor ecx,edx sub ecx,edx cdq sub eax,edx sar eax,1 cmp ecx,eax jge L0045364C mov edx,edi mov ecx,esi call SUB_L00459E20 jmp L00453651 L0045364C: call SUB_L0045A290 L00453651: mov ecx,L00669608 call SUB_L004401B0 L0045365B: mov ecx,[L0073EBE4] mov edx,[ecx] call [edx+10h] mov eax,[L0073EBE4] mov cx,[ebp-20h] cmp cx,[eax+20h] jnz L00453689 mov dx,[ebp-1Eh] cmp dx,[eax+22h] jnz L00453689 mov cx,[ebp-1Ch] cmp cx,[eax+24h] jz L00453693 L00453689: mov ecx,L006BB1A0 call SUB_L00431010 L00453693: mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L004536B0: push ebp mov ebp,esp mov eax,[L0073EBDC] push ebx push esi push edi test eax,eax mov ebx,ecx jz L004536C7 dec eax mov [L0073EBDC],eax L004536C7: mov edi,[ebx+04h] xor esi,esi test edi,edi jle L004536E6 mov ecx,[ebp+08h] lea eax,[ebx+26h] L004536D6: xor edx,edx mov dl,[eax] cmp edx,ecx jz L004536E6 inc esi add eax,00000014h cmp esi,edi jl L004536D6 L004536E6: cmp esi,edi jnz L0045371D lea eax,[ebp+08h] mov ecx,L006BB1C0 push eax call SUB_L00473A30 lea ecx,[ebp+08h] push ecx mov ecx,[L006BB1CC] call SUB_L0048B170 xor eax,eax mov dword ptr [ebx+18h],00000001h mov [ebx+08h],eax mov [ebx+04h],eax pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ L0045371D: lea edx,[esi+esi*4] lea edi,[ebx+edx*4] call [KERNEL32.dll!GetTickCount] sub eax,[edi+30h] js L00453744 cmp eax,0000EA60h jge L00453744 mov ecx,[L006BB5F8] add eax,ecx shr eax,1 mov [L006BB5F8],eax L00453744: xor eax,eax xor edx,edx mov al,[edi+24h] mov dl,[edi+25h] cmp eax,edx jnz L00453771 movsx ecx,[edi+34h] mov edx,[L004C7E50+eax*4] mov eax,[L004C7E28+eax*4] push ecx push edx push eax mov ecx,L006AAA98 call SUB_L0044F710 L00453771: cmp esi,[ebx+08h] jge L004537E8 xor edi,edi cmp esi,edi jz L004537AD lea ecx,[ebp+08h] push ecx mov ecx,L006BB1C0 call SUB_L00473A30 mov ecx,[L006BB1CC] lea edx,[ebp+08h] push edx call SUB_L0048B170 mov dword ptr [ebx+18h],00000001h mov [ebx+08h],edi mov [ebx+04h],edi pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ L004537AD: mov eax,[ebx+04h] mov edx,00000001h cmp eax,edx jle L004537D3 lea eax,[ebx+24h] L004537BC: lea esi,[eax+14h] mov ecx,00000005h mov edi,eax inc edx rep movsd mov ecx,[ebx+04h] add eax,00000014h cmp edx,ecx jl L004537BC L004537D3: mov ecx,[ebx+04h] mov eax,[ebx+08h] dec ecx dec eax mov [ebx+04h],ecx mov [ebx+08h],eax pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ L004537E8: lea eax,[esi+02h] pop edi pop esi lea eax,[eax+eax*4] mov dword ptr [ebx+eax*4],00000001h pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 8 SUB_L00453800: push ebp mov ebp,esp push esi mov esi,ecx mov ecx,[L0073EBE4] push edi xor edi,edi mov [L0073EBDC],edi mov eax,[ecx] call [eax+14h] mov eax,[ebp+08h] mov [esi+10h],edi mov [esi+0Ch],edi mov [esi+04h],edi mov [esi+08h],edi mov [L006BAE84],edi mov [L006BAE88],edi cmp eax,FFFFFFFFh mov [esi+18h],edi jnz L0045388C mov ecx,[L0073EBE4] mov dx,[L006AAA9C] mov [ecx+20h],dx mov eax,[L0073EBE4] mov cx,[L006AAAA0] mov [eax+22h],cx mov ecx,[L0073EBE4] mov edx,[ecx] call [edx+10h] call SUB_L0045A290 mov ecx,[L0073EBE4] mov eax,[ecx] call [eax+0000008Ch] mov ecx,L006BB1A0 call SUB_L00431010 pop edi pop esi pop ebp retn 0010h ;------------------------------------------------------------------------------ L0045388C: mov ecx,[L006AAAA8] mov esi,[ebp+14h] mov edi,[ebp+10h] push ebx mov ebx,[ebp+0Ch] push ecx push esi push edi push ebx mov ecx,L006AAA98 call SUB_L0044F7E0 mov edx,[L0073EBE4] mov [edx+20h],bx mov eax,[L0073EBE4] mov [eax+22h],di mov ecx,[L0073EBE4] mov [ecx+24h],si mov ecx,[L0073EBE4] mov edx,[ecx] call [edx+10h] call SUB_L0045A290 mov ecx,[L0073EBE4] mov eax,[ecx] call [eax+0000008Ch] mov ecx,L006BB1A0 call SUB_L00431010 pop ebx pop edi pop esi pop ebp retn 0010h ;------------------------------------------------------------------------------ Align 16 SUB_L00453900: push ebp mov ebp,esp sub esp,00000208h mov eax,[L004C7E78] push ebx dec eax push esi cmp eax,00000001h push edi mov [ebp-04h],dx mov [ebp-08h],cx mov [L004C7E78],eax jg L00453A99 mov edi,[ebp+08h] mov ebx,[ebp-04h] mov esi,[ebp-08h] and edi,0000FFFFh and ebx,0000FFFFh and esi,0000FFFFh push edi push ebx push esi lea eax,[ebp-00000208h] push SSZ004C6A08__d__d__d push eax mov dword ptr [L004C7E78],00000014h mov [ebp-04h],esi call SUB_L0049AC80 add esp,00000014h lea ecx,[ebp-00000208h] push 00000000h push 00000000h push 00000000h push 00000000h push ecx mov ecx,[L0073EBE4] call SUB_L0045DAE0 mov eax,[L00669594] mov ecx,[L006AAA9C] mov edx,[L006AAAA0] test eax,eax jle L004539CF mov esi,L006695B4 mov [ebp+08h],eax L0045399E: mov eax,[esi+04h] test eax,eax jnz L004539C0 mov al,[esi] cmp al,[esi+01h] jnz L004539C0 and eax,000000FFh shl eax,02h add ecx,[eax+L004C7E28] add edx,[eax+L004C7E50] L004539C0: mov eax,[ebp+08h] add esi,00000014h dec eax mov [ebp+08h],eax jnz L0045399E mov esi,[ebp-04h] L004539CF: mov eax,[L006AAAA4] mov edx,[L006AAAA0] push 00000001h push 000001F4h push edi push ebx push esi push eax mov eax,[L006AAA9C] push edx push eax mov ecx,L00669C90 call SUB_L004772B0 test eax,eax mov [L00669C9C],eax jnz L00453A0D mov [L00669CA4],eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L00453A0D: mov dword ptr [L00669CA4],00000001h mov esi,eax call SUB_L0044E3D0 mov eax,[esi+24h] test eax,eax jz L00453A2E L00453A25: mov esi,eax mov eax,[esi+24h] test eax,eax jnz L00453A25 L00453A2E: mov [L00669C9C],esi mov ecx,[esi+10h] mov [L00669CA8],ecx mov edx,[esi+14h] mov [L00669CAC],edx mov eax,[esi+18h] mov edx,[L0073EBE4] xor ecx,ecx mov [L00669CB0],eax mov eax,[ebp-04h] mov cl,[edx+6Eh] push edi mov [L00669CB4],ecx push ebx push eax lea ecx,[ebp-00000208h] push SSZ004C7F10_Pathfinding_to__d___d___d_ push ecx mov [L00669CA0],esi call SUB_L0049AC80 mov ecx,[L0073EBE4] add esp,00000014h lea edx,[ebp-00000208h] push 00000000h push 00000000h push 00000000h push 00000000h push edx call SUB_L0045DAE0 L00453A99: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 L00453AB0: push ebp mov ebp,esp sub esp,00000010h mov eax,[L006AABAC] mov edx,ecx push ebx push esi movsx ecx,[edx+20h] add eax,ecx mov esi,[L006695A0] movsx ecx,[edx+22h] sub eax,ecx cmp esi,00000003h push edi mov [ebp-04h],edx lea ecx,[eax+eax*4] lea eax,[eax+ecx*2] mov ecx,[L006BAE84] lea eax,[ecx+eax*2-0000013Fh] mov [L004DAF40],eax jge L00453B10 movsx ecx,[edx+22h] movsx eax,[edx+24h] movsx ebx,[edx+20h] mov [ebp-10h],ecx xor ecx,ecx mov cl,[edx+6Eh] mov [ebp-0Ch],eax mov [ebp-08h],esi mov edi,ecx jmp L00453B61 L00453B10: mov eax,[L00669598] xor ecx,ecx movsx edi,[edx+20h] lea eax,[eax+eax*4] shl eax,02h mov cl,[eax+L006695B4] movsx eax,[eax+L006695C4] shl ecx,02h mov [ebp-0Ch],eax mov eax,00000004h mov ebx,[ecx+L004C7E28] mov ecx,[ecx+L004C7E50] add ebx,edi sub eax,esi movsx edi,[edx+22h] add ecx,edi mov [ebp-08h],eax mov [ebp-10h],ecx xor ecx,ecx mov cl,[edx+6Eh] mov edi,[L004C7E08+ecx*4] L00453B61: mov ecx,[ebp-10h] mov eax,ebx and ecx,0000003Fh and eax,0000003Fh shl ecx,06h add eax,ecx mov esi,[L006BDA48+eax*4] test esi,esi jz L00453BA4 L00453B7C: mov edx,[esi] mov ecx,esi call [edx+18h] test eax,eax jz L00453B9A mov eax,[esi] mov ecx,esi call [eax+44h] movsx ecx,ax cmp ecx,[ebp-0Ch] jz L00453ED9 L00453B9A: mov esi,[esi+14h] test esi,esi jnz L00453B7C mov edx,[ebp-04h] L00453BA4: xor esi,esi L00453BA6: test esi,esi jnz L00453C0B mov eax,[L005493D4] test eax,eax jz L00453BFD mov esi,[L006695A0] cmp esi,00000002h jge L00453BCE mov eax,[L005493CC] mov [edx+00000190h],eax jmp L00453EA3 L00453BCE: mov eax,[L005493C4] mov ecx,[L005493CC] sub eax,ecx add esi,FFFFFFFEh mov edx,[L005493C8] imul eax,esi lea esi,[edx-02h] cdq idiv esi mov edx,[ebp-04h] add eax,ecx mov [edx+00000190h],eax jmp L00453EA3 L00453BFD: mov eax,[ebp-0Ch] mov [edx+00000190h],eax jmp L00453EA3 L00453C0B: mov edx,[esi] mov ecx,esi call [edx+1Ch] test eax,eax jz L00453C66 mov eax,[L005493D4] test eax,eax jz L00453C38 mov edx,[L006695A0] cmp edx,00000002h jge L00453E6A mov eax,[L005493CC] jmp L00453E97 L00453C38: mov edx,[ebp-10h] mov ecx,L006AAA98 push edx push ebx call SUB_L0044F910 mov esi,eax mov eax,[ebp-08h] and edi,00000007h mov ecx,esi push edi push eax call SUB_L0045A350 mov edx,eax mov ecx,esi call SUB_L00452360 jmp L00453E97 L00453C66: mov edx,[esi] mov ecx,esi call [edx+40h] test ah,04h jz L00453E4F mov eax,[esi] mov ecx,esi call [eax+40h] and eax,C0000000h cmp eax,40000000h ja L00453D90 jz L00453CF9 test eax,eax jnz L00453EA0 mov edx,[esi] mov ecx,esi call [edx+70h] movsx ecx,[esi+24h] cmp edi,00000007h ja CASE_00453EE4_PROC0002 jmp [CASE_PROCTABLE_00453EE4+edi*4] CASE_00453EE4_PROC0000: mov edx,[ebp-08h] sub edx,00000000h jz CASE_00453EE4_PROC0002 dec edx jz L00453CC3 dec edx jnz CASE_00453EE4_PROC0002 add eax,ecx jmp L00453E97 L00453CC3: mov edx,eax sar edx,02h sub eax,edx add eax,ecx jmp L00453E97 CASE_00453EE4_PROC0003: mov edx,[ebp-08h] sub edx,00000000h jz CASE_00453EE4_PROC0002 dec edx jz L00453CE6 dec edx jnz CASE_00453EE4_PROC0002 mov eax,ecx jmp L00453E97 L00453CE6: sar eax,02h add eax,ecx jmp L00453E97 CASE_00453EE4_PROC0002: sar eax,1 add eax,ecx jmp L00453E97 L00453CF9: mov edx,[esi] mov ecx,esi call [edx+70h] movsx edx,[esi+24h] lea ecx,[edi-02h] and ecx,00000007h cmp ecx,00000007h ja CASE_00453F44_PROC0002 jmp [CASE_PROCTABLE_00453F04+ecx*4] CASE_00453F04_PROC0000: mov ecx,[ebp-08h] sub ecx,00000000h jz CASE_00453F44_PROC0002 dec ecx jz L00453D40 dec ecx jnz CASE_00453F44_PROC0002 add eax,edx mov edx,[ebp-04h] mov [edx+00000190h],eax jmp L00453EA0 L00453D40: mov ecx,eax sar ecx,02h sub eax,ecx add eax,edx mov edx,[ebp-04h] mov [edx+00000190h],eax jmp L00453EA0 CASE_00453F04_PROC0003: mov ecx,[ebp-08h] sub ecx,00000000h jz CASE_00453F44_PROC0002 dec ecx jz L00453D7D dec ecx jnz CASE_00453F44_PROC0002 mov eax,edx mov edx,[ebp-04h] mov [edx+00000190h],eax jmp L00453EA0 L00453D7D: sar eax,02h add eax,edx mov edx,[ebp-04h] mov [edx+00000190h],eax jmp L00453EA0 L00453D90: cmp eax,80000000h jz L00453DC3 cmp eax,C0000000h jnz L00453EA0 mov eax,[esi] mov ecx,esi call [eax+70h] movsx edx,[esi+24h] lea ecx,[edi-04h] and ecx,00000007h cmp ecx,00000007h ja CASE_00453F44_PROC0002 jmp [CASE_PROCTABLE_00453F24+ecx*4] L00453DC3: mov eax,[esi] mov ecx,esi call [eax+70h] movsx edx,[esi+24h] lea ecx,[edi+02h] and ecx,00000007h cmp ecx,00000007h ja CASE_00453F44_PROC0002 jmp [CASE_PROCTABLE_00453F44+ecx*4] CASE_00453F44_PROC0000: mov ecx,[ebp-08h] sub ecx,00000000h jz CASE_00453F44_PROC0002 dec ecx jz L00453DFE dec ecx jnz CASE_00453F44_PROC0002 add eax,edx mov edx,[ebp-04h] mov [edx+00000190h],eax jmp L00453EA0 L00453DFE: mov ecx,eax sar ecx,02h sub eax,ecx add eax,edx mov edx,[ebp-04h] mov [edx+00000190h],eax jmp L00453EA0 CASE_00453F44_PROC0003: mov ecx,[ebp-08h] sub ecx,00000000h jz CASE_00453F44_PROC0002 dec ecx jz L00453E30 dec ecx jnz CASE_00453F44_PROC0002 mov eax,edx mov edx,[ebp-04h] mov [edx+00000190h],eax jmp L00453EA0 L00453E30: sar eax,02h add eax,edx mov edx,[ebp-04h] mov [edx+00000190h],eax jmp L00453EA0 CASE_00453F44_PROC0002: sar eax,1 add eax,edx mov edx,[ebp-04h] mov [edx+00000190h],eax jmp L00453EA0 L00453E4F: mov eax,[L005493D4] test eax,eax jz L00453E8D mov edx,[L006695A0] cmp edx,00000002h jge L00453E6A mov eax,[L005493CC] jmp L00453E97 L00453E6A: mov eax,[L005493C4] mov ecx,[L005493CC] sub eax,ecx add edx,FFFFFFFEh imul eax,edx mov edx,[L005493C8] lea esi,[edx-02h] cdq idiv esi add eax,ecx jmp L00453E97 L00453E8D: mov edx,[esi] mov ecx,esi call [edx+44h] movsx eax,ax L00453E97: mov ecx,[ebp-04h] mov [ecx+00000190h],eax L00453EA0: mov edx,[ebp-04h] L00453EA3: movsx eax,[edx+22h] movsx ecx,[edx+20h] add eax,ecx pop edi pop esi pop ebx lea ecx,[eax+eax*4] lea eax,[eax+ecx*2] mov ecx,[edx+00000190h] mov edx,[L006BAE88] shl eax,1 shl ecx,02h sub eax,ecx lea eax,[eax+edx-000000D9h] mov [L004DAF44],eax mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00453ED9: mov edx,[ebp-04h] jmp L00453BA6 Align 4 CASE_PROCTABLE_00453EE4: dd CASE_00453EE4_PROC0000 dd CASE_00453EE4_PROC0000 dd CASE_00453EE4_PROC0002 dd CASE_00453EE4_PROC0003 dd CASE_00453EE4_PROC0003 dd CASE_00453EE4_PROC0003 dd CASE_00453EE4_PROC0002 dd CASE_00453EE4_PROC0000 CASE_PROCTABLE_00453F04: dd CASE_00453F04_PROC0000 dd CASE_00453F04_PROC0000 dd CASE_00453F44_PROC0002 dd CASE_00453F04_PROC0003 dd CASE_00453F04_PROC0003 dd CASE_00453F04_PROC0003 dd CASE_00453F44_PROC0002 dd CASE_00453F04_PROC0000 CASE_PROCTABLE_00453F24: dd CASE_00453F44_PROC0000 dd CASE_00453F44_PROC0000 dd CASE_00453F44_PROC0002 dd CASE_00453F44_PROC0003 dd CASE_00453F44_PROC0003 dd CASE_00453F44_PROC0003 dd CASE_00453F44_PROC0002 dd CASE_00453F44_PROC0000 CASE_PROCTABLE_00453F44: dd CASE_00453F44_PROC0000 dd CASE_00453F44_PROC0000 dd CASE_00453F44_PROC0002 dd CASE_00453F44_PROC0003 dd CASE_00453F44_PROC0003 dd CASE_00453F44_PROC0003 dd CASE_00453F44_PROC0002 dd CASE_00453F44_PROC0000 Align 16 L00453F70: push ebp mov ebp,esp sub esp,00000018h push ebx push esi push edi mov edi,ecx call SUB_L0045EE00 mov ecx,eax mov eax,[edi+0000013Ch] mov edx,ecx mov [ebp-18h],ecx sub edx,eax test eax,eax mov [ebp-14h],edx jnz L00453FB9 movsx eax,[edi+20h] movsx ecx,[edi+22h] mov [ebp-10h],eax xor ebx,ebx movsx eax,[edi+24h] mov bl,[edi+6Eh] mov [ebp-0Ch],ecx mov [ebp-08h],eax mov dword ptr [ebp-04h],00000000h jmp L0045400B L00453FB9: sar ecx,1 cmp eax,ecx jle L00453FE7 movsx ecx,[edi+0000017Ch] movsx eax,[edi+0000017Eh] mov [ebp-10h],ecx xor ebx,ebx movsx ecx,[edi+00000180h] mov bl,[edi+6Eh] mov [ebp-0Ch],eax mov [ebp-08h],ecx mov [ebp-04h],edx jmp L0045400B L00453FE7: movsx ecx,[edi+20h] mov [ebp-10h],ecx mov [ebp-04h],eax movsx ecx,[edi+22h] mov [ebp-0Ch],ecx xor eax,eax movsx ecx,[edi+24h] mov al,[edi+6Eh] mov [ebp-08h],ecx mov ebx,[L004C7E08+eax*4] L0045400B: mov eax,[ebp-0Ch] mov ecx,[ebp-10h] and eax,0000003Fh and ecx,0000003Fh shl eax,06h add ecx,eax mov esi,[L006BDA48+ecx*4] test esi,esi jz L0045404F L00454027: mov edx,[esi] mov ecx,esi call [edx+18h] test eax,eax jz L00454045 mov eax,[esi] mov ecx,esi call [eax+44h] movsx ecx,ax cmp ecx,[ebp-08h] jz L00454361 L00454045: mov esi,[esi+14h] test esi,esi jnz L00454027 mov edx,[ebp-14h] L0045404F: xor esi,esi L00454051: test esi,esi jnz L0045407D mov eax,[edi+00000198h] test eax,eax jz L0045406D movsx eax,[edi+24h] mov ecx,[edi+0000019Ch] add ecx,eax jmp L004540A1 L0045406D: mov eax,[ebp-08h] mov [edi+00000190h],eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L0045407D: mov edx,[esi] mov ecx,esi call [edx+1Ch] test eax,eax jz L004540F2 mov eax,[edi+00000198h] test eax,eax jz L004540B9 movsx eax,[edi+24h] mov ecx,[edi+0000019Ch] mov edx,[ebp-14h] add ecx,eax L004540A1: cmp edx,00000002h jge L0045432A mov eax,ecx mov [edi+00000190h],eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L004540B9: mov eax,[ebp-0Ch] mov ecx,[ebp-10h] push eax push ecx mov ecx,L006AAA98 call SUB_L0044F910 mov edx,[ebp-04h] and ebx,00000007h mov esi,eax push ebx push edx mov ecx,esi call SUB_L0045A350 mov edx,eax mov ecx,esi call SUB_L00452360 mov [edi+00000190h],eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L004540F2: mov eax,[esi] mov ecx,esi call [eax+40h] test ah,04h jz L004542FD mov edx,[esi] mov ecx,esi call [edx+40h] and eax,C0000000h cmp eax,40000000h ja L004541D2 jz L004541B1 test eax,eax jnz L0045435A mov eax,[esi] mov ecx,esi call [eax+70h] movsx ecx,[esi+24h] cmp ebx,00000007h ja CASE_0045436C_PROC0002 jmp [CASE_PROCTABLE_0045436C+ebx*4] CASE_0045436C_PROC0000: mov edx,[ebp-04h] sub edx,00000000h jz CASE_0045436C_PROC0002 dec edx jz L0045415B dec edx jnz CASE_0045436C_PROC0002 add eax,ecx mov [edi+00000190h],eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L0045415B: mov edx,eax sar edx,02h sub eax,edx add eax,ecx mov [edi+00000190h],eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ CASE_0045436C_PROC0003: mov edx,[ebp-04h] sub edx,00000000h jz CASE_0045436C_PROC0002 dec edx jz L0045418E dec edx jnz CASE_0045436C_PROC0002 mov eax,ecx mov [edi+00000190h],eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L0045418E: sar eax,02h add eax,ecx mov [edi+00000190h],eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ CASE_0045436C_PROC0002: sar eax,1 add eax,ecx mov [edi+00000190h],eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L004541B1: mov eax,[esi] mov ecx,esi call [eax+70h] movsx edx,[esi+24h] lea ecx,[ebx-02h] and ecx,00000007h cmp ecx,00000007h ja CASE_004543CC_PROC0002 jmp [CASE_PROCTABLE_0045438C+ecx*4] L004541D2: cmp eax,80000000h jz L0045426D cmp eax,C0000000h jnz L0045435A mov edx,[esi] mov ecx,esi call [edx+70h] movsx edx,[esi+24h] lea ecx,[ebx-04h] and ecx,00000007h cmp ecx,00000007h ja CASE_004543CC_PROC0002 jmp [CASE_PROCTABLE_004543AC+ecx*4] CASE_004543AC_PROC0000: mov ecx,[ebp-04h] sub ecx,00000000h jz CASE_004543CC_PROC0002 dec ecx jz L0045422E dec ecx jnz CASE_004543CC_PROC0002 add eax,edx mov [edi+00000190h],eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L0045422E: mov ecx,eax sar ecx,02h sub eax,ecx add eax,edx mov [edi+00000190h],eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ CASE_004543AC_PROC0003: mov ecx,[ebp-04h] sub ecx,00000000h jz CASE_004543CC_PROC0002 dec ecx jz L004542DA dec ecx jnz CASE_004543CC_PROC0002 mov eax,edx mov [edi+00000190h],eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L0045426D: mov edx,[esi] mov ecx,esi call [edx+70h] movsx edx,[esi+24h] lea ecx,[ebx+02h] and ecx,00000007h cmp ecx,00000007h ja CASE_004543CC_PROC0002 jmp [CASE_PROCTABLE_004543CC+ecx*4] CASE_004543CC_PROC0000: mov ecx,[ebp-04h] sub ecx,00000000h jz CASE_004543CC_PROC0002 dec ecx jz L004542A7 dec ecx jnz CASE_004543CC_PROC0002 add eax,edx mov [edi+00000190h],eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L004542A7: mov ecx,eax sar ecx,02h sub eax,ecx add eax,edx mov [edi+00000190h],eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ CASE_004543CC_PROC0003: mov ecx,[ebp-04h] sub ecx,00000000h jz CASE_004543CC_PROC0002 dec ecx jz L004542DA dec ecx jnz CASE_004543CC_PROC0002 mov eax,edx mov [edi+00000190h],eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L004542DA: sar eax,02h add eax,edx mov [edi+00000190h],eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ CASE_004543CC_PROC0002: sar eax,1 add eax,edx mov [edi+00000190h],eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L004542FD: mov eax,[edi+00000198h] test eax,eax jz L0045434A movsx eax,[edi+24h] mov ecx,[edi+0000019Ch] mov edx,[ebp-14h] add ecx,eax cmp edx,00000002h jge L0045432A mov eax,ecx mov [edi+00000190h],eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L0045432A: sub eax,ecx add edx,FFFFFFFEh imul eax,edx mov edx,[ebp-18h] lea esi,[edx-02h] cdq idiv esi add eax,ecx mov [edi+00000190h],eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L0045434A: mov eax,[esi] mov ecx,esi call [eax+44h] movsx ecx,ax mov [edi+00000190h],ecx L0045435A: pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00454361: mov edx,[ebp-14h] jmp L00454051 Align 4 CASE_PROCTABLE_0045436C: dd CASE_0045436C_PROC0000 dd CASE_0045436C_PROC0000 dd CASE_0045436C_PROC0002 dd CASE_0045436C_PROC0003 dd CASE_0045436C_PROC0003 dd CASE_0045436C_PROC0003 dd CASE_0045436C_PROC0002 dd CASE_0045436C_PROC0000 CASE_PROCTABLE_0045438C: dd CASE_004543AC_PROC0000 dd CASE_004543AC_PROC0000 dd CASE_004543CC_PROC0002 dd CASE_004543AC_PROC0003 dd CASE_004543AC_PROC0003 dd CASE_004543AC_PROC0003 dd CASE_004543CC_PROC0002 dd CASE_004543AC_PROC0000 CASE_PROCTABLE_004543AC: dd CASE_004543AC_PROC0000 dd CASE_004543AC_PROC0000 dd CASE_004543CC_PROC0002 dd CASE_004543AC_PROC0003 dd CASE_004543AC_PROC0003 dd CASE_004543AC_PROC0003 dd CASE_004543CC_PROC0002 dd CASE_004543AC_PROC0000 CASE_PROCTABLE_004543CC: dd CASE_004543CC_PROC0000 dd CASE_004543CC_PROC0000 dd CASE_004543CC_PROC0002 dd CASE_004543CC_PROC0003 dd CASE_004543CC_PROC0003 dd CASE_004543CC_PROC0003 dd CASE_004543CC_PROC0002 dd CASE_004543CC_PROC0000 Align 8 SUB_L004543F0: push ebp mov ebp,esp push ecx mov [ebp-04h],cl mov eax,[ebp-04h] mov ecx,L00669590 and eax,000000FFh push eax call SUB_L00454410 mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 4 SUB_L00454410: push ebp mov ebp,esp sub esp,00000008h mov eax,[L00712220] push ebx mov ebx,ecx push esi mov [L005493D0],eax mov esi,00000001h mov eax,[ebx+18h] push edi cmp eax,esi jz L0045466F mov eax,[ebx+04h] mov edi,00000004h cmp eax,edi jnz L00454471 lea ecx,[ebp-04h] push ecx mov ecx,L006BB1C0 call SUB_L00473A30 mov ecx,[L006BB1CC] lea edx,[ebp-04h] push edx call SUB_L0048B170 xor eax,eax mov [ebx+18h],esi cmp eax,edi mov [ebx+08h],eax mov [ebx+04h],eax jz L0045466F L00454471: mov eax,[L006BB1CC] test eax,eax jz L0045466F lea eax,[ebp-08h] push esi lea ecx,[ebp+08h] push eax push ecx mov ecx,ebx call SUB_L00452BD0 test eax,eax jz L0045466F mov eax,[ebx+04h] lea edx,[eax+eax*4] mov al,[ebx+0Ch] mov [ebx+edx*4+26h],al mov eax,[ebx+04h] add eax,00000002h lea ecx,[eax+eax*4] mov dword ptr [ebx+ecx*4],00000000h mov ecx,L006A9DC0 call SUB_L004507B0 mov edx,eax mov eax,[ebx+04h] neg edx sbb edx,edx lea eax,[eax+eax*4] inc edx mov [ebx+eax*4+2Ch],dl mov eax,[ebx+04h] test eax,eax jnz L004544E6 mov ecx,[L0073EBE4] mov dl,[ecx+6Eh] and dl,07h mov [ebx+25h],dl jmp L004544F3 L004544E6: lea eax,[eax+eax*4] mov cl,[ebx+eax*4+10h] lea eax,[ebx+eax*4] mov [eax+25h],cl L004544F3: call [KERNEL32.dll!GetTickCount] mov ecx,[ebx+04h] lea edx,[ecx+ecx*4] mov [ebx+edx*4+30h],eax mov eax,[ebx+04h] mov cl,[ebp-08h] lea eax,[eax+eax*4] mov [ebx+eax*4+34h],cl mov eax,[ebx+04h] mov edx,[L0073EBE4] xor ecx,ecx lea eax,[eax+eax*4] movsx edi,[edx+24h] mov cl,[ebx+eax*4+25h] mov edx,[ebp+08h] lea eax,[ebx+eax*4] cmp edx,ecx jnz L0045453E sub edi,[ebp-08h] cmp edi,0000000Bh jl L0045453E mov byte ptr [eax+2Dh],01h jmp L00454542 L0045453E: mov byte ptr [eax+2Dh],00h L00454542: mov eax,[ebx+04h] lea edx,[eax+eax*4] mov al,[ebp+08h] mov [ebx+edx*4+24h],al mov ecx,[ebx+04h] inc ecx mov edi,ecx mov [ebx+04h],ecx lea ecx,[edi+edi*4] mov al,[ebx+ecx*4+18h] test al,al jz L0045456B mov eax,[ebp+08h] or al,80h mov [ebp+08h],eax L0045456B: mov ecx,[ebx+0Ch] lea eax,[ecx+01h] and eax,000000FFh mov [ebx+0Ch],eax jnz L0045457E mov [ebx+0Ch],esi L0045457E: xor esi,esi test edi,edi jle L00454597 lea eax,[ebx+26h] L00454587: xor edx,edx mov dl,[eax] cmp edx,ecx jz L00454597 inc esi add eax,00000014h cmp esi,edi jl L00454587 L00454597: cmp esi,edi jnz L004545AE lea eax,[ebp-04h] mov ecx,L006BB1C0 push eax call SUB_L00473A30 lea ecx,[ebp-04h] jmp L00454601 L004545AE: lea edx,[esi+esi*4] xor ecx,ecx mov cl,[ebx+edx*4+24h] lea eax,[ebx+edx*4] xor edx,edx mov edi,ecx mov dl,[eax+25h] mov [ebp+08h],edi cmp edi,edx jnz L004545E7 movsx eax,[eax+34h] mov ecx,[L004C7E50+edi*4] mov edx,[L004C7E28+edi*4] push eax push ecx push edx mov ecx,L006AAA98 call SUB_L0044F710 L004545E7: cmp esi,[ebx+08h] jge L00454662 test esi,esi jz L00454625 lea eax,[ebp-04h] mov ecx,L006BB1C0 push eax call SUB_L00473A30 lea ecx,[ebp-04h] L00454601: push ecx mov ecx,[L006BB1CC] call SUB_L0048B170 xor eax,eax mov dword ptr [ebx+18h],00000001h mov [ebx+08h],eax mov [ebx+04h],eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L00454625: mov eax,[ebx+04h] mov edx,00000001h cmp eax,edx jle L0045464B lea eax,[ebx+24h] L00454634: lea esi,[eax+14h] mov ecx,00000005h mov edi,eax inc edx rep movsd mov ecx,[ebx+04h] add eax,00000014h cmp edx,ecx jl L00454634 L0045464B: mov ecx,[ebx+04h] mov eax,[ebx+08h] dec ecx dec eax mov [ebx+04h],ecx mov [ebx+08h],eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L00454662: lea eax,[esi+02h] lea edx,[eax+eax*4] mov dword ptr [ebx+edx*4],00000001h L0045466F: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' mov ecx,L006BB1C8 call SUB_L00455050 push L004546A0 call SUB_L0049BC50 add esp,00000004h retn ;------------------------------------------------------------------------------ Align 16 L004546A0: mov ecx,L006BB1C8 jmp SUB_L00455A20 db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' mov ecx,L00669CC0 jmp L00459080 db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' mov ecx,L00669C8C call SUB_L004882C0 push L004546E0 call SUB_L0049BC50 add esp,00000004h retn ;------------------------------------------------------------------------------ Align 16 L004546E0: mov ecx,L00669C8C jmp SUB_L004068F0 db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' mov ecx,L006AA860 call SUB_L00445A30 push L00454710 call SUB_L0049BC50 add esp,00000004h retn ;------------------------------------------------------------------------------ Align 16 L00454710: mov ecx,L006AA860 jmp L00445A90 db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' mov ecx,L005493E0 call SUB_L00494470 push L00454740 call SUB_L0049BC50 add esp,00000004h retn ;------------------------------------------------------------------------------ Align 16 L00454740: mov ecx,L005493E0 jmp L00494540 db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' mov ecx,L006A9DC0 call SUB_L0044FC10 push L00454770 call SUB_L0049BC50 add esp,00000004h retn ;------------------------------------------------------------------------------ Align 16 L00454770: mov ecx,L006A9DC0 jmp L00450090 db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' mov ecx,L006A9DB8 call SUB_L004882C0 push L004547A0 call SUB_L0049BC50 add esp,00000004h retn ;------------------------------------------------------------------------------ Align 16 L004547A0: mov ecx,L006A9DB8 jmp SUB_L004068F0 db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' mov ecx,L006BB1A0 call SUB_L0042EF70 push L004547D0 call SUB_L0049BC50 add esp,00000004h retn ;------------------------------------------------------------------------------ Align 16 L004547D0: mov ecx,L006BB1A0 jmp SUB_L004068F0 db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' mov ecx,L006BDA38 call SUB_L00434B00 push L00454800 call SUB_L0049BC50 add esp,00000004h retn ;------------------------------------------------------------------------------ Align 16 L00454800: db C3h; 'ƒ' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db B9h; 'ü' db 38h; '8' db 9Dh; '?' db 6Ah; 'j' db 00h; db E8h; '¨' db B6h; db AFh; 'ô' db 00h; db 00h; db 68h; 'h' db 30h; '0' db 48h; 'H' db 45h; 'E' db 00h; db E8h; '¨' db 2Ch; ',' db 74h; 't' db 04h; db 00h; db 83h; '?' db C4h; '„' db 04h; db C3h; 'ƒ' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db B9h; 'ü' db 38h; '8' db 9Dh; '?' db 6Ah; 'j' db 00h; db E9h; '©' db 46h; 'F' db B0h; 'ø' db 00h; db 00h; db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db B9h; 'ü' db 78h; 'x' db AEh; 'R' db 6Ah; 'j' db 00h; db E8h; '¨' db 36h; '6' db 72h; 'r' db FEh; 'î' db FFh; 'ï' db 68h; 'h' db 60h; '`' db 48h; 'H' db 45h; 'E' db 00h; db E8h; '¨' db FCh; 'ì' db 73h; 's' db 04h; db 00h; db 83h; '?' db C4h; '„' db 04h; db C3h; 'ƒ' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db B9h; 'ü' db 78h; 'x' db AEh; 'R' db 6Ah; 'j' db 00h; db E9h; '©' db 46h; 'F' db 74h; 't' db FEh; 'î' db FFh; 'ï' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db B9h; 'ü' db C0h; '€' db B1h; '+' db 6Bh; 'k' db 00h; db E8h; '¨' db 46h; 'F' db 40h; '@' db 01h; db 00h; db 68h; 'h' db 90h; '?' db 48h; 'H' db 45h; 'E' db 00h; db E8h; '¨' db CCh; 'Œ' db 73h; 's' db 04h; db 00h; db 83h; '?' db C4h; '„' db 04h; db C3h; 'ƒ' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db B9h; 'ü' db C0h; '€' db B1h; '+' db 6Bh; 'k' db 00h; db E9h; '©' db 66h; 'f' db 40h; '@' db 01h; db 00h; db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db B9h; 'ü' db 98h; '?' db AAh; 'ò' db 6Ah; 'j' db 00h; db E8h; '¨' db A6h; '³' db A3h; '?' db FFh; 'ï' db FFh; 'ï' db 68h; 'h' db C0h; '€' db 48h; 'H' db 45h; 'E' db 00h; db E8h; '¨' db 9Ch; '?' db 73h; 's' db 04h; db 00h; db 83h; '?' db C4h; '„' db 04h; db C3h; 'ƒ' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db B9h; 'ü' db 98h; '?' db AAh; 'ò' db 6Ah; 'j' db 00h; db E9h; '©' db 26h; '&' db A4h; 'ý' db FFh; 'ï' db FFh; 'ï' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db B9h; 'ü' db 90h; '?' db 95h; db 66h; 'f' db 00h; db E8h; '¨' db 06h; db DAh; 'š' db FFh; 'ï' db FFh; 'ï' db 68h; 'h' db F0h; 'à' db 48h; 'H' db 45h; 'E' db 00h; db E8h; '¨' db 6Ch; 'l' db 73h; 's' db 04h; db 00h; db 83h; '?' db C4h; '„' db 04h; db C3h; 'ƒ' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db B9h; 'ü' db 90h; '?' db 95h; db 66h; 'f' db 00h; db E9h; '©' db 36h; '6' db DCh; 'œ' db FFh; 'ï' db FFh; 'ï' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db B9h; 'ü' db F8h; 'è' db 93h; '"' db 66h; 'f' db 00h; db E8h; '¨' db 96h; '-' db 71h; 'q' db 03h; db 00h; db 68h; 'h' db 20h; ' ' db 49h; 'I' db 45h; 'E' db 00h; db E8h; '¨' db 3Ch; '<' db 73h; 's' db 04h; db 00h; db 83h; '?' db C4h; '„' db 04h; db C3h; 'ƒ' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db B9h; 'ü' db F8h; 'è' db 93h; '"' db 66h; 'f' db 00h; db E9h; '©' db E6h; '¦' db 71h; 'q' db 03h; db 00h; db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db B9h; 'ü' db E8h; '¨' db D8h; '˜' db 6Bh; 'k' db 00h; db E8h; '¨' db 76h; 'v' db 13h; db 04h; db 00h; db 68h; 'h' db 50h; 'P' db 49h; 'I' db 45h; 'E' db 00h; db E8h; '¨' db 0Ch; db 73h; 's' db 04h; db 00h; db 83h; '?' db C4h; '„' db 04h; db C3h; 'ƒ' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db B9h; 'ü' db E8h; '¨' db D8h; '˜' db 6Bh; 'k' db 00h; db E9h; '©' db D6h; '–' db 13h; db 04h; db 00h; db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db B9h; 'ü' db 10h; db AAh; 'ò' db 6Ah; 'j' db 00h; db E8h; '¨' db 06h; db 1Ch; db 04h; db 00h; db 68h; 'h' db 80h; '?' db 49h; 'I' db 45h; 'E' db 00h; db E8h; '¨' db DCh; 'œ' db 72h; 'r' db 04h; db 00h; db 83h; '?' db C4h; '„' db 04h; db C3h; 'ƒ' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db B9h; 'ü' db 10h; db AAh; 'ò' db 6Ah; 'j' db 00h; db E9h; '©' db B6h; db 1Dh; db 04h; db 00h; db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db B9h; 'ü' db 48h; 'H' db 1Ah; db 6Ch; 'l' db 00h; db E8h; '¨' db F6h; 'æ' db 2Bh; '+' db FFh; 'ï' db FFh; 'ï' db 68h; 'h' db B0h; 'ø' db 49h; 'I' db 45h; 'E' db 00h; db E8h; '¨' db ACh; '¿' db 72h; 'r' db 04h; db 00h; db 83h; '?' db C4h; '„' db 04h; db C3h; 'ƒ' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db B9h; 'ü' db 48h; 'H' db 1Ah; db 6Ch; 'l' db 00h; db E9h; '©' db 36h; '6' db 1Fh; db FBh; 'ë' db FFh; 'ï' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db B9h; 'ü' db 68h; 'h' db 95h; db 66h; 'f' db 00h; db E8h; '¨' db 16h; db 0Bh; db 04h; db 00h; db 68h; 'h' db E0h; ' ' db 49h; 'I' db 45h; 'E' db 00h; db E8h; '¨' db 7Ch; '|' db 72h; 'r' db 04h; db 00h; db 83h; '?' db C4h; '„' db 04h; db C3h; 'ƒ' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db B9h; 'ü' db 68h; 'h' db 95h; db 66h; 'f' db 00h; db E9h; '©' db 16h; db 0Bh; db 04h; db 00h; db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db B9h; 'ü' db C8h; 'ˆ' db 9Ch; '?' db 66h; 'f' db 00h; db E8h; '¨' db 76h; 'v' db 24h; '$' db FEh; 'î' db FFh; 'ï' db 68h; 'h' db 10h; db 4Ah; 'J' db 45h; 'E' db 00h; db E8h; '¨' db 4Ch; 'L' db 72h; 'r' db 04h; db 00h; db 83h; '?' db C4h; '„' db 04h; db C3h; 'ƒ' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db B9h; 'ü' db C8h; 'ˆ' db 9Ch; '?' db 66h; 'f' db 00h; db E9h; '©' db B6h; db 24h; '$' db FEh; 'î' db FFh; 'ï' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db B9h; 'ü' db 08h; db 96h; '-' db 66h; 'f' db 00h; db E8h; '¨' db 16h; db 78h; 'x' db FEh; 'î' db FFh; 'ï' db 68h; 'h' db 40h; '@' db 4Ah; 'J' db 45h; 'E' db 00h; db E8h; '¨' db 1Ch; db 72h; 'r' db 04h; db 00h; db 83h; '?' db C4h; '„' db 04h; db C3h; 'ƒ' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db B9h; 'ü' db 08h; db 96h; '-' db 66h; 'f' db 00h; db E9h; '©' db 66h; 'f' db 79h; 'y' db FEh; 'î' db FFh; 'ï' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db B9h; 'ü' db 90h; '?' db 9Ch; '?' db 66h; 'f' db 00h; db E8h; '¨' db A6h; '³' db 27h; ''' db 02h; db 00h; db 68h; 'h' db 70h; 'p' db 4Ah; 'J' db 45h; 'E' db 00h; db E8h; '¨' db ECh; '¬' db 71h; 'q' db 04h; db 00h; db 83h; '?' db C4h; '„' db 04h; db C3h; 'ƒ' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db B9h; 'ü' db 90h; '?' db 9Ch; '?' db 66h; 'f' db 00h; db E9h; '©' db D6h; '–' db 27h; ''' db 02h; db 00h; db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db B9h; 'ü' db 90h; '?' db 21h; '!' db 71h; 'q' db 00h; db E8h; '¨' db 86h; 'Å' db 2Fh; '/' db FDh; 'í' db FFh; 'ï' db 68h; 'h' db A0h; 'ÿ' db 4Ah; 'J' db 45h; 'E' db 00h; db E8h; '¨' db BCh; '?' db 71h; 'q' db 04h; db 00h; db 83h; '?' db C4h; '„' db 04h; db C3h; 'ƒ' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db B9h; 'ü' db 90h; '?' db 21h; '!' db 71h; 'q' db 00h; db E9h; '©' db 46h; 'F' db 1Eh; db FBh; 'ë' db FFh; 'ï' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db B9h; 'ü' db 88h; '?' db 9Ch; '?' db 66h; 'f' db 00h; db E9h; '©' db 56h; 'V' db 48h; 'H' db 00h; db 00h; db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db B9h; 'ü' db F8h; 'è' db 93h; '"' db 54h; 'T' db 00h; db E9h; '©' db 36h; '6' db C5h; '…' db FAh; 'ê' db FFh; 'ï' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db B9h; 'ü' db 88h; '?' db 21h; '!' db 70h; 'p' db 00h; db E9h; '©' db 96h; '-' db 89h; '%' db 02h; db 00h; db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db B9h; 'ü' db 28h; '(' db 94h; '"' db 66h; 'f' db 00h; db E8h; '¨' db 86h; 'Å' db FAh; 'ê' db 03h; db 00h; db 68h; 'h' db 00h; db 4Bh; 'K' db 45h; 'E' db 00h; db E8h; '¨' db 5Ch; '\' db 71h; 'q' db 04h; db 00h; db 83h; '?' db C4h; '„' db 04h; db C3h; 'ƒ' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db B9h; 'ü' db 28h; '(' db 94h; '"' db 66h; 'f' db 00h; db E9h; '©' db A6h; '³' db FAh; 'ê' db 03h; db 00h; db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' SUB_L00454B10: push ebx push esi mov esi,ecx xor ebx,ebx push edi mov edi,L006AA910 test byte ptr [esi+0Ch],10h jnz L00454B76 L00454B22: push esi call SUB_L0049C070 mov ebx,eax add esp,00000004h cmp ebx,0000000Ah jz L00454B45 cmp ebx,0000000Dh jz L00454B45 cmp ebx,FFFFFFFFh jz L00454B3F mov [edi],bl inc edi L00454B3F: test byte ptr [esi+0Ch],10h jz L00454B22 L00454B45: test byte ptr [esi+0Ch],10h jnz L00454B76 cmp ebx,0000000Ah jz L00454B55 cmp ebx,0000000Dh jnz L00454B76 L00454B55: push esi call SUB_L0049C070 add esp,00000004h cmp eax,ebx jz L00454B6C cmp eax,0000000Ah jz L00454B76 cmp eax,0000000Dh jz L00454B76 L00454B6C: push esi push eax call SUB_L0049BFB0 add esp,00000008h L00454B76: mov byte ptr [edi],00h pop edi pop esi mov eax,L006AA910 pop ebx retn ;------------------------------------------------------------------------------ Align 16 SUB_L00454B90: push ebp mov ebp,esp sub esp,00000008h push ebx push esi mov esi,ecx mov bl,10h xor eax,eax push edi mov cl,[esi+0Ch] mov [ebp-08h],eax test bl,cl mov edi,L006AAC78 jnz L00454C2C L00454BAE: push esi push 00000001h lea eax,[ebp-08h] push 00000002h push eax call SUB_L0049A630 mov eax,[ebp-08h] add esp,00000010h add eax,0000FFF3h cmp ax,000Ah mov [ebp-08h],eax jz L00454BE3 cmp ax,000Dh jz L00454BE3 mov [edi],ax mov cl,[esi+0Ch] add edi,00000002h test bl,cl jz L00454BAE L00454BE3: test [esi+0Ch],bl jnz L00454C2C cmp ax,000Ah jz L00454BF4 cmp ax,000Dh jnz L00454C2C L00454BF4: push esi push 00000001h lea ecx,[ebp-02h] push 00000002h push ecx call SUB_L0049A630 add esp,00000010h test eax,eax jz L00454C2C mov ax,[ebp-02h] cmp ax,[ebp-08h] jz L00454C1F cmp ax,000Ah jz L00454C2C cmp ax,000Dh jz L00454C2C L00454C1F: push 00000001h push FFFFFFFEh push esi call SUB_L0049B6B0 add esp,0000000Ch L00454C2C: mov word ptr [edi],0000h pop edi pop esi mov eax,L006AAC78 pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 4 SUB_L00454C40: push esi mov esi,ecx push edi mov edi,esi or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx test ecx,ecx jle L00454C6D L00454C54: mov dl,[eax+esi] add dl,0Dh cmp dl,7Fh mov [eax+esi],dl jbe L00454C68 sub dl,5Fh mov [eax+esi],dl L00454C68: inc eax cmp eax,ecx jl L00454C54 L00454C6D: pop edi pop esi retn ;------------------------------------------------------------------------------ SUB_L00454C70: push esi mov esi,ecx push edi mov edi,esi or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx test ecx,ecx jle L00454C9D L00454C84: mov dl,[eax+esi] add dl,F3h cmp dl,20h mov [eax+esi],dl jnc L00454C98 add dl,5Fh mov [eax+esi],dl L00454C98: inc eax cmp eax,ecx jl L00454C84 L00454C9D: pop edi pop esi retn ;------------------------------------------------------------------------------ SUB_L00454CA0: push ebp mov ebp,esp push ecx push ebx push esi mov esi,ecx push edi mov al,[esi] cmp al,61h jl L00454CB3 cmp al,7Ah jle L00454CC3 L00454CB3: cmp al,41h jl L00454EF4 cmp al,5Ah jg L00454EF4 L00454CC3: mov edi,esi or ecx,FFFFFFFFh xor eax,eax xor edx,edx repne scasb not ecx dec ecx test ecx,ecx jle L00454D53 L00454CD5: mov al,[edx+esi] cmp al,41h jl L00454CE0 cmp al,5Ah jle L00454CFC L00454CE0: cmp al,61h jl L00454CE8 cmp al,7Ah jle L00454CFC L00454CE8: cmp al,2Dh jz L00454D0C cmp al,2Eh jz L00454CFC cmp al,20h jz L00454CFC cmp al,27h jnz L00454EF4 L00454CFC: cmp al,2Dh jz L00454D0C cmp al,2Eh jz L00454D0C cmp al,20h jz L00454D0C cmp al,27h jnz L00454D42 L00454D0C: mov edi,esi or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx add ecx,FFFFFFFEh cmp edx,ecx jge L00454D42 mov al,[edx+esi+01h] cmp al,2Dh jz L00454EF4 cmp al,2Eh jz L00454EF4 cmp al,20h jz L00454EF4 cmp al,27h jz L00454EF4 L00454D42: mov edi,esi or ecx,FFFFFFFFh xor eax,eax inc edx repne scasb not ecx dec ecx cmp edx,ecx jl L00454CD5 L00454D53: mov edx,esi mov ecx,SSZ004C8E10_Lord call SUB_L00406980 test eax,eax jz L00454EF4 mov edx,esi mov ecx,SSZ004C8E08_Lady call SUB_L00406980 test eax,eax jz L00454EF4 mov edx,esi mov ecx,L004C8E04 call SUB_L00406980 test eax,eax jz L00454EF4 mov edx,esi mov ecx,SSZ004C8DF8_Counselor call SUB_L00406980 test eax,eax jz L00454EF4 mov edx,esi mov ecx,SSZ004C8DF0_Seer call SUB_L00406980 test eax,eax jz L00454EF4 mov eax,[L004C8380] test eax,eax jz L00454E5D mov eax,L004C8380 mov ebx,eax mov [ebp-04h],ebx L00454DCE: mov ecx,[eax] mov edx,esi call SUB_L00406980 mov edx,eax cmp edx,FFFFFFFFh jz L00454E4A test edx,edx jz L00454DF6 mov al,[edx+esi-01h] cmp al,2Dh jz L00454DF6 cmp al,2Eh jz L00454DF6 cmp al,20h jz L00454DF6 cmp al,27h jnz L00454E4A L00454DF6: mov edi,[ebx] or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx mov edi,esi mov ebx,ecx or ecx,FFFFFFFFh add ebx,edx repne scasb not ecx dec ecx cmp ebx,ecx jz L00454EF4 mov ebx,[ebp-04h] or ecx,FFFFFFFFh mov edi,[ebx] repne scasb not ecx dec ecx add ecx,edx mov al,[ecx+esi] cmp al,2Dh jz L00454EF4 cmp al,2Eh jz L00454EF4 cmp al,20h jz L00454EF4 cmp al,27h jz L00454EF4 L00454E4A: mov ecx,[ebx+04h] add ebx,00000004h test ecx,ecx mov [ebp-04h],ebx mov eax,ebx jnz L00454DCE L00454E5D: mov eax,[L004C8368] test eax,eax jz L00454EEB mov eax,L004C8368 mov ebx,eax mov [ebp-04h],ebx L00454E74: mov ecx,[eax] mov edx,esi call SUB_L00406980 mov edx,eax cmp edx,FFFFFFFFh jz L00454EDC test edx,edx jz L00454E9C mov al,[edx+esi-01h] cmp al,2Dh jz L00454E9C cmp al,2Eh jz L00454E9C cmp al,20h jz L00454E9C cmp al,27h jnz L00454EDC L00454E9C: mov edi,[ebx] or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx mov edi,esi mov ebx,ecx or ecx,FFFFFFFFh add ebx,edx repne scasb not ecx dec ecx cmp ebx,ecx jz L00454EF4 mov ebx,[ebp-04h] or ecx,FFFFFFFFh mov edi,[ebx] repne scasb not ecx dec ecx add ecx,edx mov al,[ecx+esi] cmp al,2Dh jz L00454EF4 cmp al,2Eh jz L00454EF4 cmp al,20h jz L00454EF4 cmp al,27h jz L00454EF4 L00454EDC: mov ecx,[ebx+04h] add ebx,00000004h test ecx,ecx mov [ebp-04h],ebx mov eax,ebx jnz L00454E74 L00454EEB: xor eax,eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00454EF4: pop edi pop esi mov eax,00000001h pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ SUB_L00454F00: push ebp mov ebp,esp sub esp,0000040Ch push ebx push esi lea eax,[ebp-08h] push edi push eax push 00000001h push 00000000h push SSZ004C8E24_SOFTWARE_Origin_Worlds_Online_Ul mov [ebp-0Ch],edx mov ebx,ecx push 80000002h call [ADVAPI32.dll!RegOpenKeyExA] mov edx,eax mov edi,L004D77C0 or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,ebx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h test edx,edx rep movsb jz L00454F5A xor eax,eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00454F5A: mov eax,[ebp-08h] lea ecx,[ebp-04h] lea edx,[ebp-0000040Ch] push ecx push edx push 00000000h push 00000000h push SSZ004C8E18_InstCDPath push eax mov dword ptr [ebp-04h],00000400h call [ADVAPI32.dll!RegQueryValueExA] test eax,eax jz L00454F8C xor eax,eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00454F8C: mov ecx,[ebp-0Ch] mov eax,[ebp-04h] cmp ecx,eax jge L00454F9F xor eax,eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00454F9F: lea edi,[ebp-0000040Ch] or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx mov eax,ebx mov edx,ecx mov esi,edi mov edi,ebx shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 SUB_L00454FD0: push ebp mov ebp,esp mov eax,[L007B7E18] test eax,eax jz L00454FEA mov eax,[L00669574] test eax,eax jz L00454FEA call SUB_L004989D0 L00454FEA: push 00000000h push SSZ004C8F40_Out_of_memory push SSZ004C8E54_There_is_not_enough_memory_to_co push 00000000h call [USER32.dll!MessageBoxA] push 00000001h call SUB_L0049B0C0 add esp,00000004h xor eax,eax pop ebp retn ;------------------------------------------------------------------------------ Align 8 SUB_L00455010: push 00000013h mov ecx,L006A9DC0 mov dword ptr [L007121C4],00000001h call SUB_L00450120 retn ;------------------------------------------------------------------------------ Align 16 SUB_L00455030: push 00000011h mov ecx,L006A9DC0 mov dword ptr [L007121C4],00000000h call SUB_L00450120 retn ;------------------------------------------------------------------------------ Align 16 SUB_L00455050: push ebp mov ebp,esp push FFFFFFFFh push L004B38BC mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,0000000Ch push ebx mov ebx,ecx push esi xor esi,esi push edi lea ecx,[ebx+00000418h] mov [ebp-18h],ebx mov [ebx+0000040Ch],esi mov [ebx+00000414h],esi mov [ebx+00000410h],esi call SUB_L004823D0 mov [ebp-04h],esi mov [ebx+000022E4h],esi mov [ebx+000022E8h],esi mov [ebx+000022ECh],esi push SUB_L00454FD0 mov byte ptr [ebp-04h],01h mov dword ptr [ebx],L004BAF04 call SUB_L0049C190 add esp,00000004h push L007B7E30 call [KERNEL32.dll!InitializeCriticalSection] mov eax,[L004D0E5C] push esi push eax call [USER32.dll!FindWindowA] cmp eax,esi jz L004550F2 push 00000040h push esi push SSZ004C9028_Another_copy_of_UO_is_already_ru push esi call [USER32.dll!MessageBoxA] push esi call SUB_L0049B0C0 add esp,00000004h L004550F2: mov [ebx+000020D8h],esi push SSZ004C901C_UO_Player lea ecx,[ebx+000001AAh] mov [ebx+00000438h],esi push L004C9018 mov byte ptr [ebx+0000043Ch],00h push ecx mov byte ptr [ebx+0000018Ch],00h call SUB_L0049AC80 add esp,0000000Ch lea edx,[ebp-14h] mov byte ptr [ebx+00000544h],00h mov byte ptr [ebx+000022A0h],00h push edx mov byte ptr [ebx+00002264h],00h push 00000001h mov byte ptr [ebx+000022BEh],00h push esi mov dword ptr [ebx+00000434h],00000001h mov ecx,000003B2h mov eax,00000003h push SSZ004C8E24_SOFTWARE_Origin_Worlds_Online_Ul mov [ebx+0000040Ch],esi mov [ebx+00000410h],esi mov [ebx+00000414h],esi push 80000002h mov [ebx+00000428h],esi mov [ebx+08h],esi mov dword ptr [ebx+000001E8h],00000032h mov [ebx+000003ECh],cx mov [ebx+000003EEh],ax mov [ebx+000003F0h],cx mov [ebx+000003F2h],ax mov [ebx+00000540h],esi mov [ebx+00002118h],esi mov [ebx+00000408h],esi call [ADVAPI32.dll!RegOpenKeyExA] cmp eax,esi jnz L004551EA mov ecx,[ebp-14h] lea eax,[ebp-10h] lea edi,[ebx+000001ECh] push eax push edi push esi push esi push SSZ004C9010_ExePath push ecx mov dword ptr [ebp-10h],00000104h call [ADVAPI32.dll!RegQueryValueExA] cmp eax,esi jz L00455210 L004551EA: push 00000010h push SSZ004C9008_ERROR push SSZ004C8F6C_Ultima_Online_does_not_appear_to push esi call [USER32.dll!MessageBoxA] mov eax,ebx mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00455210: push 0000005Ch push edi call SUB_L0049C0D0 add esp,00000008h test eax,eax jz L0045523C L0045521F: push 0000005Ch push edi call SUB_L0049C0D0 add esp,00000008h mov edi,eax inc edi push 0000005Ch push edi call SUB_L0049C0D0 add esp,00000008h test eax,eax jnz L0045521F L0045523C: push 00000001h mov byte ptr [edi],00h push SSZ004C61D8_uo_cfg mov ecx,ebx mov [ebx+000020D4h],esi mov [ebx+000020D0h],esi mov byte ptr [ebx+00002114h],00h mov [ebx+00002260h],esi call SUB_L00427B10 mov ecx,[ebx+00002118h] mov eax,SSZ004C8F60_login_cfg cmp ecx,esi jz L00455277 mov eax,ecx L00455277: push esi push eax mov ecx,ebx call SUB_L00427B10 lea eax,[ebx+000003F4h] mov edx,02B202B2h mov ecx,02250225h mov edi,L006BB3B4 mov [eax],edx mov [eax+04h],edx mov [eax+08h],dx lea eax,[ebx+000003FEh] mov [ebx+000003FEh],ecx mov [eax+04h],ecx mov [eax+08h],cx or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx mov edx,ecx mov esi,edi mov edi,L006AA460 shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb mov al,[L006AA460] test al,al jz L00455320 mov edi,L006AA460 or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx cmp byte ptr [ecx+L006AA45F],5Ch jz L00455320 mov edi,[L004C7F30] or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx mov esi,edi mov edx,ecx mov edi,L006AA460 or ecx,FFFFFFFFh repne scasb mov ecx,edx dec edi shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb L00455320: mov edi,SSZ004C8F50_chardata_mul or ecx,FFFFFFFFh xor eax,eax push L004C40E0 repne scasb not ecx sub edi,ecx push L006AA460 mov esi,edi mov edx,ecx mov edi,L006AA460 or ecx,FFFFFFFFh repne scasb mov ecx,edx dec edi shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb call SUB_L0049A7F0 mov esi,eax xor edi,edi add esp,00000008h cmp esi,edi jz L00455398 push esi push 00000005h lea eax,[ebx+000003F4h] push 00000002h push eax call SUB_L0049A630 add esp,00000010h lea eax,[ebx+000003FEh] push esi push 00000005h push 00000002h push eax call SUB_L0049A630 add esp,00000010h push esi call SUB_L0049A580 add esp,00000004h L00455398: mov ecx,ebx call SUB_L004572E0 mov [ebx+000020E4h],edi mov [ebx+000020E0h],edi mov dword ptr [ebx+000020DCh],00000004h mov [ebx+000001E0h],edi mov byte ptr [ebx+000001E4h],00h mov [ebx+000020E8h],edi mov [ebx+000020ECh],edi mov [ebx+000020F0h],edi mov [ebx+000020FCh],edi mov [ebx+000020F8h],edi mov [ebx+000020F4h],edi mov [ebx+00002100h],edi mov [ebx+00002104h],edi mov [ebx+00002108h],edi mov [ebx+0000210Ch],edi mov [ebx+00002110h],edi mov [ebx+000022DCh],edi call [KERNEL32.dll!GetTickCount] mov ecx,[ebp-0Ch] mov [ebx+000022E0h],eax pop edi mov eax,ebx pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 L00455430: push ebp mov ebp,esp push esi mov esi,ecx call SUB_L00455A20 test byte ptr [ebp+08h],01h jz L0045544A push esi call SUB_L0049A810 add esp,00000004h L0045544A: mov eax,esi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00455460: push esi mov esi,ecx call SUB_L0049C1F0 cdq idiv esi pop esi mov eax,edx retn ;------------------------------------------------------------------------------ Align 4 SUB_L00455470: push ebp mov ebp,esp push FFFFFFFFh push L004B38DB mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx push 0000020Ch call SUB_L0049A820 add esp,00000004h mov [ebp-10h],eax test eax,eax mov dword ptr [ebp-04h],00000000h jz L004554CA mov ecx,[esi+08h] push 00000000h push 00000000h push ecx mov ecx,eax call SUB_L0045F500 mov [L0073EBE4],eax mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L004554CA: mov ecx,[ebp-0Ch] xor eax,eax mov [L0073EBE4],eax mov fs:[00000000h],ecx pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ SUB_L004554E0: push ebp mov ebp,esp sub esp,00000080h push ebx push esi mov ebx,ecx push edi mov edi,L006BB3B4 or ecx,FFFFFFFFh xor eax,eax mov dword ptr [ebx+00000568h],00000000h repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,L006AA460 shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov al,[L006AA460] test al,al jz L0045556C mov edi,L006AA460 or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx cmp byte ptr [ecx+L006AA45F],5Ch jz L0045556C mov edi,[L004C7F30] or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx mov esi,edi mov edx,ecx mov edi,L006AA460 or ecx,FFFFFFFFh repne scasb mov ecx,edx dec edi shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb L0045556C: mov edi,SSZ004C905C_uobscene_lst or ecx,FFFFFFFFh xor eax,eax push L004C40E0 repne scasb not ecx sub edi,ecx push L006AA460 mov esi,edi mov edx,ecx mov edi,L006AA460 or ecx,FFFFFFFFh repne scasb mov ecx,edx dec edi shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb call SUB_L0049A7F0 mov esi,eax add esp,00000008h test esi,esi jz L00455605 test byte ptr [esi+0Ch],10h jnz L004555FC L004555B7: mov ecx,esi call SUB_L00454B90 cmp word ptr [eax],0000h jz L004555F6 mov ecx,[ebx+00000568h] mov edx,eax inc ecx mov [ebx+00000568h],ecx lea ecx,[ebp-80h] call SUB_L00491D10 mov eax,[ebx+00000568h] lea edx,[ebp-80h] lea eax,[eax+eax*2] lea eax,[eax+eax*4] lea ecx,[ebx+eax*4+000007D8h] call SUB_L00491D10 L004555F6: test byte ptr [esi+0Ch],10h jz L004555B7 L004555FC: push esi call SUB_L0049A580 add esp,00000004h L00455605: mov edi,L006BB3B4 or ecx,FFFFFFFFh xor eax,eax mov dword ptr [ebx+00000564h],00000000h repne scasb not ecx sub edi,ecx mov edx,ecx mov esi,edi mov edi,L006AA460 shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb mov al,[L006AA460] test al,al jz L00455683 mov edi,L006AA460 or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx cmp byte ptr [ecx+L006AA45F],5Ch jz L00455683 mov edi,[L004C7F30] or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx mov esi,edi mov edx,ecx mov edi,L006AA460 or ecx,FFFFFFFFh repne scasb mov ecx,edx dec edi shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb L00455683: mov edi,SSZ004C9050_ignore_lst or ecx,FFFFFFFFh xor eax,eax push L004C40E0 repne scasb not ecx sub edi,ecx push L006AA460 mov esi,edi mov edx,ecx mov edi,L006AA460 or ecx,FFFFFFFFh repne scasb mov ecx,edx dec edi shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb call SUB_L0049A7F0 mov esi,eax add esp,00000008h test esi,esi mov [ebp-04h],esi jz L00455754 L004556CF: push esi push 0000001Eh lea eax,[ebp-30h] push 00000001h push eax call SUB_L0049A630 add esp,00000010h mov [ebp-08h],eax test eax,eax jz L0045574B mov ecx,[ebx+00000564h] lea edi,[ebp-30h] inc ecx mov eax,ecx mov [ebx+00000564h],ecx lea eax,[eax+eax*2] lea ecx,[eax+eax*4] xor eax,eax lea edx,[ebx+ecx*2+0000054Eh] or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov ecx,[ebp-04h] mov edx,[ebx+00000564h] push ecx push 00000001h lea eax,[ebx+edx*4+000007C0h] push 00000004h push eax call SUB_L0049A630 mov eax,[ebp-08h] mov esi,[ebp-04h] add esp,00000010h test eax,eax jnz L004556CF L0045574B: push esi call SUB_L0049A580 add esp,00000004h L00455754: pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 SUB_L00455760: push ebp mov ebp,esp sub esp,00000054h mov eax,[ebp+08h] push ebx mov ebx,ecx push esi sub eax,00000000h push edi mov [ebp-04h],ebx jz L004558A7 dec eax jnz L004559DC mov edi,L006BB3B4 or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,L006AA460 shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov al,[L006AA460] test al,al jz L004557F5 mov edi,L006AA460 or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx cmp byte ptr [ecx+L006AA45F],5Ch jz L004557F5 mov edi,[L004C7F30] or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx mov esi,edi mov edx,ecx mov edi,L006AA460 or ecx,FFFFFFFFh repne scasb mov ecx,edx dec edi shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb L004557F5: mov edi,SSZ004C9050_ignore_lst or ecx,FFFFFFFFh xor eax,eax push L004C61C8 repne scasb not ecx sub edi,ecx push L006AA460 mov esi,edi mov edx,ecx mov edi,L006AA460 or ecx,FFFFFFFFh repne scasb mov ecx,edx dec edi shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb call SUB_L0049A7F0 mov esi,eax add esp,00000008h test esi,esi jz L004559DC mov eax,[ebx+00000564h] mov dword ptr [ebp+08h],00000000h test eax,eax jle L004559D3 lea edi,[ebx+000007C4h] add ebx,0000056Ch L0045585F: push esi push 0000001Eh push 00000001h push ebx call SUB_L0049B520 add esp,00000010h push esi push 00000001h push 00000004h push edi call SUB_L0049B520 mov ecx,[ebp-04h] mov eax,[ebp+08h] add esp,00000010h inc eax mov edx,[ecx+00000564h] add edi,00000004h add ebx,0000001Eh cmp eax,edx mov [ebp+08h],eax jl L0045585F push esi call SUB_L0049A580 add esp,00000004h pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L004558A7: mov edi,L006BB3B4 or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx mov edx,ecx mov esi,edi mov edi,L006AA460 shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb mov al,[L006AA460] test al,al jz L0045591B mov edi,L006AA460 or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx cmp byte ptr [ecx+L006AA45F],5Ch jz L0045591B mov edi,[L004C7F30] or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx mov esi,edi mov edx,ecx mov edi,L006AA460 or ecx,FFFFFFFFh repne scasb mov ecx,edx dec edi shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb L0045591B: mov edi,SSZ004C905C_uobscene_lst or ecx,FFFFFFFFh xor eax,eax push L004C61C8 repne scasb not ecx sub edi,ecx push L006AA460 mov esi,edi mov edx,ecx mov edi,L006AA460 or ecx,FFFFFFFFh repne scasb mov ecx,edx dec edi shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb call SUB_L0049A7F0 mov esi,eax add esp,00000008h test esi,esi jz L004559DC mov eax,[ebx+00000568h] xor edi,edi test eax,eax jle L004559D3 add ebx,00000814h L00455972: mov edx,ebx lea ecx,[ebp-54h] call SUB_L00491D10 lea ecx,[ebp-54h] call SUB_L00491C00 test eax,eax jle L00455995 lea ecx,[ebp-54h] L0045598B: add word ptr [ecx],000Dh add ecx,00000002h dec eax jnz L0045598B L00455995: push esi lea ecx,[ebp-54h] call SUB_L00491C00 push eax lea eax,[ebp-54h] push 00000002h push eax call SUB_L0049B520 add esp,00000010h lea ecx,[ebp-54h] mov word ptr [ebp-54h],0017h push esi push 00000001h push 00000002h push ecx call SUB_L0049B520 mov edx,[ebp-04h] add esp,00000010h inc edi add ebx,0000003Ch cmp edi,[edx+00000568h] jl L00455972 L004559D3: push esi call SUB_L0049A580 add esp,00000004h L004559DC: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L004559F0: push esi mov esi,[L006BB72C] xor eax,eax test esi,esi jle L00455A19 mov edx,L006BB98C L00455A02: cmp ecx,[edx] jz L00455A12 inc eax add edx,00000004h cmp eax,esi jl L00455A02 xor eax,eax pop esi retn ;------------------------------------------------------------------------------ L00455A12: mov eax,00000001h pop esi retn ;------------------------------------------------------------------------------ L00455A19: xor eax,eax pop esi retn ;------------------------------------------------------------------------------ Align 4 SUB_L00455A20: push ebp mov ebp,esp push FFFFFFFFh push L004B3917 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push esi mov esi,ecx push edi mov [ebp-10h],esi mov dword ptr [esi],L004BAF04 push L007B7E30 mov dword ptr [ebp-04h],00000001h call [KERNEL32.dll!DeleteCriticalSection] mov eax,[esi+000020D0h] push eax call SUB_L0049A810 mov eax,[esi+000020E8h] add esp,00000004h xor edi,edi test eax,eax jle L00455A93 L00455A74: mov ecx,[esi+000020ECh] mov edx,[ecx+edi*4] push edx call SUB_L0049A810 mov eax,[esi+000020E8h] add esp,00000004h inc edi cmp edi,eax jl L00455A74 test eax,eax L00455A93: jz L00455AFE mov eax,[esi+000020ECh] push eax call SUB_L0049A810 mov ecx,[esi+000020F0h] add esp,00000004h push ecx call SUB_L0049A810 mov edx,[esi+000020F4h] add esp,00000004h push edx call SUB_L0049A810 mov eax,[esi+000020F8h] add esp,00000004h push eax call SUB_L0049A810 mov ecx,[esi+000020FCh] add esp,00000004h push ecx call SUB_L0049A810 mov edx,[esi+00002100h] add esp,00000004h push edx call SUB_L0049A810 mov eax,[esi+00002104h] add esp,00000004h push eax call SUB_L0049A810 add esp,00000004h L00455AFE: mov eax,[esi+00002108h] xor edi,edi test eax,eax jle L00455B29 L00455B0A: mov ecx,[esi+0000210Ch] mov edx,[ecx+edi*4] push edx call SUB_L0049A810 mov eax,[esi+00002108h] add esp,00000004h inc edi cmp edi,eax jl L00455B0A test eax,eax L00455B29: jz L00455B3A mov eax,[esi+0000210Ch] push eax call SUB_L0049A810 add esp,00000004h L00455B3A: mov eax,[esi+00002110h] test eax,eax jz L00455B4D push eax call SUB_L0049A810 add esp,00000004h L00455B4D: mov eax,[esi+000022E4h] mov byte ptr [ebp-04h],00h test eax,eax jz L00455BD2 L00455B5B: xor edi,edi test eax,eax jnz L00455B65 xor ebx,ebx jmp L00455BA7 L00455B65: mov ecx,[eax+04h] mov ebx,[eax] test ecx,ecx jz L00455B72 mov [ecx],ebx jmp L00455B78 L00455B72: mov [esi+000022E4h],ebx L00455B78: test ebx,ebx jz L00455B81 mov [ebx+04h],ecx jmp L00455B87 L00455B81: mov [esi+000022E8h],ecx L00455B87: mov edi,[eax+08h] push eax mov dword ptr [eax+08h],00000000h call SUB_L0049A810 mov eax,[esi+000022ECh] add esp,00000004h dec eax mov [esi+000022ECh],eax L00455BA7: test edi,edi jz L00455BCC lea ecx,[edi+14h] mov byte ptr [ebp-04h],03h call SUB_L004823F0 lea ecx,[edi+04h] mov byte ptr [ebp-04h],00h call SUB_L00493CF0 push edi call SUB_L0049A810 add esp,00000004h L00455BCC: test ebx,ebx mov eax,ebx jnz L00455B5B L00455BD2: lea ecx,[esi+00000418h] mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L004823F0 mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L00455C00: push ebp mov ebp,esp push ebx push esi push edi mov edi,ecx call [KERNEL32.dll!GetTickCount] mov esi,eax push 00000000h mov [L0071221C],esi call SUB_L0049C220 mov edx,[L006AAC74] mov [L00712220],eax mov eax,esi add esp,00000004h sub eax,edx cmp eax,0000004Ch jc L00455DBF mov edx,[L006AA90C] mov ecx,esi sub ecx,edx xor ebx,ebx cmp ecx,000003E8h mov [L006AAC74],esi jc L00455CAC mov eax,[L006BB5DC] mov [L006AA90C],esi inc eax cmp eax,00000014h mov [L006BB5DC],eax jl L00455CA3 mov eax,[L006BB5D8] xor esi,esi inc eax mov [L006BB5DC],esi cmp eax,0000003Ch mov [L006BB5D8],eax jl L00455CA5 mov eax,[L006BB5D4] mov [L006BB5D8],esi inc eax cmp eax,00000018h mov [L006BB5D4],eax jl L00455CA5 mov [L006BB5D4],esi mov ebx,00000001h jmp L00455CAE L00455CA3: xor esi,esi L00455CA5: mov ebx,00000001h jmp L00455CAE L00455CAC: xor esi,esi L00455CAE: call [KERNEL32.dll!GetTickCount] mov ecx,eax mov eax,[edi+000022E0h] mov edx,ecx sub edx,eax mov eax,10624DD3h imul edx,[L004C5620] mul edx mov eax,[edi+000022DCh] shr edx,06h sub eax,edx mov [edi+000022DCh],eax jns L00455CE7 mov [edi+000022DCh],esi L00455CE7: mov [edi+000022E0h],ecx mov ecx,edi call SUB_L004586F0 call SUB_L0044DC00 mov ecx,L006BD8E8 call SUB_L00495D90 mov ecx,L006AAA10 call SUB_L00496FC0 mov ecx,L006A9DC0 call SUB_L00450F60 mov ecx,L00669590 call SUB_L00453250 mov ecx,L006A9D38 call SUB_L00460A50 cmp ebx,00000001h jnz L00455D3A mov ecx,L006A9D38 call SUB_L00461C80 L00455D3A: mov ecx,L00669428 call SUB_L004948E0 mov ecx,L00669608 call SUB_L00440120 cmp [ebp+08h],esi jnz L00455D5D mov ecx,L006AAE78 call SUB_L0043BEB0 L00455D5D: mov ecx,L006AAE78 call SUB_L004068F0 cmp [L007121EC],esi jnz L00455D88 cmp [L007121F0],esi jnz L00455D88 mov eax,[L00712220] mov [L007121F4],eax pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ L00455D88: mov eax,[L00712220] mov edi,[L007121F4] mov ecx,eax sub ecx,edi cmp ecx,0000003Ch jle L00455DBF lea edx,[ebp+0Ah] push esi push edx mov ecx,L006BB1C0 mov [L007121F4],eax call SUB_L00475DF0 mov ecx,[L006BB1CC] lea eax,[ebp+0Ah] push eax call SUB_L0048B170 L00455DBF: pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00455DD0: push ebp mov ebp,esp sub esp,000000F8h push 00000000h push L004D77C0 lea eax,[ebp-000000F8h] push 00000043h push eax mov ecx,L006BB1C0 call SUB_L00474260 lea ecx,[ebp-000000F8h] push ecx mov ecx,[L006BB1CC] call SUB_L0048B170 mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 SUB_L00455E10: push ebp mov ebp,esp push esi push edi lea edi,[ecx+000001ECh] or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,L006AA460 shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov al,[L006AA460] test al,al jz L00455E8A mov edi,L006AA460 or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx cmp byte ptr [ecx+L006AA45F],5Ch jz L00455E8A mov edi,[L004C7F30] or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx mov esi,edi mov edx,ecx mov edi,L006AA460 or ecx,FFFFFFFFh repne scasb mov ecx,edx dec edi shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb L00455E8A: mov edi,[ebp+08h] or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx mov esi,edi mov edx,ecx mov edi,L006AA460 or ecx,FFFFFFFFh repne scasb mov ecx,edx dec edi shr ecx,02h rep movsd mov ecx,edx mov eax,L006AA460 and ecx,00000003h rep movsb pop edi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ SUB_L00455EC0: push ebp mov ebp,esp push esi push edi lea edi,[ecx+0000043Ch] or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,L006BD4B8 shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov al,[L006BD4B8] test al,al jz L00455F3A mov edi,L006BD4B8 or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx cmp byte ptr [ecx+L006BD4B7],5Ch jz L00455F3A mov edi,[L004C7F30] or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx mov esi,edi mov edx,ecx mov edi,L006BD4B8 or ecx,FFFFFFFFh repne scasb mov ecx,edx dec edi shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb L00455F3A: mov edi,[ebp+08h] or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx mov esi,edi mov edx,ecx mov edi,L006BD4B8 or ecx,FFFFFFFFh repne scasb mov ecx,edx dec edi shr ecx,02h rep movsd mov ecx,edx mov eax,L006BD4B8 and ecx,00000003h rep movsb pop edi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ SUB_L00455F70: push ebp mov ebp,esp mov eax,[ebp+08h] lea ecx,[eax+08h] cmp ecx,00000023h ja CASE_004560B4_PROC000A xor edx,edx mov dl,[ecx+CASE_004560E0] jmp [CASE_PROCTABLE_004560B4+edx*4] CASE_004560B4_PROC0008: mov ecx,[L0066962C] test ecx,ecx jz L004560AE mov edx,[ecx] push eax call [edx+44h] pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_004560B4_PROC0009: mov ecx,[L005492A4] test ecx,ecx jz L00455FC9 mov ecx,[L006BB5D0] push L004D77C0 push 00000000h call SUB_L00449740 pop ebp retn 0004h ;------------------------------------------------------------------------------ L00455FC9: mov ecx,[L007121C4] test ecx,ecx jz L00455FDC call SUB_L0046E110 pop ebp retn 0004h ;------------------------------------------------------------------------------ L00455FDC: mov ecx,[L0066962C] test ecx,ecx jz L00455FF0 mov edx,[ecx] push eax call [edx+44h] pop ebp retn 0004h ;------------------------------------------------------------------------------ L00455FF0: mov ecx,L00669608 call SUB_L0043F290 pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_004560B4_PROC0007: push 00000000h push 00000007h mov ecx,L00669590 call SUB_L00452ED0 pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_004560B4_PROC0006: push 00000000h push 00000000h mov ecx,L00669590 call SUB_L00452ED0 pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_004560B4_PROC0005: push 00000000h push 00000001h mov ecx,L00669590 call SUB_L00452ED0 pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_004560B4_PROC0004: push 00000000h push 00000006h mov ecx,L00669590 call SUB_L00452ED0 pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_004560B4_PROC0003: push 00000000h push 00000002h mov ecx,L00669590 call SUB_L00452ED0 pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_004560B4_PROC0002: push 00000000h push 00000005h mov ecx,L00669590 call SUB_L00452ED0 pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_004560B4_PROC0001: push 00000000h push 00000004h mov ecx,L00669590 call SUB_L00452ED0 pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_004560B4_PROC0000: push 00000000h push 00000003h mov ecx,L00669590 call SUB_L00452ED0 pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_004560B4_PROC000A: mov ecx,[L0066962C] test ecx,ecx jz L004560A2 mov edx,[ecx] push eax call [edx+44h] pop ebp retn 0004h ;------------------------------------------------------------------------------ L004560A2: mov ecx,[L006BB5D0] push eax call SUB_L00449EE0 L004560AE: pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_004560B4: dd CASE_004560B4_PROC0000 dd CASE_004560B4_PROC0001 dd CASE_004560B4_PROC0002 dd CASE_004560B4_PROC0003 dd CASE_004560B4_PROC0004 dd CASE_004560B4_PROC0005 dd CASE_004560B4_PROC0006 dd CASE_004560B4_PROC0007 dd CASE_004560B4_PROC0008 dd CASE_004560B4_PROC0009 dd CASE_004560B4_PROC000A CASE_004560E0: db 00h, 01h, 02h, 03h, 04h, 05h, 06h, 07h, 0Ah, 0Ah, 0Ah, 0Ah, 0Ah, 0Ah, 0Ah, 0Ah db 0Ah, 08h, 0Ah, 0Ah, 0Ah, 0Ah, 0Ah, 0Ah, 0Ah, 0Ah, 0Ah, 0Ah, 0Ah, 0Ah, 0Ah, 0Ah db 0Ah, 0Ah, 0Ah, 09h Align 16 SUB_L00456110: push esi mov esi,[L00669620] push edi mov edi,ecx test esi,esi jz L0045622B L00456122: cmp edi,00000008h ja L00456216 jmp [CASE_PROCTABLE_00456230+edi*4] CASE_00456230_PROC0000: mov eax,[esi] mov ecx,esi call [eax+000000DCh] test eax,eax jnz L00456226 mov edx,[esi] mov ecx,esi call [edx+000000E0h] test eax,eax jnz L00456226 jmp L00456216 CASE_00456230_PROC0001: mov eax,[esi] mov ecx,esi call [eax+0000008Ch] test eax,eax jz L00456216 mov ecx,[esi+34h] mov eax,[L0073EBE4] cmp ecx,eax jz L00456226 jmp L00456216 CASE_00456230_PROC0002: mov edx,[esi] mov ecx,esi call [edx+000000C8h] test eax,eax jz L00456216 mov eax,[esi+34h] mov ecx,[L0073EBE4] cmp eax,ecx jz L00456226 jmp L00456216 CASE_00456230_PROC0003: mov edx,[esi] mov ecx,esi call [edx+000000B0h] test eax,eax jnz L00456226 jmp L00456216 CASE_00456230_PROC0004: mov eax,[esi] mov ecx,esi call [eax+000000CCh] test eax,eax jnz L00456226 jmp L00456216 CASE_00456230_PROC0005: mov edx,[esi] mov ecx,esi call [edx+000000F4h] test eax,eax jnz L00456226 jmp L00456216 CASE_00456230_PROC0006: mov eax,[esi] mov ecx,esi call [eax+000000A4h] test eax,eax jnz L00456226 jmp L00456216 CASE_00456230_PROC0007: mov edx,[esi] mov ecx,esi call [edx+000000ACh] test eax,eax jz L00456216 mov ecx,[L0073EBE4] mov eax,[esi+34h] cmp eax,[ecx+00000118h] jz L00456226 jmp L00456216 CASE_00456230_PROC0008: mov edx,[esi] mov ecx,esi call [edx+00000134h] test eax,eax jnz L00456226 L00456216: mov esi,[esi+3Ch] test esi,esi jnz L00456122 xor eax,eax pop edi pop esi retn ;------------------------------------------------------------------------------ L00456226: mov eax,esi pop edi pop esi retn ;------------------------------------------------------------------------------ L0045622B: pop edi xor eax,eax pop esi retn ;------------------------------------------------------------------------------ CASE_PROCTABLE_00456230: dd CASE_00456230_PROC0000 dd CASE_00456230_PROC0001 dd CASE_00456230_PROC0002 dd CASE_00456230_PROC0003 dd CASE_00456230_PROC0004 dd CASE_00456230_PROC0005 dd CASE_00456230_PROC0006 dd CASE_00456230_PROC0007 dd CASE_00456230_PROC0008 Align 16 SUB_L00456260: push ebp mov ebp,esp sub esp,00000150h cmp ecx,00000008h ja L00456416 jmp [CASE_PROCTABLE_0045641C+ecx*4] CASE_0045641C_PROC0000: push 00000000h push 00000000h push 00001388h push 00000000h mov ecx,L00669608 call SUB_L00441620 mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ CASE_0045641C_PROC0001: mov eax,[L0073EBE4] lea edx,[ebp-08h] mov ecx,[eax+78h] or ecx,80000000h push ecx push edx mov ecx,L006BB1C0 call SUB_L00473E20 mov ecx,[L006BB1CC] lea eax,[ebp-08h] push eax call SUB_L0048B170 mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ CASE_0045641C_PROC0002: mov ecx,[L0073EBE4] push 00000000h push 00000000h push 00000008h push ecx mov ecx,L00669608 call SUB_L00441620 mov edx,[L0073EBE4] lea ecx,[ebp-18h] mov eax,[edx+78h] push eax push 00000004h push ecx mov ecx,L006BB1C0 call SUB_L00474A00 mov ecx,[L006BB1CC] lea edx,[ebp-18h] push edx call SUB_L0048B170 mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ CASE_0045641C_PROC0003: push 00000000h push 00000000h push 00000007h push 00000000h mov ecx,L00669608 call SUB_L00441620 mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ CASE_0045641C_PROC0004: mov eax,[L0073EBE4] lea edx,[ebp-18h] mov ecx,[eax+78h] push ecx push 00000005h push edx mov ecx,L006BB1C0 call SUB_L00474A00 mov ecx,[L006BB1CC] lea eax,[ebp-18h] push eax call SUB_L0048B170 mov dword ptr [L004D7E08],00000001h mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ CASE_0045641C_PROC0005: push 00000000h push L004D77C0 lea ecx,[ebp-00000150h] push 00000043h push ecx mov ecx,L006BB1C0 call SUB_L00474260 mov ecx,[L006BB1CC] lea edx,[ebp-00000150h] push edx call SUB_L0048B170 mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ CASE_0045641C_PROC0006: mov ecx,[L00669668] test ecx,ecx jz L00456397 push 00000000h call SUB_L00441340 mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00456397: mov eax,[L006BB1CC] test eax,eax jz L00456416 cmp dword ptr [eax+04h],FFFFFFFFh jz L00456416 lea eax,[ebp-58h] push L007B7D28 push eax mov ecx,L006BB1C0 call SUB_L00422880 lea ecx,[ebp-58h] push ecx mov ecx,[L006BB1CC] call SUB_L0048B170 mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ CASE_0045641C_PROC0007: mov edx,[L0073EBE4] mov eax,[edx+00000118h] test eax,eax jz L00456416 mov eax,[eax+78h] lea ecx,[ebp-08h] push eax push ecx mov ecx,L006BB1C0 call SUB_L00473E20 mov ecx,[L006BB1CC] lea edx,[ebp-08h] push edx call SUB_L0048B170 mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ CASE_0045641C_PROC0008: push 00000000h push 00000000h push 00001392h push 00000000h mov ecx,L00669608 call SUB_L00441620 L00456416: mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_0045641C: dd CASE_0045641C_PROC0000 dd CASE_0045641C_PROC0001 dd CASE_0045641C_PROC0002 dd CASE_0045641C_PROC0003 dd CASE_0045641C_PROC0004 dd CASE_0045641C_PROC0005 dd CASE_0045641C_PROC0006 dd CASE_0045641C_PROC0007 dd CASE_0045641C_PROC0008 SUB_L00456440: push ebp mov ebp,esp push FFFFFFFFh push L004B393B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000D54h mov eax,[ecx+000020D0h] push ebx mov [ebp-10h],eax mov eax,[ebp+08h] push esi push edi test eax,eax jle L00456480 L00456471: mov ecx,[ebp-10h] dec eax mov edx,[ecx+000000E0h] mov [ebp-10h],edx jnz L00456471 L00456480: mov esi,[ebp-10h] mov dword ptr [ebp+08h],00000000h mov eax,[esi+14h] test eax,eax jle L0045697D add esi,00000020h or ebx,FFFFFFFFh L0045649B: mov eax,[esi-08h] dec eax cmp eax,00000014h ja L00456965 jmp [CASE_PROCTABLE_00456990+eax*4] CASE_00456990_PROC0000: mov eax,[L005492A0] test eax,eax jz L00456965 mov edx,[esi] push 00000000h jmp L004564F9 CASE_00456990_PROC0001: mov eax,[L005492A0] test eax,eax jz L00456965 mov edx,[esi] push 00000002h jmp L004564F9 CASE_00456990_PROC0002: mov eax,[L005492A0] test eax,eax jz L00456965 mov edx,[esi] push 00000008h jmp L004564F9 CASE_00456990_PROC0003: mov eax,[L005492A0] test eax,eax jz L00456965 mov edx,[esi] push 00000009h L004564F9: mov edi,edx mov ecx,ebx xor eax,eax repne scasb not ecx push ecx push edx mov ecx,L006BB1C8 call SUB_L0048B960 jmp L00456965 CASE_00456990_PROC0004: mov eax,[L005492A0] test eax,eax jz L00456965 mov eax,[esi-04h] push 00000001h push ebx push eax mov ecx,L00669590 call SUB_L00452F30 jmp L00456965 CASE_00456990_PROC0005: mov eax,[L005492A0] test eax,eax jz L00456965 mov ecx,ebx call SUB_L00457900 jmp L00456965 CASE_00456990_PROC0006: call SUB_L00498900 jmp L00456965 CASE_00456990_PROC0007: mov eax,[L005492A0] test eax,eax jz L00456965 mov ecx,[esi-04h] call SUB_L00456260 jmp L00456965 CASE_00456990_PROC0008: mov eax,[L005492A0] test eax,eax jz L00456965 mov ecx,[esi-04h] call SUB_L00456110 test eax,eax jz L00456965 mov edx,[eax] push 00000001h mov ecx,eax call [edx] jmp L00456965 CASE_00456990_PROC0009: mov eax,[L005492A0] test eax,eax jz L00456965 mov ecx,[esi-04h] call SUB_L00456110 test eax,eax jz L00456965 mov ecx,eax call SUB_L0040D6E0 jmp L00456965 CASE_00456990_PROC000A: mov eax,[L005492A0] test eax,eax jz L00456965 mov ecx,[esi-04h] call SUB_L00456110 test eax,eax jz L00456965 mov ecx,eax call SUB_L0040D760 jmp L00456965 CASE_00456990_PROC000B: mov eax,[L005492A0] test eax,eax jz L00456965 push L004D77C0 lea eax,[ebp-00000960h] push L004C9018 push eax call SUB_L0049AC80 mov edi,L004D77C0 mov ecx,ebx xor eax,eax add esp,0000000Ch repne scasb not ecx dec ecx push ecx push L004D77C0 lea ecx,[ebp-00000380h] push 00000058h push ecx mov ecx,L006BB1C0 call SUB_L00474260 mov ecx,[L006BB1CC] lea edx,[ebp-00000380h] push edx call SUB_L0048B170 jmp L00456965 CASE_00456990_PROC000C: mov eax,[L005492A0] test eax,eax jz L00456965 mov eax,[esi-04h] push 00000000h push eax lea ecx,[ebp-00000098h] push SSZ004C44F0__d__d push ecx call SUB_L0049AC80 lea edi,[ebp-00000098h] mov ecx,ebx xor eax,eax add esp,00000010h repne scasb not ecx dec ecx lea edx,[ebp-00000098h] push ecx push edx lea eax,[ebp-00000190h] push 00000024h push eax mov ecx,L006BB1C0 call SUB_L00474260 lea ecx,[ebp-00000190h] push ecx mov ecx,[L006BB1CC] call SUB_L0048B170 jmp L00456965 CASE_00456990_PROC000D: mov eax,[L005492A0] test eax,eax jz L00456965 mov eax,[L004C7F48] cmp eax,ebx jz L00456965 push 00000000h push eax lea edx,[ebp-1Ch] push SSZ004C44F0__d__d push edx call SUB_L0049AC80 lea edi,[ebp-1Ch] mov ecx,ebx xor eax,eax add esp,00000010h repne scasb not ecx dec ecx lea eax,[ebp-1Ch] push ecx push eax lea ecx,[ebp-00000668h] push 00000024h push ecx mov ecx,L006BB1C0 call SUB_L00474260 mov ecx,[L006BB1CC] lea edx,[ebp-00000668h] push edx call SUB_L0048B170 jmp L00456965 CASE_00456990_PROC000E: mov eax,[L005492A0] test eax,eax jz L00456965 mov eax,[esi-04h] lea ecx,[ebp-34h] inc eax push eax push L004C43EC push ecx call SUB_L0049AC80 add esp,0000000Ch lea edx,[ebp-34h] lea eax,[ebp-00000B60h] push edx push L004C9018 push eax call SUB_L0049AC80 lea edi,[ebp-34h] mov ecx,ebx xor eax,eax add esp,0000000Ch repne scasb not ecx dec ecx lea edx,[ebp-00000570h] push ecx lea ecx,[ebp-34h] push ecx push 00000056h push edx mov ecx,L006BB1C0 call SUB_L00474260 mov ecx,[L006BB1CC] lea eax,[ebp-00000570h] push eax call SUB_L0048B170 jmp L00456965 CASE_00456990_PROC000F: mov eax,[L005492A0] test eax,eax jz L00456965 mov eax,[L004C7F44] cmp eax,ebx jz L00456965 inc eax lea ecx,[ebp-48h] push eax push L004C43EC push ecx call SUB_L0049AC80 add esp,0000000Ch lea edx,[ebp-48h] lea eax,[ebp-00000D60h] push edx push L004C9018 push eax call SUB_L0049AC80 lea edi,[ebp-48h] mov ecx,ebx xor eax,eax add esp,0000000Ch repne scasb not ecx dec ecx lea edx,[ebp-00000760h] push ecx lea ecx,[ebp-48h] push ecx push 00000056h push edx mov ecx,L006BB1C0 call SUB_L00474260 mov ecx,[L006BB1CC] lea eax,[ebp-00000760h] push eax call SUB_L0048B170 jmp L00456965 CASE_00456990_PROC0010: mov eax,[L005492A0] test eax,eax jz L00456965 mov eax,[L00712218] test eax,eax jz L00456965 push eax mov ecx,L006A9D38 call SUB_L004616C0 test eax,eax jz L00456965 push eax mov ecx,L006A9D38 call SUB_L004611C0 jmp L00456965 CASE_00456990_PROC0011: mov eax,[L005492A0] test eax,eax jz L00456965 mov edi,L004C9074 mov ecx,ebx xor eax,eax repne scasb not ecx dec ecx push ecx push L004C9074 lea ecx,[ebp-00000288h] push 000000C7h push ecx mov ecx,L006BB1C0 call SUB_L00474260 mov ecx,[L006BB1CC] lea edx,[ebp-00000288h] push edx call SUB_L0048B170 jmp L00456965 CASE_00456990_PROC0012: mov eax,[L005492A0] test eax,eax jz L00456965 mov edi,SSZ004C906C_salute mov ecx,ebx xor eax,eax repne scasb not ecx dec ecx lea eax,[ebp-00000478h] push ecx push SSZ004C906C_salute push 000000C7h push eax mov ecx,L006BB1C0 call SUB_L00474260 lea ecx,[ebp-00000478h] push ecx mov ecx,[L006BB1CC] call SUB_L0048B170 jmp L00456965 CASE_00456990_PROC0013: mov eax,[L005492A0] test eax,eax jz L00456965 mov eax,[L00669630] test eax,eax jnz L00456965 push 000000A4h call SUB_L0049A820 add esp,00000004h mov [ebp-20h],eax test eax,eax mov dword ptr [ebp-04h],00000000h jz L00456946 push 00000000h push L004068E0 push L00410330 push SSZ004C4584_Quit_________Ultima_Online_ mov ecx,eax call SUB_L0041FA10 push 00000001h push 00000000h mov ecx,eax mov [ebp-04h],ebx call SUB_L004415C0 jmp L00456965 L00456946: xor eax,eax push 00000001h push eax mov ecx,eax mov [ebp-04h],ebx call SUB_L004415C0 jmp L00456965 CASE_00456990_PROC0014: mov eax,[L005492A0] test eax,eax jz L00456965 call SUB_L004581A0 L00456965: mov edx,[ebp-10h] mov eax,[ebp+08h] inc eax add esi,00000014h mov ecx,[edx+14h] mov [ebp+08h],eax cmp eax,ecx jl L0045649B L0045697D: mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_PROCTABLE_00456990: dd CASE_00456990_PROC0000 dd CASE_00456990_PROC0001 dd CASE_00456990_PROC0002 dd CASE_00456990_PROC0003 dd CASE_00456990_PROC0004 dd CASE_00456990_PROC0005 dd CASE_00456990_PROC0006 dd CASE_00456990_PROC0007 dd CASE_00456990_PROC0008 dd CASE_00456990_PROC0009 dd CASE_00456990_PROC000A dd CASE_00456990_PROC000B dd CASE_00456990_PROC000C dd CASE_00456990_PROC000D dd CASE_00456990_PROC000E dd CASE_00456990_PROC000F dd CASE_00456990_PROC0010 dd CASE_00456990_PROC0011 dd CASE_00456990_PROC0012 dd CASE_00456990_PROC0013 dd CASE_00456990_PROC0014 Align 16 SUB_L004569F0: push ebp mov ebp,esp mov eax,[ebp+08h] push ebx push esi push edi mov edi,[L004D0220+eax*4] mov ebx,ecx or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx mov edx,ecx mov esi,edi mov edi,ebx shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb mov edi,L004C40E4 or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov esi,edi mov edx,ecx mov edi,ebx or ecx,FFFFFFFFh repne scasb mov ecx,edx dec edi shr ecx,02h rep movsd mov eax,[ebp+08h] mov ecx,edx and ecx,00000003h dec eax cmp eax,0000000Eh rep movsb ja CASE_00456ACC_PROC0005 xor ecx,ecx mov cl,[eax+CASE_00456AE4] jmp [CASE_PROCTABLE_00456ACC+ecx*4] CASE_00456ACC_PROC0000: mov edi,[ebp+10h] jmp L00456A9E CASE_00456ACC_PROC0001: mov eax,[ebp+0Ch] mov edi,[L004C4A80+eax*4] jmp L00456A9E CASE_00456ACC_PROC0002: mov eax,[ebp+0Ch] mov edi,[L004C4AA8+eax*4] jmp L00456A9E CASE_00456ACC_PROC0003: mov eax,[ebp+0Ch] lea edi,[eax+eax*4] shl edi,04h add edi,L00764170 jmp L00456A9E CASE_00456ACC_PROC0004: mov edx,[ebp+0Ch] mov ecx,[L004C7F50+edx*8] call SUB_L00406C50 mov edi,eax L00456A9E: or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx mov esi,edi mov edx,ecx mov edi,ebx or ecx,FFFFFFFFh repne scasb mov ecx,edx dec edi shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb CASE_00456ACC_PROC0005: pop edi pop esi pop ebx pop ebp retn 0014h ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_00456ACC: dd CASE_00456ACC_PROC0000 dd CASE_00456ACC_PROC0001 dd CASE_00456ACC_PROC0002 dd CASE_00456ACC_PROC0003 dd CASE_00456ACC_PROC0004 dd CASE_00456ACC_PROC0005 CASE_00456AE4: db 00h, 00h, 00h, 00h, 01h, 05h, 05h, 02h, 02h, 02h, 02h, 05h, 03h, 05h, 04h Align 16 SUB_L00456B00: push ebp mov ebp,esp sub esp,000000A4h push ebx mov ebx,[ecx+000020D0h] push esi push edi mov edi,L006BB3B4 or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,L006AA460 shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov al,[L006AA460] test al,al jz L00456B86 mov edi,L006AA460 or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx cmp byte ptr [ecx+L006AA45F],5Ch jz L00456B86 mov edi,[L004C7F30] or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx mov esi,edi mov edx,ecx mov edi,L006AA460 or ecx,FFFFFFFFh repne scasb mov ecx,edx dec edi shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb L00456B86: mov edi,SSZ004C909C_macros_txt or ecx,FFFFFFFFh xor eax,eax push L004C9098 repne scasb not ecx sub edi,ecx push L006AA460 mov esi,edi mov edx,ecx mov edi,L006AA460 or ecx,FFFFFFFFh repne scasb mov ecx,edx dec edi shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb call SUB_L0049A7F0 add esp,00000008h mov esi,eax test ebx,ebx mov [ebp-08h],esi jz L00456C84 L00456BD2: mov ecx,[ebx+04h] lea eax,[ebp-24h] push 00000014h and ecx,BFFFFFFFh push eax push ecx call [USER32.dll!GetKeyNameTextA] mov edx,[ebx+10h] mov eax,[ebx+0Ch] mov ecx,[ebx+08h] push edx push eax lea edx,[ebp-24h] push ecx push edx push SSZ004C9088__s__d__d__d_ push esi call SUB_L0049B790 mov eax,[ebx+14h] add esp,00000018h test eax,eax mov dword ptr [ebp-0Ch],00000000h jle L00456C68 lea eax,[ebx+18h] mov [ebp-04h],eax L00456C1A: mov esi,[ebp-04h] sub esp,00000014h mov ecx,00000005h mov edi,esp lea edx,[ebp-000000A4h] rep movsd mov ecx,edx call SUB_L004569F0 mov ecx,[ebp-08h] lea eax,[ebp-000000A4h] push eax push L004C9084 push ecx call SUB_L0049B790 mov eax,[ebp-0Ch] mov edx,[ebp-04h] mov ecx,[ebx+14h] add esp,0000000Ch inc eax add edx,00000014h cmp eax,ecx mov [ebp-0Ch],eax mov [ebp-04h],edx jl L00456C1A mov esi,[ebp-08h] L00456C68: push SSZ004C9078__________ push esi call SUB_L0049B790 mov ebx,[ebx+000000E0h] add esp,00000008h test ebx,ebx jnz L00456BD2 L00456C84: push esi call SUB_L0049A580 add esp,00000004h pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L00456CA0: push ebp mov ebp,esp sub esp,0000008Ch push ebx push esi push edi mov ebx,edx xor esi,esi push L004C40E4 push ecx mov [ebp-0Ch],ebx mov [ebx],esi mov [ebx+04h],esi mov [ebx+08h],esi mov [ebx+0Ch],esi mov [ebx+10h],esi call SUB_L0049B3D0 mov [ebp-04h],eax mov eax,[L004D021C] mov edi,00000001h add esp,00000008h cmp eax,edi jl L00456D31 mov eax,L004D0224 L00456CE5: mov esi,[eax] mov ecx,[ebp-04h] L00456CEA: mov bl,[ecx] mov dl,bl cmp bl,[esi] jnz L00456D0E test dl,dl jz L00456D0A mov bl,[ecx+01h] mov dl,bl cmp bl,[esi+01h] jnz L00456D0E add ecx,00000002h add esi,00000002h test dl,dl jnz L00456CEA L00456D0A: xor ecx,ecx jmp L00456D13 L00456D0E: sbb ecx,ecx sbb ecx,FFFFFFFFh L00456D13: test ecx,ecx jz L00456D2A mov ecx,[L004D021C] inc edi add eax,00000004h cmp edi,ecx jle L00456CE5 mov ebx,[ebp-0Ch] jmp L00456D2F L00456D2A: mov ebx,[ebp-0Ch] mov [ebx],edi L00456D2F: xor esi,esi L00456D31: mov eax,[ebx] cmp eax,esi jz CASE_004571C4_PROC0005 dec eax cmp eax,0000000Eh ja CASE_004571C4_PROC0005 xor ecx,ecx mov cl,[eax+CASE_004571DC] jmp [CASE_PROCTABLE_004571C4+ecx*4] CASE_004571C4_PROC0000: push L004C40E4 push esi call SUB_L0049B3D0 mov edx,eax mov edi,L004D77C0 or ecx,FFFFFFFFh xor eax,eax add esp,00000008h lea esi,[ebp-0000008Ch] repne scasb not ecx sub edi,ecx mov [ebp-04h],esi mov eax,ecx mov esi,edi mov edi,[ebp-04h] shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h test edx,edx rep movsb jz L00456E28 L00456D98: lea edi,[ebp-0000008Ch] or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx jz L00456DDB mov edi,L004C40E4 or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx lea ebx,[ebp-0000008Ch] mov esi,edi mov edi,ebx mov ebx,ecx or ecx,FFFFFFFFh repne scasb mov ecx,ebx dec edi shr ecx,02h rep movsd mov ecx,ebx mov ebx,[ebp-0Ch] and ecx,00000003h rep movsb L00456DDB: mov edi,edx or ecx,FFFFFFFFh xor eax,eax lea esi,[ebp-0000008Ch] repne scasb not ecx mov [ebp-04h],esi sub edi,ecx mov eax,[ebp-04h] mov esi,edi mov edx,ecx mov edi,eax or ecx,FFFFFFFFh xor eax,eax repne scasb mov ecx,edx dec edi shr ecx,02h rep movsd mov ecx,edx push L004C40E4 and ecx,00000003h push eax rep movsb call SUB_L0049B3D0 mov edx,eax add esp,00000008h test edx,edx jnz L00456D98 L00456E28: lea edi,[ebp-0000008Ch] or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx push ecx call SUB_L0049A820 mov edx,eax lea edi,[ebp-0000008Ch] or ecx,FFFFFFFFh xor eax,eax add esp,00000004h mov [ebx+08h],edx repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ CASE_004571C4_PROC0001: push L004C40E4 push esi call SUB_L0049B3D0 add esp,00000008h mov [ebp-04h],eax mov [ebp-08h],esi mov edi,L004C4A80 L00456E88: mov esi,[edi] mov ecx,[ebp-04h] L00456E8D: mov al,[ecx] mov dl,al cmp al,[esi] jnz L00456EB1 test dl,dl jz L00456EAD mov al,[ecx+01h] mov dl,al cmp al,[esi+01h] jnz L00456EB1 add ecx,00000002h add esi,00000002h test dl,dl jnz L00456E8D L00456EAD: xor ecx,ecx jmp L00456EB6 L00456EB1: sbb ecx,ecx sbb ecx,FFFFFFFFh L00456EB6: test ecx,ecx jnz L00456EC0 mov ecx,[ebp-08h] mov [ebx+04h],ecx L00456EC0: mov edx,[ebp-08h] add edi,00000004h inc edx cmp edi,L004C4AA0 mov [ebp-08h],edx jl L00456E88 pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ CASE_004571C4_PROC0002: push L004C40E4 push esi call SUB_L0049B3D0 mov ecx,[L004C4AA8] mov [ebp-04h],eax add esp,00000008h xor eax,eax cmp ecx,esi jz CASE_004571C4_PROC0005 mov ecx,L004C4AA8 mov edi,ecx L00456F01: mov esi,[ecx] mov ecx,[ebp-04h] L00456F06: mov bl,[ecx] mov dl,bl cmp bl,[esi] jnz L00456F2A test dl,dl jz L00456F26 mov bl,[ecx+01h] mov dl,bl cmp bl,[esi+01h] jnz L00456F2A add ecx,00000002h add esi,00000002h test dl,dl jnz L00456F06 L00456F26: xor ecx,ecx jmp L00456F2F L00456F2A: sbb ecx,ecx sbb ecx,FFFFFFFFh L00456F2F: test ecx,ecx jnz L00456F39 mov edx,[ebp-0Ch] mov [edx+04h],eax L00456F39: mov edx,[edi+04h] add edi,00000004h inc eax mov ecx,edi test edx,edx jnz L00456F01 pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ CASE_004571C4_PROC0003: push L004C40E4 push esi call SUB_L0049B3D0 mov edx,eax mov edi,L004D77C0 or ecx,FFFFFFFFh xor eax,eax add esp,00000008h lea ebx,[ebp-0000008Ch] repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,ebx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h test edx,edx rep movsb jz L00457012 L00456F8D: lea edi,[ebp-0000008Ch] or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx jz L00456FCD mov edi,L004C40E4 or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx lea ebx,[ebp-0000008Ch] mov esi,edi mov edi,ebx mov ebx,ecx or ecx,FFFFFFFFh repne scasb mov ecx,ebx dec edi shr ecx,02h rep movsd mov ecx,ebx and ecx,00000003h rep movsb L00456FCD: mov edi,edx or ecx,FFFFFFFFh xor eax,eax lea ebx,[ebp-0000008Ch] repne scasb not ecx sub edi,ecx push L004C40E4 mov esi,edi mov edx,ecx mov edi,ebx or ecx,FFFFFFFFh repne scasb mov ecx,edx dec edi shr ecx,02h rep movsd mov ecx,edx push eax and ecx,00000003h rep movsb call SUB_L0049B3D0 mov edx,eax add esp,00000008h test edx,edx jnz L00456F8D L00457012: mov eax,[L00767188] xor edi,edi test eax,eax jle CASE_004571C4_PROC0005 mov edx,L00764170 L00457026: mov esi,edx lea eax,[ebp-0000008Ch] L0045702E: mov bl,[eax] mov cl,bl cmp bl,[esi] jnz L00457052 test cl,cl jz L0045704E mov bl,[eax+01h] mov cl,bl cmp bl,[esi+01h] jnz L00457052 add eax,00000002h add esi,00000002h test cl,cl jnz L0045702E L0045704E: xor eax,eax jmp L00457057 L00457052: sbb eax,eax sbb eax,FFFFFFFFh L00457057: test eax,eax jnz L00457061 mov eax,[ebp-0Ch] mov [eax+04h],edi L00457061: mov eax,[L00767188] inc edi add edx,00000050h cmp edi,eax jl L00457026 pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ CASE_004571C4_PROC0004: push L004C40E4 push esi call SUB_L0049B3D0 mov edx,eax mov edi,L004D77C0 or ecx,FFFFFFFFh xor eax,eax add esp,00000008h lea ebx,[ebp-0000008Ch] repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,ebx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h test edx,edx rep movsb jz L0045713A L004570B5: lea edi,[ebp-0000008Ch] or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx jz L004570F5 mov edi,L004C40E4 or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx lea ebx,[ebp-0000008Ch] mov esi,edi mov edi,ebx mov ebx,ecx or ecx,FFFFFFFFh repne scasb mov ecx,ebx dec edi shr ecx,02h rep movsd mov ecx,ebx and ecx,00000003h rep movsb L004570F5: mov edi,edx or ecx,FFFFFFFFh xor eax,eax lea ebx,[ebp-0000008Ch] repne scasb not ecx sub edi,ecx push L004C40E4 mov esi,edi mov edx,ecx mov edi,ebx or ecx,FFFFFFFFh repne scasb mov ecx,edx dec edi shr ecx,02h rep movsd mov ecx,edx push eax and ecx,00000003h rep movsb call SUB_L0049B3D0 mov edx,eax add esp,00000008h test edx,edx jnz L004570B5 L0045713A: mov edi,[L004C7F50] or ecx,FFFFFFFFh xor eax,eax mov dword ptr [ebp-08h],00000000h repne scasb not ecx dec ecx jz CASE_004571C4_PROC0005 mov esi,L004C7F50 mov ebx,esi L0045715A: mov edx,[ebp-08h] mov ecx,[esi] call SUB_L00406C50 mov esi,eax lea ecx,[ebp-0000008Ch] L0045716C: mov dl,[ecx] mov al,dl cmp dl,[esi] jnz L00457190 test al,al jz L0045718C mov dl,[ecx+01h] mov al,dl cmp dl,[esi+01h] jnz L00457190 add ecx,00000002h add esi,00000002h test al,al jnz L0045716C L0045718C: xor eax,eax jmp L00457195 L00457190: sbb eax,eax sbb eax,FFFFFFFFh L00457195: test eax,eax jnz L004571A2 mov eax,[ebp-0Ch] mov ecx,[ebp-08h] mov [eax+04h],ecx L004571A2: mov edi,[ebp-08h] add ebx,00000008h inc edi or ecx,FFFFFFFFh mov [ebp-08h],edi mov edi,[ebx] xor eax,eax mov esi,ebx repne scasb not ecx dec ecx jnz L0045715A CASE_004571C4_PROC0005: pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_004571C4: dd CASE_004571C4_PROC0000 dd CASE_004571C4_PROC0001 dd CASE_004571C4_PROC0002 dd CASE_004571C4_PROC0003 dd CASE_004571C4_PROC0004 dd CASE_004571C4_PROC0005 CASE_004571DC: db 00h, 00h, 00h, 00h, 01h, 05h, 05h, 02h, 02h, 02h, 02h, 05h, 03h, 05h, 04h Align 8 SUB_L004571F0: push ebx push esi mov ebx,ecx push edi mov edi,L006BB3B4 or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,L006AA460 shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov al,[L006AA460] test al,al jz L00457269 mov edi,L006AA460 or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx cmp byte ptr [ecx+L006AA45F],5Ch jz L00457269 mov edi,[L004C7F30] or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx mov esi,edi mov edx,ecx mov edi,L006AA460 or ecx,FFFFFFFFh repne scasb mov ecx,edx dec edi shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb L00457269: mov edi,SSZ004C8F50_chardata_mul or ecx,FFFFFFFFh xor eax,eax push L004C61C8 repne scasb not ecx sub edi,ecx push L006AA460 mov esi,edi mov edx,ecx mov edi,L006AA460 or ecx,FFFFFFFFh repne scasb mov ecx,edx dec edi shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb call SUB_L0049A7F0 add esp,00000008h mov esi,eax lea eax,[ebx+000003F4h] push esi push 00000005h push 00000002h push eax call SUB_L0049B520 add esp,00000010h add ebx,000003FEh push esi push 00000005h push 00000002h push ebx call SUB_L0049B520 add esp,00000010h push esi call SUB_L0049A580 add esp,00000004h pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ Align 4 SUB_L004572E0: push ebp mov ebp,esp sub esp,00000020h push ebx xor ebx,ebx mov [ecx+000020D4h],ebx mov eax,[L00767188] push esi cmp eax,ebx push edi mov [ebp-14h],ecx mov [ebp-08h],ebx jz L00457305 call SUB_L004156A0 L00457305: mov edi,L006BB3B4 or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,L006AA460 shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov al,[L006AA460] test al,al jz L00457379 mov edi,L006AA460 or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx cmp byte ptr [ecx+L006AA45F],5Ch jz L00457379 mov edi,[L004C7F30] or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx mov esi,edi mov edx,ecx mov edi,L006AA460 or ecx,FFFFFFFFh repne scasb mov ecx,edx dec edi shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb L00457379: mov edi,SSZ004C90A8_keynames_txt or ecx,FFFFFFFFh xor eax,eax push L004C63C0 repne scasb not ecx sub edi,ecx push L006AA460 mov esi,edi mov edx,ecx mov edi,L006AA460 or ecx,FFFFFFFFh repne scasb mov ecx,edx dec edi shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb call SUB_L0049A7F0 add esp,00000008h cmp eax,ebx mov [ebp-04h],eax jz L00457491 mov dword ptr [ebp-0Ch],L00712228 L004573CA: mov edi,[ebp-04h] xor ebx,ebx mov esi,L006AA910 test byte ptr [edi+0Ch],10h jnz L0045742E L004573DA: push edi call SUB_L0049C070 mov ebx,eax add esp,00000004h cmp ebx,0000000Ah jz L004573FD cmp ebx,0000000Dh jz L004573FD cmp ebx,FFFFFFFFh jz L004573F7 mov [esi],bl inc esi L004573F7: test byte ptr [edi+0Ch],10h jz L004573DA L004573FD: test byte ptr [edi+0Ch],10h jnz L0045742E cmp ebx,0000000Ah jz L0045740D cmp ebx,0000000Dh jnz L0045742E L0045740D: push edi call SUB_L0049C070 add esp,00000004h cmp eax,ebx jz L00457424 cmp eax,0000000Ah jz L0045742E cmp eax,0000000Dh jz L0045742E L00457424: push edi push eax call SUB_L0049BFB0 add esp,00000008h L0045742E: mov edi,L006AA910 or ecx,FFFFFFFFh xor eax,eax mov byte ptr [esi],00h repne scasb not ecx push ecx call SUB_L0049A820 mov edx,eax mov edi,L006AA910 or ecx,FFFFFFFFh xor eax,eax add esp,00000004h mov ebx,[ebp-0Ch] repne scasb not ecx sub edi,ecx mov [ebx],edx mov eax,ecx mov esi,edi mov edi,edx add ebx,00000004h shr ecx,02h rep movsd mov ecx,eax mov [ebp-0Ch],ebx and ecx,00000003h cmp ebx,L0071238C rep movsb jl L004573CA mov ecx,[ebp-04h] push ecx call SUB_L0049A580 add esp,00000004h jmp L0045749F L00457491: mov ecx,00000059h xor eax,eax mov edi,L00712228 rep stosd L0045749F: mov edi,L006BB3B4 or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx mov edx,ecx mov esi,edi mov edi,L006AA460 shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb mov al,[L006AA460] test al,al jz L00457513 mov edi,L006AA460 or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx cmp byte ptr [ecx+L006AA45F],5Ch jz L00457513 mov edi,[L004C7F30] or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx mov esi,edi mov edx,ecx mov edi,L006AA460 or ecx,FFFFFFFFh repne scasb mov ecx,edx dec edi shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb L00457513: mov edi,SSZ004C909C_macros_txt or ecx,FFFFFFFFh xor eax,eax push L004C63C0 repne scasb not ecx sub edi,ecx push L006AA460 mov esi,edi mov edx,ecx mov edi,L006AA460 or ecx,FFFFFFFFh repne scasb mov ecx,edx dec edi shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb call SUB_L0049A7F0 mov ecx,eax add esp,00000008h test ecx,ecx mov [ebp-04h],ecx jz L004578BA mov eax,[ecx+0Ch] and eax,00000010h jnz L004578B1 L0045756B: mov esi,[ebp-04h] xor ebx,ebx test eax,eax mov edi,L006AA910 jnz L0045759C L00457579: push esi call SUB_L0049C070 mov ebx,eax add esp,00000004h cmp ebx,0000000Ah jz L0045759C cmp ebx,0000000Dh jz L0045759C cmp ebx,FFFFFFFFh jz L00457596 mov [edi],bl inc edi L00457596: test byte ptr [esi+0Ch],10h jz L00457579 L0045759C: test byte ptr [esi+0Ch],10h jnz L004575CD cmp ebx,0000000Ah jz L004575AC cmp ebx,0000000Dh jnz L004575CD L004575AC: push esi call SUB_L0049C070 add esp,00000004h cmp eax,ebx jz L004575C3 cmp eax,0000000Ah jz L004575CD cmp eax,0000000Dh jz L004575CD L004575C3: push esi push eax call SUB_L0049BFB0 add esp,00000008h L004575CD: mov byte ptr [edi],00h mov edi,L006AA910 or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx jz L004578A0 mov edi,L006AA910 or ecx,FFFFFFFFh repne scasb not ecx lea esi,[ecx+L006AA90E] mov ecx,00000003h L004575FC: mov al,[esi] cmp al,30h jz L0045760E L00457602: cmp al,31h jz L0045760E mov al,[esi-01h] dec esi cmp al,30h jnz L00457602 L0045760E: dec esi dec ecx jnz L004575FC mov byte ptr [esi],00h inc esi xor ebx,ebx mov ecx,L00712228 mov [ebp-10h],ebx mov [ebp-0Ch],ecx L00457623: mov eax,[ecx] test eax,eax jz L0045765E mov edi,L006AA910 L0045762E: mov dl,[eax] mov cl,dl cmp dl,[edi] jnz L00457652 test cl,cl jz L0045764E mov dl,[eax+01h] mov cl,dl cmp dl,[edi+01h] jnz L00457652 add eax,00000002h add edi,00000002h test cl,cl jnz L0045762E L0045764E: xor eax,eax jmp L00457657 L00457652: sbb eax,eax sbb eax,FFFFFFFFh L00457657: test eax,eax jz L00457675 mov ecx,[ebp-0Ch] L0045765E: add ecx,00000004h inc ebx cmp ecx,L0071238C mov [ebp-0Ch],ecx jl L00457623 mov edi,[ebp-08h] mov eax,[ebp-10h] jmp L004576CC L00457675: push 000000E4h call SUB_L0049A820 add esp,00000004h mov edi,eax push 00000001h push ebx call [USER32.dll!MapVirtualKeyA] mov [edi],eax mov eax,[ebp-08h] shl ebx,10h test eax,eax mov [edi+04h],ebx mov dword ptr [edi+000000E0h],00000000h jnz L004576AE mov [L006BD298],edi jmp L004576B4 L004576AE: mov [eax+000000E0h],edi L004576B4: mov eax,[ebp-14h] mov [ebp-08h],edi mov ecx,[eax+000020D4h] inc ecx mov [eax+000020D4h],ecx mov eax,00000001h L004576CC: test eax,eax jz L00457820 push L004C40E4 push esi call SUB_L0049B3D0 add esp,00000008h lea ecx,[ebp-18h] push ecx push L004C43EC push eax call SUB_L0049BA20 add esp,0000000Ch push L004C40E4 push 00000000h call SUB_L0049B3D0 add esp,00000008h lea edx,[ebp-1Ch] push edx push L004C43EC push eax call SUB_L0049BA20 add esp,0000000Ch push L004C40E4 push 00000000h call SUB_L0049B3D0 add esp,00000008h lea ecx,[ebp-20h] push ecx push L004C43EC push eax call SUB_L0049BA20 mov ebx,[ebp-18h] add esp,0000000Ch xor edx,edx test ebx,ebx setnz dl mov [edi+08h],edx mov esi,[ebp-1Ch] xor eax,eax test esi,esi setnz al mov [edi+0Ch],eax mov edx,[ebp-20h] xor ecx,ecx mov dword ptr [edi+14h],00000000h test edx,edx mov edx,[ebp-04h] setnz cl mov [edi+10h],ecx mov eax,[edx+0Ch] and eax,00000010h jnz L004578A0 L00457773: cmp byte ptr [L006AA910],23h jz L004578A0 mov esi,[ebp-04h] xor ebx,ebx test eax,eax mov edi,L006AA910 jnz L004577B1 L0045778E: push esi call SUB_L0049C070 mov ebx,eax add esp,00000004h cmp ebx,0000000Ah jz L004577B1 cmp ebx,0000000Dh jz L004577B1 cmp ebx,FFFFFFFFh jz L004577AB mov [edi],bl inc edi L004577AB: test byte ptr [esi+0Ch],10h jz L0045778E L004577B1: test byte ptr [esi+0Ch],10h jnz L004577E2 cmp ebx,0000000Ah jz L004577C1 cmp ebx,0000000Dh jnz L004577E2 L004577C1: push esi call SUB_L0049C070 add esp,00000004h cmp eax,ebx jz L004577D8 cmp eax,0000000Ah jz L004577E2 cmp eax,0000000Dh jz L004577E2 L004577D8: push esi push eax call SUB_L0049BFB0 add esp,00000008h L004577E2: mov byte ptr [edi],00h mov al,[esi+0Ch] test al,10h jnz L0045780F cmp byte ptr [L006AA910],23h jz L0045780F mov edi,[ebp-08h] mov ecx,L006AA910 mov eax,[edi+14h] lea eax,[eax+eax*4] lea edx,[edi+eax*4+18h] call SUB_L00456CA0 inc [edi+14h] L0045780F: mov eax,[esi+0Ch] and eax,00000010h jz L00457773 jmp L004578A0 L00457820: mov ecx,[ebp-04h] mov eax,[ecx+0Ch] and eax,00000010h jnz L004578A0 mov esi,ecx L0045782D: cmp byte ptr [L006AA910],23h jz L004578A0 xor ebx,ebx mov edi,L006AA910 test eax,eax jnz L00457864 L00457841: push esi call SUB_L0049C070 mov ebx,eax add esp,00000004h cmp ebx,0000000Ah jz L00457864 cmp ebx,0000000Dh jz L00457864 cmp ebx,FFFFFFFFh jz L0045785E mov [edi],bl inc edi L0045785E: test byte ptr [esi+0Ch],10h jz L00457841 L00457864: test byte ptr [esi+0Ch],10h jnz L00457895 cmp ebx,0000000Ah jz L00457874 cmp ebx,0000000Dh jnz L00457895 L00457874: push esi call SUB_L0049C070 add esp,00000004h cmp eax,ebx jz L0045788B cmp eax,0000000Ah jz L00457895 cmp eax,0000000Dh jz L00457895 L0045788B: push esi push eax call SUB_L0049BFB0 add esp,00000008h L00457895: mov byte ptr [edi],00h mov eax,[esi+0Ch] and eax,00000010h jz L0045782D L004578A0: mov edx,[ebp-04h] mov eax,[edx+0Ch] and eax,00000010h jz L0045756B mov ecx,edx L004578B1: push ecx call SUB_L0049A580 add esp,00000004h L004578BA: pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L004578D0: mov eax,[L004D77B8] test eax,eax jz L004578FC mov ax,[L006BB5B6] mov cx,[L006BB5B4] push eax mov eax,[L006BB5D0] push ecx mov ecx,[eax+0000011Ch] lea edx,[eax+0Ch] push edx call SUB_L004025A0 L004578FC: retn ;------------------------------------------------------------------------------ Align 4 SUB_L00457900: push ebp mov ebp,esp sub esp,00000008h push esi mov esi,ecx mov ecx,[L0073EBE4] mov eax,[ecx] call [eax+00000090h] test eax,eax jz L0045793A lea ecx,[ebp-02h] push 00000000h push ecx mov ecx,L006BB1C0 call SUB_L00474B20 mov ecx,[L006BB1CC] lea edx,[ebp-02h] push edx call SUB_L0048B170 L0045793A: cmp esi,FFFFFFFFh jz L00457943 mov eax,esi jmp L00457956 L00457943: mov ecx,[L0073EBE4] xor eax,eax mov edx,[ecx+00000150h] test edx,edx setz al L00457956: mov dl,[L006BD2AC] mov cl,[L006BD2A8] push edx mov dl,[L006BD2A4] push ecx push edx mov [L004C8404],eax push eax lea eax,[ebp-08h] mov ecx,L006BB1C0 push eax call SUB_L004759A0 lea ecx,[ebp-08h] push ecx mov ecx,[L006BB1CC] call SUB_L0048B170 mov ecx,L00712190 call SUB_L00427AA0 mov eax,[L006BAE80] mov ecx,[eax+000000D4h] test ecx,ecx jz L004579B6 mov dword ptr [eax+000000D4h],00000000h call SUB_L00430E30 L004579B6: pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 SUB_L004579C0: push ebp mov ebp,esp push ecx mov eax,[L004C8404] push ebx push esi push edi mov edi,ecx cmp edi,eax mov [ebp-04h],edi jnz L004579DF mov dword ptr [L004C8404],FFFFFFFFh L004579DF: mov ecx,[L0073EBE4] mov esi,[ecx+1Ch] test esi,esi jz L004579F7 mov eax,[ecx] call [eax+14h] mov ecx,[L0073EBE4] L004579F7: test esi,esi mov [ecx+00000150h],edi jz L00457A0C mov ecx,[L0073EBE4] mov edx,[ecx] call [edx+10h] L00457A0C: mov esi,[L00669620] test esi,esi jz L00457AC8 mov ebx,000007E6h mov edi,000007E7h L00457A24: mov eax,[esi] mov ecx,esi call [eax+000000C8h] test eax,eax jz L00457A4D mov ecx,[esi+34h] mov eax,[L0073EBE4] cmp ecx,eax jnz L00457A4D push 00000001h push 00000001h push 00000001h push 00000001h mov ecx,esi call SUB_L0047A030 L00457A4D: mov edx,[esi] mov ecx,esi call [edx+0000008Ch] test eax,eax jz L00457ABD mov eax,[esi+34h] mov ecx,[L0073EBE4] cmp eax,ecx jnz L00457ABD mov eax,[ebp-04h] mov ecx,[esi+00000098h] test eax,eax jz L00457A9E mov dword ptr [ecx+50h],000007E8h mov edx,[esi+00000098h] mov dword ptr [edx+000000A0h],000007E9h mov eax,[esi+00000098h] mov dword ptr [eax+000000A4h],000007EAh jmp L00457ABD L00457A9E: mov dword ptr [ecx+50h],000007E5h mov edx,[esi+00000098h] mov [edx+000000A0h],ebx mov eax,[esi+00000098h] mov [eax+000000A4h],edi L00457ABD: mov esi,[esi+3Ch] test esi,esi jnz L00457A24 L00457AC8: pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 4 SUB_L00457AD0: push ebp mov ebp,esp sub esp,000002F8h push ebx push esi mov esi,edx push edi push esi lea eax,[ebp-000002F8h] push L004C9018 mov ebx,ecx push eax call SUB_L0049AC80 mov edi,esi or ecx,FFFFFFFFh xor eax,eax add esp,0000000Ch repne scasb not ecx dec ecx push ecx push esi lea ecx,[ebp-000000F8h] push ebx push ecx mov ecx,L006BB1C0 call SUB_L00474260 mov ecx,[L006BB1CC] lea edx,[ebp-000000F8h] push edx call SUB_L0048B170 pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 4 SUB_L00457B30: push ebp mov ebp,esp sub esp,000002F8h mov eax,[L007121C8] push esi sub eax,00000000h push edi mov esi,ecx mov dword ptr [L007121D4],00000000h jz L00457C56 dec eax jz L00457BDD dec eax jnz L00457CE1 test esi,esi jz L00457CE1 mov eax,[esi] call [eax+24h] test eax,eax jz L00457CE1 mov eax,[L007121D8] test eax,eax jz L00457B9F mov ecx,[esi+78h] lea edx,[ebp-000002F8h] push ecx push eax push SSZ004C44F0__d__d push edx call SUB_L0049AC80 add esp,00000010h jmp L00457C74 L00457B9F: mov eax,[esi+78h] mov ecx,[L007121C0] push eax push ecx lea edx,[ebp-000002F8h] push SSZ004C759C__s__d push edx call SUB_L0049AC80 lea edi,[ebp-000002F8h] or ecx,FFFFFFFFh xor eax,eax add esp,00000010h repne scasb not ecx dec ecx lea eax,[ebp-000002F8h] push ecx push eax push 00000027h jmp L00457C8E L00457BDD: test esi,esi jz L00457CE1 mov eax,[L007121D8] test eax,eax jz L00457C14 movsx ecx,[esi+24h] movsx edx,[esi+22h] push ecx push edx movsx ecx,[esi+20h] push ecx push eax lea edx,[ebp-000002F8h] push SSZ004C69EC__d__d__d__d push edx call SUB_L0049AC80 add esp,00000018h jmp L00457C74 L00457C14: movsx eax,[esi+24h] movsx ecx,[esi+22h] movsx edx,[esi+20h] push eax mov eax,[L007121C0] push ecx push edx push eax lea ecx,[ebp-000002F8h] push SSZ004C90B8__s__d__d__d push ecx call SUB_L0049AC80 lea edi,[ebp-000002F8h] or ecx,FFFFFFFFh xor eax,eax add esp,00000018h repne scasb not ecx dec ecx lea edx,[ebp-000002F8h] push ecx jmp L00457CBB L00457C56: mov eax,[L007121D8] test eax,eax jz L00457CA8 push eax lea edx,[ebp-000002F8h] push L004C43EC push edx call SUB_L0049AC80 add esp,0000000Ch L00457C74: lea edi,[ebp-000002F8h] or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx lea eax,[ebp-000002F8h] push ecx push eax push 0000002Fh L00457C8E: lea ecx,[ebp-000000F8h] push ecx mov ecx,L006BB1C0 call SUB_L00474260 lea edx,[ebp-000000F8h] push edx jmp L00457CD6 L00457CA8: mov edx,[L007121C0] or ecx,FFFFFFFFh mov edi,edx xor eax,eax repne scasb not ecx dec ecx push ecx L00457CBB: push edx lea eax,[ebp-000000F8h] push 00000027h push eax mov ecx,L006BB1C0 call SUB_L00474260 lea ecx,[ebp-000000F8h] push ecx L00457CD6: mov ecx,[L006BB1CC] call SUB_L0048B170 L00457CE1: push 00000011h mov ecx,L006A9DC0 mov dword ptr [L007121C4],00000000h call SUB_L00450120 pop edi pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 4 SUB_L00457D00: push ebp mov ebp,esp mov eax,edx mov [L007121C0],ecx mov ecx,[ebp+08h] mov [L007121C8],eax sub eax,00000000h mov [L007121D8],ecx jz L00457D54 dec eax jz L00457D24 dec eax jnz L00457D5B L00457D24: push 00000027h mov ecx,L006BB1C8 call SUB_L0049A010 mov ecx,L006A9DC0 mov dword ptr [L007121C4],00000001h push 00000013h call SUB_L00450120 mov dword ptr [L007121D4],L00457B30 pop ebp retn 0004h ;------------------------------------------------------------------------------ L00457D54: xor ecx,ecx call SUB_L00457B30 L00457D5B: pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L00457D60: mov ecx,[L0073EBE4] xor eax,eax cmp ecx,eax mov [L0073EA7C],eax mov [L0073EA80],eax jz L00457D7C mov [ecx+0000009Ch],eax L00457D7C: mov ecx,L006A9D38 mov [L0073EA78],eax mov [L0073EA74],eax mov [L0073EA70],eax call SUB_L0045F950 mov ecx,L006AAA98 call SUB_L0044ED00 mov ecx,L00669590 jmp L00452340 Align 8 SUB_L00457DB0: push ebp mov ebp,esp sub esp,00000014h mov eax,[L007121B8] xor edx,edx cmp eax,edx mov [L007121EC],edx mov [L007121F0],edx jz L00457DE2 mov [L00712200],eax mov ax,[L007121BC] mov [L00712204],ax mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00457DE2: cmp ecx,edx jnz L00457E33 mov ecx,[L004C7F3C] cmp ecx,edx jl L00457EAE mov eax,[L006BDA18+ecx*4] cmp eax,edx jz L00457E17 mov cx,[L00669580+ecx*2] mov [L00712200],eax mov [L00712204],cx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00457E17: mov ecx,[L006BD8B8+ecx*4] lea edx,[ebp-14h] lea eax,[ebp-10h] push edx push eax lea edx,[ebp-0Ch] lea eax,[ebp-08h] push edx push eax lea edx,[ebp-04h] jmp L00457E79 L00457E33: mov ecx,[L004C7F40] cmp ecx,edx jl L00457EAE mov eax,[L00712198+ecx*4] cmp eax,edx jz L00457E5F mov [L00712200],eax mov ax,[L006BD8D8+ecx*2] mov [L00712204],ax mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00457E5F: mov ecx,[L00669C68+ecx*4] lea edx,[ebp-14h] lea eax,[ebp-10h] push edx push eax lea edx,[ebp-0Ch] lea eax,[ebp-08h] push edx push eax lea edx,[ebp-04h] L00457E79: call SUB_L00427FC0 mov ecx,[ebp-04h] mov eax,[ebp-08h] shl ecx,08h or ecx,eax mov eax,[ebp-0Ch] mov dx,[ebp-14h] shl ecx,08h or ecx,eax mov eax,[ebp-10h] shl ecx,08h or ecx,eax mov [L00712204],dx mov [L00712200],ecx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00457EAE: mov dword ptr [L007121E4],00000001h mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 SUB_L00457EC0: push ebp mov ebp,esp push FFFFFFFFh push L004B395B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000050h push esi push edi mov edi,ecx mov esi,edx mov ecx,[L00669670] test ecx,ecx jz L00457EF1 mov eax,[ecx] push 00000001h call [eax] L00457EF1: push 000002B0h call SUB_L0049A820 add esp,00000004h mov [ebp-10h],eax test eax,eax mov dword ptr [ebp-04h],00000000h jz L00457F2D mov ecx,[L00669644] push 00000000h push 00000000h push 00000001h push 00000001h push ecx push SSZ004C90C4_Entering_Britannia____ push FFFFFFFFh push FFFFFFFFh mov ecx,eax call SUB_L00443490 jmp L00457F2F L00457F2D: xor eax,eax L00457F2F: mov [L00669670],eax mov edx,[eax+44h] push 00000001h push 00000000h mov dword ptr [edx+68h],00000000h mov ecx,[L00669670] mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L004415C0 mov eax,[ebp+08h] lea ecx,[ebp-5Ch] push eax push esi push edi push ecx mov ecx,L006BB1C0 call SUB_L004747B0 mov ecx,[L006BB1CC] lea edx,[ebp-5Ch] push edx call SUB_L0048B170 mov ecx,[ebp-0Ch] pop edi mov fs:[00000000h],ecx pop esi mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 8 SUB_L00457F90: push ebp mov ebp,esp push FFFFFFFFh push L004B397B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,0000006Ch mov ecx,[L00669670] test ecx,ecx jz L00457FBB mov eax,[ecx] push 00000001h call [eax] L00457FBB: push 000002B0h call SUB_L0049A820 add esp,00000004h mov [ebp-10h],eax test eax,eax mov dword ptr [ebp-04h],00000000h jz L00457FF7 mov ecx,[L0066965C] push 00000000h push 00000000h push 00000001h push 00000001h push ecx push SSZ004C90DC_Creating_character____ push FFFFFFFFh push FFFFFFFFh mov ecx,eax call SUB_L00443490 jmp L00457FF9 L00457FF7: xor eax,eax L00457FF9: mov [L00669670],eax mov edx,[eax+44h] push 00000001h push 00000000h mov dword ptr [edx+68h],00000000h mov ecx,[L00669670] mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L004415C0 mov eax,[L006BD428] mov cl,[L006BB3AC] mov dl,[L006BB3A8] push eax mov al,[L006BB3A7] push ecx mov cl,[L006BB3A6] push edx mov dl,[L006BB3A5] push eax mov al,[L006BB3A4] push ecx mov cl,[L006BB3A3] push edx mov dl,[L006BB3A2] push eax mov ax,[L006BB39E] push ecx mov cx,[L006BB3A0] push edx mov dx,[L006BB39A] push eax mov ax,[L006BB398] push ecx mov cx,[L006BB39C] push edx mov dl,[L006BB396] push eax mov al,[L006BB395] push ecx mov cl,[L006BB394] push edx mov dl,[L006BB391] push eax push ecx push edx push L006BB354 lea eax,[ebp-78h] push L006BB372 push eax mov ecx,L006BB1C0 call SUB_L004744F0 lea ecx,[ebp-78h] push ecx mov ecx,[L006BB1CC] call SUB_L0048B170 mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ SUB_L004580D0: push ebp mov ebp,esp push FFFFFFFFh push L004B399B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000044h push esi push edi mov edi,ecx mov esi,edx mov ecx,[L00669670] test ecx,ecx jz L00458101 mov eax,[ecx] push 00000001h call [eax] L00458101: push 000002B0h call SUB_L0049A820 add esp,00000004h mov [ebp-10h],eax test eax,eax mov dword ptr [ebp-04h],00000000h jz L0045813D mov ecx,[L00669648] push 00000000h push 00000000h push 00000001h push 00000001h push ecx push SSZ004C90F4_Verifying_Account____ push FFFFFFFFh push FFFFFFFFh mov ecx,eax call SUB_L00443490 jmp L0045813F L0045813D: xor eax,eax L0045813F: mov [L00669670],eax mov edx,[eax+44h] push 00000001h push 00000000h mov dword ptr [edx+68h],00000000h mov ecx,[L00669670] mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L004415C0 mov eax,[ebp+08h] lea ecx,[ebp-50h] push eax push esi push edi push ecx mov ecx,L006BB1C0 call SUB_L00476250 mov ecx,[L006BB1CC] lea edx,[ebp-50h] push edx call SUB_L0048B170 mov ecx,[ebp-0Ch] pop edi mov fs:[00000000h],ecx pop esi mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 8 SUB_L004581A0: push ebp mov ebp,esp sub esp,00000008h push ebx push esi mov esi,[L006A9D64] push edi test esi,esi jz L00458231 mov eax,[L004DAF40] mov ecx,[L004DAF44] mov bl,80h L004581C0: test [esi+00000098h],bl jnz L00458227 cmp word ptr [esi+38h],0000h jz L00458227 cmp esi,[L0073EBE4] jz L00458227 cmp [esi+0Ch],eax jl L00458227 mov edi,[esi+04h] lea edx,[eax+00000280h] cmp edi,edx jg L00458227 cmp [esi+10h],ecx jl L00458227 mov edi,[esi+08h] lea edx,[ecx+000001E0h] cmp edi,edx jg L00458227 mov eax,[esi+78h] lea ecx,[ebp-08h] push eax push ecx mov ecx,L006BB1C0 call SUB_L00474350 mov ecx,[L006BB1CC] lea edx,[ebp-08h] push edx call SUB_L0048B170 mov eax,[L004DAF40] mov ecx,[L004DAF44] L00458227: mov esi,[esi+000000BCh] test esi,esi jnz L004581C0 L00458231: mov esi,[L006A9D5C] test esi,esi jz L004582A1 L0045823B: mov eax,[esi] mov ecx,esi call [eax+54h] test eax,eax jz L00458297 mov eax,[L004DAF40] mov ecx,[esi+0Ch] cmp ecx,eax jl L00458297 mov ecx,[esi+04h] add eax,00000280h cmp ecx,eax jg L00458297 mov eax,[L004DAF44] mov ecx,[esi+10h] cmp ecx,eax jl L00458297 mov ecx,[esi+08h] add eax,000001E0h cmp ecx,eax jg L00458297 mov ecx,[esi+78h] lea edx,[ebp-08h] push ecx push edx mov ecx,L006BB1C0 call SUB_L00474350 mov ecx,[L006BB1CC] lea eax,[ebp-08h] push eax call SUB_L0048B170 L00458297: mov esi,[esi+00000080h] test esi,esi jnz L0045823B L004582A1: pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L004582B0: mov ecx,[L006BB1CC] push ebx mov eax,00000001h push esi push edi mov [L0071238C],eax mov edx,[ecx+04h] or edi,FFFFFFFFh cmp edx,edi jnz L0045846A call [KERNEL32.dll!GetTickCount] push eax call SUB_L0049C1E0 mov eax,[L00712210] xor ebx,ebx add esp,00000004h cmp eax,ebx mov esi,eax jz L00458302 mov edi,eax call SUB_L0049C1F0 cdq idiv edi or edi,FFFFFFFFh mov [L004C7F3C],edx jmp L00458308 L00458302: mov [L004C7F3C],ebx L00458308: xor ecx,ecx call SUB_L00457DB0 mov dx,[L00712204] mov eax,[L00712200] mov ecx,[L006BB1CC] push edx push eax call SUB_L004896E0 cmp eax,ebx jnz L0045837F L0045832C: mov eax,[L004C7F3C] cmp eax,ebx jl L0045834B mov ecx,[L00712210] inc eax cmp eax,ecx mov [L004C7F3C],eax jnz L0045834B mov [L004C7F3C],ebx L0045834B: mov ecx,[L006BB1CC] dec esi cmp [ecx+04h],edi jnz L0045837F cmp esi,ebx jz L0045837F xor ecx,ecx call SUB_L00457DB0 mov dx,[L00712204] mov eax,[L00712200] mov ecx,[L006BB1CC] push edx push eax call SUB_L004896E0 cmp eax,ebx jz L0045832C L0045837F: mov esi,[L00712210] cmp esi,ebx jz L00458399 call SUB_L0049C1F0 cdq idiv esi mov [L004C7F3C],edx jmp L0045839F L00458399: mov [L004C7F3C],ebx L0045839F: mov ecx,[L006BB1CC] cmp [ecx+04h],edi jnz L0045844E mov eax,[L00712214] cmp eax,ebx mov edi,eax jz L0045844B mov esi,eax call SUB_L0049C1F0 cdq idiv esi mov ecx,00000001h mov [L004C7F40],edx call SUB_L00457DB0 mov dx,[L00712204] mov eax,[L00712200] mov ecx,[L006BB1CC] push edx push eax call SUB_L004896E0 cmp eax,ebx jnz L0045844B L004583F4: mov eax,[L004C7F40] cmp eax,ebx jl L00458413 mov ecx,[L00712214] inc eax cmp eax,ecx mov [L004C7F40],eax jnz L00458413 mov [L004C7F40],ebx L00458413: mov ecx,[L006BB1CC] dec edi cmp dword ptr [ecx+04h],FFFFFFFFh jnz L0045844B cmp edi,ebx jz L0045844B mov ecx,00000001h call SUB_L00457DB0 mov dx,[L00712204] mov eax,[L00712200] mov ecx,[L006BB1CC] push edx push eax call SUB_L004896E0 cmp eax,ebx jz L004583F4 L0045844B: or edi,FFFFFFFFh L0045844E: mov ecx,[L006BB1CC] cmp [ecx+04h],edi jnz L00458465 mov [L0071238C],ebx xor eax,eax pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ L00458465: mov eax,00000001h L0045846A: pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ Align 4 SUB_L00458470: mov ecx,[L004C7F38] push edi imul ecx,[L004C7F34] mov edi,[L006BAE7C] xor eax,eax shl ecx,1 mov edx,ecx shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb pop edi retn ;------------------------------------------------------------------------------ Align 16 SUB_L004584A0: push ebp mov ebp,esp sub esp,00000008h mov edx,[L0073EA70] push ebx mov ebx,[L007B7E14] push esi mov esi,[L004C7F38] push edi imul esi,[L004C7F34] mov [ebp-04h],ebx mov dword ptr [ebp-08h],000001E0h L004584CC: lea eax,[edx+00000280h] cmp eax,esi jle L00458512 mov ecx,esi lea edi,[ebx+edx*2] sub ecx,edx xor eax,eax shl ecx,1 mov ebx,ecx shr ecx,02h rep stosd mov ecx,ebx and ecx,00000003h rep stosb mov ecx,edx mov edi,[ebp-04h] sub ecx,esi xor eax,eax lea ecx,[ecx+ecx+00000500h] mov ebx,ecx shr ecx,02h rep stosd mov ecx,ebx mov ebx,[ebp-04h] and ecx,00000003h rep stosb jmp L0045851E L00458512: mov ecx,00000140h xor eax,eax lea edi,[ebx+edx*2] rep stosd L0045851E: add edx,[L004C7F34] cmp edx,esi jle L0045852A sub edx,esi L0045852A: mov eax,[ebp-08h] dec eax mov [ebp-08h],eax jnz L004584CC pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 SUB_L00458540: push ebp mov ebp,esp mov ecx,[ecx+000022DCh] mov edx,[L004C5620] xor eax,eax cmp ecx,edx setl al pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 8 SUB_L00458560: push ebp mov ebp,esp mov eax,[ebp+08h] mov edx,[ecx+000022DCh] add edx,eax mov [ecx+000022DCh],edx pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00458580: push ebp mov ebp,esp push FFFFFFFFh push L004B39D1 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push esi push edi mov edi,ecx push 0000002Ch call SUB_L0049A820 mov esi,eax add esp,00000004h mov [ebp-10h],esi xor eax,eax cmp esi,eax mov [ebp-04h],eax jz L004585D1 lea ecx,[esi+04h] call SUB_L00493C60 lea ecx,[esi+14h] mov byte ptr [ebp-04h],01h call SUB_L004823D0 mov ebx,esi mov [ebp-10h],ebx jmp L004585D6 L004585D1: mov [ebp-10h],eax mov ebx,eax L004585D6: mov eax,[ebp+08h] lea ecx,[ebx+14h] push eax mov dword ptr [ebp-04h],FFFFFFFFh mov dword ptr [ebx],00000000h call SUB_L004825B0 mov ecx,[ebp+0Ch] mov edx,[ebp+10h] mov [ebx+24h],ecx mov [ebx+28h],edx mov esi,[edi+000022E8h] test esi,esi jz L00458664 jnz L0045860E xor eax,eax jmp L00458699 L0045860E: mov ebx,[esi] push 0000000Ch call SUB_L0049A820 xor ecx,ecx add esp,00000004h cmp eax,ecx jz L0045862A mov [eax],ecx mov [eax+04h],ecx mov [eax+08h],ecx jmp L0045862C L0045862A: xor eax,eax L0045862C: mov [eax],ebx mov [eax+04h],esi cmp ebx,ecx mov [esi],eax jz L0045863C mov [ebx+04h],eax jmp L00458652 L0045863C: mov edx,[edi+000022E4h] mov [edi+000022E8h],eax cmp edx,ecx jnz L00458652 mov [edi+000022E4h],eax L00458652: mov ecx,[edi+000022ECh] mov ebx,[ebp-10h] inc ecx mov [edi+000022ECh],ecx jmp L00458699 L00458664: push 0000000Ch call SUB_L0049A820 xor ecx,ecx add esp,00000004h cmp eax,ecx jz L0045867E mov [eax],ecx mov [eax+04h],ecx mov [eax+08h],ecx jmp L00458680 L0045867E: xor eax,eax L00458680: mov ecx,[edi+000022ECh] mov [edi+000022E8h],eax inc ecx mov [edi+000022E4h],eax mov [edi+000022ECh],ecx L00458699: mov edi,eax test edi,edi jz L004586D7 mov esi,[edi+08h] test esi,esi jz L004586D4 lea ecx,[esi+14h] mov dword ptr [ebp-04h],00000002h call SUB_L004823F0 lea ecx,[esi+04h] mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00493CF0 push esi call SUB_L0049A810 add esp,00000004h mov dword ptr [edi+08h],00000000h L004586D4: mov [edi+08h],ebx L004586D7: mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 8 SUB_L004586F0: push ebp mov ebp,esp push ecx push ebx mov ebx,ecx push esi push edi mov esi,[ebx+000022E4h] test esi,esi jz L004587BA L00458707: mov eax,[esi+08h] mov edx,[ebx+000022DCh] mov edi,[L004C5620] mov ecx,[eax] cmp edx,edi jge L004587BA mov edx,[eax+24h] test ecx,ecx mov ecx,[eax+28h] push ecx push edx jnz L0045873E lea ecx,[eax+14h] call SUB_L00493EC0 push eax mov ecx,ebx call SUB_L0048B960 jmp L0045874E L0045873E: lea ecx,[eax+04h] call SUB_L00493EC0 push eax mov ecx,ebx call SUB_L004926C0 L0045874E: xor edi,edi test esi,esi jz L0045879E mov eax,[esi+04h] mov edi,[esi] test eax,eax jz L00458761 mov [eax],edi jmp L00458767 L00458761: mov [ebx+000022E4h],edi L00458767: test edi,edi jz L00458770 mov [edi+04h],eax jmp L00458776 L00458770: mov [ebx+000022E8h],eax L00458776: mov eax,[esi+08h] push esi mov dword ptr [esi+08h],00000000h mov [ebp-04h],eax call SUB_L0049A810 mov eax,[ebx+000022ECh] add esp,00000004h dec eax mov esi,edi mov edi,[ebp-04h] mov [ebx+000022ECh],eax L0045879E: test edi,edi jz L004587B2 mov ecx,edi call SUB_L00458910 push edi call SUB_L0049A810 add esp,00000004h L004587B2: test esi,esi jnz L00458707 L004587BA: pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L004587D0: push ebp mov ebp,esp push FFFFFFFFh push L004B39E8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000010h mov eax,[ecx+000022E4h] push esi push edi xor edi,edi test eax,eax jz L00458815 L004587F9: mov edx,[eax+08h] cmp dword ptr [edx],00000000h jnz L00458806 mov esi,[edx+18h] jmp L00458809 L00458806: mov esi,[edx+08h] L00458809: add edi,esi test eax,eax jz L00458811 mov eax,[eax] L00458811: test eax,eax jnz L004587F9 L00458815: mov esi,[ecx+000022DCh] mov eax,[L004C5620] add esi,edi push eax sub esi,eax push esi call SUB_L0049C350 mov eax,esi add esp,00000008h cdq idiv [L004C5620] push SSZ004C9118__Spam_detected__speech_queued_fo lea ecx,[ebp-1Ch] mov esi,eax call SUB_L00482400 push esi lea ecx,[ebp-1Ch] mov dword ptr [ebp-04h],00000000h call SUB_L00482670 push SSZ004C910C__seconds_ lea ecx,[ebp-1Ch] call SUB_L00482650 lea ecx,[ebp-1Ch] call SUB_L00493EC0 push eax push 00000003h push 00000000h mov ecx,L006693F8 call SUB_L0048C0A0 lea ecx,[ebp-1Ch] mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L004823F0 mov ecx,[ebp-0Ch] pop edi mov fs:[00000000h],ecx pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 L004588A0: push ebx mov ebx,ecx mov eax,[ebx] test eax,eax jz L00458908 push edi push esi L004588AB: xor edi,edi test eax,eax jnz L004588B5 xor esi,esi jmp L004588EC L004588B5: mov ecx,[eax+04h] mov esi,[eax] test ecx,ecx jz L004588C2 mov [ecx],esi jmp L004588C4 L004588C2: mov [ebx],esi L004588C4: test esi,esi jz L004588CD mov [esi+04h],ecx jmp L004588D0 L004588CD: mov [ebx+04h],ecx L004588D0: mov ecx,[eax+08h] push eax mov dword ptr [eax+08h],00000000h mov edi,ecx call SUB_L0049A810 mov eax,[ebx+08h] add esp,00000004h dec eax mov [ebx+08h],eax L004588EC: test edi,edi jz L00458900 mov ecx,edi call SUB_L00458910 push edi call SUB_L0049A810 add esp,00000004h L00458900: test esi,esi mov eax,esi jnz L004588AB pop esi pop edi L00458908: pop ebx retn ;------------------------------------------------------------------------------ Align 8 SUB_L00458910: push ebp mov ebp,esp mov eax,fs:[00000000h] push FFFFFFFFh push L004B3A0B push eax mov fs:[00000000h],esp push esi mov esi,ecx lea ecx,[esi+14h] mov dword ptr [ebp-04h],00000000h call SUB_L004823F0 lea ecx,[esi+04h] mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00493CF0 mov ecx,[ebp-0Ch] pop esi mov fs:[00000000h],ecx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' push L00458970 call SUB_L0049BC50 add esp,00000004h retn ;------------------------------------------------------------------------------ Align 4 L00458970: retn ;------------------------------------------------------------------------------ Align 16 SUB_L00458980: push ebx mov ebx,ecx mov eax,[ebx+0Ch] test eax,eax jnz L004589DA push esi mov esi,[ebx] test esi,esi jz L004589BE push edi L00458992: mov eax,[ebx+0Ch] mov edi,[esi+10h] test eax,eax jnz L004589A3 mov ecx,[esi] mov eax,[ecx] call [eax+04h] L004589A3: test esi,esi jz L004589B7 mov ecx,esi call SUB_L0040CC60 push esi call SUB_L0049A810 add esp,00000004h L004589B7: test edi,edi mov esi,edi jnz L00458992 pop edi L004589BE: mov dword ptr [ebx+04h],00000000h mov dword ptr [ebx],00000000h mov dword ptr [ebx+14h],00000000h mov dword ptr [ebx+08h],FFFFFFFFh pop esi L004589DA: pop ebx retn ;------------------------------------------------------------------------------ Align 8 SUB_L004589E0: push ebp mov ebp,esp mov eax,[ebp+08h] mov [ecx+0Ch],eax pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L004589F0: push ebx mov ebx,ecx push esi mov esi,[ebx] test esi,esi jz L00458A27 push edi L004589FB: mov eax,[ebx+0Ch] mov edi,[esi+10h] test eax,eax jnz L00458A0C mov ecx,[esi] mov eax,[ecx] call [eax+04h] L00458A0C: test esi,esi jz L00458A20 mov ecx,esi call SUB_L0040CC60 push esi call SUB_L0049A810 add esp,00000004h L00458A20: test edi,edi mov esi,edi jnz L004589FB pop edi L00458A27: mov dword ptr [ebx+04h],00000000h mov dword ptr [ebx],00000000h mov dword ptr [ebx+14h],00000000h mov dword ptr [ebx+08h],FFFFFFFFh pop esi pop ebx retn ;------------------------------------------------------------------------------ Align 16 SUB_L00458A50: push ebp mov ebp,esp push FFFFFFFFh push L004B3A30 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,0000000Ch push esi mov [ebp-10h],ecx mov esi,[ecx] mov dword ptr [ebp-04h],00000001h test esi,esi jz L00458AD4 push edi push ebx mov bx,[ebp+0Ch] L00458A82: mov cx,[esi+06h] mov ax,[esi+04h] add cx,[ebp+0Ah] add ax,[ebp+08h] mov di,[esi+08h] mov [ebp-16h],cx mov ecx,[esi] mov [ebp-18h],ax add di,bx mov al,[ecx+6Ch] mov [ebp-14h],di test al,al jnz L00458AB3 mov edx,[ecx] call [edx+50h] L00458AB3: mov ecx,[ebp-18h] sub esp,00000008h mov eax,esp mov [eax],ecx mov ecx,[esi] mov [eax+04h],di call SUB_L0045CAD0 mov esi,[esi+10h] test esi,esi jnz L00458A82 mov ecx,[ebp-10h] pop ebx pop edi L00458AD4: mov dword ptr [ecx+14h],00000001h mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop esi mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 8 SUB_L00458AF0: push ebp mov ebp,esp push FFFFFFFFh push L004B3A53 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000020h mov edx,[ebp+08h] push esi lea eax,[ebp-20h] push edi lea ecx,[ebp-14h] push eax push ecx push edx xor edi,edi push 0000000Eh push 0000000Dh mov ecx,L006AA860 mov [ebp-14h],edi mov [ebp-20h],edi mov [ebp-10h],edi call SUB_L00446620 mov esi,eax cmp esi,edi mov [ebp-18h],esi jnz L00458B4F xor eax,eax mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L00458B4F: mov ecx,[ebp-14h] mov eax,2AAAAAABh imul ecx mov ecx,[ebp+0Ch] push ebx sar edx,1 mov ebx,[ecx+00000094h] mov eax,edx shr eax,1Fh add edx,eax cmp ebx,edi mov [ebp-1Ch],edx jz L00458B91 cmp [ebx+0Ch],edi jnz L00458B7F mov ecx,ebx call SUB_L004589F0 L00458B7F: push ebx call SUB_L0049A810 mov edx,[ebp+0Ch] add esp,00000004h mov [edx+00000094h],edi L00458B91: push 00000018h call SUB_L0049A820 add esp,00000004h cmp eax,edi jz L00458BBA mov [eax+04h],edi mov [eax],edi mov dword ptr [eax+08h],FFFFFFFFh mov [eax+0Ch],edi mov [eax+10h],edi mov dword ptr [eax+14h],00000001h jmp L00458BBC L00458BBA: xor eax,eax L00458BBC: mov edx,[ebp+0Ch] mov ecx,[ebp+08h] mov [edx+00000094h],eax mov [eax+08h],ecx mov eax,[ebp-1Ch] xor ecx,ecx cmp eax,edi mov [ebp+08h],ecx jle L00458CD0 L00458BDB: lea eax,[ecx+ecx*2] mov [ebp-04h],edi shl eax,02h cmp ecx,edi mov dx,[esi+eax+02h] mov bx,[esi+eax] mov [ebp-2Ch],dx mov dx,[esi+eax+04h] mov [ebp-2Ah],dx mov dx,[esi+eax+06h] mov eax,[esi+eax+08h] mov [ebp-28h],dx jnz L00458C17 mov eax,[ebp+0Ch] mov [eax+38h],bx jmp L00458CB7 L00458C17: cmp eax,00000001h jnz L00458CB7 push 00000078h call SUB_L0049A820 add esp,00000004h mov [ebp-24h],eax cmp eax,edi mov byte ptr [ebp-04h],01h jz L00458C3E mov ecx,eax call SUB_L0045C140 mov edi,eax L00458C3E: mov ecx,[ebp+0Ch] mov [edi+38h],bx push 00000014h mov byte ptr [ebp-04h],00h mov ebx,[ecx+00000094h] call SUB_L0049A820 mov edx,[edi] add esp,00000004h mov ecx,edi mov esi,eax call [edx+6Ch] mov [esi],edi mov ecx,[ebp-2Ch] lea eax,[esi+04h] mov [esi+04h],ecx mov dx,[ebp-28h] mov [eax+04h],dx mov eax,[ebx+04h] test eax,eax mov [esi+0Ch],eax jz L00458C82 mov [eax+10h],esi L00458C82: mov eax,[ebx] mov [ebx+04h],esi test eax,eax jnz L00458C8D mov [ebx],esi L00458C8D: mov ecx,edi mov dword ptr [esi+10h],00000000h call SUB_L0045C790 push 00000000h xor edx,edx lea ecx,[ebp-2Ch] call SUB_L0044EBE0 cmp eax,[ebp-10h] jle L00458CAF mov [ebp-10h],eax L00458CAF: mov esi,[ebp-18h] mov ecx,[ebp+08h] xor edi,edi L00458CB7: mov eax,[ebp-1Ch] inc ecx cmp ecx,eax mov dword ptr [ebp-04h],FFFFFFFFh mov [ebp+08h],ecx jl L00458BDB mov edx,[ebp+0Ch] L00458CD0: mov eax,[edx+00000094h] mov ecx,[ebp-10h] pop ebx mov [eax+10h],ecx mov edx,[edx+00000094h] mov ecx,[ebp-0Ch] mov eax,00000001h mov [edx+14h],edi pop edi mov fs:[00000000h],ecx pop esi mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 4 SUB_L00458D00: push ebp mov ebp,esp push ecx push ebx push esi push edi mov edi,[ebp+08h] mov [ebp-04h],ecx mov ebx,[edi+00000094h] test ebx,ebx jz L00458D84 mov eax,[ebx+08h] mov ecx,[ebp+10h] cmp eax,ecx jz L00458D84 test ebx,ebx jz L00458D7A mov eax,[ebx+0Ch] test eax,eax jnz L00458D71 mov esi,[ebx] test esi,esi jz L00458D60 L00458D32: mov eax,[ebx+0Ch] mov edi,[esi+10h] test eax,eax jnz L00458D43 mov ecx,[esi] mov edx,[ecx] call [edx+04h] L00458D43: test esi,esi jz L00458D57 mov ecx,esi call SUB_L0040CC60 push esi call SUB_L0049A810 add esp,00000004h L00458D57: test edi,edi mov esi,edi jnz L00458D32 mov edi,[ebp+08h] L00458D60: xor eax,eax mov dword ptr [ebx+08h],FFFFFFFFh mov [ebx+04h],eax mov [ebx],eax mov [ebx+14h],eax L00458D71: push ebx call SUB_L0049A810 add esp,00000004h L00458D7A: mov dword ptr [edi+00000094h],00000000h L00458D84: mov eax,[edi+00000094h] test eax,eax jnz L00458D9B mov eax,[ebp+10h] mov ecx,[ebp-04h] push edi push eax call SUB_L00458AF0 L00458D9B: mov eax,[edi+00000094h] test eax,eax jnz L00458DD7 mov al,[edi+6Ch] test al,al jnz L00458DB3 mov edx,[edi] mov ecx,edi call [edx+50h] L00458DB3: mov eax,[ebp+0Ch] sub esp,00000008h mov ecx,esp mov edx,[eax] mov [ecx],edx mov ax,[eax+04h] mov [ecx+04h],ax mov ecx,edi call SUB_L0045CAD0 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ L00458DD7: mov edx,[eax+14h] mov esi,[ebp+0Ch] mov ecx,00000001h cmp edx,ecx jnz L00458E0F cmp [edi+1Ch],ecx jnz L00458E0F mov al,[edi+6Ch] test al,al jnz L00458E1D mov cx,[esi] cmp cx,[edi+20h] jnz L00458E0F mov dx,[esi+02h] cmp dx,[edi+22h] jnz L00458E0F mov ax,[esi+04h] cmp ax,[edi+24h] jz L00458E59 L00458E0F: mov al,[edi+6Ch] test al,al jnz L00458E1D mov edx,[edi] mov ecx,edi call [edx+50h] L00458E1D: sub esp,00000008h mov eax,esi mov ecx,esp mov edx,[eax] mov [ecx],edx mov ax,[eax+04h] mov [ecx+04h],ax mov ecx,edi call SUB_L0045CAD0 mov edi,[edi+00000094h] test edi,edi jz L00458E59 mov edx,[esi] mov ax,[esi+04h] sub esp,00000008h mov ecx,esp mov [ecx],edx mov [ecx+04h],ax mov ecx,edi call SUB_L00458A50 L00458E59: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 16 SUB_L00458E70: push ebp mov ebp,esp sub esp,00000010h push esi mov esi,[ebp+0Ch] push esi call SUB_L0049A820 mov ecx,eax mov eax,2AAAAAABh imul esi sar edx,1 mov eax,edx add esp,00000004h shr eax,1Fh add edx,eax mov [ebp-08h],ecx test edx,edx jle L00458F45 mov eax,[ebp+08h] push edi lea edi,[ecx+06h] sub ecx,eax push ebx lea esi,[eax+04h] mov [ebp-04h],ecx mov [ebp+0Ch],edx L00458EB3: mov cx,[esi-02h] mov dx,[esi] mov ax,[esi+02h] mov ebx,[esi+04h] mov [ebp-10h],cx mov cx,[esi-04h] push ecx mov [ebp-0Eh],dx mov [ebp-0Ch],ax call jmp_WSOCK32.dll!WSOCK32.15 mov edx,[ebp-10h] mov [ebp+08h],eax push edx call jmp_WSOCK32.dll!WSOCK32.15 mov [ebp-10h],ax mov eax,[ebp-0Eh] push eax call jmp_WSOCK32.dll!WSOCK32.15 mov ecx,[ebp-0Ch] mov [ebp-0Eh],ax push ecx call jmp_WSOCK32.dll!WSOCK32.15 push ebx mov [ebp-0Ch],ax call jmp_WSOCK32.dll!WSOCK32.14 mov dx,[ebp+08h] mov cx,[ebp-10h] mov [edi-06h],dx mov dx,[ebp-0Eh] mov [edi-04h],cx mov ecx,[ebp-04h] add edi,0000000Ch mov [ecx+esi],dx mov dx,[ebp-0Ch] mov [edi-0Ch],dx mov [edi-0Ah],eax mov eax,[ebp+0Ch] add esi,0000000Ch dec eax mov [ebp+0Ch],eax jnz L00458EB3 mov ecx,[ebp-08h] pop ebx pop edi L00458F45: mov eax,ecx pop esi mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ db 90h; '?' db 90h; '?' mov ecx,L0073A0F8 jmp L00458F60 Align 8 L00458F60: push ebp mov ebp,esp sub esp,00000008h mov [ebp-08h],ecx push ebx push esi xor ecx,ecx push edi mov [L0073A1B8],ecx mov dword ptr [L00716C48],00000015h mov dword ptr [L0073A100],00000002h mov esi,00000001h mov edi,L00716C4C mov dword ptr [ebp-04h],00000014h mov eax,00000058h L00458F9E: cmp eax,0000002Eh lea edx,[esi+esi+02h] jg L00458FAA lea edx,[eax-04h] L00458FAA: mov [ecx+L0073A104],edx cmp eax,0000002Eh lea edx,[esi+esi] jge L00458FBA mov edx,eax L00458FBA: mov ebx,[ecx+L0073A1B8] add ebx,edx mov edx,[ebp-04h] cmp eax,0000002Eh mov [ecx+L0073A1BC],ebx jg L00458FD3 lea edx,[esi-15h] L00458FD3: mov ebx,[ebp-04h] mov [edi],edx inc esi sub eax,00000002h dec ebx add ecx,00000004h add edi,00000004h cmp eax,00000002h mov [ebp-04h],ebx jg L00458F9E mov eax,L0073A210 L00458FF0: mov esi,[eax] add eax,00000004h inc esi cmp eax,L0073A268 mov [eax-04h],esi jl L00458FF0 mov ecx,00000200h xor eax,eax mov edi,L0073E268 mov ebx,00007FFFh rep stosd xor ecx,ecx mov edi,0000001Fh L0045901A: cmp eax,00000058h jge L0045903D mov edx,[ecx+L0073A1B8] mov esi,[ecx+L0073A100] add esi,edx mov [L0073E268+edx*2],bx mov [L0073E266+esi*2],bx L0045903D: mov edx,[ecx+L0073A1B8] mov esi,[ecx+L0073A100] add eax,00000004h add ecx,00000004h mov [L00712398+edx*2],di add edx,esi mov [L00712396+edx*2],di mov edx,[eax+L00716C44] add edx,esi cmp eax,000000B0h mov [eax+L00716B94],edx jl L0045901A mov eax,[ebp-08h] pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00459080: push ebp mov ebp,esp sub esp,00000010h push ebx push esi xor esi,esi push edi mov [ebp-10h],ecx mov [ebp-04h],esi mov [ebp-08h],esi jmp L00459099 L00459096: mov esi,[ebp-04h] L00459099: mov edi,esi lea ebx,[esi+L00716CF8] shl edi,05h shl esi,07h mov dword ptr [ebp-0Ch],00000020h L004590AE: mov eax,edi mov ecx,[L004D0738] cdq and edx,0000001Fh add esi,00000004h add eax,edx add ebx,00000020h sar eax,05h mov edx,eax mov [ebx-20h],al shl edx,cl mov ecx,[L004D073C] mov [esi+L007370F4],eax shl eax,cl mov ecx,[ebp-08h] mov [esi+L007390F4],edx add edi,ecx mov [esi+L007380F4],eax mov eax,[ebp-0Ch] dec eax mov [ebp-0Ch],eax jnz L004590AE mov esi,[ebp-04h] mov eax,ecx inc esi dec eax cmp eax,FFFFFFE0h mov [ebp-04h],esi mov [ebp-08h],eax jg L00459096 xor eax,eax mov edx,L007170F8 L0045910D: mov ecx,[L004D073C] mov esi,eax sar esi,cl mov ecx,[L004D0738] mov edi,eax sar edi,cl add edx,00000004h and esi,0000001Fh shl esi,07h shl edi,07h mov ecx,[esi+L00738108] mov esi,[edi+L00739108] or ecx,esi mov esi,eax and esi,0000001Fh shl esi,07h mov ebx,[esi+L00737108] or ecx,ebx inc eax mov [edx-04h],ecx cmp edx,L007370F8 jl L0045910D mov eax,[ebp-10h] pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L00459170: push ebp mov ebp,esp sub esp,00000014h push ebx push esi push edi mov edi,ecx mov esi,edi mov eax,[edi] call [eax+2Ch] test eax,eax jz L0045918F mov eax,[edi+7Ch] test eax,eax jz L0045918F mov esi,eax L0045918F: cmp edi,esi jnz L0045919A movzx ax,[edi+6Eh] jmp L004591AE L0045919A: mov edx,[L006A9D98] xor eax,eax mov ax,[edi+38h] lea ecx,[eax+eax*4] mov ax,[edx+ecx*8+10h] L004591AE: and eax,0000FFFFh cmp eax,00000064h jge L00459302 mov ecx,[L0073A1B4] mov edx,[esi] lea eax,[eax+eax*2] xor ebx,ebx xor edi,edi mov bx,[ecx+eax*4+0Ah] mov di,[ecx+eax*4+08h] lea eax,[ecx+eax*4] mov ecx,esi mov [ebp-04h],ebx call [edx+24h] test eax,eax jz L004592A9 mov eax,[L0073EBE4] cmp esi,eax jnz L00459250 movsx ecx,[eax+20h] movsx edx,[eax+22h] mov ebx,[eax+00000190h] mov esi,00000005h lea eax,[edx+ecx] sub esi,ebx lea ebx,[eax+eax*4] lea eax,[eax+ebx*2] mov ebx,[L004DAF44] shl eax,1 lea eax,[eax+esi*4] mov esi,[L006BAE88] sub eax,ebx mov ebx,[ebp-04h] add eax,esi mov esi,[L006AABAC] add ecx,esi sub ecx,edx lea edx,[ecx+ecx*4] lea ecx,[ecx+edx*2] mov edx,[L004DAF40] shl ecx,1 sub ecx,edx mov edx,[L006BAE84] lea ecx,[ecx+edx+01h] jmp L004592DB L00459250: movsx edx,[esi+22h] movsx ecx,[esi+20h] lea eax,[ecx+edx] lea ebx,[eax+eax*4] lea eax,[eax+ebx*2] mov ebx,[esi+0000018Ch] shl eax,1 sub eax,ebx mov ebx,00000005h sub ebx,[esi+00000190h] lea eax,[eax+ebx*4] mov ebx,[L004DAF44] sub eax,ebx mov ebx,[L006AABAC] add ecx,ebx mov ebx,[esi+00000188h] sub ecx,edx mov esi,[L004DAF40] lea edx,[ecx+ecx*4] lea ecx,[ecx+edx*2] shl ecx,1 sub ecx,ebx mov ebx,[ebp-04h] sub ecx,esi inc ecx jmp L004592DB L004592A9: mov eax,[esi+2Ch] movsx edx,[esi+24h] mov esi,[esi+28h] lea ecx,[eax+eax*4] shl edx,02h lea eax,[eax+ecx*2] lea ecx,[esi+esi*4] shl eax,1 sub eax,edx mov edx,[L004DAF44] lea ecx,[esi+ecx*2] sub eax,edx mov edx,[L004DAF40] add eax,0000002Bh shl ecx,1 sub ecx,edx L004592DB: mov edx,edi sar edx,1 sub ecx,edx mov [ebp-14h],ecx add ecx,edi mov [ebp-0Ch],ecx mov ecx,ebx sar ecx,1 sub eax,ecx lea ecx,[ebp-14h] sub eax,00000016h mov [ebp-10h],eax add eax,ebx mov [ebp-08h],eax call SUB_L00459960 L00459302: pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' push ebp mov ebp,esp push FFFFFFFFh push L004B3A76 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push esi mov ebx,ecx push 00000090h call SUB_L0049A820 mov esi,eax add esp,00000004h mov [ebp-10h],esi xor eax,eax cmp esi,eax mov [ebp-04h],eax jz L0045935F push SSZ004CC8A4_lightidx_mul mov ecx,L006BB1C8 call SUB_L00455E10 push eax mov ecx,esi call SUB_L004958A0 L0045935F: push 00000090h mov dword ptr [ebp-04h],FFFFFFFFh mov [L0073EA6C],eax call SUB_L0049A820 mov esi,eax add esp,00000004h mov [ebp-10h],esi test esi,esi mov dword ptr [ebp-04h],00000001h jz L004593A1 push SSZ004CC898_light_mul mov ecx,L006BB1C8 call SUB_L00455E10 push eax mov ecx,esi call SUB_L004958A0 jmp L004593A3 L004593A1: xor eax,eax L004593A3: mov ecx,[L0073EA6C] mov dword ptr [ebp-04h],FFFFFFFFh mov [L0073A1B0],eax call SUB_L00495960 mov ecx,[L0073A1B0] mov [L0073A1B4],eax call SUB_L00495960 mov ecx,[ebp-0Ch] mov [L0073EA68],eax mov eax,ebx pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L004593F0: push ebp mov ebp,esp sub esp,00000014h push ebx push esi push edi push ecx mov esi,edx mov ecx,L006AAE78 call SUB_L0043BDD0 test eax,eax mov [ebp-0Ch],eax jz L0045953B mov edx,[ebp+0Ch] mov ebx,[edx] cmp ebx,esi jle L0045941E sub ebx,esi jmp L00459420 L0045941E: xor ebx,ebx L00459420: mov eax,[edx+08h] lea ecx,[esi+2Ch] cmp eax,ecx jge L00459431 sub eax,esi mov [ebp+0Ch],eax jmp L00459438 L00459431: mov dword ptr [ebp+0Ch],0000002Ch L00459438: cmp ebx,[ebp+0Ch] jge L0045953B mov eax,[edx+04h] mov ecx,[ebp+08h] cmp eax,ecx jle L0045944F sub eax,ecx jmp L00459451 L0045944F: xor eax,eax L00459451: mov edx,[edx+0Ch] lea edi,[ecx+2Ch] cmp edx,edi jge L00459462 sub edx,ecx mov [ebp+08h],edx jmp L00459469 L00459462: mov dword ptr [ebp+08h],0000002Bh L00459469: lea edx,[eax+ecx] mov ecx,[L006BAE7C] imul edx,[L004C7F34] add edx,esi lea esi,[L00716B98+eax*4] lea edi,[ecx+edx*2] mov edx,[ebp+0Ch] sub edx,ebx mov [ebp-04h],edi mov [ebp-10h],edx mov edx,[ebp+08h] cmp eax,edx lea ecx,[L0073A1B8+eax*4] jge L0045953B lea edx,[L0073A100+eax*4] sub ecx,L0073A1B8 sub edx,esi sub ecx,esi mov [ebp-14h],edx mov edx,[ebp+08h] sub edx,eax mov [ebp-08h],ecx mov [ebp+08h],edx jmp L004594C9 L004594C3: mov ecx,[ebp-08h] mov edi,[ebp-04h] L004594C9: mov edx,[esi+ecx+L0073A1B8] mov eax,[ebp-0Ch] lea edx,[eax+edx*2] mov eax,[esi+ecx+L00716C48] cmp ebx,eax jle L00459501 lea ecx,[edi+ebx*2] mov edi,ebx sub edi,eax mov eax,[esi] lea edx,[edx+edi*2] mov edi,[ebp+0Ch] cmp eax,edi jle L004594F9 mov eax,[ebp-10h] jmp L0045951A L004594F9: sub eax,ebx test eax,eax jle L00459520 jmp L0045951A L00459501: lea ecx,[edi+eax*2] mov edi,[ebp+0Ch] cmp [esi],edi jle L00459514 sub edi,eax test edi,edi jle L00459520 push edi jmp L0045951B L00459514: mov eax,[ebp-14h] mov eax,[esi+eax] L0045951A: push eax L0045951B: call SUB_L00488380 L00459520: mov ecx,[ebp-04h] mov edx,[L004C7F34] add esi,00000004h lea eax,[ecx+edx*2] mov [ebp-04h],eax mov eax,[ebp+08h] dec eax mov [ebp+08h],eax jnz L004594C3 L0045953B: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L00459550: push ebp mov ebp,esp sub esp,00000018h push ebx push esi push edi push ecx mov edi,edx mov ecx,L006AAE78 call SUB_L0043BDD0 test eax,eax mov [ebp-10h],eax jz L0045970F mov edx,[ebp+0Ch] mov eax,[edx] cmp eax,edi jle L00459580 sub eax,edi mov ecx,eax jmp L00459582 L00459580: xor ecx,ecx L00459582: mov eax,[edx+08h] lea esi,[edi+2Ch] cmp eax,esi mov [ebp-04h],ecx jge L00459593 sub eax,edi jmp L00459598 L00459593: mov eax,0000002Ch L00459598: cmp ecx,eax mov [ebp-08h],eax jge L0045970F mov ecx,[edx+04h] mov esi,[ebp+08h] cmp ecx,esi jle L004595B1 sub ecx,esi jmp L004595B3 L004595B1: xor ecx,ecx L004595B3: mov edx,[edx+0Ch] lea ebx,[esi+2Ch] cmp edx,ebx jge L004595C1 sub edx,esi jmp L004595C6 L004595C1: mov edx,0000002Bh L004595C6: add esi,ecx sub eax,[ebp-04h] imul esi,[L004C7F34] add esi,edi mov edi,[L006BAE7C] cmp ecx,edx lea ebx,[L00716B98+ecx*4] lea esi,[edi+esi*2] lea edi,[L0073A100+ecx*4] mov [ebp+0Ch],esi lea esi,[L0073A1B8+ecx*4] mov [ebp-14h],eax jge L0045970F mov eax,[ebp-04h] sub esi,L0073A1B8 sub esi,ebx sub edi,ebx sub edx,ecx mov [ebp-0Ch],esi mov [ebp-18h],edi mov [ebp+08h],edx jmp L0045961D L0045961A: mov esi,[ebp-0Ch] L0045961D: mov ecx,[ebx+esi+L0073A1B8] mov edx,[ebp-10h] lea ecx,[edx+ecx*2] mov edx,[ebx+esi+L00716C48] mov esi,[ebp+0Ch] cmp eax,edx jle L00459698 mov edi,eax lea esi,[esi+eax*2] sub edi,edx mov edx,[ebx] lea ecx,[ecx+edi*2] mov edi,[ebp-08h] cmp edx,edi jle L00459676 mov edi,[ebp-14h] test edi,edi jz L004596F0 mov edx,esi lea esi,[edi] sub edx,ecx L0045965C: xor edi,edi mov di,[ecx] add ecx,00000002h dec esi mov di,[L006AAE7C+edi*2] mov [ecx+edx-02h],di jnz L0045965C jmp L004596F0 L00459676: sub edx,eax test edx,edx jle L004596F0 sub esi,ecx L0045967E: xor edi,edi mov di,[ecx] add ecx,00000002h dec edx mov di,[L006AAE7C+edi*2] mov [ecx+esi-02h],di jnz L0045967E jmp L004596F0 L00459698: lea edi,[esi+edx*2] mov esi,[ebp-08h] cmp [ebx],esi jle L004596C6 sub esi,edx test esi,esi jle L004596F0 mov edx,edi sub edx,ecx L004596AC: xor edi,edi mov di,[ecx] add ecx,00000002h dec esi mov di,[L006AAE7C+edi*2] mov [ecx+edx-02h],di jnz L004596AC jmp L004596F0 L004596C6: mov edx,[ebp-18h] mov edx,[ebx+edx] mov esi,edx dec edx test esi,esi jz L004596F0 mov esi,edi sub esi,ecx inc edx L004596D8: xor edi,edi mov di,[ecx] add ecx,00000002h dec edx mov di,[L006AAE7C+edi*2] mov [ecx+esi-02h],di jnz L004596D8 L004596F0: mov ecx,[L004C7F34] mov edx,[ebp+0Ch] add ebx,00000004h lea ecx,[edx+ecx*2] mov [ebp+0Ch],ecx mov ecx,[ebp+08h] dec ecx mov [ebp+08h],ecx jnz L0045961A L0045970F: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L00459720: push ebp mov ebp,esp sub esp,0000001Ch mov eax,[L0073EA84] push ebx push esi xor esi,esi push edi cmp eax,esi mov edi,ecx jnz L004598A0 mov edx,[edi] cmp edx,00000280h jge L004598A0 mov ebx,[edi+08h] cmp ebx,esi mov [ebp-0Ch],ebx jle L004598A0 mov ecx,[edi+04h] cmp ecx,000001E0h mov [ebp-08h],ecx jge L004598A0 mov eax,[edi+0Ch] cmp eax,esi mov [ebp-04h],eax jle L004598A0 cmp ebx,edx jle L004598A0 cmp eax,ecx jle L004598A0 mov ecx,[L0073EA90] cmp ecx,00000100h jl L0045984A cmp [L004DBFC8],esi jnz L004598A0 mov ecx,L004CC848 mov [L0073EA78],esi mov [L0073EA74],esi mov [L0073EA70],esi mov [L0073EA90],esi call SUB_L00459960 mov ecx,[L004C7F38] mov edi,[L006BAE7C] imul ecx,[L004C7F34] shl ecx,1 mov edx,ecx xor eax,eax shr ecx,02h mov dword ptr [L0073EA84],00000001h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov ecx,[L0073EA8C] cmp ecx,esi jz L004598A0 lea eax,[ebp-0Ch] lea edx,[ebp-04h] push eax call SUB_L004390A0 cmp [ebp-04h],esi jz L004598A0 mov ecx,[L004C7F38] mov edx,[L004C7F34] mov eax,[L006BAE7C] push ecx push edx mov edx,[L0073EA8C] push eax push esi push esi push L004CC848 mov ecx,SUB_L00488380 call SUB_L00439290 pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L0045984A: xor eax,eax cmp ecx,esi jle L00459879 mov esi,L00712B9C L00459855: cmp ebx,[esi-04h] jle L00459871 cmp edx,[esi+04h] jge L00459871 mov ebx,[ebp-04h] cmp ebx,[esi] jle L0045986E mov ebx,[ebp-08h] cmp ebx,[esi+08h] jl L004598A7 L0045986E: mov ebx,[ebp-0Ch] L00459871: inc eax add esi,00000010h cmp eax,ecx jl L00459855 L00459879: mov edx,[edi] mov eax,ecx shl eax,04h add eax,L00712B98 inc ecx mov [eax],edx mov edx,[edi+04h] mov [eax+04h],edx mov edx,[edi+08h] mov [eax+08h],edx mov edx,[edi+0Ch] mov [L0073EA90],ecx mov [eax+0Ch],edx L004598A0: pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L004598A7: mov ecx,[esi-04h] cmp ecx,edx jle L004598D8 mov eax,[esi] mov [ebp-1Ch],edx cmp ebx,eax mov [ebp-18h],ebx jg L004598BD mov [ebp-18h],eax L004598BD: mov eax,[esi+08h] mov edx,[ebp-04h] cmp edx,eax mov [ebp-10h],edx jl L004598CD mov [ebp-10h],eax L004598CD: mov [ebp-14h],ecx lea ecx,[ebp-1Ch] call SUB_L00459720 L004598D8: mov eax,[esi+04h] mov edx,[edi+08h] cmp eax,edx jge L0045990F mov ecx,[esi] mov [ebp-1Ch],eax mov eax,[edi+04h] cmp eax,ecx mov [ebp-18h],eax jg L004598F4 mov [ebp-18h],ecx L004598F4: mov eax,[edi+0Ch] mov ecx,[esi+08h] cmp eax,ecx mov [ebp-10h],eax jl L00459904 mov [ebp-10h],ecx L00459904: lea ecx,[ebp-1Ch] mov [ebp-14h],edx call SUB_L00459720 L0045990F: mov eax,[esi] mov ecx,[edi+04h] cmp eax,ecx jle L00459931 mov edx,[edi] mov [ebp-10h],eax mov eax,[edi+08h] mov [ebp-18h],ecx lea ecx,[ebp-1Ch] mov [ebp-1Ch],edx mov [ebp-14h],eax call SUB_L00459720 L00459931: mov esi,[esi+08h] mov eax,[edi+0Ch] cmp esi,eax jge L004598A0 mov ecx,[edi] mov edx,[edi+08h] mov [ebp-1Ch],ecx lea ecx,[ebp-1Ch] mov [ebp-18h],esi mov [ebp-10h],eax mov [ebp-14h],edx call SUB_L00459720 pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 4 SUB_L00459960: push ebp mov ebp,esp sub esp,00000020h mov eax,[L0073EA84] push ebx push esi push edi test eax,eax jnz L00459ADD mov eax,[L004DBFC8] test eax,eax jnz L00459ADD mov ebx,[ecx] cmp ebx,00000280h jge L00459ADD mov edx,[ecx+08h] test edx,edx jle L00459ADD mov eax,[ecx+04h] cmp eax,000001E0h jge L00459ADD mov ecx,[ecx+0Ch] test ecx,ecx jle L00459ADD test ebx,ebx mov [ebp-20h],ebx jge L004599C1 xor ebx,ebx mov [ebp-20h],ebx L004599C1: cmp edx,00000280h mov [ebp-18h],edx jle L004599D6 mov dword ptr [ebp-18h],00000280h mov edx,[ebp-18h] L004599D6: test eax,eax mov [ebp-1Ch],eax jge L004599E7 mov dword ptr [ebp-1Ch],00000000h mov eax,[ebp-1Ch] L004599E7: cmp ecx,000001E0h mov [ebp-14h],ecx jle L004599FA mov ecx,000001E0h mov [ebp-14h],ecx L004599FA: mov esi,[L004C7F34] mov edi,[L0073EA70] imul eax,esi add eax,ebx dec ecx imul ecx,esi lea edx,[ecx+edx-01h] mov ecx,[L004C7F38] imul ecx,esi sub ecx,edi cmp eax,ecx jge L00459A2A cmp edx,ecx jl L00459A2E cmp eax,ecx jl L00459A3D L00459A2A: cmp edx,ecx jl L00459A3D L00459A2E: lea ecx,[ebp-20h] call SUB_L00459720 pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00459A3D: mov eax,ecx cdq idiv esi mov eax,ecx mov edi,edx cdq idiv esi cmp edi,ebx mov esi,eax mov eax,[ebp-18h] jle L00459AB0 cmp edi,eax jge L00459AB4 mov eax,[ebp-1Ch] mov [ebp-10h],ebx lea ebx,[esi+01h] lea ecx,[ebp-10h] mov [ebp-0Ch],eax mov [ebp-08h],edi mov [ebp-04h],ebx call SUB_L00459720 mov ecx,[ebp-18h] mov [ebp-10h],edi mov [ebp-08h],ecx lea ecx,[ebp-10h] mov [ebp-04h],esi call SUB_L00459720 mov edx,[ebp-14h] lea ecx,[ebp-10h] mov [ebp-0Ch],esi mov [ebp-04h],edx call SUB_L00459720 mov eax,[ebp-20h] lea ecx,[ebp-10h] mov [ebp-10h],eax mov [ebp-08h],edi mov [ebp-0Ch],ebx call SUB_L00459720 pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00459AB0: cmp edi,eax jl L00459AB5 L00459AB4: inc esi L00459AB5: mov ecx,[ebp-1Ch] mov [ebp-10h],ebx mov [ebp-0Ch],ecx lea ecx,[ebp-10h] mov [ebp-08h],eax mov [ebp-04h],esi call SUB_L00459720 mov edx,[ebp-14h] lea ecx,[ebp-10h] mov [ebp-0Ch],esi mov [ebp-04h],edx call SUB_L00459720 L00459ADD: pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L00459AF0: push ebp mov ebp,esp sub esp,00000044h mov eax,[L0073EA84] push ebx push esi push edi test eax,eax mov esi,edx mov edi,ecx jnz L00459D65 test edi,edi jnz L00459B6A mov eax,[L0073EA78] test esi,esi jle L00459B44 mov ecx,[L0073EA74] sub eax,esi add eax,000001E0h mov [ebp-40h],ecx mov [ebp-3Ch],eax add ecx,00000280h add eax,esi mov [ebp-38h],ecx mov [ebp-34h],eax mov dword ptr [ebp-44h],00000001h jmp L00459CBA L00459B44: mov ecx,[L0073EA74] mov [ebp-3Ch],eax mov [ebp-40h],ecx add ecx,00000280h sub eax,esi mov [ebp-38h],ecx mov [ebp-34h],eax mov dword ptr [ebp-44h],00000001h jmp L00459CBA L00459B6A: test esi,esi jnz L00459BAE mov ecx,[L0073EA78] mov eax,[L0073EA74] test edi,edi jle L00459B8E sub eax,edi mov [ebp-3Ch],ecx add eax,00000280h mov [ebp-40h],eax add eax,edi jmp L00459B96 L00459B8E: mov [ebp-40h],eax mov [ebp-3Ch],ecx sub eax,edi L00459B96: add ecx,000001E0h mov [ebp-38h],eax mov [ebp-34h],ecx mov dword ptr [ebp-44h],00000001h jmp L00459CBA L00459BAE: test edi,edi jle L00459C38 test esi,esi jle L00459C04 mov edx,[L0073EA74] mov eax,[L0073EA78] mov ecx,edx mov [ebp-3Ch],eax sub ecx,edi mov [ebp-30h],edx add ecx,00000280h add edx,00000280h mov [ebp-40h],ecx add ecx,edi mov [ebp-38h],ecx mov ecx,eax sub eax,esi sub ecx,esi add eax,000001E0h add ecx,000001E0h mov [ebp-2Ch],eax mov [ebp-34h],ecx mov [ebp-28h],edx add eax,esi jmp L00459CB0 L00459C04: mov eax,[L0073EA74] mov ecx,[L0073EA78] mov [ebp-40h],eax mov [ebp-3Ch],ecx lea edx,[eax+00000280h] sub eax,edi mov [ebp-38h],edx mov edx,ecx add eax,00000280h sub edx,esi sub ecx,esi mov [ebp-30h],eax mov [ebp-34h],edx mov [ebp-2Ch],ecx add eax,edi jmp L00459CA6 L00459C38: test esi,esi jle L00459C7B mov ecx,[L0073EA74] mov eax,[L0073EA78] mov edx,ecx mov [ebp-3Ch],eax sub edx,edi mov [ebp-40h],ecx mov [ebp-38h],edx mov edx,eax sub eax,esi sub edx,esi add eax,000001E0h mov [ebp-30h],ecx add edx,000001E0h add ecx,00000280h mov [ebp-2Ch],eax mov [ebp-34h],edx mov [ebp-28h],ecx add eax,esi jmp L00459CB0 L00459C7B: mov eax,[L0073EA74] mov ecx,[L0073EA78] mov [ebp-3Ch],ecx mov [ebp-40h],eax lea edx,[eax+00000280h] mov [ebp-30h],eax mov [ebp-38h],edx mov edx,ecx sub edx,esi sub ecx,esi mov [ebp-34h],edx mov [ebp-2Ch],ecx sub eax,edi L00459CA6: mov [ebp-28h],eax lea eax,[ecx+esi+000001E0h] L00459CB0: mov [ebp-24h],eax mov dword ptr [ebp-44h],00000002h L00459CBA: lea ecx,[ebp-44h] call SUB_L00459D70 mov ebx,[L004C7F34] mov eax,[L004C7F38] mov edx,esi mov ecx,[L0073EA70] imul edx,ebx imul eax,ebx add edx,edi sub ecx,edx cmp ecx,eax mov [L0073EA70],ecx jle L00459CF1 sub ecx,eax mov [L0073EA70],ecx L00459CF1: test ecx,ecx jge L00459CFD add ecx,eax mov [L0073EA70],ecx L00459CFD: mov eax,ecx cdq idiv ebx mov eax,ecx mov ecx,[L0073EA90] mov [L0073EA74],edx cdq idiv ebx xor edx,edx cmp ecx,edx mov [L0073EA78],eax jle L00459D65 mov eax,L00712BA4 mov ebx,ecx L00459D25: mov ecx,[eax-08h] add [eax],esi add [eax-0Ch],edi add [eax-04h],edi add ecx,esi cmp ecx,edx mov [eax-08h],ecx jge L00459D3C mov [eax-08h],edx L00459D3C: cmp [eax-0Ch],edx jge L00459D44 mov [eax-0Ch],edx L00459D44: cmp dword ptr [eax],000001E0h jle L00459D52 mov dword ptr [eax],000001E0h L00459D52: mov ecx,00000280h cmp [eax-04h],ecx jle L00459D5F mov [eax-04h],ecx L00459D5F: add eax,00000010h dec ebx jnz L00459D25 L00459D65: pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 SUB_L00459D70: push ebp mov ebp,esp sub esp,0000000Ch push esi mov esi,ecx mov [ebp-0Ch],esi mov dword ptr [ebp-08h],00000000h cmp dword ptr [esi],00000000h jle L00459E0F mov edx,[L004C7F38] push edi push ebx lea ecx,[esi+08h] L00459D97: mov ebx,[ecx] mov edi,[ecx+08h] mov eax,ebx cmp eax,edi mov [ebp-04h],eax jz L00459DFD lea edi,[ecx+04h] L00459DA8: cmp ebx,edx jl L00459DAE sub ebx,edx L00459DAE: mov eax,ebx mov esi,[ecx-04h] imul eax,[L004C7F34] add eax,esi cmp esi,[edi] jz L00459DEB lea edi,[ecx+04h] L00459DC3: imul edx,[L004C7F34] cmp eax,edx jl L00459DD0 sub eax,edx L00459DD0: mov edx,[L006BAE7C] inc eax inc esi mov word ptr [edx+eax*2-02h],0000h mov edx,[edi] cmp esi,edx mov edx,[L004C7F38] jnz L00459DC3 L00459DEB: mov eax,[ebp-04h] mov esi,[ecx+08h] inc ebx inc eax cmp eax,esi mov [ebp-04h],eax jnz L00459DA8 mov esi,[ebp-0Ch] L00459DFD: mov eax,[ebp-08h] mov edi,[esi] inc eax add ecx,00000010h cmp eax,edi mov [ebp-08h],eax jl L00459D97 pop ebx pop edi L00459E0F: pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L00459E20: push ebp mov ebp,esp sub esp,00000010h push ebx push esi push edi mov esi,edx mov edi,ecx call SUB_L00459AF0 mov eax,[L0073EA84] xor ebx,ebx cmp eax,ebx jnz L00459F5D cmp edi,ebx jge L00459EE2 cmp esi,ebx mov [ebp-0Ch],ebx jge L00459E94 add edi,00000280h lea ecx,[ebp-10h] mov [ebp-10h],edi mov dword ptr [ebp-04h],000001E0h mov dword ptr [ebp-08h],00000280h call SUB_L00459960 add esi,000001E0h lea ecx,[ebp-10h] mov [ebp-0Ch],esi mov [ebp-10h],ebx mov dword ptr [ebp-04h],000001E0h mov [ebp-08h],edi call SUB_L00459960 pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00459E94: jle L00459ED0 add edi,00000280h lea ecx,[ebp-10h] mov [ebp-10h],edi mov dword ptr [ebp-04h],000001E0h mov dword ptr [ebp-08h],00000280h call SUB_L00459960 lea ecx,[ebp-10h] mov [ebp-0Ch],ebx mov [ebp-10h],ebx mov [ebp-04h],esi mov [ebp-08h],edi call SUB_L00459960 pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00459ED0: add edi,00000280h mov dword ptr [ebp-04h],000001E0h mov [ebp-10h],edi jmp L00459F4E L00459EE2: jle L00459F2A cmp esi,ebx mov [ebp-0Ch],ebx mov [ebp-10h],ebx jge L00459F0E mov ebx,000001E0h lea ecx,[ebp-10h] mov [ebp-04h],ebx mov [ebp-08h],edi call SUB_L00459960 add esi,ebx mov [ebp-10h],edi mov [ebp-0Ch],esi mov [ebp-04h],ebx jmp L00459F4E L00459F0E: mov dword ptr [ebp-04h],000001E0h mov [ebp-08h],edi lea ecx,[ebp-10h] jle L00459F58 call SUB_L00459960 mov [ebp-0Ch],ebx mov [ebp-10h],edi jmp L00459F4B L00459F2A: cmp esi,ebx jge L00459F43 add esi,000001E0h mov [ebp-10h],ebx mov [ebp-0Ch],esi mov dword ptr [ebp-04h],000001E0h jmp L00459F4E L00459F43: jle L00459F5D mov [ebp-0Ch],ebx mov [ebp-10h],ebx L00459F4B: mov [ebp-04h],esi L00459F4E: mov dword ptr [ebp-08h],00000280h lea ecx,[ebp-10h] L00459F58: call SUB_L00459960 L00459F5D: pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L00459F70: push ebp mov ebp,esp sub esp,00000010h mov eax,[L004D7E04] push ebx xor ebx,ebx push esi cmp eax,ebx push edi jz L00459FDD lea eax,[ebp-04h] lea ecx,[ebp-08h] push eax push ecx mov ecx,L006A9DC0 call SUB_L00450540 mov ecx,[ebp-04h] mov eax,[ebp-08h] push ebx push ebx mov edi,ecx push ecx push eax mov ecx,L00669608 mov esi,eax call SUB_L0043F4D0 cmp eax,[L006BAE80] jnz L00459FDD lea edx,[ebp-0Ch] lea eax,[ebp-10h] push edx push eax push edi push esi mov ecx,L006A9DC0 call SUB_L00451300 mov ecx,[ebp-0Ch] mov edx,[ebp-10h] push ecx mov ecx,[L004D7E00] push edx call SUB_L0040CCB0 L00459FDD: mov edx,[L0073EA90] mov [ebp-08h],ebx cmp edx,ebx jle L0045A0B8 mov edi,[L006BAE7C] mov eax,L00712BA4 mov [ebp-04h],eax jmp L0045A000 L00459FFE: xor ebx,ebx L0045A000: cmp [eax-08h],ebx jge L0045A008 mov [eax-08h],ebx L0045A008: mov ecx,[eax-0Ch] lea esi,[eax-0Ch] cmp ecx,ebx jge L0045A014 mov [esi],ebx L0045A014: cmp dword ptr [eax],000001E0h jle L0045A022 mov dword ptr [eax],000001E0h L0045A022: mov ebx,[eax-04h] mov ecx,00000280h cmp ebx,ecx jle L0045A031 mov [eax-04h],ecx L0045A031: mov ecx,[esi] mov ebx,[eax-04h] cmp ebx,ecx jle L0045A0A1 mov ebx,[eax-08h] mov ecx,[eax] cmp ecx,ebx jle L0045A0A1 mov ecx,[L0073EA8C] test ecx,ecx jnz L0045A0A1 mov ecx,[L004C7F38] mov eax,[L004C7F34] imul ecx,eax imul eax,ebx mov ebx,[esi] mov edx,[L0073EA70] add eax,ebx mov ebx,ecx sub ebx,edx cmp eax,ebx jl L0045A072 sub edx,ecx L0045A072: mov eax,[L006BAE7C] push esi lea ecx,[eax+edx*2] mov [L006BAE7C],ecx mov ecx,L006BB1A0 call SUB_L0042EF90 mov ecx,esi call SUB_L0045A380 mov edx,[L0073EA90] mov eax,[ebp-04h] mov [L006BAE7C],edi L0045A0A1: mov ecx,[ebp-08h] add eax,00000010h inc ecx mov [ebp-04h],eax cmp ecx,edx mov [ebp-08h],ecx jl L00459FFE xor ebx,ebx L0045A0B8: mov ecx,edx mov esi,L00712B98 shl ecx,04h mov eax,ecx mov edi,L0073A268 shr ecx,02h rep movsd mov ecx,eax mov eax,[L004D7E04] and ecx,00000003h cmp eax,ebx rep movsb mov [L0073EA94],edx mov [L0073EA84],ebx mov [L00669C08],edx mov [L0073EA90],ebx jz L0045A0FB call SUB_L0040D270 L0045A0FB: pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L0045A110: push ebp mov ebp,esp sub esp,00000008h mov eax,[L004DBFC8] push esi xor esi,esi push edi cmp eax,esi mov [L0073EA8C],ecx mov [L0073EA84],esi jnz L0045A1CA mov ecx,L004CC848 mov [L0073EA78],esi mov [L0073EA74],esi mov [L0073EA70],esi mov [L0073EA90],esi call SUB_L00459960 mov ecx,[L004C7F38] mov edi,[L006BAE7C] imul ecx,[L004C7F34] shl ecx,1 mov edx,ecx xor eax,eax shr ecx,02h mov dword ptr [L0073EA84],00000001h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov ecx,[L0073EA8C] cmp ecx,esi jz L0045A1CA lea eax,[ebp-08h] lea edx,[ebp-04h] push eax call SUB_L004390A0 cmp [ebp-04h],esi jz L0045A1CA mov ecx,[L004C7F38] mov edx,[L004C7F34] mov eax,[L006BAE7C] push ecx push edx mov edx,[L0073EA8C] push eax push esi push esi push L004CC848 mov ecx,SUB_L00488380 call SUB_L00439290 L0045A1CA: pop edi pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ SUB_L0045A1D0: push ebp mov ebp,esp sub esp,00000008h mov eax,[L004DBFC8] push esi xor esi,esi push edi cmp eax,esi mov [L0073EA8C],esi mov [L0073EA84],esi jnz L0045A28A mov ecx,L004CC848 mov [L0073EA78],esi mov [L0073EA74],esi mov [L0073EA70],esi mov [L0073EA90],esi call SUB_L00459960 mov ecx,[L004C7F38] mov edi,[L006BAE7C] imul ecx,[L004C7F34] shl ecx,1 mov edx,ecx xor eax,eax shr ecx,02h mov dword ptr [L0073EA84],00000001h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov ecx,[L0073EA8C] cmp ecx,esi jz L0045A28A lea eax,[ebp-08h] lea edx,[ebp-04h] push eax call SUB_L004390A0 cmp [ebp-04h],esi jz L0045A28A mov ecx,[L004C7F38] mov edx,[L004C7F34] mov eax,[L006BAE7C] push ecx push edx mov edx,[L0073EA8C] push eax push esi push esi push L004CC848 mov ecx,SUB_L00488380 call SUB_L00439290 L0045A28A: pop edi pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ SUB_L0045A290: push ebp mov ebp,esp sub esp,00000008h mov eax,[L0073EA84] push esi xor esi,esi push edi cmp eax,esi jnz L0045A34A cmp [L004DBFC8],esi jnz L0045A34A mov ecx,L004CC848 mov [L0073EA78],esi mov [L0073EA74],esi mov [L0073EA70],esi mov [L0073EA90],esi call SUB_L00459960 mov ecx,[L004C7F38] mov edi,[L006BAE7C] imul ecx,[L004C7F34] shl ecx,1 mov edx,ecx xor eax,eax shr ecx,02h mov dword ptr [L0073EA84],00000001h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov ecx,[L0073EA8C] cmp ecx,esi jz L0045A34A lea eax,[ebp-08h] lea edx,[ebp-04h] push eax call SUB_L004390A0 cmp [ebp-04h],esi jz L0045A34A mov ecx,[L004C7F38] mov edx,[L004C7F34] mov eax,[L006BAE7C] push ecx push edx mov edx,[L0073EA8C] push eax push esi push esi push L004CC848 mov ecx,SUB_L00488380 call SUB_L00439290 L0045A34A: pop edi pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ SUB_L0045A350: movsx edx,[ecx+02h] movsx eax,[ecx] sub eax,edx push esi cdq mov esi,eax movsx eax,[ecx+01h] movsx ecx,[ecx+03h] xor esi,edx sub eax,ecx sub esi,edx cdq xor eax,edx sub eax,edx xor edx,edx cmp esi,eax pop esi setle dl mov eax,edx retn ;------------------------------------------------------------------------------ Align 8 SUB_L0045A380: push ebp mov ebp,esp sub esp,00000C40h mov eax,[ecx+0Ch] push esi mov esi,[ecx+04h] mov [ebp-2Ch],ecx cmp esi,eax mov [ebp-14h],esi jge L0045A8FD push edi mov edi,[L0073EBE4] push ebx L0045A3A6: mov edx,[ecx] mov eax,[ecx+08h] cmp edx,eax mov [ebp-18h],edx jge L0045A8EA add edx,00000040h mov [ebp-28h],edx jmp L0045A3C4 L0045A3BE: mov edx,[ebp-28h] mov esi,[ebp-14h] L0045A3C4: cmp eax,edx mov [ebp-1Ch],edx jge L0045A3CE mov [ebp-1Ch],eax L0045A3CE: mov edx,[ecx+0Ch] lea eax,[esi+30h] cmp edx,eax mov [ebp-20h],eax jge L0045A3DE mov [ebp-20h],edx L0045A3DE: mov ebx,[L0073EA7C] mov eax,[L0073EA80] sub ebx,eax js L0045A3FF test edi,edi jz L0045A401 mov eax,[edi] mov ecx,edi call [eax+00000090h] test eax,eax jz L0045A401 L0045A3FF: xor ebx,ebx L0045A401: mov al,bl mov ecx,00000300h mov dl,al lea edi,[ebp-00000C40h] mov dh,dl mov eax,edx shl eax,10h mov ax,dx rep stosd mov eax,[L006A9D40] test eax,eax mov [ebp-08h],eax jz L0045A758 L0045A42C: mov ebx,[ebp-08h] mov ecx,ebx mov esi,ebx mov eax,[ebx] call [eax+2Ch] test eax,eax jz L0045A445 mov eax,[ebx+7Ch] test eax,eax jz L0045A445 mov esi,eax L0045A445: mov edx,[esi] mov ecx,esi call [edx+3Ch] test eax,eax jnz L0045A747 mov eax,[esi+1Ch] test eax,eax jz L0045A747 mov ax,[esi+22h] mov cx,[esi+20h] inc eax and eax,0000003Fh shl eax,06h inc ecx and ecx,0000003Fh add eax,ecx mov edi,[L006BDA48+eax*4] test edi,edi jz L0045A4D4 L0045A47F: movsx eax,[esi+24h] movsx edx,[edi+24h] add eax,00000004h cmp edx,eax jle L0045A4C5 mov edx,[edi] mov ecx,edi call [edx+24h] test eax,eax jnz L0045A4C5 mov eax,[edi] mov ecx,edi call [eax+38h] test eax,eax jnz L0045A4C5 mov edx,[edi] mov ecx,edi call [edx+3Ch] test eax,eax jnz L0045A4C5 mov eax,[edi] mov ecx,edi call [eax+1Ch] test eax,eax jnz L0045A4CC mov edx,[edi] mov ecx,edi call [edx+40h] test al,04h jz L0045A4CC L0045A4C5: mov edi,[edi+14h] test edi,edi jnz L0045A47F L0045A4CC: test edi,edi jnz L0045A747 L0045A4D4: cmp ebx,esi jnz L0045A4DF movzx ax,[ebx+6Eh] jmp L0045A4F3 L0045A4DF: mov ecx,[L006A9D98] xor eax,eax mov ax,[ebx+38h] lea eax,[eax+eax*4] mov ax,[ecx+eax*8+10h] L0045A4F3: and eax,0000FFFFh cmp eax,00000064h jge L0045A747 mov ecx,[L0073A1B4] mov edx,[esi] lea eax,[eax+eax*2] xor ebx,ebx shl eax,02h xor edi,edi mov [ebp-0Ch],eax mov bx,[ecx+eax+08h] mov di,[ecx+eax+0Ah] mov ecx,esi mov [ebp-10h],ebx call [edx+24h] test eax,eax jz L0045A5F5 mov eax,[L0073EBE4] cmp esi,eax jnz L0045A598 movsx edx,[eax+20h] movsx esi,[eax+22h] mov ebx,[eax+00000190h] mov ecx,00000005h lea eax,[esi+edx] sub ecx,ebx lea ebx,[eax+eax*4] lea eax,[eax+ebx*2] mov ebx,[L004DAF44] shl eax,1 lea eax,[eax+ecx*4] mov ecx,[L006BAE88] sub eax,ebx mov ebx,[ebp-10h] add eax,ecx mov ecx,[L006AABAC] sub ecx,esi add ecx,edx lea edx,[ecx+ecx*4] lea ecx,[ecx+edx*2] mov edx,[L004DAF40] shl ecx,1 sub ecx,edx mov edx,[L006BAE84] lea ecx,[ecx+edx+01h] jmp L0045A629 L0045A598: movsx eax,[esi+20h] movsx ecx,[esi+22h] add eax,ecx mov edx,00000005h sub edx,[esi+00000190h] lea ecx,[eax+eax*4] lea eax,[eax+ecx*2] mov ecx,[L004DAF44] shl eax,1 lea eax,[eax+edx*4] mov edx,[esi+0000018Ch] sub eax,edx movsx edx,[esi+22h] sub eax,ecx mov ecx,[L006AABAC] sub ecx,edx movsx edx,[esi+20h] add ecx,edx lea edx,[ecx+ecx*4] lea ecx,[ecx+edx*2] mov edx,[esi+00000188h] mov esi,[L004DAF40] shl ecx,1 sub ecx,edx sub ecx,esi inc ecx jmp L0045A629 L0045A5F5: movsx eax,[esi+24h] shl eax,02h mov ecx,eax mov eax,[esi+2Ch] mov esi,[esi+28h] lea edx,[eax+eax*4] lea eax,[eax+edx*2] mov edx,[L004DAF44] shl eax,1 sub eax,ecx lea ecx,[esi+esi*4] sub eax,edx mov edx,[L004DAF40] lea ecx,[esi+ecx*2] add eax,0000002Bh shl ecx,1 sub ecx,edx L0045A629: mov edx,ebx sar edx,1 sub ecx,edx mov esi,ecx mov ecx,edi sar ecx,1 sub eax,ecx lea edx,[ebx+esi] mov ebx,[ebp-18h] sub eax,00000016h cmp edx,ebx lea ecx,[edi+eax] jle L0045A747 cmp ecx,[ebp-14h] jle L0045A747 cmp esi,[ebp-1Ch] jge L0045A747 cmp eax,[ebp-20h] jge L0045A747 mov ecx,[ebp-18h] cmp esi,ecx mov [ebp-3Ch],ecx jl L0045A673 mov [ebp-3Ch],esi L0045A673: mov ecx,[ebp-14h] cmp eax,ecx jl L0045A67C mov ecx,eax L0045A67C: mov ebx,[ebp-1Ch] mov [ebp-34h],edx cmp edx,ebx jl L0045A689 mov [ebp-34h],ebx L0045A689: mov ebx,[ebp-20h] lea edx,[edi+eax] cmp edx,ebx mov [ebp-30h],edx jl L0045A699 mov [ebp-30h],ebx L0045A699: mov ebx,[ebp-14h] mov edx,ecx sub edx,ebx mov ebx,[ebp-1Ch] sub ebx,[ebp-18h] sub ecx,eax imul ecx,edi mov eax,[L0073A1B4] mov edi,[ebp-0Ch] imul ebx,edx add ecx,[eax+edi] mov eax,[ebp-30h] mov edi,[ebp-14h] lea ebx,[ebp+ebx-00000C40h] sub ecx,esi mov esi,[ebp-18h] mov [ebp-04h],ebx mov ebx,[L0073EA68] add ecx,esi sub eax,edi add ebx,ecx cmp edx,eax jge L0045A747 mov edi,[ebp-3Ch] mov ecx,[ebp-34h] sub edi,esi sub ecx,esi sub eax,edx mov [ebp-40h],edi mov [ebp-0Ch],eax mov eax,[ebp-04h] mov [ebp-24h],ecx L0045A6F6: cmp edi,ecx jge L0045A72F mov edx,[ebp-24h] mov esi,ebx sub esi,eax lea ecx,[eax+edi] sub edx,edi L0045A706: movsx edi,[esi+ecx] movsx eax,[ecx] sub eax,edi jns L0045A713 xor eax,eax L0045A713: cmp eax,0000001Fh jle L0045A71D mov eax,0000001Fh L0045A71D: mov [ecx],al inc ecx dec edx jnz L0045A706 mov eax,[ebp-04h] mov edi,[ebp-40h] mov esi,[ebp-18h] mov ecx,[ebp-24h] L0045A72F: mov edx,[ebp-1Ch] sub edx,esi add eax,edx mov edx,[ebp-10h] add ebx,edx mov edx,[ebp-0Ch] dec edx mov [ebp-04h],eax mov [ebp-0Ch],edx jnz L0045A6F6 L0045A747: mov eax,[ebp-08h] mov eax,[eax+48h] test eax,eax mov [ebp-08h],eax jnz L0045A42C L0045A758: mov ecx,[ebp-14h] mov edx,[ebp-18h] mov eax,ecx mov esi,[L006BAE7C] imul eax,[L004C7F34] add eax,edx lea edi,[esi+eax*2] lea eax,[ebp-00000C40h] mov [ebp-04h],eax mov eax,[ebp-1Ch] sub eax,edx mov [ebp-10h],edi mov ebx,eax mov al,[L0073EC3C] test al,al mov eax,[ebp-20h] mov [ebp-24h],ebx jnz L0045A833 cmp ecx,eax jge L0045A8BF sub eax,ecx mov [ebp-10h],eax L0045A7A5: mov ecx,[ebp-04h] mov edx,edi test ebx,ebx mov [ebp-08h],ecx jle L0045A810 mov [ebp-0Ch],ebx L0045A7B4: mov eax,[ebp-08h] movsx eax,[eax] cmp eax,00000020h jge L0045A7FD shl eax,05h add eax,L00716CF8 mov ecx,eax xor eax,eax mov ax,[edx] mov esi,eax mov ebx,eax sar esi,0Ah sar ebx,05h movzx si,[esi+ecx] and ebx,0000001Fh and eax,0000001Fh shl esi,05h movzx bx,[ebx+ecx] movzx cx,[eax+ecx] or esi,ebx mov ebx,[ebp-24h] shl esi,05h or esi,ecx mov [edx],si L0045A7FD: mov ecx,[ebp-08h] mov eax,[ebp-0Ch] add edx,00000002h inc ecx dec eax mov [ebp-08h],ecx mov [ebp-0Ch],eax jnz L0045A7B4 L0045A810: mov ecx,[ebp-04h] mov eax,[ebp-10h] mov edx,[L004C7F34] add ecx,ebx dec eax mov [ebp-04h],ecx lea edi,[edi+edx*2] mov [ebp-10h],eax jnz L0045A7A5 jmp L0045A8BF L0045A833: cmp ecx,eax jge L0045A8BF sub eax,ecx mov [ebp-08h],eax L0045A840: mov esi,[ebp-04h] mov edx,edi test ebx,ebx jle L0045A8A2 mov [ebp-0Ch],ebx L0045A84C: movsx eax,[esi] cmp eax,00000020h jge L0045A895 shl eax,05h add eax,L00716CF8 mov ecx,eax xor eax,eax mov ax,[edx] mov edi,eax mov ebx,eax sar edi,0Ah sar ebx,05h movzx di,[edi+ecx] and ebx,0000001Fh and eax,0000001Fh shl edi,05h movzx bx,[ebx+ecx] movzx ax,[eax+ecx] or edi,ebx mov ebx,[ebp-24h] shl edi,06h or edi,eax mov [edx],di mov edi,[ebp-10h] L0045A895: mov eax,[ebp-0Ch] add edx,00000002h inc esi dec eax mov [ebp-0Ch],eax jnz L0045A84C L0045A8A2: mov ecx,[L004C7F34] mov eax,[ebp-08h] lea edi,[edi+ecx*2] mov ecx,[ebp-04h] add ecx,ebx dec eax mov [ebp-10h],edi mov [ebp-04h],ecx mov [ebp-08h],eax jnz L0045A840 L0045A8BF: mov edx,[ebp-2Ch] mov ecx,[ebp-18h] mov esi,[ebp-28h] mov edi,[L0073EBE4] mov eax,[edx+08h] add ecx,00000040h add esi,00000040h mov [ebp-18h],ecx cmp ecx,eax mov [ebp-28h],esi mov ecx,edx jl L0045A3BE mov esi,[ebp-14h] L0045A8EA: mov eax,[ecx+0Ch] add esi,00000030h cmp esi,eax mov [ebp-14h],esi jl L0045A3A6 pop ebx pop edi L0045A8FD: pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L0045A910: push ebp mov ebp,esp sub esp,000000D0h mov [ebp-08h],ecx mov [ebp-000000B0h],edx mov ecx,[ebp+08h] push ebx push esi mov esi,[ebp+18h] lea eax,[ecx+06h] mov [ebp-00000098h],esi mov [ebp-000000B4h],eax mov eax,[ebp+0Ch] shl ecx,02h mov edx,[eax] push edi mov [ebp-000000A8h],edx mov edx,[eax+04h] movsx eax,[eax+08h] add eax,ecx mov edi,[ebp+1Ch] shl eax,02h mov [ebp-00000084h],edi mov ebx,[ebp+20h] mov esi,[eax+L004CC854] mov eax,[eax+L004CC874] mov [ebp-0000009Ch],eax mov eax,[ebp+10h] mov [ebp-000000A0h],esi mov [ebp-000000A4h],edx mov esi,[eax] mov [ebp-70h],ebx mov [ebp-00000094h],esi mov esi,[eax+04h] movsx eax,[eax+08h] add eax,ecx mov [ebp-00000090h],esi shl eax,02h mov edi,[eax+L004CC854] mov eax,[eax+L004CC874] mov [ebp-00000088h],eax mov eax,[ebp+14h] mov [ebp-0000008Ch],edi mov edi,[eax] mov [ebp-80h],edi mov edi,[eax+04h] movsx eax,[eax+08h] add eax,ecx mov [ebp-7Ch],edi shl eax,02h mov ecx,[eax+L004CC854] mov eax,[eax+L004CC874] mov [ebp-78h],ecx mov [ebp-74h],eax xor eax,eax xor ecx,ecx cmp esi,edx mov [ebp-28h],eax jle L0045A9F6 mov dword ptr [ebp-28h],00000001h cmp esi,edx mov eax,[ebp-28h] L0045A9F6: jge L0045A9FD mov ecx,00000001h L0045A9FD: lea edx,[eax+eax*4] cmp edi,[ebp+edx*4-000000A4h] jle L0045AA13 mov dword ptr [ebp-28h],00000002h mov eax,[ebp-28h] L0045AA13: lea edx,[ecx+ecx*4] cmp edi,[ebp+edx*4-000000A4h] jge L0045AA24 mov ecx,00000002h L0045AA24: mov esi,eax mov edx,00000003h or esi,ecx lea edi,[eax+eax*4] sub edx,esi lea esi,[ecx+ecx*4] shl edi,02h shl esi,02h mov [ebp+0Ch],edi mov edi,[ebp+edi-000000A4h] mov [ebp+08h],esi mov esi,[ebp+esi-000000A4h] mov [ebp-6Ch],edi sub edi,esi mov [ebp+18h],edx mov [ebp+10h],esi mov [ebp+1Ch],edi js L0045B18F mov [ebp-18h],eax mov [ebp-1Ch],eax lea eax,[edx+edx*4] mov edi,ecx shl eax,02h mov ebx,[ebp+eax-000000A4h] cmp esi,ebx mov esi,[ebp+08h] mov [ebp-64h],ebx mov esi,[ebp+esi-000000A8h] jnz L0045AA9A cmp esi,[ebp+eax-000000A8h] jge L0045AA96 mov edi,edx jmp L0045AB0C L0045AA96: mov ecx,edx jmp L0045AB0C L0045AA9A: mov ebx,[ebp+0Ch] mov ebx,[ebp+ebx-000000A8h] cmp esi,ebx mov [ebp+08h],ebx jnz L0045AAB9 cmp esi,[ebp+eax-000000A8h] jge L0045AB09 mov [ebp-18h],edx jmp L0045AB0C L0045AAB9: mov eax,[ebp+eax-000000A8h] cmp esi,eax jnz L0045AACD cmp esi,ebx jl L0045AB09 mov [ebp-18h],edx jmp L0045AB0C L0045AACD: mov ebx,[ebp-64h] cmp [ebp-6Ch],ebx jnz L0045AADF cmp [ebp+08h],eax jge L0045AB09 mov [ebp-18h],edx jmp L0045AB0C L0045AADF: mov edx,[ebp+10h] sub eax,esi shl eax,0Ch sub ebx,edx cdq idiv ebx mov ebx,eax mov eax,[ebp+08h] sub eax,esi shl eax,0Ch cdq idiv [ebp+1Ch] cmp eax,ebx jge L0045AB06 mov eax,[ebp+18h] mov [ebp-18h],eax jmp L0045AB0C L0045AB06: mov edx,[ebp+18h] L0045AB09: mov [ebp-1Ch],edx L0045AB0C: lea eax,[ecx+ecx*4] lea edx,[edi+edi*4] shl eax,02h shl edx,02h mov edi,[ebp+eax-0000009Ch] mov [ebp-58h],edx mov ecx,[ebp+edx-000000A8h] mov [ebp-60h],edi mov [ebp-38h],ecx mov esi,[ebp+eax-000000A8h] shl ecx,0Ch shl edi,0Ch mov [ebp+14h],ecx mov ecx,[ebp+edx-00000098h] mov [ebp+08h],edi mov edi,[ebp+edx-000000A0h] mov edx,[ebp+edx-0000009Ch] mov ebx,[ebp+eax-00000098h] mov [ebp-14h],edx mov [ebp-04h],edi shl edx,0Ch mov [ebp-0Ch],edx mov edx,[ebp-1Ch] shl edi,0Ch lea edx,[edx+edx*4] mov [ebp-3Ch],ecx shl edx,02h mov [ebp-10h],edi mov [ebp+18h],edx mov edi,[ebp+edx-000000A4h] mov [ebp+1Ch],ebx shl ecx,0Ch mov [ebp+20h],ecx mov ecx,[ebp+eax-000000A0h] mov [ebp-000000BCh],edi sub edi,[ebp+eax-000000A4h] mov eax,[ebp+edx-000000A8h] mov [ebp-5Ch],ecx shl esi,0Ch mov [ebp-000000D0h],eax sub esi,00001000h shl eax,0Ch mov [ebp-000000C0h],eax sub eax,esi sub eax,00001000h mov [ebp-24h],esi cdq idiv edi mov edx,[ebp+1Ch] shl ebx,0Ch shl ecx,0Ch mov [ebp-30h],ebx mov [ebp-20h],ecx mov [ebp-40h],eax mov eax,[ebp+18h] mov eax,[ebp+eax-00000098h] mov [ebp-000000C4h],eax sub eax,edx shl eax,0Ch cdq idiv edi mov edx,[ebp+18h] mov [ebp-48h],eax mov eax,[ebp+edx-000000A0h] mov edx,[ebp-5Ch] mov [ebp-000000CCh],eax sub eax,edx shl eax,0Ch cdq idiv edi mov edx,[ebp-60h] mov [ebp-54h],eax mov eax,[ebp+18h] mov eax,[ebp+eax-0000009Ch] mov [ebp-000000ACh],eax sub eax,edx shl eax,0Ch cdq idiv edi mov [ebp-68h],eax mov eax,[ebp-18h] lea edx,[eax+eax*4] shl edx,02h mov [ebp+18h],edx mov eax,[ebp+edx-000000A8h] mov edx,[ebp+edx-000000A4h] mov [ebp-000000C8h],edx mov edi,edx mov edx,[ebp-58h] mov [ebp-000000B8h],eax sub edi,[ebp+edx-000000A4h] mov edx,[ebp-38h] sub eax,edx shl eax,0Ch cdq idiv edi mov edx,[ebp-3Ch] mov [ebp-44h],eax mov eax,[ebp+18h] mov eax,[ebp+eax-00000098h] mov [ebp-58h],eax sub eax,edx shl eax,0Ch cdq idiv edi mov edx,[ebp+18h] mov [ebp-50h],eax mov eax,[ebp+edx-000000A0h] mov edx,[ebp-04h] mov [ebp-60h],eax sub eax,edx shl eax,0Ch cdq idiv edi mov edx,[ebp-14h] mov [ebp-4Ch],eax mov eax,[ebp+18h] mov eax,[ebp+eax-0000009Ch] mov [ebp-5Ch],eax sub eax,edx shl eax,0Ch cdq idiv edi mov edi,[ebp+10h] mov edx,edi mov [ebp-14h],edi imul edx,[L004C7F34] mov [ebp-38h],eax mov eax,[ebp-08h] lea edx,[eax+edx*2] mov eax,[ebp-64h] cmp edi,eax mov [ebp-08h],edx jg L0045AE84 L0045ACEF: mov eax,[ebp+24h] cmp edi,[eax+04h] jl L0045AE17 cmp edi,[eax+0Ch] jge L0045AE17 mov eax,[ebp+14h] mov [ebp+10h],ecx sar eax,0Ch mov [ebp-34h],eax mov edi,eax sar esi,0Ch mov eax,00001000h sub edi,esi cdq inc edi mov [ebp-04h],esi idiv edi mov edi,[ebp-10h] mov edx,[ebp+08h] mov esi,[ebp+20h] sub edi,ecx mov ecx,[ebp-0Ch] sub esi,ebx sub ecx,edx mov [ebp+1Ch],edx mov edx,[ebp-34h] mov [ebp+18h],ebx imul esi,eax imul edi,eax imul ecx,eax mov eax,[ebp-04h] sar esi,0Ch sar edi,0Ch sar ecx,0Ch cmp eax,edx mov [ebp-3Ch],ecx mov [ebp-2Ch],eax jg L0045AE0E mov edx,[ebp-08h] lea edx,[edx+eax*2] mov [ebp-04h],edx L0045AD6A: mov edx,[ebp+24h] cmp eax,[edx] jl L0045ADDE cmp eax,[edx+08h] jge L0045ADDE mov ebx,[ebp+1Ch] mov ecx,[ebp-000000B4h] sar ebx,0Ch mov eax,[ebp+18h] xor edx,edx shl ebx,cl mov ecx,[ebp+10h] sar ecx,0Ch sar eax,0Ch add ebx,ecx mov ecx,[ebp-000000B0h] shl eax,05h mov dx,[ecx+ebx*2] add eax,L00716CF8 mov ecx,edx mov ebx,edx sar ecx,0Ah sar ebx,05h movzx cx,[ecx+eax] and ebx,0000001Fh and edx,0000001Fh shl ecx,05h movzx bx,[ebx+eax] movzx dx,[edx+eax] mov eax,[ebp-04h] or ecx,ebx mov ebx,[ebp-30h] shl ecx,05h or ecx,edx mov [eax],cx mov eax,[ebp-2Ch] mov ecx,[ebp-3Ch] L0045ADDE: mov edx,[ebp+18h] add edx,esi mov [ebp+18h],edx mov edx,[ebp+10h] add edx,edi mov [ebp+10h],edx mov edx,[ebp+1Ch] add edx,ecx inc eax mov [ebp+1Ch],edx mov edx,[ebp-04h] add edx,00000002h mov [ebp-2Ch],eax mov [ebp-04h],edx mov edx,[ebp-34h] cmp eax,edx jle L0045AD6A L0045AE0E: mov edi,[ebp-14h] mov ecx,[ebp-20h] mov esi,[ebp-24h] L0045AE17: mov edx,[L004C7F34] mov eax,[ebp-08h] lea edx,[eax+edx*2] mov eax,[ebp-40h] mov [ebp-08h],edx mov edx,[ebp+14h] add esi,eax mov eax,[ebp-44h] add edx,eax mov eax,[ebp+20h] mov [ebp+14h],edx mov edx,[ebp-48h] add ebx,edx mov edx,[ebp-50h] add eax,edx mov edx,[ebp-10h] mov [ebp+20h],eax mov eax,[ebp-54h] add ecx,eax mov eax,[ebp-4Ch] add edx,eax mov eax,[ebp+08h] mov [ebp-10h],edx mov edx,[ebp-68h] add eax,edx mov edx,[ebp-0Ch] mov [ebp+08h],eax mov eax,[ebp-38h] add edx,eax mov eax,[ebp-64h] inc edi mov [ebp-24h],esi cmp edi,eax mov [ebp-30h],ebx mov [ebp-20h],ecx mov [ebp-0Ch],edx mov [ebp-14h],edi jle L0045ACEF L0045AE84: mov eax,[ebp-6Ch] cmp edi,eax jg L0045B18F mov edx,[ebp-28h] cmp [ebp-1Ch],edx jz L0045AF4A mov esi,[ebp-000000BCh] mov edx,[ebp-000000D0h] mov ecx,eax mov ebx,[ebp-000000C4h] sub ecx,esi mov esi,[ebp+0Ch] mov eax,[ebp+esi-000000A8h] sub eax,edx shl eax,0Ch cdq idiv ecx mov [ebp-40h],eax mov eax,[ebp+esi-00000098h] sub eax,ebx shl eax,0Ch cdq idiv ecx shl ebx,0Ch mov [ebp-48h],eax mov eax,[ebp+esi-000000A0h] mov esi,[ebp-000000CCh] sub eax,esi shl eax,0Ch cdq idiv ecx mov edx,[ebp+0Ch] shl esi,0Ch mov [ebp-54h],eax mov eax,[ebp+edx-0000009Ch] sub eax,[ebp-000000ACh] shl eax,0Ch cdq idiv ecx mov ecx,[ebp-000000C0h] mov edx,[ebp-40h] lea ecx,[edx+ecx-00001000h] mov [ebp-24h],ecx mov ecx,[ebp-48h] add ebx,ecx mov ecx,[ebp-54h] add esi,ecx mov ecx,[ebp-000000ACh] shl ecx,0Ch mov [ebp-20h],esi mov [ebp-30h],ebx add ecx,eax mov [ebp-68h],eax mov [ebp+08h],ecx mov ecx,esi mov esi,[ebp-24h] jmp L0045AFF7 L0045AF4A: cmp [ebp-18h],edx jz L0045AFF7 mov edx,[ebp+0Ch] mov edi,eax mov eax,[ebp-000000C8h] sub edi,eax mov eax,[ebp+edx-000000A8h] sub eax,[ebp-000000B8h] shl eax,0Ch cdq idiv edi mov edx,[ebp-58h] mov [ebp-44h],eax mov eax,[ebp+0Ch] mov eax,[ebp+eax-00000098h] sub eax,edx shl eax,0Ch cdq idiv edi mov edx,[ebp+0Ch] mov [ebp-50h],eax mov eax,[ebp+edx-000000A0h] sub eax,[ebp-60h] shl eax,0Ch cdq idiv edi mov edx,[ebp-5Ch] mov [ebp-4Ch],eax mov eax,[ebp+0Ch] mov eax,[ebp+eax-0000009Ch] sub eax,edx shl eax,0Ch cdq idiv edi mov edx,[ebp-000000B8h] mov edi,[ebp-44h] shl edx,0Ch add edx,edi mov edi,[ebp-50h] mov [ebp+14h],edx mov edx,[ebp-58h] shl edx,0Ch add edx,edi mov edi,[ebp-4Ch] mov [ebp+20h],edx mov edx,[ebp-60h] shl edx,0Ch add edx,edi mov edi,[ebp-14h] mov [ebp-10h],edx mov edx,[ebp-5Ch] shl edx,0Ch add edx,eax mov [ebp-38h],eax mov [ebp-0Ch],edx L0045AFF7: mov eax,[ebp+24h] cmp edi,[eax+04h] jl L0045B122 cmp edi,[eax+0Ch] jge L0045B122 mov eax,[ebp+14h] mov [ebp+10h],ecx sar eax,0Ch mov [ebp-34h],eax mov edi,eax sar esi,0Ch mov eax,00001000h sub edi,esi cdq inc edi mov [ebp-04h],esi idiv edi mov edx,[ebp+08h] mov edi,[ebp-10h] mov esi,[ebp+20h] mov [ebp+1Ch],edx mov edx,[ebp-0Ch] sub edi,ecx mov ecx,[ebp+08h] sub esi,ebx sub edx,ecx mov ecx,[ebp-34h] mov [ebp+18h],ebx imul esi,eax imul edi,eax imul edx,eax mov eax,[ebp-04h] sar esi,0Ch sar edi,0Ch sar edx,0Ch cmp eax,ecx mov [ebp-3Ch],edx mov [ebp-2Ch],eax jge L0045B119 mov ecx,[ebp-08h] lea ecx,[ecx+eax*2] mov [ebp+0Ch],ecx L0045B075: mov ecx,[ebp+24h] cmp eax,[ecx] jl L0045B0E9 cmp eax,[ecx+08h] jge L0045B0E9 mov ebx,[ebp+1Ch] mov ecx,[ebp-000000B4h] mov edx,[ebp+10h] mov eax,[ebp+18h] sar ebx,0Ch shl ebx,cl mov ecx,[ebp-000000B0h] sar edx,0Ch sar eax,0Ch add ebx,edx xor edx,edx shl eax,05h mov dx,[ecx+ebx*2] add eax,L00716CF8 mov ecx,edx mov ebx,edx sar ecx,0Ah sar ebx,05h movzx cx,[ecx+eax] and ebx,0000001Fh and edx,0000001Fh shl ecx,05h movzx bx,[ebx+eax] movzx dx,[edx+eax] mov eax,[ebp+0Ch] or ecx,ebx mov ebx,[ebp-30h] shl ecx,05h or ecx,edx mov edx,[ebp-3Ch] mov [eax],cx mov eax,[ebp-2Ch] L0045B0E9: mov ecx,[ebp+18h] add ecx,esi mov [ebp+18h],ecx mov ecx,[ebp+10h] add ecx,edi mov [ebp+10h],ecx mov ecx,[ebp+1Ch] add ecx,edx inc eax mov [ebp+1Ch],ecx mov ecx,[ebp+0Ch] add ecx,00000002h mov [ebp-2Ch],eax mov [ebp+0Ch],ecx mov ecx,[ebp-34h] cmp eax,ecx jl L0045B075 L0045B119: mov edi,[ebp-14h] mov ecx,[ebp-20h] mov esi,[ebp-24h] L0045B122: mov edx,[L004C7F34] mov eax,[ebp-08h] lea edx,[eax+edx*2] mov eax,[ebp-40h] mov [ebp-08h],edx mov edx,[ebp+14h] add esi,eax mov eax,[ebp-44h] add edx,eax mov eax,[ebp+20h] mov [ebp+14h],edx mov edx,[ebp-48h] add ebx,edx mov edx,[ebp-50h] add eax,edx mov edx,[ebp-10h] mov [ebp+20h],eax mov eax,[ebp-54h] add ecx,eax mov eax,[ebp-4Ch] add edx,eax mov eax,[ebp+08h] mov [ebp-10h],edx mov edx,[ebp-68h] add eax,edx mov edx,[ebp-0Ch] mov [ebp+08h],eax mov eax,[ebp-38h] add edx,eax mov eax,[ebp-6Ch] inc edi mov [ebp-24h],esi cmp edi,eax mov [ebp-30h],ebx mov [ebp-20h],ecx mov [ebp-0Ch],edx mov [ebp-14h],edi jle L0045AFF7 L0045B18F: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0020h ;------------------------------------------------------------------------------ Align 16 SUB_L0045B1A0: push ebp mov ebp,esp sub esp,000000D0h mov [ebp-08h],ecx mov [ebp-000000B0h],edx mov ecx,[ebp+08h] push ebx push esi mov esi,[ebp+18h] lea eax,[ecx+06h] mov [ebp-00000098h],esi mov [ebp-000000B4h],eax mov eax,[ebp+0Ch] shl ecx,02h mov edx,[eax] push edi mov [ebp-000000A8h],edx mov edx,[eax+04h] movsx eax,[eax+08h] add eax,ecx mov edi,[ebp+1Ch] shl eax,02h mov [ebp-00000084h],edi mov ebx,[ebp+20h] mov esi,[eax+L004CC854] mov eax,[eax+L004CC874] mov [ebp-0000009Ch],eax mov eax,[ebp+10h] mov [ebp-000000A0h],esi mov [ebp-000000A4h],edx mov esi,[eax] mov [ebp-70h],ebx mov [ebp-00000094h],esi mov esi,[eax+04h] movsx eax,[eax+08h] add eax,ecx mov [ebp-00000090h],esi shl eax,02h mov edi,[eax+L004CC854] mov eax,[eax+L004CC874] mov [ebp-00000088h],eax mov eax,[ebp+14h] mov [ebp-0000008Ch],edi mov edi,[eax] mov [ebp-80h],edi mov edi,[eax+04h] movsx eax,[eax+08h] add eax,ecx mov [ebp-7Ch],edi shl eax,02h mov ecx,[eax+L004CC854] mov eax,[eax+L004CC874] mov [ebp-78h],ecx mov [ebp-74h],eax xor eax,eax xor ecx,ecx cmp esi,edx mov [ebp-28h],eax jle L0045B286 mov dword ptr [ebp-28h],00000001h cmp esi,edx mov eax,[ebp-28h] L0045B286: jge L0045B28D mov ecx,00000001h L0045B28D: lea edx,[eax+eax*4] cmp edi,[ebp+edx*4-000000A4h] jle L0045B2A3 mov dword ptr [ebp-28h],00000002h mov eax,[ebp-28h] L0045B2A3: lea edx,[ecx+ecx*4] cmp edi,[ebp+edx*4-000000A4h] jge L0045B2B4 mov ecx,00000002h L0045B2B4: mov esi,eax mov edx,00000003h or esi,ecx lea edi,[eax+eax*4] sub edx,esi lea esi,[ecx+ecx*4] shl edi,02h shl esi,02h mov [ebp+0Ch],edi mov edi,[ebp+edi-000000A4h] mov [ebp+08h],esi mov esi,[ebp+esi-000000A4h] mov [ebp-6Ch],edi sub edi,esi mov [ebp+18h],edx mov [ebp+10h],esi mov [ebp+1Ch],edi js L0045BA33 mov [ebp-18h],eax mov [ebp-1Ch],eax lea eax,[edx+edx*4] mov edi,ecx shl eax,02h mov ebx,[ebp+eax-000000A4h] cmp esi,ebx mov esi,[ebp+08h] mov [ebp-64h],ebx mov esi,[ebp+esi-000000A8h] jnz L0045B32A cmp esi,[ebp+eax-000000A8h] jge L0045B326 mov edi,edx jmp L0045B39C L0045B326: mov ecx,edx jmp L0045B39C L0045B32A: mov ebx,[ebp+0Ch] mov ebx,[ebp+ebx-000000A8h] cmp esi,ebx mov [ebp+08h],ebx jnz L0045B349 cmp esi,[ebp+eax-000000A8h] jge L0045B399 mov [ebp-18h],edx jmp L0045B39C L0045B349: mov eax,[ebp+eax-000000A8h] cmp esi,eax jnz L0045B35D cmp esi,ebx jl L0045B399 mov [ebp-18h],edx jmp L0045B39C L0045B35D: mov ebx,[ebp-64h] cmp [ebp-6Ch],ebx jnz L0045B36F cmp [ebp+08h],eax jge L0045B399 mov [ebp-18h],edx jmp L0045B39C L0045B36F: mov edx,[ebp+10h] sub eax,esi shl eax,0Ch sub ebx,edx cdq idiv ebx mov ebx,eax mov eax,[ebp+08h] sub eax,esi shl eax,0Ch cdq idiv [ebp+1Ch] cmp eax,ebx jge L0045B396 mov eax,[ebp+18h] mov [ebp-18h],eax jmp L0045B39C L0045B396: mov edx,[ebp+18h] L0045B399: mov [ebp-1Ch],edx L0045B39C: lea eax,[ecx+ecx*4] lea edx,[edi+edi*4] shl eax,02h shl edx,02h mov edi,[ebp+eax-0000009Ch] mov [ebp-58h],edx mov ecx,[ebp+edx-000000A8h] mov [ebp-60h],edi mov [ebp-38h],ecx mov esi,[ebp+eax-000000A8h] shl ecx,0Ch shl edi,0Ch mov [ebp+14h],ecx mov ecx,[ebp+edx-00000098h] mov [ebp+08h],edi mov edi,[ebp+edx-000000A0h] mov edx,[ebp+edx-0000009Ch] mov ebx,[ebp+eax-00000098h] mov [ebp-14h],edx mov [ebp-04h],edi shl edx,0Ch mov [ebp-0Ch],edx mov edx,[ebp-1Ch] shl edi,0Ch lea edx,[edx+edx*4] mov [ebp-3Ch],ecx shl edx,02h mov [ebp-10h],edi mov [ebp+18h],edx mov edi,[ebp+edx-000000A4h] mov [ebp+1Ch],ebx shl ecx,0Ch mov [ebp+20h],ecx mov ecx,[ebp+eax-000000A0h] mov [ebp-000000BCh],edi sub edi,[ebp+eax-000000A4h] mov eax,[ebp+edx-000000A8h] mov [ebp-5Ch],ecx shl esi,0Ch mov [ebp-000000D0h],eax sub esi,00001000h shl eax,0Ch mov [ebp-000000C0h],eax sub eax,esi sub eax,00001000h mov [ebp-24h],esi cdq idiv edi mov edx,[ebp+1Ch] shl ebx,0Ch shl ecx,0Ch mov [ebp-30h],ebx mov [ebp-20h],ecx mov [ebp-40h],eax mov eax,[ebp+18h] mov eax,[ebp+eax-00000098h] mov [ebp-000000C4h],eax sub eax,edx shl eax,0Ch cdq idiv edi mov edx,[ebp+18h] mov [ebp-48h],eax mov eax,[ebp+edx-000000A0h] mov edx,[ebp-5Ch] mov [ebp-000000CCh],eax sub eax,edx shl eax,0Ch cdq idiv edi mov edx,[ebp-60h] mov [ebp-54h],eax mov eax,[ebp+18h] mov eax,[ebp+eax-0000009Ch] mov [ebp-000000ACh],eax sub eax,edx shl eax,0Ch cdq idiv edi mov [ebp-68h],eax mov eax,[ebp-18h] lea edx,[eax+eax*4] shl edx,02h mov [ebp+18h],edx mov eax,[ebp+edx-000000A8h] mov edx,[ebp+edx-000000A4h] mov [ebp-000000C8h],edx mov edi,edx mov edx,[ebp-58h] mov [ebp-000000B8h],eax sub edi,[ebp+edx-000000A4h] mov edx,[ebp-38h] sub eax,edx shl eax,0Ch cdq idiv edi mov edx,[ebp-3Ch] mov [ebp-44h],eax mov eax,[ebp+18h] mov eax,[ebp+eax-00000098h] mov [ebp-58h],eax sub eax,edx shl eax,0Ch cdq idiv edi mov edx,[ebp+18h] mov [ebp-50h],eax mov eax,[ebp+edx-000000A0h] mov edx,[ebp-04h] mov [ebp-60h],eax sub eax,edx shl eax,0Ch cdq idiv edi mov edx,[ebp-14h] mov [ebp-4Ch],eax mov eax,[ebp+18h] mov eax,[ebp+eax-0000009Ch] mov [ebp-5Ch],eax sub eax,edx shl eax,0Ch cdq idiv edi mov edi,[ebp+10h] mov edx,edi mov [ebp-14h],edi imul edx,[L004C7F34] mov [ebp-38h],eax mov eax,[ebp-08h] lea edx,[eax+edx*2] mov eax,[ebp-64h] cmp edi,eax mov [ebp-08h],edx jg L0045B71E L0045B57F: mov eax,[ebp+24h] cmp edi,[eax+04h] jl L0045B6B1 cmp edi,[eax+0Ch] jge L0045B6B1 mov eax,[ebp+14h] mov [ebp+10h],ecx sar eax,0Ch sar esi,0Ch mov [ebp-34h],eax mov edi,eax mov eax,00001000h sub edi,esi cdq inc edi mov [ebp-04h],esi idiv edi mov edi,[ebp-10h] mov edx,[ebp+08h] mov esi,[ebp+20h] sub edi,ecx mov ecx,[ebp-0Ch] sub esi,ebx sub ecx,edx mov [ebp+1Ch],edx mov edx,[ebp-34h] mov [ebp+18h],ebx imul esi,eax imul edi,eax imul ecx,eax mov eax,[ebp-04h] sar esi,0Ch sar edi,0Ch sar ecx,0Ch cmp eax,edx mov [ebp-3Ch],ecx mov [ebp-2Ch],eax jg L0045B6A8 mov edx,[ebp-08h] lea edx,[edx+eax*2] mov [ebp-04h],edx L0045B5FA: mov edx,[ebp+24h] cmp eax,[edx] jl L0045B678 cmp eax,[edx+08h] jge L0045B678 mov edx,[ebp+1Ch] mov ecx,[ebp-000000B4h] mov ebx,[ebp-000000B0h] mov eax,[ebp+18h] sar edx,0Ch shl edx,cl mov ecx,[ebp+10h] sar ecx,0Ch sar eax,0Ch add edx,ecx xor ecx,ecx shl eax,05h mov cx,[ebx+edx*2] xor edx,edx add eax,L00716CF8 mov dx,[L006AAE7C+ecx*2] mov ecx,edx mov ebx,edx sar ecx,0Ah sar ebx,05h movzx cx,[ecx+eax] and ebx,0000001Fh and edx,0000001Fh shl ecx,05h movzx bx,[ebx+eax] movzx dx,[edx+eax] mov eax,[ebp-04h] or ecx,ebx mov ebx,[ebp-30h] shl ecx,05h or ecx,edx mov [eax],cx mov eax,[ebp-2Ch] mov ecx,[ebp-3Ch] L0045B678: mov edx,[ebp+18h] add edx,esi mov [ebp+18h],edx mov edx,[ebp+10h] add edx,edi mov [ebp+10h],edx mov edx,[ebp+1Ch] add edx,ecx inc eax mov [ebp+1Ch],edx mov edx,[ebp-04h] add edx,00000002h mov [ebp-2Ch],eax mov [ebp-04h],edx mov edx,[ebp-34h] cmp eax,edx jle L0045B5FA L0045B6A8: mov edi,[ebp-14h] mov ecx,[ebp-20h] mov esi,[ebp-24h] L0045B6B1: mov edx,[L004C7F34] mov eax,[ebp-08h] lea edx,[eax+edx*2] mov eax,[ebp-40h] mov [ebp-08h],edx mov edx,[ebp+14h] add esi,eax mov eax,[ebp-44h] add edx,eax mov eax,[ebp+20h] mov [ebp+14h],edx mov edx,[ebp-48h] add ebx,edx mov edx,[ebp-50h] add eax,edx mov edx,[ebp-10h] mov [ebp+20h],eax mov eax,[ebp-54h] add ecx,eax mov eax,[ebp-4Ch] add edx,eax mov eax,[ebp+08h] mov [ebp-10h],edx mov edx,[ebp-68h] add eax,edx mov edx,[ebp-0Ch] mov [ebp+08h],eax mov eax,[ebp-38h] add edx,eax mov eax,[ebp-64h] inc edi mov [ebp-24h],esi cmp edi,eax mov [ebp-30h],ebx mov [ebp-20h],ecx mov [ebp-0Ch],edx mov [ebp-14h],edi jle L0045B57F L0045B71E: mov eax,[ebp-6Ch] cmp edi,eax jg L0045BA33 mov edx,[ebp-28h] cmp [ebp-1Ch],edx jz L0045B7E4 mov esi,[ebp-000000BCh] mov edx,[ebp-000000D0h] mov ecx,eax mov ebx,[ebp-000000C4h] sub ecx,esi mov esi,[ebp+0Ch] mov eax,[ebp+esi-000000A8h] sub eax,edx shl eax,0Ch cdq idiv ecx mov [ebp-40h],eax mov eax,[ebp+esi-00000098h] sub eax,ebx shl eax,0Ch cdq idiv ecx shl ebx,0Ch mov [ebp-48h],eax mov eax,[ebp+esi-000000A0h] mov esi,[ebp-000000CCh] sub eax,esi shl eax,0Ch cdq idiv ecx mov edx,[ebp+0Ch] shl esi,0Ch mov [ebp-54h],eax mov eax,[ebp+edx-0000009Ch] sub eax,[ebp-000000ACh] shl eax,0Ch cdq idiv ecx mov ecx,[ebp-000000C0h] mov edx,[ebp-40h] lea ecx,[edx+ecx-00001000h] mov [ebp-24h],ecx mov ecx,[ebp-48h] add ebx,ecx mov ecx,[ebp-54h] add esi,ecx mov ecx,[ebp-000000ACh] shl ecx,0Ch mov [ebp-20h],esi mov [ebp-30h],ebx add ecx,eax mov [ebp-68h],eax mov [ebp+08h],ecx mov ecx,esi mov esi,[ebp-24h] jmp L0045B891 L0045B7E4: cmp [ebp-18h],edx jz L0045B891 mov edx,[ebp+0Ch] mov edi,eax mov eax,[ebp-000000C8h] sub edi,eax mov eax,[ebp+edx-000000A8h] sub eax,[ebp-000000B8h] shl eax,0Ch cdq idiv edi mov edx,[ebp-58h] mov [ebp-44h],eax mov eax,[ebp+0Ch] mov eax,[ebp+eax-00000098h] sub eax,edx shl eax,0Ch cdq idiv edi mov edx,[ebp+0Ch] mov [ebp-50h],eax mov eax,[ebp+edx-000000A0h] sub eax,[ebp-60h] shl eax,0Ch cdq idiv edi mov edx,[ebp-5Ch] mov [ebp-4Ch],eax mov eax,[ebp+0Ch] mov eax,[ebp+eax-0000009Ch] sub eax,edx shl eax,0Ch cdq idiv edi mov edx,[ebp-000000B8h] mov edi,[ebp-44h] shl edx,0Ch add edx,edi mov edi,[ebp-50h] mov [ebp+14h],edx mov edx,[ebp-58h] shl edx,0Ch add edx,edi mov edi,[ebp-4Ch] mov [ebp+20h],edx mov edx,[ebp-60h] shl edx,0Ch add edx,edi mov edi,[ebp-14h] mov [ebp-10h],edx mov edx,[ebp-5Ch] shl edx,0Ch add edx,eax mov [ebp-38h],eax mov [ebp-0Ch],edx L0045B891: mov eax,[ebp+24h] cmp edi,[eax+04h] jl L0045B9C6 cmp edi,[eax+0Ch] jge L0045B9C6 mov eax,[ebp+14h] mov [ebp+10h],ecx sar eax,0Ch sar esi,0Ch mov [ebp-34h],eax mov edi,eax mov eax,00001000h sub edi,esi cdq inc edi mov [ebp-04h],esi idiv edi mov edx,[ebp+08h] mov edi,[ebp-10h] mov esi,[ebp+20h] mov [ebp+1Ch],edx mov edx,[ebp-0Ch] sub edi,ecx mov ecx,[ebp+08h] sub esi,ebx sub edx,ecx mov ecx,[ebp-34h] mov [ebp+18h],ebx imul esi,eax imul edi,eax imul edx,eax mov eax,[ebp-04h] sar esi,0Ch sar edi,0Ch sar edx,0Ch cmp eax,ecx mov [ebp-3Ch],edx mov [ebp-2Ch],eax jge L0045B9BD mov ecx,[ebp-08h] lea ecx,[ecx+eax*2] mov [ebp+0Ch],ecx L0045B90F: mov ecx,[ebp+24h] cmp eax,[ecx] jl L0045B98D cmp eax,[ecx+08h] jge L0045B98D mov edx,[ebp+1Ch] mov ecx,[ebp-000000B4h] mov ebx,[ebp-000000B0h] mov eax,[ebp+18h] sar edx,0Ch shl edx,cl mov ecx,[ebp+10h] sar ecx,0Ch sar eax,0Ch add edx,ecx xor ecx,ecx shl eax,05h mov cx,[ebx+edx*2] xor edx,edx add eax,L00716CF8 mov dx,[L006AAE7C+ecx*2] mov ecx,edx mov ebx,edx sar ecx,0Ah sar ebx,05h movzx cx,[ecx+eax] and ebx,0000001Fh and edx,0000001Fh shl ecx,05h movzx bx,[ebx+eax] movzx dx,[edx+eax] mov eax,[ebp+0Ch] or ecx,ebx mov ebx,[ebp-30h] shl ecx,05h or ecx,edx mov edx,[ebp-3Ch] mov [eax],cx mov eax,[ebp-2Ch] L0045B98D: mov ecx,[ebp+18h] add ecx,esi mov [ebp+18h],ecx mov ecx,[ebp+10h] add ecx,edi mov [ebp+10h],ecx mov ecx,[ebp+1Ch] add ecx,edx inc eax mov [ebp+1Ch],ecx mov ecx,[ebp+0Ch] add ecx,00000002h mov [ebp-2Ch],eax mov [ebp+0Ch],ecx mov ecx,[ebp-34h] cmp eax,ecx jl L0045B90F L0045B9BD: mov edi,[ebp-14h] mov ecx,[ebp-20h] mov esi,[ebp-24h] L0045B9C6: mov edx,[L004C7F34] mov eax,[ebp-08h] lea edx,[eax+edx*2] mov eax,[ebp-40h] mov [ebp-08h],edx mov edx,[ebp+14h] add esi,eax mov eax,[ebp-44h] add edx,eax mov eax,[ebp+20h] mov [ebp+14h],edx mov edx,[ebp-48h] add ebx,edx mov edx,[ebp-50h] add eax,edx mov edx,[ebp-10h] mov [ebp+20h],eax mov eax,[ebp-54h] add ecx,eax mov eax,[ebp-4Ch] add edx,eax mov eax,[ebp+08h] mov [ebp-10h],edx mov edx,[ebp-68h] add eax,edx mov edx,[ebp-0Ch] mov [ebp+08h],eax mov eax,[ebp-38h] add edx,eax mov eax,[ebp-6Ch] inc edi mov [ebp-24h],esi cmp edi,eax mov [ebp-30h],ebx mov [ebp-20h],ecx mov [ebp-0Ch],edx mov [ebp-14h],edi jle L0045B891 L0045BA33: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0020h ;------------------------------------------------------------------------------ Align 8 SUB_L0045BA40: push ebp mov ebp,esp push FFFFFFFFh push L004B3A8B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx mov eax,[L0073EAA4] push ebx xor ebx,ebx push edi cmp eax,ebx mov edi,ecx jz L0045BA76 mov ecx,[eax+40h] mov [L0073EAA4],ecx jmp L0045BAF9 L0045BA76: push esi push 0000F004h mov dword ptr [L0073EA98],00000001h call SUB_L0049A820 add esp,00000004h mov [ebp-10h],eax cmp eax,ebx mov [ebp-04h],ebx jz L0045BABC push SUB_L0045C1D0 push SUB_L0045C140 lea esi,[eax+04h] push 00000200h push 00000078h push esi mov dword ptr [eax],00000200h call SUB_L0049AFF0 mov eax,esi jmp L0045BABE L0045BABC: xor eax,eax L0045BABE: mov ecx,[L0073EAA0] mov edx,[L0073EAA4] add ecx,00000200h mov [L0073EA98],ebx mov [L0073EAA0],ecx lea ecx,[eax+0000EF88h] mov esi,000001FFh L0045BAE7: mov [ecx+40h],edx mov edx,ecx sub ecx,00000078h dec esi jnz L0045BAE7 mov [L0073EAA4],edx pop esi L0045BAF9: mov ecx,[L0073EA9C] mov edx,edi inc ecx and edx,00003FFFh mov [L0073EA9C],ecx or ecx,FFFFFFFFh mov [eax+44h],ebx mov [eax+40h],ebx mov [eax+4Ch],ebx mov [eax+48h],ebx mov [eax+64h],ebx mov [eax+60h],ebx mov [eax+6Dh],bl mov [eax+54h],ebx mov [eax+50h],ebx mov [eax+5Ch],ebx mov [eax+58h],ebx mov [eax+38h],bx mov [eax+3Eh],bx mov [eax+6Eh],bl mov byte ptr [eax+6Ch],01h mov [eax+20h],cx mov [eax+22h],cx mov [eax+24h],bx mov [eax+68h],ebx mov [eax+74h],bl mov [eax+3Ah],bl mov [eax+3Ch],bx mov [eax+70h],ebx lea ecx,[edi+edi*4] mov [eax+38h],dx mov edx,[L006A9D98] shl ecx,03h pop edi pop ebx mov dx,[edx+ecx+08h] mov [eax+3Ch],dx mov edx,[L006A9D98] mov cx,[edx+ecx+0Eh] mov [eax+3Eh],cx mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 L0045BBA0: push ebp mov ebp,esp push ebx mov bl,[ebp+08h] push esi push edi test bl,02h mov esi,ecx jz L0045BBD6 mov eax,[esi-04h] lea edi,[esi-04h] push SUB_L0045C1D0 push eax push 00000078h push esi call SUB_L0049AEB0 push edi call SUB_L0049A810 add esp,00000004h mov eax,esi pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ L0045BBD6: mov ecx,esi call SUB_L0045C1D0 test bl,01h jz L0045BBEB push esi call SUB_L0049A810 add esp,00000004h L0045BBEB: mov eax,esi pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L0045BC00: push ebp mov ebp,esp push FFFFFFFFh push L004B3AAB mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000008h mov eax,[L0073EAB4] push ebx xor ebx,ebx push esi push edi cmp eax,ebx mov edi,edx mov [ebp-10h],ecx jz L0045BC3F mov ecx,[eax+00000080h] mov [L0073EAB4],ecx jmp L0045BCC3 L0045BC3F: push 00002A04h mov dword ptr [L0073EAA8],00000001h call SUB_L0049A820 add esp,00000004h mov [ebp-14h],eax cmp eax,ebx mov [ebp-04h],ebx jz L0045BC84 push SUB_L0045C4D0 push SUB_L0045C2E0 lea esi,[eax+04h] push 00000040h push 000000A8h push esi mov dword ptr [eax],00000040h call SUB_L0049AFF0 mov eax,esi jmp L0045BC86 L0045BC84: xor eax,eax L0045BC86: mov ecx,[L0073EAB0] mov edx,[L0073EAB4] add ecx,00000040h mov [L0073EAA8],ebx mov [L0073EAB0],ecx lea ecx,[eax+00002958h] mov esi,0000003Fh L0045BCAC: mov [ecx+00000080h],edx mov edx,ecx sub ecx,000000A8h dec esi jnz L0045BCAC mov [L0073EAB4],edx L0045BCC3: mov esi,[L0073EAAC] mov edx,[L006A9D5C] inc esi mov ecx,edx mov [L0073EAAC],esi cmp ecx,ebx mov [eax+00000080h],edx jz L0045BCE8 mov [ecx+00000084h],eax L0045BCE8: mov ecx,[L006A9D60] mov [L006A9D5C],eax cmp ecx,ebx jnz L0045BCFC mov [L006A9D60],eax L0045BCFC: mov ecx,[ebp-10h] mov dl,[ebp+08h] and edi,00003FFFh mov [eax+00000084h],ebx mov [eax+7Ch],ebx mov [eax+0000008Ch],ebx mov [eax+00000088h],ebx mov [eax+00000090h],ebx mov [eax+0000009Ch],ebx mov [eax+00000094h],ebx mov [eax+000000A0h],ebx mov [eax+000000A4h],ebx mov [eax+00000098h],bl mov [eax+78h],ecx mov ecx,[ebp-0Ch] mov [eax+38h],di pop edi mov [eax+3Ah],dl pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 4 L0045BD60: push ebp mov ebp,esp push ebx mov bl,[ebp+08h] push esi push edi test bl,02h mov esi,ecx jz L0045BD99 mov eax,[esi-04h] lea edi,[esi-04h] push SUB_L0045C4D0 push eax push 000000A8h push esi call SUB_L0049AEB0 push edi call SUB_L0049A810 add esp,00000004h mov eax,esi pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ L0045BD99: mov ecx,esi call SUB_L0045C4D0 test bl,01h jz L0045BDAE push esi call SUB_L0049A810 add esp,00000004h L0045BDAE: mov eax,esi pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L0045BDC0: push ebp mov ebp,esp push FFFFFFFFh push L004B3ACB mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000008h push ebx push esi mov esi,[L0073EAC4] mov ebx,edx test esi,esi mov [ebp-10h],ecx jz L0045BDF9 mov eax,[esi+14h] mov [L0073EAC4],eax jmp L0045BE8A L0045BDF9: push 00001E04h mov dword ptr [L0073EAB8],00000001h call SUB_L0049A820 add esp,00000004h mov [ebp-14h],eax test eax,eax mov dword ptr [ebp-04h],00000000h jz L0045BE42 push SUB_L0045C0A0 push L0045C080 lea esi,[eax+04h] push 00000080h push 0000003Ch push esi mov dword ptr [eax],00000080h call SUB_L0049AFF0 mov eax,esi jmp L0045BE44 L0045BE42: xor eax,eax L0045BE44: mov ecx,[L0073EAC0] mov esi,eax add ecx,00000080h mov dword ptr [ebp-04h],FFFFFFFFh mov [L0073EAC0],ecx mov ecx,[L0073EAC4] mov dword ptr [L0073EAB8],00000000h add eax,00001DC4h mov edx,0000007Fh L0045BE79: mov [eax+14h],ecx mov ecx,eax sub eax,0000003Ch dec edx jnz L0045BE79 mov [L0073EAC4],ecx L0045BE8A: mov edx,[L0073EABC] mov ecx,[ebp-10h] push ebx inc edx push ecx mov ecx,esi mov [L0073EABC],edx call SUB_L00433F30 mov ecx,[ebp-0Ch] mov eax,esi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 L0045BEC0: push ebp mov ebp,esp push ebx mov bl,[ebp+08h] push esi push edi test bl,02h mov esi,ecx jz L0045BEF6 mov eax,[esi-04h] lea edi,[esi-04h] push SUB_L0045C0A0 push eax push 0000003Ch push esi call SUB_L0049AEB0 push edi call SUB_L0049A810 add esp,00000004h mov eax,esi pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ L0045BEF6: mov ecx,esi call SUB_L0045C0A0 test bl,01h jz L0045BF0B push esi call SUB_L0049A810 add esp,00000004h L0045BF0B: mov eax,esi pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L0045BF20: push ebp mov ebp,esp push FFFFFFFFh push L004B3AEB mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000008h push ebx push esi mov esi,[L0073EAD4] mov ebx,edx test esi,esi mov [ebp-10h],ecx jz L0045BF59 mov eax,[esi+14h] mov [L0073EAD4],eax jmp L0045BFEA L0045BF59: push 00003A04h mov dword ptr [L0073EAC8],00000001h call SUB_L0049A820 add esp,00000004h mov [ebp-14h],eax test eax,eax mov dword ptr [ebp-04h],00000000h jz L0045BFA2 push SUB_L0045C100 push L0045C0E0 lea esi,[eax+04h] push 00000080h push 00000074h push esi mov dword ptr [eax],00000080h call SUB_L0049AFF0 mov eax,esi jmp L0045BFA4 L0045BFA2: xor eax,eax L0045BFA4: mov ecx,[L0073EAD0] mov esi,eax add ecx,00000080h mov dword ptr [ebp-04h],FFFFFFFFh mov [L0073EAD0],ecx mov ecx,[L0073EAD4] mov dword ptr [L0073EAC8],00000000h add eax,0000398Ch mov edx,0000007Fh L0045BFD9: mov [eax+14h],ecx mov ecx,eax sub eax,00000074h dec edx jnz L0045BFD9 mov [L0073EAD4],ecx L0045BFEA: mov ecx,[ebp+08h] mov eax,[L0073EACC] mov edx,[ebp-10h] push ecx inc eax push ebx push edx mov ecx,esi mov [L0073EACC],eax call SUB_L00434040 mov ecx,[ebp-0Ch] mov eax,esi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 8 L0045C020: push ebp mov ebp,esp push ebx mov bl,[ebp+08h] push esi push edi test bl,02h mov esi,ecx jz L0045C056 mov eax,[esi-04h] lea edi,[esi-04h] push SUB_L0045C100 push eax push 00000074h push esi call SUB_L0049AEB0 push edi call SUB_L0049A810 add esp,00000004h mov eax,esi pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ L0045C056: mov ecx,esi call SUB_L0045C100 test bl,01h jz L0045C06B push esi call SUB_L0049A810 add esp,00000004h L0045C06B: mov eax,esi pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 L0045C080: push esi mov esi,ecx call SUB_L0042FCC0 mov dword ptr [esi],L004BAF08 mov eax,esi pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L0045C0A0: mov dword ptr [ecx],L004BAF08 jmp SUB_L0042FD20 Align 8 L0045C0B0: push esi mov esi,ecx mov ecx,[L0073EABC] dec ecx mov [L0073EABC],ecx mov eax,[esi+1Ch] test eax,eax jz L0045C0CE mov eax,[esi] mov ecx,esi call [eax+14h] L0045C0CE: mov ecx,[L0073EAC4] mov [esi+14h],ecx mov [L0073EAC4],esi pop esi retn ;------------------------------------------------------------------------------ Align 4 L0045C0E0: push esi mov esi,ecx call SUB_L0042FCC0 mov dword ptr [esi],L004BAF60 mov eax,esi pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L0045C100: mov dword ptr [ecx],L004BAF60 jmp SUB_L0042FD20 Align 8 L0045C110: push esi mov esi,ecx mov ecx,[L0073EACC] dec ecx mov [L0073EACC],ecx mov eax,[esi+1Ch] test eax,eax jz L0045C12E mov eax,[esi] mov ecx,esi call [eax+14h] L0045C12E: mov ecx,[L0073EAD4] mov [esi+14h],ecx mov [L0073EAD4],esi pop esi retn ;------------------------------------------------------------------------------ Align 4 SUB_L0045C140: push esi mov esi,ecx call SUB_L0042FCC0 mov dword ptr [esi],L004BAFB8 mov ecx,[L0073EA98] xor eax,eax cmp ecx,eax jnz L0045C1A9 or ecx,FFFFFFFFh mov [esi+44h],eax mov [esi+40h],eax mov [esi+4Ch],eax mov [esi+48h],eax mov [esi+64h],eax mov [esi+60h],eax mov [esi+6Dh],al mov [esi+54h],eax mov [esi+50h],eax mov [esi+5Ch],eax mov [esi+58h],eax mov [esi+38h],ax mov [esi+3Eh],ax mov [esi+6Eh],al mov byte ptr [esi+6Ch],01h mov [esi+20h],cx mov [esi+22h],cx mov [esi+24h],ax mov [esi+68h],eax mov [esi+74h],al mov [esi+3Ah],al mov [esi+3Ch],ax mov [esi+70h],eax L0045C1A9: mov eax,esi pop esi retn ;------------------------------------------------------------------------------ Align 4 L0045C1B0: mov al,[ecx+74h] and eax,00000001h retn ;------------------------------------------------------------------------------ Align 16 L0045C1C0: db 80h; '?' db 49h; 'I' db 74h; 't' db 01h; db C3h; 'ƒ' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' SUB_L0045C1D0: push ebp mov ebp,esp push FFFFFFFFh push L004B3B08 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx mov [ebp-10h],esi mov dword ptr [esi],L004BAFB8 mov eax,[L007121E4] mov dword ptr [ebp-04h],00000000h test eax,eax jnz L0045C247 mov al,[esi+6Ch] test al,al jnz L0045C211 call SUB_L0045D050 L0045C211: mov dword ptr [L004D77BC],00000001h mov ecx,[esi+68h] test ecx,ecx jz L0045C22F L0045C222: mov eax,[ecx] push 00000001h call [eax] mov ecx,[esi+68h] test ecx,ecx jnz L0045C222 L0045C22F: mov dword ptr [L004D77BC],00000000h mov al,[esi+74h] test al,01h jz L0045C247 mov ecx,esi call SUB_L0045C7C0 L0045C247: mov ecx,esi mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L0042FD20 mov ecx,[ebp-0Ch] pop esi mov fs:[00000000h],ecx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 L0045C270: push esi mov esi,ecx mov ecx,[L0073EA9C] dec ecx mov [L0073EA9C],ecx mov al,[esi+6Ch] test al,al jnz L0045C28E mov eax,[esi] mov ecx,esi call [eax+50h] L0045C28E: mov ecx,[L0073EAA4] mov [esi+40h],ecx mov [L0073EAA4],esi mov dword ptr [L004D77BC],00000001h mov ecx,[esi+68h] test ecx,ecx jz L0045C2BB L0045C2AE: mov edx,[ecx] push 00000001h call [edx] mov ecx,[esi+68h] test ecx,ecx jnz L0045C2AE L0045C2BB: mov dword ptr [L004D77BC],00000000h mov eax,[esi] mov ecx,esi call [eax+68h] test eax,eax jz L0045C2D7 mov ecx,esi call SUB_L0045C7C0 L0045C2D7: pop esi retn ;------------------------------------------------------------------------------ Align 8 SUB_L0045C2E0: push esi mov esi,ecx call SUB_L0042FCC0 mov dword ptr [esi],L004BAFB8 mov ecx,[L0073EA98] xor eax,eax cmp ecx,eax jnz L0045C349 or ecx,FFFFFFFFh mov [esi+44h],eax mov [esi+40h],eax mov [esi+4Ch],eax mov [esi+48h],eax mov [esi+64h],eax mov [esi+60h],eax mov [esi+6Dh],al mov [esi+54h],eax mov [esi+50h],eax mov [esi+5Ch],eax mov [esi+58h],eax mov [esi+38h],ax mov [esi+3Eh],ax mov [esi+6Eh],al mov byte ptr [esi+6Ch],01h mov [esi+20h],cx mov [esi+22h],cx mov [esi+24h],ax mov [esi+68h],eax mov [esi+74h],al mov [esi+3Ah],al mov [esi+3Ch],ax mov [esi+70h],eax L0045C349: mov dword ptr [esi],L004BB040 mov ecx,[L0073EAA8] cmp ecx,eax jnz L0045C3BE mov ecx,[L006A9D5C] cmp ecx,eax mov [esi+00000080h],ecx jz L0045C36F mov [ecx+00000084h],esi L0045C36F: mov ecx,[L006A9D60] mov [L006A9D5C],esi cmp ecx,eax jnz L0045C385 mov [L006A9D60],esi L0045C385: mov [esi+00000084h],eax mov [esi+7Ch],eax mov [esi+0000008Ch],eax mov [esi+00000088h],eax mov [esi+00000090h],eax mov [esi+0000009Ch],eax mov [esi+00000094h],eax mov [esi+000000A0h],eax mov [esi+000000A4h],eax mov [esi+00000098h],al L0045C3BE: mov eax,esi pop esi retn ;------------------------------------------------------------------------------ Align 16 L0045C3D0: mov edx,[L0073EAAC] push ebx push esi mov esi,ecx dec edx xor ebx,ebx mov [L0073EAAC],edx mov eax,[esi+000000A0h] cmp eax,ebx push edi jz L0045C3F7 push eax call SUB_L0049A810 add esp,00000004h L0045C3F7: mov edi,[esi+00000094h] cmp edi,ebx jz L0045C411 mov ecx,edi call SUB_L00458980 push edi call SUB_L0049A810 add esp,00000004h L0045C411: mov eax,[esi+00000088h] cmp eax,ebx jz L0045C423 cmp [eax+34h],esi jnz L0045C423 mov [eax+34h],ebx L0045C423: mov eax,[esi+0000008Ch] cmp eax,ebx jz L0045C435 cmp [eax+34h],esi jnz L0045C435 mov [eax+34h],ebx L0045C435: cmp esi,[L00669CBC] jnz L0045C443 mov [L00669CBC],ebx L0045C443: cmp [esi+6Ch],bl jnz L0045C44F mov eax,[esi] mov ecx,esi call [eax+50h] L0045C44F: mov eax,[esi+00000080h] cmp eax,ebx jz L0045C467 mov ecx,[esi+00000084h] mov [eax+00000084h],ecx jmp L0045C473 L0045C467: mov edx,[esi+00000084h] mov [L006A9D60],edx L0045C473: mov eax,[esi+00000084h] cmp eax,ebx jz L0045C48B mov ecx,[esi+00000080h] mov [eax+00000080h],ecx jmp L0045C497 L0045C48B: mov edx,[esi+00000080h] mov [L006A9D5C],edx L0045C497: mov eax,[L0073EAB4] mov [esi+00000080h],eax mov [L0073EAB4],esi mov dword ptr [L004D77BC],00000001h mov ecx,[esi+68h] cmp ecx,ebx jz L0045C4C6 L0045C4B9: mov edx,[ecx] push 00000001h call [edx] mov ecx,[esi+68h] cmp ecx,ebx jnz L0045C4B9 L0045C4C6: pop edi mov [L004D77BC],ebx pop esi pop ebx retn ;------------------------------------------------------------------------------ SUB_L0045C4D0: push ebp mov ebp,esp push FFFFFFFFh push L004B3B30 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push esi push edi mov edi,ecx mov [ebp-10h],edi mov dword ptr [edi],L004BB040 mov eax,[L007121E4] xor ebx,ebx cmp eax,ebx mov [ebp-04h],ebx jnz L0045C532 mov eax,[edi+000000A0h] cmp eax,ebx jz L0045C518 push eax call SUB_L0049A810 add esp,00000004h L0045C518: mov esi,[edi+00000094h] cmp esi,ebx jz L0045C532 mov ecx,esi call SUB_L00458980 push esi call SUB_L0049A810 add esp,00000004h L0045C532: mov eax,[edi+00000088h] cmp eax,ebx jz L0045C544 cmp [eax+34h],edi jnz L0045C544 mov [eax+34h],ebx L0045C544: mov eax,[edi+0000008Ch] cmp eax,ebx jz L0045C556 cmp [eax+34h],edi jnz L0045C556 mov [eax+34h],ebx L0045C556: mov ebx,[L00669620] test ebx,ebx jz L0045C5C7 L0045C560: mov eax,[ebx] mov ecx,ebx call [eax+000000ACh] test eax,eax jz L0045C576 cmp [ebx+0000009Ch],edi jz L0045C5BD L0045C576: mov edx,[ebx] mov ecx,ebx call [edx+00000138h] test eax,eax jz L0045C5B4 mov esi,[ebx+44h] test esi,esi jz L0045C5B4 L0045C58B: mov eax,[esi] mov ecx,esi call [eax+000000ACh] test eax,eax jz L0045C5A1 cmp [esi+0000009Ch],edi jz L0045C5AA L0045C5A1: mov esi,[esi+3Ch] test esi,esi jnz L0045C58B jmp L0045C5B4 L0045C5AA: mov dword ptr [esi+0000009Ch],00000000h L0045C5B4: mov ebx,[ebx+3Ch] test ebx,ebx jnz L0045C560 jmp L0045C5C7 L0045C5BD: mov dword ptr [ebx+0000009Ch],00000000h L0045C5C7: cmp edi,[L00669CBC] jnz L0045C5D9 mov dword ptr [L00669CBC],00000000h L0045C5D9: mov al,[edi+6Ch] test al,al jnz L0045C5E7 mov ecx,edi call SUB_L0045DCF0 L0045C5E7: mov eax,[edi+00000080h] test eax,eax jz L0045C5FF mov ecx,[edi+00000084h] mov [eax+00000084h],ecx jmp L0045C60B L0045C5FF: mov edx,[edi+00000084h] mov [L006A9D60],edx L0045C60B: mov eax,[edi+00000084h] test eax,eax jz L0045C623 mov ecx,[edi+00000080h] mov [eax+00000080h],ecx jmp L0045C62F L0045C623: mov edx,[edi+00000080h] mov [L006A9D5C],edx L0045C62F: mov ebx,00000001h mov [L004D77BC],ebx mov ecx,[edi+68h] test ecx,ecx jz L0045C64D L0045C641: mov eax,[ecx] push ebx call [eax] mov ecx,[edi+68h] test ecx,ecx jnz L0045C641 L0045C64D: mov dword ptr [L004D77BC],00000000h mov dword ptr [edi],L004BAFB8 mov eax,[L007121E4] mov [ebp-04h],ebx test eax,eax jnz L0045C6A8 mov al,[edi+6Ch] test al,al jnz L0045C677 mov ecx,edi call SUB_L0045D050 L0045C677: mov [L004D77BC],ebx mov ecx,[edi+68h] test ecx,ecx jz L0045C690 L0045C684: mov edx,[ecx] push ebx call [edx] mov ecx,[edi+68h] test ecx,ecx jnz L0045C684 L0045C690: mov dword ptr [L004D77BC],00000000h mov al,[edi+74h] test bl,al jz L0045C6A8 mov ecx,edi call SUB_L0045C7C0 L0045C6A8: mov ecx,edi mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L0042FD20 mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L0045C6D0: push esi mov edx,ecx mov esi,ecx and edx,00008000h and esi,00004000h and ecx,00003FFFh mov eax,ecx jnz L0045C6EF mov eax,edx pop esi retn ;------------------------------------------------------------------------------ L0045C6EF: test eax,eax jl L0045C700 cmp eax,00000BB8h jge L0045C700 or eax,esi or eax,edx pop esi retn ;------------------------------------------------------------------------------ L0045C700: mov eax,esi pop esi or eax,edx or al,01h retn ;------------------------------------------------------------------------------ Align 16 SUB_L0045C710: push ebx push esi mov esi,ecx mov ebx,edx mov eax,[esi] call [eax+24h] test eax,eax jz L0045C77B cmp esi,[L0073EBE4] jz L0045C755 test bl,80h jz L0045C755 test byte ptr [esi+00000098h],80h jnz L0045C755 L0045C735: mov ecx,[L00669620] L0045C73B: test ecx,ecx jz L0045C755 cmp [ecx+34h],esi jz L0045C749 mov ecx,[ecx+3Ch] jmp L0045C73B L0045C749: test ecx,ecx jz L0045C735 mov edx,[ecx] push 00000001h call [edx] jmp L0045C735 L0045C755: mov edx,[esi] mov eax,ebx shr eax,06h and eax,00000001h mov ecx,esi mov [esi+00000150h],eax call [edx+00000090h] test eax,eax jz L0045C77B mov dword ptr [esi+00000150h],00000000h L0045C77B: mov [esi+00000098h],bl pop esi pop ebx retn ;------------------------------------------------------------------------------ Align 16 SUB_L0045C790: mov eax,[L006A9D50] test eax,eax mov [ecx+60h],eax jz L0045C79F mov [eax+64h],ecx L0045C79F: mov dword ptr [ecx+64h],00000000h mov eax,[L006A9D54] test eax,eax mov [L006A9D50],ecx jnz L0045C7BB mov [L006A9D54],ecx L0045C7BB: retn ;------------------------------------------------------------------------------ Align 8 SUB_L0045C7C0: cmp [L006A9D50],ecx jnz L0045C7D0 mov eax,[ecx+60h] mov [L006A9D50],eax L0045C7D0: cmp [L006A9D54],ecx jnz L0045C7E1 mov edx,[ecx+64h] mov [L006A9D54],edx L0045C7E1: mov eax,[ecx+60h] test eax,eax jz L0045C7EE mov edx,[ecx+64h] mov [eax+64h],edx L0045C7EE: mov eax,[ecx+64h] test eax,eax jz L0045C7FB mov ecx,[ecx+60h] mov [eax+60h],ecx L0045C7FB: retn ;------------------------------------------------------------------------------ Align 8 SUB_L0045C800: push esi mov esi,[L0073EBEC] xor eax,eax test esi,esi push edi jle L0045C851 mov edi,[L0073EBE8] lea edx,[edi+04h] L0045C817: cmp [edx],ecx jz L0045C828 inc eax add edx,00000010h cmp eax,esi jl L0045C817 xor eax,eax pop edi pop esi retn ;------------------------------------------------------------------------------ L0045C828: mov ecx,[L006A9D5C] test ecx,ecx jz L0045C851 shl eax,04h mov eax,[eax+edi] L0045C838: cmp [ecx+78h],eax jz L0045C84C mov ecx,[ecx+00000080h] test ecx,ecx jnz L0045C838 xor eax,eax pop edi pop esi retn ;------------------------------------------------------------------------------ L0045C84C: mov eax,ecx pop edi pop esi retn ;------------------------------------------------------------------------------ L0045C851: pop edi pop esi xor eax,eax retn ;------------------------------------------------------------------------------ Align 16 SUB_L0045C860: push esi push edi mov edi,[L0073EBEC] xor esi,esi test edi,edi jle L0045C891 mov eax,[L0073EBE8] L0045C873: cmp [eax],ecx jz L0045C889 cmp [eax+04h],edx jz L0045C889 inc esi add eax,00000010h cmp esi,edi jl L0045C873 xor eax,eax pop edi pop esi retn ;------------------------------------------------------------------------------ L0045C889: mov eax,00000001h pop edi pop esi retn ;------------------------------------------------------------------------------ L0045C891: pop edi pop esi xor eax,eax retn ;------------------------------------------------------------------------------ Align 16 SUB_L0045C8A0: push ebp mov ebp,esp sub esp,00000014h push ebx push esi push edi mov edi,[L0073EBEC] xor esi,esi mov [ebp-08h],edx test edi,edi mov [ebp-04h],ecx mov [ebp-0Ch],esi jle L0045C9AB mov eax,[L0073EBE8] xor ebx,ebx L0045C8C9: mov ecx,[eax+ebx] cmp ecx,[ebp-04h] jz L0045C8DB cmp [eax+ebx+04h],edx jnz L0045C996 L0045C8DB: mov [ebp-04h],ecx mov ecx,[eax+ebx+04h] mov edx,[eax+ebx+08h] mov [ebp-08h],ecx mov ecx,[eax+ebx+0Ch] mov [ebp-10h],edx mov [ebp-14h],ecx lea ecx,[edi-01h] cmp esi,ecx jge L0045C937 lea ecx,[esi+01h] cmp ecx,edi jge L0045C937 lea edx,[ebx+10h] L0045C904: mov edi,[eax+edx] add eax,edx inc ecx add edx,00000010h lea esi,[eax-10h] mov [eax-10h],edi mov edi,[eax+04h] mov [esi+04h],edi mov edi,[eax+08h] mov [esi+08h],edi mov eax,[eax+0Ch] mov [esi+0Ch],eax mov edi,[L0073EBEC] mov eax,[L0073EBE8] cmp ecx,edi jl L0045C904 mov edx,[ebp-10h] L0045C937: mov esi,[L006A9D5C] dec edi test esi,esi mov [L0073EBEC],edi jz L0045C95A L0045C948: mov ecx,[ebp-04h] cmp [esi+78h],ecx jz L0045C95C mov esi,[esi+00000080h] test esi,esi jnz L0045C948 L0045C95A: xor esi,esi L0045C95C: test esi,esi jz L0045C996 mov eax,[ebp-14h] neg eax sbb eax,eax and dl,07h and al,80h add eax,00000080h or al,dl mov [esi+6Eh],al mov eax,[esi+1Ch] test eax,eax jz L0045C98B mov edx,[esi] mov ecx,esi call [edx+14h] mov eax,[esi] mov ecx,esi call [eax+10h] L0045C98B: mov edi,[L0073EBEC] mov eax,[L0073EBE8] L0045C996: mov esi,[ebp-0Ch] mov edx,[ebp-08h] inc esi add ebx,00000010h cmp esi,edi mov [ebp-0Ch],esi jl L0045C8C9 L0045C9AB: mov eax,[ebp+08h] test eax,eax jnz L0045C9D7 mov eax,[L006A9D5C] test eax,eax jz L0045C9CA L0045C9BB: cmp [eax+78h],edx jz L0045C9CC mov eax,[eax+00000080h] test eax,eax jnz L0045C9BB L0045C9CA: xor eax,eax L0045C9CC: test eax,eax jz L0045C9D7 mov edx,[eax] mov ecx,eax call [edx+04h] L0045C9D7: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ SUB_L0045C9E0: push ebp mov ebp,esp sub esp,00000008h push ebx mov [ebp-08h],edx mov edx,[L0073EBEC] push esi push edi mov edi,ecx xor eax,eax mov [ebp-04h],edi test edx,edx jle L0045CA13 mov ecx,[L0073EBE8] L0045CA03: cmp [ecx],edi jz L0045CAC4 inc eax add ecx,00000010h cmp eax,edx jl L0045CA03 L0045CA13: inc edx shl edx,04h push edx call SUB_L0049A820 mov edx,[L0073EBEC] add esp,00000004h test edx,edx mov esi,eax jz L0045CA66 xor ecx,ecx test edx,edx jle L0045CA66 xor eax,eax L0045CA34: mov edx,[L0073EBE8] lea edi,[esi+eax] add edx,eax inc ecx add eax,00000010h mov ebx,[edx] mov [edi],ebx mov ebx,[edx+04h] mov [edi+04h],ebx mov ebx,[edx+08h] mov [edi+08h],ebx mov edx,[edx+0Ch] mov [edi+0Ch],edx mov edx,[L0073EBEC] cmp ecx,edx jl L0045CA34 mov edi,[ebp-04h] L0045CA66: mov eax,[L0073EBE8] test eax,eax jz L0045CA7E push eax call SUB_L0049A810 mov edx,[L0073EBEC] add esp,00000004h L0045CA7E: mov ecx,[ebp-08h] shl edx,04h mov [edx+esi],edi mov eax,[L0073EBEC] shl eax,04h mov [eax+esi+04h],ecx mov edx,[L0073EBEC] mov eax,[ebp+08h] shl edx,04h mov [edx+esi+08h],eax mov ecx,[L0073EBEC] mov edx,[ebp+0Ch] shl ecx,04h mov [ecx+esi+0Ch],edx mov eax,[L0073EBEC] inc eax mov [L0073EBE8],esi mov [L0073EBEC],eax L0045CAC4: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 4 SUB_L0045CAD0: push ebp mov ebp,esp mov eax,fs:[00000000h] push FFFFFFFFh push L004B3B48 push eax mov fs:[00000000h],esp push ebx push esi mov esi,ecx mov eax,[L006A9D3C] xor ebx,ebx cmp eax,ebx mov [ebp-04h],ebx mov [esi+44h],eax jz L0045CB00 mov [eax+40h],esi L0045CB00: mov eax,[L006A9D38] mov [L006A9D3C],esi cmp eax,ebx jnz L0045CB15 mov [L006A9D38],esi L0045CB15: mov cx,[ebp+08h] mov dx,[ebp+0Ah] mov ax,[ebp+0Ch] mov [esi+40h],ebx mov [esi+20h],cx mov [esi+22h],dx mov [esi+24h],ax mov edx,[esi] mov ecx,esi mov [esi+6Ch],bl call [edx+10h] mov ecx,[L006A9D98] xor eax,eax mov ax,[esi+38h] lea eax,[eax+eax*4] test dword ptr [ecx+eax*8],01000000h jz L0045CB6D mov edx,[L006A9D58] mov eax,edx mov [esi+50h],edx cmp eax,ebx jz L0045CB64 mov [eax+54h],esi L0045CB64: mov [esi+54h],ebx mov [L006A9D58],esi L0045CB6D: mov eax,[esi] mov ecx,esi call [eax+40h] test eax,00020000h jz L0045CBA5 mov ecx,[L006A9D48] mov eax,ecx mov [esi+58h],ecx cmp eax,ebx jz L0045CB8D mov [eax+5Ch],esi L0045CB8D: mov [esi+5Ch],ebx mov eax,[L006A9D4C] cmp eax,ebx mov [L006A9D48],esi jnz L0045CBA5 mov [L006A9D4C],esi L0045CBA5: mov edx,[esi] mov ecx,esi call [edx+40h] test eax,00800000h jz L0045CC1E cmp [esi+6Dh],bl jnz L0045CBEA mov byte ptr [esi+6Dh],01h mov eax,[L006A9D40] cmp eax,ebx mov [esi+48h],eax jz L0045CBCB mov [eax+4Ch],esi L0045CBCB: mov [esi+4Ch],ebx mov eax,[L006A9D44] cmp eax,ebx mov [L006A9D40],esi jnz L0045CBE3 mov [L006A9D44],esi L0045CBE3: mov ecx,esi call SUB_L00459170 L0045CBEA: cmp esi,[L0073EBE4] jnz L0045CC1E mov esi,[esi+0000009Ch] cmp esi,ebx jz L0045CC1E mov ecx,[L0073EA80] add ecx,esi mov [L0073EA80],ecx mov ecx,[L0066963C] cmp ecx,ebx jz L0045CC19 call SUB_L0047C890 L0045CC19: call SUB_L0045A290 L0045CC1E: mov ecx,[ebp-0Ch] pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ SUB_L0045CC30: push ebp mov ebp,esp mov eax,fs:[00000000h] push FFFFFFFFh push L004B3B68 push eax mov eax,00001904h mov fs:[00000000h],esp call SUB_L0049ACF0 push esi push edi mov edi,ecx mov esi,[ebp+08h] mov dword ptr [ebp-04h],00000000h mov ax,[esi+38h] cmp ax,2AF8h jnz L0045CC96 mov ecx,[ebp+0Ch] mov dx,[ebp+10h] sub esp,00000008h mov eax,esp push esi mov [eax],ecx mov ecx,edi mov [eax+04h],dx call SUB_L0045CDF0 mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ L0045CC96: cmp ax,0FA6h jnz L0045CCC8 mov ecx,[ebp+0Ch] mov dx,[ebp+10h] sub esp,00000008h mov eax,esp push esi mov [eax],ecx mov ecx,edi mov [eax+04h],dx call SUB_L0045CEE0 mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ L0045CCC8: mov eax,[esi] mov ecx,esi call [eax+64h] test eax,eax jz L0045CCFF mov edx,[ebp+0Ch] mov ax,[ebp+10h] sub esp,00000008h mov ecx,esp push esi mov [ecx],edx mov [ecx+04h],ax mov ecx,edi call SUB_L0045CF90 mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ L0045CCFF: mov eax,[esi+000000A8h] test eax,eax mov [edi+40h],eax jz L0045CD0F mov [eax+44h],edi L0045CD0F: mov cx,[ebp+0Ch] mov dx,[ebp+0Eh] mov ax,[ebp+10h] mov [esi+000000A8h],edi mov [edi+7Ch],esi mov [edi+20h],cx mov [edi+22h],dx mov [edi+24h],ax mov byte ptr [edi+6Ch],00h mov ecx,[esi+000000ACh] test ecx,ecx jz L0045CDB3 mov edx,[ecx] call [edx+000000F4h] mov ecx,[esi+000000ACh] test eax,eax jz L0045CD5A mov eax,[ecx] call [eax+00000144h] jmp L0045CDB3 L0045CD5A: mov edx,[ecx] call [edx+000000ACh] test eax,eax jz L0045CD74 mov ecx,[esi+000000ACh] push edi call SUB_L0042B110 jmp L0045CDB3 L0045CD74: mov ecx,[esi+000000ACh] mov eax,[ecx] call [eax+00000100h] test eax,eax jz L0045CDB3 mov ecx,[edi+78h] mov edx,[esi+78h] push ecx push edx lea eax,[ebp-00001910h] push 00000004h push eax mov ecx,L006BB1C0 call SUB_L00475880 lea ecx,[ebp-00001910h] push ecx mov ecx,[L006BB1CC] call SUB_L0048B170 L0045CDB3: mov edx,[esi] mov ecx,esi call [edx+54h] test eax,eax jz L0045CDD3 mov eax,[esi+7Ch] test eax,eax jnz L0045CDD3 mov eax,[esi] mov ecx,esi call [eax+14h] mov edx,[esi] mov ecx,esi call [edx+10h] L0045CDD3: mov ecx,[ebp-0Ch] pop edi mov fs:[00000000h],ecx pop esi mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 16 SUB_L0045CDF0: push ebp mov ebp,esp mov eax,fs:[00000000h] push FFFFFFFFh push L004B3B88 push eax mov fs:[00000000h],esp push ebx push esi push edi mov edi,ecx mov ebx,[ebp+08h] mov edx,[ebp+0Ch] xor ecx,ecx mov dword ptr [ebp-04h],00000000h mov eax,[ebx+000000A8h] test eax,eax jz L0045CE35 L0045CE26: cmp dx,[eax+20h] jle L0045CE35 mov ecx,eax mov eax,[eax+40h] test eax,eax jnz L0045CE26 L0045CE35: test eax,eax mov [edi+40h],eax jz L0045CE3F mov [eax+44h],edi L0045CE3F: test ecx,ecx mov [edi+44h],ecx jz L0045CE49 mov [ecx+40h],edi L0045CE49: cmp [ebx+000000A8h],eax jnz L0045CE57 mov [ebx+000000A8h],edi L0045CE57: mov ax,[ebp+0Eh] mov cx,[ebp+10h] mov [edi+7Ch],ebx mov [edi+20h],dx mov [edi+22h],ax mov [edi+24h],cx mov byte ptr [edi+6Ch],00h mov ecx,[ebx+000000ACh] test ecx,ecx jz L0045CE82 push edi call SUB_L0042B110 L0045CE82: mov esi,[L00669620] test esi,esi jz L0045CEC7 L0045CE8C: mov edx,[esi] mov ecx,esi call [edx+000000BCh] test eax,eax jz L0045CEC0 mov eax,[esi+34h] mov ecx,[ebx+7Ch] cmp eax,ecx jnz L0045CEC0 mov eax,[esi+000000BCh] test eax,eax jnz L0045CEC0 mov ecx,[edi+78h] push ecx mov ecx,esi call SUB_L0047F1D0 mov ecx,esi call SUB_L0047F310 L0045CEC0: mov esi,[esi+3Ch] test esi,esi jnz L0045CE8C L0045CEC7: mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 8 SUB_L0045CEE0: push ebp mov ebp,esp mov eax,fs:[00000000h] push FFFFFFFFh push L004B3BA8 push eax mov fs:[00000000h],esp push esi push edi mov esi,[ebp+08h] mov edi,[ebp+0Eh] xor edx,edx mov dword ptr [ebp-04h],00000000h mov eax,[esi+000000A8h] test eax,eax jz L0045CF22 L0045CF13: cmp di,[eax+22h] jge L0045CF22 mov edx,eax mov eax,[eax+40h] test eax,eax jnz L0045CF13 L0045CF22: test eax,eax mov [ecx+40h],eax jz L0045CF2C mov [eax+44h],ecx L0045CF2C: test edx,edx mov [ecx+44h],edx jz L0045CF36 mov [edx+40h],ecx L0045CF36: cmp [esi+000000A8h],eax jnz L0045CF44 mov [esi+000000A8h],ecx L0045CF44: mov ax,[ebp+0Ch] mov dx,[ebp+10h] mov [ecx+7Ch],esi mov [ecx+20h],ax mov [ecx+22h],di mov [ecx+24h],dx mov byte ptr [ecx+6Ch],00h mov eax,[esi+000000ACh] test eax,eax jz L0045CF71 push ecx mov ecx,eax call SUB_L0042B110 L0045CF71: mov ecx,[ebp-0Ch] pop edi mov fs:[00000000h],ecx pop esi mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 16 SUB_L0045CF90: push ebp mov ebp,esp mov eax,fs:[00000000h] push FFFFFFFFh push L004B3BC8 push eax mov fs:[00000000h],esp push esi push edi mov edi,[ebp+08h] xor edx,edx mov dword ptr [ebp-04h],00000000h mov eax,[edi+000000A8h] test eax,eax jz L0045CFD3 mov si,[ecx+3Ch] L0045CFC4: cmp si,[eax+3Ch] jbe L0045CFD3 mov edx,eax mov eax,[eax+40h] test eax,eax jnz L0045CFC4 L0045CFD3: test eax,eax mov [ecx+40h],eax jz L0045CFDD mov [eax+44h],ecx L0045CFDD: test edx,edx mov [ecx+44h],edx jz L0045CFE7 mov [edx+40h],ecx L0045CFE7: cmp [edi+000000A8h],eax jnz L0045CFF5 mov [edi+000000A8h],ecx L0045CFF5: mov ax,[ebp+0Ch] mov dx,[ebp+0Eh] mov [ecx+7Ch],edi mov [ecx+20h],ax mov ax,[ebp+10h] mov [ecx+22h],dx mov [ecx+24h],ax mov byte ptr [ecx+6Ch],00h mov ecx,[edi+000000ACh] test ecx,ecx jz L0045D038 mov edx,[ecx] call [edx+000000F4h] test eax,eax jz L0045D038 mov ecx,[edi+000000ACh] mov eax,[ecx] call [eax+00000144h] L0045D038: mov ecx,[ebp-0Ch] pop edi mov fs:[00000000h],ecx pop esi mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 8 SUB_L0045D050: push ebp mov ebp,esp push ecx push ebx push esi mov esi,ecx push edi xor edi,edi mov eax,[esi+1Ch] mov [ebp-04h],edi cmp eax,edi jz L0045D06A mov eax,[esi] call [eax+14h] L0045D06A: mov edx,[L006A9D98] xor eax,eax mov ax,[esi+38h] lea ecx,[eax+eax*4] test dword ptr [edx+ecx*8],01000000h jz L0045D0B2 mov eax,[esi+50h] cmp eax,edi jz L0045D08F mov ecx,[esi+54h] mov [eax+54h],ecx L0045D08F: mov eax,[esi+54h] cmp eax,edi jz L0045D09C mov edx,[esi+50h] mov [eax+50h],edx L0045D09C: cmp [L006A9D58],esi jnz L0045D0AC mov eax,[esi+50h] mov [L006A9D58],eax L0045D0AC: mov [esi+54h],edi mov [esi+50h],edi L0045D0B2: mov al,[esi+6Dh] test al,al jz L0045D100 cmp [L006A9D40],esi jnz L0045D0CA mov ecx,[esi+48h] mov [L006A9D40],ecx L0045D0CA: cmp [L006A9D44],esi jnz L0045D0DB mov edx,[esi+4Ch] mov [L006A9D44],edx L0045D0DB: mov eax,[esi+48h] cmp eax,edi jz L0045D0E8 mov ecx,[esi+4Ch] mov [eax+4Ch],ecx L0045D0E8: mov eax,[esi+4Ch] cmp eax,edi jz L0045D0F5 mov edx,[esi+48h] mov [eax+48h],edx L0045D0F5: mov ecx,esi mov byte ptr [esi+6Dh],00h call SUB_L00459170 L0045D100: mov eax,[esi] mov ecx,esi call [eax+40h] test eax,00020000h jz L0045D14A cmp [L006A9D48],esi jnz L0045D11F mov ecx,[esi+58h] mov [L006A9D48],ecx L0045D11F: cmp [L006A9D4C],esi jnz L0045D130 mov edx,[esi+5Ch] mov [L006A9D4C],edx L0045D130: mov eax,[esi+58h] cmp eax,edi jz L0045D13D mov ecx,[esi+5Ch] mov [eax+5Ch],ecx L0045D13D: mov eax,[esi+5Ch] cmp eax,edi jz L0045D14A mov edx,[esi+58h] mov [eax+58h],edx L0045D14A: mov eax,[esi] mov ecx,esi call [eax+2Ch] test eax,eax jz L0045D233 mov ecx,[esi+7Ch] cmp ecx,edi jz L0045D233 mov edx,[ecx] call [edx+24h] test eax,eax jz L0045D1DC mov ecx,[esi+7Ch] xor eax,eax mov al,[esi+00000099h] cmp eax,00000019h jnz L0045D183 mov [ecx+00000194h],edi L0045D183: cmp eax,00000001h jz L0045D18D cmp eax,00000002h jnz L0045D194 L0045D18D: mov byte ptr [ecx+000001A0h],00h L0045D194: cmp [ecx+eax*4+000000C4h],esi jnz L0045D233 mov [ecx+eax*4+000000C4h],edi mov edi,[L00669620] test edi,edi jz L0045D1D3 L0045D1B2: mov eax,[edi] mov ecx,edi call [eax+0000008Ch] test eax,eax jz L0045D1CC cmp [edi+34h],esi jnz L0045D1CC mov ecx,edi call SUB_L00478800 L0045D1CC: mov edi,[edi+3Ch] test edi,edi jnz L0045D1B2 L0045D1D3: mov dword ptr [esi+7Ch],00000000h jmp L0045D231 L0045D1DC: mov ebx,[esi+7Ch] cmp [ebx+000000A8h],esi jnz L0045D1F0 mov ecx,[esi+40h] mov [ebx+000000A8h],ecx L0045D1F0: mov [esi+7Ch],edi cmp word ptr [ebx+38h],2AF8h jnz L0045D233 mov edi,[L00669620] test edi,edi jz L0045D231 L0045D205: mov edx,[edi] mov ecx,edi call [edx+000000BCh] test eax,eax jz L0045D22A mov eax,[edi+34h] mov ecx,[ebx+7Ch] cmp eax,ecx jnz L0045D22A mov eax,[edi+000000BCh] test eax,eax jnz L0045D22A mov [ebp-04h],edi L0045D22A: mov edi,[edi+3Ch] test edi,edi jnz L0045D205 L0045D231: xor edi,edi L0045D233: cmp [L006A9D3C],esi jnz L0045D244 mov ecx,[esi+44h] mov [L006A9D3C],ecx L0045D244: cmp [L006A9D38],esi jnz L0045D255 mov edx,[esi+40h] mov [L006A9D38],edx L0045D255: mov eax,[esi+44h] cmp eax,edi jz L0045D262 mov ecx,[esi+40h] mov [eax+40h],ecx L0045D262: mov eax,[esi+40h] cmp eax,edi jz L0045D26F mov edx,[esi+44h] mov [eax+44h],edx L0045D26F: mov ebx,[ebp-04h] mov [esi+44h],edi cmp ebx,edi mov [esi+40h],edi mov byte ptr [esi+6Ch],01h jz L0045D292 mov eax,[esi+78h] mov ecx,ebx push eax call SUB_L0047F1D0 mov ecx,ebx call SUB_L0047F310 L0045D292: pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 SUB_L0045D2A0: push ebp mov ebp,esp mov eax,[ebp+0Ch] push esi push edi mov edi,[ebp+08h] mov esi,ecx xor ecx,ecx cmp eax,00000002h mov [esi+00000099h],al mov [edi+eax*4+000000C4h],esi mov [esi+7Ch],edi mov [esi+44h],ecx mov [esi+40h],ecx mov [esi+6Ch],cl jz L0045D2D2 cmp eax,00000001h jnz L0045D2D9 L0045D2D2: mov byte ptr [edi+000001A0h],01h L0045D2D9: cmp eax,00000019h jnz L0045D2E8 mov dword ptr [edi+00000194h],00000001h L0045D2E8: cmp eax,ecx jz L0045D365 mov eax,[esi] mov ecx,esi call [eax+40h] test eax,00800000h jz L0045D33A mov al,[esi+6Dh] test al,al jnz L0045D33A mov byte ptr [esi+6Dh],01h mov ecx,[L006A9D40] mov eax,ecx mov [esi+48h],ecx test eax,eax jz L0045D317 mov [eax+4Ch],esi L0045D317: mov dword ptr [esi+4Ch],00000000h mov eax,[L006A9D44] test eax,eax mov [L006A9D40],esi jnz L0045D333 mov [L006A9D44],esi L0045D333: mov ecx,esi call SUB_L00459170 L0045D33A: mov esi,[L00669620] test esi,esi jz L0045D365 L0045D344: mov edx,[esi] mov ecx,esi call [edx+0000008Ch] test eax,eax jz L0045D35E cmp [esi+34h],edi jnz L0045D35E mov ecx,esi call SUB_L00478800 L0045D35E: mov esi,[esi+3Ch] test esi,esi jnz L0045D344 L0045D365: pop edi pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 8 SUB_L0045D370: push ebp mov ebp,esp push FFFFFFFFh push L004B3BF0 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000018h push esi mov esi,ecx push 00000003h call SUB_L0045D480 test eax,eax jnz L0045D3A8 mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L0045D3A8: push edi lea eax,[esi+20h] mov dword ptr [ebp-04h],00000000h mov ecx,[eax] mov [ebp-1Ch],ecx mov dx,[ebp-1Ch] mov di,[eax+04h] mov ax,[ebp-1Ah] mov [ebp-14h],dx mov edx,[esi] mov ecx,esi mov [ebp-12h],ax mov [ebp-10h],di call [edx+2Ch] test eax,eax jz L0045D40D mov eax,[esi+7Ch] mov ecx,esi test eax,eax jz L0045D3ED L0045D3E4: mov ecx,eax mov eax,[ecx+7Ch] test eax,eax jnz L0045D3E4 L0045D3ED: add ecx,00000020h mov eax,[ecx] mov [ebp-1Ch],eax mov dx,[ebp-1Ah] mov di,[ecx+04h] mov cx,[ebp-1Ch] mov [ebp-14h],cx mov [ebp-12h],dx mov [ebp-10h],di L0045D40D: mov eax,[L0073EBE4] push 00000040h add eax,00000020h sub esp,00000008h mov byte ptr [ebp-04h],01h mov ecx,[eax] mov [ebp-24h],ecx mov cx,[ebp-22h] mov dx,[eax+04h] mov ax,[ebp-24h] mov [ebp-20h],dx mov edx,[ebp-20h] mov [ebp-1Ch],ax mov [ebp-1Ah],cx lea eax,[edx+0Ch] mov edx,[ebp-1Ch] mov ecx,esp sub esp,00000008h mov [ebp-18h],ax mov [ecx],edx mov [ecx+04h],ax mov ecx,[ebp-14h] mov eax,esp mov [eax],ecx mov ecx,L006AAA98 mov [eax+04h],di call SUB_L0044FA70 mov ecx,[ebp-0Ch] pop edi neg eax sbb eax,eax mov fs:[00000000h],ecx neg eax pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 4 SUB_L0045D480: push ebp mov ebp,esp push FFFFFFFFh push L004B3C08 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000008h push esi mov esi,ecx mov eax,[L0073EBE4] mov dword ptr [ebp-04h],00000000h cmp esi,eax jnz L0045D4C4 mov eax,00000001h mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop esi mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L0045D4C4: mov eax,[esi] mov ecx,esi call [eax+24h] test eax,eax jz L0045D504 mov eax,[esi+00000184h] test eax,eax jle L0045D4F2 add eax,00000021h lea ecx,[eax+eax*4] lea edx,[esi+ecx*2] mov eax,[esi+ecx*2] mov [ebp-14h],eax mov cx,[edx+04h] mov [ebp-10h],cx jmp L0045D558 L0045D4F2: add esi,00000020h mov edx,[esi] mov [ebp-14h],edx mov ax,[esi+04h] mov [ebp-10h],ax jmp L0045D558 L0045D504: mov edx,[esi] mov ecx,esi call [edx+2Ch] test eax,eax jz L0045D548 mov eax,[esi+00000094h] mov ecx,esi test eax,eax jz L0045D526 mov eax,[eax+10h] mov edx,[ebp+08h] add edx,eax mov [ebp+08h],edx L0045D526: mov eax,[esi+7Ch] test eax,eax jz L0045D536 L0045D52D: mov ecx,eax mov eax,[ecx+7Ch] test eax,eax jnz L0045D52D L0045D536: add ecx,00000020h mov edx,[ecx] mov [ebp-14h],edx mov ax,[ecx+04h] mov [ebp-10h],ax jmp L0045D558 L0045D548: add esi,00000020h mov ecx,[esi] mov [ebp-14h],ecx mov dx,[esi+04h] mov [ebp-10h],dx L0045D558: movsx eax,[ebp-14h] mov edx,[L006AAA9C] mov ecx,[ebp+08h] sub eax,edx cdq xor eax,edx sub eax,edx cmp eax,ecx jg L0045D599 movsx eax,[ebp-12h] sub eax,[L006AAAA0] cdq xor eax,edx sub eax,edx cmp eax,ecx jg L0045D599 mov eax,00000001h mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop esi mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L0045D599: mov ecx,[ebp-0Ch] xor eax,eax mov fs:[00000000h],ecx pop esi mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 8 SUB_L0045D5B0: push ebp mov ebp,esp push ecx push ebx push esi test edx,edx push edi mov [ebp-04h],edx mov ebx,ecx mov byte ptr [L0073EAD8],00h jnz L0045D62B mov ecx,[L006A9D98] lea eax,[ebx+ebx*4] mov eax,[ecx+eax*8] and eax,0000C000h cmp eax,00004000h jz L0045D5FB cmp eax,00008000h jz L0045D5F4 cmp eax,0000C000h jnz L0045D62B mov edi,SSZ004CC8C0_the_ jmp L0045D600 L0045D5F4: mov edi,L004CC8BC jmp L0045D600 L0045D5FB: mov edi,L004CC8B8 L0045D600: or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx mov esi,edi mov edx,ecx mov edi,L0073EAD8 or ecx,FFFFFFFFh repne scasb mov ecx,edx dec edi shr ecx,02h rep movsd mov ecx,edx mov edx,[ebp-04h] and ecx,00000003h rep movsb L0045D62B: mov ecx,[L006A9D98] lea eax,[ebx+ebx*4] mov edi,L0073EAD8 lea esi,[ecx+eax*8+13h] or ecx,FFFFFFFFh xor eax,eax repne scasb mov al,[esi] not ecx dec ecx add ecx,L0073EAD8 test al,al jz L0045D6D2 L0045D653: cmp al,25h jnz L0045D6C8 test edx,edx jz L0045D68E mov al,[esi+01h] inc esi test al,al jz L0045D676 L0045D663: cmp al,2Fh jz L0045D676 cmp al,25h jz L0045D676 mov [ecx],al mov al,[esi+01h] inc ecx inc esi test al,al jnz L0045D663 L0045D676: mov al,[esi] test al,al jz L0045D6C1 L0045D67C: cmp al,25h jz L0045D6C1 mov al,[esi+01h] inc esi test al,al jnz L0045D67C cmp al,25h jnz L0045D6CC jmp L0045D6CB L0045D68E: mov al,[esi+01h] inc esi test al,al jz L0045D6A6 L0045D696: cmp al,2Fh jz L0045D6A6 cmp al,25h jz L0045D6A6 mov al,[esi+01h] inc esi test al,al jnz L0045D696 L0045D6A6: cmp byte ptr [esi],2Fh jnz L0045D6AC inc esi L0045D6AC: mov al,[esi] test al,al jz L0045D6C1 L0045D6B2: cmp al,25h jz L0045D6C1 mov [ecx],al mov al,[esi+01h] inc ecx inc esi test al,al jnz L0045D6B2 L0045D6C1: cmp byte ptr [esi],25h jnz L0045D6CC jmp L0045D6CB L0045D6C8: mov [ecx],al inc ecx L0045D6CB: inc esi L0045D6CC: mov al,[esi] test al,al jnz L0045D653 L0045D6D2: pop edi pop esi mov byte ptr [ecx],00h mov eax,L0073EAD8 pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L0045D6F0: cmp ecx,00001B1Dh jl L0045D736 cmp ecx,00001DB2h jg L0045D736 cmp ecx,00001B1Eh jle L0045D730 cmp ecx,00001CDDh jl L0045D718 cmp ecx,00001CF0h jle L0045D730 L0045D718: cmp ecx,00001D9Fh jl L0045D728 cmp ecx,00001DA4h jle L0045D730 L0045D728: cmp ecx,00001DADh jl L0045D736 L0045D730: mov eax,00000001h retn ;------------------------------------------------------------------------------ L0045D736: xor eax,eax retn ;------------------------------------------------------------------------------ Align 8 SUB_L0045D740: movsx eax,[ecx+3Ah] xor edx,edx mov dx,[ecx+38h] add eax,edx cmp eax,00001B1Dh jl L0045D78A cmp eax,00001DB2h jg L0045D78A cmp eax,00001B1Eh jle L0045D784 cmp eax,00001CDDh jl L0045D76F cmp eax,00001CF0h jle L0045D784 L0045D76F: cmp eax,00001D9Fh jl L0045D77D cmp eax,00001DA4h jle L0045D784 L0045D77D: cmp eax,00001DADh jl L0045D78A L0045D784: mov eax,00000001h retn ;------------------------------------------------------------------------------ L0045D78A: xor eax,eax retn ;------------------------------------------------------------------------------ Align 4 SUB_L0045D790: cmp ecx,00000E20h jl L0045D892 cmp ecx,00001D9Eh jg L0045D892 cmp ecx,0000127Bh jle L0045D7BC cmp ecx,00001CC7h jl L0045D892 L0045D7BC: cmp ecx,00000E20h jz L0045D88C cmp ecx,00000E22h jl L0045D7DC cmp ecx,00000E23h jle L0045D88C L0045D7DC: cmp ecx,0000111Bh jl L0045D7F0 cmp ecx,00001121h jle L0045D88C L0045D7F0: cmp ecx,0000120Eh jl L0045D804 cmp ecx,00001216h jle L0045D88C L0045D804: cmp ecx,0000122Ah jl L0045D814 cmp ecx,00001230h jle L0045D88C L0045D814: cmp ecx,00001245h jl L0045D824 cmp ecx,0000124Dh jle L0045D88C L0045D824: cmp ecx,0000125Eh jl L0045D834 cmp ecx,00001261h jle L0045D88C L0045D834: cmp ecx,0000126Fh jl L0045D844 cmp ecx,00001272h jle L0045D88C L0045D844: cmp ecx,00001278h jl L0045D854 cmp ecx,0000127Bh jle L0045D88C L0045D854: cmp ecx,00001CC7h jl L0045D864 cmp ecx,00001CDCh jle L0045D88C L0045D864: cmp ecx,00001CF1h jl L0045D874 cmp ecx,00001D12h jle L0045D88C L0045D874: cmp ecx,00001D92h jge L0045D88C cmp ecx,0000111Bh jl L0045D892 cmp ecx,00001121h jg L0045D892 L0045D88C: mov eax,00000001h retn ;------------------------------------------------------------------------------ L0045D892: xor eax,eax retn ;------------------------------------------------------------------------------ Align 16 SUB_L0045D8A0: mov eax,ecx xor edx,edx movsx ecx,[eax+3Ah] mov dx,[eax+38h] add ecx,edx jmp SUB_L0045D790 Align 16 SUB_L0045D8C0: push esi mov esi,ecx mov eax,[esi] call [eax+40h] test ah,08h jz L0045D8D8 mov edx,00000001h cmp [esi+3Ch],dx ja L0045D8DA L0045D8D8: xor edx,edx L0045D8DA: movsx eax,[esi+3Ah] xor ecx,ecx mov cx,[esi+38h] add ecx,eax call SUB_L0045D5B0 pop esi retn ;------------------------------------------------------------------------------ Align 4 L0045D8F0: push esi mov esi,ecx cmp word ptr [esi+38h],4000h jbe L0045D8FF xor eax,eax pop esi retn ;------------------------------------------------------------------------------ L0045D8FF: mov eax,[esi] mov ecx,esi call [eax+00000080h] test eax,eax jz L0045D967 mov ax,[esi+3Ch] cmp ax,0001h ja L0045D930 xor ecx,ecx mov cx,[esi+38h] add ecx,00004000h push ecx mov ecx,L006A9DB8 call SUB_L004882D0 pop esi retn ;------------------------------------------------------------------------------ L0045D930: cmp ax,0005h ja L0045D94F xor edx,edx mov ecx,L006A9DB8 mov dx,[esi+38h] add edx,00004001h push edx call SUB_L004882D0 pop esi retn ;------------------------------------------------------------------------------ L0045D94F: xor eax,eax mov ecx,L006A9DB8 mov ax,[esi+38h] add eax,00004002h push eax call SUB_L004882D0 pop esi retn ;------------------------------------------------------------------------------ L0045D967: movsx ecx,[esi+3Ah] xor edx,edx mov dx,[esi+38h] lea eax,[ecx+edx+00004000h] mov ecx,L006A9DB8 push eax call SUB_L004882D0 pop esi retn ;------------------------------------------------------------------------------ Align 16 L0045D990: xor eax,eax mov ax,[ecx+38h] movsx ecx,[ecx+3Ah] add eax,ecx mov ecx,[L006A9D98] lea edx,[eax+eax*4] xor eax,eax mov al,[ecx+edx*8+12h] retn ;------------------------------------------------------------------------------ Align 8 L0045D9B0: xor eax,eax mov ax,[ecx+38h] movsx ecx,[ecx+3Ah] add eax,ecx lea edx,[eax+eax*4] mov eax,[L006A9D98] mov eax,[eax+edx*8] retn ;------------------------------------------------------------------------------ Align 16 L0045D9D0: xor eax,eax mov ax,[ecx+38h] movsx ecx,[ecx+3Ah] add eax,ecx mov ecx,[L006A9D98] lea edx,[eax+eax*4] xor eax,eax mov ax,[ecx+edx*8+10h] retn ;------------------------------------------------------------------------------ Align 4 L0045D9F0: push esi mov esi,ecx xor ecx,ecx movsx eax,[esi+3Ah] mov cx,[esi+38h] add eax,ecx lea edx,[eax+eax*4] mov eax,[L006A9D98] mov ecx,[eax+edx*8] test ch,08h jz L0045DA28 mov edx,[esi] mov ecx,esi call [edx+00000080h] test eax,eax jnz L0045DA28 mov eax,00000001h cmp [esi+3Ch],ax ja L0045DA2A L0045DA28: xor eax,eax L0045DA2A: pop esi retn ;------------------------------------------------------------------------------ Align 8 L0045DA30: xor eax,eax mov ax,[ecx+38h] cmp eax,0000028Eh jz L0045DA47 cmp eax,00000EEDh jz L0045DA47 xor eax,eax retn ;------------------------------------------------------------------------------ L0045DA47: mov eax,00000001h retn ;------------------------------------------------------------------------------ Align 4 SUB_L0045DA50: mov eax,[ecx+68h] push ebx push esi push edi xor esi,esi xor edi,edi test eax,eax jz L0045DA6B L0045DA5E: mov esi,eax mov eax,[eax+000000B0h] inc edi test eax,eax jnz L0045DA5E L0045DA6B: cmp edi,00000003h jl L0045DAA3 L0045DA70: test esi,esi jz L0045DAA3 L0045DA74: mov ecx,esi call SUB_L00401B30 test eax,eax jz L0045DA89 mov esi,[esi+000000B4h] test esi,esi jnz L0045DA74 L0045DA89: test esi,esi jz L0045DAA3 mov eax,[esi] mov ebx,[esi+000000B4h] push 00000001h mov ecx,esi call [eax] dec edi mov esi,ebx cmp edi,00000003h jge L0045DA70 L0045DAA3: pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ Align 16 SUB_L0045DAB0: push esi mov esi,[ecx+68h] test esi,esi jz L0045DADD push edi L0045DAB9: mov edi,[esi+000000B0h] mov ecx,esi call SUB_L00401B30 test eax,eax jnz L0045DAD6 test esi,esi jz L0045DAD6 mov eax,[esi] push 00000001h mov ecx,esi call [eax] L0045DAD6: test edi,edi mov esi,edi jnz L0045DAB9 pop edi L0045DADD: pop esi retn ;------------------------------------------------------------------------------ Align 4 SUB_L0045DAE0: push ebp mov ebp,esp push FFFFFFFFh push L004B3C2B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000008h mov eax,[ecx+68h] push ebx push esi push edi xor esi,esi xor edi,edi test eax,eax mov [ebp-10h],ecx jz L0045DB19 L0045DB0C: mov esi,eax mov eax,[eax+000000B0h] inc edi test eax,eax jnz L0045DB0C L0045DB19: cmp edi,00000003h jl L0045DB51 L0045DB1E: test esi,esi jz L0045DB51 L0045DB22: mov ecx,esi call SUB_L00401B30 test eax,eax jz L0045DB37 mov esi,[esi+000000B4h] test esi,esi jnz L0045DB22 L0045DB37: test esi,esi jz L0045DB51 mov eax,[esi] mov ebx,[esi+000000B4h] push 00000001h mov ecx,esi call [eax] dec edi mov esi,ebx cmp edi,00000003h jge L0045DB1E L0045DB51: push 000000E4h call SUB_L0049A820 add esp,00000004h mov [ebp-14h],eax test eax,eax mov dword ptr [ebp-04h],00000000h jz L0045DB9E mov ecx,[ebp+18h] mov edx,[ebp+14h] push ecx mov ecx,[ebp+10h] push edx mov edx,[ebp+0Ch] push ecx mov ecx,[ebp+08h] push edx mov edx,[ebp-10h] push ecx push edx mov ecx,eax call SUB_L004012C0 mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0014h ;------------------------------------------------------------------------------ L0045DB9E: mov ecx,[ebp-0Ch] pop edi pop esi xor eax,eax mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0014h ;------------------------------------------------------------------------------ Align 16 SUB_L0045DBC0: push ebp mov ebp,esp push FFFFFFFFh push L004B3C4B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx mov ebx,ecx push esi push edi mov esi,[ebx+68h] test esi,esi jz L0045DC08 L0045DBE5: mov edi,[esi+000000B0h] mov ecx,esi call SUB_L00401B30 test eax,eax jnz L0045DC02 test esi,esi jz L0045DC02 mov eax,[esi] push 00000001h mov ecx,esi call [eax] L0045DC02: test edi,edi mov esi,edi jnz L0045DBE5 L0045DC08: push 000000E4h call SUB_L0049A820 add esp,00000004h mov [ebp-10h],eax test eax,eax mov dword ptr [ebp-04h],00000000h jz L0045DC50 mov ecx,[ebp+14h] mov edx,[ebp+10h] push 00000000h push ecx mov ecx,[ebp+0Ch] push edx mov edx,[ebp+08h] push ecx push edx push ebx mov ecx,eax call SUB_L004012C0 mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0010h ;------------------------------------------------------------------------------ L0045DC50: mov ecx,[ebp-0Ch] pop edi pop esi xor eax,eax mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0010h ;------------------------------------------------------------------------------ Align 16 L0045DC70: push esi mov esi,ecx mov ecx,[esi+7Ch] test ecx,ecx jz L0045DCA5 mov eax,[ecx] call [eax+24h] test eax,eax jz L0045DCA5 mov eax,[esi+7Ch] xor ecx,ecx add eax,000000C4h L0045DC8D: cmp [eax],esi jz L0045DC9E inc ecx add eax,00000004h cmp ecx,0000001Eh jl L0045DC8D xor eax,eax pop esi retn ;------------------------------------------------------------------------------ L0045DC9E: mov eax,00000001h pop esi retn ;------------------------------------------------------------------------------ L0045DCA5: xor eax,eax pop esi retn ;------------------------------------------------------------------------------ Align 8 L0045DCB0: push esi mov esi,ecx call SUB_L0048B870 test eax,eax jnz L0045DCE4 test byte ptr [esi+00000098h],20h jnz L0045DCE4 movsx eax,[esi+3Ah] xor ecx,ecx mov cx,[esi+38h] add eax,ecx lea edx,[eax+eax*4] mov eax,[L006A9D98] cmp byte ptr [eax+edx*8+04h],5Ah jbe L0045DCE4 xor eax,eax pop esi retn ;------------------------------------------------------------------------------ L0045DCE4: mov eax,00000001h pop esi retn ;------------------------------------------------------------------------------ Align 8 SUB_L0045DCF0: push ebp mov ebp,esp sub esp,00000020h push ebx push esi push edi mov edi,ecx xor ebx,ebx mov ecx,[edi+7Ch] mov [ebp-04h],ebx cmp ecx,ebx mov [ebp-08h],ebx jnz L0045DD18 cmp [edi+1Ch],ebx jz L0045DD29 mov eax,[edi] mov ecx,edi call [eax+14h] jmp L0045DD29 L0045DD18: mov edx,[ecx] call [edx+24h] test eax,eax jz L0045DD29 mov ecx,[edi+7Ch] call SUB_L00430E30 L0045DD29: mov ecx,[L006A9D98] xor eax,eax mov ax,[edi+38h] lea eax,[eax+eax*4] test dword ptr [ecx+eax*8],01000000h jz L0045DD72 mov eax,[edi+50h] cmp eax,ebx jz L0045DD4E mov edx,[edi+54h] mov [eax+54h],edx L0045DD4E: mov eax,[edi+54h] cmp eax,ebx jz L0045DD5B mov ecx,[edi+50h] mov [eax+50h],ecx L0045DD5B: cmp [L006A9D58],edi jnz L0045DD6C mov edx,[edi+50h] mov [L006A9D58],edx L0045DD6C: mov [edi+54h],ebx mov [edi+50h],ebx L0045DD72: mov al,[edi+6Dh] test al,al jz L0045DDBF cmp [L006A9D40],edi jnz L0045DD89 mov eax,[edi+48h] mov [L006A9D40],eax L0045DD89: cmp [L006A9D44],edi jnz L0045DD9A mov ecx,[edi+4Ch] mov [L006A9D44],ecx L0045DD9A: mov eax,[edi+48h] cmp eax,ebx jz L0045DDA7 mov edx,[edi+4Ch] mov [eax+4Ch],edx L0045DDA7: mov eax,[edi+4Ch] cmp eax,ebx jz L0045DDB4 mov ecx,[edi+48h] mov [eax+48h],ecx L0045DDB4: mov ecx,edi mov byte ptr [edi+6Dh],00h call SUB_L00459170 L0045DDBF: mov edx,[edi] mov ecx,edi call [edx+40h] test eax,00020000h jz L0045DE08 cmp [L006A9D48],edi jnz L0045DDDD mov eax,[edi+58h] mov [L006A9D48],eax L0045DDDD: cmp [L006A9D4C],edi jnz L0045DDEE mov ecx,[edi+5Ch] mov [L006A9D4C],ecx L0045DDEE: mov eax,[edi+58h] cmp eax,ebx jz L0045DDFB mov edx,[edi+5Ch] mov [eax+5Ch],edx L0045DDFB: mov eax,[edi+5Ch] cmp eax,ebx jz L0045DE08 mov ecx,[edi+58h] mov [eax+58h],ecx L0045DE08: mov ecx,[edi+7Ch] cmp ecx,ebx jz L0045DED2 mov edx,[ecx] call [edx+54h] test eax,eax jz L0045DE24 mov ecx,[edi+7Ch] call SUB_L00430E30 L0045DE24: mov eax,[edi+7Ch] mov edx,[edi] mov ecx,edi mov [ebp-04h],eax call [edx+58h] test eax,eax jz L0045DE79 mov ecx,[edi+7Ch] xor eax,eax mov al,[edi+00000099h] mov [ecx+eax*4+000000C4h],ebx mov esi,[L00669620] cmp esi,ebx jz L0045DE8D L0045DE51: mov edx,[esi] mov ecx,esi call [edx+0000008Ch] test eax,eax jz L0045DE70 mov eax,[ebp-04h] mov ecx,[esi+34h] cmp ecx,eax jnz L0045DE70 mov ecx,esi call SUB_L00478800 L0045DE70: mov esi,[esi+3Ch] cmp esi,ebx jnz L0045DE51 jmp L0045DE8D L0045DE79: mov eax,[edi+7Ch] cmp [eax+000000A8h],edi jnz L0045DE8D mov ecx,[edi+40h] mov [eax+000000A8h],ecx L0045DE8D: mov edx,[ebp-04h] mov [edi+7Ch],ebx cmp word ptr [edx+38h],2AF8h jnz L0045DEFE mov esi,[L00669620] cmp esi,ebx jz L0045DEFE L0045DEA5: mov eax,[esi] mov ecx,esi call [eax+000000BCh] test eax,eax jz L0045DEC9 mov edx,[ebp-04h] mov ecx,[esi+34h] cmp ecx,[edx+7Ch] jnz L0045DEC9 cmp [esi+000000BCh],ebx jnz L0045DEC9 mov [ebp-08h],esi L0045DEC9: mov esi,[esi+3Ch] cmp esi,ebx jnz L0045DEA5 jmp L0045DEFE L0045DED2: mov eax,[edi+0000009Ch] cmp eax,ebx jz L0045DEFE mov ecx,[L0073EA80] sub ecx,eax mov [L0073EA80],ecx mov ecx,[L0066963C] cmp ecx,ebx jz L0045DEF9 call SUB_L0047C890 L0045DEF9: call SUB_L0045A290 L0045DEFE: cmp [L006A9D3C],edi jnz L0045DF0E mov eax,[edi+44h] mov [L006A9D3C],eax L0045DF0E: cmp [L006A9D38],edi jnz L0045DF1F mov ecx,[edi+40h] mov [L006A9D38],ecx L0045DF1F: mov eax,[edi+44h] cmp eax,ebx jz L0045DF2C mov edx,[edi+40h] mov [eax+40h],edx L0045DF2C: mov eax,[edi+40h] cmp eax,ebx jz L0045DF39 mov ecx,[edi+44h] mov [eax+44h],ecx L0045DF39: mov eax,[ebp-04h] mov [edi+44h],ebx cmp eax,ebx mov [edi+40h],ebx mov byte ptr [edi+6Ch],01h jz L0045E03A mov cx,[edi+38h] cmp cx,3584h jc L0045DF9C cmp cx,35A1h ja L0045DF9C lea edx,[ebp-10h] and ecx,0000FFFFh push edx lea edx,[ebp-0Ch] sub ecx,00002C69h call SUB_L004390A0 movsx eax,[edi+20h] mov ecx,[ebp-0Ch] mov [ebp-20h],eax lea edx,[ecx+eax-01h] mov ecx,[ebp-10h] movsx eax,[edi+22h] mov [ebp-18h],edx mov [ebp-1Ch],eax lea edx,[ecx+eax-01h] mov [ebp-14h],edx jmp L0045DFD3 L0045DF9C: mov eax,[edi] mov ecx,edi call [eax+78h] test eax,eax jz L0045E03A movsx ecx,[edi+20h] xor edx,edx mov [ebp-20h],ecx mov dx,[eax+04h] lea ecx,[edx+ecx-01h] xor edx,edx mov [ebp-18h],ecx movsx ecx,[edi+22h] mov [ebp-1Ch],ecx mov dx,[eax+06h] lea eax,[edx+ecx-01h] mov [ebp-14h],eax L0045DFD3: mov ebx,[L00669620] test ebx,ebx jz L0045E03A L0045DFDD: mov edx,[ebx] mov ecx,ebx call [edx+000000ACh] test eax,eax jz L0045E002 mov eax,[ebp-04h] mov ecx,[ebx+34h] cmp ecx,eax jnz L0045E002 lea ecx,[ebp-20h] push ecx mov ecx,ebx call SUB_L0042A720 jmp L0045E033 L0045E002: mov esi,[ebx+44h] test esi,esi jz L0045E033 L0045E009: mov edx,[esi] mov ecx,esi call [edx+000000ACh] test eax,eax jz L0045E02C mov eax,[ebp-04h] mov ecx,[esi+34h] cmp ecx,eax jnz L0045E02C lea ecx,[ebp-20h] push ecx mov ecx,esi call SUB_L0042A720 L0045E02C: mov esi,[esi+3Ch] test esi,esi jnz L0045E009 L0045E033: mov ebx,[ebx+3Ch] test ebx,ebx jnz L0045DFDD L0045E03A: mov esi,[ebp-08h] test esi,esi jz L0045E053 mov edx,[edi+78h] mov ecx,esi push edx call SUB_L0047F1D0 mov ecx,esi call SUB_L0047F310 L0045E053: mov ecx,[edi+00000088h] test ecx,ecx jz L0045E08A mov eax,[ecx] call [eax+00000104h] test eax,eax jz L0045E07A mov eax,[edi+00000088h] push eax mov ecx,[eax+48h] call SUB_L00403BD0 jmp L0045E08A L0045E07A: mov ecx,[edi+00000088h] test ecx,ecx jz L0045E08A mov edx,[ecx] push 00000001h call [edx] L0045E08A: mov ecx,[edi+0000008Ch] test ecx,ecx jz L0045E09A mov eax,[ecx] push 00000001h call [eax] L0045E09A: mov edi,[edi+00000090h] test edi,edi jz L0045E0AC mov edx,[edi] push 00000001h mov ecx,edi call [edx] L0045E0AC: pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L0045E0C0: push ebp mov ebp,esp mov eax,[L0073EBE4] push esi push edi mov edi,ecx cmp edi,eax jnz L0045E110 mov eax,[edi+0000009Ch] mov esi,[ebp+08h] cmp eax,esi jz L0045E110 mov cl,[edi+6Ch] test cl,cl jnz L0045E10A mov edx,[L0073EA80] mov ecx,esi sub ecx,eax add edx,ecx mov ecx,[L0066963C] test ecx,ecx mov [L0073EA80],edx jz L0045E105 call SUB_L0047C890 L0045E105: call SUB_L0045A290 L0045E10A: mov [edi+0000009Ch],esi L0045E110: pop edi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 L0045E120: push ebp mov ebp,esp push esi mov esi,ecx call SUB_L0045E200 test byte ptr [ebp+08h],01h jz L0045E13A push esi call SUB_L0049A810 add esp,00000004h L0045E13A: mov eax,esi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L0045E150: push ebp mov ebp,esp push esi mov esi,ecx call SUB_L0045C2E0 mov eax,[ebp+08h] mov edx,[ebp+0Ch] mov [esi+78h],eax mov al,[ebp+10h] mov [esi+3Ah],al mov eax,[ebp+14h] xor ecx,ecx and edx,00003FFFh cmp eax,ecx mov dword ptr [esi],L004BB0C8 mov [esi+000000A8h],ecx mov [esi+000000ACh],ecx mov [esi+000000B0h],ecx mov [esi+38h],dx jnz L0045E1E8 mov eax,[esi+00000080h] cmp eax,ecx jz L0045E1AB mov edx,[esi+00000084h] mov [eax+00000084h],edx L0045E1AB: mov eax,[esi+00000084h] cmp eax,ecx jz L0045E1C1 mov edx,[esi+00000080h] mov [eax+00000080h],edx L0045E1C1: cmp esi,[L006A9D5C] jnz L0045E1D4 mov eax,[esi+00000080h] mov [L006A9D5C],eax L0045E1D4: cmp esi,[L006A9D60] jnz L0045E1E8 mov edx,[esi+00000084h] mov [L006A9D60],edx L0045E1E8: mov [esi+000000B8h],ecx mov eax,esi pop esi pop ebp retn 0010h ;------------------------------------------------------------------------------ Align 16 SUB_L0045E200: push ebp mov ebp,esp push FFFFFFFFh push L004B3C68 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx mov [ebp-10h],esi mov dword ptr [esi],L004BB0C8 mov al,[esi+6Ch] mov dword ptr [ebp-04h],00000000h test al,al jnz L0045E238 call SUB_L0045DCF0 L0045E238: mov ecx,[esi+000000B0h] test ecx,ecx jz L0045E251 L0045E242: mov eax,[ecx] call [eax+04h] mov ecx,[esi+000000B0h] test ecx,ecx jnz L0045E242 L0045E251: mov ecx,[esi+000000ACh] test ecx,ecx jz L0045E2AD mov edx,[ecx] call [edx+000000ACh] test eax,eax jz L0045E29D mov ecx,[esi+000000ACh] mov eax,[ecx+000000A0h] test eax,eax jz L0045E29D cmp [eax+000000B8h],ecx jnz L0045E28B mov dword ptr [eax+000000B8h],00000000h jmp L0045E29D L0045E28B: cmp [eax+000000BCh],ecx jnz L0045E29D mov dword ptr [eax+000000BCh],00000000h L0045E29D: mov ecx,[esi+000000ACh] test ecx,ecx jz L0045E2AD mov eax,[ecx] push 00000001h call [eax] L0045E2AD: mov ecx,[esi+000000A8h] test ecx,ecx jz L0045E2C6 L0045E2B7: mov edx,[ecx] call [edx+04h] mov ecx,[esi+000000A8h] test ecx,ecx jnz L0045E2B7 L0045E2C6: mov ecx,esi mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L0045C4D0 mov ecx,[ebp-0Ch] pop esi mov fs:[00000000h],ecx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 L0045E2F0: mov ax,[ecx+38h] cmp ax,0EFAh jz L0045E303 cmp ax,0E3Bh jz L0045E303 xor eax,eax retn ;------------------------------------------------------------------------------ L0045E303: mov eax,00000001h retn ;------------------------------------------------------------------------------ Align 8 SUB_L0045E310: push esi mov esi,ecx mov ecx,[esi+000000A8h] test ecx,ecx jz L0045E32C L0045E31D: mov eax,[ecx] call [eax+04h] mov ecx,[esi+000000A8h] test ecx,ecx jnz L0045E31D L0045E32C: pop esi retn ;------------------------------------------------------------------------------ Align 4 L0045E330: push ebp mov ebp,esp push esi mov esi,ecx call SUB_L0045E400 test byte ptr [ebp+08h],01h jz L0045E34A push esi call SUB_L0049A810 add esp,00000004h L0045E34A: mov eax,esi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L0045E360: push ebp mov ebp,esp push esi mov esi,ecx call SUB_L0045C2E0 mov eax,[ebp+08h] mov edx,[ebp+0Ch] mov [esi+78h],eax mov al,[ebp+10h] mov [esi+3Ah],al mov eax,[ebp+14h] xor ecx,ecx and edx,00003FFFh cmp eax,ecx mov dword ptr [esi],L004BB150 mov [esi+000000A8h],ecx mov [esi+000000ACh],ecx mov [esi+000000B0h],ecx mov [esi+38h],dx jnz L0045E3F8 mov eax,[esi+00000080h] cmp eax,ecx jz L0045E3BB mov edx,[esi+00000084h] mov [eax+00000084h],edx L0045E3BB: mov eax,[esi+00000084h] cmp eax,ecx jz L0045E3D1 mov ecx,[esi+00000080h] mov [eax+00000080h],ecx L0045E3D1: cmp esi,[L006A9D5C] jnz L0045E3E5 mov edx,[esi+00000080h] mov [L006A9D5C],edx L0045E3E5: cmp esi,[L006A9D60] jnz L0045E3F8 mov eax,[esi+00000084h] mov [L006A9D60],eax L0045E3F8: mov eax,esi pop esi pop ebp retn 0010h ;------------------------------------------------------------------------------ Align 4 SUB_L0045E400: push ebp mov ebp,esp push FFFFFFFFh push L004B3C88 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi push edi mov edi,ecx mov [ebp-10h],edi mov dword ptr [edi],L004BB150 mov al,[edi+6Ch] mov dword ptr [ebp-04h],00000000h test al,al jnz L0045E439 call SUB_L0045DCF0 L0045E439: mov ecx,[edi+000000B0h] test ecx,ecx jz L0045E449 mov eax,[ecx] push 00000001h call [eax] L0045E449: mov eax,[edi+000000A8h] test eax,eax jz L0045E469 L0045E453: mov esi,[eax+08h] test eax,eax jz L0045E463 push eax call SUB_L0049A810 add esp,00000004h L0045E463: test esi,esi mov eax,esi jnz L0045E453 L0045E469: mov ecx,edi mov dword ptr [edi+000000A8h],00000000h mov dword ptr [edi+000000ACh],00000000h mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L0045C4D0 mov ecx,[ebp-0Ch] pop edi mov fs:[00000000h],ecx pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 SUB_L0045E4A0: push ebp mov ebp,esp mov eax,[ebp+08h] push ebx and eax,000000FFh push esi dec eax push edi cmp eax,00000004h mov ebx,ecx ja L0045E60E jmp [CASE_PROCTABLE_0045E618+eax*4] CASE_0045E618_PROC0000: mov esi,[ebx+000000A8h] test esi,esi jz L0045E4DD mov eax,[esi+08h] test eax,eax jz L0045E508 L0045E4D2: mov esi,eax mov eax,[esi+08h] test eax,eax jnz L0045E4D2 jmp L0045E508 L0045E4DD: xor edi,edi jmp L0045E50B CASE_0045E618_PROC0001: mov eax,[ebp+0Ch] test al,al jnz L0045E4F2 mov edi,[ebx+000000A8h] xor esi,esi jmp L0045E50B L0045E4F2: mov esi,[ebx+000000A8h] and eax,000000FFh dec eax test eax,eax jle L0045E508 L0045E502: mov esi,[esi+08h] dec eax jnz L0045E502 L0045E508: mov edi,[esi+08h] L0045E50B: push 0000000Ch call SUB_L0049A820 mov cx,[ebp+10h] mov dx,[ebp+14h] add esp,00000004h mov [eax],cx test esi,esi mov [eax+02h],dx mov [eax+08h],edi jz L0045E542 mov [esi+08h],eax mov eax,[ebx+000000ACh] inc eax mov [ebx+000000ACh],eax pop edi pop esi pop ebx pop ebp retn 0010h ;------------------------------------------------------------------------------ L0045E542: mov [ebx+000000A8h],eax mov eax,[ebx+000000ACh] inc eax mov [ebx+000000ACh],eax pop edi pop esi pop ebx pop ebp retn 0010h ;------------------------------------------------------------------------------ CASE_0045E618_PROC0003: mov eax,[ebp+0Ch] mov edx,[ebx+000000A8h] and eax,000000FFh mov ecx,edx jle L0045E574 L0045E56E: mov ecx,[ecx+08h] dec eax jnz L0045E56E L0045E574: cmp ecx,edx jz L0045E590 mov eax,[edx+08h] cmp eax,ecx jz L0045E588 L0045E57F: mov edx,eax mov eax,[edx+08h] cmp eax,ecx jnz L0045E57F L0045E588: mov eax,[ecx+08h] mov [edx+08h],eax jmp L0045E599 L0045E590: mov edx,[ecx+08h] mov [ebx+000000A8h],edx L0045E599: test ecx,ecx jz L0045E5A6 push ecx call SUB_L0049A810 add esp,00000004h L0045E5A6: dec [ebx+000000ACh] pop edi pop esi pop ebx pop ebp retn 0010h ;------------------------------------------------------------------------------ CASE_0045E618_PROC0002: mov ecx,[ebp+0Ch] mov eax,[ebx+000000A8h] and ecx,000000FFh jle L0045E5CA L0045E5C4: mov eax,[eax+08h] dec ecx jnz L0045E5C4 L0045E5CA: mov cx,[ebp+10h] mov dx,[ebp+14h] mov [eax],cx mov [eax+02h],dx pop edi pop esi pop ebx pop ebp retn 0010h ;------------------------------------------------------------------------------ CASE_0045E618_PROC0004: mov eax,[ebx+000000A8h] xor edi,edi cmp eax,edi jz L0045E602 L0045E5EC: mov esi,[eax+08h] cmp eax,edi jz L0045E5FC push eax call SUB_L0049A810 add esp,00000004h L0045E5FC: cmp esi,edi mov eax,esi jnz L0045E5EC L0045E602: mov [ebx+000000A8h],edi mov [ebx+000000ACh],edi L0045E60E: pop edi pop esi pop ebx pop ebp retn 0010h ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_0045E618: dd CASE_0045E618_PROC0000 dd CASE_0045E618_PROC0001 dd CASE_0045E618_PROC0002 dd CASE_0045E618_PROC0003 dd CASE_0045E618_PROC0004 Align 8 L0045E630: mov eax,00000006h retn ;------------------------------------------------------------------------------ Align 16 L0045E640: push ebp mov ebp,esp push esi mov esi,ecx call SUB_L0045E6D0 test byte ptr [ebp+08h],01h jz L0045E65A push esi call SUB_L0049A810 add esp,00000004h L0045E65A: mov eax,esi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L0045E670: push ebp mov ebp,esp push esi push edi mov esi,ecx call SUB_L0045C2E0 xor edx,edx lea edi,[esi+000000BCh] mov ecx,0000001Ah xor eax,eax mov [esi+000000A8h],edx mov [esi+000000ACh],edx mov [esi+000000B0h],edx mov [esi+000000B8h],edx mov dword ptr [esi],L004BB1D8 rep stosd mov ecx,[ebp+0Ch] mov eax,[ebp+08h] and ecx,00003FFFh mov [esi+78h],eax mov [esi+6Eh],dl mov [esi+38h],cx mov eax,esi pop edi pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 8 SUB_L0045E6D0: push ebp mov ebp,esp push FFFFFFFFh push L004B3CA8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx mov [ebp-10h],esi mov dword ptr [esi],L004BB1D8 mov al,[esi+6Ch] mov dword ptr [ebp-04h],00000000h test al,al jnz L0045E708 call SUB_L0045DCF0 L0045E708: mov ecx,esi mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L0045E200 mov ecx,[ebp-0Ch] pop esi mov fs:[00000000h],ecx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L0045E730: push ebp mov ebp,esp push FFFFFFFFh push L004B3CC8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push esi mov esi,ecx push edi mov [ebp-10h],esi call SUB_L0045C2E0 xor ebx,ebx mov dword ptr [esi],L004BB0C8 mov [esi+000000A8h],ebx mov [esi+000000ACh],ebx mov [esi+000000B0h],ebx mov [esi+000000B8h],ebx push SUB_L0040CC60 push L0040D090 lea eax,[esi+00000154h] push 00000004h push 0000000Ah push eax mov [ebp-04h],ebx mov [esi+000000C0h],ebx mov [esi+0000013Ch],ebx mov [esi+00000140h],ebx mov [esi+00000144h],ebx mov [esi+00000148h],ebx mov [esi+00000150h],ebx call SUB_L0049AFF0 mov [esi+00000184h],ebx mov [esi+00000194h],ebx mov [esi+00000198h],ebx mov [esi+000001A4h],ebx mov [esi+000001A8h],bx mov [esi+000001AAh],bx mov [esi+000001ACh],bx mov [esi+000001B8h],bx mov [esi+000001BCh],ebx mov [esi+000001C0h],ebx mov [esi+000001C4h],ebx mov [esi+000001C8h],ebx mov [esi+000001CCh],ebx mov dword ptr [esi+000001D0h],FFFFFFFFh mov [esi+000001D4h],ebx mov [esi+000001D8h],ebx mov dword ptr [esi],L004BB260 mov eax,[L006A9D64] cmp eax,ebx mov [esi+000000BCh],eax jz L0045E83A mov [eax+000000C0h],esi L0045E83A: lea edi,[esi+000000C4h] mov ecx,0000001Eh xor eax,eax mov [L006A9D64],esi rep stosd mov ecx,0000000Ah lea edi,[esi+00000154h] mov [esi+6Eh],bl rep stosd mov [esi+00000094h],ebx mov ecx,[L0071221C] mov [esi+0000014Ch],ecx mov eax,[L006A9D94] mov ecx,[ebp-0Ch] inc eax mov [L006A9D94],eax mov eax,esi pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 4 L0045E890: mov eax,0000000Fh retn ;------------------------------------------------------------------------------ Align 16 L0045E8A0: push ebp mov ebp,esp push esi mov esi,ecx call SUB_L0045EA50 test byte ptr [ebp+08h],01h jz L0045E8BA push esi call SUB_L0049A810 add esp,00000004h L0045E8BA: mov eax,esi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L0045E8D0: push ebp mov ebp,esp push FFFFFFFFh push L004B3CE8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push esi mov esi,ecx push edi mov [ebp-10h],esi call SUB_L0045C2E0 xor ebx,ebx mov dword ptr [esi],L004BB0C8 mov [esi+000000A8h],ebx mov [esi+000000ACh],ebx mov [esi+000000B0h],ebx mov [esi+000000B8h],ebx push SUB_L0040CC60 push L0040D090 lea eax,[esi+00000154h] push 00000004h push 0000000Ah push eax mov [ebp-04h],ebx mov [esi+000000C0h],ebx mov [esi+0000013Ch],ebx mov [esi+00000140h],ebx mov [esi+00000144h],ebx mov [esi+00000148h],ebx mov [esi+00000150h],ebx call SUB_L0049AFF0 mov [esi+00000184h],ebx mov [esi+00000194h],ebx mov [esi+00000198h],ebx mov [esi+000001A4h],ebx mov [esi+000001A8h],bx mov [esi+000001AAh],bx mov [esi+000001ACh],bx mov [esi+000001B8h],bx mov [esi+000001BCh],ebx mov [esi+000001C0h],ebx mov [esi+000001C4h],ebx mov [esi+000001C8h],ebx mov [esi+000001CCh],ebx mov dword ptr [esi+000001D0h],FFFFFFFFh mov [esi+000001D4h],ebx mov [esi+000001D8h],ebx mov dword ptr [esi],L004BB260 mov eax,[L006A9D64] cmp eax,ebx mov [esi+000000BCh],eax jz L0045E9DA mov [eax+000000C0h],esi L0045E9DA: mov edx,[ebp+0Ch] lea edi,[esi+000000C4h] mov ecx,0000001Eh xor eax,eax mov [L006A9D64],esi and edx,00003FFFh rep stosd mov ecx,0000000Ah lea edi,[esi+00000154h] mov [esi+6Eh],bl rep stosd mov ecx,[ebp+08h] mov al,[ebp+10h] mov [esi+78h],ecx mov [esi+38h],dx mov [esi+3Ah],al mov [esi+00000094h],ebx mov ecx,[L0071221C] pop edi mov [esi+0000014Ch],ecx mov eax,[L006A9D94] mov ecx,[ebp-0Ch] inc eax mov [L006A9D94],eax mov eax,esi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 8 SUB_L0045EA50: push ebp mov ebp,esp push FFFFFFFFh push L004B3D2E mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000034h push ebx mov ebx,ecx push esi push edi mov [ebp-10h],ebx mov dword ptr [ebx],L004BB260 mov edx,[ebx+78h] push 00000001h xor ecx,ecx mov dword ptr [ebp-04h],00000002h call SUB_L0045C8A0 mov eax,[ebx+1Ch] test eax,eax jz L0045EA9A mov ecx,ebx call SUB_L0042FF60 L0045EA9A: cmp dword ptr [ebx+000001D0h],FFFFFFFFh jz L0045EAB3 mov eax,[L007121E4] test eax,eax jnz L0045EAB3 mov ecx,ebx call SUB_L00435A30 L0045EAB3: mov ecx,[ebx+000001C0h] test ecx,ecx jz L0045EAD3 L0045EABD: mov esi,[ecx+00000100h] test ecx,ecx jz L0045EACD mov eax,[ecx] push 00000001h call [eax] L0045EACD: test esi,esi mov ecx,esi jnz L0045EABD L0045EAD3: mov esi,[L00669620] test esi,esi jz L0045EB08 L0045EADD: mov edx,[esi] mov edi,[esi+3Ch] mov ecx,esi call [edx+00000114h] test eax,eax jz L0045EB02 cmp [esi+0000009Ch],ebx jnz L0045EB02 test esi,esi jz L0045EB02 mov eax,[esi] push 00000001h mov ecx,esi call [eax] L0045EB02: test edi,edi mov esi,edi jnz L0045EADD L0045EB08: mov eax,[ebx+000001D4h] xor esi,esi cmp eax,esi jz L0045EB5B mov ecx,[eax+000000B8h] push esi push esi mov edx,[ecx+34h] lea ecx,[ebp-40h] mov eax,[edx+78h] push eax push 00000001h push ecx mov ecx,L006BB1C0 call SUB_L004756C0 mov ecx,[L006BB1CC] lea edx,[ebp-40h] push edx call SUB_L0048B170 mov eax,[ebx+000001D4h] mov [eax+34h],esi mov ecx,[ebx+000001D4h] cmp ecx,esi jz L0045EB5B mov edx,[ecx] push 00000001h call [edx] L0045EB5B: push ebx mov ecx,L00712190 call SUB_L00427A80 cmp eax,esi jz L0045EB75 push eax mov ecx,L00712190 call SUB_L00427A20 L0045EB75: mov eax,[L0073EBE4] cmp eax,esi jz L0045EB99 cmp [eax+000001F8h],esi jz L0045EB99 mov ecx,[ebx+78h] mov edx,[eax+000001FCh] cmp ecx,edx jnz L0045EB99 mov [eax+000001F8h],esi L0045EB99: mov al,[ebx+6Ch] test al,al jnz L0045EBA7 mov ecx,ebx call SUB_L0045DCF0 L0045EBA7: lea esi,[ebx+000000C4h] mov edi,0000001Eh L0045EBB2: mov ecx,[esi] test ecx,ecx jz L0045EBBD mov edx,[ecx] call [edx+04h] L0045EBBD: add esi,00000004h dec edi jnz L0045EBB2 mov eax,[ebx+000000BCh] test eax,eax jz L0045EBD9 mov ecx,[ebx+000000C0h] mov [eax+000000C0h],ecx L0045EBD9: mov eax,[ebx+000000C0h] test eax,eax jz L0045EBF1 mov edx,[ebx+000000BCh] mov [eax+000000BCh],edx jmp L0045EBFC L0045EBF1: mov eax,[ebx+000000BCh] mov [L006A9D64],eax L0045EBFC: mov edi,[L006A9D94] push SUB_L0040CC60 push 00000004h lea ecx,[ebx+00000154h] dec edi push 0000000Ah push ecx mov [L006A9D94],edi mov byte ptr [ebp-04h],00h call SUB_L0049AEB0 mov ecx,ebx mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L0045E200 mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L0045EC50: push ebp mov ebp,esp push esi push edi mov edi,ecx mov esi,[ebp+0Ch] mov ecx,[edi+78h] or ecx,80000000h mov [edi+78h],ecx mov edx,ecx mov ecx,[ebp+08h] test ecx,ecx jz L0045EC7B xor eax,eax push esi mov al,[edi+6Eh] push eax call SUB_L0045C9E0 L0045EC7B: mov ax,[edi+38h] cmp ax,0096h jnc L0045ECAA neg esi sbb esi,esi push 00000000h push 00000000h add esi,00000003h push 00000001h push 00000000h or esi,00000080h push 00000005h push esi mov ecx,edi call SUB_L0045EE80 pop edi pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ L0045ECAA: cmp ax,00C8h jnc L0045ECCC push 00000000h push 00000000h push 00000001h push 00000000h push 0000000Fh push 00000088h mov ecx,edi call SUB_L0045EE80 pop edi pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ L0045ECCC: push 00000000h push 00000000h push 00000001h cmp ax,0190h push 00000000h push 00000005h jnc L0045ECFA neg esi sbb esi,esi mov ecx,edi and esi,FFFFFFFCh add esi,0000000Ch or esi,00000080h push esi call SUB_L0045EE80 pop edi pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ L0045ECFA: neg esi sbb esi,esi mov ecx,edi add esi,00000016h or esi,00000080h push esi call SUB_L0045EE80 pop edi pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 L0045ED20: push ebp mov ebp,esp mov eax,[ebp+08h] mov [ecx+000001D8h],eax call SUB_L00430E30 pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 L0045ED40: push ebp mov ebp,esp mov eax,[ebp+08h] push esi mov [ecx+000001D8h],eax mov esi,[L006A9D64] test esi,esi jz L0045ED68 L0045ED57: mov ecx,esi call SUB_L00430E30 mov esi,[esi+000000BCh] test esi,esi jnz L0045ED57 L0045ED68: pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 4 L0045ED70: cmp dword ptr [ecx+000001D8h],00000064h jl L0045ED80 mov byte ptr [L004CC8B4],00h L0045ED80: mov eax,[ecx+000001D8h] mov ecx,00000064h cdq idiv ecx cmp edx,00000004h jl L0045ED9B cmp edx,00000006h jg L0045ED9B xor al,al retn ;------------------------------------------------------------------------------ L0045ED9B: mov al,01h retn ;------------------------------------------------------------------------------ Align 4 SUB_L0045EDA0: cmp dword ptr [ecx+000001D8h],00000064h jl L0045EDB0 mov byte ptr [L004CC8B4],00h L0045EDB0: mov eax,[ecx+000001D8h] mov ecx,00000064h cdq idiv ecx mov eax,edx retn ;------------------------------------------------------------------------------ Align 16 L0045EDD0: cmp dword ptr [ecx+000001D8h],00000064h jl L0045EDE0 mov byte ptr [L004CC8B4],00h L0045EDE0: mov eax,[ecx+000001D8h] mov ecx,00000064h cdq idiv ecx mov eax,edx dec eax neg eax sbb eax,eax neg eax retn ;------------------------------------------------------------------------------ Align 16 SUB_L0045EE00: mov eax,[ecx+00000198h] push esi test eax,eax jz L0045EE34 xor eax,eax mov ax,[ecx+38h] mov ecx,[ecx+0000019Ch] movsx esi,[L004DB7F0+eax*2] mov eax,2E8BA2E9h imul ecx sar edx,1 mov ecx,edx shr ecx,1Fh add edx,ecx lea eax,[esi+edx*2] pop esi retn ;------------------------------------------------------------------------------ L0045EE34: mov eax,[ecx+00000144h] test eax,eax jz L0045EE4E xor edx,edx mov dx,[ecx+38h] movsx eax,[L004DB7F1+edx*2] pop esi retn ;------------------------------------------------------------------------------ L0045EE4E: xor eax,eax pop esi mov ax,[ecx+38h] movsx eax,[L004DB7F0+eax*2] retn ;------------------------------------------------------------------------------ Align 4 L0045EE60: mov eax,[ecx+000001A4h] test eax,eax jz L0045EE74 xor eax,eax mov ax,[ecx+000001A8h] retn ;------------------------------------------------------------------------------ L0045EE74: or eax,FFFFFFFFh retn ;------------------------------------------------------------------------------ Align 16 SUB_L0045EE80: push ebp mov ebp,esp mov eax,[L0073EC60] push esi push edi xor edi,edi cmp eax,edi mov esi,ecx jz L0045EEF9 push 00000010h call SUB_L0049A820 mov cx,[ebp+08h] mov edi,eax mov dx,[ebp+0Ch] add esp,00000004h lea eax,[edi+04h] mov [edi],esi push 00000010h push edi mov [eax],cx mov cx,[ebp+10h] add eax,00000002h push 00000007h mov [eax],dx mov dx,[ebp+14h] add eax,00000002h mov [eax],cx mov cx,[ebp+18h] add eax,00000002h mov [eax],dx mov dx,[ebp+1Ch] add eax,00000002h mov [eax],cx mov [eax+02h],dx mov ecx,[L0073EC54] call SUB_L00443E80 push edi call SUB_L0049A810 add esp,00000004h pop edi pop esi pop ebp retn 0018h ;------------------------------------------------------------------------------ L0045EEF9: mov eax,[L0071221C] mov edx,[esi] mov ecx,esi mov [esi+0000014Ch],eax call [edx+14h] mov ax,[ebp+08h] mov ecx,[ebp+14h] mov edx,[ebp+0Ch] mov [esi+000001ACh],ax mov ax,[ebp+18h] mov dword ptr [esi+000001A4h],00000001h cmp ax,di jz L0045EF47 push ebx lea ebx,[edx-01h] mov [esi+000001A8h],bx lea ebx,[ecx-01h] mov [esi+000001B8h],bx pop ebx jmp L0045EF55 L0045EF47: mov [esi+000001A8h],di mov [esi+000001B8h],di L0045EF55: mov [esi+000001B6h],cx mov cx,[ebp+10h] mov [esi+000001B2h],ax mov ax,[ebp+1Ch] mov [esi+000001B0h],cx mov ecx,esi mov [esi+000001B4h],ax mov [esi+000001AEh],di mov [esi+000001AAh],dx call SUB_L004359E0 mov edx,[esi] mov ecx,esi call [edx+10h] pop edi pop esi pop ebp retn 0018h ;------------------------------------------------------------------------------ Align 8 SUB_L0045EFA0: mov eax,[ecx+000001A4h] test eax,eax jz L0045EFB9 mov dword ptr [ecx+000001A4h],00000000h jmp SUB_L00435A30 L0045EFB9: xor eax,eax retn ;------------------------------------------------------------------------------ Align 8 L0045EFC0: db 33h; '3' db C0h; '€' db 66h; 'f' db 8Bh; '<' db 41h; 'A' db 38h; '8' db 3Dh; '=' db C8h; 'ˆ' db 00h; db 00h; db 00h; db 7Fh; '' db 3Eh; '>' db 74h; 't' db 2Ch; ',' db 83h; '?' db E8h; '¨' db 05h; db 74h; 't' db 17h; db 48h; 'H' db 0Fh; db 85h; ':' db 1Dh; db 01h; db 00h; db 00h; db 68h; 'h' db 1Ah; db 61h; 'a' db 00h; db 00h; db B9h; 'ü' db B8h; 'ñ' db 9Dh; '?' db 6Ah; 'j' db 00h; db E8h; '¨' db E6h; '¦' db 92h; ''' db 02h; db 00h; db C3h; 'ƒ' db 68h; 'h' db 1Dh; db 61h; 'a' db 00h; db 00h; db B9h; 'ü' db B8h; 'ñ' db 9Dh; '?' db 6Ah; 'j' db 00h; db E8h; '¨' db D6h; '–' db 92h; ''' db 02h; db 00h; db C3h; 'ƒ' db 68h; 'h' db 1Fh; db 61h; 'a' db 00h; db 00h; db B9h; 'ü' db B8h; 'ñ' db 9Dh; '?' db 6Ah; 'j' db 00h; db E8h; '¨' db C6h; '†' db 92h; ''' db 02h; db 00h; db C3h; 'ƒ' db 05h; db 37h; '7' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 83h; '?' db F8h; 'è' db 5Bh; '[' db 0Fh; db 87h; 'Ø' db DFh; 'Ÿ' db 00h; db 00h; db 00h; db 33h; '3' db C9h; '‰' db 8Ah; '?' db 88h; '?' db 34h; '4' db F1h; 'á' db 45h; 'E' db 00h; db FFh; 'ï' db 24h; '$' db 8Dh; '?' db FCh; 'ì' db F0h; 'à' db 45h; 'E' db 00h; db 68h; 'h' db 18h; db 61h; 'a' db 00h; db 00h; db B9h; 'ü' db B8h; 'ñ' db 9Dh; '?' db 6Ah; 'j' db 00h; db E8h; '¨' db 99h; 'T' db 92h; ''' db 02h; db 00h; db C3h; 'ƒ' db 68h; 'h' db 19h; db 61h; 'a' db 00h; db 00h; db B9h; 'ü' db B8h; 'ñ' db 9Dh; '?' db 6Ah; 'j' db 00h; db E8h; '¨' db 89h; '%' db 92h; ''' db 02h; db 00h; db C3h; 'ƒ' db 68h; 'h' db 1Bh; db 61h; 'a' db 00h; db 00h; db B9h; 'ü' db B8h; 'ñ' db 9Dh; '?' db 6Ah; 'j' db 00h; db E8h; '¨' db 79h; 'y' db 92h; ''' db 02h; db 00h; db C3h; 'ƒ' db 68h; 'h' db 1Ch; db 61h; 'a' db 00h; db 00h; db B9h; 'ü' db B8h; 'ñ' db 9Dh; '?' db 6Ah; 'j' db 00h; db E8h; '¨' db 69h; 'i' db 92h; ''' db 02h; db 00h; db C3h; 'ƒ' db 68h; 'h' db 1Eh; db 61h; 'a' db 00h; db 00h; db B9h; 'ü' db B8h; 'ñ' db 9Dh; '?' db 6Ah; 'j' db 00h; db E8h; '¨' db 59h; 'Y' db 92h; ''' db 02h; db 00h; db C3h; 'ƒ' db 68h; 'h' db 20h; ' ' db 61h; 'a' db 00h; db 00h; db B9h; 'ü' db B8h; 'ñ' db 9Dh; '?' db 6Ah; 'j' db 00h; db E8h; '¨' db 49h; 'I' db 92h; ''' db 02h; db 00h; db C3h; 'ƒ' db 68h; 'h' db 21h; '!' db 61h; 'a' db 00h; db 00h; db B9h; 'ü' db B8h; 'ñ' db 9Dh; '?' db 6Ah; 'j' db 00h; db E8h; '¨' db 39h; '9' db 92h; ''' db 02h; db 00h; db C3h; 'ƒ' db 68h; 'h' db 22h; '"' db 61h; 'a' db 00h; db 00h; db B9h; 'ü' db B8h; 'ñ' db 9Dh; '?' db 6Ah; 'j' db 00h; db E8h; '¨' db 29h; ')' db 92h; ''' db 02h; db 00h; db C3h; 'ƒ' db 68h; 'h' db 23h; '#' db 61h; 'a' db 00h; db 00h; db B9h; 'ü' db B8h; 'ñ' db 9Dh; '?' db 6Ah; 'j' db 00h; db E8h; '¨' db 19h; db 92h; ''' db 02h; db 00h; db C3h; 'ƒ' db 68h; 'h' db 24h; '$' db 61h; 'a' db 00h; db 00h; db B9h; 'ü' db B8h; 'ñ' db 9Dh; '?' db 6Ah; 'j' db 00h; db E8h; '¨' db 09h; db 92h; ''' db 02h; db 00h; db C3h; 'ƒ' db 68h; 'h' db 25h; '%' db 61h; 'a' db 00h; db 00h; db B9h; 'ü' db B8h; 'ñ' db 9Dh; '?' db 6Ah; 'j' db 00h; db E8h; '¨' db F9h; 'é' db 91h; ''' db 02h; db 00h; db C3h; 'ƒ' db 68h; 'h' db 26h; '&' db 61h; 'a' db 00h; db 00h; db B9h; 'ü' db B8h; 'ñ' db 9Dh; '?' db 6Ah; 'j' db 00h; db E8h; '¨' db E9h; '©' db 91h; ''' db 02h; db 00h; db C3h; 'ƒ' db 68h; 'h' db 27h; ''' db 61h; 'a' db 00h; db 00h; db B9h; 'ü' db B8h; 'ñ' db 9Dh; '?' db 6Ah; 'j' db 00h; db E8h; '¨' db D9h; '™' db 91h; ''' db 02h; db 00h; db C3h; 'ƒ' db 33h; '3' db C0h; '€' db C3h; 'ƒ' db 90h; '?' db 48h; 'H' db F0h; 'à' db 45h; 'E' db 00h; db B8h; 'ñ' db F0h; 'à' db 45h; 'E' db 00h; db C8h; 'ˆ' db F0h; 'à' db 45h; 'E' db 00h; db 28h; '(' db F0h; 'à' db 45h; 'E' db 00h; db 68h; 'h' db F0h; 'à' db 45h; 'E' db 00h; db 38h; '8' db F0h; 'à' db 45h; 'E' db 00h; db 58h; 'X' db F0h; 'à' db 45h; 'E' db 00h; db 98h; '?' db F0h; 'à' db 45h; 'E' db 00h; db 78h; 'x' db F0h; 'à' db 45h; 'E' db 00h; db 88h; '?' db F0h; 'à' db 45h; 'E' db 00h; db A8h; 'ð' db F0h; 'à' db 45h; 'E' db 00h; db D8h; '˜' db F0h; 'à' db 45h; 'E' db 00h; db E8h; '¨' db F0h; 'à' db 45h; 'E' db 00h; db F8h; 'è' db F0h; 'à' db 45h; 'E' db 00h; db 00h; db 0Dh; db 0Dh; db 01h; db 02h; db 0Dh; db 0Dh; db 0Dh; db 0Dh; db 0Dh; db 03h; db 04h; db 0Dh; db 05h; db 0Dh; db 0Dh; db 06h; db 0Dh; db 0Dh; db 0Dh; db 0Dh; db 0Dh; db 0Dh; db 0Dh; db 07h; db 08h; db 0Dh; db 09h; db 0Dh; db 0Dh; db 0Dh; db 0Dh; db 0Dh; db 0Dh; db 0Dh; db 0Dh; db 0Dh; db 0Ah; db 0Dh; db 0Dh; db 0Dh; db 0Dh; db 0Dh; db 0Dh; db 0Dh; db 0Dh; db 0Dh; db 0Dh; db 0Dh; db 0Dh; db 0Dh; db 0Dh; db 0Dh; db 0Dh; db 0Dh; db 0Dh; db 0Dh; db 0Dh; db 0Dh; db 0Dh; db 0Dh; db 0Dh; db 0Dh; db 0Dh; db 0Dh; db 0Dh; db 0Dh; db 0Dh; db 0Dh; db 0Dh; db 0Dh; db 0Dh; db 0Dh; db 0Dh; db 0Dh; db 0Dh; db 0Dh; db 0Dh; db 0Dh; db 0Dh; db 0Dh; db 0Dh; db 0Dh; db 0Dh; db 0Dh; db 0Dh; db 0Dh; db 0Dh; db 0Dh; db 0Dh; db 0Bh; db 0Ch; SUB_L0045F190: push ebp mov ebp,esp cmp cx,00C8h jnc L0045F1FB mov eax,[ebp+18h] test eax,eax jz L0045F1F4 cmp cx,0004h jz L0045F1EA cmp cx,0005h jz L0045F1EA cmp cx,0006h jz L0045F1EA cmp cx,0009h jz L0045F1EA cmp cx,000Ah jz L0045F1EA cmp cx,000Ch jz L0045F1EA cmp cx,001Eh jz L0045F1EA cmp cx,0027h jz L0045F1EA cmp cx,003Bh jz L0045F1EA cmp cx,003Ch jz L0045F1EA cmp cx,003Dh jz L0045F1EA xor eax,eax jmp L0045F27B L0045F1EA: mov eax,00000013h jmp L0045F27B L0045F1F4: xor eax,eax jmp L0045F27B L0045F1FB: cmp cx,0190h jnc L0045F21E mov eax,[ebp+18h] test eax,eax jz L0045F215 mov eax,00000001h mov ecx,00000005h jmp L0045F280 L0045F215: xor eax,eax mov ecx,00000005h jmp L0045F280 L0045F21E: mov eax,[ebp+20h] test eax,eax mov eax,[ebp+1Ch] jz L0045F238 test eax,eax jnz L0045F23C mov eax,00000007h mov ecx,00000001h jmp L0045F280 L0045F238: test eax,eax jz L0045F25B L0045F23C: mov eax,[ebp+18h] test eax,eax jnz L0045F24F mov eax,00000017h mov ecx,00000005h jmp L0045F280 L0045F24F: mov eax,00000018h mov ecx,00000005h jmp L0045F280 L0045F25B: mov eax,[ebp+18h] test eax,eax mov eax,[ebp+24h] jz L0045F271 dec eax neg eax sbb eax,eax and al,FEh add eax,00000006h jmp L0045F27B L0045F271: dec eax neg eax sbb eax,eax and al,FEh add eax,00000002h L0045F27B: mov ecx,0000000Ah L0045F280: mov edx,[ebp+0Ch] cmp edx,FFFFFFFFh jnz L0045F2AF mov edx,[ebp+28h] cmp ecx,00000001h mov [edx],eax jnz L0045F29F mov eax,[ebp+2Ch] mov dword ptr [eax],00000000h pop ebp retn 0028h ;------------------------------------------------------------------------------ L0045F29F: mov eax,[ebp+08h] dec ecx cdq idiv ecx mov ecx,[ebp+2Ch] mov [ecx],edx pop ebp retn 0028h ;------------------------------------------------------------------------------ L0045F2AF: mov eax,[ebp+14h] mov ecx,[ebp+28h] and eax,0000007Fh mov [ecx],eax mov eax,[ebp+2Ch] mov [eax],edx pop ebp retn 0028h ;------------------------------------------------------------------------------ Align 16 L0045F2D0: push ebp mov ebp,esp sub esp,00000008h push ebx push esi mov esi,ecx push edi cmp word ptr [esi+38h],03E8h jnc L0045F4B9 mov eax,[esi] call [eax+00000090h] test eax,eax jnz L0045F4B9 mov eax,[esi+00000148h] test eax,eax jnz L0045F4B9 test byte ptr [esi+00000098h],80h jnz L0045F4B9 cmp word ptr [esi+38h],0190h jc L0045F32B mov eax,[esi+00000128h] test eax,eax jz L0045F32B mov edi,00000001h jmp L0045F32D L0045F32B: xor edi,edi L0045F32D: mov edx,[esi] mov ecx,esi call [edx+00000088h] mov ebx,eax mov eax,[esi] mov ecx,esi call [eax+28h] test eax,eax jz L0045F3B0 mov ecx,[esi+000000C8h] test ecx,ecx jz L0045F36D mov edx,[L006A9D98] xor eax,eax mov ax,[ecx+38h] lea ecx,[eax+eax*4] test dword ptr [edx+ecx*8],00800000h jz L0045F36D mov eax,00000001h jmp L0045F36F L0045F36D: xor eax,eax L0045F36F: lea ecx,[ebp-04h] lea edx,[ebp-08h] push ecx mov ecx,[L006695B0] push edx push eax mov eax,[esi+00000148h] xor edx,edx mov dx,[esi+000001B8h] push eax xor eax,eax push edi mov ax,[esi+000001ACh] push ecx add edx,eax xor ecx,ecx mov cx,[esi+000001AAh] push edx mov edx,[L006695A4] push ecx push ebx push edx jmp L0045F3EB L0045F3B0: mov edx,[esi+00000144h] lea eax,[ebp-04h] lea ecx,[ebp-08h] push eax push ecx xor eax,eax mov ax,[esi+000001B8h] xor ecx,ecx mov cx,[esi+000001ACh] push 00000000h push 00000000h push edi push edx add eax,ecx xor edx,edx push eax mov dx,[esi+000001AAh] mov eax,[esi+00000140h] push edx push ebx push eax L0045F3EB: mov cx,[esi+38h] xor edx,edx mov dl,[esi+6Eh] call SUB_L0045F190 cmp word ptr [esi+38h],0190h mov edi,0000FFFFh jc L0045F473 mov ecx,[ebp-08h] mov al,[L004CCB0C] test ecx,ecx jl L0045F41B cmp ecx,00000002h jg L0045F41B test al,al jnz L0045F436 L0045F41B: cmp ecx,00000003h jnz L0045F424 test al,al jnz L0045F436 L0045F424: cmp ecx,00000007h jg L0045F42D test al,al jnz L0045F436 L0045F42D: cmp ecx,00000017h jnz L0045F451 test al,al jz L0045F451 L0045F436: mov eax,[ebp-04h] cmp eax,00000001h jnz L0045F445 mov edi,0000012Bh jmp L0045F473 L0045F445: cmp eax,00000006h jnz L0045F473 mov edi,0000012Ch jmp L0045F473 L0045F451: cmp ecx,00000018h jnz L0045F473 test al,al jz L0045F473 mov eax,[ebp-04h] cmp eax,00000001h jnz L0045F469 mov edi,00000129h jmp L0045F473 L0045F469: cmp eax,00000003h jnz L0045F473 mov edi,0000012Ah L0045F473: cmp edi,0000FFFFh jz L0045F4B9 mov edx,[esi] mov ecx,esi call [edx+28h] push 00000001h push 0000000Eh test eax,eax push 00000000h jz L0045F4A5 push FFFFFC18h push 00000000h push edi mov ecx,L006AAA10 call SUB_L004971D0 pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L0045F4A5: add esi,00000020h push 3F800000h push esi push edi mov ecx,L006AAA10 call SUB_L004970F0 L0045F4B9: pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L0045F4C0: db B0h; 'ø' db 01h; db C3h; 'ƒ' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' L0045F4D0: push ebp mov ebp,esp push esi mov esi,ecx call SUB_L0045F590 test byte ptr [ebp+08h],01h jz L0045F4EA push esi call SUB_L0049A810 add esp,00000004h L0045F4EA: mov eax,esi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L0045F500: push ebp mov ebp,esp push esi mov esi,ecx call SUB_L0045E730 mov ecx,[ebp+0Ch] mov dl,[ebp+10h] xor eax,eax and ecx,00003FFFh mov [esi+000001DCh],eax mov [esi+000001E0h],eax mov [esi+000001E4h],eax mov [esi+000001E8h],eax mov [esi+000001ECh],eax mov [esi+000001F0h],eax mov [esi+000001F4h],eax mov [esi+000001F8h],eax mov [esi+000001FCh],eax mov [esi+00000200h],eax mov [esi+00000204h],eax mov [esi+00000208h],eax mov [esi+00000150h],eax mov eax,[ebp+08h] mov [esi+78h],eax mov dword ptr [esi],L004BB308 mov [esi+38h],cx mov [esi+3Ah],dl mov eax,esi pop esi pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 16 SUB_L0045F590: mov dword ptr [ecx],L004BB308 mov dword ptr [L0073EBE4],00000000h jmp SUB_L0045EA50 Align 16 L0045F5B0: mov ax,[ecx+38h] cmp ax,0192h jz L0045F5C3 cmp ax,0193h jz L0045F5C3 xor eax,eax retn ;------------------------------------------------------------------------------ L0045F5C3: mov eax,00000001h retn ;------------------------------------------------------------------------------ Align 8 SUB_L0045F5D0: push ebp mov ebp,esp mov eax,[L006BB1A0] push ebx push esi push edi xor edi,edi mov ebx,ecx test eax,eax jnz L0045F608 mov eax,[ebp+0Ch] mov ecx,[ebp+08h] push eax push ecx mov ecx,L006AAA98 call SUB_L0044F910 mov ecx,eax movsx eax,[ecx+01h] movsx edx,[ecx+03h] add eax,edx cdq sub eax,edx mov edi,eax sar edi,1 L0045F608: mov esi,[ebx] test esi,esi jz L0045F658 L0045F60E: movsx eax,[esi+20h] cmp eax,[ebp+08h] jnz L0045F651 movsx ecx,[esi+22h] cmp ecx,[ebp+0Ch] jnz L0045F651 mov edx,[esi] mov ecx,esi call [edx+3Ch] test eax,eax jnz L0045F651 movsx eax,[esi+3Ah] xor ecx,ecx mov cx,[esi+38h] add eax,ecx xor ecx,ecx lea edx,[eax+eax*4] mov eax,[ebx+60h] mov cl,[eax+edx*8+12h] movsx edx,[esi+24h] mov eax,ecx add eax,edx cmp eax,edi jle L0045F651 mov edi,eax L0045F651: mov esi,[esi+40h] test esi,esi jnz L0045F60E L0045F658: mov eax,edi sub eax,FFFFFF81h neg eax sbb eax,eax and eax,edi pop edi pop esi pop ebx pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 8 SUB_L0045F670: push ebp mov ebp,esp push FFFFFFFFh push L004B3D50 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,0000000Ch push ebx push esi mov esi,ecx push edi mov [ebp-10h],esi call SUB_L0045C140 xor ecx,ecx mov dword ptr [esi],L004BB3B0 mov [ebp-04h],ecx mov eax,[L006A9D68] mov byte ptr [ebp-04h],01h cmp eax,ecx mov [esi+78h],eax jz L0045F6B6 mov [eax+7Ch],esi L0045F6B6: mov edx,[ebp+08h] mov edi,[ebp+10h] mov ebx,[ebp+0Ch] mov [esi+7Ch],ecx mov [L006A9D68],esi and edx,00003FFFh mov [esi+3Ah],cl push edi push ebx mov ecx,L006A9D38 mov [esi+38h],dx call SUB_L0045F5D0 sub esp,00000008h mov [ebp-18h],bx mov [ebp-16h],di mov edx,[ebp-18h] mov ecx,esp mov [ebp-14h],ax mov [ecx],edx mov [ecx+04h],ax mov ecx,esi call SUB_L0045CAD0 mov ecx,[ebp-0Ch] mov eax,esi pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 16 L0045F720: push ebp mov ebp,esp push esi mov esi,ecx call SUB_L0045F750 test byte ptr [ebp+08h],01h jz L0045F73A push esi call SUB_L0049A810 add esp,00000004h L0045F73A: mov eax,esi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L0045F750: push ebp mov ebp,esp push FFFFFFFFh push L004B3D68 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx mov [ebp-10h],esi mov dword ptr [esi],L004BB3B0 mov al,[esi+6Ch] mov dword ptr [ebp-04h],00000000h test al,al jnz L0045F788 call SUB_L0045D050 L0045F788: mov eax,[esi+78h] test eax,eax jz L0045F795 mov ecx,[esi+7Ch] mov [eax+7Ch],ecx L0045F795: mov eax,[esi+7Ch] test eax,eax jz L0045F7A2 mov edx,[esi+78h] mov [eax+78h],edx L0045F7A2: cmp [L006A9D68],esi jnz L0045F7B2 mov eax,[esi+78h] mov [L006A9D68],eax L0045F7B2: mov ecx,esi mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L0045C1D0 mov ecx,[ebp-0Ch] pop esi mov fs:[00000000h],ecx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ db 90h; '?' push ebp mov ebp,esp push FFFFFFFFh push L004B3D96 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx push edi mov [ebp-10h],esi xor edi,edi mov [ebp-04h],edi mov [esi+74h],edi mov [esi+78h],edi mov [esi+7Ch],edi push 000A0000h mov byte ptr [ebp-04h],01h mov [esi],edi mov [esi+04h],edi mov [esi+2Ch],edi mov [esi+08h],edi mov [esi+0Ch],edi mov [esi+10h],edi mov [esi+14h],edi mov [esi+18h],edi mov [esi+1Ch],edi mov [esi+20h],edi mov [esi+30h],edi mov [esi+34h],edi call SUB_L0049A820 add esp,00000004h mov [esi+60h],eax push 00070000h call SUB_L0049A820 add esp,00000004h mov ecx,esi mov [esi+64h],eax call SUB_L0045FE80 mov eax,00004000h mov [esi+70h],edi mov [esi+68h],eax mov [esi+6Ch],eax call SUB_L004359C0 mov ecx,[ebp-0Ch] mov [esi+5Ch],edi mov eax,esi pop edi mov fs:[00000000h],ecx pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' push ebp mov ebp,esp push FFFFFFFFh push L004B3DB6 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push esi mov esi,ecx push edi mov [ebp-10h],esi mov eax,[esi+60h] mov dword ptr [ebp-04h],00000001h test eax,eax jz L0045F8B8 push eax call SUB_L0049A810 add esp,00000004h L0045F8B8: mov eax,[esi+64h] test eax,eax jz L0045F8C8 push eax call SUB_L0049A810 add esp,00000004h L0045F8C8: mov esi,[esi+74h] mov byte ptr [ebp-04h],00h test esi,esi jz L0045F938 L0045F8D3: xor ebx,ebx test esi,esi jz L0045F91F mov eax,[esi+04h] mov edi,[esi] test eax,eax jz L0045F8E6 mov [eax],edi jmp L0045F8EC L0045F8E6: mov ecx,[ebp-10h] mov [ecx+74h],edi L0045F8EC: test edi,edi jz L0045F8F5 mov [edi+04h],eax jmp L0045F8FB L0045F8F5: mov edx,[ebp-10h] mov [edx+78h],eax L0045F8FB: mov eax,[esi+08h] mov ecx,esi mov dword ptr [esi+08h],00000000h mov ebx,eax call SUB_L00461D90 push esi call SUB_L0049A810 mov eax,[ebp-10h] add esp,00000004h mov esi,edi dec [eax+7Ch] L0045F91F: test ebx,ebx jz L0045F934 lea ecx,[ebx+08h] call SUB_L004823F0 push ebx call SUB_L0049A810 add esp,00000004h L0045F934: test esi,esi jnz L0045F8D3 L0045F938: mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 SUB_L0045F950: push esi push edi mov edi,ecx mov ecx,[L0073EBE4] test ecx,ecx jz L0045F992 mov al,[ecx+6Ch] test al,al jnz L0045F96A mov eax,[ecx] call [eax+50h] L0045F96A: mov esi,000000C4h L0045F96F: mov ecx,[L0073EBE4] mov ecx,[ecx+esi] test ecx,ecx jz L0045F981 mov edx,[ecx] call [edx+04h] L0045F981: add esi,00000004h cmp esi,0000012Ch jl L0045F96F mov ecx,[L0073EBE4] L0045F992: mov esi,[edi] test esi,esi jz L0045F9D9 jmp L0045F9A0 L0045F99A: mov ecx,[L0073EBE4] L0045F9A0: mov edi,[esi+40h] cmp esi,ecx jz L0045F9D3 mov eax,[esi] mov ecx,esi call [eax+2Ch] test eax,eax jz L0045F9CC mov ecx,[esi+00000094h] test ecx,ecx jz L0045F9C3 push 00000001h call SUB_L004589E0 L0045F9C3: mov edx,[esi] mov ecx,esi call [edx+04h] jmp L0045F9D3 L0045F9CC: mov eax,[esi] mov ecx,esi call [eax+04h] L0045F9D3: test edi,edi mov esi,edi jnz L0045F99A L0045F9D9: pop edi pop esi retn ;------------------------------------------------------------------------------ Align 8 SUB_L0045F9E0: push ebp mov ebp,esp mov eax,[ebp+0Ch] mov ecx,[ebp+08h] push 00000001h push eax push ecx mov ecx,L006BB1A0 call SUB_L00434DF0 pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 8 SUB_L0045FA00: push ebp mov ebp,esp sub esp,00000010h push ebx push esi push edi mov ebx,ecx push L004C71A8 push SSZ004CC8C8_tiledata_mul mov ecx,L006BB1C8 mov dword ptr [ebp-08h],00000000h call SUB_L00455E10 push eax call SUB_L0049A7F0 mov esi,[ebp+0Ch] mov edi,[ebp+08h] add esp,00000008h mov [ebp-04h],eax mov eax,[esi] add esi,00000004h mov [ebp-0Ch],eax push eax mov eax,[L007B7DD8] lea ecx,[edi+eax] push ecx mov ecx,L005493E0 call SUB_L0048B8A0 sub edi,00000200h mov ecx,[ebp-04h] mov eax,edi push 00000000h shl eax,05h add eax,edi lea edx,[eax+eax*8] lea eax,[00068800h+edx*4] push eax push ecx call SUB_L0049B6B0 mov edx,[ebp-04h] add esp,0000000Ch lea eax,[ebp-0Ch] push edx push 00000001h push 00000004h push eax call SUB_L0049B520 mov eax,edi lea edi,[edi+edi*4] shl eax,05h add esp,00000010h mov [ebp+0Ch],eax shl edi,08h mov dword ptr [ebp+08h],00000020h L0045FAA3: mov ecx,[ebx+60h] lea eax,[edi+ecx] mov ecx,[esi] mov [ebp-10h],eax mov eax,[eax] mov edx,eax xor edx,ecx test edx,01800000h jz L0045FAC3 mov dword ptr [ebp-08h],00000001h L0045FAC3: cmp eax,ecx jnz L0045FAD4 mov eax,[ebp-10h] mov cx,[eax+0Eh] cmp cx,[esi+0Ch] jz L0045FAE2 L0045FAD4: mov edx,[ebp+0Ch] mov ecx,L006BB1A0 push edx call SUB_L00435940 L0045FAE2: mov edx,[ebp-04h] mov eax,[ebx+60h] mov ecx,[esi] push edx push 00000001h push 00000004h push esi mov [edi+eax],ecx call SUB_L0049B520 mov edx,[ebp-04h] mov eax,[ebx+60h] mov cl,[esi+04h] add esp,00000010h add esi,00000004h mov [edi+eax+04h],cl push edx push 00000001h push 00000001h push esi call SUB_L0049B520 mov edx,[ebp-04h] mov eax,[ebx+60h] mov cl,[esi+01h] add esp,00000010h inc esi mov [edi+eax+05h],cl push edx push 00000001h push 00000001h push esi call SUB_L0049B520 mov edx,[ebp-04h] mov eax,[ebx+60h] mov ecx,[esi+01h] add esp,00000010h inc esi mov [edi+eax+08h],ecx push edx push 00000001h push 00000004h push esi call SUB_L0049B520 mov edx,[ebp-04h] mov eax,[ebx+60h] mov cx,[esi+04h] add esp,00000010h add esi,00000004h mov [edi+eax+0Ch],cx push edx push 00000001h push 00000002h push esi call SUB_L0049B520 mov edx,[ebp-04h] mov eax,[ebx+60h] mov cx,[esi+02h] add esp,00000010h add esi,00000002h mov [edi+eax+0Eh],cx push edx push 00000001h push 00000002h push esi call SUB_L0049B520 mov edx,[ebp-04h] mov eax,[ebx+60h] mov cx,[esi+02h] add esp,00000010h add esi,00000002h mov [edi+eax+10h],cx push edx push 00000001h push 00000002h push esi call SUB_L0049B520 mov eax,[ebx+60h] mov cl,[esi+02h] mov edx,[ebp-04h] add esp,00000010h add esi,00000002h mov [edi+eax+12h],cl push edx push 00000001h push 00000001h push esi call SUB_L0049B520 mov eax,[ebx+60h] add esp,00000010h inc esi push 00000014h lea ecx,[edi+eax+13h] push esi push ecx call SUB_L0049B200 mov edx,[ebp-04h] mov eax,[ebx+60h] add esp,0000000Ch lea ecx,[edi+eax+13h] push edx push 00000001h push 00000014h push ecx call SUB_L0049B520 mov ecx,[ebp+0Ch] mov eax,[ebp+08h] add esp,00000010h add esi,00000014h add edi,00000028h inc ecx dec eax mov [ebp+0Ch],ecx mov [ebp+08h],eax jnz L0045FAA3 mov edx,[ebp-04h] push edx call SUB_L0049A580 mov eax,[ebp-08h] xor edi,edi add esp,00000004h cmp eax,edi jz L0045FD23 mov ecx,[ebx+08h] cmp ecx,edi jz L0045FC87 L0045FC35: mov al,[ecx+6Dh] test al,al jz L0045FC80 cmp [L006A9D40],ecx jnz L0045FC4C mov eax,[ecx+48h] mov [L006A9D40],eax L0045FC4C: cmp [L006A9D44],ecx jnz L0045FC5D mov edx,[ecx+4Ch] mov [L006A9D44],edx L0045FC5D: mov eax,[ecx+48h] cmp eax,edi jz L0045FC6A mov edx,[ecx+4Ch] mov [eax+4Ch],edx L0045FC6A: mov eax,[ecx+4Ch] cmp eax,edi jz L0045FC77 mov edx,[ecx+48h] mov [eax+48h],edx L0045FC77: mov byte ptr [ecx+6Dh],00h call SUB_L00459170 L0045FC80: mov ecx,[ebx+08h] cmp ecx,edi jnz L0045FC35 L0045FC87: mov eax,[ebx+20h] cmp eax,edi jz L0045FC9D L0045FC8E: mov ecx,[eax+50h] mov [eax+54h],edi mov [eax+50h],edi cmp ecx,edi mov eax,ecx jnz L0045FC8E L0045FC9D: mov esi,[ebx] mov [ebx+20h],edi cmp esi,edi jz L0045FD23 L0045FCA6: mov ecx,[L006A9D98] xor eax,eax mov ax,[esi+38h] lea eax,[eax+eax*4] test dword ptr [ecx+eax*8],01000000h jz L0045FCD3 mov edx,[ebx+20h] mov [esi+54h],edi mov eax,edx mov [esi+50h],edx cmp eax,edi jz L0045FCD0 mov [eax+54h],esi L0045FCD0: mov [ebx+20h],esi L0045FCD3: mov edx,[esi] mov ecx,esi call [edx+40h] test eax,00800000h jz L0045FD1C mov al,[esi+6Dh] test al,al jnz L0045FD1C mov byte ptr [esi+6Dh],01h mov eax,[L006A9D40] cmp eax,edi mov [esi+48h],eax jz L0045FCFD mov ecx,eax mov [ecx+4Ch],esi L0045FCFD: mov [esi+4Ch],edi mov eax,[L006A9D44] cmp eax,edi mov [L006A9D40],esi jnz L0045FD15 mov [L006A9D44],esi L0045FD15: mov ecx,esi call SUB_L00459170 L0045FD1C: mov esi,[esi+40h] cmp esi,edi jnz L0045FCA6 L0045FD23: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 8 SUB_L0045FD30: push ebp mov ebp,esp sub esp,00000008h push ebx push esi push edi mov ebx,ecx push L004C71A8 push SSZ004CC8C8_tiledata_mul mov ecx,L006BB1C8 call SUB_L00455E10 push eax call SUB_L0049A7F0 mov esi,[ebp+0Ch] mov edi,[ebp+08h] add esp,00000008h mov [ebp-04h],eax mov eax,[esi] add esi,00000004h mov [ebp-08h],eax push eax mov eax,[L007B7DD8] lea ecx,[edi+eax] push ecx mov ecx,L005493E0 call SUB_L0048B8A0 lea edx,[edi+edi*2] mov ecx,[ebp-04h] push 00000000h lea eax,[edi+edx*4] shl eax,04h add eax,edi shl eax,02h push eax push ecx call SUB_L0049B6B0 mov edx,[ebp-04h] add esp,0000000Ch lea eax,[ebp-08h] push edx push 00000001h push 00000004h push eax call SUB_L0049B520 mov edx,[ebp+08h] mov eax,edi shl edi,03h shl eax,05h sub edi,edx add esp,00000010h mov [ebp+0Ch],eax mov dword ptr [ebp+08h],00000020h shl edi,07h jmp L0045FDCD L0045FDCA: mov eax,[ebp+0Ch] L0045FDCD: mov ecx,[ebx+64h] mov dx,[ecx+edi+04h] cmp dx,[esi+04h] jz L0045FDE6 push eax mov ecx,L006BB1A0 call SUB_L00435890 L0045FDE6: mov edx,[ebp-04h] mov eax,[ebx+64h] mov ecx,[esi] push edx push 00000001h push 00000004h push esi mov [eax+edi],ecx call SUB_L0049B520 mov edx,[ebp-04h] mov eax,[ebx+64h] mov cx,[esi+04h] add esp,00000010h add esi,00000004h mov [eax+edi+04h],cx push edx push 00000001h push 00000002h push esi call SUB_L0049B520 mov eax,[ebx+64h] add esp,00000010h add esi,00000002h push 00000014h lea ecx,[eax+edi+06h] push esi push ecx call SUB_L0049B200 mov edx,[ebp-04h] mov eax,[ebx+64h] add esp,0000000Ch lea ecx,[eax+edi+06h] push edx push 00000001h push 00000014h push ecx call SUB_L0049B520 mov ecx,[ebp+0Ch] mov eax,[ebp+08h] add esp,00000010h add esi,00000014h add edi,0000001Ch inc ecx dec eax mov [ebp+0Ch],ecx mov [ebp+08h],eax jnz L0045FDCA mov edx,[ebp-04h] push edx call SUB_L0049A580 add esp,00000004h pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 8 SUB_L0045FE80: push ebp mov ebp,esp push ecx push ebx push esi push edi mov edi,ecx push L004C40E0 push SSZ004CC8C8_tiledata_mul mov ecx,L006BB1C8 call SUB_L00455E10 push eax call SUB_L0049A7F0 mov esi,eax xor ebx,ebx add esp,00000008h cmp esi,ebx jz L0046000D mov [ebp-04h],ebx L0045FEB5: test byte ptr [ebp-04h],1Fh jnz L0045FEC8 push 00000001h push 00000004h push esi call SUB_L0049B6B0 add esp,0000000Ch L0045FEC8: mov edx,[edi+64h] mov eax,ebx push esi push 00000001h add eax,edx push 00000004h push eax call SUB_L0049A630 mov ecx,[edi+64h] add esp,00000010h push esi push 00000001h lea edx,[ebx+ecx+04h] push 00000002h push edx call SUB_L0049A630 mov eax,[edi+64h] add esp,00000010h push esi push 00000001h lea ecx,[ebx+eax+06h] push 00000014h push ecx call SUB_L0049A630 mov edx,[ebp-04h] add esp,00000010h add ebx,0000001Ch inc edx cmp ebx,00070000h mov [ebp-04h],edx jl L0045FEB5 xor ebx,ebx mov [ebp-04h],ebx L0045FF1E: test byte ptr [ebp-04h],1Fh jnz L0045FF31 push 00000001h push 00000004h push esi call SUB_L0049B6B0 add esp,0000000Ch L0045FF31: mov ecx,[edi+60h] mov edx,ebx push esi push 00000001h add edx,ecx push 00000004h push edx call SUB_L0049A630 mov eax,[edi+60h] add esp,00000010h push esi push 00000001h lea ecx,[ebx+eax+04h] push 00000001h push ecx call SUB_L0049A630 mov edx,[edi+60h] add esp,00000010h push esi push 00000001h lea eax,[ebx+edx+05h] push 00000001h push eax call SUB_L0049A630 mov ecx,[edi+60h] add esp,00000010h push esi push 00000001h lea edx,[ebx+ecx+08h] push 00000004h push edx call SUB_L0049A630 mov eax,[edi+60h] add esp,00000010h push esi push 00000001h lea ecx,[ebx+eax+0Ch] push 00000002h push ecx call SUB_L0049A630 mov edx,[edi+60h] add esp,00000010h push esi push 00000001h lea eax,[ebx+edx+0Eh] push 00000002h push eax call SUB_L0049A630 mov ecx,[edi+60h] add esp,00000010h push esi push 00000001h lea edx,[ebx+ecx+10h] push 00000002h push edx call SUB_L0049A630 mov eax,[edi+60h] add esp,00000010h push esi push 00000001h lea ecx,[ebx+eax+12h] push 00000001h push ecx call SUB_L0049A630 mov edx,[edi+60h] add esp,00000010h push esi push 00000001h lea eax,[ebx+edx+13h] push 00000014h push eax call SUB_L0049A630 mov edx,[ebp-04h] add esp,00000010h add ebx,00000028h inc edx cmp ebx,000A0000h mov [ebp-04h],edx jl L0045FF1E push esi call SUB_L0049A580 add esp,00000004h L0046000D: pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L00460020: push ebp mov ebp,esp push FFFFFFFFh push L004B3DFC mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000018h push ebx push esi push edi mov [ebp-1Ch],ecx mov eax,[L006AAA9C] mov edx,00001400h cmp eax,edx mov dword ptr [ebp-04h],00000001h mov dword ptr [ebp-14h],FFFFFFFFh mov dword ptr [ebp-18h],00000000h mov esi,00000012h jge L004600C1 cmp eax,esi jge L0046007D mov edi,[ebp+18h] cmp edi,000013EEh jle L0046007D sub edi,edx mov [ebp+18h],edi L0046007D: cmp eax,000013EEh jl L00460090 mov eax,[ebp+18h] cmp eax,esi jg L00460090 add eax,edx mov [ebp+18h],eax L00460090: mov eax,[L006AAAA0] mov edx,00001000h cmp eax,esi jge L004600AE mov edi,[ebp+1Ch] cmp edi,00000FEEh jle L004600AE sub edi,edx mov [ebp+1Ch],edi L004600AE: cmp eax,00000FEEh jl L004600C1 mov eax,[ebp+1Ch] cmp eax,esi jg L004600C1 add eax,edx mov [ebp+1Ch],eax L004600C1: mov eax,[ebp+0Ch] cmp ax,4000h jc L004600DF and eax,0000FFFFh sub eax,00004000h mov [ebp-14h],eax mov eax,00000001h mov [ebp+0Ch],eax L004600DF: mov esi,[ecx+24h] mov edi,[ebp+08h] test esi,esi jz L004600F8 L004600E9: cmp [esi+78h],edi jz L004600FA mov esi,[esi+00000080h] test esi,esi jnz L004600E9 L004600F8: xor esi,esi L004600FA: mov ebx,[ebp+28h] test esi,esi jnz L00460372 test edi,40000000h jz L00460284 cmp ax,2006h jnz L00460188 push 00000124h call SUB_L0049A820 mov esi,eax add esp,00000004h mov [ebp+28h],esi test esi,esi mov byte ptr [ebp-04h],02h jz L0046017D mov ecx,esi call SUB_L0045C2E0 xor eax,eax lea edi,[esi+000000BCh] mov ecx,0000001Ah mov [esi+000000A8h],eax mov [esi+000000ACh],eax mov [esi+000000B0h],eax mov [esi+000000B8h],eax mov dword ptr [esi],L004BB1D8 rep stosd mov [esi+6Eh],al mov eax,[ebp+08h] mov [esi+78h],eax mov word ptr [esi+38h],2006h mov byte ptr [ebp-04h],01h jmp L0046021C L0046017D: xor esi,esi mov byte ptr [ebp-04h],01h jmp L0046021C L00460188: mov esi,[ebp+0Ch] mov eax,[L006A9D98] mov edx,esi and edx,0000FFFFh lea ecx,[edx+edx*4] mov eax,[eax+ecx*8] test eax,00100000h jz L004601D2 push 000000B4h call SUB_L0049A820 add esp,00000004h mov [ebp+08h],eax test eax,eax mov byte ptr [ebp-04h],03h jz L00460206 mov ecx,[ebp+10h] push 00000001h push ecx push esi push edi mov ecx,eax call SUB_L0045E360 mov byte ptr [ebp-04h],01h jmp L0046021A L004601D2: test eax,00200000h jz L0046020E push 000000BCh call SUB_L0049A820 add esp,00000004h mov [ebp+08h],eax test eax,eax mov byte ptr [ebp-04h],04h jz L00460206 mov edx,[ebp+10h] push 00000001h push edx push esi push edi mov ecx,eax call SUB_L0045E150 mov byte ptr [ebp-04h],01h jmp L0046021A L00460206: xor eax,eax mov byte ptr [ebp-04h],01h jmp L0046021A L0046020E: movsx eax,[ebp+10h] push eax mov ecx,edi call SUB_L0045BC00 L0046021A: mov esi,eax L0046021C: mov cl,[ebp+24h] mov eax,ebx and eax,0000FFFFh mov [esi+6Eh],cl mov edx,eax mov ecx,eax and edx,00008000h and ecx,00004000h and eax,00003FFFh jnz L00460244 mov eax,edx jmp L0046025C L00460244: test eax,eax jl L00460255 cmp eax,00000BB8h jge L00460255 or eax,ecx or eax,edx jmp L0046025C L00460255: or ecx,edx or ecx,00000001h mov eax,ecx L0046025C: mov dx,[ebp+14h] mov ecx,esi mov [esi+3Ch],dx mov edx,[ebp+2Ch] and edx,000000FFh mov [esi+3Eh],ax call SUB_L0045C710 mov dword ptr [ebp-18h],00000001h jmp L0046038E L00460284: push 000001DCh call SUB_L0049A820 add esp,00000004h mov [ebp+08h],eax test eax,eax mov byte ptr [ebp-04h],05h jz L004602B2 mov ecx,[ebp+10h] mov edx,[ebp+0Ch] push ecx push edx push edi mov ecx,eax call SUB_L0045E8D0 mov esi,eax xor edi,edi jmp L004602B6 L004602B2: xor edi,edi xor esi,esi L004602B6: mov eax,[ebp+24h] mov byte ptr [ebp-04h],01h mov cl,al and eax,000000FFh shr eax,07h mov [esi+00000144h],eax mov eax,ebx and cl,7Fh and eax,0000FFFFh mov [esi+6Eh],cl mov edx,eax mov ecx,eax and edx,00008000h and ecx,00004000h and eax,00003FFFh mov [esi+00000188h],edi mov [esi+0000018Ch],edi jnz L00460301 mov eax,edx jmp L00460319 L00460301: cmp eax,edi jl L00460312 cmp eax,00000BB8h jge L00460312 or eax,ecx or eax,edx jmp L00460319 L00460312: or ecx,edx or ecx,00000001h mov eax,ecx L00460319: mov dx,[ebp+18h] mov [esi+3Eh],ax mov ax,[ebp+1Ch] mov [ebp-24h],dx mov [ebp-22h],ax mov al,[ebp+20h] movsx cx,al movsx edx,al sub esp,00000008h mov [ebp-20h],cx mov [esi+00000190h],edx mov ecx,[ebp-24h] mov dx,[ebp-20h] mov eax,esp mov [eax],ecx mov ecx,esi mov [eax+04h],dx call SUB_L0045CAD0 mov edx,[ebp+2Ch] mov ecx,esi and edx,000000FFh call SUB_L0045C710 mov [esi+00000148h],edi jmp L0046038E L00460372: mov eax,[esi] mov ecx,esi call [eax+24h] test eax,eax jnz L0046038E mov eax,[esi+00000094h] test eax,eax jnz L0046038E mov edx,[esi] mov ecx,esi call [edx+50h] L0046038E: mov eax,[esi] mov ecx,esi call [eax+24h] test eax,eax jnz L00460460 mov dx,[ebp+1Ch] mov cx,[ebp+18h] movsx ax,[ebp+20h] mov [ebp-22h],dx mov dl,[ebp+24h] mov [ebp-24h],cx mov cl,[ebp+10h] mov [ebp-20h],ax mov ax,[ebp+14h] mov [esi+6Eh],dl mov edx,[ebp+2Ch] mov [esi+3Ah],cl and edx,000000FFh mov ecx,esi mov [esi+3Ch],ax call SUB_L0045C710 and ebx,0000FFFFh mov eax,ebx mov edx,eax mov ecx,eax and edx,00008000h and ecx,00004000h and eax,00003FFFh jnz L004603FD mov ecx,edx jmp L00460415 L004603FD: test eax,eax jl L00460410 cmp eax,00000BB8h jge L00460410 or eax,ecx or eax,edx mov ecx,eax jmp L00460415 L00460410: or ecx,edx or ecx,00000001h L00460415: mov eax,[ebp-14h] mov [esi+3Eh],cx cmp eax,FFFFFFFFh jnz L0046044B mov eax,[ebp+0Ch] sub esp,00000008h and eax,00003FFFh mov ecx,esp mov [esi+38h],ax mov edx,[ebp-24h] mov ax,[ebp-20h] mov [ecx],edx mov [ecx+04h],ax mov ecx,esi call SUB_L0045CAD0 jmp L004607F3 L0046044B: lea ecx,[ebp-24h] push eax push ecx push esi mov ecx,L00712390 call SUB_L00458D00 jmp L004607F3 L00460460: mov eax,[esi+00000184h] mov edx,[L0071221C] cmp eax,00000004h mov [esi+0000014Ch],edx jnz L00460538 mov eax,[esi+1Ch] xor edi,edi test eax,eax jz L00460490 mov eax,[esi] mov ecx,esi call [eax+14h] mov edi,00000001h L00460490: movsx ax,[ebp+20h] mov [esi+24h],ax mov eax,[ebp+0Ch] mov cx,[ebp+18h] mov dx,[ebp+1Ch] and eax,00003FFFh and ebx,0000FFFFh mov [esi+38h],ax mov al,[ebp+24h] and al,7Fh mov [esi+20h],cx mov [esi+6Eh],al mov eax,ebx mov [esi+22h],dx mov edx,eax mov ecx,eax and edx,00008000h and ecx,00004000h and eax,00003FFFh mov dword ptr [esi+0000013Ch],00000001h jnz L004604EA mov eax,edx jmp L00460502 L004604EA: test eax,eax jl L004604FB cmp eax,00000BB8h jge L004604FB or eax,ecx or eax,edx jmp L00460502 L004604FB: or ecx,edx or ecx,00000001h mov eax,ecx L00460502: mov edx,[ebp+2Ch] xor ebx,ebx and edx,000000FFh mov ecx,esi mov [esi+3Eh],ax mov [esi+00000184h],ebx call SUB_L0045C710 cmp edi,ebx mov [esi+00000148h],ebx jz L004606BB mov edx,[esi] mov ecx,esi call [edx+10h] jmp L004606BB L00460538: mov eax,[esi+00000148h] xor edi,edi cmp eax,edi jz L00460565 cmp [esi+1Ch],edi jz L0046055F mov eax,[esi] mov ecx,esi call [eax+14h] mov edx,[esi] mov ecx,esi mov [esi+00000148h],edi call [edx+10h] jmp L00460565 L0046055F: mov [esi+00000148h],edi L00460565: mov eax,[esi+00000184h] mov edx,00000001h cmp eax,edi jnz L004605E1 movsx ecx,[esi+20h] mov edi,[ebp+18h] cmp ecx,edi jnz L0046063A movsx ecx,[esi+22h] cmp ecx,[ebp+1Ch] jnz L0046063A movsx cx,[ebp+20h] cmp [esi+24h],cx jnz L0046063A mov bl,[esi+6Eh] mov ecx,[ebp+24h] xor bl,cl test bl,7Fh jnz L0046063A and ecx,000000FFh xor ebx,ebx shr ecx,07h cmp [esi+00000144h],ebx setnz bl cmp ebx,ecx jnz L0046063A mov cx,[esi+38h] cmp cx,[ebp+0Ch] jnz L0046063A mov cl,[esi+00000098h] mov bl,[ebp+2Ch] cmp cl,bl jnz L0046063A jmp L00460638 L004605E1: lea ecx,[eax+21h] mov edi,[ebp+18h] lea ecx,[ecx+ecx*4] movsx ecx,[esi+ecx*2] cmp ecx,edi jnz L0046063A lea ecx,[eax+eax*4] movsx ebx,[esi+ecx*2+0000014Ch] cmp ebx,[ebp+1Ch] lea ecx,[esi+ecx*2] jnz L0046063A movsx bx,[ebp+20h] cmp [ecx+0000014Eh],bx jnz L0046063A mov bl,[ecx+00000152h] cmp bl,[ebp+24h] jnz L0046063A mov bx,[ecx+00000150h] cmp bx,[ebp+0Ch] jnz L0046063A mov cl,[ecx+00000153h] mov bl,[ebp+2Ch] cmp cl,bl jnz L0046063A L00460638: xor edx,edx L0046063A: test edx,edx jz L004606BB add eax,00000022h mov cx,[ebp+1Ch] lea edx,[eax+eax*4] mov [esi+edx*2],di mov eax,[esi+00000184h] movsx dx,[ebp+20h] lea eax,[eax+eax*4] mov [esi+eax*2+00000156h],cx mov eax,[esi+00000184h] lea eax,[eax+eax*4] mov [esi+eax*2+00000158h],dx mov eax,[esi+00000184h] mov dl,[ebp+24h] lea ecx,[eax+eax*4] mov [esi+ecx*2+0000015Ch],dl mov eax,[esi+00000184h] mov cx,[ebp+0Ch] lea eax,[eax+eax*4] mov [esi+eax*2+0000015Ah],cx mov eax,[esi+00000184h] lea edx,[eax+eax*4] mov al,[ebp+2Ch] mov [esi+edx*2+0000015Dh],al mov eax,[esi+00000184h] inc eax mov [esi+00000184h],eax L004606BB: mov eax,[L0073EBE4] mov ecx,[eax+000001F8h] test ecx,ecx jz L004607F3 mov ecx,[esi+78h] mov edx,[eax+000001FCh] cmp ecx,edx jnz L004607F3 push 00000003h mov ecx,esi call SUB_L0045D480 test eax,eax jnz L004607F3 mov eax,[esi+00000184h] test eax,eax jle L0046070F add eax,00000021h lea edx,[eax+eax*4] lea eax,[esi+edx*2] mov ecx,[esi+edx*2] mov [ebp-14h],ecx mov bx,[eax+04h] jmp L0046071C L0046070F: lea edx,[esi+20h] mov eax,[esi+20h] mov [ebp-14h],eax mov bx,[edx+04h] L0046071C: mov eax,[L00669CA4] mov [ebp-10h],bx test eax,eax jz L00460733 mov ecx,L00669C90 call SUB_L00477270 L00460733: movsx edx,[ebp-12h] movsx eax,[ebp-14h] movsx ecx,bx push 00000001h push 00000064h push ecx push edx push eax mov eax,[L0073EBE4] movsx ecx,[eax+24h] movsx edx,[eax+22h] movsx eax,[eax+20h] push ecx push edx push eax mov ecx,L00669C90 call SUB_L004772B0 test eax,eax mov [L00669C9C],eax jnz L0046079B push SSZ004CC8D8_Can_t_get_there__follow_ push 00000003h push eax mov ecx,L006693F8 call SUB_L0048C0A0 mov dword ptr [L00669CA4],00000000h mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0028h ;------------------------------------------------------------------------------ L0046079B: mov dword ptr [L00669CA4],00000001h mov ebx,eax call SUB_L0044E3D0 mov eax,[ebx+24h] test eax,eax jz L004607BC L004607B3: mov ebx,eax mov eax,[ebx+24h] test eax,eax jnz L004607B3 L004607BC: mov [L00669C9C],ebx mov ecx,[ebx+10h] mov [L00669CA8],ecx mov edx,[ebx+14h] mov [L00669CAC],edx mov eax,[ebx+18h] mov edx,[L0073EBE4] xor ecx,ecx mov [L00669CB0],eax mov cl,[edx+6Eh] mov [L00669CA0],ebx mov [L00669CB4],ecx L004607F3: cmp dword ptr [ebp-18h],00000001h jnz L00460802 mov ecx,[ebp-1Ch] push esi call SUB_L00461B90 L00460802: push 00000012h mov ecx,esi call SUB_L0045D480 test eax,eax jnz L00460821 mov eax,[esi] mov ecx,esi call [eax+68h] test eax,eax jnz L00460821 mov edx,[esi] mov ecx,esi call [edx+04h] L00460821: mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0028h ;------------------------------------------------------------------------------ Align 16 SUB_L00460840: push esi mov esi,ecx mov eax,[esi+00000128h] test eax,eax jnz L0046096F cmp dword ptr [L006A9D94],00000014h jg L0046096F mov eax,[L0071221C] mov edx,[esi+0000014Ch] sub eax,edx cmp eax,00003A98h jbe L0046096F call SUB_L0049C1F0 mov ecx,[L006A9D94] cdq lea ecx,[00000078h+ecx*4] idiv ecx cmp edx,00000002h jge L0046096F xor eax,eax mov ax,[esi+38h] cmp eax,00000015h jnz L004608A5 test edx,edx push 00000001h jmp L004608C9 L004608A5: cmp eax,00000005h jnz L004608BE push 00000000h push 00000000h push 00000001h push 00000000h push eax push 00000011h mov ecx,esi call SUB_L0045EE80 pop esi retn ;------------------------------------------------------------------------------ L004608BE: cmp eax,00000096h jge L004608E9 test edx,edx push 00000000h L004608C9: push 00000000h push 00000001h push 00000000h push 00000005h jz L004608DE push 00000011h mov ecx,esi call SUB_L0045EE80 pop esi retn ;------------------------------------------------------------------------------ L004608DE: push 00000012h mov ecx,esi call SUB_L0045EE80 pop esi retn ;------------------------------------------------------------------------------ L004608E9: cmp eax,000000C8h jge L00460916 push 00000000h push 00000000h test edx,edx push 00000001h push 00000000h jz L00460909 push 0000000Fh push 00000003h mov ecx,esi call SUB_L0045EE80 pop esi retn ;------------------------------------------------------------------------------ L00460909: push 00000014h push 00000004h mov ecx,esi call SUB_L0045EE80 pop esi retn ;------------------------------------------------------------------------------ L00460916: cmp eax,00000190h jge L00460943 push 00000000h push 00000000h test edx,edx push 00000001h push 00000000h jz L00460936 push 00000005h push 00000009h mov ecx,esi call SUB_L0045EE80 pop esi retn ;------------------------------------------------------------------------------ L00460936: push 00000003h push 0000000Ah mov ecx,esi call SUB_L0045EE80 pop esi retn ;------------------------------------------------------------------------------ L00460943: test edx,edx jz L0046095C push 00000001h push 00000000h push 00000001h push 00000000h push 00000005h push 00000005h mov ecx,esi call SUB_L0045EE80 pop esi retn ;------------------------------------------------------------------------------ L0046095C: push 00000000h push 00000000h push 00000001h push 00000000h push 00000005h push 00000006h mov ecx,esi call SUB_L0045EE80 L0046096F: pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L00460980: mov eax,[L0073EBDC] push esi test eax,eax push edi jnz L00460A45 mov eax,[L00712220] mov edx,[L005493D0] sub eax,edx cmp eax,00000003h jbe L00460A45 mov eax,[L006A9D5C] test eax,eax jz L004609C7 mov ecx,[L0073EBE0] L004609B4: cmp [eax+78h],ecx jz L00460A48 mov eax,[eax+00000080h] test eax,eax jnz L004609B4 L004609C7: xor esi,esi L004609C9: test esi,esi jz L00460A45 mov edx,[esi] mov ecx,esi call [edx+24h] test eax,eax jz L00460A45 mov edi,[L0073EBE4] movsx ecx,[esi+20h] movsx eax,[edi+20h] movsx edx,[esi+22h] sub ecx,eax movsx eax,[edi+22h] sub edx,eax test ecx,ecx jge L004609FB or ecx,FFFFFFFFh jmp L00460A02 L004609FB: jle L00460A02 mov ecx,00000001h L00460A02: test edx,edx jge L00460A0B or edx,FFFFFFFFh jmp L00460A12 L00460A0B: jle L00460A12 mov edx,00000001h L00460A12: xor eax,eax L00460A14: cmp [L004C7E28+eax*4],ecx jnz L00460A26 cmp [L004C7E50+eax*4],edx jz L00460A2C L00460A26: inc eax cmp eax,00000007h jl L00460A14 L00460A2C: xor ecx,ecx mov cl,[edi+6Eh] cmp eax,ecx jz L00460A45 push 00000000h inc eax push FFFFFFFFh push eax mov ecx,L00669590 call SUB_L00452F30 L00460A45: pop edi pop esi retn ;------------------------------------------------------------------------------ L00460A48: mov esi,eax jmp L004609C9 Align 4 SUB_L00460A50: push ebp mov ebp,esp sub esp,00000010h push ebx push esi push edi mov edi,ecx mov esi,[edi+18h] test esi,esi jz L00460AA5 L00460A62: push 00000012h mov ecx,esi call SUB_L0045D480 test eax,eax mov al,[esi+6Ch] jz L00460A93 test al,al jz L00460A9E lea eax,[esi+20h] sub esp,00000008h mov ecx,esp mov edx,[eax] mov [ecx],edx mov ax,[eax+04h] mov [ecx+04h],ax mov ecx,esi call SUB_L0045CAD0 jmp L00460A9E L00460A93: test al,al jnz L00460A9E mov edx,[esi] mov ecx,esi call [edx+50h] L00460A9E: mov esi,[esi+60h] test esi,esi jnz L00460A62 L00460AA5: mov esi,[edi+24h] test esi,esi jz L004610A2 L00460AB0: mov eax,[esi+7Ch] mov edi,[esi+00000080h] test eax,eax mov ebx,00000001h mov [ebp-08h],edi jnz L00460AF6 push 00000012h mov ecx,esi call SUB_L0045D480 test eax,eax jnz L00460AF6 test edi,edi jz L00460AEA L00460AD6: mov eax,[edi+7Ch] test eax,eax jz L00460AE7 mov edi,[edi+00000080h] test edi,edi jnz L00460AD6 L00460AE7: mov [ebp-08h],edi L00460AEA: mov eax,[esi] mov ecx,esi call [eax+04h] jmp L00461097 L00460AF6: mov edx,[esi] mov ecx,esi call [edx+28h] test eax,eax jz L00460BC8 mov al,[esi+6Ch] test al,al jnz L00461097 mov ecx,[L0073EBE4] mov eax,[ecx+00000148h] test eax,eax jz L00461097 mov ax,[ecx+38h] and eax,00003FFFh cmp eax,0000000Dh jz L00460B68 cmp eax,0000000Fh jz L00460B68 cmp eax,00000010h jz L00460B68 cmp eax,0000023Eh jz L00460B68 cmp eax,00000190h jl L00460B98 mov eax,[ecx+000000CCh] test eax,eax jz L00460B98 mov edx,[eax] mov ecx,eax call [edx+40h] mov ecx,[L0073EBE4] test eax,00800000h jz L00460B98 L00460B68: mov eax,[ecx+1Ch] test eax,eax jz L00460B92 mov eax,[ecx] call [eax+14h] mov eax,[L006695A4] mov ecx,[L0073EBE4] inc eax mov [L006695A4],eax mov edx,[ecx] call [edx+10h] mov ecx,[L0073EBE4] jmp L00460B98 L00460B92: inc [L006695A4] L00460B98: mov eax,[ecx+00000150h] test eax,eax jnz L00460BBE mov edx,[ecx+000001A4h] test edx,edx jnz L00460BB6 call SUB_L00460840 jmp L00461097 L00460BB6: test eax,eax jz L00461097 L00460BBE: call SUB_L00460980 jmp L00461097 L00460BC8: mov eax,[esi] mov ecx,esi call [eax+24h] test eax,eax jz L00461097 mov eax,[esi+0000013Ch] xor edi,edi cmp eax,edi mov [ebp-04h],edi jnz L00460CC0 cmp [esi+00000184h],edi jg L00460CC0 cmp [esi+00000148h],edi jz L00460C77 cmp [esi+00000150h],edi jnz L00460C15 cmp [esi+000001A4h],edi jnz L00460C15 mov ecx,esi call SUB_L00460840 L00460C15: mov ax,[esi+38h] and eax,00003FFFh cmp eax,0000000Dh jz L00460C5D cmp eax,0000000Fh jz L00460C5D cmp eax,00000010h jz L00460C5D cmp eax,0000023Eh jz L00460C5D cmp eax,00000190h jl L00460D12 mov ecx,[esi+000000CCh] test ecx,ecx jz L00460D12 mov edx,[ecx] call [edx+40h] test eax,00800000h jz L00460D12 L00460C5D: mov eax,[esi+1Ch] test eax,eax jz L00460D0C mov eax,[esi] mov ecx,esi call [eax+14h] mov [ebp-04h],ebx jmp L00460D0C L00460C77: mov ecx,[L0071221C] mov edx,[esi+0000014Ch] sub ecx,edx cmp ecx,000007D0h ja L00460C9D xor eax,eax mov ax,[esi+38h] cmp eax,00000050h jz L00460C9D cmp eax,00000051h jnz L00460D12 L00460C9D: mov eax,[esi+1Ch] test eax,eax jz L00460CAE mov edx,[esi] mov ecx,esi call [edx+14h] mov [ebp-04h],ebx L00460CAE: mov [esi+00000148h],ebx mov dword ptr [esi+00000140h],00000003h jmp L00460D12 L00460CC0: mov eax,[L0071221C] mov [esi+0000014Ch],eax mov eax,[esi+1Ch] cmp eax,edi jz L00460CE3 mov ecx,esi call SUB_L00430E80 mov edx,[esi] mov ecx,esi call [edx+14h] mov [ebp-04h],ebx L00460CE3: mov eax,[esi+000001A4h] test eax,eax jz L00460D02 mov ecx,esi mov dword ptr [esi+000001A4h],00000000h call SUB_L00435A30 mov edi,eax jmp L00460D04 L00460D02: xor edi,edi L00460D04: test edi,edi jnz L00461097 L00460D0C: inc [esi+00000140h] L00460D12: test edi,edi jnz L00461097 mov eax,[esi+0000013Ch] xor ebx,ebx test eax,eax mov [ebp-0Ch],ebx jz L00460D38 dec eax mov ebx,00000001h mov [esi+0000013Ch],eax mov [ebp-0Ch],ebx L00460D38: mov eax,[esi+0000013Ch] test eax,eax jnz L00460EC3 mov eax,[esi+00000184h] test eax,eax jle L00460EC3 movsx edx,[esi+00000154h] movsx eax,[esi+20h] lea ecx,[esi+20h] sub eax,edx cdq mov edi,eax movsx eax,[esi+22h] xor edi,edx sub edi,edx movsx edx,[esi+00000156h] sub eax,edx cdq xor eax,edx sub eax,edx mov [ebp-10h],eax mov al,[esi+0000015Ch] movsx ebx,[esi+00000158h] mov dl,al and dl,7Fh mov [esi+6Eh],dl movsx edx,[esi+24h] sub edx,ebx xor ebx,ebx cmp edx,00000016h setge bl test ebx,ebx mov [esi+00000198h],ebx jz L00460DB3 mov [esi+0000019Ch],edx L00460DB3: and eax,000000FFh lea edx,[esi+0000017Ch] shr eax,07h mov [esi+00000144h],eax mov ax,[esi+0000015Ah] and eax,00003FFFh mov [esi+38h],ax mov eax,ecx mov ebx,[eax] mov [edx],ebx lea ebx,[esi+00000154h] mov ax,[eax+04h] mov [edx+04h],ax mov edx,ebx mov eax,[edx] mov [ecx],eax mov dx,[edx+04h] mov [ecx+04h],dx xor edx,edx mov dl,[esi+0000015Dh] mov ecx,esi call SUB_L0045C710 cmp edi,00000002h jge L00460E7D mov eax,[ebp-10h] cmp eax,00000002h jge L00460E7D add eax,edi test eax,eax jle L00460E7D mov eax,[esi+00000198h] test eax,eax jz L00460E4E mov ecx,[esi+0000019Ch] xor eax,eax mov ax,[esi+38h] movsx edi,[L004DB7F0+eax*2] mov eax,2E8BA2E9h imul ecx sar edx,1 mov ecx,edx shr ecx,1Fh add edx,ecx lea edx,[edi+edx*2] jmp L00460E76 L00460E4E: mov eax,[esi+00000144h] test eax,eax jz L00460E68 xor edx,edx mov dx,[esi+38h] movsx edx,[L004DB7F1+edx*2] jmp L00460E76 L00460E68: xor eax,eax mov ax,[esi+38h] movsx edx,[L004DB7F0+eax*2] L00460E76: dec edx mov [esi+0000013Ch],edx L00460E7D: mov eax,[esi+00000184h] mov ecx,00000001h cmp eax,ecx jle L00460EB3 mov eax,ebx L00460E8E: lea edx,[eax+0Ah] mov edi,eax inc ecx add eax,0000000Ah mov ebx,[edx] mov [edi],ebx mov ebx,[edx+04h] mov [edi+04h],ebx mov dx,[edx+08h] mov [edi+08h],dx mov edx,[esi+00000184h] cmp ecx,edx jl L00460E8E L00460EB3: mov eax,[esi+00000184h] mov ebx,[ebp-0Ch] dec eax mov [esi+00000184h],eax L00460EC3: mov ecx,[esi+0000013Ch] xor eax,eax cmp ecx,eax mov [esi+00000188h],eax mov [esi+0000018Ch],eax jz L00461046 cmp [esi+00000198h],eax jz L00460F0E mov ax,[esi+38h] mov ecx,[esi+0000019Ch] movsx edi,[L004DB7F0+eax*2] mov eax,2E8BA2E9h imul ecx sar edx,1 mov ecx,edx shr ecx,1Fh add edx,ecx lea edi,[edi+edx*2] jmp L00460F34 L00460F0E: cmp [esi+00000144h],eax jz L00460F26 xor edx,edx mov dx,[esi+38h] movsx edi,[L004DB7F1+edx*2] jmp L00460F34 L00460F26: xor eax,eax mov ax,[esi+38h] movsx edi,[L004DB7F0+eax*2] L00460F34: test edi,edi jnz L00460F61 mov eax,[L0073EBF0] test eax,eax jnz L00460F51 push edi mov edx,SSZ004CC908_UpdateMovement_ mov ecx,SSZ004CC8F4_MovesPerTile____0 call SUB_L0049A0A0 L00460F51: mov eax,[L0073EBF0] mov edi,00000001h inc eax mov [L0073EBF0],eax L00460F61: mov ecx,[esi+0000013Ch] xor eax,eax mov al,[esi+6Eh] cmp eax,00000007h ja L00461046 jmp [CASE_PROCTABLE_004610B4+eax*4] CASE_004610B4_PROC0000: lea edx,[ecx+ecx*4] lea eax,[ecx+edx*2] shl eax,1 cdq idiv edi mov [esi+00000188h],eax lea eax,[ecx+ecx*2] shl eax,02h sub eax,ecx neg eax shl eax,1 jmp L0046103D CASE_004610B4_PROC0001: lea eax,[ecx+ecx*4] lea eax,[ecx+eax*2] jmp L00460FF7 CASE_004610B4_PROC0002: lea edx,[ecx+ecx*4] lea eax,[ecx+edx*2] shl eax,1 cdq idiv edi mov [esi+00000188h],eax jmp L00461040 CASE_004610B4_PROC0003: lea eax,[ecx+ecx*4] mov dword ptr [esi+00000188h],00000000h lea eax,[ecx+eax*2] jmp L0046103A CASE_004610B4_PROC0004: lea eax,[ecx+ecx*2] shl eax,02h sub eax,ecx neg eax shl eax,1 cdq idiv edi lea edx,[ecx+ecx*4] mov [esi+00000188h],eax lea eax,[ecx+edx*2] shl eax,1 jmp L0046103D CASE_004610B4_PROC0005: lea eax,[ecx+ecx*2] shl eax,02h sub eax,ecx neg eax L00460FF7: shl eax,02h cdq idiv edi mov dword ptr [esi+0000018Ch],00000000h mov [esi+00000188h],eax jmp L00461046 CASE_004610B4_PROC0006: lea eax,[ecx+ecx*2] shl eax,02h sub eax,ecx neg eax shl eax,1 cdq idiv edi mov [esi+00000188h],eax jmp L00461040 CASE_004610B4_PROC0007: lea eax,[ecx+ecx*2] mov dword ptr [esi+00000188h],00000000h shl eax,02h sub eax,ecx neg eax L0046103A: shl eax,02h L0046103D: cdq idiv edi L00461040: mov [esi+0000018Ch],eax L00461046: mov eax,[ebp-04h] test eax,eax jz L00461069 mov eax,[esi] mov ecx,esi call [eax+0000008Ch] mov edx,[esi] mov ecx,esi call [edx+10h] test ebx,ebx jz L00461069 mov ecx,esi call SUB_L00430E80 L00461069: mov edi,[esi+68h] test edi,edi jz L00461097 test ebx,ebx jz L00461097 test edi,edi jz L00461089 L00461078: mov ecx,edi call SUB_L004021B0 mov edi,[edi+000000B0h] test edi,edi jnz L00461078 L00461089: mov esi,[esi+68h] test esi,esi jz L00461097 mov ecx,esi call SUB_L004022C0 L00461097: mov esi,[ebp-08h] test esi,esi jnz L00460AB0 L004610A2: mov ecx,L005493F8 call SUB_L00401110 pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_004610B4: dd CASE_004610B4_PROC0000 dd CASE_004610B4_PROC0001 dd CASE_004610B4_PROC0002 dd CASE_004610B4_PROC0003 dd CASE_004610B4_PROC0004 dd CASE_004610B4_PROC0005 dd CASE_004610B4_PROC0006 dd CASE_004610B4_PROC0007 Align 16 SUB_L004610E0: push ebp mov ebp,esp mov eax,fs:[00000000h] push FFFFFFFFh push L004B3E18 push eax mov fs:[00000000h],esp push ebx push esi push edi mov esi,[ecx+04h] mov dword ptr [ebp-04h],00000000h test esi,esi jz L00461141 mov di,[ebp+0Ch] mov ebx,[ebp+0Ah] L00461110: mov ax,[ebp+08h] cmp ax,[esi+20h] jnz L0046113A cmp bx,[esi+22h] jnz L0046113A cmp di,[esi+24h] jl L0046113A mov edx,[esi] mov ecx,esi call [edx+70h] movsx ecx,[esi+24h] movsx edx,di add eax,ecx cmp edx,eax jl L00461156 L0046113A: mov esi,[esi+44h] test esi,esi jnz L00461110 L00461141: xor eax,eax mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L00461156: mov ecx,[ebp-0Ch] mov eax,esi pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 8 SUB_L00461170: push ebp mov ebp,esp push ecx mov [ebp-04h],cx mov eax,[ebp-04h] and eax,0000FFFFh cmp eax,00000EF3h jl L00461197 cmp eax,00000EF9h jg L00461197 mov eax,00000001h mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00461197: cmp cx,1F2Dh jc L004611AE cmp cx,1F6Ch ja L004611AE mov eax,00000001h mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L004611AE: xor eax,eax mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L004611C0: push ebp mov ebp,esp sub esp,00000010h push esi mov esi,[ebp+08h] mov ecx,esi mov eax,[esi] call [eax+2Ch] test eax,eax jz L00461279 mov ecx,[esi+78h] mov [L00712218],ecx mov edx,[esi] mov ecx,esi call [edx+60h] test eax,eax jz L0046123E mov eax,[L00669620] mov ecx,L00669608 push eax push 00000000h push 00000000h push esi call SUB_L0043F350 test eax,eax jnz L0046122E mov ecx,[esi+78h] lea edx,[ebp-08h] push ecx push edx mov ecx,L006BB1C0 call SUB_L00473E20 mov ecx,[L006BB1CC] lea eax,[ebp-08h] push eax call SUB_L0048B170 pop esi mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L0046122E: push 00000000h mov ecx,eax call SUB_L00441340 pop esi mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L0046123E: xor eax,eax mov ax,[esi+38h] cmp eax,00000EF3h jg L0046129A jz L00461280 cmp eax,00000383h jz CASE_00461328_PROC0003 L00461258: mov edx,[esi+78h] lea eax,[ebp-10h] push edx push eax mov ecx,L006BB1C0 call SUB_L00473E20 lea ecx,[ebp-10h] push ecx mov ecx,[L006BB1CC] call SUB_L0048B170 L00461279: pop esi mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L00461280: mov ecx,[esi+78h] mov edx,00000001h push ecx mov ecx,SSZ004CC918_scroll call SUB_L00457D00 pop esi mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L0046129A: add eax,FFFFF10Ch cmp eax,00000005h ja L00461258 jmp [CASE_PROCTABLE_00461328+eax*4] CASE_00461328_PROC0000: mov edx,[esi+78h] mov ecx,SSZ004CC918_scroll push edx mov edx,00000001h call SUB_L00457D00 pop esi mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_00461328_PROC0001: mov eax,[esi+78h] xor edx,edx push eax mov ecx,SSZ004CC918_scroll call SUB_L00457D00 pop esi mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_00461328_PROC0003: mov edx,[esi+78h] mov ecx,SSZ004CC918_scroll push edx mov edx,00000002h call SUB_L00457D00 pop esi mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_00461328_PROC0004: mov eax,[esi+78h] mov edx,00000002h push eax mov ecx,SSZ004CC918_scroll call SUB_L00457D00 pop esi mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_00461328_PROC0002: mov ecx,[esi+78h] xor edx,edx push ecx mov ecx,SSZ004CC918_scroll call SUB_L00457D00 pop esi mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_00461328: dd CASE_00461328_PROC0000 dd CASE_00461328_PROC0001 dd CASE_00461328_PROC0002 dd CASE_00461328_PROC0003 dd CASE_00461328_PROC0004 dd CASE_00461328_PROC0002 SUB_L00461340: push ebp mov ebp,esp sub esp,00000404h push ebx mov ebx,[ebp+08h] push esi xor esi,esi test ebx,ebx push edi mov [ebp-04h],esi jz L00461368 mov eax,[ebx] mov ecx,ebx call [eax+2Ch] test eax,eax jz L00461368 call SUB_L0048B870 L00461368: mov eax,[ebx+68h] test eax,eax jnz L004614A0 mov edx,[ebx] mov ecx,ebx call [edx+2Ch] test eax,eax jz L00461390 mov eax,[ebx+7Ch] test eax,eax jz L00461390 mov eax,[eax+000000ACh] mov [ebp-04h],eax mov esi,eax L00461390: test esi,esi jz L0046139E mov eax,[esi+48h] test eax,eax jz L0046139E mov [ebp-04h],eax L0046139E: xor ecx,ecx mov byte ptr [L00669408],03h mov cx,[ebx+3Ch] lea edx,[ebp-00000204h] push ecx push L004CC920 push edx call SUB_L0049AC80 mov eax,[ebx] add esp,0000000Ch mov ecx,ebx call [eax+2Ch] test eax,eax jnz L004614A0 mov edx,[ebx] mov ecx,ebx call [edx+40h] test ah,08h jz L004613E6 mov edx,00000001h cmp [ebx+3Ch],dx ja L004613E8 L004613E6: xor edx,edx L004613E8: movsx eax,[ebx+3Ah] xor ecx,ecx mov cx,[ebx+38h] add ecx,eax call SUB_L0045D5B0 mov edi,eax or ecx,FFFFFFFFh xor eax,eax lea edx,[ebp-00000404h] repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx mov edx,[ebx] shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov ecx,ebx call [edx+40h] test ah,08h jz L00461485 cmp word ptr [ebx+3Ch],0001h jbe L00461485 lea edi,[ebp-00000404h] or ecx,FFFFFFFFh xor eax,eax lea edx,[ebp-00000204h] repne scasb not ecx sub edi,ecx push eax mov esi,edi mov edi,edx mov edx,ecx or ecx,FFFFFFFFh repne scasb mov ecx,edx dec edi shr ecx,02h rep movsd mov eax,[ebp-04h] mov ecx,edx and ecx,00000003h push eax rep movsb push 00000003h lea ecx,[ebp-00000204h] push 000003B2h push ecx mov ecx,ebx call SUB_L0045DAE0 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L00461485: mov edx,[ebp-04h] push 00000000h push edx push 00000003h lea eax,[ebp-00000404h] push 000003B2h push eax mov ecx,ebx call SUB_L0045DAE0 L004614A0: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 8 SUB_L004614B0: push ebp mov ebp,esp push FFFFFFFFh push L004B3E3B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,0000000Ch push ebx push esi push edi mov edi,[ebp+08h] mov esi,ecx mov ecx,edi call SUB_L0045D370 test eax,eax jnz L004614EB call SUB_L0048B870 test eax,eax jz L004616A2 L004614EB: mov bx,[ebp+0Ch] test bx,bx jnz L00461563 cmp word ptr [edi+3Ch],0001h jbe L00461563 movsx eax,[edi+3Ah] xor ecx,ecx mov cx,[edi+38h] add eax,ecx lea edx,[eax+eax*4] mov eax,[L006A9D98] mov ecx,[eax+edx*8] test ch,08h jz L00461563 push 00000000h push 00000000h push 00000031h push edi mov ecx,L00669608 call SUB_L00441620 mov ecx,eax mov eax,[ecx+1Ch] mov dword ptr [ecx+00000094h],00000001h cdq sub eax,edx sar eax,1 mov [ecx+6Ch],eax mov eax,[ecx+20h] cdq sub eax,edx sar eax,1 mov [ecx+70h],eax mov [L006A9DD4],ecx mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L00461563: lea ecx,[edi+20h] lea edx,[esi+38h] mov eax,[ecx] mov [edx],eax mov cx,[ecx+04h] mov [edx+04h],cx mov dx,[edi+38h] mov [esi+3Eh],dx mov al,[edi+3Ah] mov [esi+41h],al mov ecx,[edi+78h] xor eax,eax mov [esi+44h],ecx mov ax,[edi+3Eh] mov edx,eax mov ecx,eax and edx,00008000h and ecx,00004000h and eax,00003FFFh jnz L004615AA mov ecx,edx jmp L004615C2 L004615AA: test eax,eax jl L004615BD cmp eax,00000BB8h jge L004615BD or eax,ecx or eax,edx mov ecx,eax jmp L004615C2 L004615BD: or ecx,edx or ecx,00000001h L004615C2: test bx,bx mov [esi+48h],cx jnz L004615D5 mov dx,[edi+3Ch] mov [esi+4Ah],dx jmp L004615D9 L004615D5: mov [esi+4Ah],bx L004615D9: mov al,[edi+00000098h] mov [esi+40h],al xor eax,eax movsx ecx,[edi+3Ah] mov ax,[edi+38h] add eax,ecx lea edx,[eax+eax*4] mov eax,[L006A9D98] mov ecx,[eax+edx*8] xor eax,eax mov [esi+4Ch],ecx mov ebx,[edi+7Ch] cmp ebx,eax mov [esi+50h],eax mov [esi+54h],eax jz L00461645 mov edx,[ebx] mov ecx,ebx call [edx+24h] test eax,eax jz L00461637 mov [esi+54h],ebx mov eax,00000001h lea ecx,[ebx+000000C8h] L00461624: cmp [ecx],edi jnz L0046162C mov [esi+58h],ax L0046162C: inc eax add ecx,00000004h cmp eax,0000001Eh jl L00461624 jmp L00461645 L00461637: mov eax,[ebx] mov ecx,ebx call [eax+30h] test eax,eax jz L00461645 mov [esi+50h],ebx L00461645: mov edx,[edi] mov ecx,edi call [edx+04h] mov ax,[esi+4Ah] mov ecx,[esi+44h] push eax lea edx,[ebp-18h] push ecx push edx mov ecx,L006BB1C0 mov dword ptr [esi+70h],00000001h call SUB_L00474180 mov ecx,[L006BB1CC] lea eax,[ebp-18h] push eax call SUB_L0048B170 push 0000009Ch call SUB_L0049A820 add esp,00000004h mov [ebp+0Ch],eax test eax,eax mov dword ptr [ebp-04h],00000000h jz L0046169D mov ecx,eax call SUB_L0042DEA0 jmp L0046169F L0046169D: xor eax,eax L0046169F: mov [esi+34h],eax L004616A2: mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L004616C0: push ebp mov ebp,esp mov eax,[ecx+24h] test eax,eax jz L004616DC mov ecx,[ebp+08h] L004616CD: cmp [eax+78h],ecx jz L004616DE mov eax,[eax+00000080h] test eax,eax jnz L004616CD L004616DC: xor eax,eax L004616DE: pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L004616F0: push ebp mov ebp,esp push FFFFFFFFh push L004B3E84 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000008h push ebx push esi push edi mov ebx,ecx mov ecx,[ebp+20h] mov eax,[L006BB1D0] xor edi,edi cmp ecx,eax mov [ebp-04h],edi jnz L00461729 mov esi,[L0073EBE4] jmp L00461745 L00461729: mov eax,[ebx+24h] cmp eax,edi jz L00461743 L00461730: cmp [eax+78h],ecx jz L0046194F mov eax,[eax+00000080h] cmp eax,edi jnz L00461730 L00461743: xor esi,esi L00461745: cmp esi,edi jz L0046193C mov eax,[esi] mov ecx,esi call [eax+30h] test eax,eax jz L0046193C mov eax,[ebx+24h] mov ebx,[ebp+08h] cmp eax,edi mov [ebp+20h],esi jz L00461778 L00461769: cmp [eax+78h],ebx jz L0046177A mov eax,[eax+00000080h] cmp eax,edi jnz L00461769 L00461778: xor eax,eax L0046177A: cmp eax,edi jz L00461785 mov edx,[eax] mov ecx,eax call [edx+04h] L00461785: test ebx,40000000h jz L00461892 mov esi,[ebp+0Ch] cmp si,2006h jnz L0046180C push 00000124h call SUB_L0049A820 mov esi,eax add esp,00000004h mov [ebp+10h],esi cmp esi,edi mov byte ptr [ebp-04h],01h jz L004617FF mov ecx,esi call SUB_L0045C2E0 mov [esi+000000A8h],edi mov [esi+000000ACh],edi mov [esi+000000B0h],edi mov [esi+000000B8h],edi lea edi,[esi+000000BCh] mov ecx,0000001Ah xor eax,eax mov dword ptr [esi],L004BB1D8 rep stosd mov [esi+6Eh],al mov [ebp-04h],al mov [esi+78h],ebx mov word ptr [esi+38h],2006h mov eax,esi jmp L004618C2 L004617FF: xor esi,esi mov byte ptr [ebp-04h],00h mov eax,esi jmp L004618C2 L0046180C: mov ecx,[L006A9D98] mov edx,esi and edx,0000FFFFh lea eax,[edx+edx*4] mov eax,[ecx+eax*8] test eax,00100000h jz L00461850 push 000000B4h call SUB_L0049A820 add esp,00000004h mov [ebp+0Ch],eax cmp eax,edi mov byte ptr [ebp-04h],02h jz L004618BC mov edx,[ebp+10h] push 00000001h push edx push esi push ebx mov ecx,eax call SUB_L0045E360 jmp L004618BE L00461850: test eax,00200000h jz L00461880 push 000000BCh call SUB_L0049A820 add esp,00000004h mov [ebp+0Ch],eax cmp eax,edi mov byte ptr [ebp-04h],03h jz L004618BC mov ecx,[ebp+10h] push 00000001h push ecx push esi push ebx mov ecx,eax call SUB_L0045E150 jmp L004618BE L00461880: mov eax,[ebp+10h] mov ecx,ebx and eax,000000FFh push eax call SUB_L0045BC00 jmp L004618C2 L00461892: push 000001DCh call SUB_L0049A820 add esp,00000004h mov [ebp+08h],eax cmp eax,edi mov byte ptr [ebp-04h],04h jz L004618BC mov ecx,[ebp+10h] mov edx,[ebp+0Ch] push ecx push edx push ebx mov ecx,eax call SUB_L0045E8D0 jmp L004618BE L004618BC: xor eax,eax L004618BE: mov byte ptr [ebp-04h],00h L004618C2: mov edx,[ebp+24h] and edx,0000FFFFh mov edi,edx mov esi,edx and edi,00008000h and esi,00004000h and edx,00003FFFh jnz L004618E7 mov edx,edi jmp L00461900 L004618E7: test edx,edx jl L004618F9 cmp edx,00000BB8h jge L004618F9 or edx,esi or edx,edi jmp L00461900 L004618F9: or esi,edi or esi,00000001h mov edx,esi L00461900: mov cx,[ebp+14h] mov [eax+3Eh],dx mov dx,[ebp+18h] mov [eax+3Ch],cx mov cx,[ebp+1Ch] sub esp,00000008h mov [ebp-14h],dx mov [ebp-12h],cx mov esi,[ebp-14h] mov edx,esp xor cx,cx mov [edx],esi mov [ebp-10h],cx mov [edx+04h],cx mov ecx,[ebp+20h] push ecx mov ecx,eax call SUB_L0045CC30 L0046193C: mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0020h ;------------------------------------------------------------------------------ L0046194F: mov esi,eax jmp L00461745 Align 16 SUB_L00461960: push ebp mov ebp,esp mov eax,00000001h pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 8 SUB_L00461970: push ebp mov ebp,esp mov eax,[ebp+08h] mov ecx,[L006A9D98] and eax,0000FFFFh lea eax,[eax+eax*4] mov eax,[ecx+eax*8] and eax,00200000h pop ebp retn 0004h ;------------------------------------------------------------------------------ SUB_L00461990: push ebp mov ebp,esp mov eax,[ebp+08h] mov ecx,[L006A9D98] and eax,0000FFFFh lea eax,[eax+eax*4] mov eax,[ecx+eax*8] and eax,00100000h pop ebp retn 0004h ;------------------------------------------------------------------------------ SUB_L004619B0: push ebp mov ebp,esp mov eax,[ebp+08h] and eax,0000FFFFh cmp eax,0000028Eh jz L004619CF cmp eax,00000EEDh jz L004619CF xor eax,eax pop ebp retn 0004h ;------------------------------------------------------------------------------ L004619CF: mov eax,00000001h pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L004619E0: push ebp mov ebp,esp push FFFFFFFFh push L004B3EA6 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000020h mov eax,[ebp+08h] push ebx push edi mov ebx,ecx mov edi,[eax+68h] mov [ebp-10h],ebx test edi,edi jz L00461B7C push esi L00461A11: push 00000024h call SUB_L0049A820 mov esi,eax add esp,00000004h mov [ebp-2Ch],esi xor eax,eax cmp esi,eax mov [ebp-04h],eax jz L00461AAD mov ecx,[edi+00000098h] mov ax,[edi+000000DEh] mov edx,[edi+00000094h] mov [ebp-28h],ecx mov cx,[edi+000000DCh] mov [ebp-20h],ax mov eax,[ebp+08h] mov [ebp-1Ch],cx mov [ebp-24h],edx mov edx,[edi+000000D8h] mov ecx,[eax+78h] lea ebx,[esi+08h] mov [ebp-14h],ecx mov ecx,ebx mov [ebp-18h],edx call SUB_L004823D0 mov eax,[ebp-18h] mov edx,[ebp-14h] push eax mov ecx,ebx mov byte ptr [ebp-04h],01h mov [esi],edx call SUB_L004825B0 mov cx,[ebp-1Ch] mov dx,[ebp-20h] mov eax,[ebp-24h] mov ebx,[ebp-10h] mov [esi+18h],cx mov ecx,[ebp-28h] mov [esi+1Ah],dx mov byte ptr [esi+04h],00h mov [esi+1Ch],eax mov [esi+20h],ecx mov [ebp-14h],esi jmp L00461AB0 L00461AAD: mov [ebp-14h],eax L00461AB0: mov esi,[ebx+78h] mov dword ptr [ebp-04h],FFFFFFFFh test esi,esi jz L00461B16 jnz L00461AC4 xor eax,eax jmp L00461B3F L00461AC4: mov ebx,[esi] push 0000000Ch call SUB_L0049A820 xor edx,edx add esp,00000004h cmp eax,edx jz L00461AE0 mov [eax],edx mov [eax+04h],edx mov [eax+08h],edx jmp L00461AE2 L00461AE0: xor eax,eax L00461AE2: mov [eax],ebx mov [eax+04h],esi cmp ebx,edx mov [esi],eax jz L00461AFA mov ecx,[ebp-10h] mov [ebx+04h],eax mov ebx,ecx inc [ecx+7Ch] jmp L00461B3F L00461AFA: mov ecx,[ebp-10h] mov esi,[ecx+74h] mov [ecx+78h],eax cmp esi,edx jnz L00461B0A mov [ecx+74h],eax L00461B0A: mov edx,[ecx+7Ch] mov ebx,[ebp-10h] inc edx mov [ecx+7Ch],edx jmp L00461B3F L00461B16: push 0000000Ch call SUB_L0049A820 xor ecx,ecx add esp,00000004h cmp eax,ecx jz L00461B30 mov [eax],ecx mov [eax+04h],ecx mov [eax+08h],ecx jmp L00461B32 L00461B30: xor eax,eax L00461B32: mov ecx,[ebx+7Ch] mov [ebx+78h],eax inc ecx mov [ebx+74h],eax mov [ebx+7Ch],ecx L00461B3F: mov esi,eax test esi,esi jz L00461B6D mov ebx,[esi+08h] test ebx,ebx jz L00461B64 lea ecx,[ebx+08h] call SUB_L004823F0 push ebx call SUB_L0049A810 add esp,00000004h mov dword ptr [esi+08h],00000000h L00461B64: mov edx,[ebp-14h] mov ebx,[ebp-10h] mov [esi+08h],edx L00461B6D: mov edi,[edi+000000B0h] test edi,edi jnz L00461A11 pop esi L00461B7C: mov ecx,[ebp-0Ch] pop edi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L00461B90: push ebp mov ebp,esp push ecx push esi mov esi,[ecx+78h] test esi,esi mov [ebp-04h],ecx jz L00461C6D push edi push ebx L00461BA5: mov edi,[esi+08h] mov ecx,[ebp+08h] mov eax,[edi] mov edx,[ecx+78h] cmp eax,edx jnz L00461C5C mov ebx,[L00777390] mov dword ptr [L00777390],00000001h mov dx,[edi+1Ah] mov ax,[edi+18h] push 00000000h push 00000000h push edx push eax lea ecx,[edi+08h] call SUB_L00493EC0 mov ecx,[ebp+08h] push eax call SUB_L0045DAE0 mov [L00777390],ebx mov ecx,[edi+1Ch] mov [eax+00000094h],ecx mov edx,[edi+20h] xor ebx,ebx mov [eax+00000098h],edx test esi,esi jnz L00461C09 xor edi,edi jmp L00461C44 L00461C09: mov edi,[esi+04h] mov eax,[esi] test edi,edi jz L00461C16 mov [edi],eax jmp L00461C1C L00461C16: mov ecx,[ebp-04h] mov [ecx+74h],eax L00461C1C: test eax,eax jz L00461C25 mov [eax+04h],edi jmp L00461C2B L00461C25: mov edx,[ebp-04h] mov [edx+78h],edi L00461C2B: mov ebx,[esi+08h] push esi mov dword ptr [esi+08h],00000000h call SUB_L0049A810 mov eax,[ebp-04h] add esp,00000004h dec [eax+7Ch] L00461C44: test ebx,ebx jz L00461C58 mov ecx,ebx call SUB_L00461D80 push ebx call SUB_L0049A810 add esp,00000004h L00461C58: mov esi,edi jmp L00461C63 L00461C5C: test esi,esi jz L00461C63 mov esi,[esi+04h] L00461C63: test esi,esi jnz L00461BA5 pop ebx pop edi L00461C6D: pop esi mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00461C80: push ebx mov ebx,ecx mov eax,[ebx+74h] test eax,eax jz L00461D02 push edi push esi L00461C8C: mov ecx,[eax+08h] mov dl,[ecx+04h] inc dl cmp dl,04h mov [ecx+04h],dl jbe L00461CF6 xor edi,edi test eax,eax jnz L00461CA6 xor esi,esi jmp L00461CDE L00461CA6: mov ecx,[eax+04h] mov esi,[eax] test ecx,ecx jz L00461CB3 mov [ecx],esi jmp L00461CB6 L00461CB3: mov [ebx+74h],esi L00461CB6: test esi,esi jz L00461CBF mov [esi+04h],ecx jmp L00461CC2 L00461CBF: mov [ebx+78h],ecx L00461CC2: mov ecx,[eax+08h] push eax mov dword ptr [eax+08h],00000000h mov edi,ecx call SUB_L0049A810 mov eax,[ebx+7Ch] add esp,00000004h dec eax mov [ebx+7Ch],eax L00461CDE: test edi,edi jz L00461CF2 mov ecx,edi call SUB_L00461D80 push edi call SUB_L0049A810 add esp,00000004h L00461CF2: mov eax,esi jmp L00461CFC L00461CF6: test eax,eax jz L00461CFC mov eax,[eax] L00461CFC: test eax,eax jnz L00461C8C pop esi pop edi L00461D02: pop ebx retn ;------------------------------------------------------------------------------ Align 16 L00461D10: push ebx mov ebx,ecx mov eax,[ebx] test eax,eax jz L00461D78 push edi push esi L00461D1B: xor edi,edi test eax,eax jnz L00461D25 xor esi,esi jmp L00461D5C L00461D25: mov ecx,[eax+04h] mov esi,[eax] test ecx,ecx jz L00461D32 mov [ecx],esi jmp L00461D34 L00461D32: mov [ebx],esi L00461D34: test esi,esi jz L00461D3D mov [esi+04h],ecx jmp L00461D40 L00461D3D: mov [ebx+04h],ecx L00461D40: mov ecx,[eax+08h] push eax mov dword ptr [eax+08h],00000000h mov edi,ecx call SUB_L0049A810 mov eax,[ebx+08h] add esp,00000004h dec eax mov [ebx+08h],eax L00461D5C: test edi,edi jz L00461D70 mov ecx,edi call SUB_L00461D80 push edi call SUB_L0049A810 add esp,00000004h L00461D70: test esi,esi mov eax,esi jnz L00461D1B pop esi pop edi L00461D78: pop ebx retn ;------------------------------------------------------------------------------ Align 8 SUB_L00461D80: add ecx,00000008h jmp SUB_L004823F0 Align 16 SUB_L00461D90: push esi push edi mov edi,ecx mov esi,[edi+08h] test esi,esi jz L00461DB2 mov ecx,esi call SUB_L00461D80 push esi call SUB_L0049A810 add esp,00000004h mov dword ptr [edi+08h],00000000h L00461DB2: pop edi pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L00461DC0: push ebp mov ebp,esp sub esp,00000008h mov eax,[L006BB730] push ebx mov ebx,ecx mov dword ptr [ebp-04h],00000000h test eax,eax mov [ebp-08h],ebx jle L00461E4B push edi push esi mov edi,L006BB9DC L00461DE3: mov edx,ebx mov ecx,edi call SUB_L0048F580 mov esi,eax cmp esi,FFFFFFFFh jz L00461E35 L00461DF3: mov ecx,edi call SUB_L00491C00 test eax,eax lea ecx,[ebx+esi*2] jle L00461E25 mov esi,eax L00461E03: xor eax,eax mov ebx,00000007h mov ax,[ecx] add ecx,00000002h cdq idiv ebx dec esi movsx ax,[edx+SSZ004CC924________] mov [ecx-02h],ax jnz L00461E03 mov ebx,[ebp-08h] L00461E25: mov edx,ebx mov ecx,edi call SUB_L0048F580 mov esi,eax cmp esi,FFFFFFFFh jnz L00461DF3 L00461E35: mov eax,[ebp-04h] mov ecx,[L006BB730] inc eax add edi,0000003Ch cmp eax,ecx mov [ebp-04h],eax jl L00461DE3 pop esi pop edi L00461E4B: pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ SUB_L00461E50: push ebp mov ebp,esp mov eax,00004008h call SUB_L0049ACF0 push esi mov esi,ecx mov edx,esi lea ecx,[ebp-00004008h] mov [ebp-08h],esi call SUB_L00491D80 mov eax,[L006BB730] mov dword ptr [ebp-04h],00000000h test eax,eax jle L00461EFB push edi push ebx mov edi,L006BB9DC L00461E87: lea edx,[ebp-00004008h] mov ecx,edi call SUB_L0048F580 mov esi,eax cmp esi,FFFFFFFFh jz L00461EE2 L00461E9B: mov ecx,edi call SUB_L00491C00 test eax,eax lea ecx,[ebp+esi*2-00004008h] jle L00461ECE mov esi,eax L00461EAF: xor eax,eax mov ebx,00000007h mov ax,[ecx] add ecx,00000002h cdq idiv ebx dec esi movsx ax,[edx+SSZ004CC924________] mov [ecx-02h],ax jnz L00461EAF L00461ECE: lea edx,[ebp-00004008h] mov ecx,edi call SUB_L0048F580 mov esi,eax cmp esi,FFFFFFFFh jnz L00461E9B L00461EE2: mov eax,[ebp-04h] mov ecx,[L006BB730] inc eax add edi,0000003Ch cmp eax,ecx mov [ebp-04h],eax jl L00461E87 mov esi,[ebp-08h] pop ebx pop edi L00461EFB: lea edx,[ebp-00004008h] mov ecx,esi call SUB_L00491DA0 pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 4 SUB_L00461F10: push ebp mov ebp,esp push FFFFFFFFh push L004B3F01 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000020h push ebx push esi mov esi,ecx push edi mov [ebp-28h],esi call SUB_L00441CB0 push SUB_L00493CF0 push SUB_L00493C60 push 0000000Ah lea eax,[esi+000000A0h] xor ebx,ebx push 00000010h push eax mov [ebp-04h],ebx mov [esi+00000094h],ebx mov [esi+00000098h],ebx mov [esi+0000009Ch],ebx call SUB_L0049AFF0 push SUB_L00493CF0 push SUB_L00493C60 push 0000000Ah lea ecx,[esi+00000140h] push 00000010h push ecx mov byte ptr [ebp-04h],01h call SUB_L0049AFF0 lea ecx,[esi+000001E0h] mov byte ptr [ebp-04h],02h call SUB_L00493C60 mov ecx,esi mov byte ptr [ebp-04h],03h mov dword ptr [esi+000001F0h],FFFFFFFFh mov [esi+000001F8h],ebx mov [esi+000001FCh],ebx mov [esi+00000200h],ebx mov [esi+00000204h],ebx mov [esi+00000208h],ebx mov [esi+0000020Ch],ebx mov [esi+00000210h],ebx mov [esi+00000214h],ebx mov dword ptr [esi],L004BB488 mov [esi+0000024Ch],ebx mov [esi+00000250h],ebx mov dword ptr [esi+04h],SSZ004CC960_OptionsGump mov [esi+10h],ebx mov dword ptr [esi+14h],00000001h call SUB_L00464690 lea edx,[ebp-24h] mov ecx,000000CAh push edx lea edx,[ebp-18h] call SUB_L004390A0 lea eax,[ebp-20h] lea edx,[ebp-14h] push eax mov ecx,000000C8h call SUB_L004390A0 lea ecx,[ebp-1Ch] lea edx,[ebp-10h] push ecx mov ecx,000000CBh call SUB_L004390A0 mov edx,[ebp-10h] mov eax,[ebp-14h] mov ecx,[ebp-18h] add edx,eax mov dword ptr [esi+000001F4h],0000017Ch mov dword ptr [esi+20h],000001E0h lea ecx,[edx+ecx+50h] mov [esi+1Ch],ecx mov eax,[L004C7F34] sub eax,ecx cdq sub eax,edx sar eax,1 mov [esi+2Ch],eax mov edx,[L004C7F38] lea eax,[edx-000001E0h] push SSZ004CC944_framedata_for_OptionsGump cdq sub eax,edx mov ecx,L00669C8C sar eax,1 mov [esi+30h],eax mov eax,[esi+14h] shl eax,03h push eax call SUB_L0044FBD0 mov ecx,[esi+14h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+38h],edi push SSZ004CC930_OptionsGump_frame0 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+20h] imul eax,[esi+1Ch] lea ecx,[eax+eax+04h] push ecx mov ecx,L00669C8C call SUB_L0044FBD0 mov edx,[esi+38h] mov [edx+04h],eax mov ecx,[esi+20h] imul ecx,[esi+1Ch] mov edx,[esi+38h] xor eax,eax shl ecx,1 mov edi,[edx+04h] mov edx,ecx add edi,00000004h shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+38h] mov dx,[esi+1Ch] mov ecx,[eax+04h] mov [ecx],dx mov eax,[esi+38h] mov dx,[esi+20h] mov ecx,[eax+04h] mov [ecx+02h],dx mov ecx,esi call SUB_L004623C0 mov ecx,esi call SUB_L00462DD0 mov ecx,esi call SUB_L004637C0 lea eax,[ebp-14h] lea edx,[ebp-18h] push eax mov ecx,00000101h call SUB_L004390A0 lea ecx,[ebp-1Ch] lea edx,[ebp-10h] push ecx mov ecx,00000100h call SUB_L004390A0 lea edx,[ebp-24h] mov ecx,000000FFh push edx lea edx,[ebp-20h] call SUB_L004390A0 cmp [ebp-18h],ebx jnz L0046216C cmp [ebp-14h],ebx jnz L0046216C cmp [ebp-10h],ebx jnz L0046216C cmp [ebp-1Ch],ebx jnz L0046216C cmp [ebp-20h],ebx jnz L0046216C cmp [ebp-24h],ebx jz L004621AD L0046216C: push 000000A8h call SUB_L0049A820 add esp,00000004h mov [ebp-2Ch],eax cmp eax,ebx mov byte ptr [ebp-04h],04h jz L0046218E push esi mov ecx,eax call SUB_L00467F80 jmp L00462190 L0046218E: xor eax,eax L00462190: push 0000017Ch push 0000002Dh push 00000203h mov ecx,eax mov byte ptr [ebp-04h],03h mov [esi+00000214h],eax call SUB_L00468280 L004621AD: push ebx mov ecx,esi call SUB_L00464D10 mov ecx,esi call SUB_L00463F80 mov ecx,[ebp-0Ch] mov eax,esi pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 4 L004621D0: push ebp mov ebp,esp push esi mov esi,ecx call SUB_L00462200 test byte ptr [ebp+08h],01h jz L004621EA push esi call SUB_L0049A810 add esp,00000004h L004621EA: mov eax,esi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00462200: push ebp mov ebp,esp push FFFFFFFFh push L004B3F56 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx push edi mov [ebp-10h],esi mov dword ptr [esi],L004BB488 mov eax,[esi+0000024Ch] mov dword ptr [ebp-04h],00000003h test eax,eax jz L00462256 L00462237: mov ecx,[eax+000000E0h] push eax mov [esi+0000024Ch],ecx call SUB_L0049A810 mov eax,[esi+0000024Ch] add esp,00000004h test eax,eax jnz L00462237 L00462256: mov ecx,[L0073EBF8] mov dword ptr [L0073EBFC],00000000h test ecx,ecx jz L00462270 mov edx,[ecx] push 00000001h call [edx] L00462270: mov eax,[esi+00000098h] xor edi,edi test eax,eax jle L0046229A L0046227C: mov eax,[esi+00000094h] mov ecx,[eax+edi*4] test ecx,ecx jz L0046228F mov edx,[ecx] push 00000001h call [edx] L0046228F: mov eax,[esi+00000098h] inc edi cmp edi,eax jl L0046227C L0046229A: mov eax,[esi+00000094h] test eax,eax jz L004622B7 push eax call SUB_L0049A810 add esp,00000004h mov dword ptr [esi+00000094h],00000000h L004622B7: lea ecx,[esi+000001E0h] mov byte ptr [ebp-04h],02h call SUB_L00493CF0 push SUB_L00493CF0 push 0000000Ah lea eax,[esi+00000140h] push 00000010h push eax mov byte ptr [ebp-04h],01h call SUB_L0049AEB0 push SUB_L00493CF0 push 0000000Ah lea ecx,[esi+000000A0h] push 00000010h push ecx mov byte ptr [ebp-04h],00h call SUB_L0049AEB0 mov ecx,esi mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00441D50 mov ecx,[ebp-0Ch] pop edi mov fs:[00000000h],ecx pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L00462320: push ebp mov ebp,esp mov edx,[ebp+08h] mov eax,[ecx+000001F8h] cmp edx,eax jz L00462348 mov eax,[ecx+000001FCh] imul eax,edx cdq idiv [ebp+0Ch] mov [ecx+000001F8h],eax call SUB_L00463F80 L00462348: pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 8 SUB_L00462350: push ebp mov ebp,esp mov eax,[ebp+08h] push esi mov esi,ecx test eax,eax mov eax,[esi+000001F8h] jnz L00462391 test eax,eax jz L004623BA mov ecx,[esi+00000214h] dec eax test ecx,ecx mov [esi+000001F8h],eax jz L004623B3 mov edx,[esi+000001FCh] push edx push eax call SUB_L00425F20 mov ecx,esi call SUB_L00463F80 pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ L00462391: mov edx,[esi+000001FCh] cmp eax,edx jge L004623BA mov ecx,[esi+00000214h] inc eax test ecx,ecx mov [esi+000001F8h],eax jz L004623B3 push edx push eax call SUB_L00425F20 L004623B3: mov ecx,esi call SUB_L00463F80 L004623BA: pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 4 SUB_L004623C0: push ebp mov ebp,esp push FFFFFFFFh push L004B3F8C mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push esi push edi mov esi,ecx push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp-10h],eax test eax,eax mov dword ptr [ebp-04h],00000000h jz L00462422 push 00000000h push 000000F1h push 000000F3h push L00411A30 push 00000000h push 00000000h push esi push 0000019Fh push 0000008Ah mov ecx,eax call SUB_L004122F0 jmp L00462424 L00462422: xor eax,eax L00462424: mov edi,00000001h or ebx,FFFFFFFFh push edi push esi mov ecx,eax mov [ebp-04h],ebx mov dword ptr [eax+000000A4h],000000F2h mov dword ptr [eax+0000009Ch],00000014h mov [eax+000000ACh],edi call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp-10h],eax test eax,eax mov [ebp-04h],edi jz L00462492 push 00000000h push 000000F8h push 000000F9h push L00411A30 push 00000000h push 00000000h push esi push 0000019Fh push 00000177h mov ecx,eax call SUB_L004122F0 jmp L00462494 L00462492: xor eax,eax L00462494: push edi push esi mov ecx,eax mov [ebp-04h],ebx mov dword ptr [eax+000000A4h],000000F7h mov dword ptr [eax+0000009Ch],00000015h mov [eax+000000ACh],edi call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp-10h],eax test eax,eax mov dword ptr [ebp-04h],00000002h jz L004624FE push 00000000h push 000000F0h push 000000EFh push L00411A30 push 00000000h push 00000000h push esi push 0000019Fh push 000000D5h mov ecx,eax call SUB_L004122F0 jmp L00462500 L004624FE: xor eax,eax L00462500: push edi push esi mov ecx,eax mov [ebp-04h],ebx mov dword ptr [eax+000000A4h],000000EEh mov dword ptr [eax+0000009Ch],00000016h mov [eax+000000ACh],edi call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp-10h],eax test eax,eax mov dword ptr [ebp-04h],00000003h jz L0046256A push 00000000h push 000000F4h push 000000F6h push L00411A30 push 00000000h push 00000000h push esi push 0000019Fh push 0000012Ch mov ecx,eax call SUB_L004122F0 jmp L0046256C L0046256A: xor eax,eax L0046256C: push edi push esi mov ecx,eax mov [ebp-04h],ebx mov dword ptr [eax+000000A4h],000000F5h mov dword ptr [eax+0000009Ch],00000017h mov [eax+000000ACh],edi call SUB_L004415C0 mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 L004625B0: push ebp mov ebp,esp mov eax,[ebp+08h] push ebx dec eax push esi cmp eax,00000016h push edi mov ebx,ecx ja CASE_004629C4_PROC000D xor ecx,ecx mov cl,[eax+CASE_004629FC] jmp [CASE_PROCTABLE_004629C4+ecx*4] CASE_004629C4_PROC0000: mov eax,[ebx+00000218h] mov esi,L006BB70C add eax,000000ECh L004625E4: mov dl,[eax] mov cl,dl cmp dl,[esi] jnz L00462608 test cl,cl jz L00462604 mov dl,[eax+01h] mov cl,dl cmp dl,[esi+01h] jnz L00462608 add eax,00000002h add esi,00000002h test cl,cl jnz L004625E4 L00462604: xor eax,eax jmp L0046260D L00462608: sbb eax,eax sbb eax,FFFFFFFFh L0046260D: test eax,eax jz CASE_004629C4_PROC0003 push 00000000h push 00000000h push 00000000h push 00000000h push SSZ004C49AC_Password_incorrect_ mov ecx,L00669608 call SUB_L0043F200 pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_004629C4_PROC0001: mov ecx,[ebx+00000228h] mov al,63h mov [ecx+54h],al mov edx,[ebx+00000248h] mov [edx+54h],al mov eax,[ebx+00000244h] mov byte ptr [eax+54h],09h pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_004629C4_PROC0002: mov edx,[ebx+0000021Ch] mov edi,L004D77C0 or ecx,FFFFFFFFh xor eax,eax mov byte ptr [ebx+54h],32h add edx,000000ECh repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov ecx,[ebx+0000021Ch] call SUB_L0041AC50 mov edx,[ebx+00000220h] mov edi,L004D77C0 or ecx,FFFFFFFFh xor eax,eax add edx,000000ECh repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov ecx,[ebx+00000220h] call SUB_L0041AC50 pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_004629C4_PROC0004: mov eax,[ebx+0000021Ch] lea edi,[eax+000000ECh] mov eax,[ebx+00000220h] add eax,000000ECh mov esi,edi L004626EE: mov dl,[esi] mov cl,dl cmp dl,[eax] jnz L00462712 test cl,cl jz L0046270E mov dl,[esi+01h] mov cl,dl cmp dl,[eax+01h] jnz L00462712 add esi,00000002h add eax,00000002h test cl,cl jnz L004626EE L0046270E: xor eax,eax jmp L00462717 L00462712: sbb eax,eax sbb eax,FFFFFFFFh L00462717: test eax,eax jz L00462739 push 00000000h push 00000000h push 00000000h push 00000000h push SSZ004C4990_Passwords_did_not_match_ mov ecx,L00669608 call SUB_L0043F200 pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ L00462739: or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,L006BB70C shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb CASE_004629C4_PROC0003: mov byte ptr [ebx+54h],09h pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_004629C4_PROC0005: mov ecx,[ebx+00000264h] mov eax,[L0066962C] cmp ecx,eax jnz L0046277D mov ecx,L00669608 call SUB_L0043FDA0 L0046277D: mov eax,[ebx+00000250h] xor esi,esi cmp eax,esi jnz L0046279E push 000000E4h call SUB_L0049A820 add esp,00000004h mov [ebx+0000024Ch],eax jmp L004627E5 L0046279E: cmp [eax+000000E0h],esi jz L004627C0 L004627A6: mov edx,[ebx+00000250h] mov eax,[edx+000000E0h] mov [ebx+00000250h],eax cmp [eax+000000E0h],esi jnz L004627A6 L004627C0: push 000000E4h call SUB_L0049A820 mov ecx,[ebx+00000250h] add esp,00000004h mov [ecx+000000E0h],eax mov edx,[ebx+00000250h] mov eax,[edx+000000E0h] L004627E5: mov ecx,eax mov [ebx+00000250h],eax mov [ecx+000000E0h],esi mov edx,[ebx+00000250h] mov [edx+14h],esi mov eax,[ebx+00000250h] mov [eax+04h],esi mov ecx,[ebx+00000250h] mov [ecx+08h],esi mov edx,[ebx+00000250h] mov ecx,ebx mov [edx+0Ch],esi mov eax,[ebx+00000250h] mov [eax+10h],esi call SUB_L00462C20 pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_004629C4_PROC0006: mov ecx,[ebx+00000264h] mov eax,[L0066962C] cmp ecx,eax jnz L00462847 mov ecx,L00669608 call SUB_L0043FDA0 L00462847: mov edx,[ebx+00000250h] test edx,edx mov [ebp+08h],edx jz CASE_004629C4_PROC000D mov eax,[edx+14h] xor edi,edi test eax,eax jle L00462881 lea esi,[edx+20h] L00462864: mov eax,[esi] test eax,eax jz L00462876 push eax call SUB_L0049A810 mov edx,[ebp+08h] add esp,00000004h L00462876: mov eax,[edx+14h] inc edi add esi,00000014h cmp edi,eax jl L00462864 L00462881: mov eax,[ebx+0000024Ch] test eax,eax jz L0046289B L0046288B: mov ecx,[eax+000000E0h] cmp ecx,edx jz L0046289B mov eax,ecx test eax,eax jnz L0046288B L0046289B: xor ecx,ecx cmp eax,ecx jz L004628AD mov esi,[edx+000000E0h] mov [eax+000000E0h],esi L004628AD: mov edx,[edx+000000E0h] cmp edx,ecx jz L004628BF mov [ebx+00000250h],edx jmp L004628D7 L004628BF: cmp eax,ecx jz L004628CB mov [ebx+00000250h],eax jmp L004628D7 L004628CB: mov [ebx+0000024Ch],ecx mov [ebx+00000250h],ecx L004628D7: mov ecx,ebx call SUB_L00462C20 mov edx,[ebp+08h] push edx call SUB_L0049A810 add esp,00000004h pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_004629C4_PROC0007: mov eax,[ebx+00000264h] mov ecx,[L0066962C] cmp eax,ecx jnz L0046290B mov ecx,L00669608 call SUB_L0043FDA0 L0046290B: mov edx,[ebx+00000250h] test edx,edx jz CASE_004629C4_PROC000D mov eax,[ebx+0000024Ch] test eax,eax jz CASE_004629C4_PROC000D L00462927: mov ecx,[eax+000000E0h] cmp ecx,edx jz L00462962 mov eax,ecx test eax,eax jnz L00462927 jmp L00462962 CASE_004629C4_PROC0008: mov ecx,[ebx+00000264h] mov eax,[L0066962C] cmp ecx,eax jnz L00462952 mov ecx,L00669608 call SUB_L0043FDA0 L00462952: mov eax,[ebx+00000250h] test eax,eax jz CASE_004629C4_PROC000D mov eax,[eax+000000E0h] L00462962: test eax,eax jz CASE_004629C4_PROC000D mov ecx,ebx mov [ebx+00000250h],eax call SUB_L00462C20 pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_004629C4_PROC0009: test ebx,ebx jz CASE_004629C4_PROC000D mov edx,[ebx] push 00000001h mov ecx,ebx call [edx] pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_004629C4_PROC000A: mov ecx,ebx call SUB_L004650E0 test ebx,ebx jz CASE_004629C4_PROC000D mov eax,[ebx] push 00000001h mov ecx,ebx call [eax] pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_004629C4_PROC000B: mov ecx,ebx call SUB_L004650E0 pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_004629C4_PROC000C: mov ecx,ebx call SUB_L00465020 CASE_004629C4_PROC000D: pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_004629C4: dd CASE_004629C4_PROC0000 dd CASE_004629C4_PROC0001 dd CASE_004629C4_PROC0002 dd CASE_004629C4_PROC0003 dd CASE_004629C4_PROC0004 dd CASE_004629C4_PROC0005 dd CASE_004629C4_PROC0006 dd CASE_004629C4_PROC0007 dd CASE_004629C4_PROC0008 dd CASE_004629C4_PROC0009 dd CASE_004629C4_PROC000A dd CASE_004629C4_PROC000B dd CASE_004629C4_PROC000C dd CASE_004629C4_PROC000D CASE_004629FC: db 00h, 01h, 02h, 03h, 04h, 0Dh, 0Dh, 0Dh, 0Dh, 05h, 06h, 07h, 08h, 0Dh, 0Dh, 0Dh db 0Dh, 0Dh, 0Dh, 09h, 0Ah, 0Bh, 0Ch Align 16 L00462A20: push ebp mov ebp,esp sub esp,00000008h push ebx mov ebx,ecx push esi push edi mov eax,[ebx+00000250h] mov edi,[ebp+08h] test eax,eax jz L00462A5D cmp edi,[ebx+00000264h] jnz L00462A5D mov ecx,[L007B7F08] mov [eax],ecx mov edx,[ebx+00000250h] mov eax,[L007B7E58] mov ecx,ebx mov [edx+04h],eax call SUB_L00462C20 L00462A5D: mov esi,[ebx+00000250h] test esi,esi jz L00462A7C mov eax,[ebx+00000258h] cmp edi,eax jnz L00462A7C xor ecx,ecx mov cl,[eax+000000B0h] mov [esi+08h],ecx L00462A7C: mov esi,[ebx+00000250h] test esi,esi jz L00462A9B mov eax,[ebx+00000260h] cmp edi,eax jnz L00462A9B xor edx,edx mov dl,[eax+000000B0h] mov [esi+10h],edx L00462A9B: mov esi,[ebx+00000250h] test esi,esi jz L00462ABA mov eax,[ebx+0000025Ch] cmp edi,eax jnz L00462ABA xor ecx,ecx mov cl,[eax+000000B0h] mov [esi+0Ch],ecx L00462ABA: cmp edi,[ebx+00000254h] jnz L00462C0A mov eax,[ebx+00000250h] xor edi,edi mov dword ptr [ebp-08h],00000000h mov ecx,[eax+14h] test ecx,ecx jle L00462AFE xor esi,esi L00462ADE: mov eax,[esi+eax+20h] test eax,eax jz L00462AEF push eax call SUB_L0049A810 add esp,00000004h L00462AEF: mov eax,[ebx+00000250h] inc edi add esi,00000014h cmp edi,[eax+14h] jl L00462ADE L00462AFE: mov edx,[ebx+00000254h] mov esi,[edx+4Ch] test esi,esi mov [ebp-04h],esi jz L00462BFE xor edi,edi mov [ebp+08h],edi jmp L00462B1C L00462B19: mov esi,[ebp-04h] L00462B1C: mov eax,[esi] mov ecx,esi call [eax+000000FCh] test eax,eax jz L00462BF0 mov ecx,[esi+00000098h] mov eax,[ecx+000000E8h] xor ecx,ecx cmp eax,ecx jz L00462BF0 mov edx,[ebx+00000250h] mov [edi+edx+18h],eax mov eax,[esi+0000009Ch] mov edx,[ebx+00000250h] cmp eax,ecx jz L00462B6A mov eax,[eax+000000E8h] mov [edi+edx+1Ch],eax jmp L00462B6E L00462B6A: mov [edi+edx+1Ch],ecx L00462B6E: mov eax,[esi+000000A0h] cmp eax,ecx jz L00462BD9 lea edi,[eax+000000ECh] or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx push ecx call SUB_L0049A820 mov ecx,[ebx+00000250h] mov edx,[ebp+08h] add esp,00000004h mov [edx+ecx+20h],eax mov edi,[esi+000000A0h] add edi,000000ECh or ecx,FFFFFFFFh xor eax,eax mov edx,[ebx+00000250h] repne scasb not ecx sub edi,ecx mov esi,edi mov edi,[ebp+08h] mov eax,ecx mov edi,[edi+edx+20h] shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov esi,[ebp-04h] mov edi,[ebp+08h] jmp L00462BE3 L00462BD9: mov edx,[ebx+00000250h] mov [edi+edx+20h],ecx L00462BE3: mov ecx,[ebp-08h] inc ecx add edi,00000014h mov [ebp-08h],ecx mov [ebp+08h],edi L00462BF0: mov esi,[esi+40h] test esi,esi mov [ebp-04h],esi jnz L00462B19 L00462BFE: mov eax,[ebx+00000250h] mov ecx,[ebp-08h] mov [eax+14h],ecx L00462C0A: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00462C20: push ebp mov ebp,esp sub esp,00000018h push ebx mov ebx,ecx push esi push edi mov eax,[ebx+00000250h] test eax,eax jz L00462C5C mov edx,[eax+04h] lea ecx,[ebp-18h] push 00000014h and edx,BFFFFFFFh push ecx push edx call [USER32.dll!GetKeyNameTextA] mov edx,[ebx+00000264h] lea edi,[ebp-18h] add edx,000000ECh jmp L00462C6D L00462C5C: mov edx,[ebx+00000264h] mov edi,L004D77C0 add edx,000000ECh L00462C6D: or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov ecx,[ebx+00000264h] call SUB_L0041AC50 mov eax,[ebx+00000250h] test eax,eax jz L00462CB5 mov ecx,[eax+08h] test ecx,ecx jz L00462CB5 mov ecx,[ebx+00000258h] mov byte ptr [ecx+000000B0h],01h jmp L00462CC2 L00462CB5: mov edx,[ebx+00000258h] mov byte ptr [edx+000000B0h],00h L00462CC2: mov ecx,[ebx+00000258h] call SUB_L00413290 mov eax,[ebx+00000250h] test eax,eax jz L00462CED mov ecx,[eax+0Ch] test ecx,ecx jz L00462CED mov eax,[ebx+0000025Ch] mov byte ptr [eax+000000B0h],01h jmp L00462CFA L00462CED: mov ecx,[ebx+0000025Ch] mov byte ptr [ecx+000000B0h],00h L00462CFA: mov ecx,[ebx+0000025Ch] call SUB_L00413290 mov eax,[ebx+00000250h] test eax,eax jz L00462D25 mov ecx,[eax+10h] test ecx,ecx jz L00462D25 mov edx,[ebx+00000260h] mov byte ptr [edx+000000B0h],01h jmp L00462D32 L00462D25: mov eax,[ebx+00000260h] mov byte ptr [eax+000000B0h],00h L00462D32: mov ecx,[ebx+00000260h] call SUB_L00413290 mov ecx,[ebx+00000254h] mov esi,[ecx+44h] test esi,esi jz L00462D6D L00462D4A: mov edx,[esi] mov edi,[esi+3Ch] mov ecx,esi call [edx+000000FCh] test eax,eax jz L00462D67 test esi,esi jz L00462D67 mov eax,[esi] push 00000001h mov ecx,esi call [eax] L00462D67: test edi,edi mov esi,edi jnz L00462D4A L00462D6D: mov eax,[ebx+00000250h] test eax,eax jz L00462DAF mov ecx,[eax+14h] xor edi,edi test ecx,ecx jle L00462DAF xor esi,esi L00462D82: mov ecx,[esi+eax+20h] mov edx,[esi+eax+1Ch] mov eax,[esi+eax+18h] push 0000000Eh push 00000004h push ecx mov ecx,[ebx+00000254h] push edx push eax call SUB_L004153C0 mov eax,[ebx+00000250h] inc edi add esi,00000014h cmp edi,[eax+14h] jl L00462D82 L00462DAF: mov ecx,[ebx+00000254h] push 0000000Eh push 00000004h push 00000000h push 00000000h push 00000000h call SUB_L004153C0 pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 SUB_L00462DD0: push ebp mov ebp,esp push FFFFFFFFh push L004B403A mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000064h mov eax,00000050h push ebx mov [ebp-60h],eax mov [ebp-58h],eax mov eax,00000055h push esi mov [ebp-50h],eax mov [ebp-4Ch],eax mov eax,000000D9h push edi mov [ebp-48h],eax mov [ebp-44h],eax mov al,[L0073EC20] mov esi,ecx test al,al mov dword ptr [ebp-5Ch],000000E6h mov dword ptr [ebp-54h],000000FAh jz L00462F44 push 00000158h call SUB_L0049A820 add esp,00000004h mov [ebp-28h],eax test eax,eax mov dword ptr [ebp-04h],00000000h jz L00462E76 push 00000000h push 00000000h push 00000001h push 00000386h push 00000001h push 00000010h push 00000000h push 00000988h push 00000988h push esi push 000000ABh push 000000D2h mov ecx,eax call SUB_L0041A6F0 jmp L00462E78 L00462E76: xor eax,eax L00462E78: mov [esi+00000218h],eax mov byte ptr [eax+000000E2h],08h mov eax,[esi+00000218h] mov edi,00000001h or ebx,FFFFFFFFh push edi mov byte ptr [eax+000000E3h],05h mov ecx,[esi+00000218h] push esi mov [ebp-04h],ebx mov byte ptr [ecx+54h],3Ch mov edx,[esi+00000218h] mov [edx+000000B0h],edi mov ecx,[esi+00000218h] call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp-28h],eax test eax,eax mov [ebp-04h],edi jz L00462F00 push 00000000h push 00000993h push 00000992h push L00411A30 push 00000000h push 00000000h push esi push 000000CBh push 00000110h mov ecx,eax call SUB_L004122F0 jmp L00462F02 L00462F00: xor eax,eax L00462F02: mov [esi+00000224h],eax mov dword ptr [eax+000000A4h],00000994h mov eax,[esi+00000224h] push edi push esi mov [ebp-04h],ebx mov byte ptr [eax+54h],3Ch mov ecx,[esi+00000224h] mov [ecx+0000009Ch],edi mov edx,[esi+00000224h] mov [edx+000000ACh],edi mov ecx,[esi+00000224h] call SUB_L004415C0 L00462F44: push 000000DCh call SUB_L0049A820 add esp,00000004h mov [ebp-28h],eax test eax,eax mov dword ptr [ebp-04h],00000002h jz L00462F7D push 00000014h push 00000981h push 00000000h push 00000000h push 0000008Dh push 00000123h mov ecx,eax call SUB_L00413610 jmp L00462F7F L00462F7D: xor eax,eax L00462F7F: mov [esi+00000238h],eax mov word ptr [eax+000000CAh],0004h mov eax,[esi+00000238h] mov ecx,FFFFFFFAh push 00000001h push esi mov eax,[eax+00000094h] mov dword ptr [ebp-04h],FFFFFFFFh mov ebx,[eax+2Ch] add ebx,ecx mov [eax+2Ch],ebx mov edx,[esi+00000238h] mov eax,[edx+00000098h] mov edi,[eax+2Ch] add edi,ecx mov [eax+2Ch],edi mov eax,[esi+00000238h] mov byte ptr [eax+54h],09h mov ecx,[esi+00000238h] call SUB_L004415C0 mov eax,[L006BB72C] xor edi,edi test eax,eax jle L00463019 mov dword ptr [ebp-1Ch],L006BB734 mov ebx,L006BB98C L00462FF1: mov ecx,[ebx] mov edx,[ebp-1Ch] push ecx mov ecx,[esi+00000238h] push edx call SUB_L00413960 mov ecx,[ebp-1Ch] mov eax,[L006BB72C] inc edi add ebx,00000004h add ecx,0000001Eh cmp edi,eax mov [ebp-1Ch],ecx jl L00462FF1 L00463019: mov ecx,[esi+00000238h] push 00000000h push SSZ004C4C00__new_ call SUB_L00413960 mov eax,[esi+00000098h] xor ecx,ecx test eax,eax mov [ebp-20h],ecx jle L004631A2 mov [ebp-1Ch],ecx L00463041: mov eax,[esi+00000094h] mov edx,[eax+ecx*4] lea eax,[eax+ecx*4] cmp dword ptr [edx+04h],00000009h jnz L00463190 mov edi,edx call SUB_L00492730 mov ebx,eax call SUB_L00491AF0 mov [ebp-24h],eax mov al,[L007B7D2C] xor ecx,ecx mov [ebp-0Dh],al call SUB_L00492740 mov ecx,00000006h call SUB_L00491B00 xor cl,cl call SUB_L00491B30 lea edx,[ebp-2Ch] lea eax,[ebp-18h] lea ecx,[edi+08h] push edx push eax mov [ebp-28h],ecx lea edi,[ebp-14h] call SUB_L00493EC0 mov ecx,eax mov edx,edi call SUB_L00492DC0 mov ecx,ebx call SUB_L00492740 mov ecx,[ebp-24h] call SUB_L00491B00 mov cl,[ebp-0Dh] call SUB_L00491B30 mov ecx,[ebp-14h] xor eax,eax mov [ebp-3Ch],eax mov [ebp-40h],eax mov eax,[ebp-18h] mov [ebp-38h],ecx mov [ebp-34h],eax imul eax,ecx shl eax,1 push eax call SUB_L0049A820 mov ecx,[ebp-18h] mov ebx,eax imul ecx,[ebp-14h] shl ecx,1 mov edx,ecx xor eax,eax mov edi,ebx add esp,00000004h shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov ecx,[L004CC92C] lea eax,[ebp-40h] push eax push ecx mov ecx,[ebp-28h] push 00000000h push 00000000h call SUB_L00493EC0 mov edx,[ebp-14h] push eax mov ecx,ebx call SUB_L00492A20 push 000000B0h call SUB_L0049A820 add esp,00000004h mov [ebp-28h],eax test eax,eax mov dword ptr [ebp-04h],00000003h jz L00463164 mov edx,[ebp-18h] mov ecx,[ebp-14h] push FFFFFFFFh push ebx push 00000000h push edx push ecx mov ecx,[ebp-1Ch] push esi mov edx,[ebp+ecx-50h] mov ecx,[ebp+ecx-60h] add edx,0000001Eh add ecx,00000052h push edx push ecx mov ecx,eax call SUB_L00442DD0 jmp L00463166 L00463164: xor eax,eax L00463166: mov ecx,[ebp-1Ch] push 00000001h add ecx,00000004h push esi mov [ebp-1Ch],ecx mov ecx,eax mov dword ptr [ebp-04h],FFFFFFFFh mov byte ptr [eax+54h],09h call SUB_L004415C0 push ebx call SUB_L0049A810 mov ecx,[ebp-20h] add esp,00000004h L00463190: mov eax,[esi+00000098h] inc ecx cmp ecx,eax mov [ebp-20h],ecx jl L00463041 L004631A2: push 000000B8h call SUB_L0049A820 add esp,00000004h mov [ebp-28h],eax test eax,eax mov dword ptr [ebp-04h],00000004h jz L004631EF mov dl,[L004CCB2C] push 00000000h push 00000000h push edx push L004D77C0 push 00000386h push 00000001h push 00000869h push 00000867h push esi push 0000006Eh push 00000080h mov ecx,eax call SUB_L00412FC0 jmp L004631F1 L004631EF: xor eax,eax L004631F1: mov ebx,00000868h mov [esi+0000023Ch],eax mov [eax+000000A0h],ebx mov eax,[esi+0000023Ch] mov edi,0000086Ah push 00000001h mov [eax+000000A4h],edi mov ecx,[esi+0000023Ch] push esi mov dword ptr [ebp-04h],FFFFFFFFh mov byte ptr [ecx+54h],09h mov ecx,[esi+0000023Ch] call SUB_L004415C0 push 000000B8h call SUB_L0049A820 add esp,00000004h mov [ebp-28h],eax test eax,eax mov dword ptr [ebp-04h],00000005h jz L00463282 mov dl,[L0073EC20] push 00000000h push 00000000h push edx push L004D77C0 push 00000386h push 00000001h push 00000869h push 00000867h push esi push 000000F2h push 00000080h mov ecx,eax call SUB_L00412FC0 jmp L00463284 L00463282: xor eax,eax L00463284: mov [esi+00000240h],eax mov [eax+000000A0h],ebx mov eax,[esi+00000240h] push 00000001h push esi mov dword ptr [ebp-04h],FFFFFFFFh mov [eax+000000A4h],edi mov ecx,[esi+00000240h] mov byte ptr [ecx+54h],09h mov ecx,[esi+00000240h] call SUB_L004415C0 push 000000DCh call SUB_L0049A820 add esp,00000004h mov [ebp-28h],eax test eax,eax mov dword ptr [ebp-04h],00000006h jz L004632F3 push 0000001Eh push 00000050h push 0000097Fh push 00000000h push 00000000h push 0000008Dh push 0000007Ah mov ecx,eax call SUB_L0048F7B0 jmp L004632F5 L004632F3: xor eax,eax L004632F5: mov [esi+00000244h],eax or ebx,FFFFFFFFh mov byte ptr [eax+54h],63h mov ecx,[esi+00000244h] push 00000001h push esi mov [ebp-04h],ebx call SUB_L004415C0 mov eax,[L006BB730] xor edi,edi test eax,eax jle L00463341 mov ebx,L006BB9DC L00463323: mov ecx,[esi+00000244h] push 00000000h push ebx call SUB_L0048FB30 mov eax,[L006BB730] inc edi add ebx,0000003Ch cmp edi,eax jl L00463323 or ebx,FFFFFFFFh L00463341: mov ecx,[esi+00000244h] push 00000000h push L004D77C0 call SUB_L0048FE90 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp-28h],eax test eax,eax mov dword ptr [ebp-04h],00000007h jz L00463394 push 00000000h push L00411A30 push 00000000h push 00000000h push esi push 000000D3h push 000000D2h push 0000008Dh push 0000007Ah mov ecx,eax call SUB_L00412450 jmp L00463396 L00463394: xor eax,eax L00463396: mov [esi+00000228h],eax mov byte ptr [eax+54h],09h mov edx,[esi+00000228h] mov edi,00000001h push edi push esi mov dword ptr [edx+0000009Ch],00000002h mov eax,[esi+00000228h] mov [ebp-04h],ebx mov [eax+000000ACh],edi mov ecx,[esi+00000228h] call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp-28h],eax test eax,eax mov dword ptr [ebp-04h],00000008h jz L00463415 push 00000000h push 000009A9h push 000009A8h push L00411A30 push 00000000h push 00000000h push esi push 000000F2h push 0000012Ch mov ecx,eax call SUB_L004122F0 jmp L00463417 L00463415: xor eax,eax L00463417: mov [esi+0000022Ch],eax mov dword ptr [eax+000000A4h],000009AAh mov ecx,[esi+0000022Ch] push edi push esi mov [ebp-04h],ebx mov byte ptr [ecx+54h],09h mov edx,[esi+0000022Ch] mov dword ptr [edx+0000009Ch],00000003h mov eax,[esi+0000022Ch] mov [eax+000000ACh],edi mov ecx,[esi+0000022Ch] call SUB_L004415C0 push 00000158h call SUB_L0049A820 add esp,00000004h mov [ebp-28h],eax test eax,eax mov dword ptr [ebp-04h],00000009h jz L004634A5 push 00000000h push 00000000h push edi push 00000386h push edi push 00000010h push 00000000h push 00000988h push 00000988h push esi push 00000091h push 000000D5h mov ecx,eax call SUB_L0041A6F0 jmp L004634A7 L004634A5: xor eax,eax L004634A7: mov [esi+0000021Ch],eax mov byte ptr [eax+000000E2h],08h mov ecx,[esi+0000021Ch] mov [ebp-04h],ebx mov bl,32h mov edi,00000001h mov byte ptr [ecx+000000E3h],05h mov edx,[esi+0000021Ch] push edi push esi mov [edx+54h],bl mov eax,[esi+0000021Ch] mov [eax+000000B0h],edi mov ecx,[esi+0000021Ch] call SUB_L004415C0 push 00000158h call SUB_L0049A820 add esp,00000004h mov [ebp-28h],eax test eax,eax mov dword ptr [ebp-04h],0000000Ah jz L00463535 push 00000000h push 00000000h push edi push 00000386h push edi push 00000010h push 00000000h push 00000988h push 00000988h push esi push 000000C1h push 000000D4h mov ecx,eax call SUB_L0041A6F0 jmp L00463537 L00463535: xor eax,eax L00463537: mov [esi+00000220h],eax mov byte ptr [eax+000000E2h],08h mov ecx,[esi+00000220h] push edi push esi mov dword ptr [ebp-04h],FFFFFFFFh mov byte ptr [ecx+000000E3h],05h mov edx,[esi+00000220h] mov [edx+54h],bl mov eax,[esi+00000220h] mov [eax+000000B0h],edi mov ecx,[esi+00000220h] call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp-28h],eax test eax,eax mov dword ptr [ebp-04h],0000000Bh jz L004635BE push 00000000h push 00000996h push 00000997h push L00411A30 push 00000000h push 00000000h push esi push 000000E3h push 000000EAh mov ecx,eax call SUB_L004122F0 jmp L004635C0 L004635BE: xor eax,eax L004635C0: mov [esi+00000230h],eax mov dword ptr [eax+000000A4h],00000995h mov ecx,[esi+00000230h] push edi push esi mov dword ptr [ebp-04h],FFFFFFFFh mov [ecx+54h],bl mov edx,[esi+00000230h] mov dword ptr [edx+0000009Ch],00000004h mov eax,[esi+00000230h] mov [eax+000000ACh],edi mov ecx,[esi+00000230h] call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp-28h],eax test eax,eax mov dword ptr [ebp-04h],0000000Ch jz L0046364D push 00000000h push 00000993h push 00000992h push L00411A30 push 00000000h push 00000000h push esi push 000000E2h push 00000131h mov ecx,eax call SUB_L004122F0 jmp L0046364F L0046364D: xor eax,eax L0046364F: mov [esi+00000234h],eax mov dword ptr [eax+000000A4h],00000994h mov ecx,[esi+00000234h] push edi push esi mov dword ptr [ebp-04h],FFFFFFFFh mov [ecx+54h],bl mov edx,[esi+00000234h] mov dword ptr [edx+0000009Ch],00000005h mov eax,[esi+00000234h] mov [eax+000000ACh],edi mov ecx,[esi+00000234h] call SUB_L004415C0 lea ecx,[ebp-30h] push 00000002h lea edx,[ebp-18h] push ecx lea eax,[ebp-14h] push edx push eax push 00000098h push SSZ004C4BE0_Click_to_edit_Profanity_List push edi mov ecx,L00669CC8 call SUB_L00437B40 mov ecx,[ebp-14h] mov eax,ecx cdq xor eax,edx sub eax,edx and eax,edi xor eax,edx sub eax,edx cmp eax,edi jnz L004636D3 inc ecx mov [ebp-14h],ecx L004636D3: mov edx,[ebp-18h] imul edx,ecx shl edx,1 push edx call SUB_L0049A820 mov ecx,[ebp-18h] mov ebx,eax imul ecx,[ebp-14h] shl ecx,1 mov edx,ecx xor eax,eax mov edi,ebx add esp,00000004h shr ecx,02h rep stosd mov ecx,edx lea edx,[ebp-70h] and ecx,00000003h rep stosb mov eax,[ebp-14h] xor edi,edi mov ecx,[ebp-18h] push edi push 00000002h push edx push eax push ebx push 00000098h push SSZ004C4BE0_Click_to_edit_Profanity_List push 00000386h push 00000001h mov [ebp-64h],ecx push edi push edi mov ecx,L00669CC8 mov [ebp-70h],edi mov [ebp-6Ch],edi mov [ebp-68h],eax call SUB_L004372C0 push 000000B0h call SUB_L0049A820 add esp,00000004h mov [ebp-28h],eax cmp eax,edi mov dword ptr [ebp-04h],0000000Dh jz L00463776 mov ecx,[ebp-18h] mov edx,[ebp-14h] push FFFFFFFFh push ebx push edi push ecx push edx push esi push 000000A0h push 00000084h mov ecx,eax call SUB_L00442DD0 jmp L00463778 L00463776: xor eax,eax L00463778: mov [esi+00000248h],eax mov byte ptr [eax+54h],09h mov ecx,[esi+00000248h] push 00000001h push esi mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L004415C0 push ebx call SUB_L0049A810 mov ecx,[ebp-0Ch] add esp,00000004h mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L004637C0: push ebp mov ebp,esp push FFFFFFFFh push L004B40BE mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000064h mov eax,000000D4h push ebx mov [ebp-68h],eax mov [ebp-64h],eax mov [ebp-60h],eax mov eax,00000085h mov ebx,ecx mov [ebp-54h],eax mov [ebp-4Ch],eax mov eax,[L006BD298] mov ecx,00000041h push esi mov [ebp-1Ch],eax mov eax,[L006BD29C] mov [ebp-70h],ecx mov [ebp-5Ch],ecx xor esi,esi mov ecx,00000069h cmp eax,esi push edi mov dword ptr [ebp-6Ch],00000082h mov [ebp-58h],ecx mov [ebp-50h],ecx mov dword ptr [ebp-48h],000000A1h mov dword ptr [ebp-44h],000000B9h mov [ebp-14h],esi jle L00463940 jmp L00463843 L00463840: mov esi,[ebp-18h] L00463843: mov eax,[ebp-14h] push 000000E4h test eax,eax jnz L00463864 call SUB_L0049A820 mov edx,eax add esp,00000004h mov [ebx+0000024Ch],eax mov [ebp-18h],edx jmp L00463877 L00463864: call SUB_L0049A820 add esp,00000004h mov [esi+000000E0h],eax mov [ebp-18h],eax mov edx,eax L00463877: mov esi,[ebp-1Ch] mov eax,[ebp-1Ch] mov ecx,00000039h mov edi,edx rep movsd mov dword ptr [edx+000000E0h],00000000h mov ecx,[eax+14h] lea edi,[edx+18h] lea esi,[eax+18h] lea ecx,[ecx+ecx*4] mov dword ptr [ebp-28h],00000000h shl ecx,02h mov edx,ecx shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb mov ecx,[eax+14h] test ecx,ecx jle L00463922 mov ecx,[ebp-18h] lea esi,[eax+20h] sub ecx,eax mov [ebp-2Ch],esi mov [ebp-30h],ecx L004638C9: mov edi,[esi] test edi,edi jz L0046390E or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx push ecx call SUB_L0049A820 mov edx,eax mov eax,[ebp-30h] or ecx,FFFFFFFFh add esp,00000004h mov [eax+esi],edx mov edi,[esi] xor eax,eax repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax mov eax,[ebp-1Ch] and ecx,00000003h rep movsb mov esi,[ebp-2Ch] L0046390E: mov ecx,[ebp-28h] mov edx,[eax+14h] inc ecx add esi,00000014h cmp ecx,edx mov [ebp-28h],ecx mov [ebp-2Ch],esi jl L004638C9 L00463922: mov ecx,[eax+000000E0h] mov eax,[ebp-14h] mov [ebp-1Ch],ecx mov ecx,[L006BD29C] inc eax cmp eax,ecx mov [ebp-14h],eax jl L00463840 L00463940: mov edx,[ebx+0000024Ch] push 000000D0h mov [ebx+00000250h],edx call SUB_L0049A820 add esp,00000004h mov [ebp-30h],eax test eax,eax mov dword ptr [ebp-04h],00000000h jz L00463985 push 0000000Ah push 00000000h push 00000046h push 0000013Ah push 000000DCh push 00000082h mov ecx,eax call SUB_L00415070 jmp L00463987 L00463985: xor eax,eax L00463987: mov esi,00000001h mov [ebx+00000254h],eax or edi,FFFFFFFFh mov byte ptr [eax+54h],04h mov ecx,[ebx+00000254h] push esi push ebx mov [ebp-04h],edi call SUB_L004415C0 mov eax,[ebx+00000250h] test eax,eax jz L004639F3 mov ecx,[eax+14h] xor edi,edi test ecx,ecx jle L004639F0 xor esi,esi L004639BE: mov ecx,[esi+eax+20h] mov edx,[esi+eax+1Ch] mov eax,[esi+eax+18h] push 0000000Eh push 00000004h push ecx mov ecx,[ebx+00000254h] push edx push eax call SUB_L004153C0 mov eax,[ebx+00000250h] inc edi add esi,00000014h cmp edi,[eax+14h] jl L004639BE mov esi,00000001h L004639F0: or edi,FFFFFFFFh L004639F3: mov eax,[ebx+00000250h] test eax,eax jz L00463A03 cmp dword ptr [eax+14h],0000000Ah jge L00463A18 L00463A03: mov ecx,[ebx+00000254h] push 0000000Eh push 00000004h push 00000000h push 00000000h push 00000000h call SUB_L004153C0 L00463A18: push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp-30h],eax test eax,eax mov [ebp-04h],esi jz L00463A55 push 00000000h push 0000099Dh push 0000099Ch push L00411A30 push 00000000h push 00000002h push ebx push 0000006Fh push 000000A2h mov ecx,eax call SUB_L004122F0 jmp L00463A57 L00463A55: xor eax,eax L00463A57: push esi push ebx mov ecx,eax mov [ebp-04h],edi mov dword ptr [eax+000000A4h],0000099Eh mov dword ptr [eax+0000009Ch],0000000Ah mov [eax+000000ACh],esi mov byte ptr [eax+54h],04h call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp-30h],eax test eax,eax mov dword ptr [ebp-04h],00000002h jz L00463AC2 push 00000000h push 000009A0h push 0000099Fh push L00411A30 push 00000000h push 00000002h push ebx push 0000006Fh push 000000D7h mov ecx,eax call SUB_L004122F0 jmp L00463AC4 L00463AC2: xor eax,eax L00463AC4: push esi push ebx mov ecx,eax mov [ebp-04h],edi mov dword ptr [eax+000000A4h],000009A1h mov dword ptr [eax+0000009Ch],0000000Bh mov [eax+000000ACh],esi mov byte ptr [eax+54h],04h call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp-30h],eax test eax,eax mov dword ptr [ebp-04h],00000003h jz L00463B2F push 00000000h push 000009A3h push 000009A2h push L00411A30 push 00000000h push 00000002h push ebx push 0000006Fh push 0000011Bh mov ecx,eax call SUB_L004122F0 jmp L00463B31 L00463B2F: xor eax,eax L00463B31: push esi push ebx mov ecx,eax mov [ebp-04h],edi mov dword ptr [eax+000000A4h],000009A4h mov dword ptr [eax+0000009Ch],0000000Ch mov [eax+000000ACh],esi mov byte ptr [eax+54h],04h call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp-30h],eax test eax,eax mov dword ptr [ebp-04h],00000004h jz L00463B9C push 00000000h push 000009A6h push 000009A5h push L00411A30 push 00000000h push 00000002h push ebx push 0000006Fh push 0000016Fh mov ecx,eax call SUB_L004122F0 jmp L00463B9E L00463B9C: xor eax,eax L00463B9E: push esi push ebx mov ecx,eax mov [ebp-04h],edi mov dword ptr [eax+000000A4h],000009A7h mov dword ptr [eax+0000009Ch],0000000Dh mov [eax+000000ACh],esi mov byte ptr [eax+54h],04h call SUB_L004415C0 push 000000B8h call SUB_L0049A820 add esp,00000004h mov [ebp-30h],eax test eax,eax mov dword ptr [ebp-04h],00000005h jz L00463C18 push 00000869h push 00000867h push 00000000h push L004D77C0 push 00000386h push esi push 00000869h push 00000867h push ebx push 00000082h push 00000102h mov ecx,eax call SUB_L00412FC0 jmp L00463C1A L00463C18: xor eax,eax L00463C1A: mov esi,00000868h mov [ebx+00000260h],eax mov [eax+000000A0h],esi mov ecx,[ebx+00000260h] mov [ebp-04h],edi mov edi,0000086Ah mov [ecx+000000A4h],edi mov edx,[ebx+00000260h] push 00000001h push ebx mov byte ptr [edx+54h],04h mov ecx,[ebx+00000260h] call SUB_L004415C0 push 000000B8h call SUB_L0049A820 add esp,00000004h mov [ebp-30h],eax test eax,eax mov dword ptr [ebp-04h],00000006h jz L00463CA8 push 00000869h push 00000867h push 00000000h push L004D77C0 push 00000386h push 00000001h push 00000869h push 00000867h push ebx push 0000009Eh push 00000102h mov ecx,eax call SUB_L00412FC0 jmp L00463CAA L00463CA8: xor eax,eax L00463CAA: mov [ebx+0000025Ch],eax mov [eax+000000A0h],esi mov eax,[ebx+0000025Ch] push 00000001h push ebx mov dword ptr [ebp-04h],FFFFFFFFh mov [eax+000000A4h],edi mov ecx,[ebx+0000025Ch] mov byte ptr [ecx+54h],04h mov ecx,[ebx+0000025Ch] call SUB_L004415C0 push 000000B8h call SUB_L0049A820 add esp,00000004h mov [ebp-30h],eax test eax,eax mov dword ptr [ebp-04h],00000007h jz L00463D32 push 00000869h push 00000867h push 00000000h push L004D77C0 push 00000386h push 00000001h push 00000869h push 00000867h push ebx push 000000BAh push 00000102h mov ecx,eax call SUB_L00412FC0 jmp L00463D34 L00463D32: xor eax,eax L00463D34: mov [ebx+00000258h],eax mov [eax+000000A0h],esi mov edx,[ebx+00000258h] push 00000001h push ebx mov dword ptr [ebp-04h],FFFFFFFFh mov [edx+000000A4h],edi mov eax,[ebx+00000258h] mov byte ptr [eax+54h],04h mov ecx,[ebx+00000258h] call SUB_L004415C0 push 00000158h call SUB_L0049A820 add esp,00000004h mov [ebp-30h],eax test eax,eax mov dword ptr [ebp-04h],00000008h jz L00463DB5 push 00000000h push 00000000h push 00000001h push 00000386h push 00000001h push 00000010h push 00000000h push 0000098Bh push 0000098Bh push ebx push 000000A3h push 0000008Fh mov ecx,eax call SUB_L0041A6F0 jmp L00463DB7 L00463DB5: xor eax,eax L00463DB7: mov [ebx+00000264h],eax mov byte ptr [eax+54h],04h mov ecx,[ebx+00000264h] push 00000001h push ebx mov dword ptr [ebp-04h],FFFFFFFFh mov byte ptr [ecx+000000E2h],07h mov edx,[ebx+00000264h] mov byte ptr [edx+000000E3h],05h mov ecx,[ebx+00000264h] call SUB_L004415C0 mov eax,[ebx+00000098h] xor ecx,ecx test eax,eax mov [ebp-14h],ecx jle L00463F67 mov [ebp-1Ch],ecx L00463E06: mov eax,[ebx+00000094h] mov edx,[eax+ecx*4] lea eax,[eax+ecx*4] cmp dword ptr [edx+04h],00000004h jnz L00463F55 mov esi,edx call SUB_L00492730 mov edi,eax call SUB_L00491AF0 mov [ebp-30h],eax mov al,[L007B7D2C] xor ecx,ecx mov [ebp-0Dh],al call SUB_L00492740 mov ecx,00000006h call SUB_L00491B00 xor cl,cl call SUB_L00491B30 lea edx,[ebp-28h] lea eax,[ebp-24h] lea ecx,[esi+08h] push edx push eax mov [ebp-2Ch],ecx lea esi,[ebp-20h] call SUB_L00493EC0 mov ecx,eax mov edx,esi call SUB_L00492DC0 mov ecx,edi call SUB_L00492740 mov ecx,[ebp-30h] call SUB_L00491B00 mov cl,[ebp-0Dh] call SUB_L00491B30 mov ecx,[ebp-20h] xor eax,eax mov [ebp-3Ch],eax mov [ebp-40h],eax mov eax,[ebp-24h] mov [ebp-38h],ecx mov [ebp-34h],eax imul eax,ecx shl eax,1 push eax call SUB_L0049A820 mov ecx,[ebp-24h] mov esi,eax imul ecx,[ebp-20h] shl ecx,1 mov edx,ecx xor eax,eax mov edi,esi add esp,00000004h shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov ecx,[L004CC92C] lea eax,[ebp-40h] push eax push ecx mov ecx,[ebp-2Ch] push 00000000h push 00000000h call SUB_L00493EC0 mov edx,[ebp-20h] push eax mov ecx,esi call SUB_L00492A20 push 000000B0h call SUB_L0049A820 add esp,00000004h mov [ebp-30h],eax test eax,eax mov dword ptr [ebp-04h],00000009h jz L00463F29 mov edx,[ebp-24h] mov ecx,[ebp-20h] push FFFFFFFFh push esi push 00000000h push edx push ecx mov ecx,[ebp-1Ch] push ebx mov edx,[ebp+ecx-58h] mov ecx,[ebp+ecx-70h] add edx,0000001Eh add ecx,00000052h push edx push ecx mov ecx,eax call SUB_L00442DD0 jmp L00463F2B L00463F29: xor eax,eax L00463F2B: mov ecx,[ebp-1Ch] push 00000001h add ecx,00000004h push ebx mov [ebp-1Ch],ecx mov ecx,eax mov dword ptr [ebp-04h],FFFFFFFFh mov byte ptr [eax+54h],04h call SUB_L004415C0 push esi call SUB_L0049A810 mov ecx,[ebp-14h] add esp,00000004h L00463F55: mov eax,[ebx+00000098h] inc ecx cmp ecx,eax mov [ebp-14h],ecx jl L00463E06 L00463F67: mov ecx,ebx call SUB_L00462C20 mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 4 SUB_L00463F80: push ebp mov ebp,esp sub esp,00000040h push ebx push esi mov esi,ecx lea eax,[ebp-1Ch] push edi push eax lea edx,[ebp-08h] mov ecx,000000CAh call SUB_L004390A0 lea ecx,[ebp-10h] lea edx,[ebp-14h] push ecx mov ecx,000000C8h call SUB_L004390A0 lea edx,[ebp-20h] mov ecx,000000CBh push edx lea edx,[ebp-0Ch] call SUB_L004390A0 mov eax,[ebp-14h] mov ecx,[ebp-0Ch] lea edx,[ebp-1Ch] lea ebx,[ecx+eax] mov ecx,[ebp-08h] add ebx,ecx push edx lea edx,[ebp-08h] mov ecx,000000CEh call SUB_L004390A0 lea eax,[ebp-10h] lea edx,[ebp-14h] push eax mov ecx,000000C9h call SUB_L004390A0 lea ecx,[ebp-20h] lea edx,[ebp-0Ch] push ecx mov ecx,000000CFh call SUB_L004390A0 mov edx,[ebp-14h] mov eax,[ebp-0Ch] mov ecx,[ebp-08h] add eax,edx add eax,ecx cmp eax,ebx jge L00464012 mov ebx,eax L00464012: lea edx,[ebp-1Ch] mov ecx,000000CCh push edx lea edx,[ebp-08h] call SUB_L004390A0 lea eax,[ebp-10h] lea edx,[ebp-14h] push eax mov ecx,000000E9h call SUB_L004390A0 lea ecx,[ebp-20h] lea edx,[ebp-0Ch] push ecx mov ecx,000000CDh call SUB_L004390A0 mov edx,[ebp-14h] mov eax,[ebp-0Ch] mov ecx,[ebp-08h] add eax,edx add eax,ecx cmp eax,ebx jge L00464058 mov ebx,eax L00464058: lea edx,[ebp-1Ch] mov ecx,000000CEh push edx lea edx,[ebp-08h] call SUB_L004390A0 lea eax,[ebp-10h] lea edx,[ebp-14h] push eax mov ecx,000000C9h call SUB_L004390A0 lea ecx,[ebp-20h] lea edx,[ebp-0Ch] push ecx mov ecx,000000CFh call SUB_L004390A0 mov edx,[esi+20h] mov ecx,[esi+38h] mov eax,[esi+1Ch] push edx mov edx,[ecx+04h] push eax add edx,00000004h mov ecx,SUB_L00488380 push edx push 00000000h push 00000028h mov edx,000000CEh call SUB_L00439100 mov eax,[esi+20h] mov edx,[esi+38h] mov ecx,[esi+1Ch] push eax mov eax,[edx+04h] push ecx mov ecx,[ebp-08h] add eax,00000004h push eax add ecx,00000028h push 00000000h push ecx mov edx,000000C9h mov ecx,SUB_L00488380 call SUB_L00439100 mov edx,[esi+20h] mov ecx,[esi+38h] mov eax,[esi+1Ch] push edx mov edx,[ecx+04h] push eax add edx,00000004h mov eax,ebx push edx mov edx,[ebp-0Ch] sub eax,edx push 00000000h add eax,00000028h mov edx,000000CFh push eax mov ecx,SUB_L00488380 call SUB_L00439100 mov edi,[ebp-10h] lea ecx,[ebp-1Ch] push ecx lea edx,[ebp-08h] mov ecx,000000CAh mov [ebp-18h],edi call SUB_L004390A0 lea edx,[ebp-10h] mov ecx,000000C8h push edx lea edx,[ebp-14h] call SUB_L004390A0 lea eax,[ebp-20h] lea edx,[ebp-0Ch] push eax mov ecx,000000CBh call SUB_L004390A0 mov eax,[ebp-1Ch] mov ecx,[ebp-10h] cmp eax,ecx jge L00464150 mov ecx,eax mov [ebp-10h],ecx L00464150: mov eax,[ebp-20h] cmp eax,ecx jge L0046415C mov ecx,eax mov [ebp-10h],ecx L0046415C: mov edx,[esi+1Ch] mov eax,[esi+000001F4h] mov [ebp-38h],edx mov edx,[ebp-18h] add eax,edi mov [ebp-3Ch],edi cmp edx,eax mov dword ptr [ebp-40h],00000000h mov [ebp-34h],eax jge L004642A5 L00464182: add ecx,edi cmp ecx,eax jge L00464207 mov ecx,[esi+20h] mov eax,[esi+38h] mov edx,[esi+1Ch] push ecx mov ecx,[eax+04h] push edx add ecx,00000004h mov edx,000000CAh push ecx push edi push 00000028h mov ecx,SUB_L00488380 call SUB_L00439100 mov edx,[esi+20h] mov ecx,[esi+38h] mov eax,[esi+1Ch] push edx mov edx,[ecx+04h] push eax mov eax,[ebp-08h] add edx,00000004h push edx add eax,00000028h push edi push eax mov edx,000000C8h mov ecx,SUB_L00488380 call SUB_L00439100 mov ecx,[esi+20h] mov eax,[esi+38h] mov edx,[esi+1Ch] push ecx mov ecx,[eax+04h] mov eax,[ebp-0Ch] push edx mov edx,ebx add ecx,00000004h sub edx,eax push ecx add edx,00000028h push edi push edx mov edx,000000CBh mov ecx,SUB_L00488380 call SUB_L00439100 jmp L0046428D L00464207: mov eax,[esi+20h] mov edx,[esi+38h] mov ecx,[esi+1Ch] push eax mov eax,[edx+04h] push ecx add eax,00000004h lea ecx,[ebp-40h] push eax push edi push 00000028h push ecx mov edx,000000CAh mov ecx,SUB_L00488380 call SUB_L00439290 mov edx,[esi+20h] mov ecx,[esi+38h] mov eax,[esi+1Ch] push edx mov edx,[ecx+04h] push eax mov eax,[ebp-08h] add edx,00000004h push edx add eax,00000028h push edi lea ecx,[ebp-40h] push eax push ecx mov edx,000000C8h mov ecx,SUB_L00488380 call SUB_L00439290 mov edx,[esi+20h] mov ecx,[esi+38h] mov eax,[esi+1Ch] push edx mov edx,[ecx+04h] mov ecx,[ebp-0Ch] push eax mov eax,ebx add edx,00000004h sub eax,ecx push edx add eax,00000028h push edi lea ecx,[ebp-40h] push eax push ecx mov edx,000000CBh mov ecx,SUB_L00488380 call SUB_L00439290 L0046428D: mov ecx,[ebp-10h] mov edx,[esi+000001F4h] mov eax,[ebp-18h] add edi,ecx add eax,edx cmp edi,eax jl L00464182 L004642A5: mov ecx,[esi+000001F4h] mov eax,[ebp-18h] lea edx,[ebp-1Ch] add eax,ecx push edx lea edx,[ebp-08h] mov ecx,000000CCh mov [ebp-18h],eax call SUB_L004390A0 lea eax,[ebp-10h] lea edx,[ebp-14h] push eax mov ecx,000000E9h call SUB_L004390A0 lea ecx,[ebp-20h] lea edx,[ebp-0Ch] push ecx mov ecx,000000CDh call SUB_L004390A0 mov edx,[esi+20h] mov ecx,[esi+38h] mov eax,[esi+1Ch] mov edi,[ebp-18h] push edx mov edx,[ecx+04h] add edx,00000004h push eax push edx push edi push 00000028h mov edx,000000CCh mov ecx,SUB_L00488380 call SUB_L00439100 mov eax,[esi+20h] mov edx,[esi+38h] mov ecx,[esi+1Ch] push eax mov eax,[edx+04h] push ecx mov ecx,[ebp-08h] add eax,00000004h push eax add ecx,00000028h push edi push ecx mov edx,000000E9h mov ecx,SUB_L00488380 call SUB_L00439100 mov edx,[esi+20h] mov ecx,[esi+38h] mov eax,[esi+1Ch] push edx mov edx,[ecx+04h] push eax add edx,00000004h mov ecx,SUB_L00488380 push edx mov edx,[ebp-0Ch] sub ebx,edx push edi add ebx,00000028h mov edx,000000CDh push ebx call SUB_L00439100 xor edi,edi xor ebx,ebx mov [ebp-18h],edi L00464368: mov eax,[ebp-18h] mov ecx,[esi+000001F0h] cmp ecx,eax mov eax,edi jz L0046437A lea eax,[edi+04h] L0046437A: mov ecx,[eax+L004BB438] cmp edi,00000028h mov [ebp-24h],ecx jge L0046438C xor eax,eax jmp L00464392 L0046438C: mov eax,[esi+1Ch] sub eax,00000039h L00464392: cmp edi,00000028h lea ecx,[ebx+2Dh] jl L004643A0 lea ecx,[ebx-0000011Dh] L004643A0: mov edx,[esi+20h] push edx mov edx,[esi+1Ch] push edx mov edx,[esi+38h] mov edx,[edx+04h] add edx,00000004h push edx mov edx,[ebp-24h] push ecx push eax mov ecx,SUB_L00488380 call SUB_L00439100 mov eax,[ebp-18h] add edi,00000008h inc eax add ebx,00000042h cmp edi,00000050h mov [ebp-18h],eax jl L00464368 call SUB_L00492730 mov [ebp-28h],eax call SUB_L00491AF0 mov [ebp-2Ch],eax mov al,[L007B7D2C] xor ecx,ecx mov [ebp-01h],al call SUB_L00492740 mov ecx,00000006h call SUB_L00491B00 xor cl,cl call SUB_L00491B30 mov ecx,[esi+1Ch] xor eax,eax mov [ebp-3Ch],eax mov [ebp-40h],eax mov [ebp-38h],ecx lea eax,[ebp-18h] mov edx,[esi+20h] lea ecx,[ebp-30h] push eax push ecx mov ecx,[esi+000001F0h] mov [ebp-34h],edx add ecx,0000000Ah lea edi,[ebp-24h] shl ecx,04h add ecx,esi call SUB_L00493EC0 mov ecx,eax mov edx,edi call SUB_L00492DC0 mov eax,[L004CC92C] mov ebx,[ebp-24h] lea edx,[ebp-40h] mov ecx,[esi+000001F0h] push edx push eax mov eax,[esi+1Ch] add ecx,0000000Ah sub eax,ebx push 00000014h cdq sub eax,edx sar eax,1 shl ecx,04h push eax add ecx,esi call SUB_L00493EC0 mov ecx,[esi+38h] mov edx,[esi+1Ch] push eax mov ecx,[ecx+04h] add ecx,00000004h call SUB_L00492A20 mov ecx,[esi+000001F0h] mov eax,[L004CC92C] mov edi,[esi+1Ch] lea edx,[ebp-40h] add ecx,00000014h push edx push eax push 00000032h shl ecx,04h push 00000046h add ecx,esi call SUB_L00493EC0 mov ecx,[esi+38h] push eax push edi lea edx,[edi-0000008Ch] mov ecx,[ecx+04h] add ecx,00000004h call SUB_L004935B0 mov ecx,[esi+00000098h] xor eax,eax xor edx,edx mov ebx,00000068h test ecx,ecx mov [ebp-18h],eax jle L00464532 L004644CD: mov ecx,[esi+00000094h] mov ecx,[ecx+eax*4] mov edi,[ecx+04h] cmp edi,[esi+000001F0h] jnz L00464524 mov edi,[esi+000001F8h] inc edx cmp edx,edi mov [ebp-24h],edx jle L00464524 mov edx,[ecx] call [edx+04h] lea edi,[eax+ebx] cmp edi,000001A4h jg L00464532 mov eax,[esi+00000094h] mov ecx,[ebp-18h] mov ecx,[eax+ecx*4] lea eax,[ebp-40h] push eax mov eax,[esi+38h] mov edx,[ecx] push ebx mov eax,[eax+04h] push eax call [edx+08h] mov edx,[ebp-24h] mov eax,[ebp-18h] mov ebx,edi L00464524: mov ecx,[esi+00000098h] inc eax cmp eax,ecx mov [ebp-18h],eax jl L004644CD L00464532: mov ecx,[ebp-28h] call SUB_L00492740 mov ecx,[ebp-2Ch] call SUB_L00491B00 mov cl,[ebp-01h] call SUB_L00491B30 pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L00464560: push ebp mov ebp,esp push esi mov esi,ecx mov eax,[esi+0000009Ch] mov ecx,[esi+00000098h] cmp eax,ecx jnz L004645D7 test eax,eax push edi jz L0046457F add eax,eax jmp L00464584 L0046457F: mov eax,00000020h L00464584: mov [esi+0000009Ch],eax shl eax,02h push eax call SUB_L0049A820 mov ecx,[esi+00000098h] mov edi,eax add esp,00000004h xor eax,eax test ecx,ecx jle L004645BD L004645A4: mov ecx,[esi+00000094h] inc eax mov edx,[ecx+eax*4-04h] mov [edi+eax*4-04h],edx mov ecx,[esi+00000098h] cmp eax,ecx jl L004645A4 L004645BD: mov eax,[esi+00000094h] test eax,eax jz L004645D0 push eax call SUB_L0049A810 add esp,00000004h L004645D0: mov [esi+00000094h],edi pop edi L004645D7: mov eax,[esi+00000098h] mov ecx,[esi+00000094h] mov edx,[ebp+08h] mov [ecx+eax*4],edx mov eax,[esi+00000098h] inc eax mov [esi+00000098h],eax pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 8 SUB_L00464600: push ebp mov ebp,esp mov eax,fs:[00000000h] push FFFFFFFFh push L004B40DB push eax mov fs:[00000000h],esp push esi mov esi,ecx mov dword ptr [esi],L004BB5E8 lea ecx,[esi+18h] mov dword ptr [ebp-04h],00000000h call SUB_L00493CF0 lea ecx,[esi+08h] mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00493CF0 mov ecx,[ebp-0Ch] pop esi mov fs:[00000000h],ecx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 4 L00464650: push ebp mov ebp,esp push esi mov esi,ecx call SUB_L00464600 test byte ptr [ebp+08h],01h jz L0046466A push esi call SUB_L0049A810 add esp,00000004h L0046466A: mov eax,esi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 L00464680: push ebp mov ebp,esp xor eax,eax pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 8 SUB_L00464690: push ebp mov ebp,esp push FFFFFFFFh push L004B4193 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,0000009Ch push ebx push esi push edi mov ebx,ecx push 00000001h push 00000000h push 00000000h xor edx,edx mov ecx,SSZ004C7754_options mov [ebp-20h],ebx call SUB_L0044B850 test eax,eax mov [ebp-18h],eax jz L00464C5E push 00000000h mov ecx,eax mov dword ptr [ebp-10h],FFFFFFFFh mov dword ptr [ebp-14h],00000001h call SUB_L0044C840 push eax lea ecx,[ebx+000001E0h] L004646F1: call SUB_L00493F50 L004646F6: mov ecx,[ebp-14h] mov eax,ecx inc ecx mov [ebp-14h],ecx mov ecx,[ebp-18h] push eax call SUB_L0044C840 mov edi,eax test edi,edi jz L00464C5E push SSZ004CC9B8__END lea ecx,[ebp-00000098h] call SUB_L00493DA0 lea eax,[ebp-00000098h] mov ecx,edi push eax mov dword ptr [ebp-04h],00000000h call SUB_L00494080 lea ecx,[ebp-00000098h] mov esi,eax mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00493CF0 test esi,esi jnz L00464C5E push L004CC9B4 lea ecx,[ebp-000000A8h] call SUB_L00493DA0 lea ecx,[ebp-000000A8h] mov dword ptr [ebp-04h],00000001h push ecx mov ecx,edi call SUB_L00494080 lea ecx,[ebp-000000A8h] mov esi,eax mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00493CF0 test esi,esi jz L0046484E mov ecx,[ebp-14h] mov eax,ecx inc ecx mov [ebp-14h],ecx mov ecx,[ebp-18h] push eax call SUB_L0044C840 mov esi,eax push SSZ004CC9AC__TAB mov ecx,esi call SUB_L00494130 test eax,eax jz L00464C5E push 00000004h mov ecx,esi call SUB_L00494110 mov ax,[eax] cmp ax,0041h jc L004647DB and eax,0000FFFFh sub eax,00000037h mov [ebp-10h],eax jmp L004647E6 L004647DB: and eax,0000FFFFh sub eax,00000030h mov [ebp-10h],eax L004647E6: test eax,eax jl L00464C5E cmp eax,0000000Ah jge L00464C5E mov ecx,[ebp-14h] mov eax,ecx inc ecx mov [ebp-14h],ecx mov ecx,[ebp-18h] push eax call SUB_L0044C840 mov esi,eax mov eax,[ebp-14h] mov ecx,eax inc eax push ecx mov ecx,[ebp-18h] mov [ebp-14h],eax call SUB_L0044C840 test esi,esi mov edi,eax jz L00464C5E test edi,edi jz L00464C5E push esi mov esi,[ebp-10h] lea ecx,[esi+0Ah] shl ecx,04h add ecx,ebx call SUB_L00493F50 lea ecx,[esi+14h] push edi shl ecx,04h add ecx,ebx jmp L004646F1 L0046484E: cmp dword ptr [ebp-10h],FFFFFFFFh jz L00464C5E mov ecx,[ebp-14h] mov eax,ecx inc ecx mov [ebp-14h],ecx mov ecx,[ebp-18h] push eax call SUB_L0044C840 mov esi,eax test esi,esi jz L00464C5E push SSZ004CC9A0__CHECKBOX mov ecx,esi call SUB_L00494130 test eax,eax jz L00464934 lea ecx,[ebp-38h] call SUB_L00493C60 lea edx,[ebp-38h] push 00000025h push edx mov ecx,esi mov dword ptr [ebp-04h],00000002h call SUB_L00494180 lea ecx,[ebp-38h] call SUB_L00493EC0 mov ecx,eax call SUB_L00466880 test al,al jz L00464920 push 00000030h call SUB_L0049A820 mov esi,eax add esp,00000004h mov [ebp-1Ch],esi test esi,esi mov byte ptr [ebp-04h],03h jz L00464912 mov ecx,esi call SUB_L00465440 mov eax,[ebp-10h] push edi lea ecx,[esi+08h] mov byte ptr [ebp-04h],04h mov dword ptr [esi],L004BB5D0 mov [esi+04h],eax call SUB_L00493F50 lea ecx,[ebp-38h] lea edi,[esi+18h] push ecx mov ecx,edi call SUB_L00493F50 mov ecx,edi mov [esi+28h],ebx call SUB_L00493EC0 mov ecx,eax call SUB_L00466950 mov [esi+2Ch],al jmp L00464914 L00464912: xor esi,esi L00464914: push esi mov ecx,ebx mov byte ptr [ebp-04h],02h call SUB_L00464560 L00464920: lea ecx,[ebp-38h] mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00493CF0 jmp L004646F6 L00464934: push SSZ004CC998__COLOR mov ecx,esi call SUB_L00494130 test eax,eax jnz L00464B96 push SSZ004CC96C__HUE mov ecx,esi call SUB_L00494130 test eax,eax jnz L00464B96 push SSZ004CC990__RADIO mov ecx,esi call SUB_L00494130 test eax,eax jz L004649E2 lea ecx,[ebp-00000088h] call SUB_L00493C60 lea edx,[ebp-00000088h] push 00000025h push edx mov ecx,esi mov dword ptr [ebp-04h],00000008h call SUB_L00494180 push 00000100h call SUB_L0049A820 add esp,00000004h mov [ebp-1Ch],eax test eax,eax mov byte ptr [ebp-04h],09h jz L004649BD mov edx,[ebp-10h] push ebx lea ecx,[ebp-00000088h] push esi push ecx push edi push edx mov ecx,eax call SUB_L00466280 jmp L004649BF L004649BD: xor eax,eax L004649BF: push eax mov ecx,ebx mov byte ptr [ebp-04h],08h call SUB_L00464560 lea ecx,[ebp-00000088h] mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00493CF0 jmp L004646F6 L004649E2: push SSZ004CC984__UNIFONT mov ecx,esi call SUB_L00494130 test eax,eax jz L00464A8F lea ecx,[ebp-78h] call SUB_L00493C60 lea eax,[ebp-78h] push 00000025h push eax mov ecx,esi mov dword ptr [ebp-04h],0000000Ah call SUB_L00494180 push 00000030h call SUB_L0049A820 mov esi,eax add esp,00000004h mov [ebp-1Ch],esi test esi,esi mov byte ptr [ebp-04h],0Bh jz L00464A6D mov ecx,esi call SUB_L00465440 mov ecx,[ebp-10h] push edi mov [esi+04h],ecx lea ecx,[esi+08h] mov byte ptr [ebp-04h],0Ch mov dword ptr [esi],L004BB618 call SUB_L00493F50 lea edi,[esi+18h] lea edx,[ebp-78h] push edx mov ecx,edi call SUB_L00493F50 mov ecx,edi mov [esi+28h],ebx call SUB_L00493EC0 mov ecx,eax call SUB_L004673B0 mov [esi+2Ch],eax jmp L00464A6F L00464A6D: xor esi,esi L00464A6F: push esi mov ecx,ebx mov byte ptr [ebp-04h],0Ah call SUB_L00464560 lea ecx,[ebp-78h] mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00493CF0 jmp L004646F6 L00464A8F: push SSZ004CC97C__SLIDER mov ecx,esi call SUB_L00494130 test eax,eax jz L00464B1C lea ecx,[ebp-58h] call SUB_L00493C60 lea eax,[ebp-58h] push 00000025h push eax mov ecx,esi mov dword ptr [ebp-04h],0000000Dh call SUB_L00494180 lea ecx,[ebp-28h] lea edx,[ebp-24h] push ecx push edx mov ecx,esi call SUB_L00494340 push 00000038h call SUB_L0049A820 add esp,00000004h mov [ebp-1Ch],eax test eax,eax mov byte ptr [ebp-04h],0Eh jz L00464AFA mov ecx,[ebp-28h] mov edx,[ebp-24h] push ebx push ecx lea ecx,[ebp-58h] push edx mov edx,[ebp-10h] push ecx push edi push edx mov ecx,eax call SUB_L00465B30 jmp L00464AFC L00464AFA: xor eax,eax L00464AFC: push eax mov ecx,ebx mov byte ptr [ebp-04h],0Dh call SUB_L00464560 lea ecx,[ebp-58h] mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00493CF0 jmp L004646F6 L00464B1C: push SSZ004CC974__DUMMY mov ecx,esi call SUB_L00494130 test eax,eax jz L00464C5E lea ecx,[ebp-68h] call SUB_L00493C60 lea eax,[ebp-68h] push 00000025h push eax mov ecx,esi mov dword ptr [ebp-04h],0000000Fh call SUB_L00494180 push 0000002Ch call SUB_L0049A820 add esp,00000004h mov [ebp-1Ch],eax test eax,eax mov byte ptr [ebp-04h],10h jz L00464B74 mov edx,[ebp-10h] lea ecx,[ebp-68h] push ebx push ecx push edi push edx mov ecx,eax call SUB_L00465A30 jmp L00464B76 L00464B74: xor eax,eax L00464B76: push eax mov ecx,ebx mov byte ptr [ebp-04h],0Fh call SUB_L00464560 lea ecx,[ebp-68h] mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00493CF0 jmp L004646F6 L00464B96: lea ecx,[ebp-48h] call SUB_L00493C60 lea eax,[ebp-48h] push 00000025h push eax mov ecx,esi mov dword ptr [ebp-04h],00000005h call SUB_L00494180 lea ecx,[ebp-48h] call SUB_L00493EC0 mov ecx,eax call SUB_L00466D90 test al,al jz L00464C4A push SSZ004CC96C__HUE mov ecx,esi call SUB_L00494130 push 00000034h mov ebx,eax call SUB_L0049A820 mov esi,eax add esp,00000004h mov [ebp-1Ch],esi test esi,esi mov byte ptr [ebp-04h],06h jz L00464C38 mov ecx,esi call SUB_L00465440 mov ecx,[ebp-10h] push edi mov [esi+04h],ecx lea ecx,[esi+08h] mov byte ptr [ebp-04h],07h mov dword ptr [esi],L004BB600 call SUB_L00493F50 lea edi,[esi+18h] lea edx,[ebp-48h] push edx mov ecx,edi call SUB_L00493F50 mov eax,[ebp-20h] mov ecx,edi mov [esi+28h],eax call SUB_L00493EC0 mov ecx,eax call SUB_L00466E50 mov [esi+2Ch],eax mov [esi+30h],ebx jmp L00464C3A L00464C38: xor esi,esi L00464C3A: mov ecx,[ebp-20h] push esi mov byte ptr [ebp-04h],05h call SUB_L00464560 mov ebx,[ebp-20h] L00464C4A: lea ecx,[ebp-48h] mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00493CF0 jmp L004646F6 L00464C5E: mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 4 L00464C70: push ebp mov ebp,esp sub esp,00000008h push esi push edi mov edi,ecx lea eax,[ebp-04h] lea ecx,[ebp-08h] push eax push ecx mov ecx,edi mov dword ptr [ebp-08h],00000000h mov dword ptr [ebp-04h],00000000h call SUB_L00440C60 mov edx,[L004C7F38] mov eax,[L004C7F34] mov ecx,[L006BAE7C] push edx mov edx,[ebp-04h] push eax mov eax,[ebp-08h] push ecx mov ecx,[edi+20h] push edx mov edx,[edi+1Ch] push eax mov eax,[ebp+08h] push ecx mov ecx,[edi+38h] push edx push eax mov edx,[ecx+04h] mov ecx,SUB_L00488700 add edx,00000004h call SUB_L00439500 mov esi,[edi+4Ch] test esi,esi jz L00464CFE L00464CD9: mov eax,[edi+60h] test eax,eax jnz L00464CF7 mov al,[esi+54h] test al,al jz L00464CEC cmp al,[edi+54h] jnz L00464CF7 L00464CEC: mov eax,[ebp+08h] mov edx,[esi] push eax mov ecx,esi call [edx+0Ch] L00464CF7: mov esi,[esi+40h] test esi,esi jnz L00464CD9 L00464CFE: pop edi pop esi mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00464D10: push ebp mov ebp,esp mov edx,[ebp+08h] push ebx push esi mov esi,ecx push edi mov eax,[esi+000001F0h] cmp eax,edx jz L00464DC3 xor ebx,ebx cmp eax,00000004h jz L00464D35 cmp eax,00000009h jnz L00464D38 L00464D35: mov [esi+54h],bl L00464D38: cmp edx,00000004h mov [esi+000001F0h],edx mov [esi+000001F8h],ebx mov [esi+000001FCh],ebx jz L00464D88 cmp edx,00000009h jz L00464D88 mov ecx,[esi+00000098h] cmp ecx,ebx jle L00464D77 mov eax,[esi+00000094h] L00464D64: mov edi,[eax] cmp [edi+04h],edx jnz L00464D71 inc [esi+000001FCh] L00464D71: add eax,00000004h dec ecx jnz L00464D64 L00464D77: mov eax,[esi+000001FCh] cmp eax,ebx jz L00464D88 dec eax mov [esi+000001FCh],eax L00464D88: mov ecx,[esi+00000214h] cmp ecx,ebx jz L00464D9F mov eax,[esi+000001FCh] push eax push ebx call SUB_L00425F20 L00464D9F: mov ecx,esi call SUB_L00463F80 mov eax,[esi+000001F0h] cmp eax,00000004h jnz L00464DBB mov [esi+54h],al pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ L00464DBB: cmp eax,00000009h jnz L00464DC3 mov [esi+54h],al L00464DC3: pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 8 L00464DD0: push ebp mov ebp,esp sub esp,00000020h mov eax,[ebp+08h] push ebx push esi mov esi,ecx mov ecx,[ebp+0Ch] xor ebx,ebx push edi mov [esi+00000208h],ecx push ebx mov ecx,esi mov [ebp-08h],esi mov [esi+00000204h],eax mov dword ptr [esi+00000200h],00000001h call SUB_L00441340 xor edx,edx xor ecx,ecx mov [ebp-04h],ebx mov [ebp-14h],edx mov [ebp-18h],ecx jmp L00464E16 L00464E13: mov esi,[ebp-08h] L00464E16: mov eax,[ebp-04h] mov edi,[esi+000001F0h] cmp edi,eax mov eax,ebx jz L00464E28 lea eax,[ebx+04h] L00464E28: mov eax,[eax+L004BB438] cmp ebx,00000028h mov [ebp-10h],eax jge L00464E3A xor esi,esi jmp L00464E40 L00464E3A: mov esi,[esi+1Ch] sub esi,00000039h L00464E40: cmp ebx,00000028h jge L00464E4D lea edi,[edx+2Dh] lea eax,[ecx-2Dh] jmp L00464E59 L00464E4D: lea edi,[edx-0000011Dh] lea eax,[ecx+0000011Dh] L00464E59: mov [ebp-0Ch],eax mov eax,[ebp+08h] cmp eax,esi jl L00464EB1 cmp [ebp+0Ch],edi jl L00464EB1 lea ecx,[ebp-20h] lea edx,[ebp-1Ch] push ecx mov ecx,[ebp-10h] call SUB_L004390A0 mov edx,[ebp-1Ch] mov eax,[ebp+08h] add edx,esi cmp eax,edx jge L00464EAB mov eax,[ebp-20h] mov ecx,[ebp+0Ch] add eax,edi cmp ecx,eax jge L00464EAB mov edx,[ebp-0Ch] add ecx,edx mov edx,[ebp+08h] push ecx mov ecx,[ebp-10h] sub edx,esi call SUB_L00439630 test ax,ax jnz L00464F8A L00464EAB: mov edx,[ebp-14h] mov ecx,[ebp-18h] L00464EB1: mov esi,[ebp-04h] add ebx,00000008h inc esi add edx,00000042h sub ecx,00000042h cmp ebx,00000050h mov [ebp-04h],esi mov [ebp-14h],edx mov [ebp-18h],ecx jl L00464E13 mov esi,[ebp-08h] xor ebx,ebx xor eax,eax mov edi,00000068h mov ecx,[esi+00000098h] test ecx,ecx jle L00464F81 L00464EEA: mov ecx,[esi+00000094h] mov ecx,[ecx+ebx*4] mov edx,[ecx+04h] cmp edx,[esi+000001F0h] jnz L00464F2A mov edx,[esi+000001F8h] inc eax cmp eax,edx mov [ebp-20h],eax jle L00464F2A mov eax,[ecx] call [eax+04h] add eax,edi cmp eax,000001A4h jg L00464F81 mov edx,[ebp+0Ch] cmp edx,edi jl L00464F25 cmp edx,eax jl L00464F3E L00464F25: mov edi,eax mov eax,[ebp-20h] L00464F2A: mov ecx,[esi+00000098h] inc ebx cmp ebx,ecx jl L00464EEA pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L00464F3E: mov ecx,[esi+00000094h] push edi shl ebx,02h push edx mov edx,[ebp+08h] mov ecx,[ebx+ecx] push edx mov eax,[ecx] call [eax+10h] test eax,eax jz L00464F77 mov eax,[esi+00000094h] mov ecx,[ebx+eax] mov [esi+00000210h],edi mov [esi+0000020Ch],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L00464F77: mov dword ptr [esi+0000020Ch],00000000h L00464F81: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L00464F8A: mov eax,[ebp-04h] mov ecx,[ebp-08h] push eax call SUB_L00464D10 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 4 L00464FA0: push ebp mov ebp,esp xor eax,eax mov [ecx+00000200h],eax mov [ecx+0000020Ch],eax mov [L006A9DD4],eax pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 8 L00464FC0: push ebp mov ebp,esp mov eax,[ecx+00000200h] test eax,eax jz L00465012 mov eax,[ecx+0000020Ch] test eax,eax jz L00464FF1 mov ecx,[ecx+00000210h] mov edx,[eax] push ecx mov ecx,[ebp+0Ch] push ecx mov ecx,[ebp+08h] push ecx mov ecx,eax call [edx+10h] pop ebp retn 0008h ;------------------------------------------------------------------------------ L00464FF1: mov edx,[ebp+0Ch] mov eax,[ecx+00000208h] push 00000001h push 00000000h sub edx,eax mov eax,[ebp+08h] push 00000001h push edx sub eax,[ecx+00000204h] push eax call SUB_L00440850 L00465012: pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L00465020: push esi mov esi,ecx push edi xor edi,edi mov eax,[esi+00000098h] mov byte ptr [esi+00000268h],00h test eax,eax jle L0046505D L00465037: mov eax,[esi+00000094h] mov ecx,[eax+edi*4] mov eax,[esi+000001F0h] mov edx,[ecx+04h] cmp edx,eax jnz L00465052 mov eax,[ecx] call [eax+14h] L00465052: mov eax,[esi+00000098h] inc edi cmp edi,eax jl L00465037 L0046505D: mov al,[esi+00000268h] test al,al jz L0046506E mov ecx,esi call SUB_L00463F80 L0046506E: mov eax,[esi+000001F0h] mov ecx,00000009h cmp eax,ecx jnz L004650D2 mov eax,[esi+0000023Ch] cmp [eax+54h],cl jnz L004650D2 mov byte ptr [eax+000000B0h],00h mov ecx,[esi+0000023Ch] call SUB_L00413290 mov ecx,[esi+00000244h] mov eax,[ecx+000000B8h] test eax,eax jz L004650C0 L004650AA: push eax call SUB_L0048FEE0 mov ecx,[esi+00000244h] mov eax,[ecx+000000B8h] test eax,eax jnz L004650AA L004650C0: mov ecx,[esi+00000244h] push 00000000h push L004D77C0 call SUB_L0048FE90 L004650D2: pop edi pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L004650E0: push ebp mov ebp,esp sub esp,0000001Ch push ebx push esi mov esi,ecx mov byte ptr [L0073EBF4],00h push edi xor edi,edi mov eax,[esi+00000098h] mov [ebp-04h],esi test eax,eax jle L0046511A L00465101: mov eax,[esi+00000094h] mov ecx,[eax+edi*4] mov edx,[ecx] call [edx+0Ch] mov eax,[esi+00000098h] inc edi cmp edi,eax jl L00465101 L0046511A: mov eax,[L006BD29C] mov edi,[L006BD298] test eax,eax mov dword ptr [ebp-0Ch],00000000h jle L0046517F L00465130: mov eax,[edi+000000E0h] xor ebx,ebx mov [ebp-18h],eax mov eax,[edi+14h] test eax,eax jle L00465162 lea esi,[edi+20h] L00465145: mov eax,[esi] test eax,eax jz L00465154 push eax call SUB_L0049A810 add esp,00000004h L00465154: mov eax,[edi+14h] inc ebx add esi,00000014h cmp ebx,eax jl L00465145 mov esi,[ebp-04h] L00465162: push edi call SUB_L0049A810 mov eax,[ebp-0Ch] mov ecx,[L006BD29C] mov edi,[ebp-18h] add esp,00000004h inc eax cmp eax,ecx mov [ebp-0Ch],eax jl L00465130 L0046517F: xor eax,eax mov [L006BD29C],eax mov [L006BD298],eax mov edi,[esi+0000024Ch] mov [ebp-18h],eax cmp edi,eax mov [ebp-0Ch],edi jz L004652AD jmp L004651A4 L004651A1: mov edi,[ebp-0Ch] L004651A4: push 000000E4h call SUB_L0049A820 mov ebx,eax xor ecx,ecx add esp,00000004h mov [ebp-10h],ecx mov [ebx+000000E0h],ecx mov edx,[edi] mov [ebx],edx mov eax,[edi+04h] mov [ebx+04h],eax mov edx,[edi+08h] mov [ebx+08h],edx mov eax,[edi+0Ch] mov [ebx+0Ch],eax mov edx,[edi+10h] mov [ebx+10h],edx mov eax,[edi+14h] cmp eax,ecx mov [ebx+14h],eax jle L00465277 mov edx,edi lea eax,[edi+20h] lea esi,[ebx+18h] sub edx,ebx mov [ebp-08h],eax mov [ebp-14h],esi mov [ebp-1Ch],edx L004651FB: mov ecx,[edx+esi] mov [esi],ecx mov ecx,[eax-04h] mov [esi+04h],ecx mov ecx,[eax] test ecx,ecx jz L00465255 mov edi,ecx or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx push ecx call SUB_L0049A820 mov edx,eax mov eax,[ebp-08h] mov [esi+08h],edx or ecx,FFFFFFFFh mov edi,[eax] xor eax,eax add esp,00000004h repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx mov edx,[ebp-1Ch] shr ecx,02h rep movsd mov ecx,eax mov eax,[ebp-08h] and ecx,00000003h rep movsb mov esi,[ebp-14h] mov edi,[ebp-0Ch] jmp L0046525C L00465255: mov dword ptr [esi+08h],00000000h L0046525C: mov ecx,[ebp-10h] add eax,00000014h inc ecx add esi,00000014h cmp ecx,[ebx+14h] mov [ebp-10h],ecx mov [ebp-08h],eax mov [ebp-14h],esi jl L004651FB mov esi,[ebp-04h] L00465277: mov eax,[ebp-18h] test eax,eax jnz L00465286 mov [L006BD298],ebx jmp L0046528C L00465286: mov [eax+000000E0h],ebx L0046528C: mov ecx,[L006BD29C] mov edi,[edi+000000E0h] inc ecx mov [ebp-18h],ebx test edi,edi mov [ebp-0Ch],edi mov [L006BD29C],ecx jnz L004651A1 L004652AD: mov ecx,L006BB1C8 call SUB_L00456B00 mov ecx,[esi+0000023Ch] cmp byte ptr [ecx+54h],09h jnz L004653B4 mov edx,[esi+00000240h] mov al,[edx+000000B0h] mov [L0073EC20],al mov ecx,[esi+00000238h] mov edx,[ecx+000000CCh] dec edx mov [L006BB72C],edx mov eax,[esi+00000238h] mov edx,[eax+000000B8h] test edx,edx jz L00465354 mov dword ptr [ebp-18h],L006BB98C mov ebx,L006BB734 L00465307: mov eax,[edx+04h] test eax,eax jz L00465354 mov edi,[edx] or ecx,FFFFFFFFh add edi,000000ECh xor eax,eax repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,ebx add ebx,0000001Eh shr ecx,02h rep movsd mov ecx,eax mov eax,[ebp-18h] and ecx,00000003h add eax,00000004h rep movsb mov ecx,[edx] mov esi,[ebp-04h] mov [ebp-18h],eax mov ecx,[ecx+000000E8h] mov [eax-04h],ecx mov edx,[edx+04h] test edx,edx jnz L00465307 L00465354: mov edx,[esi+0000023Ch] mov al,[edx+000000B0h] xor edx,edx mov [L004CCB2C],al mov [L006BB730],edx mov ecx,[esi+00000244h] mov edi,[ecx+000000B8h] test edi,edi jz L004653B4 jmp L00465385 L0046537F: mov edx,[L006BB730] L00465385: mov eax,[edi+04h] test eax,eax jz L004653B4 lea eax,[edx+edx*2] inc edx mov [L006BB730],edx mov edx,[edi] lea eax,[eax+eax*4] add edx,000000ECh lea ecx,[L006BB9DC+eax*4] call SUB_L00491D10 mov edi,[edi+04h] test edi,edi jnz L0046537F L004653B4: push 00000000h mov ecx,L006BB1C8 call SUB_L00455760 push 00000001h mov ecx,L006BB1C8 call SUB_L00455760 call SUB_L00467860 call SUB_L0045A290 mov al,[L0073EBF4] test al,al jz L004653FD push 00000001h push 00000000h push 00000001h push 00000000h lea ecx,[esi+000001E0h] call SUB_L00493EC0 push eax mov ecx,L00669608 call SUB_L0043F200 L004653FD: pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 L00465410: push ebp mov ebp,esp push esi mov esi,ecx call SUB_L00465490 test byte ptr [ebp+08h],01h jz L0046542A push esi call SUB_L0049A810 add esp,00000004h L0046542A: mov eax,esi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00465440: push ebp mov ebp,esp push FFFFFFFFh push L004B41AB mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx mov [ebp-10h],esi lea ecx,[esi+08h] call SUB_L00493C60 lea ecx,[esi+18h] mov dword ptr [ebp-04h],00000000h call SUB_L00493C60 mov ecx,[ebp-0Ch] mov dword ptr [esi],L004BB5E8 mov eax,esi mov fs:[00000000h],ecx pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 4 SUB_L00465490: push ebp mov ebp,esp mov eax,fs:[00000000h] push FFFFFFFFh push L004B41CB push eax mov fs:[00000000h],esp push esi mov esi,ecx mov dword ptr [esi],L004BB5E8 lea ecx,[esi+18h] mov dword ptr [ebp-04h],00000000h call SUB_L00493CF0 lea ecx,[esi+08h] mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00493CF0 mov ecx,[ebp-0Ch] pop esi mov fs:[00000000h],ecx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 4 L004654E0: push ebp mov ebp,esp sub esp,00000008h push ebx push esi mov esi,[ebp+08h] mov edx,[ebp+0Ch] push edi mov edi,ecx xor eax,eax xor ecx,ecx mov ax,[esi+02h] mov cx,[esi] lea ebx,[esi+04h] push eax push ecx mov cl,[edi+2Ch] push ebx push edx xor edx,edx push 00000046h test cl,cl setnz dl add edx,000000D2h mov ecx,SUB_L00488380 call SUB_L00439100 call SUB_L00492730 mov [ebp-04h],eax call SUB_L00491AF0 mov [ebp-08h],eax mov al,[L007B7D2C] xor ecx,ecx mov [ebp+0Bh],al call SUB_L00492740 mov ecx,00000006h call SUB_L00491B00 xor cl,cl call SUB_L00491B30 mov ecx,[ebp+10h] mov edx,[L004CC92C] mov eax,[ebp+0Ch] push ecx push edx push eax push 00000060h lea ecx,[edi+08h] call SUB_L00493EC0 xor ecx,ecx push eax mov cx,[esi] mov edx,000001B2h push ecx mov ecx,ebx call SUB_L004935B0 mov ecx,[ebp-04h] call SUB_L00492740 mov ecx,[ebp-08h] call SUB_L00491B00 mov cl,[ebp+0Bh] call SUB_L00491B30 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 8 L004655A0: push ebp mov ebp,esp push FFFFFFFFh push L004B41E8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000010h push ebx push esi mov esi,ecx push edi mov bl,[esi+2Ch] lea edi,[esi+18h] mov ecx,edi call SUB_L00493EC0 mov ecx,eax mov dl,bl call SUB_L00466BD0 push SSZ004C59FC_TranslationServerAutomatic lea ecx,[ebp-1Ch] call SUB_L00493DA0 mov ecx,eax mov dword ptr [ebp-04h],00000000h call SUB_L00493EC0 mov ecx,edi mov ebx,eax call SUB_L00493EC0 mov ecx,eax mov edx,ebx call SUB_L00491C50 mov ebx,eax lea ecx,[ebp-1Ch] neg ebx sbb ebx,ebx mov dword ptr [ebp-04h],FFFFFFFFh inc ebx call SUB_L00493CF0 test bl,bl jz L0046565D mov ecx,edi call SUB_L00493EC0 mov ecx,eax call SUB_L00466AB0 cmp al,[esi+2Ch] jz L0046564F mov byte ptr [L004C79CC],01h mov byte ptr [L004C79D0],00h mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L0046564F: mov byte ptr [L004C79CC],00h mov byte ptr [L004C79D0],01h L0046565D: mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 4 L00465670: push esi mov esi,ecx lea ecx,[esi+18h] call SUB_L00493EC0 mov ecx,eax call SUB_L00466AB0 cmp al,[esi+2Ch] jz L00465694 mov [esi+2Ch],al mov eax,[esi+28h] mov byte ptr [eax+00000268h],01h L00465694: pop esi retn ;------------------------------------------------------------------------------ Align 16 L004656A0: push ebp mov ebp,esp sub esp,00000008h push esi mov esi,ecx lea eax,[ebp-08h] lea edx,[ebp-04h] push eax mov ecx,000000D2h call SUB_L004390A0 mov eax,[ebp+08h] cmp eax,00000046h jl L004656EC mov ecx,[ebp-04h] add ecx,00000046h cmp eax,ecx jge L004656EC mov eax,[ebp+0Ch] mov ecx,[ebp+10h] cmp eax,ecx jl L004656EC mov edx,[ebp-08h] add edx,ecx cmp eax,edx jge L004656EC mov cl,[esi+2Ch] xor eax,eax test cl,cl setz al mov [esi+2Ch],al L004656EC: mov ecx,[esi+28h] call SUB_L00463F80 xor eax,eax pop esi mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 4 L00465700: push ebp mov ebp,esp push esi mov esi,ecx call SUB_L00465730 test byte ptr [ebp+08h],01h jz L0046571A push esi call SUB_L0049A810 add esp,00000004h L0046571A: mov eax,esi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00465730: push ebp mov ebp,esp mov eax,fs:[00000000h] push FFFFFFFFh push L004B420B push eax mov fs:[00000000h],esp push esi mov esi,ecx mov dword ptr [esi],L004BB5E8 lea ecx,[esi+18h] mov dword ptr [ebp-04h],00000000h call SUB_L00493CF0 lea ecx,[esi+08h] mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00493CF0 mov ecx,[ebp-0Ch] pop esi mov fs:[00000000h],ecx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 4 L00465780: push ebp mov ebp,esp sub esp,0000000Ch lea eax,[ebp-08h] lea edx,[ebp-04h] push eax lea eax,[ebp-0Ch] push edx push eax add ecx,00000008h call SUB_L00493EC0 mov ecx,eax mov edx,000001B2h call SUB_L00492F30 mov ecx,[ebp-04h] lea eax,[ecx+01h] mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L004657B0: push ebp mov ebp,esp sub esp,00000010h push ebx push esi mov esi,[ebp+08h] push edi mov ebx,[ebp+0Ch] mov edi,ecx xor ecx,ecx xor edx,edx mov cx,[esi+02h] mov dx,[esi] lea eax,[esi+04h] push ecx push edx push eax push ebx push 00000046h mov edx,000000D4h mov ecx,SUB_L00488380 mov [ebp-0Ch],edi mov [ebp-10h],eax call SUB_L00439100 mov eax,[edi+30h] test eax,eax jz L00465806 mov edi,[edi+2Ch] xor ecx,ecx lea eax,[edi+edi*4] lea edx,[edi+eax*2] mov cx,[L006C1A68+edx*8] jmp L00465809 L00465806: mov ecx,[edi+2Ch] L00465809: mov al,[L0073EC3C] test al,al mov eax,ecx jz L00465820 and eax,00007FE0h and ecx,0000001Fh shl eax,1 or eax,ecx L00465820: or al,01h lea edx,[ebp-04h] mov edi,eax lea eax,[ebp-08h] push eax mov ecx,000000D4h call SUB_L004390A0 mov ecx,[ebp-08h] mov edx,ebx add ecx,ebx cmp ebx,ecx jge L00465881 L00465840: mov eax,[ebp-04h] mov ecx,00000046h add eax,ecx cmp eax,ecx jle L00465877 L0046584E: xor eax,eax mov ax,[esi] mov ebx,eax mov eax,edx imul eax,ebx add eax,ecx cmp word ptr [esi+eax*2+04h],0000h jnz L00465869 mov [esi+eax*2+04h],di L00465869: mov eax,[ebp-04h] inc ecx add eax,00000046h cmp ecx,eax jl L0046584E mov ebx,[ebp+0Ch] L00465877: mov ecx,[ebp-08h] inc edx add ecx,ebx cmp edx,ecx jl L00465840 L00465881: call SUB_L00492730 mov edi,eax call SUB_L00491AF0 mov dl,[L007B7D2C] xor ecx,ecx mov ebx,eax mov [ebp+0Bh],dl call SUB_L00492740 mov ecx,00000006h call SUB_L00491B00 xor cl,cl call SUB_L00491B30 mov eax,[ebp+10h] mov ecx,[L004CC92C] mov edx,[ebp+0Ch] push eax mov eax,[ebp-0Ch] push ecx push edx push 00000060h lea ecx,[eax+08h] call SUB_L00493EC0 xor ecx,ecx push eax mov cx,[esi] mov edx,000001B2h push ecx mov ecx,[ebp-10h] call SUB_L004935B0 mov ecx,edi call SUB_L00492740 mov ecx,ebx call SUB_L00491B00 mov cl,[ebp+0Bh] call SUB_L00491B30 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 4 L00465900: push esi mov esi,[ecx+2Ch] add ecx,00000018h call SUB_L00493EC0 mov ecx,eax mov edx,esi call SUB_L00467060 pop esi retn ;------------------------------------------------------------------------------ Align 16 L00465920: push esi mov esi,ecx lea ecx,[esi+18h] call SUB_L00493EC0 mov ecx,eax call SUB_L00466F60 cmp eax,[esi+2Ch] jz L00465944 mov [esi+2Ch],eax mov eax,[esi+28h] mov byte ptr [eax+00000268h],01h L00465944: pop esi retn ;------------------------------------------------------------------------------ Align 16 L00465950: push ebp mov ebp,esp push FFFFFFFFh push L004B422B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000008h mov eax,[L0073EBF8] push esi test eax,eax mov esi,ecx jnz L00465A0E lea eax,[ebp-14h] lea edx,[ebp-10h] push eax mov ecx,000000D4h call SUB_L004390A0 mov eax,[ebp+08h] cmp eax,00000046h jl L00465A0E mov ecx,[ebp-10h] add ecx,00000046h cmp eax,ecx jge L00465A0E mov eax,[ebp+0Ch] mov ecx,[ebp+10h] cmp eax,ecx jl L00465A0E mov edx,[ebp-14h] add edx,ecx cmp eax,edx jge L00465A0E push 000000E0h call SUB_L0049A820 add esp,00000004h mov [ebp+08h],eax test eax,eax mov dword ptr [ebp-04h],00000000h jz L004659E4 push 00000003h push L004D77C0 push 00000000h push 00000078h push 00000064h push 00000064h mov ecx,eax call SUB_L00447800 jmp L004659E6 L004659E4: xor eax,eax L004659E6: mov [L0073EBF8],eax mov byte ptr [eax+000000BCh],01h mov ecx,[L0073EBF8] push 00000001h push 00000000h mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L004415C0 mov [L0073EBFC],esi L00465A0E: mov ecx,[ebp-0Ch] xor eax,eax mov fs:[00000000h],ecx pop esi mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 16 SUB_L00465A30: push ebp mov ebp,esp push FFFFFFFFh push L004B4253 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push esi mov esi,ecx push edi mov [ebp-10h],esi lea edi,[esi+08h] mov ecx,edi call SUB_L00493C60 lea ebx,[esi+18h] mov dword ptr [ebp-04h],00000000h mov ecx,ebx call SUB_L00493C60 mov ecx,[ebp+0Ch] mov eax,[ebp+08h] push ecx mov ecx,edi mov dword ptr [ebp-04h],00000001h mov dword ptr [esi],L004BB648 mov [esi+04h],eax call SUB_L00493F50 mov edx,[ebp+10h] mov ecx,ebx push edx call SUB_L00493F50 mov eax,[ebp+14h] mov ecx,[ebp-0Ch] mov [esi+28h],eax mov eax,esi pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0010h ;------------------------------------------------------------------------------ L00465AB0: push ebp mov ebp,esp push esi mov esi,ecx call SUB_L00465AE0 test byte ptr [ebp+08h],01h jz L00465ACA push esi call SUB_L0049A810 add esp,00000004h L00465ACA: mov eax,esi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00465AE0: push ebp mov ebp,esp mov eax,fs:[00000000h] push FFFFFFFFh push L004B426B push eax mov fs:[00000000h],esp push esi mov esi,ecx mov dword ptr [esi],L004BB5E8 lea ecx,[esi+18h] mov dword ptr [ebp-04h],00000000h call SUB_L00493CF0 lea ecx,[esi+08h] mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00493CF0 mov ecx,[ebp-0Ch] pop esi mov fs:[00000000h],ecx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 4 SUB_L00465B30: push ebp mov ebp,esp push FFFFFFFFh push L004B4293 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push esi mov esi,ecx push edi mov [ebp-10h],esi lea ebx,[esi+08h] mov ecx,ebx call SUB_L00493C60 lea edi,[esi+18h] mov dword ptr [ebp-04h],00000000h mov ecx,edi call SUB_L00493C60 mov ecx,[ebp+0Ch] mov eax,[ebp+08h] push ecx mov ecx,ebx mov dword ptr [ebp-04h],00000001h mov dword ptr [esi],L004BB630 mov [esi+04h],eax call SUB_L00493F50 mov edx,[ebp+10h] mov ecx,edi push edx call SUB_L00493F50 mov eax,[ebp+1Ch] mov ecx,edi mov [esi+28h],eax call SUB_L00493EC0 mov ecx,eax call SUB_L00467150 mov ecx,[ebp+14h] mov edx,[ebp+18h] mov [esi+2Ch],eax mov [esi+30h],ecx mov ecx,[ebp-0Ch] mov [esi+34h],edx mov eax,esi pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0018h ;------------------------------------------------------------------------------ Align 4 L00465BD0: push ebp mov ebp,esp push esi mov esi,ecx call SUB_L00465C00 test byte ptr [ebp+08h],01h jz L00465BEA push esi call SUB_L0049A810 add esp,00000004h L00465BEA: mov eax,esi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00465C00: push ebp mov ebp,esp mov eax,fs:[00000000h] push FFFFFFFFh push L004B42AB push eax mov fs:[00000000h],esp push esi mov esi,ecx mov dword ptr [esi],L004BB5E8 lea ecx,[esi+18h] mov dword ptr [ebp-04h],00000000h call SUB_L00493CF0 lea ecx,[esi+08h] mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00493CF0 mov ecx,[ebp-0Ch] pop esi mov fs:[00000000h],ecx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 4 L00465C50: push ebp mov ebp,esp sub esp,0000000Ch lea eax,[ebp-08h] lea edx,[ebp-04h] push eax lea eax,[ebp-0Ch] push edx push eax add ecx,00000008h call SUB_L00493EC0 mov ecx,eax mov edx,000001B2h call SUB_L00492F30 mov ecx,[ebp-04h] lea eax,[ecx+15h] mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00465C80: push ebp mov ebp,esp push FFFFFFFFh push L004B42C8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000068h push ebx push esi mov esi,ecx push edi mov [ebp-1Ch],esi call SUB_L00492730 mov [ebp-20h],eax call SUB_L00491AF0 mov [ebp-24h],eax mov al,[L007B7D2C] xor ecx,ecx mov [ebp-0Dh],al call SUB_L00492740 mov ecx,00000006h call SUB_L00491B00 xor cl,cl call SUB_L00491B30 mov ecx,[ebp+10h] mov edx,[L004CC92C] mov eax,[ebp+0Ch] mov edi,[ebp+08h] push ecx push edx push eax push 00000046h lea ecx,[esi+08h] lea ebx,[edi+04h] call SUB_L00493EC0 xor ecx,ecx push eax mov cx,[edi] mov edx,000001CCh push ecx mov ecx,ebx call SUB_L004935B0 mov edx,[esi] mov ecx,esi call [edx+04h] mov ecx,[ebp+0Ch] xor edx,edx mov dx,[edi+02h] lea eax,[eax+ecx-15h] xor ecx,ecx mov cx,[edi] push edx push ecx push ebx push eax push 00000046h mov edx,000000D5h mov ecx,SUB_L00488700 mov [ebp+0Ch],eax call SUB_L00439100 lea edx,[ebp-18h] mov ecx,000000D5h push edx lea edx,[ebp-14h] call SUB_L004390A0 mov eax,[ebp-14h] xor ecx,ecx mov cx,[edi+02h] xor edx,edx mov dx,[edi] lea esi,[eax+46h] mov eax,[ebp+0Ch] push ecx push edx push ebx push eax push esi mov edx,000000D6h mov ecx,SUB_L00488700 call SUB_L00439100 lea ecx,[ebp-18h] lea edx,[ebp-14h] push ecx mov ecx,000000D6h call SUB_L004390A0 mov ecx,[ebp-14h] add esi,ecx xor edx,edx mov dx,[edi+02h] mov ecx,[ebp+0Ch] xor eax,eax push edx mov ax,[edi] mov edx,000000D6h push eax push ebx push ecx push esi mov ecx,SUB_L00488700 call SUB_L00439100 mov ecx,[ebp-14h] xor edx,edx mov dx,[edi+02h] xor eax,eax mov ax,[edi] add esi,ecx mov ecx,[ebp+0Ch] push edx push eax push ebx push ecx push esi mov edx,000000D6h mov ecx,SUB_L00488700 call SUB_L00439100 mov ecx,[ebp-14h] xor edx,edx mov dx,[edi+02h] xor eax,eax mov ax,[edi] add esi,ecx mov ecx,[ebp+0Ch] push edx push eax push ebx push ecx push esi mov edx,000000D7h mov ecx,SUB_L00488700 call SUB_L00439100 lea edx,[ebp-18h] mov ecx,000000D7h push edx lea edx,[ebp-14h] call SUB_L004390A0 mov eax,[ebp-14h] lea edx,[ebp-74h] add esi,eax mov eax,[ebp-1Ch] mov ecx,[eax+2Ch] push ecx push L004C43EC push edx call SUB_L0049AC80 add esp,0000000Ch lea eax,[ebp-74h] lea ecx,[ebp-34h] push eax call SUB_L00493DA0 mov ecx,[ebp+10h] mov edx,[L004CC92C] mov eax,[ebp+0Ch] push ecx push edx lea ecx,[esi+06h] push eax push ecx lea ecx,[ebp-34h] mov dword ptr [ebp-04h],00000000h call SUB_L00493EC0 xor edx,edx push eax mov dx,[edi] mov ecx,ebx call SUB_L00492A20 lea edx,[ebp-18h] push edx lea edx,[ebp-14h] mov ecx,000000D8h call SUB_L004390A0 xor eax,eax mov edx,[ebp-1Ch] mov ax,[edi+02h] push eax mov ecx,[edx+30h] xor eax,eax mov ax,[edi] mov edi,[ebp-14h] push eax mov eax,[ebp+0Ch] push ebx push eax mov eax,[edx+2Ch] sub esi,edi sub eax,ecx sub esi,00000046h imul eax,esi mov esi,[edx+34h] cdq sub esi,ecx mov ecx,SUB_L00488700 idiv esi mov edx,000000D8h add eax,00000046h push eax call SUB_L00439100 mov ecx,[ebp-20h] call SUB_L00492740 mov ecx,[ebp-24h] call SUB_L00491B00 mov cl,[ebp-0Dh] call SUB_L00491B30 lea ecx,[ebp-34h] mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00493CF0 mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 8 L00465EF0: push esi mov esi,[ecx+2Ch] add ecx,00000018h call SUB_L00493EC0 mov ecx,eax mov edx,esi call SUB_L004672B0 pop esi retn ;------------------------------------------------------------------------------ Align 16 L00465F10: push esi mov esi,ecx lea ecx,[esi+18h] call SUB_L00493EC0 mov ecx,eax call SUB_L00467200 cmp eax,[esi+2Ch] jz L00465F34 mov [esi+2Ch],eax mov eax,[esi+28h] mov byte ptr [eax+00000268h],01h L00465F34: pop esi retn ;------------------------------------------------------------------------------ Align 16 L00465F40: push ebp mov ebp,esp sub esp,00000008h push esi mov esi,ecx lea eax,[ebp-08h] push edi push eax lea edx,[ebp-04h] mov ecx,000000D5h call SUB_L004390A0 mov edi,[ebp-04h] lea ecx,[ebp-08h] push ecx lea edx,[ebp-04h] mov ecx,000000D6h call SUB_L004390A0 mov eax,[ebp-04h] mov ecx,000000D7h mov edx,eax add edx,edi lea edi,[edx+eax*2] lea eax,[ebp-08h] push eax lea edx,[ebp-04h] call SUB_L004390A0 mov ecx,[ebp-04h] mov edx,[ebp+08h] add edi,ecx cmp edx,00000046h jg L00465F9C mov eax,[esi+30h] jmp L00465FBB L00465F9C: lea ecx,[edi+46h] cmp edx,ecx jl L00465FA8 mov eax,[esi+34h] jmp L00465FBB L00465FA8: mov ecx,[esi+30h] mov eax,[esi+34h] sub eax,ecx add edx,FFFFFFBAh imul eax,edx cdq idiv edi add eax,ecx L00465FBB: cmp eax,[esi+2Ch] jz L00465FCB mov ecx,[esi+28h] mov [esi+2Ch],eax call SUB_L00463F80 L00465FCB: pop edi mov eax,00000001h pop esi mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 16 L00465FE0: push ebp mov ebp,esp push esi mov esi,ecx call SUB_L00466010 test byte ptr [ebp+08h],01h jz L00465FFA push esi call SUB_L0049A810 add esp,00000004h L00465FFA: mov eax,esi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00466010: push ebp mov ebp,esp mov eax,fs:[00000000h] push FFFFFFFFh push L004B42EB push eax mov fs:[00000000h],esp push esi mov esi,ecx mov dword ptr [esi],L004BB5E8 lea ecx,[esi+18h] mov dword ptr [ebp-04h],00000000h call SUB_L00493CF0 lea ecx,[esi+08h] mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00493CF0 mov ecx,[ebp-0Ch] pop esi mov fs:[00000000h],ecx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 4 L00466060: push ebp mov ebp,esp sub esp,0000000Ch lea eax,[ebp-08h] lea edx,[ebp-04h] push eax lea eax,[ebp-0Ch] push edx push eax add ecx,00000008h call SUB_L00493EC0 mov ecx,eax mov edx,000001B2h call SUB_L00492F30 mov ecx,[ebp-04h] lea eax,[ecx+4Ch] mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00466090: push ebp mov ebp,esp sub esp,0000002Ch push ebx push esi mov esi,ecx push edi mov [ebp-08h],esi call SUB_L00492730 mov [ebp-10h],eax call SUB_L00491AF0 mov [ebp-14h],eax mov al,[L007B7D2C] xor ecx,ecx mov [ebp-01h],al call SUB_L00492740 mov ecx,00000006h call SUB_L00491B00 xor cl,cl call SUB_L00491B30 mov ecx,[ebp+10h] mov edx,[L004CC92C] mov ebx,[ebp+0Ch] mov edi,[ebp+08h] push ecx push edx push ebx push 00000046h lea ecx,[esi+08h] call SUB_L00493EC0 push eax xor eax,eax mov ax,[edi] mov edx,000001CCh push eax lea ecx,[edi+04h] call SUB_L004935B0 lea ecx,[ebp-18h] lea edx,[ebp-0Ch] push ecx mov ecx,000000D0h call SUB_L004390A0 mov edx,[esi] mov ecx,esi mov word ptr [ebp-2Ch],0054h mov word ptr [ebp-2Ah],0068h mov word ptr [ebp-28h],0069h mov word ptr [ebp-26h],0073h mov word ptr [ebp-24h],0020h mov word ptr [ebp-22h],0046h mov word ptr [ebp-20h],006Fh mov word ptr [ebp-1Eh],006Eh mov word ptr [ebp-1Ch],0074h mov word ptr [ebp-1Ah],0000h call [edx+04h] lea ebx,[eax+ebx-4Ch] xor esi,esi L00466158: mov ecx,esi call SUB_L00492740 xor eax,eax xor ecx,ecx mov ax,[edi+02h] mov cx,[edi] push eax lea eax,[edi+04h] push ecx push eax mov eax,[ebp-08h] xor edx,edx push ebx push 00000046h mov ecx,[eax+2Ch] cmp esi,ecx mov ecx,SUB_L00488700 setz dl add edx,000000D0h call SUB_L00439100 mov ecx,[ebp+10h] mov edx,[L004CC92C] mov eax,[ebp-0Ch] push ecx push edx add eax,0000004Ch push ebx lea ecx,[ebp-2Ch] push eax xor edx,edx mov dx,[edi] push ecx lea ecx,[edi+04h] call SUB_L00492A20 add ebx,00000019h inc esi cmp esi,00000003h jl L00466158 mov ecx,[ebp-10h] call SUB_L00492740 mov ecx,[ebp-14h] call SUB_L00491B00 mov cl,[ebp-01h] call SUB_L00491B30 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 4 L004661E0: push esi mov esi,[ecx+2Ch] add ecx,00000018h call SUB_L00493EC0 mov ecx,eax mov edx,esi call SUB_L00467510 pop esi retn ;------------------------------------------------------------------------------ Align 16 L00466200: push esi mov esi,ecx lea ecx,[esi+18h] call SUB_L00493EC0 mov ecx,eax call SUB_L00467460 cmp eax,[esi+2Ch] jz L00466224 mov [esi+2Ch],eax mov eax,[esi+28h] mov byte ptr [eax+00000268h],01h L00466224: pop esi retn ;------------------------------------------------------------------------------ Align 16 L00466230: push ebp mov ebp,esp push esi mov esi,ecx mov eax,[esi] call [eax+04h] mov ecx,[ebp+0Ch] mov edx,[ebp+10h] sub ecx,edx sub ecx,eax mov eax,51EB851Fh add ecx,0000004Ch imul ecx mov eax,[esi+2Ch] sar edx,03h mov ecx,edx shr ecx,1Fh add edx,ecx cmp edx,eax jz L0046626B mov ecx,[esi+28h] mov [esi+2Ch],edx call SUB_L00463F80 L0046626B: mov eax,00000001h pop esi pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 16 SUB_L00466280: push ebp mov ebp,esp push FFFFFFFFh push L004B433C mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000014h push ebx push esi mov esi,ecx push edi mov [ebp-10h],esi lea ebx,[esi+08h] mov ecx,ebx call SUB_L00493C60 lea edi,[esi+18h] mov dword ptr [ebp-04h],00000000h mov ecx,edi call SUB_L00493C60 mov dword ptr [esi],L004BB5E8 lea ecx,[esi+2Ch] mov dword ptr [ebp-04h],00000001h call SUB_L00493C60 push SUB_L00493CF0 push SUB_L00493C60 lea eax,[esi+3Ch] push 0000000Ch push 00000010h push eax mov byte ptr [ebp-04h],02h call SUB_L0049AFF0 mov ecx,[ebp+0Ch] mov eax,[ebp+08h] push ecx mov ecx,ebx mov byte ptr [ebp-04h],03h mov dword ptr [esi],L004BB660 mov [esi+04h],eax call SUB_L00493F50 mov edx,[ebp+10h] mov ecx,edi push edx call SUB_L00493F50 mov eax,[ebp+18h] mov ecx,edi mov [esi+28h],eax call SUB_L00493EC0 mov ecx,eax call SUB_L004675D0 push eax lea ecx,[ebp-20h] call SUB_L00493DA0 lea ecx,[ebp-20h] mov byte ptr [ebp-04h],04h push ecx lea ecx,[esi+2Ch] call SUB_L00493F50 lea ecx,[ebp-20h] mov byte ptr [ebp-04h],03h call SUB_L00493CF0 mov ecx,[ebp+14h] mov dword ptr [esi+000000FCh],00000000h call SUB_L00493EC0 mov edi,eax mov ax,[edi] test ax,ax jz L0046637B L00466369: cmp ax,005Bh jz L0046637B mov ax,[edi+02h] add edi,00000002h test ax,ax jnz L00466369 L0046637B: cmp word ptr [edi],0000h jz L00466384 add edi,00000002h L00466384: mov ax,[edi] test ax,ax jz L004663E7 L0046638C: cmp ax,005Dh jz L004663E7 test ax,ax jz L004663C1 L00466397: cmp ax,005Dh jz L004663C1 cmp ax,007Ch jz L004663C1 mov edx,[esi+000000FCh] push eax shl edx,04h add edi,00000002h lea ecx,[edx+esi+3Ch] call SUB_L00493FF0 mov ax,[edi] test ax,ax jnz L00466397 L004663C1: mov edx,[esi+000000FCh] inc edx mov [esi+000000FCh],edx mov ax,[edi] test ax,ax jz L004663DF cmp ax,005Dh jz L004663DF add edi,00000002h L004663DF: mov ax,[edi] test ax,ax jnz L0046638C L004663E7: mov eax,[esi+000000FCh] xor edi,edi test eax,eax jle L00466411 lea ebx,[esi+3Ch] L004663F6: push ebx lea ecx,[esi+2Ch] call SUB_L00494080 test eax,eax jnz L00466411 mov eax,[esi+000000FCh] inc edi add ebx,00000010h cmp edi,eax jl L004663F6 L00466411: cmp edi,[esi+000000FCh] jnz L00466425 lea eax,[esi+3Ch] lea ecx,[esi+2Ch] push eax call SUB_L00493F50 L00466425: mov ecx,[ebp-0Ch] mov eax,esi pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0014h ;------------------------------------------------------------------------------ Align 8 L00466440: push ebp mov ebp,esp push esi mov esi,ecx call SUB_L00466470 test byte ptr [ebp+08h],01h jz L0046645A push esi call SUB_L0049A810 add esp,00000004h L0046645A: mov eax,esi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00466470: push ebp mov ebp,esp push FFFFFFFFh push L004B436E mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx mov [ebp-10h],esi push SUB_L00493CF0 push 0000000Ch lea eax,[esi+3Ch] push 00000010h push eax mov dword ptr [ebp-04h],00000001h call SUB_L0049AEB0 lea ecx,[esi+2Ch] mov byte ptr [ebp-04h],00h call SUB_L00493CF0 mov dword ptr [esi],L004BB5E8 lea ecx,[esi+18h] mov dword ptr [ebp-04h],00000002h call SUB_L00493CF0 lea ecx,[esi+08h] mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00493CF0 mov ecx,[ebp-0Ch] pop esi mov fs:[00000000h],ecx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 L004664F0: push ebp mov ebp,esp sub esp,0000000Ch push esi mov esi,ecx lea eax,[ebp-08h] lea ecx,[ebp-04h] push eax lea edx,[ebp-0Ch] push ecx push edx lea ecx,[esi+08h] call SUB_L00493EC0 mov ecx,eax mov edx,000001B2h call SUB_L00492F30 mov esi,[esi+000000FCh] mov ecx,[ebp-04h] lea eax,[esi+esi*4] pop esi lea edx,[ecx+eax*4] lea eax,[eax+edx+01h] mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 L00466540: push ebp mov ebp,esp sub esp,00000018h push ebx push esi mov ebx,ecx push edi mov [ebp-0Ch],ebx call SUB_L00492730 mov [ebp-10h],eax call SUB_L00491AF0 mov [ebp-14h],eax mov al,[L007B7D2C] xor ecx,ecx mov [ebp-01h],al call SUB_L00492740 mov ecx,00000006h call SUB_L00491B00 xor cl,cl call SUB_L00491B30 mov ecx,[ebp+10h] mov edx,[L004CC92C] mov edi,[ebp+0Ch] mov esi,[ebp+08h] push ecx push edx push edi push 00000046h lea ecx,[ebx+08h] call SUB_L00493EC0 push eax xor eax,eax mov ax,[esi] mov edx,000001CCh push eax lea ecx,[esi+04h] call SUB_L004935B0 lea ecx,[ebp-18h] lea edx,[ebp-08h] push ecx mov ecx,000000D0h call SUB_L004390A0 mov edx,[ebx+000000FCh] mov eax,[ebx] mov ecx,ebx mov [ebp+08h],edx call [eax+04h] mov ecx,[ebp+08h] mov dword ptr [ebp+0Ch],00000000h lea ecx,[ecx+ecx*4] lea ecx,[ecx+ecx*4] sub edi,ecx lea edi,[eax+edi-01h] mov eax,[ebp+08h] test eax,eax jle L00466671 lea edx,[ebx+2Ch] add ebx,0000003Ch mov [ebp+08h],edx L004665F9: mov eax,[ebp+08h] mov ecx,ebx push eax call SUB_L00494080 neg eax sbb eax,eax xor ecx,ecx mov cx,[esi+02h] xor edx,edx mov dx,[esi] push ecx neg eax lea ecx,[esi+04h] push edx add eax,000000D0h push ecx push edi push 00000046h mov edx,eax mov ecx,SUB_L00488700 call SUB_L00439100 mov eax,[ebp+10h] mov ecx,[L004CC92C] mov edx,[ebp-08h] push eax push ecx add edx,0000004Ch push edi push edx mov ecx,ebx call SUB_L00493EC0 xor edx,edx push eax mov dx,[esi] lea ecx,[esi+04h] call SUB_L00492A20 mov ecx,[ebp-0Ch] mov eax,[ebp+0Ch] add edi,00000019h inc eax mov edx,[ecx+000000FCh] add ebx,00000010h cmp eax,edx mov [ebp+0Ch],eax jl L004665F9 L00466671: mov ecx,[ebp-10h] call SUB_L00492740 mov ecx,[ebp-14h] call SUB_L00491B00 mov cl,[ebp-01h] call SUB_L00491B30 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 16 L004666A0: push esi mov esi,ecx push edi lea ecx,[esi+2Ch] call SUB_L00493EC0 lea ecx,[esi+18h] mov edi,eax call SUB_L00493EC0 mov ecx,eax mov edx,edi call SUB_L00467730 pop edi pop esi retn ;------------------------------------------------------------------------------ Align 16 L004666D0: push ebp mov ebp,esp push FFFFFFFFh push L004B4388 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000010h push esi mov esi,ecx push edi lea ecx,[esi+18h] call SUB_L00493EC0 mov ecx,eax call SUB_L00467680 push eax lea ecx,[ebp-1Ch] call SUB_L00493DA0 lea edi,[esi+2Ch] lea ecx,[ebp-1Ch] push edi mov dword ptr [ebp-04h],00000000h call SUB_L004940F0 test eax,eax jz L00466733 lea eax,[ebp-1Ch] mov ecx,edi push eax call SUB_L00493F50 mov ecx,[esi+28h] mov byte ptr [ecx+00000268h],01h L00466733: lea ecx,[ebp-1Ch] mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00493CF0 mov ecx,[ebp-0Ch] pop edi mov fs:[00000000h],ecx pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 L00466760: push ebp mov ebp,esp push ebx push esi mov esi,ecx push edi mov eax,[esi] call [eax+04h] mov edx,[ebp+0Ch] mov ecx,eax mov eax,[esi+000000FCh] mov edi,[ebp+10h] lea eax,[eax+eax*4] lea edx,[edx+eax*4] add eax,edx sub eax,edi lea edi,[esi+2Ch] sub eax,ecx push edi inc eax mov ecx,eax mov eax,51EB851Fh imul ecx sar edx,03h mov eax,edx shr eax,1Fh add edx,eax shl edx,04h lea ebx,[edx+esi+3Ch] mov ecx,ebx call SUB_L004940F0 test eax,eax jz L004667C1 push ebx mov ecx,edi call SUB_L00493F50 mov ecx,[esi+28h] call SUB_L00463F80 L004667C1: pop edi pop esi mov eax,00000001h pop ebx pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 4 SUB_L004667D0: mov eax,[L0073EBFC] test eax,eax jz L00466805 cmp ecx,FFFFFFFFh jz L00466805 mov edx,[eax+30h] test edx,edx jnz L004667F5 lea edx,[ecx+ecx*4] lea edx,[ecx+edx*2] xor ecx,ecx mov cx,[L006C1A68+edx*8] L004667F5: cmp [eax+2Ch],ecx jz L00466805 mov [eax+2Ch],ecx mov ecx,[eax+28h] call SUB_L00463F80 L00466805: mov dword ptr [L0073EBFC],00000000h mov dword ptr [L0073EBF8],00000000h retn ;------------------------------------------------------------------------------ Align 8 SUB_L00466820: push ebp mov ebp,esp push FFFFFFFFh push L004B43AB mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push 0000026Ch call SUB_L0049A820 add esp,00000004h mov [ebp-10h],eax test eax,eax mov dword ptr [ebp-04h],00000000h jz L00466869 mov ecx,eax call SUB_L00461F10 mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00466869: mov ecx,[ebp-0Ch] xor eax,eax mov fs:[00000000h],ecx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 SUB_L00466880: push ebp mov ebp,esp push FFFFFFFFh push L004B43C8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000010h push esi push ecx lea ecx,[ebp-1Ch] call SUB_L00493D10 mov eax,[L004CC9C0] mov dword ptr [ebp-04h],00000000h test eax,eax jz L004668D7 mov eax,L004CC9C0 mov esi,eax L004668BC: mov eax,[eax] lea ecx,[ebp-1Ch] push eax call SUB_L004940A0 test eax,eax jnz L00466930 mov ecx,[esi+0Ch] add esi,0000000Ch test ecx,ecx mov eax,esi jnz L004668BC L004668D7: push 00000024h lea ecx,[ebp-1Ch] call SUB_L004943F0 test eax,eax jz L00466910 mov eax,[L004CCB40] test eax,eax jz L00466910 mov eax,L004CCB40 mov esi,eax L004668F5: mov ecx,[eax] push ecx lea ecx,[ebp-1Ch] call SUB_L004940A0 test eax,eax jnz L00466930 mov ecx,[esi+0Ch] add esi,0000000Ch test ecx,ecx mov eax,esi jnz L004668F5 L00466910: lea ecx,[ebp-1Ch] mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00493CF0 xor al,al mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00466930: lea ecx,[ebp-1Ch] mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00493CF0 mov ecx,[ebp-0Ch] mov al,01h mov fs:[00000000h],ecx pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ SUB_L00466950: push ebp mov ebp,esp push FFFFFFFFh push L004B43E8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000010h push ebx push esi push edi push ecx lea ecx,[ebp-1Ch] call SUB_L00493D10 mov eax,[L004CC9C0] xor edi,edi test eax,eax mov dword ptr [ebp-04h],00000000h jz L004669B0 mov eax,L004CC9C0 mov esi,eax L00466990: mov eax,[eax] lea ecx,[ebp-1Ch] push eax call SUB_L004940A0 test eax,eax jnz L00466A7A mov ecx,[esi+0Ch] add esi,0000000Ch inc edi mov eax,esi test ecx,ecx jnz L00466990 L004669B0: push 00000024h lea ecx,[ebp-1Ch] call SUB_L004943F0 test eax,eax jz L00466A58 mov eax,[L004CCB40] xor edi,edi test eax,eax jz L00466A58 mov eax,L004CCB40 mov esi,eax L004669D8: mov eax,[eax] lea ecx,[ebp-1Ch] push eax call SUB_L004940A0 test eax,eax jnz L004669F6 mov ecx,[esi+0Ch] add esi,0000000Ch inc edi mov eax,esi test ecx,ecx jnz L004669D8 jmp L00466A58 L004669F6: lea eax,[edi+edi*2] shl eax,02h mov cl,[eax+L004CCB48] test cl,cl jz L00466A2E mov bl,[eax+L004CCB49] lea ecx,[ebp-1Ch] mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00493CF0 mov al,bl mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00466A2E: mov ecx,[eax+L004CCB44] mov dword ptr [ebp-04h],FFFFFFFFh mov bl,[ecx] lea ecx,[ebp-1Ch] call SUB_L00493CF0 mov al,bl mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00466A58: lea ecx,[ebp-1Ch] mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00493CF0 xor al,al mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00466A7A: lea ecx,[edi+edi*2] mov dword ptr [ebp-04h],FFFFFFFFh mov edx,[L004CC9C4+ecx*4] lea ecx,[ebp-1Ch] mov bl,[edx] call SUB_L00493CF0 mov ecx,[ebp-0Ch] mov al,bl pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L00466AB0: push ebp mov ebp,esp push FFFFFFFFh push L004B4408 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000010h push ebx push esi push edi push ecx lea ecx,[ebp-1Ch] call SUB_L00493D10 mov eax,[L004CC9C0] xor edi,edi test eax,eax mov dword ptr [ebp-04h],00000000h jz L00466B10 mov eax,L004CC9C0 mov esi,eax L00466AF0: mov eax,[eax] lea ecx,[ebp-1Ch] push eax call SUB_L004940A0 test eax,eax jnz L00466B9C mov ecx,[esi+0Ch] add esi,0000000Ch inc edi mov eax,esi test ecx,ecx jnz L00466AF0 L00466B10: push 00000024h lea ecx,[ebp-1Ch] call SUB_L004943F0 test eax,eax jz L00466B7A mov eax,[L004CCB40] xor edi,edi test eax,eax jz L00466B7A mov eax,L004CCB40 mov esi,eax L00466B30: mov edx,[eax] lea ecx,[ebp-1Ch] push edx call SUB_L004940A0 test eax,eax jnz L00466B4E mov ecx,[esi+0Ch] add esi,0000000Ch inc edi mov eax,esi test ecx,ecx jnz L00466B30 jmp L00466B7A L00466B4E: lea eax,[edi+edi*2] lea ecx,[ebp-1Ch] mov dword ptr [ebp-04h],FFFFFFFFh mov bl,[L004CCB4A+eax*4] call SUB_L00493CF0 mov al,bl mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00466B7A: lea ecx,[ebp-1Ch] mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00493CF0 xor al,al mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00466B9C: lea ecx,[edi+edi*2] mov dword ptr [ebp-04h],FFFFFFFFh mov bl,[L004CC9C8+ecx*4] lea ecx,[ebp-1Ch] call SUB_L00493CF0 mov ecx,[ebp-0Ch] mov al,bl pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L00466BD0: push ebp mov ebp,esp push FFFFFFFFh push L004B4428 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000014h push ebx push esi push edi mov bl,dl push ecx lea ecx,[ebp-20h] mov [ebp-10h],bl call SUB_L00493D10 xor edi,edi push SSZ004C60E8_FullScreen lea ecx,[ebp-20h] mov [ebp-04h],edi call SUB_L004940A0 test eax,eax jz L00466C25 mov ecx,[ebp-10h] and ecx,000000FFh call SUB_L0048B8C0 jmp L00466CB4 L00466C25: push SSZ004C5B6C_PopupHelpEnabled lea ecx,[ebp-20h] call SUB_L004940A0 test eax,eax jz L00466C42 test bl,bl setnz al mov [L004C7224],al jmp L00466CB4 L00466C42: push SSZ004C5B20_PopupHelpSticky lea ecx,[ebp-20h] call SUB_L004940A0 test eax,eax jz L00466C5B mov [L00549070],bl jmp L00466CB4 L00466C5B: push SSZ004C5B0C_PopupHelpPersistant lea ecx,[ebp-20h] call SUB_L004940A0 test eax,eax jz L00466C74 mov [L004C7234],bl jmp L00466CB4 L00466C74: push SSZ004C617C_Sound lea ecx,[ebp-20h] call SUB_L004940A0 test eax,eax jz L00466C95 mov ecx,[ebp-10h] push ecx mov ecx,L006AAA10 call SUB_L00496B40 jmp L00466CB4 L00466C95: push SSZ004C6168_Music lea ecx,[ebp-20h] call SUB_L004940A0 test eax,eax jz L00466CB4 mov edx,[ebp-10h] mov ecx,L006BD8E8 push edx call SUB_L004964D0 L00466CB4: cmp [L004CC9C0],edi jz L00466CE3 mov eax,L004CC9C0 mov esi,eax L00466CC3: mov eax,[eax] lea ecx,[ebp-20h] push eax call SUB_L004940A0 test eax,eax jnz L00466D7B mov ecx,[esi+0Ch] add esi,0000000Ch inc edi mov eax,esi test ecx,ecx jnz L00466CC3 L00466CE3: push 00000024h lea ecx,[ebp-20h] call SUB_L004943F0 test eax,eax jz L00466D5B mov eax,[L004CCB40] xor edi,edi test eax,eax jz L00466D5B mov eax,L004CCB40 mov esi,eax L00466D03: mov eax,[eax] lea ecx,[ebp-20h] push eax call SUB_L004940A0 test eax,eax jnz L00466D21 mov ecx,[esi+0Ch] add esi,0000000Ch inc edi mov eax,esi test ecx,ecx jnz L00466D03 jmp L00466D5B L00466D21: lea eax,[edi+edi*2] mov dl,01h shl eax,02h mov cl,[eax+L004CCB48] test cl,cl jz L00466D3F cmp [eax+L004CCB49],bl jnz L00466D49 test cl,cl jnz L00466D4F L00466D3F: mov ecx,[eax+L004CCB44] cmp [ecx],bl jz L00466D4F L00466D49: mov [L0073EBF4],dl L00466D4F: mov [eax+L004CCB48],dl mov [eax+L004CCB49],bl L00466D5B: lea ecx,[ebp-20h] mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00493CF0 mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00466D7B: lea ecx,[edi+edi*2] mov edx,[L004CC9C4+ecx*4] mov [edx],bl jmp L00466D5B Align 8 SUB_L00466D90: push ebp mov ebp,esp push FFFFFFFFh push L004B4448 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000010h push esi push ecx lea ecx,[ebp-1Ch] call SUB_L00493D10 mov eax,[L004CCBB0] mov dword ptr [ebp-04h],00000000h test eax,eax jz L00466DE7 mov eax,L004CCBB0 mov esi,eax L00466DCC: mov eax,[eax] lea ecx,[ebp-1Ch] push eax call SUB_L004940A0 test eax,eax jnz L00466E29 mov ecx,[esi+10h] add esi,00000010h test ecx,ecx mov eax,esi jnz L00466DCC L00466DE7: push SSZ004CD2A0__SpeechHue lea ecx,[ebp-1Ch] call SUB_L004940A0 test eax,eax jnz L00466E29 push SSZ004CD294__EmoteHue lea ecx,[ebp-1Ch] call SUB_L004940A0 test eax,eax jnz L00466E29 lea ecx,[ebp-1Ch] mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00493CF0 xor al,al mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00466E29: lea ecx,[ebp-1Ch] mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00493CF0 mov ecx,[ebp-0Ch] mov al,01h mov fs:[00000000h],ecx pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 SUB_L00466E50: push ebp mov ebp,esp push FFFFFFFFh push L004B4468 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000010h push esi push edi push ecx lea ecx,[ebp-1Ch] call SUB_L00493D10 mov eax,[L004CCBB0] xor edi,edi test eax,eax mov dword ptr [ebp-04h],00000000h jz L00466EAF mov eax,L004CCBB0 mov esi,eax L00466E8F: mov eax,[eax] lea ecx,[ebp-1Ch] push eax call SUB_L004940A0 test eax,eax jnz L00466F27 mov ecx,[esi+10h] add esi,00000010h inc edi mov eax,esi test ecx,ecx jnz L00466E8F L00466EAF: push SSZ004CD2A0__SpeechHue lea ecx,[ebp-1Ch] call SUB_L004940A0 test eax,eax jz L00466EC8 mov esi,[L006BB5B4] jmp L00466EDF L00466EC8: push SSZ004CD294__EmoteHue lea ecx,[ebp-1Ch] call SUB_L004940A0 test eax,eax jz L00466F06 mov esi,[L006BB5B8] L00466EDF: lea ecx,[ebp-1Ch] and esi,0000FFFFh mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00493CF0 mov eax,esi mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00466F06: lea ecx,[ebp-1Ch] mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00493CF0 xor eax,eax mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00466F27: shl edi,04h mov dword ptr [ebp-04h],FFFFFFFFh mov ecx,[edi+L004CCBB4] mov esi,[ecx] lea ecx,[ebp-1Ch] call SUB_L00493CF0 mov ecx,[ebp-0Ch] mov eax,esi pop edi mov fs:[00000000h],ecx pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L00466F60: push ebp mov ebp,esp push FFFFFFFFh push L004B4488 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000010h push esi push edi push ecx lea ecx,[ebp-1Ch] call SUB_L00493D10 mov eax,[L004CCBB0] xor edi,edi test eax,eax mov dword ptr [ebp-04h],00000000h jz L00466FBB mov eax,L004CCBB0 mov esi,eax L00466F9F: mov eax,[eax] lea ecx,[ebp-1Ch] push eax call SUB_L004940A0 test eax,eax jnz L0046702C mov ecx,[esi+10h] add esi,00000010h inc edi mov eax,esi test ecx,ecx jnz L00466F9F L00466FBB: push SSZ004CD2A0__SpeechHue lea ecx,[ebp-1Ch] call SUB_L004940A0 test eax,eax jnz L00466FFE push SSZ004CD294__EmoteHue lea ecx,[ebp-1Ch] call SUB_L004940A0 test eax,eax jnz L00466FFE lea ecx,[ebp-1Ch] mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00493CF0 xor eax,eax mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00466FFE: mov ecx,000003E8h call SUB_L00455460 mov esi,eax lea ecx,[ebp-1Ch] inc esi mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00493CF0 mov eax,esi mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L0046702C: shl edi,04h lea ecx,[ebp-1Ch] mov dword ptr [ebp-04h],FFFFFFFFh mov edi,[edi+L004CCBB8] call SUB_L00493CF0 mov ecx,[ebp-0Ch] mov eax,edi pop edi mov fs:[00000000h],ecx pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L00467060: push ebp mov ebp,esp push FFFFFFFFh push L004B44A8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000010h push ebx push esi push edi push ecx mov ebx,edx lea ecx,[ebp-1Ch] call SUB_L00493D10 xor edi,edi push SSZ004C5B44_PopupHelpTextColor lea ecx,[ebp-1Ch] mov [ebp-04h],edi call SUB_L004940A0 test eax,eax jz L004670A5 mov [L004C722C],ebx L004670A5: cmp [L004CCBB0],edi jz L004670D0 mov eax,L004CCBB0 mov esi,eax L004670B4: mov eax,[eax] lea ecx,[ebp-1Ch] push eax call SUB_L004940A0 test eax,eax jnz L0046713B mov ecx,[esi+10h] add esi,00000010h inc edi mov eax,esi test ecx,ecx jnz L004670B4 L004670D0: push SSZ004CD2A0__SpeechHue lea ecx,[ebp-1Ch] call SUB_L004940A0 test eax,eax jz L004670F6 mov edx,[L006BD428] mov [L006BB5B4],bx mov [L006BB5BC+edx*2],bx L004670F6: push SSZ004CD294__EmoteHue lea ecx,[ebp-1Ch] call SUB_L004940A0 test eax,eax jz L0046711B mov eax,[L006BD428] mov [L006BB5B8],bx mov [L006BB5C6+eax*2],bx L0046711B: lea ecx,[ebp-1Ch] mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00493CF0 mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L0046713B: shl edi,04h mov ecx,[edi+L004CCBB4] mov [ecx],ebx jmp L0046711B Align 16 SUB_L00467150: push ebp mov ebp,esp push FFFFFFFFh push L004B44C8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000010h push esi push edi push ecx lea ecx,[ebp-1Ch] call SUB_L00493D10 mov eax,[L004CCD90] xor edi,edi test eax,eax mov dword ptr [ebp-04h],00000000h jz L004671AB mov eax,L004CCD90 mov esi,eax L0046718F: mov eax,[eax] lea ecx,[ebp-1Ch] push eax call SUB_L004940A0 test eax,eax jnz L004671CC mov ecx,[esi+0Ch] add esi,0000000Ch inc edi mov eax,esi test ecx,ecx jnz L0046718F L004671AB: lea ecx,[ebp-1Ch] mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00493CF0 xor eax,eax mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L004671CC: lea ecx,[edi+edi*2] mov dword ptr [ebp-04h],FFFFFFFFh mov edx,[L004CCD94+ecx*4] lea ecx,[ebp-1Ch] mov esi,[edx] call SUB_L00493CF0 mov ecx,[ebp-0Ch] mov eax,esi pop edi mov fs:[00000000h],ecx pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 SUB_L00467200: push ebp mov ebp,esp push FFFFFFFFh push L004B44E8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000010h push esi push edi push ecx lea ecx,[ebp-1Ch] call SUB_L00493D10 mov eax,[L004CCD90] xor edi,edi test eax,eax mov dword ptr [ebp-04h],00000000h jz L0046725B mov eax,L004CCD90 mov esi,eax L0046723F: mov eax,[eax] lea ecx,[ebp-1Ch] push eax call SUB_L004940A0 test eax,eax jnz L0046727C mov ecx,[esi+0Ch] add esi,0000000Ch inc edi mov eax,esi test ecx,ecx jnz L0046723F L0046725B: lea ecx,[ebp-1Ch] mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00493CF0 xor eax,eax mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L0046727C: lea ecx,[edi+edi*2] mov dword ptr [ebp-04h],FFFFFFFFh mov esi,[L004CCD98+ecx*4] lea ecx,[ebp-1Ch] call SUB_L00493CF0 mov ecx,[ebp-0Ch] mov eax,esi pop edi mov fs:[00000000h],ecx pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L004672B0: push ebp mov ebp,esp push FFFFFFFFh push L004B4508 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000010h push ebx push esi push edi push ecx mov ebx,edx lea ecx,[ebp-1Ch] call SUB_L00493D10 xor edi,edi push SSZ004C5F50_CircleTransRadius lea ecx,[ebp-1Ch] mov [ebp-04h],edi call SUB_L004940A0 test eax,eax jz L004672FC push ebx mov ecx,L004D7EA0 call SUB_L00427460 jmp L0046734F L004672FC: push SSZ004C5B58_PopupHelpPreDelay lea ecx,[ebp-1Ch] call SUB_L004940A0 test eax,eax jz L00467315 mov [L004C7228],ebx jmp L0046734F L00467315: push SSZ004C6170_SoundVol lea ecx,[ebp-1Ch] call SUB_L004940A0 test eax,eax jz L00467333 push ebx mov ecx,L006AAA10 call SUB_L00496AA0 jmp L0046734F L00467333: push SSZ004C615C_MusicVol lea ecx,[ebp-1Ch] call SUB_L004940A0 test eax,eax jz L0046734F push ebx mov ecx,L006BD8E8 call SUB_L00496470 L0046734F: cmp [L004CCD90],edi jz L00467388 mov eax,L004CCD90 mov esi,eax L0046735E: mov eax,[eax] lea ecx,[ebp-1Ch] push eax call SUB_L004940A0 test eax,eax jnz L0046737C mov ecx,[esi+0Ch] add esi,0000000Ch inc edi mov eax,esi test ecx,ecx jnz L0046735E jmp L00467388 L0046737C: lea ecx,[edi+edi*2] mov edx,[L004CCD94+ecx*4] mov [edx],ebx L00467388: lea ecx,[ebp-1Ch] mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00493CF0 mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L004673B0: push ebp mov ebp,esp push FFFFFFFFh push L004B4528 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000010h push esi push edi push ecx lea ecx,[ebp-1Ch] call SUB_L00493D10 mov eax,[L004CCE00] xor edi,edi test eax,eax mov dword ptr [ebp-04h],00000000h jz L0046740B mov eax,L004CCE00 mov esi,eax L004673EF: mov eax,[eax] lea ecx,[ebp-1Ch] push eax call SUB_L004940A0 test eax,eax jnz L0046742C mov ecx,[esi+0Ch] add esi,0000000Ch inc edi mov eax,esi test ecx,ecx jnz L004673EF L0046740B: lea ecx,[ebp-1Ch] mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00493CF0 xor eax,eax mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L0046742C: lea ecx,[edi+edi*2] mov dword ptr [ebp-04h],FFFFFFFFh mov edx,[L004CCE04+ecx*4] lea ecx,[ebp-1Ch] mov esi,[edx] call SUB_L00493CF0 mov ecx,[ebp-0Ch] mov eax,esi pop edi mov fs:[00000000h],ecx pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 SUB_L00467460: push ebp mov ebp,esp push FFFFFFFFh push L004B4548 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000010h push esi push edi push ecx lea ecx,[ebp-1Ch] call SUB_L00493D10 mov eax,[L004CCE00] xor edi,edi test eax,eax mov dword ptr [ebp-04h],00000000h jz L004674BB mov eax,L004CCE00 mov esi,eax L0046749F: mov eax,[eax] lea ecx,[ebp-1Ch] push eax call SUB_L004940A0 test eax,eax jnz L004674DC mov ecx,[esi+0Ch] add esi,0000000Ch inc edi mov eax,esi test ecx,ecx jnz L0046749F L004674BB: lea ecx,[ebp-1Ch] mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00493CF0 xor eax,eax mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L004674DC: lea ecx,[edi+edi*2] mov dword ptr [ebp-04h],FFFFFFFFh mov esi,[L004CCE08+ecx*4] lea ecx,[ebp-1Ch] call SUB_L00493CF0 mov ecx,[ebp-0Ch] mov eax,esi pop edi mov fs:[00000000h],ecx pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L00467510: push ebp mov ebp,esp push FFFFFFFFh push L004B4568 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000010h push ebx push esi push edi push ecx mov ebx,edx lea ecx,[ebp-1Ch] call SUB_L00493D10 xor edi,edi push SSZ004C5B30_PopupHelpTextFont lea ecx,[ebp-1Ch] mov [ebp-04h],edi call SUB_L004940A0 test eax,eax jz L00467555 mov [L004C7230],ebx L00467555: push SSZ004C5B94_ToolTipFont lea ecx,[ebp-1Ch] call SUB_L004940A0 test eax,eax jz L0046756C mov [L004D04A8],ebx L0046756C: cmp [L004CCE00],edi jz L004675A5 mov eax,L004CCE00 mov esi,eax L0046757B: mov eax,[eax] lea ecx,[ebp-1Ch] push eax call SUB_L004940A0 test eax,eax jnz L00467599 mov ecx,[esi+0Ch] add esi,0000000Ch inc edi mov eax,esi test ecx,ecx jnz L0046757B jmp L004675A5 L00467599: lea ecx,[edi+edi*2] mov edx,[L004CCE04+ecx*4] mov [edx],ebx L004675A5: lea ecx,[ebp-1Ch] mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00493CF0 mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L004675D0: push ebp mov ebp,esp push FFFFFFFFh push L004B4588 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000010h push esi push edi push ecx lea ecx,[ebp-1Ch] call SUB_L00493D10 mov eax,[L004CCE50] xor edi,edi test eax,eax mov dword ptr [ebp-04h],00000000h jz L0046762B mov eax,L004CCE50 mov esi,eax L0046760F: mov eax,[eax] lea ecx,[ebp-1Ch] push eax call SUB_L004940A0 test eax,eax jnz L0046764F mov ecx,[esi+0Ch] add esi,0000000Ch inc edi mov eax,esi test ecx,ecx jnz L0046760F L0046762B: lea ecx,[ebp-1Ch] mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00493CF0 mov eax,L004D77C0 mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L0046764F: lea ecx,[edi+edi*2] mov dword ptr [ebp-04h],FFFFFFFFh mov edx,[L004CCE54+ecx*4] lea ecx,[ebp-1Ch] mov esi,[edx] call SUB_L00493CF0 mov ecx,[ebp-0Ch] mov eax,esi pop edi mov fs:[00000000h],ecx pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 SUB_L00467680: push ebp mov ebp,esp push FFFFFFFFh push L004B45A8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000010h push esi push edi push ecx lea ecx,[ebp-1Ch] call SUB_L00493D10 mov eax,[L004CCE50] xor edi,edi test eax,eax mov dword ptr [ebp-04h],00000000h jz L004676DB mov eax,L004CCE50 mov esi,eax L004676BF: mov eax,[eax] lea ecx,[ebp-1Ch] push eax call SUB_L004940A0 test eax,eax jnz L004676FF mov ecx,[esi+0Ch] add esi,0000000Ch inc edi mov eax,esi test ecx,ecx jnz L004676BF L004676DB: lea ecx,[ebp-1Ch] mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00493CF0 mov eax,L004D77C0 mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L004676FF: lea ecx,[edi+edi*2] mov dword ptr [ebp-04h],FFFFFFFFh mov esi,[L004CCE58+ecx*4] lea ecx,[ebp-1Ch] call SUB_L00493CF0 mov ecx,[ebp-0Ch] mov eax,esi pop edi mov fs:[00000000h],ecx pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 SUB_L00467730: push ebp mov ebp,esp push FFFFFFFFh push L004B45C8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000114h push ebx push esi push edi push ecx mov ebx,edx lea ecx,[ebp-20h] call SUB_L00493D10 xor edi,edi push SSZ004C60D8_FullScreenRes lea ecx,[ebp-20h] mov [ebp-04h],edi mov byte ptr [ebp-0Dh],00h call SUB_L004940A0 test eax,eax jz L004677D4 mov edx,ebx lea ecx,[ebp-00000120h] call SUB_L00491DA0 cmp [L004CCE50],edi jz L004677D4 mov eax,L004CCE50 mov esi,eax L00467792: mov eax,[eax] lea ecx,[ebp-20h] push eax call SUB_L004940A0 test eax,eax jnz L004677B0 mov ecx,[esi+0Ch] add esi,0000000Ch inc edi mov eax,esi test ecx,ecx jnz L00467792 jmp L004677D4 L004677B0: lea edx,[edi+edi*2] lea ecx,[ebp-00000120h] push ecx mov eax,[L004CCE54+edx*4] mov ecx,[eax] push ecx call SUB_L0049B300 add esp,00000008h test eax,eax jz L004677D4 mov byte ptr [ebp-0Dh],01h L004677D4: mov eax,[L004CCE50] xor edi,edi test eax,eax jz L00467817 mov eax,L004CCE50 mov esi,eax L004677E6: mov edx,[eax] lea ecx,[ebp-20h] push edx call SUB_L004940A0 test eax,eax jnz L00467804 mov ecx,[esi+0Ch] add esi,0000000Ch inc edi mov eax,esi test ecx,ecx jnz L004677E6 jmp L00467817 L00467804: lea eax,[edi+edi*2] mov edx,ebx mov ecx,[L004CCE54+eax*4] mov ecx,[ecx] call SUB_L00491DA0 L00467817: mov al,[ebp-0Dh] test al,al jz L00467838 mov eax,[L00669574] test eax,eax jz L00467838 xor ecx,ecx call SUB_L0048B8C0 mov ecx,00000001h call SUB_L0048B8C0 L00467838: lea ecx,[ebp-20h] mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00493CF0 mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L00467860: push ebp mov ebp,esp push FFFFFFFFh push L004B4620 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000174h push ebx push esi push edi xor edi,edi xor ebx,ebx mov ecx,L006BB1C8 mov [ebp-18h],edi mov [ebp-10h],ebx mov [ebp-1Ch],edi call SUB_L004571F0 mov ecx,L006BB1C8 push L004C40E0 push SSZ004C61D8_uo_cfg call SUB_L00455E10 push eax call SUB_L0049A7F0 add esp,00000008h cmp eax,edi mov [ebp-14h],eax jz L00467C36 test byte ptr [eax+0Ch],10h jnz L00467C2D mov [ebp-10h],edi L004678CD: mov ecx,eax call SUB_L00454B10 mov [ebp-20h],eax mov esi,SSZ004CD300________________________________ L004678DC: mov dl,[eax] mov cl,dl cmp dl,[esi] jnz L00467900 test cl,cl jz L004678FC mov dl,[eax+01h] mov cl,dl cmp dl,[esi+01h] jnz L00467900 add eax,00000002h add esi,00000002h test cl,cl jnz L004678DC L004678FC: xor eax,eax jmp L00467905 L00467900: sbb eax,eax sbb eax,FFFFFFFFh L00467905: test eax,eax jnz L00467910 mov al,01h jmp L00467B73 L00467910: mov edi,[ebp-20h] or ecx,FFFFFFFFh xor eax,eax lea edx,[ebp-00000180h] repne scasb not ecx sub edi,ecx push L004C61BC mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb lea ecx,[ebp-00000180h] push ecx call SUB_L0049B3D0 add esp,00000008h test eax,eax jz L00467B71 push eax lea ecx,[ebp-60h] call SUB_L00493DA0 lea ecx,[ebp-60h] mov dword ptr [ebp-04h],00000000h call SUB_L00493EC0 mov edi,eax mov ecx,edi call SUB_L00466880 test al,al jnz L00467B5E push edi lea ecx,[ebp-50h] call SUB_L00493D10 mov eax,[L004CCBB0] mov byte ptr [ebp-04h],01h test eax,eax jz L004679B3 mov eax,L004CCBB0 mov esi,eax L00467998: mov edx,[eax] lea ecx,[ebp-50h] push edx call SUB_L004940A0 test eax,eax jnz L004679E4 mov ecx,[esi+10h] add esi,00000010h test ecx,ecx mov eax,esi jnz L00467998 L004679B3: push SSZ004CD2A0__SpeechHue lea ecx,[ebp-50h] call SUB_L004940A0 test eax,eax jnz L004679E4 push SSZ004CD294__EmoteHue lea ecx,[ebp-50h] call SUB_L004940A0 test eax,eax jnz L004679E4 lea ecx,[ebp-50h] mov [ebp-04h],al call SUB_L00493CF0 xor al,al jmp L004679F2 L004679E4: lea ecx,[ebp-50h] mov byte ptr [ebp-04h],00h call SUB_L00493CF0 mov al,01h L004679F2: test al,al jnz L00467B5E push edi lea ecx,[ebp-70h] call SUB_L00493D10 mov eax,[L004CCD90] mov byte ptr [ebp-04h],02h test eax,eax jz L00467A36 mov eax,L004CCD90 mov esi,eax L00467A17: mov eax,[eax] lea ecx,[ebp-70h] push eax call SUB_L004940A0 test eax,eax jnz L00467F5E mov ecx,[esi+0Ch] add esi,0000000Ch test ecx,ecx mov eax,esi jnz L00467A17 L00467A36: lea ecx,[ebp-70h] mov byte ptr [ebp-04h],00h call SUB_L00493CF0 xor al,al L00467A44: test al,al jnz L00467B5E push edi lea ecx,[ebp-80h] call SUB_L00493D10 mov eax,[L004CCE00] mov byte ptr [ebp-04h],03h test eax,eax jz L00467A96 mov eax,L004CCE00 mov esi,eax L00467A69: mov ecx,[eax] push ecx lea ecx,[ebp-80h] call SUB_L004940A0 test eax,eax jnz L00467A86 mov ecx,[esi+0Ch] add esi,0000000Ch test ecx,ecx mov eax,esi jnz L00467A69 jmp L00467A96 L00467A86: lea ecx,[ebp-80h] mov byte ptr [ebp-04h],00h call SUB_L00493CF0 mov al,01h jmp L00467AA4 L00467A96: lea ecx,[ebp-80h] mov byte ptr [ebp-04h],00h call SUB_L00493CF0 xor al,al L00467AA4: test al,al jnz L00467B5E push edi lea ecx,[ebp-40h] call SUB_L00493D10 mov eax,[L004CCE50] mov byte ptr [ebp-04h],04h test eax,eax jz L00467AF6 mov eax,L004CCE50 mov esi,eax L00467AC9: mov edx,[eax] lea ecx,[ebp-40h] push edx call SUB_L004940A0 test eax,eax jnz L00467AE6 mov ecx,[esi+0Ch] add esi,0000000Ch test ecx,ecx mov eax,esi jnz L00467AC9 jmp L00467AF6 L00467AE6: lea ecx,[ebp-40h] mov byte ptr [ebp-04h],00h call SUB_L00493CF0 mov al,01h jmp L00467B04 L00467AF6: lea ecx,[ebp-40h] mov byte ptr [ebp-04h],00h call SUB_L00493CF0 xor al,al L00467B04: test al,al jnz L00467B5E push L004CD2FC lea ecx,[ebp-30h] call SUB_L00493DA0 lea eax,[ebp-30h] lea ecx,[ebp-60h] push eax mov byte ptr [ebp-04h],05h call SUB_L00493FD0 lea ecx,[ebp-30h] mov byte ptr [ebp-04h],00h call SUB_L00493CF0 lea ecx,[ebp-60h] call SUB_L00493EC0 mov ecx,eax call SUB_L00466880 test al,al mov dword ptr [ebp-04h],FFFFFFFFh lea ecx,[ebp-60h] jz L00467B57 call SUB_L00493CF0 mov al,01h jmp L00467B73 L00467B57: call SUB_L00493CF0 jmp L00467B71 L00467B5E: lea ecx,[ebp-60h] mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00493CF0 mov al,01h jmp L00467B73 L00467B71: xor al,al L00467B73: test al,al jnz L00467C1B mov eax,[ebp-1Ch] cmp ebx,eax jnz L00467BD2 test eax,eax jz L00467B8A add eax,eax jmp L00467B8F L00467B8A: mov eax,00000008h L00467B8F: lea ecx,[00000000h+eax*4] mov [ebp-1Ch],eax push ecx call SUB_L0049A820 mov esi,eax mov eax,[ebp-10h] add esp,00000004h test eax,eax jle L00467BBF mov ecx,[ebp-18h] mov eax,esi sub ecx,esi mov edx,ebx L00467BB4: mov edi,[ecx+eax] mov [eax],edi add eax,00000004h dec edx jnz L00467BB4 L00467BBF: mov eax,[ebp-18h] test eax,eax jz L00467BCF push eax call SUB_L0049A810 add esp,00000004h L00467BCF: mov [ebp-18h],esi L00467BD2: mov esi,[ebp-20h] or ecx,FFFFFFFFh mov edi,esi xor eax,eax repne scasb not ecx push ecx call SUB_L0049A820 mov edx,eax mov edi,esi or ecx,FFFFFFFFh xor eax,eax add esp,00000004h repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax mov eax,[ebp-10h] and ecx,00000003h inc ebx rep movsb mov ecx,[ebp-18h] add eax,00000004h mov [ebp-10h],eax mov [ecx+eax-04h],edx L00467C1B: mov eax,[ebp-14h] test byte ptr [eax+0Ch],10h jz L004678CD mov [ebp-10h],ebx xor edi,edi L00467C2D: push eax call SUB_L0049A580 add esp,00000004h L00467C36: cmp ebx,edi jle L00467C5F mov edx,[ebp-18h] lea esi,[edx+ebx*4] L00467C40: mov eax,[esi-04h] cmp byte ptr [eax],00h jnz L00467C5C mov ecx,[esi-04h] sub esi,00000004h push ecx dec ebx call SUB_L0049A810 add esp,00000004h cmp ebx,edi jg L00467C40 L00467C5C: mov [ebp-10h],ebx L00467C5F: push L004C61C8 push SSZ004C61D8_uo_cfg mov ecx,L006BB1C8 call SUB_L00455E10 push eax call SUB_L0049A7F0 mov ebx,eax add esp,00000008h test ebx,ebx mov [ebp-14h],ebx jz L00467F4D mov eax,[ebp-10h] test eax,eax jle L00467CB1 mov esi,[ebp-18h] mov edi,eax L00467C95: mov edx,[esi] push L004BB678 push edx push SSZ004CD2F4__s_s push ebx call SUB_L0049B790 add esp,00000010h add esi,00000004h dec edi jnz L00467C95 L00467CB1: push L004BB678 push SSZ004CD2D0_________________________________ push ebx call SUB_L0049B790 mov eax,[L004CC9C0] add esp,0000000Ch test eax,eax jz L00467D17 mov esi,L004CC9C4 L00467CD2: mov al,[esi+05h] test al,al jnz L00467CE4 mov eax,[esi] mov cl,[eax] mov al,[esi+04h] cmp cl,al jz L00467D0D L00467CE4: mov edx,[esi] cmp byte ptr [edx],00h mov eax,L004C4740 jnz L00467CF5 mov eax,L004C473C L00467CF5: push L004BB678 push eax mov eax,[esi-04h] push eax push SSZ004CD2C8__s__s_s push ebx call SUB_L0049B790 add esp,00000014h L00467D0D: mov eax,[esi+08h] add esi,0000000Ch test eax,eax jnz L00467CD2 L00467D17: mov eax,[L004CCB40] test eax,eax jz L00467DC1 mov eax,L004CCB40 mov ebx,00000006h mov esi,eax L00467D30: mov ecx,[eax] push ecx lea ecx,[ebp-40h] call SUB_L00493DA0 push L004CD2FC lea ecx,[ebp-30h] mov [ebp-04h],ebx call SUB_L00493DA0 lea edx,[ebp-30h] lea ecx,[ebp-40h] push edx mov byte ptr [ebp-04h],07h call SUB_L00493FD0 lea ecx,[ebp-30h] mov [ebp-04h],bl call SUB_L00493CF0 lea ecx,[ebp-40h] call SUB_L00493EC0 mov ecx,eax call SUB_L00466950 cmp al,[esi+0Ah] jz L00467DA2 test al,al mov eax,L004C4740 jnz L00467D88 mov eax,L004C473C L00467D88: mov ecx,[ebp-14h] push L004BB678 push eax mov eax,[esi] push eax push SSZ004CD2C8__s__s_s push ecx call SUB_L0049B790 add esp,00000014h L00467DA2: lea ecx,[ebp-40h] mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00493CF0 mov ecx,[esi+0Ch] add esi,0000000Ch test ecx,ecx mov eax,esi jnz L00467D30 L00467DC1: mov eax,[L004CCBB0] test eax,eax jz L00467E5D mov ebx,[ebp-14h] mov esi,L004CCBB4 L00467DD6: mov eax,[esi] mov ecx,[esi+04h] mov edx,[eax] cmp edx,ecx jz L00467E4D mov cl,[esi+08h] mov eax,edx test cl,cl jz L00467DFE push eax lea ecx,[ebp-30h] push L004CD2C4 push ecx call SUB_L0049AC80 add esp,0000000Ch jmp L00467E32 L00467DFE: mov ecx,eax mov edx,eax sar ecx,0Ah sar edx,05h and eax,0000001Fh and ecx,0000001Fh and edx,0000001Fh shl eax,03h push eax lea eax,[00000000h+ecx*8] shl edx,03h push edx push eax lea ecx,[ebp-30h] push SSZ004CD2B4___02x_02x_02x push ecx call SUB_L0049AC80 add esp,00000014h L00467E32: mov eax,[esi-04h] lea edx,[ebp-30h] push L004BB678 push edx push eax push SSZ004CD2C8__s__s_s push ebx call SUB_L0049B790 add esp,00000014h L00467E4D: mov eax,[esi+0Ch] add esi,00000010h test eax,eax jnz L00467DD6 jmp L00467E60 L00467E5D: mov ebx,[ebp-14h] L00467E60: mov eax,[L004CCD90] test eax,eax jz L00467E9B mov esi,L004CCD94 L00467E6E: mov ecx,[esi] mov eax,[ecx] mov ecx,[esi+04h] cmp eax,ecx jz L00467E91 mov edx,[esi-04h] push L004BB678 push eax push edx push SSZ004CD2AC__s__d_s push ebx call SUB_L0049B790 add esp,00000014h L00467E91: mov eax,[esi+08h] add esi,0000000Ch test eax,eax jnz L00467E6E L00467E9B: mov eax,[L004CCE00] test eax,eax jz L00467ED6 mov esi,L004CCE04 L00467EA9: mov eax,[esi] mov ecx,[esi+04h] mov eax,[eax] cmp eax,ecx jz L00467ECC mov ecx,[esi-04h] push L004BB678 push eax push ecx push SSZ004CD2AC__s__d_s push ebx call SUB_L0049B790 add esp,00000014h L00467ECC: mov eax,[esi+08h] add esi,0000000Ch test eax,eax jnz L00467EA9 L00467ED6: mov eax,[L004CCE50] test eax,eax jz L00467F44 mov edi,L004CCE54 L00467EE4: mov edx,[edi] mov esi,[edi+04h] mov edx,[edx] mov eax,edx L00467EED: mov bl,[eax] mov cl,bl cmp bl,[esi] jnz L00467F11 test cl,cl jz L00467F0D mov bl,[eax+01h] mov cl,bl cmp bl,[esi+01h] jnz L00467F11 add eax,00000002h add esi,00000002h test cl,cl jnz L00467EED L00467F0D: xor eax,eax jmp L00467F16 L00467F11: sbb eax,eax sbb eax,FFFFFFFFh L00467F16: test eax,eax jz L00467F37 mov eax,[edi-04h] mov ebx,[ebp-14h] push L004BB678 push edx push eax push SSZ004CD2C8__s__s_s push ebx call SUB_L0049B790 add esp,00000014h jmp L00467F3A L00467F37: mov ebx,[ebp-14h] L00467F3A: mov eax,[edi+08h] add edi,0000000Ch test eax,eax jnz L00467EE4 L00467F44: push ebx call SUB_L0049A580 add esp,00000004h L00467F4D: mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00467F5E: lea ecx,[ebp-70h] mov byte ptr [ebp-04h],00h call SUB_L00493CF0 mov al,01h jmp L00467A44 Align 16 SUB_L00467F80: push ebp mov ebp,esp push FFFFFFFFh push L004B4659 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000008h push ebx push esi mov esi,ecx push edi mov [ebp-10h],esi call SUB_L00441CB0 xor ebx,ebx mov eax,00000001h push SSZ004CD334_OptScrollBar_framedata push 00000008h mov ecx,L00669C8C mov [ebp-04h],ebx mov dword ptr [esi],L004BB680 mov [esi+4Ch],ebx mov [esi+48h],ebx mov [esi+44h],ebx mov [esi+40h],ebx mov [esi+3Ch],ebx mov [esi+2Ch],ebx mov [esi+30h],ebx mov [esi+10h],ebx mov [esi+14h],eax mov [esi+20h],eax mov [esi+18h],eax mov [esi+1Ch],eax call SUB_L0044FBD0 mov ecx,[esi+14h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+38h],edi push SSZ004CD320_OptScrollBar_frame0 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+1Ch] imul eax,[esi+20h] lea ecx,[eax+eax+04h] push ecx mov ecx,L00669C8C call SUB_L0044FBD0 mov edx,[esi+38h] push 000000CCh mov [edx+04h],eax mov ecx,[esi+1Ch] imul ecx,[esi+20h] mov edx,[esi+38h] xor eax,eax shl ecx,1 mov edi,[edx+04h] mov edx,ecx add edi,00000004h shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+38h] mov dx,[esi+1Ch] mov ecx,[eax+04h] mov [ecx],dx mov eax,[esi+38h] mov dx,[esi+20h] mov ecx,[eax+04h] mov [ecx+02h],dx mov [esi+0000009Ch],ebx mov [esi+000000A4h],bl call SUB_L0049A820 add esp,00000004h mov [ebp-14h],eax cmp eax,ebx mov byte ptr [ebp-04h],01h jz L004680A9 push ebx push 000000FBh push 000000FAh push L00411A30 push ebx push 00000002h push esi push ebx push ebx mov ecx,eax call SUB_L004122F0 jmp L004680AB L004680A9: xor eax,eax L004680AB: mov [esi+00000094h],eax mov [eax+0000009Ch],ebx mov eax,[esi+00000094h] mov edi,00000001h push edi push esi mov [eax+000000ACh],edi mov ecx,[esi+00000094h] mov [ebp-04h],bl call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp-14h],eax cmp eax,ebx mov byte ptr [ebp-04h],02h jz L0046810F push ebx push 000000FDh push 000000FCh push L00411A30 push ebx push 00000002h push esi push ebx push ebx mov ecx,eax call SUB_L004122F0 jmp L00468111 L0046810F: xor eax,eax L00468111: mov [esi+00000098h],eax mov [eax+0000009Ch],edi mov ecx,[esi+00000098h] push edi push esi mov [ebp-04h],bl mov [ecx+000000ACh],edi mov ecx,[esi+00000098h] call SUB_L004415C0 push 000000B4h call SUB_L0049A820 add esp,00000004h mov [ebp-14h],eax cmp eax,ebx mov byte ptr [ebp-04h],03h jz L00468164 push 000000FEh push esi push ebx push edi push ebx push ebx mov ecx,eax call SUB_L00412A50 jmp L00468166 L00468164: xor eax,eax L00468166: push edi push esi mov ecx,eax mov [ebp-04h],bl mov [esi+000000A0h],eax call SUB_L004415C0 mov edx,[ebp+08h] push edi push edx mov ecx,esi call SUB_L004415C0 mov ecx,[ebp-0Ch] mov eax,esi pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 8 L004681A0: push ebp mov ebp,esp push esi mov esi,ecx call SUB_L004681D0 test byte ptr [ebp+08h],01h jz L004681BA push esi call SUB_L0049A810 add esp,00000004h L004681BA: mov eax,esi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L004681D0: push ebp mov ebp,esp push FFFFFFFFh push L004B4678 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx mov [ebp-10h],esi mov dword ptr [esi],L004BB680 mov eax,[esi+38h] mov dword ptr [ebp-04h],00000000h mov eax,[eax+04h] test eax,eax jz L00468220 push SSZ004CD320_OptScrollBar_frame0 push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov ecx,[esi+38h] mov dword ptr [ecx+04h],00000000h L00468220: mov eax,[esi+38h] test eax,eax jz L0046823E push SSZ004CD334_OptScrollBar_framedata push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov dword ptr [esi+38h],00000000h L0046823E: mov ecx,esi mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00441D50 mov ecx,[ebp-0Ch] pop esi mov fs:[00000000h],ecx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 L00468260: push ebp mov ebp,esp mov eax,[ebp+08h] push ecx mov ecx,[ecx+48h] push eax call SUB_L00462350 pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00468280: push ebp mov ebp,esp push FFFFFFFFh push L004B469B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000020h mov eax,[ebp+08h] push ebx push esi mov esi,ecx mov ecx,[ebp+0Ch] xor ebx,ebx mov edx,[esi+38h] mov [esi+2Ch],eax mov [esi+30h],ecx push edi mov eax,[edx+04h] cmp eax,ebx jz L004682CE push SSZ004CD320_OptScrollBar_frame0 push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov eax,[esi+38h] mov [eax+04h],ebx L004682CE: lea ecx,[ebp-14h] lea edx,[ebp-10h] push ecx mov ecx,00000101h call SUB_L004390A0 lea edx,[ebp+08h] mov ecx,00000100h push edx lea edx,[ebp-18h] call SUB_L004390A0 lea eax,[ebp+0Ch] lea edx,[ebp-1Ch] push eax mov ecx,000000FFh call SUB_L004390A0 mov eax,[ebp-10h] mov ecx,[ebp+10h] mov [esi+1Ch],eax mov [esi+18h],eax imul eax,ecx mov [esi+20h],ecx push SSZ004CD320_OptScrollBar_frame0 lea ecx,[eax+eax+04h] push ecx mov ecx,L00669C8C call SUB_L0044FBD0 mov edx,[esi+38h] mov [edx+04h],eax mov ecx,[esi+20h] imul ecx,[esi+1Ch] mov edx,[esi+38h] xor eax,eax shl ecx,1 mov edi,[edx+04h] mov edx,ecx add edi,00000004h shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+38h] mov dx,[esi+1Ch] mov ecx,[eax+04h] mov [ecx],dx mov eax,[esi+38h] mov dx,[esi+20h] mov ecx,[eax+04h] mov [ecx+02h],dx mov eax,[esi+20h] mov edx,[esi+38h] mov ecx,[esi+1Ch] push eax push ecx mov eax,[edx+04h] mov edx,00000101h add eax,00000004h mov ecx,SUB_L00488380 push eax push ebx push ebx call SUB_L00439100 mov ecx,[esi+1Ch] mov edx,[ebp+0Ch] mov edi,[ebp-14h] mov [ebp-24h],ecx mov ecx,[esi+20h] mov [ebp-28h],ebx mov eax,ecx mov [ebp-2Ch],ebx sub eax,edx cmp edi,eax mov [ebp-20h],eax jge L00468411 mov ebx,[ebp+08h] L004683B0: lea edx,[edi+ebx] push ecx cmp edx,eax jle L004683DE mov ecx,[esi+38h] mov eax,[esi+1Ch] push eax lea eax,[ebp-2Ch] mov edx,[ecx+04h] mov ecx,SUB_L00488380 add edx,00000004h push edx push edi push 00000000h push eax mov edx,00000100h call SUB_L00439290 jmp L004683FE L004683DE: mov edx,[esi+38h] mov ecx,[esi+1Ch] push ecx mov ecx,SUB_L00488380 mov eax,[edx+04h] mov edx,00000100h add eax,00000004h push eax push edi push 00000000h call SUB_L00439100 L004683FE: mov ecx,[esi+20h] mov ebx,[ebp+08h] mov edx,[ebp+0Ch] mov eax,ecx add edi,ebx sub eax,edx cmp edi,eax jl L004683B0 L00468411: mov eax,[esi+20h] mov ecx,[esi+1Ch] push eax push ecx mov ecx,[esi+38h] sub eax,edx mov edx,000000FFh mov ecx,[ecx+04h] add ecx,00000004h push ecx push eax push 00000000h mov ecx,SUB_L00488380 call SUB_L00439100 mov eax,[esi+00000098h] mov edx,[esi+20h] sub edx,[eax+20h] mov [eax+30h],edx mov ecx,[esi+000000A0h] test ecx,ecx jz L00468456 mov eax,[ecx] push 00000001h call [eax] L00468456: push 000000B4h call SUB_L0049A820 add esp,00000004h mov [ebp+10h],eax test eax,eax mov dword ptr [ebp-04h],00000000h jz L0046849D mov ecx,[esi+00000098h] mov edx,[esi+20h] push 000000FEh push esi mov edi,[ecx+20h] mov ecx,[esi+00000094h] sub edx,edi push edx mov edx,[ecx+20h] push 00000001h push edx push 00000000h mov ecx,eax call SUB_L00412A50 jmp L0046849F L0046849D: xor eax,eax L0046849F: push 00000001h push esi mov ecx,eax mov dword ptr [ebp-04h],FFFFFFFFh mov [esi+000000A0h],eax call SUB_L004415C0 mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 8 L004684D0: push ebp mov ebp,esp mov eax,[ebp+0Ch] mov edx,[ebp+08h] push ecx mov ecx,[ecx+48h] push eax push edx call SUB_L00462320 pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 16 L004684F0: push ebp mov ebp,esp push esi mov esi,ecx mov ecx,[ebp+0Ch] mov eax,[esi+000000A0h] cmp ecx,[eax+30h] jge L0046850C mov eax,[esi+00000094h] jmp L00468512 L0046850C: mov eax,[esi+00000098h] L00468512: mov [esi+0000009Ch],eax lea edx,[ebp+0Ch] lea eax,[ebp+08h] push edx push eax mov ecx,esi call SUB_L00440C60 lea ecx,[ebp+0Ch] lea edx,[ebp+08h] push ecx mov ecx,[esi+0000009Ch] push edx call SUB_L00440CD0 mov edx,[ebp+0Ch] mov ecx,[esi+0000009Ch] push edx mov edx,[ebp+08h] mov eax,[ecx] push edx call [eax+14h] mov byte ptr [esi+000000A4h],01h pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 8 L00468560: push ebp mov ebp,esp push esi mov esi,ecx xor eax,eax lea ecx,[ebp+08h] mov [esi+000000A4h],al mov [L006A9DD4],eax lea eax,[ebp+0Ch] push eax push ecx mov ecx,[esi+0000009Ch] call SUB_L00440CD0 mov eax,[ebp+0Ch] mov ecx,[esi+0000009Ch] push eax mov eax,[ebp+08h] mov edx,[ecx] push eax call [edx+18h] pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 4 SUB_L004685A0: push ebp mov ebp,esp push ecx mov [ebp-04h],dl mov [ecx],dl mov eax,[ebp-04h] and eax,000000FFh test byte ptr [L004CDCB5+eax*8],80h jz L004685C5 mov word ptr [ecx+01h],0003h mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L004685C5: mov word ptr [L00767368],0001h mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L004685E0: push ebp mov ebp,esp push ecx xor eax,eax mov al,[ecx] test byte ptr [L004CDCB5+eax*8],80h jz L004685F8 mov ax,[ecx+01h] jmp L00468605 L004685F8: mov ax,[L00767368] mov [ebp-04h],ax mov eax,[ebp-04h] L00468605: and eax,0000FFFFh mov [eax+ecx],dl xor edx,edx mov dl,[ecx] inc eax test byte ptr [L004CDCB5+edx*8],80h jz L00468624 mov [ecx+01h],ax mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00468624: mov [L00767368],ax mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 4 SUB_L00468630: push ebp mov ebp,esp sub esp,00000008h mov [ebp-04h],dx push esi mov eax,[ebp-04h] mov esi,ecx push eax call jmp_WSOCK32.dll!WSOCK32.9 xor ecx,ecx mov [ebp-04h],eax mov cl,[esi] mov edx,ecx mov ecx,00008000h test [L004CDCB4+edx*8],cx jz L00468664 mov ax,[esi+01h] jmp L00468671 L00468664: mov ax,[L00767368] mov [ebp-08h],ax mov eax,[ebp-08h] L00468671: mov dx,[ebp-04h] and eax,0000FFFFh mov [eax+esi],dx xor edx,edx mov dl,[esi] add eax,00000002h test [L004CDCB4+edx*8],cx jz L00468698 mov [esi+01h],ax pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00468698: mov [L00767368],ax pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L004686B0: push ebp mov ebp,esp push ecx push esi mov esi,ecx push edx call jmp_WSOCK32.dll!WSOCK32.8 xor ecx,ecx mov edx,00008000h mov cl,[esi] test [L004CDCB4+ecx*8],dx jz L004686D6 mov cx,[esi+01h] jmp L004686E4 L004686D6: mov cx,[L00767368] mov [ebp-04h],cx mov ecx,[ebp-04h] L004686E4: and ecx,0000FFFFh mov [ecx+esi],eax lea eax,[ecx+04h] xor ecx,ecx mov cl,[esi] test [L004CDCB4+ecx*8],dx jz L00468707 mov [esi+01h],ax pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00468707: mov [L00767368],ax pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L00468720: push ebp mov ebp,esp push ecx mov eax,ecx push ebx xor ecx,ecx push esi mov cl,[eax] push edi test byte ptr [L004CDCB5+ecx*8],80h jz L0046873D mov cx,[eax+01h] jmp L0046874B L0046873D: mov cx,[L00767368] mov [ebp-04h],cx mov ecx,[ebp-04h] L0046874B: and ecx,0000FFFFh mov esi,edx mov ebx,ecx mov ecx,[ebp+08h] mov edx,ecx lea edi,[ebx+eax] shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb mov ecx,edx xor edx,edx mov dl,[eax] add ebx,ecx test byte ptr [L004CDCB5+edx*8],80h jz L00468788 mov [eax+01h],bx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L00468788: pop edi mov [L00767368],bx pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L004687A0: push ebp mov ebp,esp xor eax,eax mov al,[ecx] mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,ecx mov ecx,[edx] mov al,[eax+ecx] mov ecx,[ebp+08h] mov [ecx],al mov eax,[edx] inc eax mov [edx],eax pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L004687E0: push ebp mov ebp,esp xor eax,eax push esi mov al,[ecx] mov esi,edx push edi mov edi,[ebp+08h] mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,ecx mov ecx,[esi] mov ax,[eax+ecx] push eax mov [edi],ax call jmp_WSOCK32.dll!WSOCK32.15 mov [edi],ax mov eax,[esi] add eax,00000002h pop edi mov [esi],eax pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00468830: push ebp mov ebp,esp xor eax,eax push esi mov al,[ecx] mov esi,edx push edi mov edi,[ebp+08h] mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,ecx mov ecx,[esi] mov eax,[eax+ecx] push eax mov [edi],eax call jmp_WSOCK32.dll!WSOCK32.14 mov [edi],eax mov eax,[esi] add eax,00000004h pop edi mov [esi],eax pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00468880: push ebp mov ebp,esp xor eax,eax push esi mov al,[ecx] mov esi,[edx] mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,esi pop esi add eax,ecx mov ecx,[ebp+08h] mov [ecx],eax mov eax,[ebp+0Ch] add [edx],eax pop ebp retn 0008h ;------------------------------------------------------------------------------ db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' mov eax,ecx mov dword ptr [eax],L004BB7C4 retn ;------------------------------------------------------------------------------ Align 8 L004688D0: push ebp mov ebp,esp mov al,[ebp+08h] push esi mov esi,ecx test al,01h mov dword ptr [esi],L004BB7C4 jz L004688EC push esi call SUB_L0049A810 add esp,00000004h L004688EC: mov eax,esi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db C7h; '‡' db 01h; db C4h; '„' db B7h; 'ú' db 4Bh; 'K' db 00h; db C3h; 'ƒ' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' SUB_L00468910: push ebp mov ebp,esp mov ecx,L005493E0 call SUB_L00494560 pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00468930: push ebp mov ebp,esp mov ecx,[ebp+08h] xor eax,eax mov al,[ecx] mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov cl,[eax+ecx] mov [ebp+08h],cl mov ecx,[L0073EA7C] mov eax,[ebp+08h] and eax,000000FFh cmp ecx,eax jz L00468983 mov ecx,[L0066963C] mov [L0073EA7C],eax test ecx,ecx jz L0046897E call SUB_L0047C890 L0046897E: call SUB_L0045A290 L00468983: pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00468990: push ebp mov ebp,esp sub esp,00000610h push ebx push esi mov esi,[ebp+08h] xor eax,eax push edi mov al,[esi] mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ecx,[eax+esi] push ecx call jmp_WSOCK32.dll!WSOCK32.14 xor edx,edx mov [ebp-04h],eax mov dl,[esi] mov ax,[L004CDCB4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ax,[eax+esi+04h] push eax call jmp_WSOCK32.dll!WSOCK32.15 xor ecx,ecx mov cl,[esi] mov ax,[L004CDCB4+ecx*8] and ax,8000h mov cx,ax neg cx sbb ecx,ecx and ecx,00000002h inc ecx and ecx,0000FFFFh neg ax sbb eax,eax mov dl,[ecx+esi+06h] and eax,00000002h mov [ebp+08h],dl inc eax and eax,0000FFFFh mov ax,[eax+esi+07h] push eax call jmp_WSOCK32.dll!WSOCK32.15 xor ecx,ecx mov ebx,eax mov cl,[esi] mov ax,[L004CDCB4+ecx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov dx,[eax+esi+09h] push edx call jmp_WSOCK32.dll!WSOCK32.15 mov edi,eax xor eax,eax mov al,[esi] mov [ebp-0Ch],edi mov ax,[L004CDCB4+eax*8] and ax,8000h mov cx,ax neg cx sbb ecx,ecx and ecx,00000002h inc ecx and ecx,0000FFFFh neg ax sbb eax,eax lea ecx,[ecx+esi+0Bh] and eax,00000002h mov [ebp-08h],ecx inc eax and eax,0000FFFFh test ecx,ecx lea esi,[eax+esi+29h] mov [ebp-10h],esi jz CASE_00468D0C_PROC0005 test esi,esi jz CASE_00468D0C_PROC0005 mov eax,[L004DBFC8] test eax,eax jnz CASE_00468D0C_PROC0005 mov al,[L004CCB2C] test al,al jz L00468ACC mov ecx,esi call SUB_L00461E50 mov ecx,[ebp-08h] L00468ACC: mov eax,[ebp+08h] and eax,000000FFh cmp eax,0000000Ah ja CASE_00468D0C_PROC0005 jmp [CASE_PROCTABLE_00468D0C+eax*4] CASE_00468D0C_PROC0000: mov ecx,[ebp-04h] push ecx mov ecx,L006A9D38 call SUB_L004616C0 test eax,eax mov [ebp+08h],eax jz L00468CAD mov ecx,[ebp-04h] call SUB_L004559F0 test eax,eax jnz CASE_00468D0C_PROC0005 mov edi,[ebp-08h] or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx push eax mov edx,ecx mov esi,edi mov edi,L00669409 push eax shr ecx,02h rep movsd mov eax,[ebp-0Ch] mov ecx,edx and ecx,00000003h push eax rep movsb mov ecx,[ebp-10h] push ebx push ecx mov ecx,[ebp+08h] mov byte ptr [L00669408],02h call SUB_L0045DAE0 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_00468D0C_PROC000A: mov edx,[ebp-04h] mov ecx,L006A9D38 push edx call SUB_L004616C0 test eax,eax mov [ebp+08h],eax jz L00468CAD mov ecx,[ebp-04h] call SUB_L004559F0 test eax,eax jnz CASE_00468D0C_PROC0005 mov edi,[ebp-08h] or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov edx,[ebp-10h] mov eax,ecx mov esi,edi mov edi,L00669409 push 00000001h shr ecx,02h rep movsd mov ecx,eax push 00000000h and ecx,00000003h rep movsb mov ecx,[ebp-0Ch] mov byte ptr [L00669408],02h push ecx mov ecx,[ebp+08h] push ebx push edx call SUB_L0045DAE0 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_00468D0C_PROC0007: mov eax,[ebp-04h] mov ecx,L006A9D38 push eax call SUB_L004616C0 test eax,eax mov [ebp+08h],eax jz L00468CAD mov ecx,[ebp-04h] call SUB_L004559F0 test eax,eax jnz CASE_00468D0C_PROC0005 mov edi,[ebp-08h] or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx push eax mov edx,ecx mov esi,edi mov edi,L00669409 mov eax,[ebp-0Ch] shr ecx,02h rep movsd mov ecx,edx push eax and ecx,00000003h push ebx rep movsb mov ecx,[ebp-10h] mov byte ptr [L00669408],02h push ecx mov ecx,[ebp+08h] call SUB_L0045DBC0 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_00468D0C_PROC0006: mov ecx,[ebp-04h] mov dword ptr [ebp+08h],00000000h cmp ecx,FFFFFFFFh jz L00468C4C push ecx mov ecx,L006A9D38 call SUB_L004616C0 mov ecx,[ebp-04h] mov [ebp+08h],eax L00468C4C: mov eax,[ebp+08h] test eax,eax jz L00468CAD call SUB_L004559F0 test eax,eax jnz CASE_00468D0C_PROC0005 mov edi,[ebp-08h] or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx push eax mov edx,ecx mov esi,edi mov edi,L00669409 shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb mov esi,[ebp+08h] mov byte ptr [L00669408],03h mov ecx,esi call SUB_L0043C1B0 mov ecx,[ebp-10h] push eax mov eax,[ebp-0Ch] push eax push ebx push ecx mov ecx,esi call SUB_L0045DAE0 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L00468CAD: push esi jmp L00468CEB CASE_00468D0C_PROC0001: mov eax,[ebp-04h] push esi cmp eax,FFFFFFFFh jz L00468CD0 push ecx lea edx,[ebp-00000610h] push SSZ004CD420__s___s push edx call SUB_L0049AC80 add esp,00000010h jmp L00468CE4 L00468CD0: lea eax,[ebp-00000610h] push SSZ004CD410__System____s push eax call SUB_L0049AC80 add esp,0000000Ch L00468CE4: lea ecx,[ebp-00000610h] push ecx L00468CEB: and edi,0000FFFFh and ebx,0000FFFFh push edi push ebx mov ecx,L006693F8 call SUB_L0048C0A0 CASE_00468D0C_PROC0005: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_PROCTABLE_00468D0C: dd CASE_00468D0C_PROC0000 dd CASE_00468D0C_PROC0001 dd CASE_00468D0C_PROC0000 dd CASE_00468D0C_PROC0000 dd CASE_00468D0C_PROC0000 dd CASE_00468D0C_PROC0005 dd CASE_00468D0C_PROC0006 dd CASE_00468D0C_PROC0007 dd CASE_00468D0C_PROC0000 dd CASE_00468D0C_PROC0000 dd CASE_00468D0C_PROC000A Align 16 SUB_L00468D40: push ebp mov ebp,esp push FFFFFFFFh push L004B46B8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000218h mov ecx,[L0073EC64] push ebx xor ebx,ebx push esi cmp ecx,ebx push edi jz L00468D79 mov eax,[ecx] push 00000001h call [eax] mov [L0073EC64],ebx L00468D79: or ecx,FFFFFFFFh mov edi,L006BB372 xor eax,eax lea edx,[ebp-00000224h] repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi shr ecx,02h mov edi,edx lea edx,[ebp-00000224h] rep movsd mov ecx,eax xor eax,eax and ecx,00000003h rep movsb or ecx,FFFFFFFFh mov edi,L004CD448 repne scasb not ecx sub edi,ecx mov esi,edi mov edi,edx mov edx,ecx or ecx,FFFFFFFFh repne scasb mov ecx,edx dec edi shr ecx,02h rep movsd mov ecx,edx lea edx,[ebp-00000224h] and ecx,00000003h rep movsb mov edi,L004D7E20 or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov esi,edi mov edi,edx mov edx,ecx or ecx,FFFFFFFFh repne scasb mov ecx,edx dec edi shr ecx,02h rep movsd mov ecx,edx lea edx,[ebp-00000224h] and ecx,00000003h rep movsb mov edi,L004CD444 or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov esi,edi mov edi,edx mov edx,ecx or ecx,FFFFFFFFh repne scasb mov ecx,edx dec edi shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb lea ecx,[ebp-00000224h] call SUB_L00497E40 mov esi,[ebp+08h] xor eax,eax mov [ebp-04h],ebx mov al,[esi] mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ecx,[eax+esi] push ecx call jmp_WSOCK32.dll!WSOCK32.14 xor edx,edx mov [ebp-30h],eax mov dl,[esi] mov ax,[L004CDCB4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov eax,[eax+esi+04h] push eax call jmp_WSOCK32.dll!WSOCK32.14 xor ecx,ecx mov cl,[esi] mov ax,[L004CDCB4+ecx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov dx,[eax+esi+08h] push edx call jmp_WSOCK32.dll!WSOCK32.15 mov [ebp-2Ch],eax xor eax,eax mov al,[esi] mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov cx,[eax+esi+0Ah] push ecx call jmp_WSOCK32.dll!WSOCK32.15 xor edx,edx mov [ebp-1Ch],eax mov dl,[esi] mov ax,[L004CDCB4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ax,[eax+esi+0Ch] push eax call jmp_WSOCK32.dll!WSOCK32.15 xor ecx,ecx mov [ebp-24h],eax mov cl,[esi] mov ax,[L004CDCB4+ecx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov dx,[eax+esi+0Eh] push edx call jmp_WSOCK32.dll!WSOCK32.15 mov [ebp-20h],eax xor eax,eax mov al,[esi] mov ax,[L004CDCB4+eax*8] and ax,8000h mov cx,ax neg cx sbb ecx,ecx and ecx,00000002h inc ecx and ecx,0000FFFFh mov cl,[ecx+esi+10h] mov [ebp+0Bh],cl mov cx,ax neg cx sbb ecx,ecx and ecx,00000002h inc ecx and ecx,0000FFFFh neg ax mov dl,[ecx+esi+11h] mov [ebp-14h],dl sbb eax,eax and eax,00000002h inc eax and eax,0000FFFFh mov eax,[eax+esi+12h] push eax call jmp_WSOCK32.dll!WSOCK32.14 xor ecx,ecx mov cl,[esi] mov ax,[L004CDCB4+ecx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov dx,[eax+esi+16h] push edx call jmp_WSOCK32.dll!WSOCK32.15 mov edi,eax xor eax,eax mov al,[esi] mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov cx,[eax+esi+18h] push ecx call jmp_WSOCK32.dll!WSOCK32.15 xor edx,edx mov ebx,eax mov dl,[esi] mov ax,[L004CDCB4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ax,[eax+esi+1Ah] push eax call jmp_WSOCK32.dll!WSOCK32.15 xor ecx,ecx mov [ebp-28h],eax mov cl,[esi] mov ax,[L004CDCB4+ecx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov dx,[eax+esi+1Ch] push edx call jmp_WSOCK32.dll!WSOCK32.15 mov ecx,[ebp-28h] and eax,0000FFFFh and ecx,0000FFFFh mov [L006AABD0],eax mov eax,[ebp-30h] mov [L006AABCC],ecx mov ecx,[L006BB1D0] and edi,0000FFFFh and ebx,0000FFFFh cmp eax,ecx mov [L006AABC4],edi mov [L006AABC8],ebx jz L00469074 mov [L006BB1D0],eax L00469074: mov ecx,[L0073EBE4] mov [ecx+78h],eax mov eax,[ebp-2Ch] mov edx,[L0073EBE4] and eax,00003FFFh mov ecx,L006BB1C8 mov [edx+38h],ax call SUB_L00457D60 mov eax,[L0073EBE4] mov cl,[ebp+0Bh] mov edi,[ebp-1Ch] mov ebx,[ebp-24h] mov [eax+6Eh],cl mov eax,[ebp-20h] mov edx,[L0073EBE4] mov esi,eax and esi,0000FFFFh sub esp,00000008h mov [edx+00000190h],esi mov [ebp-1Ch],di mov [ebp-1Ah],bx mov edx,[ebp-1Ch] mov ecx,esp mov [ebp-18h],ax mov [ecx],edx mov [ecx+04h],ax mov ecx,[L0073EBE4] call SUB_L0045CAD0 mov eax,[ebp-14h] and ebx,0000FFFFh and eax,000000FFh and edi,0000FFFFh push eax push esi push ebx push edi mov ecx,L006AAA98 call SUB_L0044F7E0 mov ecx,[L00669670] xor esi,esi cmp ecx,esi mov [L00669688],esi jz L00469126 mov edx,[ecx] push 00000001h call [edx] mov [L00669670],esi L00469126: mov ecx,[L00669644] cmp ecx,esi jz L0046913C mov eax,[ecx] push 00000001h call [eax] mov [L00669644],esi L0046913C: mov ecx,[L00669650] cmp ecx,esi jz L00469152 mov edx,[ecx] push 00000001h call [edx] mov [L00669650],esi L00469152: mov ecx,[L0066965C] cmp ecx,esi jz L00469168 mov eax,[ecx] push 00000001h call [eax] mov [L0066965C],esi L00469168: push SSZ004CD428_Welcome_to_Ultima_Online_ push 00000003h push esi mov ecx,L006693F8 call SUB_L0048C0A0 call SUB_L00458470 mov edi,00000001h mov ecx,L006BB1A0 mov [L007121EC],edi call SUB_L00431010 cmp [L004C59D0],esi jz L004691E9 mov eax,[L004CE1EC] mov esi,[L004C59D4] test ah,80h mov byte ptr [ebp-14h],A7h jz L004691BF mov edx,00000003h lea ecx,[ebp-14h] call SUB_L00469200 jmp L004691C6 L004691BF: mov [L00767368],di L004691C6: mov edx,esi lea ecx,[ebp-14h] call SUB_L00468630 mov dl,01h lea ecx,[ebp-14h] call SUB_L004685E0 lea ecx,[ebp-14h] push ecx mov ecx,[L006BB1CC] call SUB_L0048B170 L004691E9: mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 8 SUB_L00469200: mov ax,dx xor edx,edx mov dl,[ecx] test byte ptr [L004CDCB5+edx*8],80h jz L00469216 mov [ecx+01h],ax retn ;------------------------------------------------------------------------------ L00469216: mov [L00767368],ax retn ;------------------------------------------------------------------------------ Align 4 SUB_L00469220: push ebp mov ebp,esp push ecx push ebx push esi mov esi,[ebp+08h] xor eax,eax push edi mov al,[esi] mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov cx,[eax+esi] push ecx call jmp_WSOCK32.dll!WSOCK32.15 xor edx,edx mov dl,[esi] mov ax,[L004CDCB4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ax,[eax+esi+02h] push eax call jmp_WSOCK32.dll!WSOCK32.15 xor ecx,ecx mov cl,[esi] mov ax,[L004CDCB4+ecx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov dx,[eax+esi+04h] push edx call jmp_WSOCK32.dll!WSOCK32.15 xor eax,eax mov al,[esi] mov ax,[L004CDCB4+eax*8] and ax,8000h mov cx,ax neg cx sbb ecx,ecx and ecx,00000002h inc ecx and ecx,0000FFFFh neg ax sbb eax,eax mov cl,[ecx+esi+06h] and eax,00000002h mov [ebp-04h],cl inc eax and eax,0000FFFFh mov dx,[eax+esi+07h] push edx call jmp_WSOCK32.dll!WSOCK32.15 mov edi,eax xor eax,eax mov al,[esi] mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov cx,[eax+esi+09h] push ecx call jmp_WSOCK32.dll!WSOCK32.15 xor edx,edx mov ebx,eax mov dl,[esi] mov ax,[L004CDCB4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ax,[eax+esi+0Bh] push eax call jmp_WSOCK32.dll!WSOCK32.15 xor ecx,ecx mov [ebp+08h],eax mov cl,[esi] mov ax,[L004CDCB4+ecx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov dx,[eax+esi+0Dh] push edx call jmp_WSOCK32.dll!WSOCK32.15 mov ecx,[ebp+08h] and eax,0000FFFFh mov [L006AABD0],eax mov eax,[ebp-04h] and eax,000000FFh and ecx,0000FFFFh push eax push FFFFFFFFh and edi,0000FFFFh and ebx,0000FFFFh mov [L006AABCC],ecx push FFFFFFFFh push FFFFFFFFh mov ecx,L006AAA98 mov [L006AABC4],edi mov [L006AABC8],ebx call SUB_L0044F7E0 pop edi pop esi mov dword ptr [L007121EC],00000001h pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 8 SUB_L004693C0: push ebp mov ebp,esp mov ecx,[ebp+08h] xor eax,eax push esi mov al,[ecx] mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ecx,[eax+ecx] push ecx call jmp_WSOCK32.dll!WSOCK32.14 push eax mov ecx,L006A9D38 call SUB_L004616C0 mov esi,eax test esi,esi jz L00469447 cmp esi,[L0073EBE4] jz L00469447 mov edx,[esi] mov ecx,esi call [edx+24h] test eax,eax jz L0046941E mov edx,[esi+78h] xor ecx,ecx call SUB_L0045C860 test eax,eax jnz L00469447 L0046941E: mov eax,[L0073EBE4] cmp [eax+000000C4h],esi jnz L00469435 mov dword ptr [L006A9DA8],00000000h L00469435: push esi mov ecx,L006A9D38 call SUB_L004619E0 mov edx,[esi] mov ecx,esi call [edx+04h] L00469447: pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 8 SUB_L00469450: push ebp mov ebp,esp sub esp,00000014h push ebx push esi mov esi,[ebp+08h] xor eax,eax push edi mov al,[esi] mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ecx,[eax+esi] push ecx call jmp_WSOCK32.dll!WSOCK32.14 xor edx,edx mov [ebp-08h],eax mov dl,[esi] mov ax,[L004CDCB4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ax,[eax+esi+04h] push eax call jmp_WSOCK32.dll!WSOCK32.15 xor ecx,ecx mov edi,eax mov cl,[esi] mov ax,[L004CDCB4+ecx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov dx,[eax+esi+07h] push edx call jmp_WSOCK32.dll!WSOCK32.15 mov [ebp-14h],eax xor eax,eax mov al,[esi] mov ax,[L004CDCB4+eax*8] and ax,8000h mov cx,ax neg cx sbb ecx,ecx and ecx,00000002h inc ecx and ecx,0000FFFFh neg ax sbb eax,eax mov cl,[ecx+esi+09h] and eax,00000002h mov [ebp-02h],cl inc eax and eax,0000FFFFh mov dx,[eax+esi+0Ah] push edx call jmp_WSOCK32.dll!WSOCK32.15 mov [ebp-10h],eax xor eax,eax mov al,[esi] mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov cx,[eax+esi+0Ch] push ecx call jmp_WSOCK32.dll!WSOCK32.15 xor edx,edx mov [ebp-0Ch],eax mov dl,[esi] mov ax,[L004CDCB4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ax,[eax+esi+0Eh] push eax call jmp_WSOCK32.dll!WSOCK32.15 mov ebx,eax xor ecx,ecx mov cl,[esi] mov ax,[L004CDCB4+ecx*8] and ax,8000h mov cx,ax neg cx sbb ecx,ecx and ecx,00000002h inc ecx and ecx,0000FFFFh neg ax sbb eax,eax mov dl,[ecx+esi+10h] and eax,00000002h mov ecx,[ebp-08h] inc eax mov [ebp-01h],dl and eax,0000FFFFh mov al,[eax+esi+11h] mov [ebp+0Bh],al mov eax,[L006BB1D0] cmp ecx,eax jnz L00469704 mov ecx,[L00669678] xor esi,esi cmp ecx,esi jz L004695D5 mov edx,[ecx] push 00000001h call [edx] mov [L00669678],esi L004695D5: movsx eax,[ebp+0Bh] and ebx,0000FFFFh mov [L006695A8],esi mov esi,[ebp-0Ch] push ebx mov ebx,[ebp-10h] mov ecx,esi mov edx,ebx and ecx,0000FFFFh push eax and edx,0000FFFFh push ecx push edx mov ecx,L006AAA98 call SUB_L0044F7E0 mov ecx,[L0073EBE4] mov eax,[ecx] call [eax+14h] mov ecx,[L0073EBE4] and edi,00003FFFh movsx ax,[ebp+0Bh] mov [ecx+20h],bx mov edx,[L0073EBE4] mov [edx+22h],si mov ecx,[L0073EBE4] mov [ecx+24h],ax mov edx,[L0073EBE4] mov cl,[ebp-01h] mov [edx+38h],di mov eax,[L0073EBE4] mov [eax+6Eh],cl mov ecx,[L0073EBE4] mov edx,[ecx] call [edx+0000008Ch] mov ecx,[L0073EBE4] mov eax,[ecx] call [eax+10h] mov ecx,[ebp-14h] and ecx,0000FFFFh call SUB_L0045C6D0 mov ecx,[L0073EBE4] mov dl,[ebp-02h] push FFFFFFFFh push FFFFFFFFh mov [ecx+3Eh],ax mov eax,[L0073EBE4] push FFFFFFFFh push FFFFFFFFh mov bl,[eax+00000098h] mov ecx,L00669590 mov [eax+00000098h],dl call SUB_L00453800 mov ecx,L00669428 call SUB_L00494C50 mov eax,[L0073EBE4] cmp bl,[eax+00000098h] jz L00469715 mov edi,[L00669620] test edi,edi jz L00469715 L004696CA: mov edx,[edi] mov ecx,edi call [edx+000000C8h] test eax,eax jz L004696F4 mov eax,[edi+34h] mov ecx,[L0073EBE4] cmp eax,ecx jnz L004696F4 push 00000001h push 00000001h push 00000001h push 00000001h mov ecx,edi call SUB_L0047A030 L004696F4: mov edi,[edi+3Ch] test edi,edi jnz L004696CA pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L00469704: push 00000000h mov edx,SSZ004C693C_Error mov ecx,SSZ004CD44C_Z_change_received_for_non_player call SUB_L0049A0A0 L00469715: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L00469720: push ebp mov ebp,esp mov edx,[ebp+08h] xor eax,eax mov al,[edx] mov ax,[L004CDCB4+eax*8] and ax,8000h mov cx,ax neg cx sbb ecx,ecx and ecx,00000002h inc ecx and ecx,0000FFFFh neg ax mov cl,[ecx+edx] sbb eax,eax mov [ebp+08h],cl mov ecx,[L0073EBE4] and eax,00000002h inc eax and eax,0000FFFFh test ecx,ecx mov al,[eax+edx+01h] jz L00469776 mov edx,[ecx] movsx eax,al push eax call [edx+00000098h] L00469776: mov ecx,[ebp+08h] and ecx,000000FFh push ecx mov ecx,L00669590 call SUB_L004536B0 pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L00469790: push ebp mov ebp,esp sub esp,00000018h push ebx push esi mov esi,[ebp+08h] xor eax,eax push edi mov al,[esi] mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ecx,[eax+esi] push ecx call jmp_WSOCK32.dll!WSOCK32.14 xor edx,edx mov edi,eax mov dl,[esi] mov ax,[L004CDCB4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ax,[eax+esi+04h] push eax call jmp_WSOCK32.dll!WSOCK32.15 xor ecx,ecx mov [ebp-18h],eax mov cl,[esi] mov ax,[L004CDCB4+ecx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov dx,[eax+esi+06h] push edx call jmp_WSOCK32.dll!WSOCK32.15 mov ebx,eax xor eax,eax mov al,[esi] mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov cx,[eax+esi+08h] push ecx call jmp_WSOCK32.dll!WSOCK32.15 xor edx,edx mov [ebp-14h],eax mov dl,[esi] mov ax,[L004CDCB4+edx*8] and ax,8000h mov cx,ax neg cx sbb ecx,ecx and ecx,00000002h inc ecx and ecx,0000FFFFh mov cl,[ecx+esi+0Ah] mov [ebp-10h],cl mov cx,ax neg cx sbb ecx,ecx and ecx,00000002h inc ecx and ecx,0000FFFFh neg ax sbb eax,eax mov dl,[ecx+esi+0Bh] and eax,00000002h mov [ebp-0Ch],dl inc eax and eax,0000FFFFh mov ax,[eax+esi+0Ch] push eax call jmp_WSOCK32.dll!WSOCK32.15 xor ecx,ecx mov [ebp-08h],eax mov cl,[esi] mov ax,[L004CDCB4+ecx*8] and ax,8000h mov cx,ax push edi neg cx sbb ecx,ecx and ecx,00000002h inc ecx and ecx,0000FFFFh neg ax sbb eax,eax mov dl,[ecx+esi+0Eh] and eax,00000002h mov ecx,L006A9D38 inc eax mov [ebp-04h],dl and eax,0000FFFFh mov al,[eax+esi+0Fh] mov [ebp+0Bh],al call SUB_L004616C0 mov esi,eax test esi,esi jz L004699D8 mov edx,[esi] mov ecx,esi call [edx+24h] test eax,eax jz L0046990B movsx ecx,[ebp+0Bh] mov eax,[esi] push ecx mov ecx,esi call [eax+00000098h] L0046990B: cmp edi,[L006BB1D0] jz L0046994F mov edx,[ebp-04h] mov eax,[ebp-08h] mov ecx,[ebp-0Ch] push edx mov edx,[ebp-10h] push eax mov eax,[ebp-14h] push ecx and eax,0000FFFFh push edx and ebx,0000FFFFh push eax mov eax,[ebp-18h] push ebx push 00000000h push 00000000h push eax push edi mov ecx,L006A9D38 call SUB_L00460020 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L0046994F: mov ecx,[L0073EBE4] test ecx,ecx jz L004699D8 mov eax,[ecx+1Ch] mov bl,[ecx+00000098h] test eax,eax jz L00469986 mov edx,[ecx] call [edx+14h] mov eax,[L0073EBE4] mov cl,[ebp-04h] mov [eax+00000098h],cl mov ecx,[L0073EBE4] mov edx,[ecx] call [edx+10h] jmp L0046998F L00469986: mov al,[ebp-04h] mov [ecx+00000098h],al L0046998F: mov ecx,[L0073EBE4] cmp bl,[ecx+00000098h] jz L004699D8 mov esi,[L00669620] test esi,esi jz L004699D8 L004699A7: mov edx,[esi] mov ecx,esi call [edx+000000C8h] test eax,eax jz L004699D1 mov eax,[esi+34h] mov ecx,[L0073EBE4] cmp eax,ecx jnz L004699D1 push 00000001h push 00000001h push 00000001h push 00000001h mov ecx,esi call SUB_L0047A030 L004699D1: mov esi,[esi+3Ch] test esi,esi jnz L004699A7 L004699D8: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L004699F0: push ebp mov ebp,esp push ecx push ebx push esi push edi mov edi,[ebp+08h] xor eax,eax mov al,[edi] mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ecx,[eax+edi] push ecx call jmp_WSOCK32.dll!WSOCK32.14 push eax mov ecx,L006A9D38 mov esi,00000004h call SUB_L004616C0 xor ebx,ebx mov [ebp+08h],eax test eax,eax jz L00469A46 mov edx,[eax] mov ecx,eax call [edx+54h] test eax,eax jz L00469A46 mov ebx,[ebp+08h] L00469A46: mov dword ptr [ebp+08h],00000000h L00469A4D: xor eax,eax mov al,[edi] mov cx,[L004CDCB4+eax*8] and cx,8000h mov ax,cx neg ax sbb eax,eax and eax,00000002h inc eax and eax,0000FFFFh add eax,esi inc esi mov al,[eax+edi] test al,al mov [ebp-04h],al jz L00469AB9 neg cx sbb ecx,ecx and ecx,00000002h inc ecx and ecx,0000FFFFh add ecx,esi mov ecx,[ecx+edi] push ecx call jmp_WSOCK32.dll!WSOCK32.14 add esi,00000004h test ebx,ebx jz L00469AAD mov edx,[ebp-04h] and edx,000000FFh mov [ebx+edx*4+000000B8h],eax L00469AAD: mov eax,[ebp+08h] inc eax cmp eax,00000028h mov [ebp+08h],eax jl L00469A4D L00469AB9: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00469AD0: push ebp mov ebp,esp push FFFFFFFFh push L004B46DB mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000014h push ebx push esi mov esi,[ebp+08h] xor eax,eax push edi mov al,[esi] mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ecx,[eax+esi] push ecx call jmp_WSOCK32.dll!WSOCK32.14 xor edx,edx mov [ebp-10h],eax mov dl,[esi] mov ax,[L004CDCB4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ax,[eax+esi+04h] push eax call jmp_WSOCK32.dll!WSOCK32.15 xor ecx,ecx mov [ebp-20h],eax mov cl,[esi] mov ax,[L004CDCB4+ecx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov dx,[eax+esi+06h] push edx call jmp_WSOCK32.dll!WSOCK32.15 mov edi,eax xor eax,eax mov al,[esi] mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov cx,[eax+esi+08h] push ecx call jmp_WSOCK32.dll!WSOCK32.15 xor edx,edx mov ebx,eax mov dl,[esi] mov ax,[L004CDCB4+edx*8] and ax,8000h mov cx,ax neg cx sbb ecx,ecx and ecx,00000002h inc ecx and ecx,0000FFFFh mov cl,[ecx+esi+0Ah] mov [ebp-1Ch],cl mov cx,ax neg cx sbb ecx,ecx and ecx,00000002h inc ecx and ecx,0000FFFFh neg ax sbb eax,eax mov dl,[ecx+esi+0Bh] and eax,00000002h mov [ebp-18h],dl inc eax and eax,0000FFFFh mov ax,[eax+esi+0Ch] push eax call jmp_WSOCK32.dll!WSOCK32.15 xor ecx,ecx mov cl,[esi] mov cx,[L004CDCB4+ecx*8] and cx,8000h mov dx,cx neg dx sbb edx,edx and edx,00000002h inc edx and edx,0000FFFFh neg cx sbb ecx,ecx mov dl,[edx+esi+0Eh] and ecx,00000002h mov [ebp-14h],dl inc ecx and ecx,0000FFFFh mov cl,[ecx+esi+0Fh] mov [ebp+0Bh],cl mov ecx,[ebp-10h] cmp ecx,[L006BB1D0] jz L00469C6E mov edx,[ebp-14h] and ebx,0000FFFFh push edx mov edx,[ebp-1Ch] push eax mov eax,[ebp-18h] push eax mov eax,[ebp-20h] push edx and edi,0000FFFFh push ebx push edi push 00000000h push 00000000h push eax push ecx mov ecx,L006A9D38 call SUB_L00460020 jmp L00469CF3 L00469C6E: mov ecx,[L0073EBE4] test ecx,ecx jz L00469CF3 mov eax,[ecx+1Ch] mov bl,[ecx+00000098h] test eax,eax jz L00469CA5 mov edx,[ecx] call [edx+14h] mov eax,[L0073EBE4] mov cl,[ebp-14h] mov [eax+00000098h],cl mov ecx,[L0073EBE4] mov edx,[ecx] call [edx+10h] jmp L00469CAB L00469CA5: mov [ecx+00000098h],dl L00469CAB: mov eax,[L0073EBE4] cmp bl,[eax+00000098h] jz L00469CF3 mov edi,[L00669620] test edi,edi jz L00469CF3 L00469CC2: mov edx,[edi] mov ecx,edi call [edx+000000C8h] test eax,eax jz L00469CEC mov eax,[edi+34h] mov ecx,[L0073EBE4] cmp eax,ecx jnz L00469CEC push 00000001h push 00000001h push 00000001h push 00000001h mov ecx,edi call SUB_L0047A030 L00469CEC: mov edi,[edi+3Ch] test edi,edi jnz L00469CC2 L00469CF3: mov ecx,[ebp-10h] push ecx mov ecx,L006A9D38 call SUB_L004616C0 mov ebx,eax test ebx,ebx mov [ebp-10h],ebx jz L00469D37 mov edx,[ebx] mov ecx,ebx call [edx+24h] test eax,eax jz L00469D2D mov eax,[ebx] mov ecx,ebx call [eax+14h] movsx eax,[ebp+0Bh] mov edx,[ebx] push eax mov ecx,ebx call [edx+00000098h] jmp L00469D37 L00469D2D: mov dword ptr [ebp-10h],00000000h mov ebx,[ebp-10h] L00469D37: xor ecx,ecx mov cl,[esi] mov ax,[L004CDCB4+ecx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov edx,[eax+esi+10h] push edx call jmp_WSOCK32.dll!WSOCK32.14 test eax,eax mov [ebp+08h],eax mov edi,00000014h jz L00469EEB L00469D6D: xor eax,eax mov al,[esi] mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,edi mov cx,[eax+esi] push ecx call jmp_WSOCK32.dll!WSOCK32.15 xor edx,edx mov ebx,eax mov dl,[esi] add edi,00000002h mov cx,[L004CDCB4+edx*8] and cx,8000h mov ax,cx neg ax sbb eax,eax and eax,00000002h inc eax and eax,0000FFFFh add eax,edi inc edi test bh,80h mov al,[eax+esi] mov [ebp-20h],al jz L00469DF3 and ebx,00007FFFh neg cx sbb ecx,ecx and ecx,00000002h inc ecx and ecx,0000FFFFh add ecx,edi mov cx,[ecx+esi] push ecx call jmp_WSOCK32.dll!WSOCK32.15 mov [ebp-18h],eax add edi,00000002h jmp L00469DFA L00469DF3: mov dword ptr [ebp-18h],00000000h L00469DFA: mov eax,[ebp-10h] test eax,eax jz L00469EB3 mov edx,[ebp+08h] mov ecx,L006A9D38 push edx call SUB_L004616C0 test eax,eax mov [ebp-14h],eax jnz L00469E83 push ebx mov ecx,L006A9D38 call SUB_L00461970 test eax,eax jz L00469E6C push 000000BCh call SUB_L0049A820 add esp,00000004h mov [ebp-1Ch],eax test eax,eax mov dword ptr [ebp-04h],00000000h jz L00469E5F mov ecx,[ebp+08h] push 00000001h push 00000000h push ebx push ecx mov ecx,eax call SUB_L0045E150 mov dword ptr [ebp-04h],FFFFFFFFh mov ebx,eax jmp L00469E8D L00469E5F: xor eax,eax mov dword ptr [ebp-04h],FFFFFFFFh mov ebx,eax jmp L00469E8D L00469E6C: mov ecx,[ebp+08h] mov edx,ebx push 00000000h and edx,0000FFFFh call SUB_L0045BC00 mov [ebp-14h],eax jmp L00469E8A L00469E83: mov edx,[eax] mov ecx,eax call [edx+50h] L00469E8A: mov ebx,[ebp-14h] L00469E8D: mov ecx,[ebp-18h] and ecx,0000FFFFh call SUB_L0045C6D0 mov ecx,[ebp-10h] mov [ebx+3Eh],ax mov eax,[ebp-20h] and eax,000000FFh push eax push ecx mov ecx,ebx call SUB_L0045D2A0 L00469EB3: xor edx,edx mov dl,[esi] mov ax,[L004CDCB4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,edi mov eax,[eax+esi] push eax call jmp_WSOCK32.dll!WSOCK32.14 add edi,00000004h mov [ebp+08h],eax test eax,eax jnz L00469D6D mov ebx,[ebp-10h] L00469EEB: test ebx,ebx jz L00469EF6 mov edx,[ebx] mov ecx,ebx call [edx+10h] L00469EF6: mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 8 SUB_L00469F10: push ebp mov ebp,esp sub esp,00000020h push ebx push esi mov esi,[ebp+08h] xor eax,eax mov [ebp-04h],eax mov [ebp-0Ch],al mov [ebp-10h],eax mov [ebp-08h],al mov al,[esi] push edi xor bl,bl mov ax,[L004CDCB4+eax*8] mov [ebp-14h],bl and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ecx,[eax+esi] push ecx call jmp_WSOCK32.dll!WSOCK32.14 test eax,80000000h mov [ebp+08h],eax jz L00469F6B and eax,7FFFFFFFh mov dword ptr [ebp-04h],00000001h mov [ebp+08h],eax L00469F6B: xor edx,edx mov dl,[esi] mov ax,[L004CDCB4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ax,[eax+esi+04h] push eax call jmp_WSOCK32.dll!WSOCK32.15 test ah,80h mov [ebp-1Ch],eax mov edi,00000006h jz L00469FAC mov bl,01h and eax,00007FFFh mov [ebp-14h],bl mov [ebp-1Ch],eax L00469FAC: test bl,bl jz L00469FD8 xor ecx,ecx mov edi,00000007h mov cl,[esi] mov ax,[L004CDCB4+ecx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov dl,[eax+esi+06h] mov [ebp-14h],dl L00469FD8: cmp word ptr [ebp-04h],0000h jz L0046A00F xor eax,eax mov al,[esi] mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,edi mov cx,[eax+esi] push ecx call jmp_WSOCK32.dll!WSOCK32.15 mov [ebp-04h],eax add edi,00000002h jmp L0046A016 L0046A00F: mov dword ptr [ebp-04h],00000001h L0046A016: xor edx,edx mov dl,[esi] mov ax,[L004CDCB4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,edi mov ax,[eax+esi] push eax call jmp_WSOCK32.dll!WSOCK32.15 add edi,00000002h mov [ebp-18h],eax test ah,80h jz L0046A055 and eax,00007FFFh mov byte ptr [ebp-0Ch],01h mov [ebp-18h],eax L0046A055: xor ecx,ecx mov cl,[esi] mov ax,[L004CDCB4+ecx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,edi mov dx,[eax+esi] push edx call jmp_WSOCK32.dll!WSOCK32.15 mov ebx,eax add edi,00000002h test bh,80h jz L0046A094 mov edx,00000001h and ebx,00007FFFh jmp L0046A097 L0046A094: mov edx,[ebp-10h] L0046A097: test bh,40h jz L0046A0A6 mov byte ptr [ebp-08h],01h and ebx,00003FFFh L0046A0A6: mov al,[ebp-0Ch] test al,al jz L0046A0D2 xor eax,eax mov al,[esi] mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,edi inc edi mov cl,[eax+esi] mov [ebp-0Ch],cl L0046A0D2: xor eax,eax mov al,[esi] mov cx,[L004CDCB4+eax*8] and cx,8000h mov ax,cx neg ax sbb eax,eax and eax,00000002h inc eax and eax,0000FFFFh add eax,edi inc edi test dx,dx mov al,[eax+esi] mov [ebp-20h],al jz L0046A125 neg cx sbb ecx,ecx and ecx,00000002h inc ecx and ecx,0000FFFFh add ecx,edi mov cx,[ecx+esi] push ecx call jmp_WSOCK32.dll!WSOCK32.15 mov [ebp-10h],eax add edi,00000002h mov edx,eax L0046A125: mov al,[ebp-08h] test al,al jz L0046A150 xor eax,eax mov al,[esi] mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,edi mov cl,[eax+esi] mov [ebp-08h],cl L0046A150: mov ecx,[ebp+08h] mov eax,[L006BB1D0] cmp ecx,eax jz L0046A190 mov eax,[ebp-08h] and ebx,0000FFFFh push eax mov eax,[ebp-20h] push edx mov edx,[ebp-0Ch] push edx mov edx,[ebp-04h] push eax mov eax,[ebp-18h] and eax,0000FFFFh push ebx push eax mov eax,[ebp-14h] push edx mov edx,[ebp-1Ch] push eax push edx push ecx mov ecx,L006A9D38 call SUB_L00460020 L0046A190: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 8 SUB_L0046A1A0: push ebp mov ebp,esp push esi mov esi,[ebp+08h] xor eax,eax push edi mov al,[esi] mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ecx,[eax+esi] push ecx call jmp_WSOCK32.dll!WSOCK32.14 xor edx,edx mov edi,eax mov dl,[esi] mov ax,[L004CDCB4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov eax,[eax+esi+04h] push eax call jmp_WSOCK32.dll!WSOCK32.14 test edi,edi jnz L0046A23C test eax,eax jnz L0046A218 mov ecx,[L0073EBE4] push eax push eax push 00000003h push eax push SSZ004CD498_Illegal_group_ call SUB_L0045DAE0 pop edi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ L0046A218: test edi,edi jnz L0046A23C cmp eax,00000001h jnz L0046A23C mov ecx,[L0073EBE4] push edi push edi push 00000003h push edi push SSZ004CD484_Removed_from_group_ call SUB_L0045DAE0 pop edi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ L0046A23C: cmp edi,[L006BB1D0] jnz L0046A263 push eax mov ecx,L006A9D38 call SUB_L004616C0 push 00000000h push 00000000h push 00000003h push 00000000h push SSZ004CD474_Now_grouped_ mov ecx,eax call SUB_L0045DAE0 L0046A263: pop edi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 8 SUB_L0046A270: push ebp mov ebp,esp mov eax,fs:[00000000h] push FFFFFFFFh push L004B46FB push eax mov fs:[00000000h],esp push ebx push esi mov esi,[ebp+08h] xor eax,eax push edi mov al,[esi] mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ecx,[eax+esi] push ecx call jmp_WSOCK32.dll!WSOCK32.14 xor edx,edx mov ebx,eax mov dl,[esi] mov ax,[L004CDCB4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ax,[eax+esi+04h] push eax call jmp_WSOCK32.dll!WSOCK32.15 cmp ebx,FFFFFFFFh mov esi,eax jnz L0046A2F5 push 00000000h and esi,0000FFFFh push 00000000h push esi push 00000000h jmp L0046A428 L0046A2F5: cmp ebx,[L006BB1D0] jnz L0046A305 mov edi,[L0073EBE4] jmp L0046A312 L0046A305: push ebx mov ecx,L006A9D38 call SUB_L004616C0 mov edi,eax L0046A312: cmp si,FFFFh jnz L0046A390 mov edx,[edi] mov ecx,edi xor esi,esi call [edx+30h] test eax,eax jz L0046A33C mov eax,[edi+000000ACh] test eax,eax jz L0046A33C mov esi,eax mov ecx,esi mov eax,[esi] call [eax+00000144h] L0046A33C: test esi,esi jnz L0046A432 push 0000017Ch call SUB_L0049A820 add esp,00000004h mov [ebp+08h],eax test eax,eax mov [ebp-04h],esi jz L0046A369 push edi push FFFFFFFFh push FFFFFFFFh mov ecx,eax call SUB_L0040A650 jmp L0046A36B L0046A369: xor eax,eax L0046A36B: push 00000001h push 00000000h mov ecx,eax mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L004415C0 mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L0046A390: cmp si,000Ah jz L0046A39C cmp si,0030h jnz L0046A3B4 L0046A39C: mov ecx,esi push 00000000h and ecx,0000FFFFh push 00000000h push ecx push edi mov ecx,L00669608 call SUB_L00441620 L0046A3B4: cmp si,1392h jz L0046A3C2 cmp si,1393h jnz L0046A3FB L0046A3C2: cmp ebx,00000001h jnz L0046A3E1 mov edx,esi push 00000000h and edx,0000FFFFh push 00000000h push edx push edi mov ecx,L00669608 call SUB_L00441620 jmp L0046A3FB L0046A3E1: test ebx,ebx jnz L0046A3FB mov ecx,[L0066963C] test ecx,ecx jz L0046A3FB mov eax,[ecx] push 00000001h call [eax] mov [L0066963C],ebx L0046A3FB: cmp si,01F4h jz L0046A41C cmp si,01F5h jz L0046A41C test edi,edi jz L0046A432 mov edx,[edi] mov ecx,edi call [edx+30h] test eax,eax jz L0046A432 push 00000001h jmp L0046A41E L0046A41C: push 00000000h L0046A41E: and esi,0000FFFFh push 00000000h push esi push edi L0046A428: mov ecx,L00669608 call SUB_L00441620 L0046A432: mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L0046A450: push ebp mov ebp,esp push FFFFFFFFh push L004B471B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000018h push ebx push esi mov esi,[ebp+08h] xor eax,eax push edi mov al,[esi] mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ecx,[eax+esi] push ecx call jmp_WSOCK32.dll!WSOCK32.14 xor edx,edx mov ebx,eax mov dl,[esi] mov ax,[L004CDCB4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ax,[eax+esi+04h] push eax call jmp_WSOCK32.dll!WSOCK32.15 xor ecx,ecx mov edi,eax mov cl,[esi] mov ax,[L004CDCB4+ecx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov dx,[eax+esi+06h] push edx call jmp_WSOCK32.dll!WSOCK32.15 mov [ebp-20h],eax xor eax,eax mov al,[esi] mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov cx,[eax+esi+08h] push ecx call jmp_WSOCK32.dll!WSOCK32.15 xor edx,edx mov [ebp-1Ch],eax mov dl,[esi] mov ax,[L004CDCB4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ax,[eax+esi+0Ah] push eax call jmp_WSOCK32.dll!WSOCK32.15 xor ecx,ecx mov [ebp-18h],eax mov cl,[esi] mov ax,[L004CDCB4+ecx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov dx,[eax+esi+0Ch] push edx call jmp_WSOCK32.dll!WSOCK32.15 mov [ebp-14h],eax xor eax,eax mov al,[esi] mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov cx,[eax+esi+0Eh] push ecx call jmp_WSOCK32.dll!WSOCK32.15 mov [ebp-10h],eax xor edx,edx mov dl,[esi] mov ax,[L004CDCB4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ax,[eax+esi+10h] push eax call jmp_WSOCK32.dll!WSOCK32.15 push ebx mov ecx,L006A9D38 mov [ebp+08h],eax call SUB_L004616C0 mov esi,eax mov ecx,esi mov edx,[esi] call [edx+60h] test eax,eax jz L0046A638 cmp di,139Dh jc L0046A638 push 00000128h call SUB_L0049A820 add esp,00000004h mov [ebp-24h],eax test eax,eax mov dword ptr [ebp-04h],00000000h jz L0046A624 mov ecx,[ebp+08h] mov edx,[ebp-10h] push ecx mov ecx,[ebp-14h] push edx mov edx,[ebp-18h] push ecx mov ecx,[ebp-1Ch] push edx mov edx,[ebp-20h] push ecx push edx and edi,0000FFFFh push esi push edi push 00000000h push 00000000h mov ecx,eax call SUB_L0042B280 jmp L0046A626 L0046A624: xor eax,eax L0046A626: push 00000001h push 00000000h mov ecx,eax mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L004415C0 L0046A638: mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 8 SUB_L0046A650: push ebp mov ebp,esp push ebx push esi mov esi,[ebp+08h] xor eax,eax push edi mov al,[esi] mov ax,[L004CDCB4+eax*8] and ax,8000h mov cx,ax neg cx sbb ecx,ecx and ecx,00000002h inc ecx and ecx,0000FFFFh neg ax sbb eax,eax mov cl,[ecx+esi] and eax,00000002h mov [ebp+08h],cl inc eax and eax,0000FFFFh mov dx,[eax+esi+01h] push edx call jmp_WSOCK32.dll!WSOCK32.15 mov edi,eax xor eax,eax mov al,[esi] mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov cx,[eax+esi+03h] push ecx call jmp_WSOCK32.dll!WSOCK32.15 xor edx,edx mov dl,[esi] mov cx,[L004CDCB4+edx*8] and cx,8000h mov dx,cx neg dx sbb edx,edx and edx,00000002h inc edx and edx,0000FFFFh neg cx sbb ecx,ecx mov bl,[edx+esi+05h] and ecx,00000002h mov edx,[ebp+08h] inc ecx and eax,0000FFFFh and ecx,0000FFFFh and edi,0000FFFFh and edx,000000FFh movsx ecx,[ecx+esi+06h] push ecx push eax push edi push edx mov ecx,L00669590 call SUB_L00453800 mov eax,[L0073EBE4] pop edi pop esi mov [eax+6Eh],bl pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L0046A730: push ebp mov ebp,esp push FFFFFFFFh push L004B4740 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000028h push ebx xor eax,eax push esi push edi mov [ebp-14h],eax mov [ebp-18h],eax mov esi,[ebp+08h] mov dword ptr [ebp-04h],00000001h mov al,[esi] mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov cx,[eax+esi] push ecx call jmp_WSOCK32.dll!WSOCK32.15 xor edx,edx mov edi,eax mov dl,[esi] mov ax,[L004CDCB4+edx*8] and ax,8000h mov cx,ax neg cx sbb ecx,ecx and ecx,00000002h inc ecx and ecx,0000FFFFh neg ax sbb eax,eax mov cl,[ecx+esi+02h] and eax,00000002h mov [ebp+0Bh],cl inc eax and eax,0000FFFFh mov dx,[eax+esi+03h] push edx call jmp_WSOCK32.dll!WSOCK32.15 xor eax,eax mov al,[esi] mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov cx,[eax+esi+05h] push ecx call jmp_WSOCK32.dll!WSOCK32.15 xor edx,edx mov dl,[esi] mov ax,[L004CDCB4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov eax,[eax+esi+07h] push eax call jmp_WSOCK32.dll!WSOCK32.14 xor ecx,ecx mov ebx,eax mov cl,[esi] mov ax,[L004CDCB4+ecx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov dx,[eax+esi+0Bh] push edx call jmp_WSOCK32.dll!WSOCK32.15 mov [ebp-24h],eax xor eax,eax mov al,[esi] mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov cx,[eax+esi+0Dh] push ecx call jmp_WSOCK32.dll!WSOCK32.15 mov ecx,esi mov [ebp-28h],eax call SUB_L0046AA70 and eax,0000FFFFh mov ecx,esi mov dl,[eax+esi+0Fh] mov [ebp-0Dh],dl call SUB_L0046AA70 and eax,0000FFFFh mov eax,[eax+esi+10h] push eax call jmp_WSOCK32.dll!WSOCK32.14 mov ecx,esi mov [ebp-1Ch],eax call SUB_L0046AA70 and eax,0000FFFFh mov ax,[eax+esi+14h] push eax call jmp_WSOCK32.dll!WSOCK32.15 mov ecx,esi mov [ebp-30h],eax call SUB_L0046AA70 and eax,0000FFFFh mov ax,[eax+esi+16h] push eax call jmp_WSOCK32.dll!WSOCK32.15 mov ecx,esi mov [ebp-34h],eax call SUB_L0046AA70 and eax,0000FFFFh test ebx,ebx mov al,[eax+esi+18h] mov [ebp-0Eh],al jz L0046A8F1 push ebx mov ecx,L006A9D38 call SUB_L004616C0 mov ebx,eax jmp L0046A8F4 L0046A8F1: mov ebx,[ebp-14h] L0046A8F4: test ebx,ebx jz L0046A908 mov edx,[ebx] mov ecx,ebx call [edx+24h] test eax,eax jnz L0046A908 mov [ebp-14h],eax mov ebx,eax L0046A908: mov eax,[ebp-1Ch] test eax,eax jz L0046A91E push eax mov ecx,L006A9D38 call SUB_L004616C0 mov esi,eax jmp L0046A921 L0046A91E: mov esi,[ebp-18h] L0046A921: test esi,esi jz L0046A935 mov eax,[esi] mov ecx,esi call [eax+24h] test eax,eax jnz L0046A935 mov [ebp-18h],eax mov esi,eax L0046A935: mov cx,[ebp-24h] mov dx,[ebp-28h] movzx ax,[ebp-0Dh] mov [ebp-24h],cx mov cx,[ebp-30h] mov [ebp-30h],cx mov [ebp-22h],dx movzx cx,[ebp-0Eh] mov dx,[ebp-34h] mov [ebp-20h],ax test ebx,ebx mov [ebp-2Eh],dx mov [ebp-2Ch],cx jnz L0046A9B9 test esi,esi jnz L0046A9B5 push esi mov esi,[ebp-30h] push 00000001h push 00000005h sub esp,00000008h mov edx,esp sub esp,00000008h mov [edx],esi mov [edx+04h],cx mov edx,[ebp-24h] mov ecx,esp mov [ecx],edx mov [ecx+04h],ax mov ecx,L00669608 movzx ax,[ebp+0Bh] add edi,eax push edi call SUB_L0043CD10 mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L0046A9B5: test ebx,ebx jz L0046AA28 L0046A9B9: test esi,esi jz L0046A9EA movzx cx,[ebp+0Bh] push 00000000h push 00000001h push 00000005h push esi add edi,ecx push ebx push edi mov ecx,L00669608 call SUB_L0043CED0 mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L0046A9EA: test ebx,ebx jz L0046AA28 mov eax,[ebp-30h] push 00000000h push 00000001h push 00000005h sub esp,00000008h mov edx,esp push ebx mov [edx],eax mov [edx+04h],cx movzx cx,[ebp+0Bh] add edi,ecx mov ecx,L00669608 push edi call SUB_L0043CE40 mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L0046AA28: push 00000000h mov ecx,[ebp-24h] push 00000001h push 00000005h push esi sub esp,00000008h mov edx,esp mov [edx],ecx mov ecx,L00669608 mov [edx+04h],ax movzx dx,[ebp+0Bh] add edi,edx push edi call SUB_L0043CDB0 mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L0046AA70: xor eax,eax mov al,[ecx] mov ax,[L004CDCB4+eax*8] shr eax,0Eh and ax,0002h or al,01h retn ;------------------------------------------------------------------------------ Align 16 SUB_L0046AA90: push ebp mov ebp,esp sub esp,00000010h push ebx push esi mov esi,[ebp+08h] xor eax,eax push edi mov al,[esi] mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ecx,[eax+esi] push ecx call jmp_WSOCK32.dll!WSOCK32.14 xor edx,edx mov edi,eax mov dl,[esi] mov ax,[L004CDCB4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ax,[eax+esi+04h] push eax call jmp_WSOCK32.dll!WSOCK32.15 xor ecx,ecx mov ebx,eax mov cl,[esi] mov ax,[L004CDCB4+ecx*8] and ax,8000h mov cx,ax neg cx sbb ecx,ecx and ecx,00000002h inc ecx and ecx,0000FFFFh neg ax sbb eax,eax mov dl,[ecx+esi+06h] and eax,00000002h mov [ebp-10h],dl inc eax and eax,0000FFFFh mov ax,[eax+esi+07h] push eax call jmp_WSOCK32.dll!WSOCK32.15 xor ecx,ecx mov [ebp-0Ch],eax mov cl,[esi] mov ax,[L004CDCB4+ecx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov dx,[eax+esi+09h] push edx call jmp_WSOCK32.dll!WSOCK32.15 mov [ebp-08h],eax xor eax,eax mov al,[esi] mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov cx,[eax+esi+0Bh] push ecx call jmp_WSOCK32.dll!WSOCK32.15 xor edx,edx mov [ebp-04h],eax mov dl,[esi] mov ax,[L004CDCB4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov eax,[eax+esi+0Dh] push eax call jmp_WSOCK32.dll!WSOCK32.14 mov [ebp+08h],eax xor ecx,ecx mov cl,[esi] mov ax,[L004CDCB4+ecx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov dx,[eax+esi+11h] push edx call jmp_WSOCK32.dll!WSOCK32.15 mov ecx,[ebp-04h] mov edx,[ebp-08h] push eax mov eax,[ebp+08h] push eax mov eax,[ebp-0Ch] push ecx mov ecx,[ebp-10h] push edx push eax push ecx push ebx push edi mov ecx,L006A9D38 mov dword ptr [L0073EC58],00000000h call SUB_L004616F0 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 8 SUB_L0046AC10: push ebp mov ebp,esp sub esp,00000034h push ebx push esi push edi mov edi,[ebp+08h] xor eax,eax mov al,[edi] mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov cx,[eax+edi] push ecx call jmp_WSOCK32.dll!WSOCK32.15 xor ebx,ebx and eax,0000FFFFh mov esi,00000002h mov dword ptr [L0073EC58],00000001h mov [ebp-24h],eax jle L0046AE66 L0046AC61: xor edx,edx mov dl,[edi] mov ax,[L004CDCB4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,esi mov eax,[eax+edi] push eax call jmp_WSOCK32.dll!WSOCK32.14 xor ecx,ecx mov [ebp-20h],eax mov cl,[edi] add esi,00000004h mov ax,[L004CDCB4+ecx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,esi mov dx,[eax+edi] push edx call jmp_WSOCK32.dll!WSOCK32.15 mov [ebp-1Ch],eax xor eax,eax mov al,[edi] add esi,00000002h mov cx,[L004CDCB4+eax*8] and cx,8000h mov ax,cx neg ax sbb eax,eax and eax,00000002h inc eax and eax,0000FFFFh add eax,esi inc esi neg cx sbb ecx,ecx mov dl,[eax+edi] and ecx,00000002h mov [ebp-18h],dl inc ecx and ecx,0000FFFFh add ecx,esi mov ax,[ecx+edi] push eax call jmp_WSOCK32.dll!WSOCK32.15 xor ecx,ecx mov [ebp-14h],eax mov cl,[edi] add esi,00000002h mov ax,[L004CDCB4+ecx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,esi mov dx,[eax+edi] push edx call jmp_WSOCK32.dll!WSOCK32.15 mov [ebp-10h],eax xor eax,eax mov al,[edi] add esi,00000002h mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,esi mov cx,[eax+edi] push ecx call jmp_WSOCK32.dll!WSOCK32.15 xor edx,edx mov [ebp-0Ch],eax mov dl,[edi] add esi,00000002h mov ax,[L004CDCB4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,esi mov eax,[eax+edi] push eax call jmp_WSOCK32.dll!WSOCK32.14 xor ecx,ecx mov [ebp-04h],eax mov cl,[edi] add esi,00000004h mov ax,[L004CDCB4+ecx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,esi mov dx,[eax+edi] push edx call jmp_WSOCK32.dll!WSOCK32.15 add esi,00000002h mov [ebp-08h],eax test ebx,ebx jnz L0046AE30 mov eax,[ebp-04h] mov ecx,L006A9D38 push eax call SUB_L004616C0 test eax,eax mov [ebp+08h],eax jz L0046AE30 mov edx,[eax] mov ecx,eax call [edx+30h] test eax,eax jz L0046AE30 mov eax,[ebp+08h] mov ecx,[eax+7Ch] test ecx,ecx jz L0046AE28 mov edx,[ecx] call [edx+24h] test eax,eax jz L0046AE28 mov eax,[ebp+08h] mov ecx,[eax+7Ch] mov ecx,[ecx+00000088h] test ecx,ecx jz L0046AE28 mov edx,[ecx] call [edx+000000BCh] test eax,eax jz L0046AE28 mov eax,[ebp+08h] mov ecx,[eax+7Ch] mov ecx,[ecx+00000088h] test ecx,ecx jz L0046AE28 mov edx,[ecx] push 00000001h call [edx] L0046AE28: mov ecx,[ebp+08h] call SUB_L0045E310 L0046AE30: mov eax,[ebp-08h] mov ecx,[ebp-04h] mov edx,[ebp-0Ch] push eax mov eax,[ebp-10h] push ecx mov ecx,[ebp-14h] push edx mov edx,[ebp-18h] push eax mov eax,[ebp-1Ch] push ecx mov ecx,[ebp-20h] push edx push eax push ecx mov ecx,L006A9D38 call SUB_L004616F0 mov eax,[ebp-24h] inc ebx cmp ebx,eax jl L0046AC61 L0046AE66: mov edx,[ebp-04h] mov ecx,L006A9D38 push edx mov dword ptr [L0073EC58],00000000h call SUB_L004616C0 mov esi,eax xor edi,edi cmp esi,edi jz L0046AF01 mov eax,[esi] mov ecx,esi call [eax+30h] test eax,eax jz L0046AF01 mov ecx,[esi+000000ACh] cmp ecx,edi jz L0046AF01 mov edx,[ecx] call [edx+000000F4h] mov ecx,[esi+000000ACh] test eax,eax jz L0046AED2 mov [ebp-34h],edi mov eax,[ecx+1Ch] dec eax mov [ebp-30h],edi mov [ebp-2Ch],eax mov edx,[ecx+20h] dec edx mov [ebp-28h],edx mov eax,[ecx] call [eax+00000144h] pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L0046AED2: mov edx,[ecx] call [edx+000000ACh] test eax,eax jz L0046AF01 mov ecx,[esi+000000ACh] mov [ebp-34h],edi mov eax,[ecx+1Ch] mov [ebp-30h],edi dec eax mov [ebp-2Ch],eax mov edx,[ecx+20h] lea eax,[ebp-34h] dec edx push eax mov [ebp-28h],edx call SUB_L0042A720 L0046AF01: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 8 SUB_L0046AF10: push ebp mov ebp,esp push FFFFFFFFh push L004B4779 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000010h push ebx push esi push edi mov ecx,[ebp+08h] xor eax,eax xor ebx,ebx mov al,[ecx] mov [ebp-04h],ebx mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov cl,[eax+ecx] mov ax,[L006A9D76] cmp ax,2006h mov [ebp+08h],cl jnz L0046AF9E push 00000124h call SUB_L0049A820 add esp,00000004h mov [ebp-14h],eax cmp eax,ebx mov byte ptr [ebp-04h],01h jz L0046B03A mov dx,[L006A9D76] mov ecx,[L006A9D7C] push edx push ecx mov ecx,eax call SUB_L0045E670 mov [ebp-04h],bl jmp L0046B05D L0046AF9E: push eax mov ecx,L006A9D38 call SUB_L00461990 test eax,eax jz L0046AFE9 push 000000B4h call SUB_L0049A820 add esp,00000004h mov [ebp-14h],eax cmp eax,ebx mov byte ptr [ebp-04h],02h jz L0046B03A mov dl,[L006A9D79] mov cx,[L006A9D76] push 00000001h push edx mov edx,[L006A9D7C] push ecx push edx mov ecx,eax call SUB_L0045E360 mov [ebp-04h],bl jmp L0046B05D L0046AFE9: mov ax,[L006A9D76] mov ecx,L006A9D38 push eax call SUB_L00461970 test eax,eax jz L0046B041 push 000000BCh call SUB_L0049A820 add esp,00000004h mov [ebp-14h],eax cmp eax,ebx mov byte ptr [ebp-04h],03h jz L0046B03A mov cl,[L006A9D79] mov dx,[L006A9D76] push 00000001h push ecx mov ecx,[L006A9D7C] push edx push ecx mov ecx,eax call SUB_L0045E150 mov [ebp-04h],bl jmp L0046B05D L0046B03A: xor eax,eax mov [ebp-04h],bl jmp L0046B05D L0046B041: movsx edx,[L006A9D79] mov ecx,[L006A9D7C] push edx xor edx,edx mov dx,[L006A9D76] call SUB_L0045BC00 L0046B05D: mov esi,eax mov eax,[L006A9D70] mov [ebp-1Ch],eax mov cx,[ebp-1Ch] mov ax,[L006A9D74] mov dx,[ebp-1Ah] mov [ebp-14h],cx mov ecx,[L006A9D80] mov di,ax and ecx,0000FFFFh mov [ebp-12h],dx mov [ebp-10h],di call SUB_L0045C6D0 mov [esi+3Eh],ax mov ax,[L006A9D82] mov [esi+3Ch],ax mov cl,[L006A9D78] mov [esi+00000098h],cl mov ecx,[L006A9D8C] cmp ecx,ebx jz L0046B0E4 mov edx,[ecx] call [edx+14h] mov eax,[L006A9D90] mov ecx,[L006A9D8C] and eax,0000FFFFh push eax push ecx mov ecx,esi call SUB_L0045D2A0 mov ecx,[L006A9D8C] mov edx,[ecx] call [edx+10h] jmp L0046B11A L0046B0E4: mov eax,[L006A9D88] cmp eax,ebx jz L0046B105 mov edx,[ebp-14h] sub esp,00000008h mov ecx,esp push eax mov [ecx],edx mov [ecx+04h],di mov ecx,esi call SUB_L0045CC30 jmp L0046B11A L0046B105: mov ecx,[ebp-14h] sub esp,00000008h mov eax,esp mov [eax],ecx mov ecx,esi mov [eax+04h],di call SUB_L0045CAD0 L0046B11A: mov ecx,[L006A9D6C] cmp ecx,ebx jz L0046B130 mov edx,[ecx] push 00000001h call [edx] mov [L006A9D6C],ebx L0046B130: mov al,[ebp+08h] mov [L006A9DA8],ebx cmp al,05h jnc L0046B15A mov eax,[ebp+08h] and eax,000000FFh mov ecx,[L004CD350+eax*4] push ecx push 00000003h push ebx mov ecx,L006693F8 call SUB_L0048C0A0 L0046B15A: mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L0046B170: push ebp mov ebp,esp push esi mov esi,[ebp+08h] xor eax,eax mov al,[esi] mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov cx,[eax+esi] push ecx call jmp_WSOCK32.dll!WSOCK32.15 xor edx,edx mov dl,[esi] mov ax,[L004CDCB4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ax,[eax+esi+02h] push eax call jmp_WSOCK32.dll!WSOCK32.15 mov dword ptr [L006A9DA8],00000000h pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L0046B1E0: push ebp mov ebp,esp mov dword ptr [L006A9DA8],00000000h pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L0046B200: push ebp mov ebp,esp push esi mov esi,[ebp+08h] xor eax,eax mov al,[esi] mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ecx,[eax+esi+01h] push ecx call jmp_WSOCK32.dll!WSOCK32.14 xor edx,edx mov dl,[esi] mov ax,[L004CDCB4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov eax,[eax+esi+05h] push eax call jmp_WSOCK32.dll!WSOCK32.14 mov [L0073EBE0],eax pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L0046B260: push ebp mov ebp,esp mov ecx,[ebp+08h] xor eax,eax push ebx push esi mov al,[ecx] mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov bl,[eax+ecx] mov ecx,L00669608 call SUB_L0043F290 cmp bl,01h jnz L0046B2BA mov ecx,[L00669630] test ecx,ecx jz L0046B34D mov edx,[ecx] push 00000001h call [edx] mov dword ptr [L00669630],00000000h pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ L0046B2BA: mov ecx,[L006A9D6C] test ecx,ecx jz L0046B2CA mov eax,[ecx] push 00000001h call [eax] L0046B2CA: mov ecx,[L00669630] test ecx,ecx jz L0046B2DA mov edx,[ecx] push 00000001h call [edx] L0046B2DA: mov esi,[L006A9D38] mov dword ptr [L004DBFC8],00000001h test esi,esi jz L0046B309 L0046B2EE: mov ecx,[esi+68h] test ecx,ecx jz L0046B302 L0046B2F5: mov eax,[ecx] push 00000001h call [eax] mov ecx,[esi+68h] test ecx,ecx jnz L0046B2F5 L0046B302: mov esi,[esi+40h] test esi,esi jnz L0046B2EE L0046B309: mov ecx,[L00669628] test ecx,ecx jz L0046B323 L0046B313: mov edx,[ecx] push 00000001h call [edx] mov ecx,[L00669628] test ecx,ecx jnz L0046B313 L0046B323: push 00000001h push 00000001h push 0000002Ah mov ecx,L006BD8E8 call SUB_L00495FF0 mov eax,[L0073EBE4] test eax,eax jz L0046B34D mov ecx,[eax+00000150h] test ecx,ecx jz L0046B34D xor ecx,ecx call SUB_L00457900 L0046B34D: pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L0046B360: push ebp mov ebp,esp sub esp,00000020h push ebx mov eax,00000001h push esi mov esi,[ebp+08h] mov [ebp-14h],eax mov [ebp-18h],eax mov [ebp-20h],eax xor eax,eax mov al,[esi] push edi mov dword ptr [ebp-04h],00000000h mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ecx,[eax+esi] push ecx call jmp_WSOCK32.dll!WSOCK32.14 xor edx,edx mov edi,eax mov dl,[esi] mov ax,[L004CDCB4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ax,[eax+esi+04h] push eax call jmp_WSOCK32.dll!WSOCK32.15 xor ecx,ecx mov ebx,eax mov cl,[esi] mov ax,[L004CDCB4+ecx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov dx,[eax+esi+06h] push edx call jmp_WSOCK32.dll!WSOCK32.15 mov [ebp+08h],eax xor eax,eax mov al,[esi] mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov cx,[eax+esi+08h] push ecx call jmp_WSOCK32.dll!WSOCK32.15 xor edx,edx mov [ebp-08h],eax mov dl,[esi] mov ax,[L004CDCB4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ax,[eax+esi+0Ah] push eax call jmp_WSOCK32.dll!WSOCK32.15 xor ecx,ecx mov [ebp-0Ch],eax mov cl,[esi] mov ax,[L004CDCB4+ecx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov dx,[eax+esi+0Ch] push edx call jmp_WSOCK32.dll!WSOCK32.15 mov [ebp-10h],eax xor eax,eax mov al,[esi] mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov cx,[eax+esi+0Eh] push ecx call jmp_WSOCK32.dll!WSOCK32.15 mov esi,eax push edi mov ecx,L006A9D38 mov [ebp-1Ch],esi call SUB_L004616C0 mov edi,eax test edi,edi jz L0046B608 mov edx,[edi] mov ecx,edi call [edx+24h] test eax,eax jz L0046B608 mov eax,[edi] mov ecx,edi call [eax+28h] test eax,eax jz L0046B529 mov edx,[ebp+08h] mov eax,[ebp-08h] mov ecx,ebx and edx,0000FFFFh and ecx,0000FFFFh mov [edi+000001DCh],edx mov edx,[ebp-10h] mov [edi+000001E0h],ecx mov ecx,[ebp-0Ch] and eax,0000FFFFh and ecx,0000FFFFh and edx,0000FFFFh and esi,0000FFFFh mov [edi+000001E8h],eax mov [edi+000001E4h],ecx mov [edi+000001F0h],edx mov [edi+000001ECh],esi L0046B529: mov esi,[L00669620] test esi,esi jz L0046B54D L0046B533: mov eax,[esi] mov ecx,esi call [eax+000000C8h] test eax,eax jz L0046B546 cmp [esi+34h],edi jz L0046B54D L0046B546: mov esi,[esi+3Ch] test esi,esi jnz L0046B533 L0046B54D: xor eax,eax cmp esi,eax jz L0046B608 mov cx,[ebp+08h] cmp [esi+000000C2h],cx jnz L0046B567 mov [ebp-14h],eax L0046B567: mov dx,[ebp-0Ch] cmp [esi+000000CAh],dx jnz L0046B578 xor edx,edx jmp L0046B57B L0046B578: mov edx,[ebp-18h] L0046B57B: mov ecx,[ebp-1Ch] cmp [esi+000000C6h],cx jz L0046B58A mov eax,[ebp-20h] L0046B58A: cmp [esi+000000C4h],bx jz L0046B59A mov dword ptr [ebp-04h],00000001h L0046B59A: mov di,[ebp-08h] cmp [esi+000000CCh],di jz L0046B5AE mov dword ptr [ebp-04h],00000001h L0046B5AE: mov edi,[ebp-10h] cmp [esi+000000C8h],di jnz L0046B5C1 mov dword ptr [ebp-04h],00000001h L0046B5C1: mov [esi+000000C4h],bx mov bx,[ebp+08h] mov [esi+000000C2h],bx mov bx,[ebp-08h] push eax mov eax,[ebp-14h] mov [esi+000000C6h],cx mov ecx,[ebp-04h] push edx mov [esi+000000CCh],bx mov bx,[ebp-0Ch] push eax push ecx mov ecx,esi mov [esi+000000CAh],bx mov [esi+000000C8h],di call SUB_L0047A030 L0046B608: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L0046B620: push ebp mov ebp,esp sub esp,00000008h push ebx push esi mov esi,[ebp+08h] xor eax,eax push edi mov dword ptr [ebp-08h],00000000h mov al,[esi] mov dword ptr [ebp-04h],00000001h mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ecx,[eax+esi] push ecx call jmp_WSOCK32.dll!WSOCK32.14 xor edx,edx mov edi,eax mov dl,[esi] mov ax,[L004CDCB4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ax,[eax+esi+04h] push eax call jmp_WSOCK32.dll!WSOCK32.15 xor ecx,ecx mov ebx,eax mov cl,[esi] mov ax,[L004CDCB4+ecx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov dx,[eax+esi+06h] push edx call jmp_WSOCK32.dll!WSOCK32.15 mov esi,eax push edi mov ecx,L006A9D38 mov [ebp+08h],esi call SUB_L004616C0 mov edi,eax test edi,edi jz L0046B765 mov eax,[edi] mov ecx,edi call [eax+24h] test eax,eax jz L0046B765 mov edx,[edi] mov ecx,edi call [edx+28h] test eax,eax jz L0046B6FE mov eax,ebx and eax,0000FFFFh and esi,0000FFFFh mov [edi+000001E0h],eax mov [edi+000001DCh],esi L0046B6FE: mov esi,[L00669620] test esi,esi jz L0046B765 L0046B708: mov edx,[esi] mov ecx,esi call [edx+000000C8h] test eax,eax jz L0046B71B cmp [esi+34h],edi jz L0046B722 L0046B71B: mov esi,[esi+3Ch] test esi,esi jnz L0046B708 L0046B722: test esi,esi jz L0046B765 mov edx,[ebp+08h] cmp [esi+000000C2h],dx jnz L0046B736 xor ecx,ecx jmp L0046B739 L0046B736: mov ecx,[ebp-04h] L0046B739: cmp [esi+000000C4h],bx mov eax,00000001h jnz L0046B74A mov eax,[ebp-08h] L0046B74A: push 00000000h push 00000000h push ecx push eax mov ecx,esi mov [esi+000000C4h],bx mov [esi+000000C2h],dx call SUB_L0047A030 L0046B765: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L0046B770: push ebp mov ebp,esp sub esp,00000008h push ebx push esi mov esi,[ebp+08h] xor eax,eax push edi mov dword ptr [ebp-08h],00000000h mov al,[esi] mov dword ptr [ebp-04h],00000001h mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ecx,[eax+esi] push ecx call jmp_WSOCK32.dll!WSOCK32.14 xor edx,edx mov edi,eax mov dl,[esi] mov ax,[L004CDCB4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ax,[eax+esi+04h] push eax call jmp_WSOCK32.dll!WSOCK32.15 xor ecx,ecx mov ebx,eax mov cl,[esi] mov ax,[L004CDCB4+ecx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov dx,[eax+esi+06h] push edx call jmp_WSOCK32.dll!WSOCK32.15 mov esi,eax push edi mov ecx,L006A9D38 mov [ebp+08h],esi call SUB_L004616C0 mov edi,eax test edi,edi jz L0046B8B5 mov eax,[edi] mov ecx,edi call [eax+24h] test eax,eax jz L0046B8B5 mov edx,[edi] mov ecx,edi call [edx+28h] test eax,eax jz L0046B84E mov eax,ebx and eax,0000FFFFh and esi,0000FFFFh mov [edi+000001E8h],eax mov [edi+000001E4h],esi L0046B84E: mov esi,[L00669620] test esi,esi jz L0046B8B5 L0046B858: mov edx,[esi] mov ecx,esi call [edx+000000C8h] test eax,eax jz L0046B86B cmp [esi+34h],edi jz L0046B872 L0046B86B: mov esi,[esi+3Ch] test esi,esi jnz L0046B858 L0046B872: test esi,esi jz L0046B8B5 mov edx,[ebp+08h] cmp [esi+000000CAh],dx jnz L0046B886 xor ecx,ecx jmp L0046B889 L0046B886: mov ecx,[ebp-04h] L0046B889: cmp [esi+000000CCh],bx mov eax,00000001h jnz L0046B89A mov eax,[ebp-08h] L0046B89A: push 00000000h push 00000000h push ecx push eax mov ecx,esi mov [esi+000000CCh],bx mov [esi+000000CAh],dx call SUB_L0047A030 L0046B8B5: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L0046B8C0: push ebp mov ebp,esp sub esp,00000008h push ebx push esi mov esi,[ebp+08h] xor eax,eax push edi mov dword ptr [ebp-08h],00000000h mov al,[esi] mov dword ptr [ebp-04h],00000001h mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ecx,[eax+esi] push ecx call jmp_WSOCK32.dll!WSOCK32.14 xor edx,edx mov edi,eax mov dl,[esi] mov ax,[L004CDCB4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ax,[eax+esi+04h] push eax call jmp_WSOCK32.dll!WSOCK32.15 xor ecx,ecx mov ebx,eax mov cl,[esi] mov ax,[L004CDCB4+ecx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov dx,[eax+esi+06h] push edx call jmp_WSOCK32.dll!WSOCK32.15 mov esi,eax push edi mov ecx,L006A9D38 mov [ebp+08h],esi call SUB_L004616C0 mov edi,eax test edi,edi jz L0046BA05 mov eax,[edi] mov ecx,edi call [eax+24h] test eax,eax jz L0046BA05 mov edx,[edi] mov ecx,edi call [edx+28h] test eax,eax jz L0046B99E mov eax,ebx and eax,0000FFFFh and esi,0000FFFFh mov [edi+000001F0h],eax mov [edi+000001ECh],esi L0046B99E: mov esi,[L00669620] test esi,esi jz L0046BA05 L0046B9A8: mov edx,[esi] mov ecx,esi call [edx+000000C8h] test eax,eax jz L0046B9BB cmp [esi+34h],edi jz L0046B9C2 L0046B9BB: mov esi,[esi+3Ch] test esi,esi jnz L0046B9A8 L0046B9C2: test esi,esi jz L0046BA05 mov edx,[ebp+08h] cmp [esi+000000C6h],dx jnz L0046B9D6 xor ecx,ecx jmp L0046B9D9 L0046B9D6: mov ecx,[ebp-04h] L0046B9D9: cmp [esi+000000C8h],bx mov eax,00000001h jnz L0046B9EA mov eax,[ebp-08h] L0046B9EA: push 00000000h push 00000000h push ecx push eax mov ecx,esi mov [esi+000000C8h],bx mov [esi+000000C6h],dx call SUB_L0047A030 L0046BA05: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L0046BA10: push ebp mov ebp,esp push FFFFFFFFh push L004B47A6 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000010h push ebx push esi mov esi,[ebp+08h] xor eax,eax push edi mov al,[esi] mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ecx,[eax+esi] push ecx call jmp_WSOCK32.dll!WSOCK32.14 xor edx,edx mov edi,eax mov dl,[esi] mov ax,[L004CDCB4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ax,[eax+esi+04h] push eax call jmp_WSOCK32.dll!WSOCK32.15 xor ecx,ecx mov ebx,eax mov cl,[esi] mov ax,[L004CDCB4+ecx*8] and ax,8000h mov cx,ax neg cx sbb ecx,ecx and ecx,00000002h inc ecx and ecx,0000FFFFh mov dl,[ecx+esi+06h] mov cx,ax neg cx sbb ecx,ecx mov [ebp+08h],dl and ecx,00000002h inc ecx and ecx,0000FFFFh neg ax sbb eax,eax mov cl,[ecx+esi+07h] and eax,00000002h mov [ebp-14h],cl inc eax and eax,0000FFFFh mov edx,[eax+esi+08h] push edx call jmp_WSOCK32.dll!WSOCK32.14 mov [ebp-18h],eax xor eax,eax mov al,[esi] mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov cx,[eax+esi+0Ch] push ecx call jmp_WSOCK32.dll!WSOCK32.15 mov ecx,[L006BB1D0] mov [ebp-10h],eax mov eax,[ebp-18h] cmp eax,ecx jnz L0046BBF3 push edi mov ecx,L006A9D38 call SUB_L004616C0 mov esi,eax test esi,esi jnz L0046BB93 push ebx mov ecx,L006A9D38 call SUB_L00461970 test eax,eax jz L0046BB77 push 000000BCh call SUB_L0049A820 add esp,00000004h mov [ebp-18h],eax test eax,eax mov [ebp-04h],esi jz L0046BB6A mov edx,[ebp+08h] push 00000001h push edx push ebx push edi mov ecx,eax call SUB_L0045E150 mov dword ptr [ebp-04h],FFFFFFFFh mov esi,eax jmp L0046BBAA L0046BB6A: xor eax,eax mov dword ptr [ebp-04h],FFFFFFFFh mov esi,eax jmp L0046BBAA L0046BB77: mov eax,[ebp+08h] mov edx,ebx and eax,000000FFh and edx,0000FFFFh push eax mov ecx,edi call SUB_L0045BC00 mov esi,eax jmp L0046BBAA L0046BB93: mov edx,[esi] mov ecx,esi call [edx+50h] mov al,[ebp+08h] and ebx,00003FFFh mov [esi+38h],bx mov [esi+3Ah],al L0046BBAA: test esi,esi jz L0046BCC7 mov ecx,[ebp-10h] and ecx,0000FFFFh call SUB_L0045C6D0 mov [esi+3Eh],ax mov ecx,[L0073EBE4] mov edx,[ecx] call [edx+14h] mov eax,[ebp-14h] mov ecx,[L0073EBE4] and eax,000000FFh push eax push ecx mov ecx,esi call SUB_L0045D2A0 mov ecx,[L0073EBE4] mov edx,[ecx] jmp L0046BCC4 L0046BBF3: push eax mov ecx,L006A9D38 call SUB_L004616C0 test eax,eax mov [ebp-18h],eax jz L0046BCC7 push edi mov ecx,L006A9D38 call SUB_L004616C0 mov esi,eax test esi,esi jnz L0046BC88 push ebx mov ecx,L006A9D38 call SUB_L00461970 test eax,eax jz L0046BC6B push 000000BCh call SUB_L0049A820 add esp,00000004h mov [ebp-1Ch],eax test eax,eax mov dword ptr [ebp-04h],00000001h jz L0046BC5E mov ecx,[ebp+08h] push 00000001h push ecx push ebx push edi mov ecx,eax call SUB_L0045E150 mov dword ptr [ebp-04h],FFFFFFFFh mov esi,eax jmp L0046BC8F L0046BC5E: xor eax,eax mov dword ptr [ebp-04h],FFFFFFFFh mov esi,eax jmp L0046BC8F L0046BC6B: mov edx,[ebp+08h] mov ecx,edi and edx,000000FFh push edx mov edx,ebx and edx,0000FFFFh call SUB_L0045BC00 mov esi,eax jmp L0046BC8F L0046BC88: mov eax,[esi] mov ecx,esi call [eax+50h] L0046BC8F: test esi,esi jz L0046BCC7 mov ecx,[ebp-10h] and ecx,0000FFFFh call SUB_L0045C6D0 mov edi,[ebp-18h] mov [esi+3Eh],ax mov ecx,edi mov edx,[edi] call [edx+14h] mov eax,[ebp-14h] mov ecx,esi and eax,000000FFh push eax push edi call SUB_L0045D2A0 mov edx,[edi] mov ecx,edi L0046BCC4: call [edx+10h] L0046BCC7: mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 8 SUB_L0046BCE0: push ebp mov ebp,esp mov ecx,[ebp+08h] xor eax,eax mov al,[ecx] mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ecx,[eax+ecx] push ecx call jmp_WSOCK32.dll!WSOCK32.14 push eax mov ecx,L006A9D38 call SUB_L004616C0 mov edx,[L0073EBE4] mov [edx+000001F4h],eax pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L0046BD30: push ebp mov ebp,esp mov eax,[L0073EBE4] mov dword ptr [eax+000001F4h],00000000h pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L0046BD50: push ebp mov ebp,esp sub esp,00000008h push ebx mov ebx,[ebp+08h] xor eax,eax mov dword ptr [ebp-04h],00000000h mov al,[ebx] push esi push edi mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ecx,[eax+ebx] push ecx call jmp_WSOCK32.dll!WSOCK32.14 mov [ebp-08h],eax xor eax,eax mov al,[ebx] mov edx,[ebp-04h] add edx,00000004h or ecx,FFFFFFFFh mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,edx add edx,0000001Eh add eax,ebx mov [ebp-04h],edx mov edi,eax xor eax,eax repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,L00669C1C shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb xor ecx,ecx mov cl,[ebx] mov ax,[L004CDCB4+ecx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,edx mov ax,[eax+ebx] push eax mov [L00669C42],ax call jmp_WSOCK32.dll!WSOCK32.15 xor edx,edx mov [L00669C42],ax mov dl,[ebx] mov ecx,[ebp-04h] add ecx,00000002h mov ax,[L004CDCB4+edx*8] mov [ebp-04h],ecx and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,ecx mov ax,[eax+ebx] push eax mov [L00669C44],ax call jmp_WSOCK32.dll!WSOCK32.15 mov [L00669C44],ax mov edi,[ebp-04h] xor eax,eax add edi,00000002h mov al,[ebx] mov [ebp-04h],edi mov ax,[L004CDCB4+eax*8] and ax,8000h mov si,ax neg si sbb esi,esi and esi,00000002h inc esi and esi,0000FFFFh add esi,edi inc edi mov cl,[esi+ebx] mov si,ax neg si sbb esi,esi mov [ebp+0Bh],cl and esi,00000002h mov [ebp-04h],edi inc esi and esi,0000FFFFh add esi,edi inc edi mov cl,[esi+ebx] mov [ebp-04h],edi test cl,cl jz L0046C08B neg ax sbb eax,eax and eax,00000002h inc eax and eax,0000FFFFh add eax,edi inc edi mov dl,[eax+ebx] xor eax,eax mov [L00669C3A],dl mov al,[ebx] mov [ebp-04h],edi mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,edi mov ax,[eax+ebx] push eax mov [L00669C3C],ax call jmp_WSOCK32.dll!WSOCK32.15 mov [L00669C3C],ax mov eax,[ebp-04h] mov esi,00000002h mov ecx,ebx add eax,esi mov [ebp-04h],eax call SUB_L0046AA70 mov edx,[ebp-04h] and eax,0000FFFFh add eax,edx mov ax,[eax+ebx] push eax mov [L00669C3E],ax call jmp_WSOCK32.dll!WSOCK32.15 mov [L00669C3E],ax mov eax,[ebp-04h] add eax,esi mov ecx,ebx mov [ebp-04h],eax call SUB_L0046AA70 mov edx,[ebp-04h] and eax,0000FFFFh add eax,edx mov ax,[eax+ebx] push eax mov [L00669C40],ax call jmp_WSOCK32.dll!WSOCK32.15 mov [L00669C40],ax mov eax,[ebp-04h] add eax,esi mov ecx,ebx mov [ebp-04h],eax call SUB_L0046AA70 mov edx,[ebp-04h] and eax,0000FFFFh add eax,edx mov ax,[eax+ebx] push eax mov [L00669C46],ax call jmp_WSOCK32.dll!WSOCK32.15 mov [L00669C46],ax mov eax,[ebp-04h] add eax,esi mov ecx,ebx mov [ebp-04h],eax call SUB_L0046AA70 mov edx,[ebp-04h] and eax,0000FFFFh add eax,edx mov ax,[eax+ebx] push eax mov [L00669C48],ax call jmp_WSOCK32.dll!WSOCK32.15 mov [L00669C48],ax mov eax,[ebp-04h] add eax,esi mov ecx,ebx mov [ebp-04h],eax call SUB_L0046AA70 mov edx,[ebp-04h] and eax,0000FFFFh add eax,edx mov ax,[eax+ebx] push eax mov [L00669C4A],ax call jmp_WSOCK32.dll!WSOCK32.15 mov [L00669C4A],ax mov eax,[ebp-04h] add eax,esi mov ecx,ebx mov [ebp-04h],eax call SUB_L0046AA70 mov edx,[ebp-04h] and eax,0000FFFFh add eax,edx mov ax,[eax+ebx] push eax mov [L00669C4C],ax call jmp_WSOCK32.dll!WSOCK32.15 mov edi,[ebp-04h] mov ecx,ebx add edi,esi mov [L00669C4C],ax mov [ebp-04h],edi call SUB_L0046AA70 mov ecx,[ebp-04h] and eax,0000FFFFh add eax,ecx mov eax,[eax+ebx] push eax mov [L00669C50],eax call jmp_WSOCK32.dll!WSOCK32.14 mov edx,[ebp-04h] mov ecx,ebx add edx,00000004h mov [L00669C50],eax mov [ebp-04h],edx call SUB_L0046AA70 mov edi,[ebp-04h] and eax,0000FFFFh add eax,edi mov ax,[eax+ebx] push eax mov [L00669C54],ax call jmp_WSOCK32.dll!WSOCK32.15 mov ecx,[ebp-04h] push L00669C56 add ecx,esi lea edx,[ebp-04h] mov [ebp-04h],ecx mov ecx,ebx mov [L00669C54],ax call SUB_L004687E0 xor edi,edi jmp L0046C0D9 L0046C08B: xor edi,edi mov byte ptr [L00669C3A],00h mov [L00669C3C],di mov [L00669C3E],di mov [L00669C40],di mov [L00669C46],di mov [L00669C48],di mov [L00669C4A],di mov [L00669C4C],di mov [L00669C50],edi mov [L00669C54],di mov [L00669C56],di L0046C0D9: mov ecx,[ebp-08h] push ecx mov ecx,L006A9D38 call SUB_L004616C0 mov ebx,[L00669620] mov esi,eax cmp ebx,edi mov [ebp-08h],esi jz L0046C175 L0046C0F6: mov edx,[ebx] mov ecx,ebx call [edx+000000C8h] test eax,eax jz L0046C13F cmp [ebx+34h],esi jnz L0046C13F mov al,[ebp+0Bh] lea edi,[ebx+00000094h] mov ecx,00000011h mov esi,L00669C14 test al,al rep movsd jz L0046C129 mov ecx,ebx call SUB_L0047A770 L0046C129: push 00000001h push 00000001h push 00000001h push 00000001h mov ecx,ebx call SUB_L0047A030 mov esi,[ebp-08h] xor edi,edi jmp L0046C16E L0046C13F: mov eax,[ebx] mov ecx,ebx call [eax+000000BCh] test eax,eax jz L0046C16E cmp esi,[L0073EBE4] jnz L0046C16E mov cx,[L00669C50] mov [ebx+000000D0h],cx mov ecx,[ebx+000000D8h] call SUB_L00480740 L0046C16E: mov ebx,[ebx+3Ch] cmp ebx,edi jnz L0046C0F6 L0046C175: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L0046C180: push ebp mov ebp,esp push ebx push esi mov esi,[ebp+08h] xor eax,eax push edi mov al,[esi] mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ecx,[eax+esi] push ecx call jmp_WSOCK32.dll!WSOCK32.14 xor edx,edx mov edi,eax mov dl,[esi] mov ax,[L004CDCB4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov eax,[eax+esi+04h] push eax call jmp_WSOCK32.dll!WSOCK32.14 test edi,edi mov ebx,eax jz L0046C1E0 test ebx,ebx jnz L0046C224 L0046C1E0: mov edi,L004CD4C4 or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx push eax mov edx,ecx mov esi,edi mov edi,L00669409 push eax shr ecx,02h rep movsd mov ecx,edx push 00000003h and ecx,00000003h push eax rep movsb mov ecx,[L0073EBE4] push SSZ004CD4AC_No_longer_following_ call SUB_L0045DAE0 mov dword ptr [L006695AC],00000000h L0046C224: push ebx mov ecx,L006A9D38 call SUB_L004616C0 mov edx,eax test edx,edx jz L0046C278 mov edi,L004CD4A8 or ecx,FFFFFFFFh xor eax,eax push 00000000h repne scasb not ecx sub edi,ecx push 00000000h mov eax,ecx mov esi,edi mov edi,L00669409 push 00000003h shr ecx,02h rep movsd mov ecx,eax push 00000000h and ecx,00000003h push SSZ004C7D38_Now_following_ rep movsb mov ecx,edx call SUB_L0045DAE0 mov dword ptr [L006695AC],00000001h L0046C278: pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L0046C280: push ebp mov ebp,esp push FFFFFFFFh push L004B47C6 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000008h push ebx push esi mov esi,[ebp+08h] xor eax,eax push edi mov ebx,00000001h mov al,[esi] mov ax,[L004CDCB4+eax*8] and ax,8000h mov cx,ax neg cx sbb ecx,ecx and ecx,00000002h inc ecx and ecx,0000FFFFh mov cl,[ecx+esi] cmp cl,FEh mov [ebp+0Bh],cl jnz L0046C3C3 neg ax sbb eax,eax and eax,00000002h inc eax and eax,0000FFFFh mov ax,[eax+esi+01h] push eax mov [L00767188],ax call jmp_WSOCK32.dll!WSOCK32.15 mov [L00767188],ax mov eax,[L00767188] xor ebx,ebx mov edi,00000003h test eax,eax jle L0046C5DF mov dword ptr [ebp+08h],L00764170 L0046C317: xor ecx,ecx mov cl,[esi] mov ax,[L004CDCB4+ecx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,edi inc edi mov dl,[eax+esi] xor eax,eax mov [ebx+L00767328],dl mov al,[esi] mov cx,[L004CDCB4+eax*8] and cx,8000h mov ax,cx neg ax sbb eax,eax and eax,00000002h inc eax and eax,0000FFFFh add eax,edi inc edi neg cx sbb ecx,ecx mov dl,[eax+esi] and ecx,00000002h mov [ebp-14h],dl inc ecx mov eax,[ebp-14h] and ecx,0000FFFFh and eax,000000FFh add ecx,edi add edi,eax add ecx,esi push ecx mov ecx,[ebp+08h] push L004C9018 push ecx call SUB_L0049AC80 mov ecx,[ebp+08h] mov eax,[L00767188] add esp,0000000Ch inc ebx add ecx,00000050h cmp ebx,eax mov [ebp+08h],ecx jl L0046C317 mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L0046C3C3: cmp cl,FFh jnz L0046C42D neg ax sbb eax,eax and eax,00000002h inc eax and eax,0000FFFFh mov dx,[eax+esi+01h] push edx call jmp_WSOCK32.dll!WSOCK32.15 mov edi,eax xor eax,eax mov al,[esi] mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov cx,[eax+esi+03h] push ecx call jmp_WSOCK32.dll!WSOCK32.15 mov ecx,[L00669660] and edi,0000FFFFh test ecx,ecx mov [L007B8460+edi*2],ax jz L0046C5DF push FFFFFFFFh jmp L0046C5DA L0046C42D: xor edi,edi cmp cl,01h mov [ebp-10h],edi jnz L0046C47B push 00000188h call SUB_L0049A820 add esp,00000004h mov [ebp-14h],eax cmp eax,edi mov [ebp-04h],edi jz L0046C45B push 00000064h push 00000064h mov ecx,eax call SUB_L00484F20 mov edi,eax L0046C45B: push 00000001h push 00000000h mov ecx,edi mov dword ptr [ebp-04h],FFFFFFFFh mov [ebp-10h],edi call SUB_L004415C0 push 00000001h mov ecx,edi call SUB_L00488290 jmp L0046C48D L0046C47B: test cl,cl jnz L0046C48D mov ecx,00000019h xor eax,eax mov edi,L007B8460 rep stosd L0046C48D: mov dword ptr [ebp-14h],00000000h L0046C494: xor edx,edx mov dl,[esi] mov ax,[L004CDCB4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,ebx mov ax,[eax+esi] push eax call jmp_WSOCK32.dll!WSOCK32.15 mov edi,eax add ebx,00000002h test di,di jz L0046C52E xor ecx,ecx mov cl,[esi] mov ax,[L004CDCB4+ecx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,ebx mov dx,[eax+esi] push edx call jmp_WSOCK32.dll!WSOCK32.15 mov cl,[ebp+0Bh] add ebx,00000002h test cl,cl jnz L0046C508 and edi,0000FFFFh mov [L007B845E+edi*2],ax jmp L0046C51E L0046C508: cmp cl,01h jnz L0046C51E mov ecx,[ebp-10h] and edi,0000FFFFh dec edi push eax push edi call SUB_L004882A0 L0046C51E: mov eax,[ebp-14h] inc eax cmp eax,00000032h mov [ebp-14h],eax jl L0046C494 L0046C52E: mov al,[ebp+0Bh] test al,al jnz L0046C5D1 mov ecx,[L00669660] mov eax,[L004D7E08] test ecx,ecx jz L0046C56F test eax,eax jz L0046C56B push 00000000h call SUB_L00441340 mov ecx,[L00669660] mov eax,[ecx+60h] test eax,eax jz L0046C56B call SUB_L0040D760 mov ecx,[L00669660] L0046C56B: push FFFFFFFFh jmp L0046C5DA L0046C56F: test eax,eax jz L0046C5DF push 00000188h call SUB_L0049A820 add esp,00000004h mov [ebp+08h],eax test eax,eax mov dword ptr [ebp-04h],00000001h jz L0046C59B push 00000064h push 00000064h mov ecx,eax call SUB_L00484F20 jmp L0046C59D L0046C59B: xor eax,eax L0046C59D: push 00000001h push 00000000h mov ecx,eax mov dword ptr [ebp-04h],FFFFFFFFh mov [L00669660],eax call SUB_L004415C0 mov dword ptr [L004D7E08],00000000h mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L0046C5D1: cmp al,01h jnz L0046C5DF mov ecx,[ebp-10h] push FFFFFFFFh L0046C5DA: call SUB_L00486F70 L0046C5DF: mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L0046C600: push ebp mov ebp,esp push ebx push esi mov esi,[ebp+08h] xor eax,eax push edi mov al,[esi] mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ecx,[eax+esi] push ecx call jmp_WSOCK32.dll!WSOCK32.14 xor edx,edx push eax mov dl,[esi] mov cx,[L004CDCB4+edx*8] and ecx,00008000h or ch,40h shr ecx,0Eh and ecx,0000FFFFh mov bl,[ecx+esi+04h] mov ecx,L006A9D38 call SUB_L004616C0 test eax,eax mov [ebp+08h],eax jz L0046C71D cmp bl,01h jnz L0046C6BD mov esi,[L00669620] test esi,esi jz L0046C71D L0046C679: mov eax,[esi] mov edi,[esi+3Ch] mov ecx,esi call [eax+000000BCh] test eax,eax jz L0046C6B0 mov ecx,[ebp+08h] mov eax,[esi+34h] cmp eax,ecx jnz L0046C6B0 mov ecx,esi mov dword ptr [esi+000000BCh],00000000h call SUB_L0047F310 mov ecx,[esi+000000D8h] call SUB_L00480740 L0046C6B0: test edi,edi mov esi,edi jnz L0046C679 pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ L0046C6BD: test eax,eax jz L0046C71D test bl,bl jnz L0046C71D mov esi,[L00669620] test esi,esi jz L0046C71D L0046C6CF: mov edx,[esi] mov edi,[esi+3Ch] mov ecx,esi call [edx+000000BCh] test eax,eax jz L0046C717 mov eax,[ebp+08h] mov ecx,[esi+34h] cmp ecx,eax jnz L0046C717 cmp edi,[esi+000000D8h] jnz L0046C6F5 mov edi,[edi+3Ch] L0046C6F5: mov ebx,[L007121E4] mov dword ptr [L007121E4],00000001h test esi,esi jz L0046C711 mov edx,[esi] push 00000001h mov ecx,esi call [edx] L0046C711: mov [L007121E4],ebx L0046C717: test edi,edi mov esi,edi jnz L0046C6CF L0046C71D: pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L0046C730: push ebp mov ebp,esp push ebx push esi mov esi,[ebp+08h] xor eax,eax push edi mov al,[esi] mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov cx,[eax+esi] push ecx call jmp_WSOCK32.dll!WSOCK32.15 xor edx,edx mov edi,eax mov dl,[esi] mov ax,[L004CDCB4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ax,[eax+esi+02h] push eax call jmp_WSOCK32.dll!WSOCK32.15 xor ecx,ecx mov ebx,eax mov cl,[esi] mov ax,[L004CDCB4+ecx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov dx,[eax+esi+04h] push edx call jmp_WSOCK32.dll!WSOCK32.15 push eax mov edx,ebx mov ecx,edi call SUB_L00453900 pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L0046C7D0: push ebp mov ebp,esp push ecx push ebx push esi mov esi,[ebp+08h] xor eax,eax push edi mov al,[esi] mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ecx,[eax+esi] push ecx call jmp_WSOCK32.dll!WSOCK32.14 xor edx,edx mov [ebp-04h],eax mov dl,[esi] mov ax,[L004CDCB4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov eax,[eax+esi+04h] push eax call jmp_WSOCK32.dll!WSOCK32.14 xor ecx,ecx mov [ebp+08h],eax mov cl,[esi] mov ebx,00000008h mov ax,[L004CDCB4+ecx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh lea esi,[eax+esi+08h] L0046C850: mov edi,00000020h L0046C855: mov dx,[esi] push edx call jmp_WSOCK32.dll!WSOCK32.15 mov [esi],ax add esi,00000002h dec edi jnz L0046C855 mov ax,[esi] push eax call jmp_WSOCK32.dll!WSOCK32.15 mov [esi],ax mov cx,[esi+02h] add esi,00000002h push ecx call jmp_WSOCK32.dll!WSOCK32.15 mov [esi],ax add esi,00000016h dec ebx jnz L0046C850 mov eax,[L007121B8] test eax,eax jz L0046C8BF mov eax,[L007B7DB8] mov esi,[ebp-04h] mov edx,[ebp+08h] lea ecx,[esi+eax] push edx push ecx mov ecx,L005493E0 call SUB_L0048B8A0 mov edx,[L007B7DB8] mov ecx,L005493E0 add esi,edx push esi call SUB_L0046E100 L0046C8BF: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L0046C8D0: push ebp mov ebp,esp sub esp,0000006Ch push esi push edi lea ecx,[ebp-6Ch] call SUB_L0047D390 mov esi,[ebp+08h] xor eax,eax push 00000028h lea ecx,[ebp-6Ch] mov al,[esi] mov dword ptr [ebp-04h],00000028h mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,esi push eax push ecx call SUB_L0049B200 xor edx,edx add esp,0000000Ch mov dl,[esi] mov ax,[L004CDCB4+edx*8] mov edx,[ebp-04h] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,edx mov eax,[eax+esi] push eax call jmp_WSOCK32.dll!WSOCK32.14 xor edx,edx mov ecx,[ebp-04h] mov dl,[esi] add ecx,00000004h mov [ebp-04h],ecx mov ax,[L004CDCB4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,ecx mov ax,[eax+esi] mov [ebp-44h],ax mov ecx,[ebp-44h] push ecx call jmp_WSOCK32.dll!WSOCK32.15 xor edx,edx mov ecx,[ebp-04h] mov dl,[esi] mov [ebp-44h],ax mov edi,00000002h mov ax,[L004CDCB4+edx*8] add ecx,edi and eax,00008000h mov [ebp-04h],ecx or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,ecx mov ax,[eax+esi] mov [ebp-42h],ax mov ecx,[ebp-42h] push ecx call jmp_WSOCK32.dll!WSOCK32.15 xor edx,edx mov ecx,[ebp-04h] mov dl,[esi] mov [ebp-42h],ax add ecx,edi mov ax,[L004CDCB4+edx*8] mov [ebp-04h],ecx and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,ecx mov ax,[eax+esi] mov [ebp-40h],ax mov ecx,[ebp-40h] push ecx call jmp_WSOCK32.dll!WSOCK32.15 xor edx,edx mov ecx,[ebp-04h] mov dl,[esi] mov [ebp-40h],ax add ecx,edi mov ax,[L004CDCB4+edx*8] mov [ebp-04h],ecx and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,ecx mov ax,[eax+esi] mov [ebp-3Eh],ax mov ecx,[ebp-3Eh] push ecx call jmp_WSOCK32.dll!WSOCK32.15 mov edx,[ebp-04h] mov ecx,esi add edx,edi mov [ebp-3Eh],ax mov [ebp-04h],edx call SUB_L0046AA70 mov edx,[ebp-04h] and eax,0000FFFFh add eax,edx mov dx,[eax+esi] mov [ebp-3Ch],dx mov eax,[ebp-3Ch] push eax call jmp_WSOCK32.dll!WSOCK32.15 mov [ebp-3Ch],ax mov eax,[ebp-04h] add eax,edi mov ecx,esi mov [ebp-04h],eax call SUB_L0046AA70 mov ecx,[ebp-04h] and eax,0000FFFFh add eax,ecx mov cx,[eax+esi] mov [ebp-3Ah],cx mov edx,[ebp-3Ah] push edx call jmp_WSOCK32.dll!WSOCK32.15 mov edx,[ebp-04h] mov ecx,esi add edx,edi mov [ebp-3Ah],ax mov [ebp-04h],edx call SUB_L0046AA70 mov edx,[ebp-04h] and eax,0000FFFFh add eax,edx mov eax,[eax+esi] push eax call jmp_WSOCK32.dll!WSOCK32.14 mov edx,[ebp-04h] mov ecx,esi add edx,00000004h mov [ebp-04h],edx call SUB_L0046AA70 mov ecx,[ebp-04h] and eax,0000FFFFh add eax,ecx push 00000028h add eax,esi add ecx,00000028h push eax lea eax,[ebp-38h] push eax mov [ebp-04h],ecx call SUB_L0049B200 add esp,0000000Ch mov ecx,esi call SUB_L0046AA70 mov edx,[ebp-04h] and eax,0000FFFFh add eax,edx mov cx,[eax+esi] mov [ebp-10h],cx mov edx,[ebp-10h] push edx call jmp_WSOCK32.dll!WSOCK32.15 mov [ebp-10h],ax mov eax,[ebp-04h] add eax,edi mov ecx,esi mov [ebp-04h],eax call SUB_L0046AA70 mov ecx,[ebp-04h] and eax,0000FFFFh add eax,ecx mov ax,[eax+esi] mov [ebp-0Eh],ax mov ecx,[ebp-0Eh] push ecx call jmp_WSOCK32.dll!WSOCK32.15 mov [ebp-0Eh],ax mov eax,[ebp-04h] add eax,edi mov ecx,esi mov [ebp-04h],eax call SUB_L0046AA70 mov ecx,[ebp-04h] and eax,0000FFFFh add eax,ecx mov dx,[eax+esi] mov [ebp-0Ch],dx mov eax,[ebp-0Ch] push eax call jmp_WSOCK32.dll!WSOCK32.15 mov ecx,[ebp-04h] mov [ebp-0Ch],ax add ecx,edi mov [ebp-04h],ecx mov ecx,esi call SUB_L0046AA70 mov cx,ax mov eax,[ebp-04h] and ecx,0000FFFFh add ecx,eax inc eax mov dl,[ecx+esi] mov [ebp-04h],eax lea eax,[ebp-08h] mov [ebp-0Ah],dl push eax lea edx,[ebp-04h] mov ecx,esi call SUB_L004687E0 pop edi pop esi mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L0046CBB0: push ebp mov ebp,esp push esi mov esi,[ebp+08h] xor eax,eax push edi mov al,[esi] mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ecx,[eax+esi] push ecx call jmp_WSOCK32.dll!WSOCK32.14 xor edx,edx mov edi,eax mov dl,[esi] mov ax,[L004CDCB4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov eax,[eax+esi+04h] push eax call jmp_WSOCK32.dll!WSOCK32.14 xor ecx,ecx mov edx,[L007121B8] mov cl,[esi] mov cx,[L004CDCB4+ecx*8] and ecx,00008000h or ch,40h shr ecx,0Eh and ecx,0000FFFFh test edx,edx lea ecx,[ecx+esi+08h] jz L0046CC51 push ecx push eax push edi mov ecx,L005493F8 call SUB_L00441F50 mov edx,[L007B7DE4] mov ecx,L005493E0 add edi,edx push edi call SUB_L0046E100 L0046CC51: pop edi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L0046CC60: push ebp mov ebp,esp push ebx push esi mov esi,[ebp+08h] xor eax,eax push edi mov al,[esi] mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ecx,[eax+esi] push ecx call jmp_WSOCK32.dll!WSOCK32.14 xor edx,edx mov [ebp+08h],eax mov dl,[esi] mov ax,[L004CDCB4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh lea edi,[eax+esi+04h] mov eax,[eax+esi+04h] push eax call jmp_WSOCK32.dll!WSOCK32.14 lea esi,[edi+04h] mov [edi],eax mov ebx,eax mov eax,[esi] push eax call jmp_WSOCK32.dll!WSOCK32.14 mov [esi],eax add esi,00000004h test ebx,ebx jle L0046CCF3 L0046CCD3: mov cx,[esi] push ecx call jmp_WSOCK32.dll!WSOCK32.15 mov dx,[esi+05h] mov [esi],ax push edx call jmp_WSOCK32.dll!WSOCK32.15 mov [esi+05h],ax add esi,00000007h dec ebx jnz L0046CCD3 L0046CCF3: mov eax,[L007121B8] test eax,eax jz L0046CD1D mov esi,[ebp+08h] push edi push esi mov ecx,L006AAA98 call SUB_L0048B8A0 mov eax,[L007B7E00] mov ecx,L005493E0 add esi,eax push esi call SUB_L0046E100 L0046CD1D: pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L0046CD30: push ebp mov ebp,esp push ecx push ebx push esi mov esi,[ebp+08h] xor eax,eax push edi mov al,[esi] mov cx,[L004CDCB4+eax*8] and cx,8000h jz L0046CD53 mov di,[esi+01h] jmp L0046CD61 L0046CD53: mov dx,[L00767368] mov [ebp+08h],dx mov edi,[ebp+08h] L0046CD61: mov ax,cx and edi,0000FFFFh neg ax sbb eax,eax and eax,00000002h inc eax and eax,0000FFFFh neg cx sbb ecx,ecx mov [ebp+08h],eax and ecx,00000002h inc ecx and ecx,0000FFFFh mov eax,[ecx+esi] push eax call jmp_WSOCK32.dll!WSOCK32.14 xor ecx,ecx mov ebx,eax mov cl,[esi] mov ax,[L004CDCB4+ecx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov edx,[eax+esi+04h] push edx call jmp_WSOCK32.dll!WSOCK32.14 mov [ebp-04h],eax mov eax,[ebp+08h] sub edi,eax xor eax,eax mov al,[esi] mov ecx,[L007121B8] sub edi,00000008h mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh test ecx,ecx lea eax,[eax+esi+08h] jz L0046CE43 push edi push eax mov ecx,L00712390 call SUB_L00458E70 mov esi,eax push edi mov edi,[ebp-04h] push esi push edi push ebx push 0000000Eh push 0000000Dh mov ecx,L006AA860 call SUB_L00446260 push esi call SUB_L0049A810 mov ecx,[L007B7DEC] add esp,00000004h lea edx,[ebx+ecx] push edi push edx mov ecx,L005493E0 call SUB_L0048B8A0 mov eax,[L007B7DEC] mov ecx,L005493E0 add ebx,eax push ebx call SUB_L0046E100 L0046CE43: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 8 SUB_L0046CE50: push ebp mov ebp,esp push ecx push ebx push esi push edi mov edi,[ebp+08h] xor eax,eax mov al,[edi] mov cx,[L004CDCB4+eax*8] and cx,8000h jz L0046CE73 mov si,[edi+01h] jmp L0046CE81 L0046CE73: mov dx,[L00767368] mov [ebp+08h],dx mov esi,[ebp+08h] L0046CE81: mov ax,cx and esi,0000FFFFh neg ax sbb eax,eax and eax,00000002h inc eax and eax,0000FFFFh mov ebx,eax mov ax,cx neg ax sbb eax,eax and eax,00000002h inc eax and eax,0000FFFFh neg cx sbb ecx,ecx mov al,[eax+edi] and ecx,00000002h mov [ebp+08h],al inc ecx and ecx,0000FFFFh mov ecx,[ecx+edi+01h] push ecx call jmp_WSOCK32.dll!WSOCK32.14 xor edx,edx mov ecx,eax mov dl,[edi] sub esi,ebx sub esi,00000005h mov [ebp-04h],ecx mov ax,[L004CDCB4+edx*8] mov edx,[L007121B8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh test edx,edx lea eax,[eax+edi+05h] jz L0046CF43 mov edi,[ebp+08h] push esi and edi,000000FFh push eax push ecx push edi push 00000010h push 0000000Fh mov ecx,L006AA860 call SUB_L00446260 mov ecx,[L007B7DCC] mov eax,[ebp-04h] add ecx,edi push eax push ecx mov ecx,L005493E0 call SUB_L0048B8A0 mov edx,[L007B7DCC] mov ecx,L005493E0 add edx,edi push edx call SUB_L0046E100 L0046CF43: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 8 SUB_L0046CF50: push ebp mov ebp,esp mov ecx,[ebp+08h] xor eax,eax push ebx push esi mov al,[ecx] push edi mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,ecx mov edi,eax mov ecx,[edi] push ecx call jmp_WSOCK32.dll!WSOCK32.14 mov [edi],eax lea esi,[edi+04h] mov ebx,00000040h L0046CF8B: mov dx,[esi] push edx call jmp_WSOCK32.dll!WSOCK32.15 mov [esi],ax add esi,00000003h dec ebx jnz L0046CF8B mov eax,[edi+000000C4h] push eax call jmp_WSOCK32.dll!WSOCK32.14 mov esi,[edi] mov [edi+000000C4h],eax mov eax,[L007121B8] test eax,eax jz L0046CFD9 push edi push esi mov ecx,L006AAA98 call SUB_L0048B8A0 mov ecx,[L007B7E04] add esi,ecx mov ecx,L005493E0 push esi call SUB_L0046E100 L0046CFD9: pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ SUB_L0046CFE0: push ebp mov ebp,esp push esi mov esi,[ebp+08h] xor eax,eax push edi mov al,[esi] mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ecx,[eax+esi] push ecx call jmp_WSOCK32.dll!WSOCK32.14 mov edi,eax mov eax,[L007121B8] test eax,eax mov [ebp+08h],edi jz L0046D101 xor edx,edx push ebx mov dl,[esi] mov ax,[L004CDCB4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh lea ebx,[eax+esi+04h] mov eax,[eax+esi+04h] push eax call jmp_WSOCK32.dll!WSOCK32.14 cmp edi,00000200h mov [ebx],eax lea esi,[ebx+04h] mov edi,00000020h jge L0046D08D L0046D05C: mov eax,[esi] push eax call jmp_WSOCK32.dll!WSOCK32.14 mov [esi],eax mov cx,[esi+04h] add esi,00000004h push ecx call jmp_WSOCK32.dll!WSOCK32.15 mov [esi],ax add esi,00000016h dec edi jnz L0046D05C mov edx,[ebp+08h] push ebx push edx mov ecx,L006A9D38 call SUB_L0045FD30 jmp L0046D0EA L0046D08D: mov eax,[esi] push eax call jmp_WSOCK32.dll!WSOCK32.14 mov [esi],eax mov eax,[esi+06h] add esi,00000006h push eax call jmp_WSOCK32.dll!WSOCK32.14 mov [esi],eax mov ax,[esi+04h] add esi,00000004h push eax call jmp_WSOCK32.dll!WSOCK32.15 mov [esi],ax mov cx,[esi+02h] add esi,00000002h push ecx call jmp_WSOCK32.dll!WSOCK32.15 mov [esi],ax mov dx,[esi+02h] add esi,00000002h push edx call jmp_WSOCK32.dll!WSOCK32.15 mov [esi],ax add esi,00000017h dec edi jnz L0046D08D mov eax,[ebp+08h] push ebx push eax mov ecx,L006A9D38 call SUB_L0045FA00 L0046D0EA: mov ecx,[L007B7DD8] mov edx,[ebp+08h] add edx,ecx mov ecx,L005493E0 push edx call SUB_L0046E100 pop ebx L0046D101: pop edi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L0046D110: push ebp mov ebp,esp push ebx push esi mov esi,[ebp+08h] xor eax,eax push edi xor edi,edi mov al,[esi] mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ecx,[eax+esi] push ecx call jmp_WSOCK32.dll!WSOCK32.14 xor edx,edx mov ebx,eax mov dl,[esi] mov ax,[L004CDCB4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov eax,[eax+esi+04h] push eax call jmp_WSOCK32.dll!WSOCK32.14 xor ecx,ecx mov [ebp+08h],eax mov cl,[esi] mov ax,[L004CDCB4+ecx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov edx,[eax+esi+08h] push edx call jmp_WSOCK32.dll!WSOCK32.14 cmp eax,FFFFFFFFh jz L0046D1B8 xor ecx,ecx mov cl,[esi] mov cx,[L004CDCB4+ecx*8] and ecx,00008000h or ch,40h shr ecx,0Eh and ecx,0000FFFFh lea edi,[ecx+esi+0Ch] L0046D1B8: mov ecx,[L007121B8] test ecx,ecx jz L0046D1E5 mov edx,[ebp+08h] mov ecx,L006AAE78 push edx push eax push ebx push edi call SUB_L0043BCE0 mov eax,[L007B7DC4] mov ecx,L005493E0 add ebx,eax push ebx call SUB_L0046E100 L0046D1E5: pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 8 SUB_L0046D1F0: push ebp mov ebp,esp sub esp,00000020h push esi mov esi,[ebp+08h] xor eax,eax push edi mov al,[esi] mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ecx,[eax+esi] push ecx call jmp_WSOCK32.dll!WSOCK32.14 xor edx,edx mov edi,eax mov dl,[esi] mov ax,[L004CDCB4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov eax,[eax+esi+04h] push eax mov [ebp-20h],eax call jmp_WSOCK32.dll!WSOCK32.14 mov [ebp-20h],eax xor eax,eax mov al,[esi] mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov eax,[eax+esi+08h] push eax mov [ebp-1Ch],eax call jmp_WSOCK32.dll!WSOCK32.14 xor ecx,ecx mov [ebp-1Ch],eax mov cl,[esi] mov ax,[L004CDCB4+ecx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov eax,[eax+esi+0Ch] push eax mov [ebp-18h],eax call jmp_WSOCK32.dll!WSOCK32.14 xor edx,edx mov [ebp-18h],eax mov dl,[esi] mov ax,[L004CDCB4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov eax,[eax+esi+10h] push eax mov [ebp-14h],eax call jmp_WSOCK32.dll!WSOCK32.14 mov [ebp-14h],eax xor eax,eax mov al,[esi] mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov eax,[eax+esi+14h] push eax mov [ebp-10h],eax call jmp_WSOCK32.dll!WSOCK32.14 xor ecx,ecx mov [ebp-10h],eax mov cl,[esi] mov ax,[L004CDCB4+ecx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov eax,[eax+esi+18h] push eax mov [ebp-0Ch],eax call jmp_WSOCK32.dll!WSOCK32.14 xor edx,edx mov [ebp-0Ch],eax mov dl,[esi] mov ax,[L004CDCB4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov eax,[eax+esi+1Ch] push eax mov [ebp-08h],eax call jmp_WSOCK32.dll!WSOCK32.14 mov [ebp-08h],eax xor eax,eax mov al,[esi] mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov eax,[eax+esi+20h] push eax mov [ebp-04h],eax call jmp_WSOCK32.dll!WSOCK32.14 mov [ebp-04h],eax mov eax,[L007121B8] test eax,eax jz L0046D39A lea ecx,[ebp-20h] push ecx push edi mov ecx,L005493E0 call SUB_L0048B8A0 L0046D39A: pop edi pop esi mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L0046D3B0: push ebp mov ebp,esp mov ecx,[ebp+08h] xor eax,eax mov al,[ecx] mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ecx,[eax+ecx] push ecx call jmp_WSOCK32.dll!WSOCK32.14 mov ecx,[L007121B8] test ecx,ecx jz L0046D3F0 push eax mov ecx,L005493E0 call SUB_L0046E100 L0046D3F0: pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L0046D400: push ebp mov ebp,esp push ebx push esi mov esi,[ebp+08h] xor eax,eax mov al,[esi] mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ecx,[eax+esi] push ecx call jmp_WSOCK32.dll!WSOCK32.14 xor edx,edx push eax mov dl,[esi] mov cx,[L004CDCB4+edx*8] and ecx,00008000h or ch,40h shr ecx,0Eh and ecx,0000FFFFh mov bl,[ecx+esi+04h] mov ecx,L006A9D38 call SUB_L004616C0 test eax,eax jz L0046D469 movsx ecx,bl push ecx mov ecx,eax call SUB_L0045E0C0 L0046D469: pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L0046D470: push ebp mov ebp,esp mov ecx,[ebp+08h] xor eax,eax xor edx,edx mov al,[ecx] mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov dl,[eax+ecx] xor eax,eax mov [L006BB5D4],edx mov al,[ecx] xor edx,edx mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov dl,[eax+ecx+01h] xor eax,eax mov [L006BB5D8],edx mov al,[ecx] mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh xor edx,edx mov dl,[eax+ecx+02h] mov [L006BB5DC],edx pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L0046D500: push ebp mov ebp,esp sub esp,00000100h mov ecx,[ebp+08h] xor eax,eax mov al,[ecx] mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov cl,[eax+ecx] mov [ebp+08h],cl mov ecx,[L00669674] test ecx,ecx jz L0046D548 mov edx,[ecx] push 00000001h call [edx] mov dword ptr [L00669674],00000000h L0046D548: mov ecx,[L00669670] test ecx,ecx jz L0046D562 mov eax,[ecx] push 00000001h call [eax] mov dword ptr [L00669670],00000000h L0046D562: mov eax,[ebp+08h] and eax,000000FFh cmp eax,00000007h ja CASE_0046D72C_PROC0003 jmp [CASE_PROCTABLE_0046D72C+eax*4] CASE_0046D72C_PROC0007: mov ecx,[L00669644] push 00000000h push 00000000h push 00000001h push ecx push SSZ004CD740_You_have_been_idle_for_too_long_ mov ecx,L00669608 call SUB_L0043F200 mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0046D72C_PROC0002: push SSZ004CD714_This_character_already_exists__P jmp L0046D5B1 CASE_0046D72C_PROC0000: mov eax,[L00669644] test eax,eax jz L0046D5E3 push SSZ004CD700_Incorrect_password_ L0046D5B1: lea edx,[ebp-00000100h] push edx call SUB_L0049AC80 mov eax,[L00669644] add esp,00000008h lea ecx,[ebp-00000100h] push 00000000h push 00000000h push 00000001h push eax push ecx mov ecx,L00669608 call SUB_L0043F200 mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L0046D5E3: lea edx,[ebp-00000100h] push SSZ004CD6D0_You_entered_an_incorrect_passwor push edx call SUB_L0049AC80 mov eax,[L00669644] add esp,00000008h lea ecx,[ebp-00000100h] push 00000000h push 00000001h push 00000001h push eax push ecx mov ecx,L00669608 call SUB_L0043F200 mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0046D72C_PROC0001: mov eax,[L00669644] test eax,eax jz L0046D683 lea edx,[ebp-00000100h] push SSZ004CD688_This_character_does_not_exist_an push edx call SUB_L0049AC80 mov eax,[L006BD428] mov ecx,[L00669644] add esp,00000008h push eax call SUB_L0041E0F0 mov eax,[L006BD428] dec eax mov [L006BD428],eax jns L0046D65F mov dword ptr [L006BD428],00000000h L0046D65F: mov ecx,[L00669644] push 00000000h push 00000000h push 00000001h lea edx,[ebp-00000100h] push ecx push edx mov ecx,L00669608 call SUB_L0043F200 mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L0046D683: lea eax,[ebp-00000100h] push SSZ004CD660_Character_does_not_exist___Closi push eax call SUB_L0049AC80 add esp,00000008h mov edx,SSZ004CD650_Access_Denied_ lea ecx,[ebp-00000100h] push 00000000h call SUB_L0049A0A0 push 00000000h call SUB_L0049B0C0 add esp,00000004h mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0046D72C_PROC0005: mov ecx,[L00669644] push 00000000h push 00000000h push 00000001h push ecx push SSZ004CD5C0_Another_character_from_this_acco mov ecx,L00669608 call SUB_L0043F200 mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0046D72C_PROC0006: mov edx,[L00669644] push 00000000h push 00000000h push 00000001h push edx push SSZ004CD540_An_error_has_occurred_in_the_syn mov ecx,L00669608 call SUB_L0043F200 mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0046D72C_PROC0003: mov eax,[L00669644] push 00000000h test eax,eax push 00000000h push 00000001h jz L0046D70F push eax jmp L0046D715 L0046D70F: mov eax,[L00669648] push eax L0046D715: push SSZ004CD4C8_The_client_could_not_attach_to_t mov ecx,L00669608 call SUB_L0043F200 mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_0046D72C: dd CASE_0046D72C_PROC0000 dd CASE_0046D72C_PROC0001 dd CASE_0046D72C_PROC0002 dd CASE_0046D72C_PROC0003 dd CASE_0046D72C_PROC0003 dd CASE_0046D72C_PROC0005 dd CASE_0046D72C_PROC0006 dd CASE_0046D72C_PROC0007 Align 8 L0046D750: mov ecx,L006BB1C8 call SUB_L004572E0 mov ecx,[L006BAE80] mov eax,00000001h mov [ecx+68h],eax mov ecx,[L006BB5D0] mov [L005492A0],eax call SUB_L0044A3D0 mov ecx,L00669608 call SUB_L00441F60 mov ecx,L00669608 jmp SUB_L00441FD0 Align 8 SUB_L0046D790: push ebp mov ebp,esp mov eax,[L00669674] test eax,eax jnz L0046D7DC mov ecx,L006BB1C8 call SUB_L004572E0 mov ecx,[L006BAE80] mov eax,00000001h mov [ecx+68h],eax mov ecx,[L006BB5D0] mov [L005492A0],eax call SUB_L0044A3D0 mov ecx,L00669608 call SUB_L00441F60 mov ecx,L00669608 call SUB_L00441FD0 pop ebp retn 0004h ;------------------------------------------------------------------------------ L0046D7DC: mov edx,[eax+44h] mov dword ptr [edx+000000C4h],L00411630 pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L0046D7F0: push ebp mov ebp,esp sub esp,00000008h push ebx push esi mov esi,[ebp+08h] xor eax,eax push edi mov al,[esi] mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ecx,[eax+esi] push ecx call jmp_WSOCK32.dll!WSOCK32.14 xor edx,edx mov [ebp-04h],eax mov dl,[esi] mov ax,[L004CDCB4+edx*8] and ax,8000h mov cx,ax neg cx sbb ecx,ecx and ecx,00000002h inc ecx and ecx,0000FFFFh mov cl,[ecx+esi+04h] mov [ebp-08h],cl mov cx,ax neg cx sbb ecx,ecx and ecx,00000002h inc ecx and ecx,0000FFFFh neg ax sbb eax,eax mov dl,[ecx+esi+05h] and eax,00000002h mov [ebp+08h],dl inc eax and eax,0000FFFFh mov ax,[eax+esi+06h] push eax call jmp_WSOCK32.dll!WSOCK32.15 xor ecx,ecx mov edi,eax mov cl,[esi] mov ax,[L004CDCB4+ecx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov dx,[eax+esi+08h] push edx call jmp_WSOCK32.dll!WSOCK32.15 mov ebx,eax mov eax,[ebp-04h] push eax mov ecx,L006A9D38 add edi,00000018h add ebx,0000001Fh call SUB_L004616C0 mov esi,eax test esi,esi jz CASE_0046D9B0_PROC0005 mov edx,[esi] mov ecx,esi call [edx+60h] test eax,eax jz CASE_0046D9B0_PROC0005 mov eax,[esi+000000B0h] test eax,eax mov [ebp-04h],eax jz CASE_0046D9B0_PROC0005 mov ecx,[ebp-08h] mov edx,ecx and edx,000000FFh dec edx cmp edx,00000007h ja CASE_0046D9B0_PROC0005 jmp [CASE_PROCTABLE_0046D9B0+edx*4] CASE_0046D9B0_PROC0006: mov cl,[ebp+08h] xor edx,edx cmp cl,01h setz dl mov esi,edx mov edx,[eax+0000010Ch] test cl,cl mov [eax+000000CCh],esi lea ecx,[ebp-08h] mov [edx+10h],esi mov eax,[eax+0000010Ch] push ecx lea edx,[ebp+08h] jnz L0046D936 mov ecx,[eax+50h] jmp L0046D93C L0046D936: mov ecx,[eax+000000A0h] L0046D93C: call SUB_L004390A0 mov ecx,[ebp-04h] mov eax,[ecx+1Ch] cdq sub eax,edx mov edi,eax mov eax,[ebp+08h] cdq sub eax,edx mov edx,[ecx+0000010Ch] sar edi,1 sar eax,1 sub edi,eax mov [edx+2Ch],edi mov eax,[ecx+00000108h] mov [eax+68h],esi pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0046D9B0_PROC0007: push SSZ004CD7A8_Request_to_edit_denied_ push 00000003h push 00000000h mov ecx,L006693F8 call SUB_L0048C0A0 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0046D9B0_PROC0000: mov edx,[ebp+08h] push ebx push edi push edx push ecx mov ecx,esi call SUB_L0045E4A0 mov ecx,[ebp-04h] call SUB_L0042C6D0 CASE_0046D9B0_PROC0005: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_0046D9B0: dd CASE_0046D9B0_PROC0000 dd CASE_0046D9B0_PROC0000 dd CASE_0046D9B0_PROC0000 dd CASE_0046D9B0_PROC0000 dd CASE_0046D9B0_PROC0000 dd CASE_0046D9B0_PROC0005 dd CASE_0046D9B0_PROC0006 dd CASE_0046D9B0_PROC0007 SUB_L0046D9D0: push ebp mov ebp,esp push FFFFFFFFh push L004B47D8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000008h push ebx push esi push edi mov esi,[ebp+08h] xor eax,eax mov dword ptr [ebp-04h],00000000h mov al,[esi] mov ax,[L004CDCB4+eax*8] and ax,8000h mov cx,ax neg cx sbb ecx,ecx and ecx,00000002h inc ecx and ecx,0000FFFFh neg ax mov bl,[ecx+esi] sbb eax,eax and eax,00000002h inc eax and eax,0000FFFFh mov cx,[eax+esi+01h] push ecx call jmp_WSOCK32.dll!WSOCK32.15 xor edx,edx mov edi,eax mov dl,[esi] mov ax,[L004CDCB4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ax,[eax+esi+03h] push eax call jmp_WSOCK32.dll!WSOCK32.15 xor ecx,ecx mov cl,[esi] mov ax,[L004CDCB4+ecx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov dx,[eax+esi+05h] mov [ebp-14h],dx mov eax,[ebp-14h] push eax call jmp_WSOCK32.dll!WSOCK32.15 xor ecx,ecx mov [ebp-14h],ax mov cl,[esi] mov ax,[L004CDCB4+ecx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov dx,[eax+esi+07h] mov [ebp-12h],dx mov eax,[ebp-12h] push eax call jmp_WSOCK32.dll!WSOCK32.15 xor ecx,ecx mov [ebp-12h],ax mov cl,[esi] mov ax,[L004CDCB4+ecx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov dx,[eax+esi+09h] mov [ebp-10h],dx mov eax,[ebp-10h] push eax call jmp_WSOCK32.dll!WSOCK32.15 test bl,bl mov [ebp-10h],ax jnz L0046DB1D and edi,0000FFFFh mov ecx,L006AAA10 push edi call SUB_L00497330 mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L0046DB1D: cmp di,028Eh ja L0046DB98 mov eax,[L0073EC60] test eax,eax jz L0046DB78 push 00000008h call SUB_L0049A820 mov esi,eax add esp,00000004h mov [esi],di mov edx,[ebp-14h] lea ecx,[esi+02h] push 00000008h push esi push 00000008h mov [ecx],edx mov ax,[ebp-10h] mov [ecx+04h],ax mov ecx,[L0073EC54] call SUB_L00443E80 push esi call SUB_L0049A810 add esp,00000004h mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L0046DB78: push 00000000h push 00000000h push 00000000h lea ecx,[ebp-14h] push 3F800000h and edi,0000FFFFh push ecx push edi mov ecx,L006AAA10 call SUB_L004970F0 L0046DB98: mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 8 SUB_L0046DBB0: push ebp mov ebp,esp push ecx mov edx,[ebp+08h] xor eax,eax mov al,[edx] mov ax,[L004CDCB4+eax*8] and ax,8000h mov cx,ax neg cx sbb ecx,ecx and ecx,00000002h inc ecx and ecx,0000FFFFh mov cl,[ecx+edx] mov [ebp-04h],cl mov cx,ax neg cx sbb ecx,ecx and ecx,00000002h inc ecx and ecx,0000FFFFh neg ax mov cl,[ecx+edx+01h] sbb eax,eax mov [ebp+08h],cl and eax,00000002h mov ecx,[ebp-04h] inc eax and ecx,000000FFh and eax,0000FFFFh movsx edx,[eax+edx+02h] mov eax,[ebp+08h] push edx and eax,000000FFh push eax push ecx mov ecx,L00669428 call SUB_L004945F0 mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L0046DC30: push ebp mov ebp,esp push FFFFFFFFh push L004B47FB mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000010h push ebx push esi mov esi,[ebp+08h] xor eax,eax push edi xor ebx,ebx mov al,[esi] mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ecx,[eax+esi] push ecx call jmp_WSOCK32.dll!WSOCK32.14 xor edx,edx mov edi,eax mov dl,[esi] mov ax,[L004CDCB4+edx*8] and ax,8000h mov cx,ax neg cx sbb ecx,ecx and ecx,00000002h inc ecx and ecx,0000FFFFh neg ax sbb eax,eax mov cl,[ecx+esi+04h] and eax,00000002h mov [ebp-14h],cl inc eax and eax,0000FFFFh mov dx,[eax+esi+05h] push edx call jmp_WSOCK32.dll!WSOCK32.15 mov [ebp-18h],eax xor eax,eax mov al,[esi] push edi mov ax,[L004CDCB4+eax*8] and ax,8000h mov cx,ax neg cx sbb ecx,ecx and ecx,00000002h inc ecx and ecx,0000FFFFh neg ax sbb eax,eax lea ecx,[ecx+esi+07h] and eax,00000002h mov [ebp-10h],ecx inc eax mov ecx,L006A9D38 and eax,0000FFFFh lea edx,[eax+esi+43h] mov [ebp+08h],edx call SUB_L004616C0 mov edi,eax test edi,edi jz L0046DDFF mov esi,[L00669620] test esi,esi jz L0046DD3A L0046DD1C: mov eax,[esi] mov ecx,esi call [eax+000000F0h] test eax,eax jz L0046DD2F cmp [esi+34h],edi jz L0046DD38 L0046DD2F: mov esi,[esi+3Ch] test esi,esi jnz L0046DD1C jmp L0046DD3A L0046DD38: mov ebx,esi L0046DD3A: test ebx,ebx jz L0046DDA7 mov edi,[ebp-10h] or ecx,FFFFFFFFh xor eax,eax lea edx,[ebx+000000ACh] repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx lea edx,[ebx+000000E8h] shr ecx,02h rep movsd mov ecx,eax xor eax,eax and ecx,00000003h rep movsb mov edi,[ebp+08h] or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov edx,[ebx] mov ecx,ebx call [edx+00000144h] mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L0046DDA7: push 00000134h call SUB_L0049A820 add esp,00000004h mov [ebp-1Ch],eax test eax,eax mov dword ptr [ebp-04h],00000000h jz L0046DDEB mov ecx,[ebp-14h] mov edx,[ebp-18h] and ecx,000000FFh push ecx mov ecx,[ebp+08h] push edx mov edx,[ebp-10h] push ecx push edx push edi push 000001FEh push 00000000h push 00000000h mov ecx,eax call SUB_L00406DF0 jmp L0046DDED L0046DDEB: xor eax,eax L0046DDED: push 00000001h push 00000000h mov ecx,eax mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L004415C0 L0046DDFF: mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L0046DE20: push ebp mov ebp,esp sub esp,00000020h push ebx push esi mov esi,[ebp+08h] xor eax,eax push edi xor edi,edi mov al,[esi] mov [ebp-04h],edi mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ecx,[eax+esi] push ecx call jmp_WSOCK32.dll!WSOCK32.14 xor edx,edx mov [ebp-20h],eax mov dl,[esi] mov ax,[L004CDCB4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ax,[eax+esi+04h] push eax call jmp_WSOCK32.dll!WSOCK32.15 mov ecx,[ebp-20h] mov [ebp-1Ch],eax push ecx mov ecx,L006A9D38 mov ebx,00000006h call SUB_L004616C0 test eax,eax mov [ebp-20h],eax jz L0046E0F1 mov ecx,[L00669620] test ecx,ecx mov [ebp-08h],ecx jz L0046DEE0 jmp L0046DEB3 L0046DEB0: mov ecx,[ebp-08h] L0046DEB3: mov edx,[ecx] call [edx+000000F0h] test eax,eax jz L0046DECC mov eax,[ebp-08h] mov ecx,[ebp-20h] cmp [eax+34h],ecx jz L0046DEDB jmp L0046DECF L0046DECC: mov eax,[ebp-08h] L0046DECF: mov eax,[eax+3Ch] test eax,eax mov [ebp-08h],eax jnz L0046DEB0 jmp L0046DEE0 L0046DEDB: mov [ebp-04h],eax mov edi,eax L0046DEE0: mov eax,[ebp-1Ch] test ax,ax jbe L0046E0F1 and eax,0000FFFFh mov [ebp-20h],eax L0046DEF4: xor edx,edx mov dl,[esi] mov ax,[L004CDCB4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,ebx mov ax,[eax+esi] push eax call jmp_WSOCK32.dll!WSOCK32.15 xor ecx,ecx mov [ebp-10h],eax mov cl,[esi] add ebx,00000002h mov ax,[L004CDCB4+ecx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,ebx mov dx,[eax+esi] push edx call jmp_WSOCK32.dll!WSOCK32.15 add ebx,00000002h mov [ebp-1Ch],eax test edi,edi jz L0046E0E4 mov ecx,[edi+000000A0h] test ecx,ecx jz L0046DF6B mov ecx,[ebp-10h] dec ecx mov [ebp-08h],ecx jmp L0046DF79 L0046DF6B: mov cx,[ebp-10h] sub cx,[edi+000000A8h] mov [ebp-08h],ecx L0046DF79: test ax,ax jbe L0046E015 and ecx,0000FFFFh mov dword ptr [ebp-14h],00000000h lea edx,[ecx+ecx*4] lea edx,[edx+edx*4] lea ecx,[ecx+edx*8] shl ecx,03h and eax,0000FFFFh mov [ebp-0Ch],ecx mov [ebp-18h],eax L0046DFA6: xor eax,eax or ecx,FFFFFFFFh mov al,[esi] mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,ebx add eax,esi mov edx,eax xor eax,eax mov edi,edx push edx repne scasb mov edi,[ebp-14h] mov eax,[ebp-04h] not ecx dec ecx push L004C9018 lea ebx,[ebx+ecx+01h] mov ecx,[ebp-0Ch] lea edx,[edi+ecx] mov ecx,[eax+0000009Ch] lea edx,[edx+ecx+02h] push edx call SUB_L0049AC80 mov eax,[ebp-18h] add esp,0000000Ch add edi,00000050h dec eax mov [ebp-14h],edi mov [ebp-18h],eax jnz L0046DFA6 mov ecx,[ebp-08h] mov eax,[ebp-1Ch] mov edi,[ebp-04h] L0046E015: cmp ax,0014h jnc L0046E098 and ecx,0000FFFFh and eax,0000FFFFh mov esi,00000014h lea edx,[ecx+ecx*4] lea edx,[edx+edx*4] lea ecx,[ecx+edx*8] lea edx,[eax+eax*4] shl ecx,03h shl edx,04h sub esi,eax mov [ebp-0Ch],ecx mov [ebp-18h],esi jmp L0046E04D L0046E047: mov edi,[ebp-04h] mov ecx,[ebp-0Ch] L0046E04D: lea eax,[edx+ecx] mov ecx,[edi+0000009Ch] mov edi,L004D77C0 add edx,00000050h lea esi,[eax+ecx+02h] or ecx,FFFFFFFFh xor eax,eax mov [ebp-14h],esi repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,[ebp-14h] shr ecx,02h rep movsd mov ecx,eax mov eax,[ebp-18h] and ecx,00000003h dec eax rep movsb mov [ebp-18h],eax jnz L0046E047 mov esi,[ebp+08h] mov ecx,[ebp-08h] mov eax,[ebp-1Ch] mov edi,[ebp-04h] L0046E098: and ecx,0000FFFFh lea edx,[ecx+ecx*4] lea edx,[edx+edx*4] lea ecx,[ecx+edx*8] mov edx,[edi+0000009Ch] mov [edx+ecx*8],ax mov eax,[edi+000000A0h] test eax,eax jz L0046E0DA mov ax,[edi+000000A8h] mov ecx,[ebp-10h] cmp cx,ax jc L0046E0E4 and eax,0000FFFFh and ecx,0000FFFFh inc eax cmp ecx,eax jg L0046E0E4 L0046E0DA: mov eax,[edi] mov ecx,edi call [eax+00000144h] L0046E0E4: mov eax,[ebp-20h] dec eax mov [ebp-20h],eax jnz L0046DEF4 L0046E0F1: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 8 SUB_L0046E100: push ebp mov ebp,esp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L0046E110: push ebp mov ebp,esp sub esp,0000001Ch mov ax,[L004CE014] push esi mov esi,00008000h mov byte ptr [ebp-1Ch],6Ch and ax,si jz L0046E133 mov word ptr [ebp-1Bh],0003h jmp L0046E13C L0046E133: mov word ptr [L00767368],0001h L0046E13C: test ax,ax jz L0046E146 mov eax,[ebp-1Bh] jmp L0046E153 L0046E146: mov ax,[L00767368] mov [ebp-04h],ax mov eax,[ebp-04h] L0046E153: and eax,0000FFFFh mov byte ptr [ebp+eax-1Ch],00h mov ecx,[ebp-1Ch] and ecx,000000FFh inc eax test [L004CDCB4+ecx*8],si jz L0046E177 mov [ebp-1Bh],ax jmp L0046E17D L0046E177: mov [L00767368],ax L0046E17D: mov eax,[L006BD2A0] push eax call jmp_WSOCK32.dll!WSOCK32.8 mov edx,[ebp-1Ch] and edx,000000FFh test [L004CDCB4+edx*8],si jz L0046E1A0 mov ecx,[ebp-1Bh] jmp L0046E1AE L0046E1A0: mov cx,[L00767368] mov [ebp-04h],cx mov ecx,[ebp-04h] L0046E1AE: and ecx,0000FFFFh mov [ebp+ecx-1Ch],eax lea edx,[ecx+04h] lea ecx,[ebp-1Ch] call SUB_L00469200 mov edx,[ebp-1Ch] mov cl,[L007121D0] and edx,000000FFh test [L004CDCB4+edx*8],si jz L0046E1E1 mov eax,[ebp-1Bh] jmp L0046E1EE L0046E1E1: mov ax,[L00767368] mov [ebp-04h],ax mov eax,[ebp-04h] L0046E1EE: and eax,0000FFFFh mov [ebp+eax-1Ch],cl lea edx,[eax+01h] lea ecx,[ebp-1Ch] call SUB_L00469200 push 00000000h call jmp_WSOCK32.dll!WSOCK32.8 mov ecx,[ebp-1Ch] and ecx,000000FFh test [L004CDCB4+ecx*8],si jz L0046E221 mov ecx,[ebp-1Bh] jmp L0046E22F L0046E221: mov dx,[L00767368] mov [ebp-04h],dx mov ecx,[ebp-04h] L0046E22F: and ecx,0000FFFFh mov [ebp+ecx-1Ch],eax lea edx,[ecx+04h] lea ecx,[ebp-1Ch] call SUB_L00469200 push 0000FFFFh call jmp_WSOCK32.dll!WSOCK32.9 mov ecx,[ebp-1Ch] and ecx,000000FFh test [L004CDCB4+ecx*8],si jz L0046E266 mov ecx,[ebp-1Bh] jmp L0046E274 L0046E266: mov dx,[L00767368] mov [ebp-04h],dx mov ecx,[ebp-04h] L0046E274: and ecx,0000FFFFh mov [ebp+ecx-1Ch],ax lea edx,[ecx+02h] lea ecx,[ebp-1Ch] call SUB_L00469200 push 0000FFFFh call jmp_WSOCK32.dll!WSOCK32.9 mov ecx,[ebp-1Ch] and ecx,000000FFh test [L004CDCB4+ecx*8],si jz L0046E2AC mov ecx,[ebp-1Bh] jmp L0046E2BA L0046E2AC: mov dx,[L00767368] mov [ebp-04h],dx mov ecx,[ebp-04h] L0046E2BA: and ecx,0000FFFFh mov [ebp+ecx-1Ch],ax lea edx,[ecx+02h] lea ecx,[ebp-1Ch] call SUB_L00469200 push 00000000h call jmp_WSOCK32.dll!WSOCK32.9 lea ecx,[ebp-1Ch] mov esi,eax call SUB_L0046E350 and eax,0000FFFFh lea ecx,[ebp-1Ch] lea edx,[eax+02h] mov [ebp+eax-1Ch],si call SUB_L00469200 push 00000000h call jmp_WSOCK32.dll!WSOCK32.9 lea ecx,[ebp-1Ch] mov esi,eax call SUB_L0046E350 and eax,0000FFFFh lea ecx,[ebp-1Ch] lea edx,[eax+02h] mov [ebp+eax-1Ch],si call SUB_L00469200 mov ecx,[L006BB1CC] lea eax,[ebp-1Ch] push eax call SUB_L0048B170 call SUB_L00455030 mov byte ptr [L007121D0],00h mov dword ptr [L004D7E70],00000000h pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L0046E350: xor eax,eax mov al,[ecx] test byte ptr [L004CDCB5+eax*8],80h jz L0046E363 mov ax,[ecx+01h] retn ;------------------------------------------------------------------------------ L0046E363: mov ax,[L00767368] retn ;------------------------------------------------------------------------------ Align 8 L0046E370: push ebp mov ebp,esp sub esp,00000028h push esi mov esi,ecx test esi,esi jz L0046E634 mov eax,[esi] push edi push ebx call [eax+1Ch] test eax,eax jz L0046E47E mov eax,[L004CE014] mov cx,[esi+24h] mov dx,[esi+22h] mov si,[esi+20h] test ah,80h mov [ebp-08h],cx mov [ebp-04h],dx mov byte ptr [ebp-28h],6Ch jz L0046E3C1 mov edx,00000003h lea ecx,[ebp-28h] call SUB_L00469200 jmp L0046E3CA L0046E3C1: mov word ptr [L00767368],0001h L0046E3CA: lea ecx,[ebp-28h] call SUB_L0046E350 and eax,0000FFFFh lea ecx,[ebp-28h] lea edx,[eax+01h] mov byte ptr [ebp+eax-28h],01h call SUB_L00469200 mov eax,[L006BD2A0] push eax call jmp_WSOCK32.dll!WSOCK32.8 lea ecx,[ebp-28h] mov edi,eax call SUB_L0046E350 and eax,0000FFFFh lea ecx,[ebp-28h] lea edx,[eax+04h] mov [ebp+eax-28h],edi call SUB_L00469200 mov bl,[L007121D0] lea ecx,[ebp-28h] call SUB_L0046E350 and eax,0000FFFFh lea ecx,[ebp-28h] lea edx,[eax+01h] mov [ebp+eax-28h],bl call SUB_L00469200 push 00000000h call jmp_WSOCK32.dll!WSOCK32.8 lea ecx,[ebp-28h] mov edi,eax call SUB_L0046E350 and eax,0000FFFFh lea ecx,[ebp-28h] lea edx,[eax+04h] mov [ebp+eax-28h],edi call SUB_L00469200 mov edx,esi lea ecx,[ebp-28h] call SUB_L00468630 mov edx,[ebp-04h] lea ecx,[ebp-28h] call SUB_L00468630 mov edx,[ebp-08h] lea ecx,[ebp-28h] call SUB_L00468630 xor edx,edx jmp L0046E60F L0046E47E: mov eax,[esi] mov ecx,esi call [eax+2Ch] test eax,eax jz L0046E571 mov ax,[esi+22h] mov cx,[esi+38h] mov dx,[esi+24h] mov [ebp-04h],ax mov eax,[L004CE014] mov [ebp-10h],cx mov cx,[esi+20h] mov esi,[esi+78h] test ah,80h mov [ebp-0Ch],dx mov [ebp-08h],cx mov byte ptr [ebp-28h],6Ch jz L0046E4CD mov edx,00000003h lea ecx,[ebp-28h] call SUB_L00469200 jmp L0046E4D6 L0046E4CD: mov word ptr [L00767368],0001h L0046E4D6: lea ecx,[ebp-28h] call SUB_L0046E350 and eax,0000FFFFh lea ecx,[ebp-28h] lea edx,[eax+01h] mov byte ptr [ebp+eax-28h],00h call SUB_L00469200 mov eax,[L006BD2A0] push eax call jmp_WSOCK32.dll!WSOCK32.8 lea ecx,[ebp-28h] mov edi,eax call SUB_L0046E350 and eax,0000FFFFh lea ecx,[ebp-28h] lea edx,[eax+04h] mov [ebp+eax-28h],edi call SUB_L00469200 mov bl,[L007121D0] lea ecx,[ebp-28h] call SUB_L0046E350 and eax,0000FFFFh lea ecx,[ebp-28h] lea edx,[eax+01h] mov [ebp+eax-28h],bl call SUB_L00469200 mov edx,esi lea ecx,[ebp-28h] call SUB_L004686B0 mov edx,[ebp-08h] lea ecx,[ebp-28h] call SUB_L00468630 mov edx,[ebp-04h] lea ecx,[ebp-28h] call SUB_L00468630 mov edx,[ebp-0Ch] lea ecx,[ebp-28h] call SUB_L00468630 mov edx,[ebp-10h] jmp L0046E60F L0046E571: mov eax,[L004CE014] mov dx,[esi+22h] mov di,[esi+38h] mov bx,[esi+24h] mov si,[esi+20h] mov [ebp-10h],dx test ah,80h mov byte ptr [ebp-28h],6Ch jz L0046E5A2 mov edx,00000003h lea ecx,[ebp-28h] call SUB_L00469200 jmp L0046E5AB L0046E5A2: mov word ptr [L00767368],0001h L0046E5AB: lea ecx,[ebp-28h] call SUB_L0046E350 and eax,0000FFFFh lea ecx,[ebp-28h] lea edx,[eax+01h] mov byte ptr [ebp+eax-28h],01h call SUB_L00469200 mov edx,[L006BD2A0] lea ecx,[ebp-28h] call SUB_L004686B0 mov dl,[L007121D0] lea ecx,[ebp-28h] call SUB_L004685E0 xor edx,edx lea ecx,[ebp-28h] call SUB_L004686B0 mov edx,esi lea ecx,[ebp-28h] call SUB_L00468630 mov edx,[ebp-10h] lea ecx,[ebp-28h] call SUB_L00468630 mov edx,ebx lea ecx,[ebp-28h] call SUB_L00468630 mov edx,edi L0046E60F: lea ecx,[ebp-28h] call SUB_L00468630 mov ecx,[L006BB1CC] lea eax,[ebp-28h] push eax call SUB_L0048B170 call SUB_L00455030 mov byte ptr [L007121D0],00h pop ebx pop edi L0046E634: pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 SUB_L0046E640: push ebp mov ebp,esp push ebx push esi mov esi,[ebp+08h] xor eax,eax push edi mov al,[esi] mov ax,[L004CDCB4+eax*8] and ax,8000h mov cx,ax neg cx sbb ecx,ecx and ecx,00000002h inc ecx and ecx,0000FFFFh neg ax sbb eax,eax mov cl,[ecx+esi] and eax,00000002h mov [ebp+08h],cl inc eax and eax,0000FFFFh mov edx,[eax+esi+01h] push edx call jmp_WSOCK32.dll!WSOCK32.14 mov edi,eax xor eax,eax mov al,[esi] mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov bl,[eax+esi+05h] call SUB_L00455010 mov ecx,[ebp+08h] mov [L006BD2A0],edi and ecx,000000FFh pop edi mov [L007121D0],bl pop esi mov [L007121C8],ecx mov dword ptr [L007121D4],L0046E370 pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 8 SUB_L0046E6E0: push ebp mov ebp,esp push ebx push esi mov esi,[ebp+08h] xor eax,eax push edi mov al,[esi] mov ax,[L004CDCB4+eax*8] and ax,8000h mov cx,ax neg cx sbb ecx,ecx and ecx,00000002h inc ecx and ecx,0000FFFFh neg ax sbb eax,eax mov cl,[ecx+esi] and eax,00000002h mov [ebp+08h],cl inc eax and eax,0000FFFFh mov edx,[eax+esi+01h] push edx call jmp_WSOCK32.dll!WSOCK32.14 mov edi,eax call SUB_L00455010 mov eax,[ebp+08h] xor ecx,ecx and eax,000000FFh mov [L006BD2A0],edi mov [L007121C8],eax mov dword ptr [L007121D4],L0046E370 mov cl,[esi] mov ax,[L004CDCB4+ecx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov edx,[eax+esi+05h] push edx call jmp_WSOCK32.dll!WSOCK32.14 xor eax,eax mov al,[esi] mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov cx,[eax+esi+09h] push ecx call jmp_WSOCK32.dll!WSOCK32.15 xor edx,edx mov dl,[esi] mov ax,[L004CDCB4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ax,[eax+esi+0Bh] push eax call jmp_WSOCK32.dll!WSOCK32.15 xor ecx,ecx mov cl,[esi] mov ax,[L004CDCB4+ecx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov dx,[eax+esi+0Dh] push edx call jmp_WSOCK32.dll!WSOCK32.15 xor eax,eax mov al,[esi] mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov cx,[eax+esi+0Fh] push ecx call jmp_WSOCK32.dll!WSOCK32.15 xor edx,edx mov dl,[esi] mov ax,[L004CDCB4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ax,[eax+esi+11h] push eax call jmp_WSOCK32.dll!WSOCK32.15 xor ecx,ecx mov edi,eax mov cl,[esi] mov ax,[L004CDCB4+ecx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov dx,[eax+esi+13h] push edx call jmp_WSOCK32.dll!WSOCK32.15 mov ecx,esi mov ebx,eax call SUB_L0046AA70 and eax,0000FFFFh mov ax,[eax+esi+15h] push eax call jmp_WSOCK32.dll!WSOCK32.15 mov ecx,esi mov [ebp+08h],eax call SUB_L0046AA70 and eax,0000FFFFh mov si,[eax+esi+17h] push esi call jmp_WSOCK32.dll!WSOCK32.15 mov ecx,[L004D7E00] test ecx,ecx jz L0046E8BE and eax,0000FFFFh and ebx,0000FFFFh push eax mov eax,[ebp+08h] and eax,0000FFFFh and edi,0000FFFFh push eax push ebx push edi call SUB_L0040CE40 L0046E8BE: pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L0046E8D0: push ebp mov ebp,esp sub esp,00000014h push ebx push esi mov esi,[ebp+08h] xor eax,eax push edi mov al,[esi] mov ax,[L004CDCB4+eax*8] and ax,8000h mov cx,ax neg cx sbb ecx,ecx and ecx,00000002h inc ecx and ecx,0000FFFFh neg ax sbb eax,eax mov cl,[ecx+esi] and eax,00000002h mov [ebp+08h],cl inc eax and eax,0000FFFFh mov edx,[eax+esi+01h] push edx call jmp_WSOCK32.dll!WSOCK32.14 mov edi,eax call SUB_L00455010 mov eax,[ebp+08h] xor ecx,ecx and eax,000000FFh mov [L006BD2A0],edi mov [L007121C8],eax mov dword ptr [L007121D4],L0046E370 mov cl,[esi] mov ax,[L004CDCB4+ecx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov dx,[eax+esi+05h] push edx call jmp_WSOCK32.dll!WSOCK32.15 mov [ebp-14h],eax xor eax,eax mov al,[esi] mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov cx,[eax+esi+07h] push ecx call jmp_WSOCK32.dll!WSOCK32.15 xor edx,edx mov [ebp-10h],eax mov dl,[esi] mov ax,[L004CDCB4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ax,[eax+esi+09h] push eax call jmp_WSOCK32.dll!WSOCK32.15 xor ecx,ecx mov [ebp-0Ch],eax mov cl,[esi] mov ax,[L004CDCB4+ecx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov dx,[eax+esi+0Bh] push edx call jmp_WSOCK32.dll!WSOCK32.15 mov ebx,eax mov edi,0000000Dh test bx,bx mov [ebp-08h],ebx mov dword ptr [ebp+08h],00000000h jz L0046EA66 and eax,0000FFFFh mov [ebp-04h],eax lea eax,[eax+eax*4] shl eax,02h push eax call SUB_L0049A820 mov [ebp+08h],eax mov eax,[ebp-04h] add esp,00000004h lea eax,[eax+eax*4] test eax,eax jle L0046EA66 mov ebx,[ebp+08h] mov [ebp-04h],eax L0046EA25: xor ecx,ecx mov cl,[esi] mov ax,[L004CDCB4+ecx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,edi mov dx,[eax+esi] push edx call jmp_WSOCK32.dll!WSOCK32.15 and eax,0000FFFFh add edi,00000002h mov [ebx],eax mov eax,[ebp-04h] add ebx,00000004h dec eax mov [ebp-04h],eax jnz L0046EA25 mov ebx,[ebp-08h] L0046EA66: mov ecx,[L004D7E00] test ecx,ecx jz L0046EA9B mov eax,[ebp-0Ch] and ebx,0000FFFFh and eax,0000FFFFh push eax mov eax,[ebp-10h] and eax,0000FFFFh push eax mov eax,[ebp-14h] and eax,0000FFFFh push eax mov eax,[ebp+08h] push eax push ebx call SUB_L0040D0A0 L0046EA9B: mov eax,[ebp+08h] test eax,eax jz L0046EAAB push eax call SUB_L0049A810 add esp,00000004h L0046EAAB: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L0046EAC0: push ebp mov ebp,esp mov ecx,[ebp+08h] xor eax,eax mov al,[ecx] mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov cx,[eax+ecx] push ecx call jmp_WSOCK32.dll!WSOCK32.15 push 00000000h push 00000001h push eax mov ecx,L006BD8E8 call SUB_L00495FF0 pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L0046EB00: push ebp mov ebp,esp sub esp,00000014h push ebx push esi mov esi,[ebp+08h] xor eax,eax push edi mov al,[esi] mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ecx,[eax+esi] push ecx call jmp_WSOCK32.dll!WSOCK32.14 xor edx,edx mov ebx,00000005h mov dl,[esi] mov cx,[L004CDCB4+edx*8] and ecx,00008000h or ch,40h shr ecx,0Eh and ecx,0000FFFFh test eax,eax mov cl,[ecx+esi+04h] mov [ebp-0Ch],cl jz L0046ECDF push eax mov ecx,L006A9D38 call SUB_L004616C0 test eax,eax mov [ebp-08h],eax jz L0046ECDF mov edi,[eax+000000A8h] xor ecx,ecx cmp edi,ecx jz L0046EBB2 L0046EB85: mov eax,[edi+000000A0h] mov [edi+000000A4h],ecx cmp eax,ecx jz L0046EBA0 mov edx,eax push edx call SUB_L0049A810 add esp,00000004h L0046EBA0: xor ecx,ecx mov [edi+000000A0h],ecx mov edi,[edi+40h] cmp edi,ecx jnz L0046EB85 mov eax,[ebp-08h] L0046EBB2: mov eax,[eax+000000A8h] mov [ebp-08h],ecx mov [ebp-04h],eax mov eax,[ebp-0Ch] and eax,000000FFh mov [ebp-14h],eax jle L0046ECDF L0046EBCF: mov eax,[ebp-04h] test eax,eax jz L0046ECDF xor ecx,ecx mov cl,[esi] mov ax,[L004CDCB4+ecx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,ebx mov edx,[eax+esi] push edx call jmp_WSOCK32.dll!WSOCK32.14 xor ecx,ecx add ebx,00000004h mov cl,[esi] mov dx,[L004CDCB4+ecx*8] and dx,8000h mov cx,dx neg cx sbb ecx,ecx and ecx,00000002h inc ecx and ecx,0000FFFFh add ecx,ebx inc ebx neg dx mov cl,[ecx+esi] sbb edx,edx mov [ebp-0Ch],cl mov edi,[ebp-0Ch] and edx,00000002h inc edx and edi,000000FFh and edx,0000FFFFh add edx,ebx add ebx,edi add edx,esi test edx,edx mov [ebp-10h],edx jz L0046EC65 test cl,cl jbe L0046EC65 cmp byte ptr [edx+edi-01h],00h jz L0046EC65 mov byte ptr [edx+edi-01h],00h L0046EC65: mov edi,[ebp-04h] test edx,edx mov [edi+000000A4h],eax jz L0046ECC4 test cl,cl jbe L0046ECC4 mov edi,edx or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx jz L0046ECC4 mov edi,edx or ecx,FFFFFFFFh repne scasb not ecx push ecx call SUB_L0049A820 mov edi,[ebp-10h] mov edx,eax mov eax,[ebp-04h] or ecx,FFFFFFFFh add esp,00000004h mov [eax+000000A0h],edx xor eax,eax repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov esi,[ebp+08h] L0046ECC4: mov ecx,[ebp-04h] mov eax,[ebp-08h] inc eax mov edx,[ecx+40h] mov ecx,[ebp-14h] cmp eax,ecx mov [ebp-04h],edx mov [ebp-08h],eax jl L0046EBCF L0046ECDF: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L0046ECF0: push ebp mov ebp,esp push FFFFFFFFh push L004B481B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000020h push ebx mov ebx,[ebp+08h] xor eax,eax push esi mov al,[ebx] push edi mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ecx,[eax+ebx] push ecx call jmp_WSOCK32.dll!WSOCK32.14 xor edx,edx mov esi,eax mov dl,[ebx] mov [ebp-28h],esi mov ax,[L004CDCB4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ax,[eax+ebx+04h] push eax call jmp_WSOCK32.dll!WSOCK32.15 test esi,esi mov [ebp-2Ch],eax mov edi,00000006h jz L0046F01C test ax,ax jz L0046F01C and eax,0000FFFFh mov [ebp-10h],eax shl eax,04h push eax call SUB_L0049A820 mov ecx,[ebp-10h] add esp,00000004h test ecx,ecx mov [ebp-14h],eax jle L0046EF48 lea esi,[eax+06h] mov [ebp-1Ch],ecx mov [ebp+08h],esi jmp L0046EDAE L0046EDA8: mov edi,[ebp-20h] mov esi,[ebp+08h] L0046EDAE: xor edx,edx mov dl,[ebx] mov ax,[L004CDCB4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,edi mov eax,[eax+ebx] push eax mov [esi-06h],eax call jmp_WSOCK32.dll!WSOCK32.14 mov [esi-06h],eax xor eax,eax mov al,[ebx] add edi,00000004h mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,edi mov ax,[eax+ebx] push eax mov [esi-02h],ax call jmp_WSOCK32.dll!WSOCK32.15 xor ecx,ecx mov [esi-02h],ax mov cl,[ebx] add edi,00000002h mov ax,[L004CDCB4+ecx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,edi mov ax,[eax+ebx] push eax mov [esi],ax call jmp_WSOCK32.dll!WSOCK32.15 xor edx,edx mov [esi],ax mov dl,[ebx] add edi,00000002h mov ax,[L004CDCB4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,edi mov ax,[eax+ebx] push eax mov [esi+02h],ax call jmp_WSOCK32.dll!WSOCK32.15 mov [esi+02h],ax xor eax,eax mov al,[ebx] add edi,00000002h mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,edi mov ax,[eax+ebx] push eax mov [esi+04h],ax call jmp_WSOCK32.dll!WSOCK32.15 xor ecx,ecx mov [esi+04h],ax mov cl,[ebx] add edi,00000002h mov ax,[L004CDCB4+ecx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,edi mov dx,[eax+ebx] push edx call jmp_WSOCK32.dll!WSOCK32.15 xor ecx,ecx add edi,00000002h mov cl,[ebx] and eax,0000FFFFh mov [ebp-18h],eax mov cx,[L004CDCB4+ecx*8] and ecx,00008000h or ch,40h shr ecx,0Eh and ecx,0000FFFFh add ecx,edi add edi,eax add ecx,ebx inc eax push eax mov [ebp-24h],ecx mov [ebp-20h],edi call SUB_L0049A820 mov ecx,[ebp-18h] mov [esi+06h],eax mov esi,[ebp-24h] mov edx,ecx mov edi,eax mov eax,[ebp+08h] shr ecx,02h rep movsd mov ecx,edx add eax,00000010h and ecx,00000003h mov [ebp+08h],eax rep movsb mov ecx,[eax-0Ah] mov eax,[ebp-1Ch] add esp,00000004h dec eax mov byte ptr [ecx+edx],00h mov [ebp-1Ch],eax jnz L0046EDA8 mov esi,[ebp-28h] L0046EF48: push esi mov ecx,L006A9D38 call SUB_L004616C0 mov esi,eax test esi,esi jz L0046EFF2 mov eax,[esi] mov ecx,esi call [eax+24h] test eax,eax jz L0046EFF2 mov edi,[L00669620] test edi,edi jz L0046EF9E L0046EF76: mov edx,[edi] mov ecx,edi call [edx+000000BCh] test eax,eax jz L0046EF89 cmp [edi+34h],esi jz L0046EF92 L0046EF89: mov edi,[edi+3Ch] test edi,edi jnz L0046EF76 jmp L0046EF9E L0046EF92: test edi,edi jz L0046EF9E mov eax,[edi] push 00000001h mov ecx,edi call [eax] L0046EF9E: push 000000F4h call SUB_L0049A820 add esp,00000004h mov [ebp+08h],eax test eax,eax mov dword ptr [ebp-04h],00000000h jz L0046EFD1 mov ecx,[ebp-14h] mov edx,[ebp-2Ch] push ecx push edx push esi push 00000000h push 00000064h mov ecx,eax call SUB_L0047E1A0 mov esi,eax jmp L0046EFD3 L0046EFD1: xor esi,esi L0046EFD3: push 00000001h push 00000000h mov ecx,esi mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L004415C0 mov ecx,[esi+000000D8h] push 00000000h call SUB_L00441340 L0046EFF2: mov ebx,[ebp-10h] test ebx,ebx jle L0046F010 mov eax,[ebp-14h] lea edi,[eax+0Ch] L0046EFFF: mov eax,[edi] push eax call SUB_L0049A810 add esp,00000004h add edi,00000010h dec ebx jnz L0046EFFF L0046F010: mov ecx,[ebp-14h] push ecx call SUB_L0049A810 add esp,00000004h L0046F01C: mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L0046F030: push ebp mov ebp,esp sub esp,0000000Ch push ebx push esi mov esi,[ebp+08h] xor eax,eax push edi mov al,[esi] mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ecx,[eax+esi] push ecx call jmp_WSOCK32.dll!WSOCK32.14 xor edx,edx mov edi,eax mov dl,[esi] mov ax,[L004CDCB4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ax,[eax+esi+04h] push eax call jmp_WSOCK32.dll!WSOCK32.15 xor ecx,ecx mov ebx,eax mov cl,[esi] mov ax,[L004CDCB4+ecx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov dx,[eax+esi+06h] push edx call jmp_WSOCK32.dll!WSOCK32.15 mov [ebp-0Ch],eax xor eax,eax mov al,[esi] mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov cx,[eax+esi+08h] push ecx call jmp_WSOCK32.dll!WSOCK32.15 xor edx,edx mov [ebp-08h],eax mov dl,[esi] push edi mov ax,[L004CDCB4+edx*8] and ax,8000h mov cx,ax neg cx sbb ecx,ecx and ecx,00000002h inc ecx and ecx,0000FFFFh mov cl,[ecx+esi+0Ah] mov [ebp-01h],cl mov cx,ax neg cx sbb ecx,ecx and ecx,00000002h inc ecx and ecx,0000FFFFh neg ax sbb eax,eax mov dl,[ecx+esi+0Bh] and eax,00000002h mov ecx,L006A9D38 inc eax mov [ebp+0Bh],dl and eax,0000FFFFh mov al,[eax+esi+0Ch] mov [ebp-02h],al call SUB_L004616C0 mov esi,eax test esi,esi jz L0046F175 mov edx,[esi] mov ecx,esi call [edx+24h] test eax,eax jz L0046F175 movzx ax,[ebp+0Bh] movzx cx,[ebp-01h] mov edx,[ebp-08h] push eax movzx ax,[ebp-02h] push ecx mov ecx,[ebp-0Ch] push edx push eax push ecx push ebx mov ecx,esi call SUB_L0045EE80 L0046F175: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L0046F180: push ebp mov ebp,esp push FFFFFFFFh push L004B483B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000038h push ebx push esi mov esi,[ebp+08h] xor eax,eax push edi mov al,[esi] mov ax,[L004CDCB4+eax*8] and ax,8000h mov cx,ax neg cx sbb ecx,ecx and ecx,00000002h inc ecx and ecx,0000FFFFh neg ax sbb eax,eax mov cl,[ecx+esi] and eax,00000002h mov [ebp-10h],cl inc eax and eax,0000FFFFh mov edx,[eax+esi+01h] push edx call jmp_WSOCK32.dll!WSOCK32.14 mov ebx,eax xor eax,eax mov al,[esi] mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ecx,[eax+esi+05h] push ecx call jmp_WSOCK32.dll!WSOCK32.14 xor edx,edx mov edi,eax mov dl,[esi] mov ax,[L004CDCB4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov eax,[eax+esi+09h] push eax call jmp_WSOCK32.dll!WSOCK32.14 xor ecx,ecx mov [ebp+08h],eax mov cl,[esi] mov cx,[L004CDCB4+ecx*8] and cx,8000h mov ax,cx neg ax sbb eax,eax and eax,00000002h inc eax and eax,0000FFFFh mov dl,[eax+esi+0Dh] test dl,dl jz L0046F274 neg cx sbb ecx,ecx and ecx,00000002h inc ecx and ecx,0000FFFFh lea edx,[ecx+esi+0Eh] mov [ebp-14h],edx L0046F274: push ebx mov ecx,L006A9D38 call SUB_L004616C0 mov esi,eax mov eax,[ebp-10h] and eax,000000FFh sub eax,00000000h jz L0046F395 dec eax jz L0046F349 dec eax jnz L0046F4C6 test esi,esi jz L0046F4C6 mov eax,[esi] mov ecx,esi call [eax+30h] test eax,eax jz L0046F4C6 mov eax,[esi+000000ACh] test eax,eax jz L0046F4C6 mov eax,[eax+000000A0h] test eax,eax jz L0046F4C6 mov edx,[eax+000000C0h] xor ecx,ecx test edi,edi setnz cl mov [edx+000000B0h],cl mov eax,[esi+000000ACh] mov ecx,[eax+000000A0h] mov ecx,[ecx+000000C0h] call SUB_L00413290 mov eax,[ebp+08h] xor edx,edx test eax,eax mov eax,[esi+000000ACh] setnz dl mov ecx,[eax+000000A0h] mov eax,[ecx+000000C4h] mov [eax+000000B0h],dl mov ecx,[esi+000000ACh] mov edx,[ecx+000000A0h] mov ecx,[edx+000000C4h] call SUB_L00413290 mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L0046F349: test esi,esi jz L0046F4C6 mov eax,[esi] mov ecx,esi call [eax+30h] test eax,eax jz L0046F4C6 mov esi,[esi+000000ACh] test esi,esi jz L0046F4C6 mov ecx,[esi+000000A0h] test ecx,ecx jz L0046F4C6 mov edx,[ecx] push 00000001h call [edx] mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L0046F395: test esi,esi jz L0046F4C6 mov eax,[esi] mov ecx,esi call [eax+24h] test eax,eax jz L0046F4C6 mov ecx,ebx call SUB_L004559F0 test eax,eax jz L0046F484 mov eax,[L004CE02C] mov byte ptr [ebp-44h],6Fh test ah,80h mov ebx,00000001h jz L0046F3D6 mov word ptr [ebp-43h],0003h jmp L0046F3DD L0046F3D6: mov [L00767368],bx L0046F3DD: lea ecx,[ebp-44h] call SUB_L0046E350 and eax,0000FFFFh lea ecx,[ebp-44h] lea edx,[eax+01h] mov [ebp+eax-44h],bl call SUB_L00469200 push edi call jmp_WSOCK32.dll!WSOCK32.8 lea ecx,[ebp-44h] mov esi,eax call SUB_L0046E350 and eax,0000FFFFh lea ecx,[ebp-44h] lea edx,[eax+04h] mov [ebp+eax-44h],esi call SUB_L00469200 push 00000000h call jmp_WSOCK32.dll!WSOCK32.8 lea ecx,[ebp-44h] mov esi,eax call SUB_L0046E350 and eax,0000FFFFh lea ecx,[ebp-44h] lea edx,[eax+04h] mov [ebp+eax-44h],esi call SUB_L00469200 push 00000000h call jmp_WSOCK32.dll!WSOCK32.8 lea ecx,[ebp-44h] mov esi,eax call SUB_L0046E350 and eax,0000FFFFh lea ecx,[ebp-44h] lea edx,[eax+04h] mov [ebp+eax-44h],esi call SUB_L00469200 xor dl,dl lea ecx,[ebp-44h] call SUB_L004685E0 mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L0046F484: push 000000C8h call SUB_L0049A820 add esp,00000004h mov [ebp-10h],eax test eax,eax mov dword ptr [ebp-04h],00000000h jz L0046F4B2 mov ecx,[ebp-14h] mov edx,[ebp+08h] push ecx push edx push edi push esi mov ecx,eax call SUB_L0048E540 jmp L0046F4B4 L0046F4B2: xor eax,eax L0046F4B4: push 00000001h push 00000000h mov ecx,eax mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L004415C0 L0046F4C6: mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 8 SUB_L0046F4E0: push ebp mov ebp,esp push FFFFFFFFh push L004B4860 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000038h push ebx xor eax,eax push esi push edi mov [ebp-10h],eax mov [ebp-18h],eax mov esi,[ebp+08h] mov dword ptr [ebp-04h],00000001h mov al,[esi] mov ax,[L004CDCB4+eax*8] and ax,8000h mov cx,ax neg cx sbb ecx,ecx and ecx,00000002h inc ecx and ecx,0000FFFFh neg ax sbb eax,eax mov cl,[ecx+esi] and eax,00000002h mov [ebp-34h],cl inc eax and eax,0000FFFFh mov edx,[eax+esi+01h] push edx call jmp_WSOCK32.dll!WSOCK32.14 mov ecx,esi mov edi,eax call SUB_L0046AA70 and eax,0000FFFFh mov eax,[eax+esi+05h] push eax call jmp_WSOCK32.dll!WSOCK32.14 mov ecx,esi mov [ebp-14h],eax call SUB_L0046AA70 and eax,0000FFFFh mov ax,[eax+esi+09h] push eax call jmp_WSOCK32.dll!WSOCK32.15 mov ecx,esi mov [ebp-30h],eax call SUB_L0046AA70 and eax,0000FFFFh mov ax,[eax+esi+0Bh] push eax call jmp_WSOCK32.dll!WSOCK32.15 mov ecx,esi mov ebx,eax call SUB_L0046AA70 and eax,0000FFFFh mov ax,[eax+esi+0Dh] push eax call jmp_WSOCK32.dll!WSOCK32.15 mov ecx,esi mov [ebp+08h],eax call SUB_L0046AA70 mov cx,[ebp+08h] and eax,0000FFFFh mov [ebp-3Ah],cx mov ecx,esi mov al,[eax+esi+0Fh] mov [ebp-3Ch],bx movsx dx,al mov [ebp-38h],dx call SUB_L0046AA70 and eax,0000FFFFh mov ax,[eax+esi+10h] push eax call jmp_WSOCK32.dll!WSOCK32.15 mov ecx,esi mov ebx,eax call SUB_L0046AA70 and eax,0000FFFFh mov ax,[eax+esi+12h] push eax call jmp_WSOCK32.dll!WSOCK32.15 mov [ebp+08h],eax mov ecx,esi call SUB_L0046AA70 mov cx,[ebp+08h] and eax,0000FFFFh mov [ebp-44h],bx mov [ebp-42h],cx mov al,[eax+esi+14h] mov ecx,esi movsx bx,al mov [ebp-40h],bx call SUB_L0046AA70 and eax,0000FFFFh mov ecx,esi mov dl,[eax+esi+15h] mov [ebp-2Ch],dl call SUB_L0046AA70 and eax,0000FFFFh mov ecx,esi mov al,[eax+esi+16h] mov [ebp-28h],al call SUB_L0046AA70 and eax,0000FFFFh mov cl,[eax+esi+17h] mov [ebp-24h],cl mov ecx,esi call SUB_L0046AA70 and eax,0000FFFFh mov ecx,esi mov dl,[eax+esi+18h] mov [ebp-20h],dl call SUB_L0046AA70 and eax,0000FFFFh mov ecx,esi mov al,[eax+esi+19h] mov [ebp-1Ch],al call SUB_L0046AA70 and eax,0000FFFFh push edi mov cl,[eax+esi+1Ah] mov [ebp+08h],cl mov ecx,L006A9D38 call SUB_L004616C0 mov esi,eax test esi,esi jz L0046F6BF mov edx,[esi] mov ecx,esi call [edx+24h] test eax,eax jnz L0046F6C2 L0046F6BF: mov esi,[ebp-10h] L0046F6C2: mov eax,[ebp-14h] mov ecx,L006A9D38 push eax call SUB_L004616C0 mov edi,eax test edi,edi jz L0046F6E1 mov edx,[edi] mov ecx,edi call [edx+24h] test eax,eax jnz L0046F6E4 L0046F6E1: mov edi,[ebp-18h] L0046F6E4: mov eax,[ebp+08h] mov ecx,[ebp-1Ch] mov edx,[ebp-20h] push eax mov eax,[ebp-24h] push ecx mov ecx,[ebp-28h] push edx mov edx,[ebp-2Ch] push eax push ecx mov ecx,[ebp-44h] push edx sub esp,00000008h mov eax,esp sub esp,00000008h mov edx,esp mov [eax],ecx mov cx,[ebp-38h] mov [eax+04h],bx mov eax,[ebp-3Ch] mov [edx],eax mov eax,[ebp-34h] mov [edx+04h],cx mov edx,[ebp-30h] push edx push edi push esi push eax mov ecx,L00669608 call SUB_L0043C420 mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L0046F750: push ebp mov ebp,esp push FFFFFFFFh push L004B4886 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000138h push ebx mov ebx,[ebp+08h] xor eax,eax push esi mov al,[ebx] push edi mov ax,[L004CDCB4+eax*8] and ax,8000h mov si,ax neg si sbb esi,esi xor ecx,ecx and esi,00000002h inc esi and esi,0000FFFFh mov cl,[esi+ebx] sub ecx,00000000h jz L0046FCBD dec ecx jz L0046FAB1 dec ecx jnz L0046FD79 neg ax sbb eax,eax and eax,00000002h inc eax and eax,0000FFFFh mov ecx,[eax+ebx+01h] push ecx call jmp_WSOCK32.dll!WSOCK32.14 xor edx,edx mov dl,[ebx] mov ax,[L004CDCB4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov eax,[eax+ebx+05h] push eax call jmp_WSOCK32.dll!WSOCK32.14 mov ecx,ebx mov [ebp-18h],eax call SUB_L0046AA70 and eax,0000FFFFh mov cl,[eax+ebx+09h] mov [ebp+08h],cl mov ecx,ebx call SUB_L0046AA70 and eax,0000FFFFh or ecx,FFFFFFFFh lea edx,[ebp-44h] lea edi,[eax+ebx+0Ah] mov eax,[ebp+08h] and eax,000000FFh add eax,0000000Ah mov [ebp-10h],eax xor eax,eax repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov ecx,ebx call SUB_L0046AA70 mov esi,[ebp-10h] and eax,0000FFFFh add eax,esi inc esi mov cl,[eax+ebx] mov [ebp+08h],cl mov ecx,ebx call SUB_L0046AA70 mov edx,[ebp+08h] and eax,0000FFFFh add eax,esi and edx,000000FFh add eax,ebx or ecx,FFFFFFFFh mov edi,eax xor eax,eax add esi,edx lea edx,[ebp-00000094h] repne scasb not ecx sub edi,ecx mov [ebp-10h],esi mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov ecx,ebx call SUB_L0046AA70 and eax,0000FFFFh mov esi,[ebp-10h] add eax,esi inc esi mov cl,[eax+ebx] mov [ebp+08h],cl mov ecx,ebx call SUB_L0046AA70 mov edx,[ebp+08h] and eax,0000FFFFh add eax,esi and edx,000000FFh add eax,ebx or ecx,FFFFFFFFh mov edi,eax xor eax,eax add esi,edx lea edx,[ebp-000000E4h] repne scasb not ecx sub edi,ecx mov [ebp-10h],esi mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov ecx,ebx call SUB_L0046AA70 mov esi,[ebp-10h] and eax,0000FFFFh add eax,esi mov ax,[eax+ebx] push eax call jmp_WSOCK32.dll!WSOCK32.15 mov ecx,ebx mov [ebp-1Ch],eax add esi,00000002h call SUB_L0046AA70 and eax,0000FFFFh add eax,esi mov ax,[eax+ebx] push eax call jmp_WSOCK32.dll!WSOCK32.15 mov ecx,ebx mov [ebp-20h],eax add esi,00000002h call SUB_L0046AA70 and eax,0000FFFFh add eax,esi inc esi mov cl,[eax+ebx] mov [ebp-24h],cl mov eax,[ebp-24h] and eax,000000FFh jle L0046F9B1 lea edi,[ebp-00000142h] mov [ebp-10h],eax L0046F961: mov ecx,ebx call SUB_L0046AA70 and eax,0000FFFFh add eax,esi mov ax,[eax+ebx] push eax mov [edi-02h],ax call jmp_WSOCK32.dll!WSOCK32.15 mov ecx,ebx mov [edi-02h],ax add esi,00000002h call SUB_L0046AA70 and eax,0000FFFFh add eax,esi mov ax,[eax+ebx] push eax mov [edi],ax call jmp_WSOCK32.dll!WSOCK32.15 mov [edi],ax mov eax,[ebp-10h] add esi,00000002h add edi,00000004h dec eax mov [ebp-10h],eax jnz L0046F961 L0046F9B1: mov ecx,ebx call SUB_L0046AA70 and eax,0000FFFFh mov ecx,L006A9D38 add eax,esi inc esi mov dl,[eax+ebx] mov eax,[ebp-18h] push eax mov [ebp-14h],dl call SUB_L004616C0 mov edi,eax test edi,edi jz L0046FD79 push 000002B4h call SUB_L0049A820 add esp,00000004h mov [ebp-18h],eax test eax,eax mov dword ptr [ebp-04h],00000001h jz L0046FA34 mov edx,[ebp-24h] lea ecx,[ebp-00000144h] push 00000000h push ecx mov ecx,[ebp-20h] push edx mov edx,[ebp-1Ch] push ecx push edx lea ecx,[ebp-000000E4h] lea edx,[ebp-00000094h] push ecx push edx mov edx,[L004D77C4] lea ecx,[ebp-44h] push ecx push edx push edi mov ecx,eax call SUB_L004047D0 mov [ebp-10h],eax jmp L0046FA3B L0046FA34: mov dword ptr [ebp-10h],00000000h L0046FA3B: mov eax,[ebp-14h] xor edi,edi and eax,000000FFh mov dword ptr [ebp-04h],FFFFFFFFh mov [L004D77C8],edi mov [ebp-14h],eax jle L0046FA9D L0046FA57: mov ecx,ebx call SUB_L0046AA70 and eax,0000FFFFh mov ecx,ebx add eax,esi inc esi mov al,[eax+ebx] mov [ebp+08h],al call SUB_L0046AA70 mov ecx,[ebp+08h] and eax,0000FFFFh add eax,esi and ecx,000000FFh add eax,ebx add esi,ecx cmp edi,00000050h jge L0046FA95 mov ecx,[ebp-10h] push eax call SUB_L00406700 L0046FA95: mov eax,[ebp-14h] inc edi cmp edi,eax jl L0046FA57 L0046FA9D: mov ecx,[ebp-10h] call SUB_L00406430 mov ecx,[ebp-10h] push 00000001h push 00000000h jmp L0046FD74 L0046FAB1: neg ax sbb eax,eax and eax,00000002h inc eax and eax,0000FFFFh mov edx,[eax+ebx+01h] push edx call jmp_WSOCK32.dll!WSOCK32.14 mov [ebp-1Ch],eax xor eax,eax mov al,[ebx] mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ecx,[eax+ebx+05h] push ecx call jmp_WSOCK32.dll!WSOCK32.14 xor edx,edx mov [ebp-18h],eax mov dl,[ebx] mov ax,[L004CDCB4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov eax,[eax+ebx+09h] push eax call jmp_WSOCK32.dll!WSOCK32.14 xor ecx,ecx mov [ebp-20h],eax mov cl,[ebx] mov dx,[L004CDCB4+ecx*8] and dx,8000h mov si,dx neg si sbb esi,esi and esi,00000002h inc esi and esi,0000FFFFh mov al,[esi+ebx+0Dh] lea esi,[ebp-44h] mov [ebp+08h],al mov ax,dx mov ecx,[ebp+08h] mov [ebp-14h],esi neg ax sbb eax,eax and ecx,000000FFh and eax,00000002h add ecx,0000000Eh inc eax mov [ebp-10h],ecx and eax,0000FFFFh or ecx,FFFFFFFFh lea edi,[eax+ebx+0Eh] xor eax,eax repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,[ebp-14h] shr ecx,02h rep movsd mov ecx,eax mov ax,dx and ecx,00000003h rep movsb mov si,dx mov edi,[ebp-10h] neg si sbb esi,esi and esi,00000002h inc esi and esi,0000FFFFh add esi,edi inc edi mov cl,[esi+ebx] mov [ebp+08h],cl mov ecx,[ebp+08h] lea esi,[ebp-00000094h] neg ax sbb eax,eax and ecx,000000FFh and eax,00000002h mov [ebp+08h],esi inc eax and eax,0000FFFFh add eax,edi add edi,ecx add eax,ebx mov [ebp-10h],edi mov edi,eax or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,[ebp+08h] shr ecx,02h rep movsd mov ecx,eax mov eax,[ebp-10h] and ecx,00000003h inc eax rep movsb neg dx sbb edx,edx or ecx,FFFFFFFFh and edx,00000002h inc edx mov edi,edx lea edx,[ebp-000000E4h] and edi,0000FFFFh add edi,eax xor eax,eax add edi,ebx repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov ecx,[ebp-1Ch] push ecx mov ecx,L006A9D38 call SUB_L004616C0 mov edx,[ebp-18h] mov ecx,L006A9D38 push edx mov esi,eax call SUB_L004616C0 test esi,esi mov edi,eax jz L0046FD79 mov eax,[esi] mov ecx,esi call [eax+30h] test eax,eax jz L0046FD79 test edi,edi jz L0046FD79 mov ecx,[ebp-20h] push ecx mov ecx,L006A9D38 call SUB_L004616C0 mov ecx,[esi+000000ACh] test ecx,ecx jz L0046FD79 lea edx,[ebp-000000E4h] push edx lea edx,[ebp-00000094h] push edx lea edx,[ebp-44h] push edx push eax push edi call SUB_L004037A0 mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L0046FCBD: neg ax sbb eax,eax and eax,00000002h inc eax and eax,0000FFFFh mov eax,[eax+ebx+01h] push eax call jmp_WSOCK32.dll!WSOCK32.14 xor ecx,ecx push eax mov cl,[ebx] mov cx,[L004CDCB4+ecx*8] and ecx,00008000h or ch,40h shr ecx,0Eh and ecx,0000FFFFh lea edx,[ecx+ebx+05h] mov ecx,L006A9D38 mov [ebp+08h],edx call SUB_L004616C0 mov edi,eax test edi,edi jz L0046FD79 mov esi,[L00669620] xor ebx,ebx test esi,esi jz L0046FD3C L0046FD17: mov eax,[esi] mov ecx,esi call [eax+00000100h] test eax,eax jz L0046FD35 cmp [esi+34h],edi jnz L0046FD35 push 00000000h mov ecx,esi mov ebx,esi call SUB_L00441340 L0046FD35: mov esi,[esi+3Ch] test esi,esi jnz L0046FD17 L0046FD3C: test ebx,ebx jnz L0046FD79 push 000000C0h call SUB_L0049A820 add esp,00000004h mov [ebp-14h],eax test eax,eax mov [ebp-04h],ebx jz L0046FD65 mov ecx,[ebp+08h] push ecx push edi mov ecx,eax call SUB_L004030E0 jmp L0046FD67 L0046FD65: xor eax,eax L0046FD67: push 00000001h mov dword ptr [ebp-04h],FFFFFFFFh push 00000000h mov ecx,eax L0046FD74: call SUB_L004415C0 L0046FD79: mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 8 SUB_L0046FD90: push ebp mov ebp,esp sub esp,0000000Ch mov edx,[ebp+08h] xor eax,eax mov al,[edx] mov ax,[L004CDCB4+eax*8] and ax,8000h mov cx,ax neg cx sbb ecx,ecx and ecx,00000002h inc ecx and ecx,0000FFFFh mov cl,[ecx+edx] mov [ebp-0Ch],cl mov cx,ax neg cx sbb ecx,ecx and ecx,00000002h inc ecx and ecx,0000FFFFh mov cl,[ecx+edx+01h] mov [ebp+08h],cl mov cx,ax neg cx sbb ecx,ecx and ecx,00000002h inc ecx and ecx,0000FFFFh neg ax mov cl,[ecx+edx+02h] sbb eax,eax mov [ebp-04h],cl mov ecx,[ebp-04h] and eax,00000002h inc eax and ecx,000000FFh and eax,0000FFFFh mov dl,[eax+edx+03h] mov eax,[ebp+08h] mov [ebp-08h],dl mov [L006BD2A8],ecx mov edx,[ebp-08h] mov ecx,[ebp-0Ch] and eax,000000FFh and edx,000000FFh and ecx,000000FFh mov [L006BD2A4],eax mov [L006BD2AC],edx call SUB_L004579C0 mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L0046FE50: push ebp mov ebp,esp mov eax,fs:[00000000h] mov ecx,[ebp+08h] push FFFFFFFFh push L004B489B push eax xor eax,eax mov fs:[00000000h],esp mov al,[ecx] mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov al,[eax+ecx] test al,al jnz L0046FF17 mov eax,[L0073EC60] test eax,eax jz L0046FEC2 push 00000000h push 00000000h push 00000000h push 00000000h push SSZ004CD7D0_already_sequencing_ mov ecx,L00669608 call SUB_L0043F200 mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L0046FEC2: push 00000010h mov dword ptr [L0073EC60],00000001h call SUB_L0049A820 add esp,00000004h mov [ebp+08h],eax test eax,eax mov dword ptr [ebp-04h],00000000h jz L0046FF00 mov ecx,eax call SUB_L00443E00 mov [L0073EC54],eax mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L0046FF00: xor eax,eax mov [L0073EC54],eax mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L0046FF17: mov ecx,[L0073EC60] test ecx,ecx jnz L0046FF48 push 00000000h push 00000000h push 00000000h push 00000000h push SSZ004CD7C0_not_sequencing_ mov ecx,L00669608 call SUB_L0043F200 mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L0046FF48: mov ecx,[L0073EC54] mov dword ptr [L0073EC60],00000000h mov [ecx+0Ch],al mov eax,[L0073EC54] mov edx,[eax+04h] mov [eax+08h],edx mov ecx,[L0073EC54] mov eax,[ecx+08h] test eax,eax jz L0046FF89 push eax call SUB_L00443F00 mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L0046FF89: test ecx,ecx jz L0046FF93 mov eax,[ecx] push 00000001h call [eax] L0046FF93: mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L0046FFB0: push ebp mov ebp,esp push FFFFFFFFh push L004B48C6 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000430h push ebx mov ebx,[ebp+08h] xor eax,eax push esi mov al,[ebx] push edi mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ecx,[eax+ebx] push ecx call jmp_WSOCK32.dll!WSOCK32.14 xor edx,edx mov [ebp-20h],eax mov dl,[ebx] mov ax,[L004CDCB4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ax,[eax+ebx+04h] push eax call jmp_WSOCK32.dll!WSOCK32.15 xor ecx,ecx mov [ebp-1Ch],eax mov cl,[ebx] mov ax,[L004CDCB4+ecx*8] and ax,8000h mov si,ax neg si sbb esi,esi and esi,00000002h inc esi and esi,0000FFFFh neg ax mov dl,[esi+ebx+06h] mov [ebp+08h],dl mov esi,[ebp+08h] sbb eax,eax and esi,000000FFh and eax,00000002h mov [ebp+08h],esi inc eax lea ecx,[esi+01h] mov edi,eax lea eax,[esi+07h] push ecx mov [ebp-10h],eax call SUB_L0049A820 mov ecx,esi and edi,0000FFFFh mov edx,ecx mov [ebp-14h],eax lea esi,[edi+ebx+07h] mov edi,eax shr ecx,02h rep movsd mov ecx,edx add esp,00000004h and ecx,00000003h rep movsb mov ecx,edx xor edx,edx mov esi,[ebp-10h] mov byte ptr [eax+ecx],00h mov dl,[ebx] mov ax,[L004CDCB4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,esi inc esi mov al,[eax+ebx] mov [ebp+08h],al mov edi,[ebp+08h] and edi,000000FFh mov [ebp-30h],edi lea eax,[edi+edi] push eax mov [ebp+08h],eax call SUB_L0049A820 mov ecx,[ebp+08h] add esp,00000004h mov [ebp-18h],eax push ecx call SUB_L0049A820 add esp,00000004h mov [ebp-28h],eax test edi,edi jle L0047023E mov ecx,[ebp-18h] mov edi,eax sub ecx,eax mov eax,[ebp-30h] lea edx,[ebp-0000043Ch] mov [ebp-34h],edi mov [ebp+08h],edx mov [ebp-2Ch],ecx mov [ebp-24h],eax jmp L0047011B L00470118: mov ecx,[ebp-2Ch] L0047011B: xor edx,edx mov dl,[ebx] mov ax,[L004CDCB4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,esi mov ax,[eax+ebx] push eax mov [ecx+edi],ax call jmp_WSOCK32.dll!WSOCK32.15 mov ecx,[ebp-2Ch] xor edx,edx add esi,00000002h mov [ecx+edi],ax mov dl,[ebx] mov ax,[L004CDCB4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,esi mov ax,[eax+ebx] push eax mov [edi],ax call jmp_WSOCK32.dll!WSOCK32.15 mov [edi],ax xor eax,eax mov al,[ebx] add esi,00000002h mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,esi inc esi mov al,[eax+ebx] test al,al mov [ebp-38h],al jz L00470216 mov edi,[ebp-38h] and edi,000000FFh mov [ebp-3Ch],edi lea ecx,[edi+01h] push ecx call SUB_L0049A820 xor ecx,ecx mov edx,[ebp+08h] mov cl,[ebx] add esp,00000004h mov [edx],eax mov cx,[L004CDCB4+ecx*8] and ecx,00008000h or ch,40h shr ecx,0Eh and ecx,0000FFFFh add ecx,esi add esi,edi add ecx,ebx mov [ebp-10h],esi mov edx,ecx mov ecx,edi mov esi,edx mov edx,ecx mov edi,eax mov eax,[ebp+08h] shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb mov ecx,[eax] mov esi,[ebp-10h] mov edi,[ebp-34h] mov byte ptr [ecx+edx],00h jmp L0047021F L00470216: mov eax,[ebp+08h] mov dword ptr [eax],00000000h L0047021F: mov ecx,[ebp+08h] mov eax,[ebp-24h] add edi,00000002h add ecx,00000004h dec eax mov [ebp-34h],edi mov [ebp+08h],ecx mov [ebp-24h],eax jnz L00470118 mov edi,[ebp-30h] L0047023E: mov ebx,[ebp-18h] cmp word ptr [ebx],0000h jnz L00470298 push 000002B4h call SUB_L0049A820 add esp,00000004h mov [ebp+08h],eax xor esi,esi cmp eax,esi mov [ebp-04h],esi jz L0047027E mov edx,[ebp-1Ch] lea ecx,[ebp-0000043Ch] push ecx mov ecx,[ebp-20h] push ebx push edi push edx mov edx,[ebp-14h] push ecx push edx mov ecx,eax call SUB_L00481860 mov esi,eax L0047027E: push 00000001h push 00000000h mov ecx,esi mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L004415C0 mov [L00669630],esi jmp L004702ED L00470298: push 00000544h call SUB_L0049A820 add esp,00000004h mov [ebp+08h],eax test eax,eax mov dword ptr [ebp-04h],00000001h jz L004702D9 mov edx,[ebp-28h] lea ecx,[ebp-0000043Ch] push ecx mov ecx,[ebp-1Ch] push edx mov edx,[ebp-20h] push ebx push edi push ecx mov ecx,[ebp-14h] push edx push ecx push 00000000h push 00000000h mov ecx,eax call SUB_L00480C20 jmp L004702DB L004702D9: xor eax,eax L004702DB: push 00000001h push 00000000h mov ecx,eax mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L004415C0 L004702ED: mov edx,[ebp-14h] push edx call SUB_L0049A810 add esp,00000004h push ebx call SUB_L0049A810 mov eax,[ebp-28h] add esp,00000004h push eax call SUB_L0049A810 add esp,00000004h test edi,edi jle L0047032D lea esi,[ebp-0000043Ch] L00470318: mov eax,[esi] test eax,eax jz L00470327 push eax call SUB_L0049A810 add esp,00000004h L00470327: add esi,00000004h dec edi jnz L00470318 L0047032D: mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ SUB_L00470340: push ebp mov ebp,esp mov eax,fs:[00000000h] push FFFFFFFFh push L004B48DB push eax mov fs:[00000000h],esp push ebx push esi mov esi,[ebp+08h] xor eax,eax push edi mov al,[esi] mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ecx,[eax+esi] push ecx call jmp_WSOCK32.dll!WSOCK32.14 xor edx,edx mov edi,eax mov dl,[esi] mov ax,[L004CDCB4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ax,[eax+esi+04h] push eax call jmp_WSOCK32.dll!WSOCK32.15 xor ecx,ecx mov ebx,eax mov cl,[esi] mov ax,[L004CDCB4+ecx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov dx,[eax+esi+06h] push edx call jmp_WSOCK32.dll!WSOCK32.15 push 000000E0h mov esi,eax call SUB_L0049A820 add esp,00000004h mov [ebp+08h],eax test eax,eax mov dword ptr [ebp-04h],00000000h jz L004703FE push esi push ebx push edi mov ecx,eax call SUB_L00447BB0 jmp L00470400 L004703FE: xor eax,eax L00470400: push 00000001h push 00000000h mov ecx,eax mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L004415C0 mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00470430: push ebp mov ebp,esp push ebx mov ebx,[ebp+08h] push esi push edi mov edi,ecx xor eax,eax xor ecx,ecx mov ax,[edi+02h] mov cx,[ebx+02h] shr eax,08h shr ecx,08h cmp eax,ecx mov [ebp+08h],eax jl L00470457 mov [ebp+08h],ecx L00470457: fild dword ptr [ebp+08h] sub eax,ecx cdq fmul qword ptr [L004BB7C8] mov esi,eax xor esi,edx sub esi,edx call SUB_L0049BB80 mov dl,[edi+01h] xor ecx,ecx cmp esi,eax setle cl mov eax,ecx mov cl,[ebx+01h] cmp dl,cl jnz L004705A9 test eax,eax jz L004705A9 mov ax,[edi+00000086h] cmp ax,[ebx+00000086h] jnz L004705A9 mov cx,[edi+00000088h] cmp cx,[ebx+00000088h] jnz L004705A9 mov edx,[edi+0000008Ch] mov eax,[ebx+0000008Ch] cmp edx,eax jnz L004705A9 lea esi,[ebx+05h] lea eax,[edi+05h] L004704CF: mov dl,[eax] mov cl,dl cmp dl,[esi] jnz L004704F3 test cl,cl jz L004704EF mov dl,[eax+01h] mov cl,dl cmp dl,[esi+01h] jnz L004704F3 add eax,00000002h add esi,00000002h test cl,cl jnz L004704CF L004704EF: xor eax,eax jmp L004704F8 L004704F3: sbb eax,eax sbb eax,FFFFFFFFh L004704F8: test eax,eax jnz L004705A9 lea esi,[ebx+25h] lea eax,[edi+25h] L00470506: mov dl,[eax] mov cl,dl cmp dl,[esi] jnz L0047052A test cl,cl jz L00470526 mov dl,[eax+01h] mov cl,dl cmp dl,[esi+01h] jnz L0047052A add eax,00000002h add esi,00000002h test cl,cl jnz L00470506 L00470526: xor eax,eax jmp L0047052F L0047052A: sbb eax,eax sbb eax,FFFFFFFFh L0047052F: test eax,eax jnz L004705A9 lea esi,[ebx+45h] lea eax,[edi+45h] L00470539: mov dl,[eax] mov cl,dl cmp dl,[esi] jnz L0047055D test cl,cl jz L00470559 mov dl,[eax+01h] mov cl,dl cmp dl,[esi+01h] jnz L0047055D add eax,00000002h add esi,00000002h test cl,cl jnz L00470539 L00470559: xor eax,eax jmp L00470562 L0047055D: sbb eax,eax sbb eax,FFFFFFFFh L00470562: test eax,eax jnz L004705A9 lea esi,[ebx+65h] lea eax,[edi+65h] L0047056C: mov dl,[eax] mov bl,[esi] mov cl,dl cmp dl,bl jnz L00470594 test cl,cl jz L00470590 mov dl,[eax+01h] mov bl,[esi+01h] mov cl,dl cmp dl,bl jnz L00470594 add eax,00000002h add esi,00000002h test cl,cl jnz L0047056C L00470590: xor eax,eax jmp L00470599 L00470594: sbb eax,eax sbb eax,FFFFFFFFh L00470599: test eax,eax jnz L004705A9 mov eax,00000001h pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ L004705A9: pop edi pop esi xor eax,eax pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L004705C0: push ebp mov ebp,esp push FFFFFFFFh push L004B4911 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000430h mov eax,[L0073EC5C] push ebx xor ebx,ebx push esi cmp eax,ebx push edi jnz L0047063A lea eax,[ebp-00000160h] push eax call SUB_L00476920 lea ecx,[ebp-00000248h] call SUB_L00445210 cmp eax,ebx jz L0047061D lea ecx,[ebp-00000160h] push ecx lea ecx,[ebp-00000248h] call SUB_L00470430 test eax,eax jnz L0047063A L0047061D: mov ecx,[L006BB1CC] lea edx,[ebp-00000160h] push edx call SUB_L0048B170 lea ecx,[ebp-00000160h] call SUB_L00445410 L0047063A: or ecx,FFFFFFFFh mov edi,L006BD468 xor eax,eax lea edx,[ebp-0000043Ch] repne scasb not ecx sub edi,ecx mov [ebp-28h],ebx mov eax,ecx mov esi,edi mov edi,edx lea edx,[ebp-0000043Ch] shr ecx,02h rep movsd mov ecx,eax xor eax,eax and ecx,00000003h rep movsb mov edi,L004C40E4 or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov esi,edi mov edi,edx mov edx,ecx or ecx,FFFFFFFFh repne scasb mov ecx,edx dec edi shr ecx,02h rep movsd mov ecx,edx lea edx,[ebp-0000043Ch] and ecx,00000003h rep movsb mov edi,L006BD42C or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov esi,edi mov edi,edx mov edx,ecx or ecx,FFFFFFFFh repne scasb mov ecx,edx dec edi shr ecx,02h rep movsd mov eax,[L0073EC5C] mov ecx,edx and ecx,00000003h cmp eax,ebx rep movsb jz L0047075C or ecx,FFFFFFFFh mov edi,L004CD448 xor eax,eax lea edx,[ebp-0000043Ch] repne scasb not ecx sub edi,ecx mov esi,edi mov edi,edx mov edx,ecx or ecx,FFFFFFFFh repne scasb mov ecx,edx dec edi shr ecx,02h rep movsd mov ecx,edx lea edx,[ebp-0000043Ch] and ecx,00000003h rep movsb mov edi,L004D7E20 or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov esi,edi mov edi,edx mov edx,ecx or ecx,FFFFFFFFh repne scasb mov ecx,edx dec edi shr ecx,02h rep movsd mov ecx,edx lea edx,[ebp-0000043Ch] and ecx,00000003h rep movsb mov edi,L004CD444 or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov esi,edi mov edi,edx mov edx,ecx or ecx,FFFFFFFFh repne scasb mov ecx,edx dec edi shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb L0047075C: lea ecx,[ebp-0000043Ch] call SUB_L00497E40 cmp [L007121B8],ebx jnz L00470779 mov edx,[L0073EC5C] cmp edx,ebx jz L004707AB L00470779: push 000000C4h call SUB_L0049A820 add esp,00000004h mov [ebp-24h],eax cmp eax,ebx mov [ebp-04h],ebx jz L00470799 mov ecx,eax call SUB_L0041D750 jmp L0047079B L00470799: xor eax,eax L0047079B: mov edx,[L0073EC5C] mov dword ptr [ebp-04h],FFFFFFFFh mov [ebp-28h],eax L004707AB: mov ecx,[ebp+08h] xor eax,eax mov al,[ecx] mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov cl,[eax+ecx] mov eax,[L007121B8] cmp eax,ebx mov [ebp-18h],cl jnz L004707DD cmp edx,ebx jz L004707EA L004707DD: mov eax,[ebp-18h] and eax,000000FFh mov [L006BD2E4],eax L004707EA: mov ecx,[ebp+08h] xor eax,eax mov ebx,00000002h mov al,[ecx] mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh test edx,edx mov cl,[eax+ecx+01h] mov [ebp-1Ch],cl jnz L00470850 mov edx,[ebp-1Ch] lea eax,[ebp-0000043Ch] and edx,000000FFh push edx push L004C43EC push eax call SUB_L0049AC80 mov cl,[ebp-1Ch] add esp,0000000Ch mov [L006BD2DC],cl lea edx,[ebp-0000043Ch] mov ecx,00000021h call SUB_L00427C00 L00470850: mov dword ptr [ebp-14h],00000000h mov dword ptr [ebp-20h],L006BD37E L0047085E: mov esi,[ebp+08h] xor edx,edx push 0000001Eh mov dl,[esi] mov ax,[L004CDCB4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,ebx add ebx,0000001Eh add eax,esi push eax lea eax,[ebp-68h] push eax call SUB_L0049B200 xor ecx,ecx add esp,0000000Ch mov cl,[esi] lea edx,[ebp-00000088h] push 0000001Eh mov ax,[L004CDCB4+ecx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,ebx add ebx,0000001Eh add eax,esi push eax push edx call SUB_L0049B200 mov eax,[L007121B8] add esp,0000000Ch test eax,eax mov byte ptr [ebp-4Bh],00h mov byte ptr [ebp-6Bh],00h jnz L004708E2 mov eax,[L0073EC5C] test eax,eax jz L00470958 L004708E2: lea edi,[ebp-68h] or ecx,FFFFFFFFh xor eax,eax mov edx,[ebp-20h] repne scasb not ecx lea esi,[edx-00000096h] sub edi,ecx mov eax,ecx mov [ebp-18h],esi mov esi,edi mov edi,[ebp-18h] shr ecx,02h rep movsd mov ecx,eax xor eax,eax and ecx,00000003h rep movsb lea edi,[ebp-00000088h] or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax xor eax,eax and ecx,00000003h rep movsb lea edi,[ebp-68h] or ecx,FFFFFFFFh repne scasb not ecx dec ecx jz L00470958 mov ecx,[ebp-14h] lea edx,[ebp-00000088h] push ecx mov ecx,[ebp-28h] lea eax,[ebp-68h] push edx push eax call SUB_L0041E040 L00470958: mov eax,[ebp-20h] mov esi,[ebp-14h] add eax,0000001Eh inc esi cmp eax,L006BD414 mov [ebp-14h],esi mov [ebp-20h],eax jl L0047085E mov edx,[ebp+08h] xor ecx,ecx mov cl,[edx] mov si,[L004CDCB4+ecx*8] mov ecx,[L007121B8] and esi,00008000h or esi,00004000h shr esi,0Eh and esi,0000FFFFh add esi,ebx inc ebx test ecx,ecx mov al,[esi+edx] mov [ebp-0Dh],al jnz L00470A65 mov ecx,[L0073EC5C] test ecx,ecx jnz L00470A65 test al,al jnz L00470A6D mov ecx,[L00669670] test ecx,ecx jz L004709DE mov edx,[ecx] push 00000001h call [edx] mov dword ptr [L00669670],00000000h L004709DE: mov eax,[L00669648] test eax,eax jz L004712FE xor esi,esi push 000002B0h mov [eax+68h],esi call SUB_L0049A820 add esp,00000004h mov [ebp+08h],eax cmp eax,esi mov dword ptr [ebp-04h],00000001h jz L00470A29 mov ecx,[L00669648] push esi push esi push 00000001h push esi push ecx push SSZ004CD824_The_Ultima_Online_servers_are_cu push FFFFFFFFh push FFFFFFFFh mov ecx,eax call SUB_L00443490 jmp L00470A2B L00470A29: xor eax,eax L00470A2B: push 00000001h push esi mov ecx,eax mov dword ptr [ebp-04h],FFFFFFFFh mov [L00669670],eax call SUB_L004415C0 mov ecx,[L006BB1CC] mov [L0071238C],esi call SUB_L00489420 mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L00470A65: test al,al jz L00470BA7 L00470A6D: mov ecx,[L0073EC5C] test ecx,ecx jnz L00470AC5 movsx esi,[ebp-0Dh] mov [L006BD2B0],esi lea edi,[00000004h+esi*4] push edi call SUB_L0049A820 mov edx,eax mov ecx,edi mov [L006BD2B4],edx mov edi,edx mov edx,ecx xor eax,eax shr ecx,02h rep stosd mov ecx,edx add esp,00000004h and ecx,00000003h rep stosb lea eax,[esi+esi+02h] push eax call SUB_L0049A820 mov edx,[ebp+08h] mov [L006BD2B8],eax mov al,[ebp-0Dh] add esp,00000004h L00470AC5: movsx eax,al test eax,eax mov dword ptr [ebp-14h],00000000h mov [ebp-1Ch],eax jle L00470BA7 L00470ADA: xor ecx,ecx mov cl,[edx] mov cx,[L004CDCB4+ecx*8] and cx,8000h mov ax,cx neg ax sbb eax,eax and eax,00000002h inc eax and eax,0000FFFFh add eax,ebx inc ebx neg cx mov al,[eax+edx] sbb ecx,ecx mov [ebp-0Eh],al mov eax,[L0073EC5C] and ecx,00000002h inc ecx and ecx,0000FFFFh add ecx,ebx add ebx,00000010h add ecx,edx test eax,eax mov esi,ecx jnz L00470B95 mov edi,esi or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx jz L00470B95 movsx cx,[ebp-0Eh] mov edx,[ebp-14h] mov eax,[L006BD2B8] mov edi,esi mov [eax+edx*2],cx or ecx,FFFFFFFFh xor eax,eax mov byte ptr [esi+0Fh],00h repne scasb not ecx push ecx call SUB_L0049A820 mov ecx,[L006BD2B4] mov edx,[ebp-14h] mov edi,esi add esp,00000004h mov [ecx+edx*4],eax or ecx,FFFFFFFFh xor eax,eax mov edx,[L006BD2B4] repne scasb not ecx sub edi,ecx mov esi,edi mov edi,[ebp-14h] mov eax,ecx mov edi,[edx+edi*4] mov edx,[ebp+08h] shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb L00470B95: mov eax,[ebp-14h] mov ecx,[ebp-1Ch] inc eax cmp eax,ecx mov [ebp-14h],eax jl L00470ADA L00470BA7: xor eax,eax mov dword ptr [ebp-20h],00000000h mov al,[edx] mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,ebx inc ebx mov dl,[eax+edx] test dl,dl mov [ebp-0Dh],dl jz L00470DEB mov eax,[L0073EC5C] xor ecx,ecx cmp eax,ecx jnz L00470C28 movsx eax,dl mov [L006BD2D0],eax lea esi,[00000004h+eax*4] push esi call SUB_L0049A820 mov ecx,esi mov edi,eax mov edx,ecx xor eax,eax shr ecx,02h mov [L006BD2D4],edi add esp,00000004h rep stosd mov ecx,edx push esi and ecx,00000003h rep stosb call SUB_L0049A820 add esp,00000004h mov [L006BD2D8],eax xor ecx,ecx L00470C28: movsx eax,[ebp-0Dh] cmp eax,ecx mov [ebp-20h],ecx mov [ebp-0000011Ch],ecx mov [ebp-14h],ecx mov [ebp-1Ch],eax jle L00470DEB lea eax,[ebp-0000011Ch] mov [ebp-18h],eax L00470C4C: mov esi,[ebp+08h] xor ecx,ecx push 0000001Fh mov cl,[esi] mov cx,[L004CDCB4+ecx*8] and cx,8000h mov ax,cx neg ax sbb eax,eax and eax,00000002h inc eax and eax,0000FFFFh add eax,ebx inc ebx neg cx sbb ecx,ecx mov dl,[eax+esi] and ecx,00000002h lea eax,[ebp-48h] inc ecx mov [ebp-0Eh],dl and ecx,0000FFFFh add ecx,ebx add ebx,0000001Fh add ecx,esi push ecx push eax call SUB_L0049B200 xor ecx,ecx add esp,0000000Ch mov cl,[esi] lea edx,[ebp-000000A8h] push 0000001Fh mov byte ptr [ebp-2Ah],00h mov ax,[L004CDCB4+ecx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,ebx add ebx,0000001Fh add eax,esi push eax push edx call SUB_L0049B200 mov eax,[L0073EC5C] add esp,0000000Ch test eax,eax mov byte ptr [ebp-0000008Ah],00h jnz L00470D64 lea edi,[ebp-48h] or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx jz L00470D64 movsx eax,[ebp-0Eh] lea edi,[ebp-48h] or ecx,FFFFFFFFh lea esi,[00000000h+eax*4] xor eax,eax repne scasb not ecx dec ecx lea edi,[ebp-000000A8h] mov edx,ecx or ecx,FFFFFFFFh repne scasb not ecx dec ecx lea eax,[edx+ecx+03h] push eax call SUB_L0049A820 mov ecx,[L006BD2D4] add esp,00000004h lea edx,[ebp-000000A8h] mov [esi+ecx],eax mov ecx,[L006BD2D4] lea eax,[ebp-48h] push edx mov edx,[esi+ecx] push eax push SSZ004CD420__s___s push edx call SUB_L0049AC80 movsx eax,[ebp-0Eh] mov ecx,[L006BD2D8] add esp,00000010h mov [esi+ecx],eax L00470D64: mov ecx,[ebp-14h] test ecx,ecx jle L00470DB3 lea edi,[ebp-000000C8h] lea esi,[ebp-48h] L00470D74: mov dl,[esi] mov al,dl cmp dl,[edi] jnz L00470D98 test al,al jz L00470D94 mov dl,[esi+01h] mov al,dl cmp dl,[edi+01h] jnz L00470D98 add esi,00000002h add edi,00000002h test al,al jnz L00470D74 L00470D94: xor eax,eax jmp L00470D9D L00470D98: sbb eax,eax sbb eax,FFFFFFFFh L00470D9D: test eax,eax jz L00470DB3 mov esi,[ebp-20h] mov eax,[ebp-18h] inc esi add eax,00000004h mov [ebp-20h],esi mov [ebp-18h],eax mov [eax],ecx L00470DB3: lea edi,[ebp-48h] or ecx,FFFFFFFFh xor eax,eax lea edx,[ebp-000000C8h] repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax mov eax,[ebp-14h] and ecx,00000003h inc eax rep movsb mov ecx,[ebp-1Ch] mov [ebp-14h],eax cmp eax,ecx jl L00470C4C L00470DEB: mov eax,[L0073EC5C] test eax,eax jnz L00470FAD mov al,[ebp-0Dh] test al,al jz L00470FAD movsx esi,al lea ebx,[00000004h+esi*4] push ebx call SUB_L0049A820 mov ecx,ebx mov ebx,[ebp-20h] mov edx,ecx mov edi,eax xor eax,eax mov [ebp-14h],edi shr ecx,02h rep stosd mov ecx,edx add esp,00000004h and ecx,00000003h inc ebx rep stosb mov [ebp+ebx*4-0000011Ch],esi mov eax,00000000h js L00470E4F lea ecx,[ebp-000001B0h] L00470E45: mov [ecx],eax inc eax add ecx,00000004h cmp eax,ebx jle L00470E45 L00470E4F: test ebx,ebx jle L00470EA8 lea eax,[00000000h+ebx*4] mov esi,ebx lea edi,[ebp-00000200h] mov [ebp+08h],eax mov [ebp-18h],ebx L00470E68: mov ecx,esi call SUB_L00455460 mov edx,[ebp+eax*4-000001B0h] lea ecx,[ebp+eax*4-000001B0h] mov [edi],edx lea edx,[esi-01h] cmp eax,edx jge L00470E92 mov eax,[ebp+08h] mov edx,[ebp+eax-000001B4h] mov [ecx],edx L00470E92: mov edx,[ebp+08h] mov eax,[ebp-18h] add edi,00000004h sub edx,00000004h dec esi dec eax mov [ebp+08h],edx mov [ebp-18h],eax jnz L00470E68 L00470EA8: test ebx,ebx mov [ebp+ebx*4-00000200h],ebx mov dword ptr [ebp+08h],00000000h jle L00470F76 lea eax,[ebp-00000200h] mov [ebp-18h],ebx mov [ebp-1Ch],eax L00470ECA: mov ecx,[ebp-1Ch] mov eax,[ecx] movsx ecx,[ebp-0Dh] shl eax,02h mov ebx,[ebp+eax-0000011Ch] cmp ebx,ecx jge L00470F60 mov edx,[ebp+eax-00000118h] mov [ebp-20h],edx L00470EEB: cmp ebx,[ebp-20h] jge L00470F60 mov eax,[L006BD2D4] or ecx,FFFFFFFFh mov edi,[eax+ebx*4] xor eax,eax repne scasb not ecx push ecx call SUB_L0049A820 mov ecx,[ebp+08h] mov edx,eax add esp,00000004h lea eax,[00000000h+ecx*4] mov ecx,[ebp-14h] mov [ebp-24h],eax mov [ecx+eax],edx mov eax,[L006BD2D4] or ecx,FFFFFFFFh mov edi,[eax+ebx*4] xor eax,eax repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx mov edx,[ebp-24h] shr ecx,02h rep movsd mov ecx,eax movsx eax,[ebp-0Dh] and ecx,00000003h rep movsb mov ecx,[L006BD2D8] mov [edx+ecx],ebx mov edx,[ebp+08h] inc ebx inc edx cmp ebx,eax mov [ebp+08h],edx jl L00470EEB L00470F60: mov ecx,[ebp-1Ch] mov eax,[ebp-18h] add ecx,00000004h dec eax mov [ebp-1Ch],ecx mov [ebp-18h],eax jnz L00470ECA L00470F76: movsx edi,[ebp-0Dh] xor esi,esi test edi,edi jle L00470F96 L00470F80: mov eax,[L006BD2D4] mov ecx,[eax+esi*4] push ecx call SUB_L0049A810 add esp,00000004h inc esi cmp esi,edi jl L00470F80 L00470F96: mov eax,[L006BD2D4] push eax call SUB_L0049A810 mov edx,[ebp-14h] add esp,00000004h mov [L006BD2D4],edx L00470FAD: mov ecx,[L00669670] test ecx,ecx jz L00470FC7 mov eax,[ecx] push 00000001h call [eax] mov dword ptr [L00669670],00000000h L00470FC7: mov ecx,[L00669644] test ecx,ecx jz L00470FE1 mov edx,[ecx] push 00000001h call [edx] mov dword ptr [L00669644],00000000h L00470FE1: mov eax,[L00669648] test eax,eax jz L00470FF1 mov dword ptr [eax+68h],00000000h L00470FF1: mov eax,[L007121B8] test eax,eax jnz L004712D4 mov eax,[L0073EC5C] test eax,eax jnz L004712D4 mov eax,[L006BD2C4] test eax,eax jz L0047101D push eax call SUB_L0049A810 add esp,00000004h L0047101D: mov eax,[L006BD2B0] inc eax push eax call SUB_L0049A820 mov ecx,[L006BD2B0] add esp,00000004h mov [L006BD2C4],eax push ecx call SUB_L0049A820 mov ecx,[L006BD2B0] mov ebx,eax add esp,00000004h xor eax,eax test ecx,ecx mov [ebp-18h],ebx jle L0047105F L00471051: mov [ebx+eax],al mov ecx,[L006BD2B0] inc eax cmp eax,ecx jl L00471051 L0047105F: mov edx,[L006BD2B4] or ecx,FFFFFFFFh xor eax,eax mov edx,[edx] mov edi,edx repne scasb not ecx dec ecx cmp byte ptr [ecx+edx-01h],30h jl L004711CB mov edi,edx or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx cmp byte ptr [ecx+edx-01h],39h jg L004711CB mov eax,[L006BD2B0] xor esi,esi test eax,eax jle L00471130 L004710A4: mov eax,[L006BD2B4] or ecx,FFFFFFFFh mov edx,[eax+esi*4] xor eax,eax mov edi,edx repne scasb not ecx add ecx,FFFFFFFEh cmp byte ptr [ecx+edx],20h jz L004710C9 L004710C0: mov al,[ecx+edx-01h] dec ecx cmp al,20h jnz L004710C0 L004710C9: lea eax,[ecx+edx+01h] mov byte ptr [ecx+edx],00h push eax call SUB_L0049BB10 mov edi,[L004F4000] mov ecx,eax sub eax,edi add esp,00000004h cdq xor eax,edx lea ebx,[ecx+0Ch] sub eax,edx mov edx,0000000Ch sub edx,ecx and eax,000000FFh cmp edx,ebx jge L00471102 lea ebx,[edi+edx+0Ch] jmp L0047110B L00471102: mov ecx,0000000Ch sub ecx,edi add ebx,ecx L0047110B: cmp eax,ebx jge L0047111A mov edx,[L006BD2C4] mov [esi+edx],al jmp L00471122 L0047111A: mov eax,[L006BD2C4] mov [esi+eax],bl L00471122: mov eax,[L006BD2B0] inc esi cmp esi,eax jl L004710A4 L00471130: mov ecx,[L006BD2B0] xor edi,edi dec ecx mov [ebp+08h],edi test ecx,ecx jle L004711C8 mov ecx,[L006BD2C4] mov ebx,[ebp-18h] L0047114D: mov edx,[L006BD2B0] or eax,FFFFFFFFh cmp edi,edx jge L00471195 L0047115A: xor edx,edx mov dl,[edi+ebx] mov esi,edx mov edx,[L006BD2C0] cmp byte ptr [esi+edx],32h jz L00471187 cmp eax,FFFFFFFFh jz L00471185 xor edx,edx mov dl,[eax+ebx] mov [ebp-24h],edx mov dl,[esi+ecx] mov esi,[ebp-24h] cmp dl,[esi+ecx] jnc L00471187 L00471185: mov eax,edi L00471187: mov edx,[L006BD2B0] inc edi cmp edi,edx jl L0047115A mov edi,[ebp+08h] L00471195: cmp eax,edi jz L004711B5 cmp eax,FFFFFFFFh jz L004711B5 mov esi,[ebp+08h] mov dl,[eax+ebx] xor ecx,ecx mov cl,[edi+ebx] mov [esi+ebx],dl mov [eax+ebx],cl mov ecx,[L006BD2C4] L004711B5: mov edi,[ebp+08h] mov eax,[L006BD2B0] inc edi dec eax cmp edi,eax mov [ebp+08h],edi jl L0047114D jmp L004711CB L004711C8: mov ebx,[ebp-18h] L004711CB: push 00006150h call SUB_L0049A820 add esp,00000004h mov [ebp+08h],eax test eax,eax mov dword ptr [ebp-04h],00000002h jz L00471200 mov ecx,[L0066964C] push 00000000h push 000004CAh push ecx mov ecx,eax call SUB_L004197D0 mov [ebp+08h],eax jmp L00471207 L00471200: mov dword ptr [ebp+08h],00000000h L00471207: or ecx,FFFFFFFFh mov edi,SSZ004CD7E4_Sorted_by_time_zone___Best_servi xor eax,eax mov [ebp-04h],ecx mov edx,[ebp+08h] repne scasb not ecx lea esi,[edx+000060ECh] sub edi,ecx mov eax,ecx mov [ebp-24h],esi mov esi,edi mov edi,[ebp-24h] shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov dword ptr [edx+000000B8h],000000CDh mov eax,[L006BD2B0] xor edi,edi test eax,eax jle L004712AE L0047124E: mov edx,[L006BD2B4] xor ecx,ecx mov cl,[ebx+edi] mov edx,[edx+ecx*4] test edx,edx jz L00471289 mov esi,[L006BD2B8] mov al,[esi+ecx*2] test al,al jge L0047127D neg al push 000003B2h and eax,000000FFh push edx push eax jmp L0047129C L0047127D: xor eax,eax push 00000000h mov ax,[esi+ecx*2] push edx push eax jmp L0047129C L00471289: mov eax,[L006BD2B8] xor edx,edx push 00000000h push SSZ004C5450_Unknown_Server mov dx,[eax+ecx*2] push edx L0047129C: mov ecx,[ebp+08h] call SUB_L0041A260 mov eax,[L006BD2B0] inc edi cmp edi,eax jl L0047124E L004712AE: push ebx call SUB_L0049A810 mov esi,[ebp+08h] add esp,00000004h mov ecx,esi call SUB_L0041A2E0 push 00000001h push 00000000h mov ecx,esi call SUB_L004415C0 mov [L00669630],esi jmp L004712E6 L004712D4: mov ecx,[ebp-28h] push 00000001h push 00000000h mov [L00669644],ecx call SUB_L004415C0 L004712E6: mov eax,[L004D7EC8] test eax,eax jz L004712FE mov ecx,[L00669644] test ecx,ecx jz L004712FE mov edx,[ecx] call [edx+54h] L004712FE: mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00471320: push ebp mov ebp,esp push FFFFFFFFh push L004B4936 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000338h push ebx push esi lea eax,[ebp-000000B8h] push edi push eax call SUB_L00476920 lea ecx,[ebp-00000344h] call SUB_L00445210 test eax,eax jz L00471372 lea ecx,[ebp-000000B8h] push ecx lea ecx,[ebp-00000344h] call SUB_L00470430 test eax,eax jnz L0047138F L00471372: mov ecx,[L006BB1CC] lea edx,[ebp-000000B8h] push edx call SUB_L0048B170 lea ecx,[ebp-000000B8h] call SUB_L00445410 L0047138F: or ecx,FFFFFFFFh mov edi,L006BD468 xor eax,eax lea edx,[ebp-000002ACh] repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx lea edx,[ebp-000002ACh] shr ecx,02h rep movsd mov ecx,eax xor eax,eax and ecx,00000003h rep movsb mov edi,L004C40E4 or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov esi,edi mov ebx,ecx mov edi,edx or ecx,FFFFFFFFh repne scasb mov ecx,ebx dec edi shr ecx,02h rep movsd mov ecx,ebx lea edx,[ebp-000002ACh] and ecx,00000003h rep movsb mov edi,L006BD42C or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov esi,edi mov ebx,ecx mov edi,edx or ecx,FFFFFFFFh repne scasb mov ecx,ebx dec edi shr ecx,02h rep movsd mov eax,[L0073EC5C] mov ecx,ebx and ecx,00000003h test eax,eax rep movsb jz L004714AE or ecx,FFFFFFFFh mov edi,L004CD448 xor eax,eax lea edx,[ebp-000002ACh] repne scasb not ecx sub edi,ecx mov ebx,ecx mov esi,edi or ecx,FFFFFFFFh mov edi,edx repne scasb mov ecx,ebx dec edi shr ecx,02h rep movsd mov ecx,ebx lea edx,[ebp-000002ACh] and ecx,00000003h rep movsb mov edi,L004D7E20 or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov esi,edi mov ebx,ecx mov edi,edx or ecx,FFFFFFFFh repne scasb mov ecx,ebx dec edi shr ecx,02h rep movsd mov ecx,ebx lea edx,[ebp-000002ACh] and ecx,00000003h rep movsb mov edi,L004CD444 or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov esi,edi mov ebx,ecx mov edi,edx or ecx,FFFFFFFFh repne scasb mov ecx,ebx dec edi shr ecx,02h rep movsd mov ecx,ebx and ecx,00000003h rep movsb L004714AE: lea ecx,[ebp-000002ACh] call SUB_L00497E40 mov esi,[ebp+08h] xor eax,eax lea edx,[ebp-000002ACh] mov al,[esi] mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov bl,[eax+esi] mov [ebp-1Ch],bl mov ecx,[ebp-1Ch] and ecx,000000FFh push ecx push L004C43EC push edx call SUB_L0049AC80 add esp,0000000Ch lea edx,[ebp-000002ACh] mov ecx,00000021h mov [L006BD2DC],bl call SUB_L00427C00 xor eax,eax mov al,[esi] mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov cx,[eax+esi+01h] push ecx call jmp_WSOCK32.dll!WSOCK32.15 test al,al mov ebx,00000003h jnz L004715DF mov ecx,[L00669670] xor esi,esi cmp ecx,esi jz L0047155E mov edx,[ecx] push 00000001h call [edx] mov [L00669670],esi L0047155E: mov eax,[L00669648] cmp eax,esi jz L00471AAA push 000002B0h mov [eax+68h],esi call SUB_L0049A820 add esp,00000004h mov [ebp+08h],eax cmp eax,esi mov [ebp-04h],esi jz L004715A3 mov ecx,[L00669648] push esi push esi push 00000001h push esi push ecx push SSZ004CD824_The_Ultima_Online_servers_are_cu push FFFFFFFFh push FFFFFFFFh mov ecx,eax call SUB_L00443490 jmp L004715A5 L004715A3: xor eax,eax L004715A5: push 00000001h push esi mov ecx,eax mov dword ptr [ebp-04h],FFFFFFFFh mov [L00669670],eax call SUB_L004415C0 mov ecx,[L006BB1CC] mov [L0071238C],esi call SUB_L00489420 mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L004715DF: movsx edi,al mov eax,[L006BD2B4] mov [ebp-1Ch],edi test eax,eax mov [L006BD2B0],edi jz L004715FD push eax call SUB_L0049A810 add esp,00000004h L004715FD: lea eax,[edi+01h] mov [ebp-18h],eax lea edi,[00000000h+eax*4] push edi mov [ebp-10h],edi call SUB_L0049A820 mov edx,eax mov ecx,edi mov [L006BD2B4],edx mov edi,edx mov edx,ecx xor eax,eax shr ecx,02h rep stosd mov ecx,edx add esp,00000004h and ecx,00000003h rep stosb mov eax,[L006BD2B8] test eax,eax jz L00471644 push eax call SUB_L0049A810 add esp,00000004h L00471644: mov edi,[ebp-18h] lea eax,[edi+edi] push eax mov [ebp-18h],eax call SUB_L0049A820 mov [L006BD2B8],eax mov eax,[L006BD2BC] add esp,00000004h test eax,eax jz L0047166D push eax call SUB_L0049A810 add esp,00000004h L0047166D: push edi call SUB_L0049A820 mov [L006BD2BC],eax mov eax,[L006BD2C0] add esp,00000004h test eax,eax jz L0047168D push eax call SUB_L0049A810 add esp,00000004h L0047168D: push edi call SUB_L0049A820 mov [L006BD2C0],eax mov eax,[L006BD2C4] add esp,00000004h test eax,eax jz L004716AD push eax call SUB_L0049A810 add esp,00000004h L004716AD: push edi call SUB_L0049A820 mov [L006BD2C4],eax mov eax,[L006BD2C8] xor edi,edi add esp,00000004h cmp eax,edi jz L004716CF push eax call SUB_L0049A810 add esp,00000004h L004716CF: mov eax,[ebp-18h] push eax call SUB_L0049A820 mov [L006BD2C8],eax mov eax,[L006BD2CC] add esp,00000004h cmp eax,edi jz L004716F2 push eax call SUB_L0049A810 add esp,00000004h L004716F2: mov ecx,[ebp-10h] push ecx call SUB_L0049A820 mov [L006BD2CC],eax mov eax,[ebp-1Ch] add esp,00000004h cmp eax,edi mov [ebp-10h],edi jle L00471876 L00471711: xor edx,edx mov dl,[esi] mov ax,[L004CDCB4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,ebx mov ax,[eax+esi] push eax call jmp_WSOCK32.dll!WSOCK32.15 xor ecx,ecx mov [ebp-20h],eax mov cl,[esi] add ebx,00000002h mov ax,[L004CDCB4+ecx*8] and ax,8000h mov cx,ax neg cx sbb ecx,ecx and ecx,00000002h inc ecx and ecx,0000FFFFh add ecx,ebx add ebx,00000020h add ecx,esi mov edi,ecx mov cx,ax neg cx sbb ecx,ecx mov [ebp-18h],edi and ecx,00000002h inc ecx and ecx,0000FFFFh add ecx,ebx inc ebx mov dl,[ecx+esi] mov cx,ax neg cx sbb ecx,ecx mov [ebp-12h],dl and ecx,00000002h inc ecx and ecx,0000FFFFh add ecx,ebx inc ebx neg ax sbb eax,eax mov cl,[ecx+esi] and eax,00000002h mov [ebp-11h],cl inc eax and eax,0000FFFFh add eax,ebx mov edx,[eax+esi] push edx call jmp_WSOCK32.dll!WSOCK32.14 mov edx,eax or ecx,FFFFFFFFh xor eax,eax add ebx,00000004h repne scasb not ecx dec ecx jz L00471862 mov esi,[ebp-10h] mov eax,[L006BD2B8] mov cx,[ebp-20h] mov edi,[ebp-18h] mov [eax+esi*2],cx mov eax,[L006BD2BC] mov cl,[ebp-12h] mov [esi+eax],cl mov eax,[L006BD2C0] mov cl,[ebp-11h] mov [esi+eax],cl mov eax,[L006BD2C4] mov byte ptr [esi+eax],00h mov ecx,[L006BD2C8] mov word ptr [ecx+esi*2],0000h mov eax,[L006BD2CC] or ecx,FFFFFFFFh mov [eax+esi*4],edx xor eax,eax mov byte ptr [edi+0Fh],00h repne scasb not ecx push ecx call SUB_L0049A820 mov ecx,[L006BD2B4] mov edi,[ebp-18h] add esp,00000004h mov [ecx+esi*4],eax or ecx,FFFFFFFFh xor eax,eax repne scasb mov eax,[L006BD2B4] not ecx sub edi,ecx mov esi,edi mov edi,[ebp-10h] mov edx,ecx mov edi,[eax+edi*4] shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb mov esi,[ebp+08h] L00471862: mov eax,[ebp-10h] mov ecx,[ebp-1Ch] inc eax cmp eax,ecx mov [ebp-10h],eax jl L00471711 xor edi,edi L00471876: mov ecx,[L00669670] cmp ecx,edi jz L0047188C mov edx,[ecx] push 00000001h call [edx] mov [L00669670],edi L0047188C: mov ecx,[L00669644] cmp ecx,edi jz L004718A2 mov eax,[ecx] push 00000001h call [eax] mov [L00669644],edi L004718A2: mov eax,[L00669648] cmp eax,edi jz L004718AE mov [eax+68h],edi L004718AE: mov ecx,[L006BD2B0] push ecx call SUB_L0049A820 mov ecx,[L006BD2B0] mov esi,eax add esp,00000004h xor eax,eax cmp ecx,edi jle L004718D9 L004718CB: mov [esi+eax],al mov ecx,[L006BD2B0] inc eax cmp eax,ecx jl L004718CB L004718D9: cmp ecx,edi mov [ebp-10h],edi jle L0047194A L004718E0: mov edx,[L006BD2C0] mov eax,[ebp-10h] mov edi,[L004F4000] xor ecx,ecx mov cl,[eax+edx] mov eax,ecx sub eax,edi lea ebx,[ecx+0Ch] cdq xor eax,edx sub eax,edx mov edx,0000000Ch sub edx,ecx and eax,000000FFh cmp edx,ebx jge L00471916 lea ebx,[edi+edx+0Ch] jmp L0047191F L00471916: mov ecx,0000000Ch sub ecx,edi add ebx,ecx L0047191F: mov edx,[L006BD2C4] cmp eax,ebx jge L00471931 mov ecx,[ebp-10h] mov [ecx+edx],al jmp L00471937 L00471931: mov eax,[ebp-10h] mov [eax+edx],bl L00471937: mov eax,[ebp-10h] mov ecx,[L006BD2B0] inc eax cmp eax,ecx mov [ebp-10h],eax jl L004718E0 xor edi,edi L0047194A: lea eax,[ecx-01h] xor edx,edx test eax,eax mov [ebp+08h],edx jle L004719C4 L00471956: or eax,FFFFFFFFh cmp edx,ecx mov edi,edx jge L0047199A L0047195F: mov ebx,[L006BD2C0] xor ecx,ecx mov cl,[edi+esi] cmp byte ptr [ecx+ebx],32h jz L0047198F cmp eax,FFFFFFFFh jz L0047198D xor edx,edx mov dl,[eax+esi] mov ebx,edx mov edx,[L006BD2C4] mov cl,[ecx+edx] cmp cl,[ebx+edx] mov edx,[ebp+08h] jnc L0047198F L0047198D: mov eax,edi L0047198F: mov ecx,[L006BD2B0] inc edi cmp edi,ecx jl L0047195F L0047199A: cmp eax,edx jz L004719B1 cmp eax,FFFFFFFFh jz L004719B1 mov bl,[eax+esi] xor ecx,ecx mov cl,[edx+esi] mov [edx+esi],bl mov [eax+esi],cl L004719B1: mov ecx,[L006BD2B0] inc edx mov [ebp+08h],edx lea eax,[ecx-01h] cmp edx,eax jl L00471956 xor edi,edi L004719C4: push 00006150h call SUB_L0049A820 add esp,00000004h mov [ebp+08h],eax cmp eax,edi mov dword ptr [ebp-04h],00000001h jz L004719F5 mov ecx,[L0066964C] push edi push 000004CCh push ecx mov ecx,eax call SUB_L004197D0 mov edi,eax L004719F5: mov ecx,[L006BD2B0] xor eax,eax test ecx,ecx mov dword ptr [ebp-04h],FFFFFFFFh mov [ebp-10h],eax jle L00471A71 L00471A0B: mov edx,[L006BD2B4] xor ecx,ecx mov cl,[esi+eax] mov edx,[edx+ecx*4] test edx,edx jz L00471A46 mov ebx,[L006BD2B8] mov al,[ebx+ecx*2] test al,al jge L00471A3A neg al push 000003B2h and eax,000000FFh push edx push eax jmp L00471A59 L00471A3A: xor eax,eax push 00000000h mov ax,[ebx+ecx*2] push edx push eax jmp L00471A59 L00471A46: mov eax,[L006BD2B8] xor edx,edx push 00000000h push SSZ004C5450_Unknown_Server mov dx,[eax+ecx*2] push edx L00471A59: mov ecx,edi call SUB_L0041A260 mov eax,[ebp-10h] mov ecx,[L006BD2B0] inc eax cmp eax,ecx mov [ebp-10h],eax jl L00471A0B L00471A71: push esi call SUB_L0049A810 add esp,00000004h mov ecx,edi call SUB_L0041A2E0 push 00000001h push 00000000h mov ecx,edi call SUB_L004415C0 mov eax,[L004D7EC8] mov [L00669630],edi test eax,eax jz L00471AAA mov ecx,[L00669644] test ecx,ecx jz L00471AAA mov edx,[ecx] call [edx+54h] L00471AAA: mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L00471AC0: push ebp mov ebp,esp push FFFFFFFFh push L004B494B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,000003B0h push ebx push esi push edi or ecx,FFFFFFFFh mov edi,L006BD468 xor eax,eax repne scasb not ecx sub edi,ecx lea edx,[ebp-000003BCh] mov eax,ecx mov esi,edi mov edi,edx lea edx,[ebp-000003BCh] shr ecx,02h rep movsd mov ecx,eax xor eax,eax and ecx,00000003h rep movsb mov edi,L004C40E4 or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov esi,edi mov ebx,ecx mov edi,edx or ecx,FFFFFFFFh repne scasb mov ecx,ebx dec edi shr ecx,02h rep movsd mov ecx,ebx lea edx,[ebp-000003BCh] and ecx,00000003h rep movsb mov edi,L006BD42C or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov esi,edi mov ebx,ecx mov edi,edx or ecx,FFFFFFFFh repne scasb mov ecx,ebx dec edi shr ecx,02h rep movsd mov eax,[L0073EC5C] mov ecx,ebx xor ebx,ebx and ecx,00000003h cmp eax,ebx rep movsb jz L00471C02 or ecx,FFFFFFFFh mov edi,L004CD448 xor eax,eax lea edx,[ebp-000003BCh] repne scasb not ecx sub edi,ecx mov esi,edi mov edi,edx mov edx,ecx or ecx,FFFFFFFFh repne scasb mov ecx,edx dec edi shr ecx,02h rep movsd mov ecx,edx lea edx,[ebp-000003BCh] and ecx,00000003h rep movsb mov edi,L004D7E20 or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov esi,edi mov edi,edx mov edx,ecx or ecx,FFFFFFFFh repne scasb mov ecx,edx dec edi shr ecx,02h rep movsd mov ecx,edx lea edx,[ebp-000003BCh] and ecx,00000003h rep movsb mov edi,L004CD444 or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov esi,edi mov edi,edx mov edx,ecx or ecx,FFFFFFFFh repne scasb mov ecx,edx dec edi shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb L00471C02: lea ecx,[ebp-000003BCh] call SUB_L00497E40 push 000000C4h call SUB_L0049A820 add esp,00000004h mov [ebp-30h],eax cmp eax,ebx mov [ebp-04h],ebx jz L00471C30 mov ecx,eax call SUB_L0041D750 mov [ebp-2Ch],eax jmp L00471C33 L00471C30: mov [ebp-2Ch],ebx L00471C33: mov esi,[ebp+08h] xor eax,eax mov dword ptr [ebp-04h],FFFFFFFFh mov ebx,00000001h mov al,[esi] mov dword ptr [ebp-14h],00000000h mov dword ptr [ebp-10h],L006BD37E mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh xor ecx,ecx mov cl,[eax+esi] mov [L006BD2E4],ecx jmp L00471C7C L00471C79: mov esi,[ebp+08h] L00471C7C: xor edx,edx push 0000001Eh mov dl,[esi] mov ax,[L004CDCB4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,ebx add ebx,0000001Eh add eax,esi push eax lea eax,[ebp-74h] push eax call SUB_L0049B200 xor ecx,ecx add esp,0000000Ch mov cl,[esi] lea edx,[ebp-00000094h] push 0000001Eh mov ax,[L004CDCB4+ecx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,ebx add ebx,0000001Eh add eax,esi push eax push edx call SUB_L0049B200 mov eax,[ebp-10h] lea edi,[ebp-74h] or ecx,FFFFFFFFh add esp,0000000Ch lea edx,[eax-00000096h] xor eax,eax mov byte ptr [ebp-57h],00h mov byte ptr [ebp-77h],00h repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax xor eax,eax and ecx,00000003h rep movsb lea edi,[ebp-00000094h] or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov edx,ecx mov esi,edi mov edi,[ebp-10h] shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb lea edi,[ebp-74h] or ecx,FFFFFFFFh repne scasb not ecx dec ecx jz L00471D5C mov eax,[ebp-14h] lea ecx,[ebp-00000094h] push eax lea edx,[ebp-74h] push ecx mov ecx,[ebp-2Ch] push edx call SUB_L0041E040 L00471D5C: mov eax,[ebp-10h] mov esi,[ebp-14h] add eax,0000001Eh inc esi cmp eax,L006BD414 mov [ebp-14h],esi mov [ebp-10h],eax jl L00471C79 mov esi,[ebp+08h] xor eax,eax mov dword ptr [ebp-18h],00000000h mov al,[esi] mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,ebx inc ebx mov al,[eax+esi] test al,al mov [ebp-20h],al jz L00471FBB mov eax,[ebp-20h] and eax,000000FFh mov [ebp-10h],eax mov [L006BD2D0],eax lea edi,[00000004h+eax*4] push edi mov [ebp-28h],edi call SUB_L0049A820 mov edx,eax mov ecx,edi mov [L006BD2D4],edx mov edi,edx mov edx,ecx xor eax,eax shr ecx,02h rep stosd mov ecx,edx add esp,00000004h and ecx,00000003h rep stosb mov eax,edx push eax call SUB_L0049A820 mov ecx,[ebp-10h] mov [L006BD2D8],eax xor eax,eax add esp,00000004h cmp ecx,eax mov [ebp-18h],eax mov [ebp-00000128h],eax mov [ebp-14h],eax jle L00471FBB lea ecx,[ebp-00000128h] mov [ebp-1Ch],ecx jmp L00471E24 L00471E21: mov esi,[ebp+08h] L00471E24: xor edx,edx push 0000001Fh mov dl,[esi] mov cx,[L004CDCB4+edx*8] and cx,8000h mov ax,cx neg ax sbb eax,eax and eax,00000002h inc eax and eax,0000FFFFh add eax,ebx inc ebx neg cx sbb ecx,ecx mov al,[eax+esi] and ecx,00000002h mov [ebp-21h],al inc ecx and ecx,0000FFFFh add ecx,ebx add ebx,0000001Fh add ecx,esi push ecx lea ecx,[ebp-54h] push ecx call SUB_L0049B200 xor edx,edx add esp,0000000Ch mov dl,[esi] mov byte ptr [ebp-36h],00h push 0000001Fh mov ax,[L004CDCB4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,ebx add ebx,0000001Fh add eax,esi push eax lea eax,[ebp-000000B4h] push eax call SUB_L0049B200 lea edi,[ebp-54h] or ecx,FFFFFFFFh xor eax,eax add esp,0000000Ch repne scasb not ecx dec ecx mov byte ptr [ebp-00000096h],00h jz L00471F2D mov ecx,[ebp-14h] lea edi,[ebp-54h] lea esi,[00000000h+ecx*4] or ecx,FFFFFFFFh repne scasb not ecx dec ecx lea edi,[ebp-000000B4h] mov edx,ecx or ecx,FFFFFFFFh repne scasb not ecx dec ecx lea eax,[edx+ecx+03h] push eax call SUB_L0049A820 mov ecx,[L006BD2D4] add esp,00000004h lea edx,[ebp-000000B4h] mov [esi+ecx],eax mov ecx,[L006BD2D4] lea eax,[ebp-54h] push edx mov edx,[esi+ecx] push eax push SSZ004CD420__s___s push edx call SUB_L0049AC80 movsx eax,[ebp-21h] mov ecx,[L006BD2D8] add esp,00000010h mov [esi+ecx],eax L00471F2D: mov eax,[ebp-14h] test eax,eax jle L00471F83 lea esi,[ebp-000000D4h] lea edi,[ebp-54h] L00471F3D: mov dl,[edi] mov cl,[esi] mov al,dl cmp dl,cl jnz L00471F65 test al,al jz L00471F61 mov cl,[edi+01h] mov dl,[esi+01h] mov al,cl cmp cl,dl jnz L00471F65 add edi,00000002h add esi,00000002h test al,al jnz L00471F3D L00471F61: xor eax,eax jmp L00471F6A L00471F65: sbb eax,eax sbb eax,FFFFFFFFh L00471F6A: test eax,eax jz L00471F83 mov edx,[ebp-18h] mov eax,[ebp-1Ch] inc edx add eax,00000004h mov [ebp-18h],edx mov edx,[ebp-14h] mov [ebp-1Ch],eax mov [eax],edx L00471F83: lea edi,[ebp-54h] or ecx,FFFFFFFFh xor eax,eax lea edx,[ebp-000000D4h] repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax mov eax,[ebp-14h] and ecx,00000003h inc eax rep movsb mov ecx,[ebp-10h] mov [ebp-14h],eax cmp eax,ecx jl L00471E21 L00471FBB: mov al,[ebp-20h] test al,al jz L004721CC mov eax,[ebp-20h] and eax,000000FFh mov [ebp-10h],eax lea ebx,[00000004h+eax*4] push ebx call SUB_L0049A820 add esp,00000004h mov edi,eax mov [ebp-28h],edi push ebx call SUB_L0049A820 mov ecx,ebx mov edx,eax mov esi,ecx xor eax,eax shr ecx,02h rep stosd mov ecx,esi mov [ebp-14h],edx and ecx,00000003h mov esi,[ebp-18h] rep stosb mov ecx,ebx mov edi,edx mov edx,ecx xor eax,eax shr ecx,02h rep stosd mov ecx,edx add esp,00000004h and ecx,00000003h inc esi rep stosb mov eax,[ebp-10h] mov [ebp+esi*4-00000128h],eax mov eax,00000000h js L0047203F lea ecx,[ebp-000001C8h] L00472035: mov [ecx],eax inc eax add ecx,00000004h cmp eax,esi jle L00472035 L0047203F: test esi,esi jle L00472098 lea eax,[00000000h+esi*4] mov edi,esi lea ebx,[ebp-00000178h] mov [ebp+08h],eax mov [ebp-1Ch],esi L00472058: mov ecx,edi call SUB_L00455460 mov edx,[ebp+eax*4-000001C8h] lea ecx,[ebp+eax*4-000001C8h] mov [ebx],edx lea edx,[edi-01h] cmp eax,edx jge L00472082 mov eax,[ebp+08h] mov edx,[ebp+eax-000001CCh] mov [ecx],edx L00472082: mov edx,[ebp+08h] mov eax,[ebp-1Ch] add ebx,00000004h sub edx,00000004h dec edi dec eax mov [ebp+08h],edx mov [ebp-1Ch],eax jnz L00472058 L00472098: test esi,esi mov [ebp+esi*4-00000178h],esi mov dword ptr [ebp+08h],00000000h jle L0047217D lea eax,[ebp-00000178h] mov [ebp-1Ch],esi mov [ebp-18h],eax L004720BA: mov ecx,[ebp-18h] mov eax,[ecx] mov ecx,[ebp-10h] shl eax,02h mov ebx,[ebp+eax-00000128h] cmp ebx,ecx jge L00472167 mov edx,[ebp+eax-00000124h] mov eax,[ebp-14h] mov ecx,[ebp+08h] mov esi,[ebp-28h] mov [ebp-30h],edx sub esi,eax lea edx,[eax+ecx*4] mov [ebp-34h],esi mov [ebp-20h],edx jmp L004720F7 L004720F4: mov esi,[ebp-34h] L004720F7: cmp ebx,[ebp-30h] jge L00472167 mov eax,[L006BD2D4] or ecx,FFFFFFFFh mov edi,[eax+ebx*4] xor eax,eax repne scasb not ecx push ecx call SUB_L0049A820 mov ecx,[ebp-20h] mov edx,eax add esp,00000004h mov [esi+ecx],edx mov eax,[L006BD2D4] or ecx,FFFFFFFFh mov edi,[eax+ebx*4] xor eax,eax repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax mov eax,[ebp-20h] and ecx,00000003h add eax,00000004h rep movsb mov ecx,[L006BD2D8] mov [ebp-20h],eax mov edx,[ecx+ebx*4] inc ebx mov [eax-04h],edx mov edx,[ebp+08h] mov eax,[ebp-10h] inc edx cmp ebx,eax mov [ebp+08h],edx jl L004720F4 L00472167: mov ecx,[ebp-18h] mov eax,[ebp-1Ch] add ecx,00000004h dec eax mov [ebp-18h],ecx mov [ebp-1Ch],eax jnz L004720BA L0047217D: mov eax,[ebp-10h] xor esi,esi test eax,eax jle L0047219F L00472186: mov eax,[L006BD2D4] mov ecx,[eax+esi*4] push ecx call SUB_L0049A810 mov eax,[ebp-10h] add esp,00000004h inc esi cmp esi,eax jl L00472186 L0047219F: mov eax,[L006BD2D4] push eax call SUB_L0049A810 mov eax,[L006BD2D8] add esp,00000004h push eax call SUB_L0049A810 mov edx,[ebp-28h] mov eax,[ebp-14h] add esp,00000004h mov [L006BD2D4],edx mov [L006BD2D8],eax L004721CC: mov ecx,[L00669670] xor esi,esi cmp ecx,esi jz L004721E4 mov edx,[ecx] push 00000001h call [edx] mov [L00669670],esi L004721E4: mov ecx,[L00669644] cmp ecx,esi jz L004721F4 mov eax,[ecx] push 00000001h call [eax] L004721F4: mov eax,[L00669648] cmp eax,esi jz L00472200 mov [eax+68h],esi L00472200: mov ecx,[ebp-2Ch] push 00000001h push esi mov [L00669644],ecx call SUB_L004415C0 mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00472230: push ebp mov ebp,esp sub esp,00000100h push ebx push esi push edi mov ecx,0000003Fh xor eax,eax lea edi,[ebp-000000FFh] mov byte ptr [ebp-00000100h],00h xor edx,edx rep stosd mov ecx,[ebp+08h] xor ebx,ebx stosw stosb xor eax,eax mov al,[ecx] mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov dl,[eax+ecx] mov eax,edx cmp eax,000000FEh ja CASE_004723CC_PROC0005 xor ecx,ecx mov cl,[eax+CASE_004723E4] jmp [CASE_PROCTABLE_004723CC+ecx*4] CASE_004723CC_PROC0000: mov edi,SSZ004CD9D4_This_account_doesn_t_exist__If_y or ecx,FFFFFFFFh xor eax,eax lea edx,[ebp-00000100h] repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb jmp L00472372 CASE_004723CC_PROC0001: mov edi,SSZ004CD9AC_Someone_is_already_using_this_ac or ecx,FFFFFFFFh xor eax,eax lea edx,[ebp-00000100h] repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb jmp L00472372 CASE_004723CC_PROC0002: mov edi,SSZ004CD930_Your_account_has_been_blocked__P or ecx,FFFFFFFFh xor eax,eax lea edx,[ebp-00000100h] repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb jmp L00472372 CASE_004723CC_PROC0003: mov edi,SSZ004CD8D8_Your_account_credentials_are_inv or ecx,FFFFFFFFh xor eax,eax lea edx,[ebp-00000100h] repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb jmp L00472372 CASE_004723CC_PROC0005: mov edi,SSZ004CD878_There_is_some_problem_communicat or ecx,FFFFFFFFh xor eax,eax lea edx,[ebp-00000100h] repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb CASE_004723CC_PROC0004: mov ebx,00000001h L00472372: mov ecx,[L00669670] test ecx,ecx jz L0047238C mov edx,[ecx] push 00000001h call [edx] mov dword ptr [L00669670],00000000h L0047238C: mov al,[ebp-00000100h] test al,al jz L004723BB mov eax,[L00669648] push 00000000h push ebx push 00000001h lea ecx,[ebp-00000100h] push eax push ecx mov ecx,L00669608 call SUB_L0043F200 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L004723BB: call SUB_L004103A0 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_004723CC: dd CASE_004723CC_PROC0000 dd CASE_004723CC_PROC0001 dd CASE_004723CC_PROC0002 dd CASE_004723CC_PROC0003 dd CASE_004723CC_PROC0004 dd CASE_004723CC_PROC0005 CASE_004723E4: db 00h, 01h, 02h, 03h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h db 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h db 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h db 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h db 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h db 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h db 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h db 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h db 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h db 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h db 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h db 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h db 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h db 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h db 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h db 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 04h Align 16 SUB_L004724F0: push ebp mov ebp,esp push FFFFFFFFh push L004B4976 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,0000000Ch push ebx push esi mov esi,[ebp+08h] xor eax,eax push edi mov al,[esi] mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ecx,[eax+esi] push ecx call jmp_WSOCK32.dll!WSOCK32.14 xor edx,edx push eax mov dl,[esi] mov cx,[L004CDCB4+edx*8] and cx,8000h mov dx,cx neg dx sbb edx,edx and edx,00000002h inc edx and edx,0000FFFFh neg cx sbb ecx,ecx lea edi,[edx+esi+04h] and ecx,00000002h inc ecx and ecx,0000FFFFh mov cl,[ecx+esi+40h] mov [ebp+08h],cl mov ecx,L006A9D38 call SUB_L004616C0 mov esi,eax test esi,esi jz L00472676 mov edx,[esi] mov ecx,esi call [edx+24h] test eax,eax jz L00472676 mov eax,[L00669620] mov ecx,L00669608 push eax push 00000000h push 00000001h push esi call SUB_L0043F350 mov ebx,eax test ebx,ebx jnz L0047265F mov edx,[L0073EBE4] xor ecx,ecx cmp esi,edx lea edx,[ebp-10h] setnz cl push edx add ecx,0000000Ah lea edx,[ebp-14h] call SUB_L004390A0 test edi,edi push 000000FCh jz L004725F8 call SUB_L0049A820 add esp,00000004h mov [ebp-18h],eax test eax,eax mov [ebp-04h],ebx jz L00472638 mov ecx,[ebp+08h] mov edx,[ebp-10h] push ecx push edi push edx jmp L0047261B L004725F8: call SUB_L0049A820 add esp,00000004h mov [ebp-18h],eax test eax,eax mov dword ptr [ebp-04h],00000001h jz L00472638 mov edx,[ebp+08h] mov ecx,[ebp-10h] push edx push L004D77C0 push ecx L0047261B: mov edx,[ebp-14h] mov ecx,[L004C7F34] push edx push 00000001h push esi push 00000000h sub ecx,edx push 00000000h push ecx mov ecx,eax call SUB_L00477D40 jmp L0047263A L00472638: xor eax,eax L0047263A: push 00000001h push 00000000h mov ecx,eax mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L004415C0 mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L0047265F: mov eax,[ebx+60h] test eax,eax jz L0047266D mov ecx,ebx call SUB_L0040D760 L0047266D: push 00000000h mov ecx,ebx call SUB_L00441340 L00472676: mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 8 SUB_L00472690: push ebp mov ebp,esp push FFFFFFFFh push L004B498B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,0000000Ch push ebx push esi mov esi,[ebp+08h] xor eax,eax push edi xor ebx,ebx mov al,[esi] mov [ebp-10h],ebx mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ecx,[eax+esi] push ecx call jmp_WSOCK32.dll!WSOCK32.14 xor edx,edx mov [ebp+08h],eax mov dl,[esi] mov ax,[L004CDCB4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ax,[eax+esi+04h] push eax call jmp_WSOCK32.dll!WSOCK32.15 xor ecx,ecx mov [ebp-18h],eax mov cl,[esi] mov ax,[L004CDCB4+ecx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov dx,[eax+esi+06h] push edx call jmp_WSOCK32.dll!WSOCK32.15 xor ecx,ecx mov cl,[esi] mov cx,[L004CDCB4+ecx*8] and cx,8000h mov dx,cx neg dx sbb edx,edx and eax,0000FFFFh and edx,00000002h add eax,00000008h inc edx mov edi,eax and edx,0000FFFFh neg cx sbb ecx,ecx lea edx,[edx+esi+08h] and ecx,00000002h mov [ebp-14h],edx inc ecx and ecx,0000FFFFh add ecx,edi mov ax,[ecx+esi] push eax call jmp_WSOCK32.dll!WSOCK32.15 xor ecx,ecx add edi,00000002h mov cl,[esi] mov ax,[L004CDCB4+ecx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,edi add eax,esi mov esi,eax mov eax,[ebp+08h] test eax,eax jz L004727B9 push eax mov ecx,L006A9D38 call SUB_L004616C0 mov edi,eax jmp L004727BC L004727B9: mov edi,[ebp-10h] L004727BC: test edi,edi jz L004727E4 mov ebx,[L00669620] test ebx,ebx jz L004727E8 L004727CA: mov edx,[ebx] mov ecx,ebx call [edx+0000011Ch] test eax,eax jz L004727DD cmp [ebx+34h],edi jz L004727E4 L004727DD: mov ebx,[ebx+3Ch] test ebx,ebx jnz L004727CA L004727E4: test ebx,ebx jnz L00472834 L004727E8: push 00000098h call SUB_L0049A820 add esp,00000004h mov [ebp+08h],eax test eax,eax mov dword ptr [ebp-04h],00000000h jz L00472820 mov edx,[ebp-18h] mov ecx,[ebp-14h] push edi push esi and edx,0000FFFFh push ecx push edx push 00000064h push 00000064h mov ecx,eax call SUB_L00443180 jmp L00472822 L00472820: xor eax,eax L00472822: push 00000001h push 00000000h mov ecx,eax mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L004415C0 L00472834: mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00472850: push ebp mov ebp,esp push FFFFFFFFh push L004B49C1 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000048h push ebx push esi mov esi,[ebp+08h] xor eax,eax push edi mov al,[esi] mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ecx,[eax+esi] push ecx call jmp_WSOCK32.dll!WSOCK32.14 xor edx,edx mov edi,eax mov dl,[esi] mov ax,[L004CDCB4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ax,[eax+esi+04h] push eax call jmp_WSOCK32.dll!WSOCK32.15 xor ecx,ecx mov ebx,eax mov cl,[esi] mov ax,[L004CDCB4+ecx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov eax,[eax+esi+06h] push eax mov [L007121E8],eax call jmp_WSOCK32.dll!WSOCK32.14 xor esi,esi mov [L007121E8],eax cmp edi,esi jnz L00472989 mov ecx,[L00669670] cmp ecx,esi jz L00472911 mov edx,[ecx] push 00000001h call [edx] mov [L00669670],esi L00472911: push 000002B0h call SUB_L0049A820 add esp,00000004h mov [ebp+08h],eax cmp eax,esi mov [ebp-04h],esi jz L00472947 mov ecx,[L0066964C] push esi push esi push 00000001h push 00000001h push ecx push SSZ004CDA74_The_server_you_have_selected_is_ push FFFFFFFFh push FFFFFFFFh mov ecx,eax call SUB_L00443490 jmp L00472949 L00472947: xor eax,eax L00472949: push 00000001h push esi mov ecx,eax mov dword ptr [ebp-04h],FFFFFFFFh mov [L00669670],eax call SUB_L004415C0 mov ecx,[L006BB1CC] mov [L0071238C],esi mov [L0073EC5C],esi call SUB_L00489420 mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L00472989: mov ecx,SSZ004CDA64_Connecting___ call SUB_L00497E40 mov edx,[L006BB1CC] cmp edi,[edx+00020028h] jz L00472ABA push 00020040h call SUB_L0049A820 add esp,00000004h mov [ebp+08h],eax cmp eax,esi mov dword ptr [ebp-04h],00000001h jz L004729CC mov ecx,eax call SUB_L004894A0 mov [ebp+08h],eax jmp L004729CF L004729CC: mov [ebp+08h],esi L004729CF: mov dword ptr [ebp-04h],FFFFFFFFh L004729D6: mov ecx,[ebp+08h] push ebx push edi call SUB_L004896E0 test eax,eax jnz L004729EA inc esi cmp esi,00000003h jl L004729D6 L004729EA: cmp esi,00000003h jnz L00472A9E mov ecx,[L00669670] xor esi,esi cmp ecx,esi jz L00472A0B mov eax,[ecx] push 00000001h call [eax] mov [L00669670],esi L00472A0B: mov ecx,[L00669648] push esi push 00000001h push 00000001h push ecx push SSZ004CD4C8_The_client_could_not_attach_to_t mov ecx,L00669608 call SUB_L0043F200 mov ecx,[L006BB1CC] cmp ecx,esi jz L00472A36 mov edx,[ecx] push 00000001h call [edx] L00472A36: push 00020040h call SUB_L0049A820 add esp,00000004h mov [ebp-10h],eax cmp eax,esi mov dword ptr [ebp-04h],00000002h jz L00472A5A mov ecx,eax call SUB_L004894A0 jmp L00472A5C L00472A5A: xor eax,eax L00472A5C: mov ecx,[ebp+08h] mov dword ptr [ebp-04h],FFFFFFFFh cmp ecx,esi mov [L006BB1CC],eax jz L00472A75 mov eax,[ecx] push 00000001h call [eax] L00472A75: mov [L0071238C],esi mov dword ptr [L00669688],00000001h mov [L0073EC5C],esi mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L00472A9E: mov ecx,[L006BB1CC] mov [L0073EC64],ecx call SUB_L00489420 mov ecx,[ebp+08h] xor esi,esi mov [L006BB1CC],ecx L00472ABA: mov eax,[L004CE13C] mov ebx,00008000h test ebx,eax mov byte ptr [ebp-54h],91h jz L00472AD4 mov word ptr [ebp-53h],0003h jmp L00472ADD L00472AD4: mov word ptr [L00767368],0001h L00472ADD: mov eax,[L007121E8] push eax call jmp_WSOCK32.dll!WSOCK32.8 mov edx,[ebp-54h] and edx,000000FFh test [L004CDCB4+edx*8],bx mov dx,[L00767368] jz L00472B07 mov ecx,[ebp-53h] jmp L00472B0E L00472B07: mov [ebp+08h],dx mov ecx,[ebp+08h] L00472B0E: and ecx,0000FFFFh mov [ebp+ecx-54h],eax mov eax,[ebp-54h] and eax,000000FFh add ecx,00000004h mov ax,[L004CDCB4+eax*8] and ax,bx jz L00472B36 mov [ebp-53h],cx jmp L00472B40 L00472B36: mov dx,cx mov [L00767368],dx L00472B40: cmp ax,si jz L00472B4A mov eax,[ebp-53h] jmp L00472B51 L00472B4A: mov [ebp+08h],dx mov eax,[ebp+08h] L00472B51: and eax,0000FFFFh mov ecx,00000007h mov esi,L006BD468 lea edi,[ebp+eax-54h] rep movsd movsw lea ecx,[eax+1Eh] mov eax,[ebp-54h] and eax,000000FFh mov ax,[L004CDCB4+eax*8] and ax,bx jz L00472B86 mov [ebp-53h],cx jmp L00472B90 L00472B86: mov dx,cx mov [L00767368],dx L00472B90: test ax,ax jz L00472B9A mov eax,[ebp-53h] jmp L00472BA1 L00472B9A: mov [ebp+08h],dx mov eax,[ebp+08h] L00472BA1: and eax,0000FFFFh mov ecx,00000007h mov esi,L006BD486 lea edi,[ebp+eax-54h] add eax,0000001Eh rep movsd movsw mov ecx,[ebp-54h] and ecx,000000FFh test [L004CDCB4+ecx*8],bx jz L00472BD4 mov [ebp-53h],ax jmp L00472BDA L00472BD4: mov [L00767368],ax L00472BDA: mov ecx,[L006BB1CC] lea edx,[ebp-54h] push edx call SUB_L0048B170 mov ecx,[ebp-0Ch] mov eax,00000001h pop edi pop esi mov [L0073EC5C],eax mov [L007121F0],eax mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 8 SUB_L00472C10: push ebp mov ebp,esp sub esp,00000100h mov eax,[L00669644] test eax,eax jz L00472CE3 mov ecx,[ebp+08h] xor eax,eax xor edx,edx mov al,[ecx] mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov dl,[eax+ecx] mov eax,edx cmp eax,00000004h ja L00472C97 jmp [CASE_PROCTABLE_00472CEC+eax*4] CASE_00472CEC_PROC0000: lea eax,[ebp-00000100h] push SSZ004CDC08_That_character_password_is_inval push eax jmp L00472CA3 CASE_00472CEC_PROC0001: lea ecx,[ebp-00000100h] push SSZ004CDBE8_That_character_does_not_exist_ push ecx jmp L00472CA3 CASE_00472CEC_PROC0002: push SSZ004CDBBC_That_character_is_being_played_r jmp L00472C9C CASE_00472CEC_PROC0003: lea eax,[ebp-00000100h] push SSZ004CDB54_That_character_is_not_old_enough push eax jmp L00472CA3 CASE_00472CEC_PROC0004: lea ecx,[ebp-00000100h] push SSZ004CDB0C_That_character_is_currently_queu push ecx jmp L00472CA3 L00472C97: push SSZ004CDAE8_Couldn_t_carry_out_your_request_ L00472C9C: lea edx,[ebp-00000100h] push edx L00472CA3: call SUB_L0049AC80 mov ecx,[L00669670] add esp,00000008h test ecx,ecx jz L00472CC5 mov eax,[ecx] push 00000001h call [eax] mov dword ptr [L00669670],00000000h L00472CC5: mov ecx,[L00669644] push 00000000h push 00000000h push 00000001h lea edx,[ebp-00000100h] push ecx push edx mov ecx,L00669608 call SUB_L0043F200 L00472CE3: mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_00472CEC: dd CASE_00472CEC_PROC0000 dd CASE_00472CEC_PROC0001 dd CASE_00472CEC_PROC0002 dd CASE_00472CEC_PROC0003 dd CASE_00472CEC_PROC0004 SUB_L00472D00: push ebp mov ebp,esp sub esp,0000000Ch mov eax,[L00669644] test eax,eax jz L00472E5A push edi push esi push ebx xor edi,edi mov esi,L006BD37E L00472D1D: mov ecx,[L00669644] push edi call SUB_L0041E0F0 mov byte ptr [esi-00000096h],00h mov byte ptr [esi],00h add esi,0000001Eh inc edi cmp esi,L006BD414 jl L00472D1D mov ebx,[ebp+08h] xor eax,eax mov esi,00000001h mov dword ptr [ebp-04h],00000000h mov al,[ebx] mov dword ptr [ebp+08h],L006BD37E mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh xor ecx,ecx mov cl,[eax+ebx] mov [L006BD2E4],ecx L00472D7C: xor edx,edx or ecx,FFFFFFFFh mov dl,[ebx] mov ax,[L004CDCB4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,esi add esi,0000003Ch add eax,ebx mov [ebp-0Ch],esi mov edx,eax xor eax,eax mov edi,edx repne scasb not ecx dec ecx jz L00472E16 mov eax,[ebp+08h] mov edi,edx or ecx,FFFFFFFFh lea esi,[eax-00000096h] xor eax,eax repne scasb not ecx sub edi,ecx mov [ebp-08h],esi mov eax,ecx mov esi,edi mov edi,[ebp-08h] shr ecx,02h rep movsd mov ecx,eax xor eax,eax and ecx,00000003h rep movsb lea edi,[edx+1Eh] or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,[ebp+08h] shr ecx,02h rep movsd mov ecx,eax lea eax,[edx+1Eh] and ecx,00000003h rep movsb mov ecx,[ebp-04h] push ecx mov ecx,[L00669644] push eax push edx call SUB_L0041E040 mov esi,[ebp-0Ch] L00472E16: mov eax,[ebp+08h] mov edi,[ebp-04h] add eax,0000001Eh inc edi cmp eax,L006BD414 mov [ebp-04h],edi mov [ebp+08h],eax jl L00472D7C mov ecx,[L00669670] test ecx,ecx jz L00472E4B mov edx,[ecx] push 00000001h call [edx] mov dword ptr [L00669670],00000000h L00472E4B: mov eax,[L00669644] pop ebx pop esi pop edi mov dword ptr [eax+68h],00000001h L00472E5A: mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ SUB_L00472E60: push ebp mov ebp,esp push esi mov esi,[ebp+08h] xor eax,eax push edi mov al,[esi] mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ecx,[eax+esi] push ecx call jmp_WSOCK32.dll!WSOCK32.14 xor edx,edx or ecx,FFFFFFFFh mov dl,[esi] mov ax,[L004CDCB4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh lea edi,[eax+esi+04h] mov eax,[L004D7E70] lea edx,[eax+000000ECh] xor eax,eax repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov ecx,[L004D7E70] call SUB_L0041AC50 pop edi mov dword ptr [L004D7E70],00000000h pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ SUB_L00472EF0: push ebp mov ebp,esp sub esp,00000008h push ebx push esi mov esi,[ebp+08h] xor eax,eax push edi mov al,[esi] mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ecx,[eax+esi] push ecx call jmp_WSOCK32.dll!WSOCK32.14 xor edx,edx mov [ebp-04h],eax mov dl,[esi] mov ax,[L004CDCB4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov eax,[eax+esi+04h] push eax call jmp_WSOCK32.dll!WSOCK32.14 xor ecx,ecx mov [ebp-08h],eax mov cl,[esi] mov ax,[L004CDCB4+ecx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov edx,[eax+esi+08h] push edx call jmp_WSOCK32.dll!WSOCK32.14 xor eax,eax mov al,[esi] mov cx,[L004CDCB4+eax*8] and cx,8000h jz L00472F8C mov di,[esi+01h] jmp L00472F9A L00472F8C: mov dx,[L00767368] mov [ebp+08h],dx mov edi,[ebp+08h] L00472F9A: mov ax,cx and edi,0000FFFFh neg ax sbb eax,eax mov edx,FFFFFFF4h and eax,00000002h inc eax and eax,0000FFFFh sub edx,eax add edi,edx neg cx sbb ecx,ecx lea eax,[edi+01h] and ecx,00000002h push eax inc ecx mov ebx,ecx call SUB_L0049A820 and ebx,0000FFFFh add esp,00000004h mov [ebp+08h],eax lea ecx,[ebx+esi+0Ch] push edi push ecx push eax call SUB_L0049B200 mov eax,[ebp+08h] mov edx,[ebp-04h] mov ecx,[ebp-08h] add esp,0000000Ch mov byte ptr [eax+edi],00h mov dword ptr [L005492A4],00000001h push eax mov [L005492A8],edx mov [L005492AC],ecx call SUB_L0049A810 add esp,00000004h pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L00473020: push ebp mov ebp,esp push ecx mov eax,[ebp+08h] xor ecx,ecx push ebx push esi mov cl,[eax] push edi mov cx,[L004CDCB4+ecx*8] and cx,8000h jz L00473043 mov si,[eax+01h] jmp L00473051 L00473043: mov dx,[L00767368] mov [ebp-04h],dx mov esi,[ebp-04h] L00473051: mov ax,cx and esi,0000FFFFh neg ax sbb eax,eax and eax,00000002h inc eax and eax,0000FFFFh sub esi,eax neg cx sbb ecx,ecx lea eax,[esi+01h] and ecx,00000002h push eax inc ecx mov edi,ecx call SUB_L0049A820 mov ecx,[ebp+08h] add esp,00000004h and edi,0000FFFFh mov ebx,eax add edi,ecx push esi push edi push ebx call SUB_L0049B200 add esp,0000000Ch mov byte ptr [ebx+esi],00h call SUB_L0048B8B0 mov ecx,ebx call SUB_L0049A4C0 push ebx call SUB_L0049A810 add esp,00000004h pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 8 SUB_L004730C0: push ebp mov ebp,esp mov eax,fs:[00000000h] push FFFFFFFFh push L004B49DB push eax mov eax,00001F64h mov fs:[00000000h],esp call SUB_L0049ACF0 push ebx push esi push edi mov edi,[ebp+08h] xor eax,eax mov al,[edi] mov ax,[L004CDCB4+eax*8] and ax,8000h mov cx,ax neg cx sbb ecx,ecx and ecx,00000002h inc ecx and ecx,0000FFFFh neg ax sbb eax,eax mov cl,[ecx+edi] and eax,00000002h mov [ebp+0Bh],cl inc eax and eax,0000FFFFh mov edx,[eax+edi+01h] push edx call jmp_WSOCK32.dll!WSOCK32.14 mov [ebp-20h],eax xor eax,eax mov al,[edi] mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov cx,[eax+edi+05h] push ecx call jmp_WSOCK32.dll!WSOCK32.15 xor edx,edx mov ebx,eax mov dl,[edi] and ebx,0000FFFFh mov [ebp-24h],ebx mov si,[L004CDCB4+edx*8] lea eax,[ebx+01h] and esi,00008000h push eax or esi,00004000h shr esi,0Eh call SUB_L0049A820 mov ecx,ebx and esi,0000FFFFh mov edx,ecx add esp,00000004h lea esi,[esi+edi+07h] mov edi,eax shr ecx,02h rep movsd mov ecx,edx mov [ebp-18h],eax and ecx,00000003h rep movsb xor edi,edi xor ecx,ecx cmp ebx,edi mov byte ptr [eax+ebx],00h jle L004731BE L004731AF: cmp byte ptr [ecx+eax],0Dh jnz L004731B9 mov byte ptr [ecx+eax],00h L004731B9: inc ecx cmp ecx,ebx jl L004731AF L004731BE: mov ecx,[ebp-24h] mov [ebp-10h],edi cmp ecx,00000001h mov [ebp-1Ch],edi mov ebx,eax jle L00473291 lea eax,[ebp-00001F70h] mov [ebp-14h],eax L004731DB: push 000000D6h push ebx push 00000006h mov ecx,L00669CC8 call SUB_L00437E00 mov edx,eax cmp edx,FFFFFFFFh jz L00473229 mov edi,ebx or ecx,FFFFFFFFh xor eax,eax mov byte ptr [edx+ebx+01h],00h repne scasb not ecx sub edi,ecx lea ebx,[edx+ebx+02h] mov eax,ecx mov esi,edi mov edi,[ebp-14h] shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov ecx,[ebp-10h] lea eax,[ecx+edx+02h] mov [ebp-10h],eax jmp L0047326D L00473229: mov edi,ebx or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx mov edx,ecx mov esi,edi mov edi,[ebp-14h] shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb mov edi,ebx or ecx,FFFFFFFFh repne scasb mov eax,[ebp-10h] mov edi,ebx not ecx dec ecx lea ecx,[eax+ecx+01h] xor eax,eax mov [ebp-10h],ecx or ecx,FFFFFFFFh repne scasb not ecx dec ecx lea ebx,[ebx+ecx+01h] L0047326D: mov edx,[ebp-1Ch] mov ecx,[ebp-14h] mov eax,[ebp-24h] inc edx mov [ebp-1Ch],edx mov edx,[ebp-10h] add ecx,00000050h inc edx cmp edx,eax mov [ebp-14h],ecx jl L004731DB mov eax,[ebp-18h] xor edi,edi L00473291: mov bl,[ebp+0Bh] mov esi,[ebp-20h] cmp bl,01h jnz L004732A4 cmp esi,[L004C59D8] jle L004732F1 L004732A4: push 00002018h call SUB_L0049A820 add esp,00000004h mov [ebp+08h],eax cmp eax,edi mov [ebp-04h],edi jz L004732DB xor ecx,ecx lea edx,[ebp-00001F70h] test bl,bl setz cl push ecx mov ecx,[ebp-1Ch] push edx push ecx push 00000064h push 00000064h mov ecx,eax call SUB_L0048D000 jmp L004732DD L004732DB: xor eax,eax L004732DD: push 00000001h push edi mov ecx,eax mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L004415C0 mov eax,[ebp-18h] L004732F1: test bl,bl jnz L00473317 push esi lea edx,[ebp-30h] push L004C43EC push edx mov [L004C59D4],esi call SUB_L0049AC80 add esp,0000000Ch lea edx,[ebp-30h] mov ecx,00000031h jmp L0047333C L00473317: cmp bl,01h jnz L00473344 push esi lea eax,[ebp-30h] push L004C43EC push eax mov [L004C59D8],esi call SUB_L0049AC80 add esp,0000000Ch lea edx,[ebp-30h] mov ecx,00000032h L0047333C: call SUB_L00427C00 mov eax,[ebp-18h] L00473344: push eax call SUB_L0049A810 mov ecx,[ebp-0Ch] add esp,00000004h mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ SUB_L00473360: push ebp mov ebp,esp mov ecx,[ebp+08h] xor eax,eax push esi mov esi,[L0073EC6C] mov al,[ecx] mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ecx,[eax+ecx] push ecx call jmp_WSOCK32.dll!WSOCK32.14 test esi,esi mov [L0073EC6C],eax jz L004733B1 push esi mov ecx,L006A9D38 call SUB_L004616C0 test eax,eax jz L004733B1 mov ecx,eax call SUB_L00430E30 L004733B1: mov eax,[L0073EC6C] test eax,eax jz L004733D0 push eax mov ecx,L006A9D38 call SUB_L004616C0 test eax,eax jz L004733D0 mov ecx,eax call SUB_L00430E30 L004733D0: pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L004733E0: push ebp mov ebp,esp push FFFFFFFFh push L004B49FB mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000014h push ebx push esi mov esi,[ebp+08h] xor eax,eax push edi mov al,[esi] mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ecx,[eax+esi] push ecx call jmp_WSOCK32.dll!WSOCK32.14 xor edx,edx mov ebx,eax mov dl,[esi] mov ax,[L004CDCB4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ax,[eax+esi+04h] push eax call jmp_WSOCK32.dll!WSOCK32.15 xor ecx,ecx mov [ebp-1Ch],eax mov cl,[esi] mov ax,[L004CDCB4+ecx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov dx,[eax+esi+06h] push edx call jmp_WSOCK32.dll!WSOCK32.15 xor ecx,ecx mov cl,[esi] mov cx,[L004CDCB4+ecx*8] and cx,8000h mov dx,cx neg dx sbb edx,edx and eax,0000FFFFh and edx,00000002h add eax,00000008h inc edx mov edi,eax mov ax,cx and edx,0000FFFFh neg ax sbb eax,eax lea edx,[edx+esi+08h] and eax,00000002h mov [ebp-18h],edx inc eax and eax,0000FFFFh add eax,edi inc edi mov al,[eax+esi] mov [ebp-14h],al mov ax,cx neg ax sbb eax,eax and eax,00000002h inc eax and eax,0000FFFFh add eax,edi inc edi neg cx sbb ecx,ecx mov dl,[eax+esi] and ecx,00000002h mov [ebp-10h],dl inc ecx and ecx,0000FFFFh add ecx,edi mov eax,[ecx+esi] push eax call jmp_WSOCK32.dll!WSOCK32.14 mov [ebp+08h],eax xor ecx,ecx add edi,00000004h mov cl,[esi] mov ax,[L004CDCB4+ecx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,edi mov dx,[eax+esi] push edx call jmp_WSOCK32.dll!WSOCK32.15 xor eax,eax add edi,00000002h mov al,[esi] push 000000A4h mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,edi add eax,esi mov esi,eax call SUB_L0049A820 add esp,00000004h mov [ebp-20h],eax test eax,eax mov dword ptr [ebp-04h],00000000h jz L00473588 mov ecx,[ebp+08h] mov edx,[ebp-10h] push esi push ecx mov ecx,[ebp-14h] push edx mov edx,[ebp-18h] push ecx mov ecx,[ebp-1Ch] push edx push ecx push ebx mov ecx,eax call SUB_L00481EC0 jmp L0047358A L00473588: xor eax,eax L0047358A: push 00000001h push 00000000h mov ecx,eax mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L004415C0 mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L004735B0: push ebp mov ebp,esp push ebx push esi mov esi,[ebp+08h] xor eax,eax push edi mov al,[esi] mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ecx,[eax+esi] push ecx call jmp_WSOCK32.dll!WSOCK32.14 xor edx,edx mov edi,eax mov dl,[esi] mov ax,[L004CDCB4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov eax,[eax+esi+04h] push eax call jmp_WSOCK32.dll!WSOCK32.14 xor ecx,ecx mov ebx,eax mov cl,[esi] mov ax,[L004CDCB4+ecx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov edx,[eax+esi+08h] push edx call jmp_WSOCK32.dll!WSOCK32.14 push edi mov ecx,L006A9D38 mov [ebp+08h],eax call SUB_L004616C0 mov esi,eax test esi,esi jz L00473660 mov eax,[esi] mov ecx,esi call [eax+24h] test eax,eax jz L00473660 mov edi,[ebp+08h] xor ecx,ecx test edi,edi setz cl push ecx push ebx mov ecx,esi call SUB_L0045EC50 L00473660: pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00473670: push ebp mov ebp,esp push FFFFFFFFh push L004B4A1B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000028h push ebx push esi mov esi,[ebp+08h] xor eax,eax push edi mov dword ptr [ebp-10h],00000000h mov al,[esi] mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ecx,[eax+esi] push ecx call jmp_WSOCK32.dll!WSOCK32.14 xor edx,edx mov [ebp-28h],eax mov dl,[esi] mov ax,[L004CDCB4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov eax,[eax+esi+04h] push eax call jmp_WSOCK32.dll!WSOCK32.14 xor ecx,ecx mov [ebp-24h],eax mov cl,[esi] mov ax,[L004CDCB4+ecx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov edx,[eax+esi+08h] push edx call jmp_WSOCK32.dll!WSOCK32.14 mov [ebp-34h],eax xor eax,eax mov al,[esi] mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ecx,[eax+esi+0Ch] push ecx call jmp_WSOCK32.dll!WSOCK32.14 xor edx,edx mov [ebp-30h],eax mov dl,[esi] mov ax,[L004CDCB4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ax,[eax+esi+10h] push eax call jmp_WSOCK32.dll!WSOCK32.15 xor ecx,ecx mov cl,[esi] mov cx,[L004CDCB4+ecx*8] and cx,8000h mov dx,cx neg dx sbb edx,edx and eax,0000FFFFh and edx,00000002h add eax,00000012h inc edx mov edi,eax and edx,0000FFFFh neg cx sbb ecx,ecx lea edx,[edx+esi+12h] and ecx,00000002h mov [ebp-2Ch],edx inc ecx and ecx,0000FFFFh add ecx,edi mov ax,[ecx+esi] push eax call jmp_WSOCK32.dll!WSOCK32.15 mov ebx,eax add edi,00000002h test bx,bx mov [ebp-20h],ebx jz L004738AD and eax,0000FFFFh mov [ebp+08h],eax lea ecx,[00000000h+eax*4] push ecx call SUB_L0049A820 mov [ebp-10h],eax mov eax,[ebp+08h] add esp,00000004h test eax,eax jle L004738AD mov edx,[ebp-10h] mov [ebp-18h],eax mov [ebp+08h],edx L004737F1: xor eax,eax mov al,[esi] mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,edi mov cx,[eax+esi] push ecx call jmp_WSOCK32.dll!WSOCK32.15 mov ebx,eax add edi,00000002h and ebx,0000FFFFh lea edx,[ebx+ebx+02h] push edx call SUB_L0049A820 mov ecx,[ebp+08h] add esp,00000004h test ebx,ebx mov [ecx],eax mov word ptr [eax+ebx*2],0000h mov dword ptr [ebp-14h],00000000h jle L00473894 L00473847: mov edx,[ebp+08h] mov ecx,[ebp-14h] mov eax,[edx] xor edx,edx mov dl,[esi] lea ecx,[eax+ecx*2] mov ax,[L004CDCB4+edx*8] mov [ebp-1Ch],ecx and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,edi mov ax,[eax+esi] push eax mov [ecx],ax call jmp_WSOCK32.dll!WSOCK32.15 mov ecx,[ebp-1Ch] add edi,00000002h mov [ecx],ax mov eax,[ebp-14h] inc eax cmp eax,ebx mov [ebp-14h],eax jl L00473847 L00473894: mov ecx,[ebp+08h] mov eax,[ebp-18h] add ecx,00000004h dec eax mov [ebp+08h],ecx mov [ebp-18h],eax jnz L004737F1 mov ebx,[ebp-20h] L004738AD: push 000000C4h call SUB_L0049A820 add esp,00000004h mov [ebp+08h],eax test eax,eax mov dword ptr [ebp-04h],00000000h jz L004738E9 mov edx,[ebp-24h] mov ecx,[ebp-28h] mov edi,[ebp-10h] push edx mov edx,[ebp-2Ch] push ecx mov ecx,[ebp-30h] push edi push edx mov edx,[ebp-34h] push ecx push edx mov ecx,eax call SUB_L00439770 jmp L004738EC L004738E9: mov edi,[ebp-10h] L004738EC: test bx,bx mov dword ptr [ebp-04h],FFFFFFFFh jz L0047391C and ebx,0000FFFFh jle L00473913 mov esi,edi L00473902: mov eax,[esi] push eax call SUB_L0049A810 add esp,00000004h add esi,00000004h dec ebx jnz L00473902 L00473913: push edi call SUB_L0049A810 add esp,00000004h L0047391C: mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L00473930: push ebp mov ebp,esp sub esp,00000100h push ebx mov ebx,[ebp+08h] push esi mov esi,00008000h mov byte ptr [ebx],9Bh mov eax,[L004CE18C] test esi,eax push edi jz L00473958 mov word ptr [ebx+01h],0003h jmp L00473961 L00473958: mov word ptr [L00767368],0001h L00473961: xor eax,eax mov al,[ebx] test [L004CDCB4+eax*8],si jz L00473975 mov ax,[ebx+01h] jmp L00473983 L00473975: mov cx,[L00767368] mov [ebp+08h],cx mov eax,[ebp+08h] L00473983: mov dl,[ebp+0Ch] and eax,0000FFFFh xor ecx,ecx mov [eax+ebx],dl mov cl,[ebx] inc eax test [L004CDCB4+ecx*8],si jz L004739A3 mov [ebx+01h],ax jmp L004739A9 L004739A3: mov [L00767368],ax L004739A9: mov edx,[ebp+10h] push 00000100h lea eax,[ebp-00000100h] push edx push eax call SUB_L0049B200 xor ecx,ecx add esp,0000000Ch mov cl,[ebx] test [L004CDCB4+ecx*8],si jz L004739D5 mov ax,[ebx+01h] jmp L004739E3 L004739D5: mov dx,[L00767368] mov [ebp+0Ch],dx mov eax,[ebp+0Ch] L004739E3: and eax,0000FFFFh mov ecx,00000040h lea esi,[ebp-00000100h] lea edi,[eax+ebx] add eax,00000100h rep movsd xor ecx,ecx mov cl,[ebx] test byte ptr [L004CDCB5+ecx*8],80h jz L00473A18 mov [ebx+01h],ax pop edi pop esi pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ L00473A18: pop edi pop esi mov [L00767368],ax pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 16 SUB_L00473A30: push ebp mov ebp,esp mov eax,[ebp+08h] push esi mov esi,00008000h mov byte ptr [eax],22h mov ecx,[L004CDDC4] test esi,ecx jz L00473A51 mov word ptr [eax+01h],0003h jmp L00473A5A L00473A51: mov word ptr [L00767368],0001h L00473A5A: xor ecx,ecx mov cl,[eax] test [L004CDCB4+ecx*8],si jz L00473A6E mov cx,[eax+01h] jmp L00473A7C L00473A6E: mov dx,[L00767368] mov [ebp+08h],dx mov ecx,[ebp+08h] L00473A7C: and ecx,0000FFFFh xor edx,edx mov byte ptr [ecx+eax],00h mov dl,[eax] inc ecx test [L004CDCB4+edx*8],si jz L00473A9B mov [eax+01h],cx jmp L00473AA2 L00473A9B: mov [L00767368],cx L00473AA2: xor ecx,ecx mov cl,[eax] test [L004CDCB4+ecx*8],si jz L00473AB6 mov cx,[eax+01h] jmp L00473AC4 L00473AB6: mov dx,[L00767368] mov [ebp+08h],dx mov ecx,[ebp+08h] L00473AC4: and ecx,0000FFFFh xor edx,edx mov byte ptr [ecx+eax],00h mov dl,[eax] inc ecx test [L004CDCB4+edx*8],si jz L00473AE6 mov [eax+01h],cx pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ L00473AE6: mov [L00767368],cx pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00473B00: push ebp mov ebp,esp push esi mov esi,[ebp+08h] mov byte ptr [esi],01h mov eax,[L004CDCBC] test ah,80h jz L00473B1C mov word ptr [esi+01h],0003h jmp L00473B25 L00473B1C: mov word ptr [L00767368],0001h L00473B25: push FFFFFFFFh call jmp_WSOCK32.dll!WSOCK32.8 xor ecx,ecx mov cl,[esi] test byte ptr [L004CDCB5+ecx*8],80h jz L00473B40 mov cx,[esi+01h] jmp L00473B4E L00473B40: mov dx,[L00767368] mov [ebp+08h],dx mov ecx,[ebp+08h] L00473B4E: and ecx,0000FFFFh mov [ecx+esi],eax lea eax,[ecx+04h] xor ecx,ecx mov cl,[esi] test byte ptr [L004CDCB5+ecx*8],80h jz L00473B71 mov [esi+01h],ax pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ L00473B71: mov [L00767368],ax pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 8 SUB_L00473B80: push ebp mov ebp,esp mov eax,[ebp+08h] push esi mov esi,00008000h mov byte ptr [eax],02h mov ecx,[L004CDCC4] test esi,ecx jz L00473BA1 mov word ptr [eax+01h],0003h jmp L00473BAA L00473BA1: mov word ptr [L00767368],0001h L00473BAA: xor ecx,ecx mov cl,[eax] test [L004CDCB4+ecx*8],si jz L00473BBE mov cx,[eax+01h] jmp L00473BCC L00473BBE: mov dx,[L00767368] mov [ebp+08h],dx mov ecx,[ebp+08h] L00473BCC: mov dl,[ebp+0Ch] and ecx,0000FFFFh mov [ecx+eax],dl xor edx,edx mov dl,[eax] inc ecx test [L004CDCB4+edx*8],si jz L00473BED mov [eax+01h],cx jmp L00473BF4 L00473BED: mov [L00767368],cx L00473BF4: xor ecx,ecx mov cl,[eax] test [L004CDCB4+ecx*8],si jz L00473C08 mov cx,[eax+01h] jmp L00473C16 L00473C08: mov dx,[L00767368] mov [ebp+0Ch],dx mov ecx,[ebp+0Ch] L00473C16: mov dl,[ebp+10h] and ecx,0000FFFFh mov [ecx+eax],dl xor edx,edx mov dl,[eax] inc ecx test [L004CDCB4+edx*8],si jz L00473C3A mov [eax+01h],cx pop esi pop ebp retn 000Ch ;------------------------------------------------------------------------------ L00473C3A: mov [L00767368],cx pop esi pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 16 SUB_L00473C50: push ebp mov ebp,esp push esi mov esi,[ebp+08h] push edi mov edi,00008000h mov byte ptr [esi],08h mov eax,[L004CDCF4] test edi,eax jz L00473C71 mov word ptr [esi+01h],0003h jmp L00473C7A L00473C71: mov word ptr [L00767368],0001h L00473C7A: mov eax,[ebp+0Ch] push eax call jmp_WSOCK32.dll!WSOCK32.8 xor ecx,ecx mov cl,[esi] test [L004CDCB4+ecx*8],di jz L00473C97 mov cx,[esi+01h] jmp L00473CA5 L00473C97: mov dx,[L00767368] mov [ebp+08h],dx mov ecx,[ebp+08h] L00473CA5: and ecx,0000FFFFh mov [ecx+esi],eax lea eax,[ecx+04h] xor ecx,ecx mov cl,[esi] test [L004CDCB4+ecx*8],di jz L00473CC5 mov [esi+01h],ax jmp L00473CCB L00473CC5: mov [L00767368],ax L00473CCB: mov edx,[ebp+10h] push edx call jmp_WSOCK32.dll!WSOCK32.9 xor ecx,ecx mov cl,[esi] test [L004CDCB4+ecx*8],di jz L00473CE8 mov cx,[esi+01h] jmp L00473CF6 L00473CE8: mov dx,[L00767368] mov [ebp+08h],dx mov ecx,[ebp+08h] L00473CF6: and ecx,0000FFFFh mov [ecx+esi],ax lea eax,[ecx+02h] xor ecx,ecx mov cl,[esi] test [L004CDCB4+ecx*8],di jz L00473D17 mov [esi+01h],ax jmp L00473D1D L00473D17: mov [L00767368],ax L00473D1D: mov edx,[ebp+14h] push edx call jmp_WSOCK32.dll!WSOCK32.9 xor ecx,ecx mov cl,[esi] test [L004CDCB4+ecx*8],di jz L00473D3A mov cx,[esi+01h] jmp L00473D48 L00473D3A: mov dx,[L00767368] mov [ebp+08h],dx mov ecx,[ebp+08h] L00473D48: and ecx,0000FFFFh mov [ecx+esi],ax lea eax,[ecx+02h] xor ecx,ecx mov cl,[esi] test [L004CDCB4+ecx*8],di jz L00473D69 mov [esi+01h],ax jmp L00473D6F L00473D69: mov [L00767368],ax L00473D6F: xor edx,edx mov dl,[esi] test [L004CDCB4+edx*8],di jz L00473D83 mov ax,[esi+01h] jmp L00473D90 L00473D83: mov ax,[L00767368] mov [ebp+08h],ax mov eax,[ebp+08h] L00473D90: mov cl,[ebp+18h] and eax,0000FFFFh xor edx,edx mov [eax+esi],cl mov dl,[esi] inc eax test [L004CDCB4+edx*8],di jz L00473DB0 mov [esi+01h],ax jmp L00473DB6 L00473DB0: mov [L00767368],ax L00473DB6: mov eax,[ebp+1Ch] push eax call jmp_WSOCK32.dll!WSOCK32.8 xor ecx,ecx mov cl,[esi] test [L004CDCB4+ecx*8],di jz L00473DD3 mov cx,[esi+01h] jmp L00473DE1 L00473DD3: mov dx,[L00767368] mov [ebp+18h],dx mov ecx,[ebp+18h] L00473DE1: and ecx,0000FFFFh mov [ecx+esi],eax lea eax,[ecx+04h] xor ecx,ecx mov cl,[esi] test [L004CDCB4+ecx*8],di jz L00473E05 mov [esi+01h],ax pop edi pop esi pop ebp retn 0018h ;------------------------------------------------------------------------------ L00473E05: pop edi mov [L00767368],ax pop esi pop ebp retn 0018h ;------------------------------------------------------------------------------ Align 16 SUB_L00473E20: push ebp mov ebp,esp push esi mov esi,[ebp+08h] mov byte ptr [esi],06h mov eax,[L004CDCE4] test ah,80h jz L00473E3C mov word ptr [esi+01h],0003h jmp L00473E45 L00473E3C: mov word ptr [L00767368],0001h L00473E45: mov eax,[ebp+0Ch] push eax call jmp_WSOCK32.dll!WSOCK32.8 xor ecx,ecx mov cl,[esi] test byte ptr [L004CDCB5+ecx*8],80h jz L00473E62 mov cx,[esi+01h] jmp L00473E70 L00473E62: mov dx,[L00767368] mov [ebp+08h],dx mov ecx,[ebp+08h] L00473E70: and ecx,0000FFFFh mov [ecx+esi],eax lea eax,[ecx+04h] xor ecx,ecx mov cl,[esi] test byte ptr [L004CDCB5+ecx*8],80h jz L00473E93 mov [esi+01h],ax pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ L00473E93: mov [L00767368],ax pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 4 SUB_L00473EA0: push ebp mov ebp,esp push ebx mov ebx,[ebp+08h] push esi mov esi,00008000h mov byte ptr [ebx],03h mov eax,[L004CDCCC] test esi,eax push edi jz L00473EC2 mov word ptr [ebx+01h],0003h jmp L00473ECB L00473EC2: mov word ptr [L00767368],0001h L00473ECB: xor eax,eax mov al,[ebx] test [L004CDCB4+eax*8],si jz L00473EDF mov ax,[ebx+01h] jmp L00473EED L00473EDF: mov cx,[L00767368] mov [ebp+08h],cx mov eax,[ebp+08h] L00473EED: mov cl,[ebp+14h] and eax,0000FFFFh xor edx,edx mov [eax+ebx],cl mov dl,[ebx] inc eax test [L004CDCB4+edx*8],si jz L00473F0D mov [ebx+01h],ax jmp L00473F13 L00473F0D: mov [L00767368],ax L00473F13: cmp cl,02h jnz L00473FD4 mov eax,[L006BB5B8] push eax call jmp_WSOCK32.dll!WSOCK32.9 xor ecx,ecx mov cl,[ebx] test [L004CDCB4+ecx*8],si jz L00473F3B mov cx,[ebx+01h] jmp L00473F49 L00473F3B: mov dx,[L00767368] mov [ebp+14h],dx mov ecx,[ebp+14h] L00473F49: and ecx,0000FFFFh mov [ecx+ebx],ax lea eax,[ecx+02h] xor ecx,ecx mov cl,[ebx] test [L004CDCB4+ecx*8],si jz L00473F6A mov [ebx+01h],ax jmp L00473F70 L00473F6A: mov [L00767368],ax L00473F70: mov dx,[L006BB5BA] mov [ebp+14h],dx mov eax,[ebp+14h] push eax call jmp_WSOCK32.dll!WSOCK32.9 xor ecx,ecx mov [ebp+14h],eax mov cl,[ebx] test [L004CDCB4+ecx*8],si jz L00473F9B mov ax,[ebx+01h] jmp L00473FA9 L00473F9B: mov dx,[L00767368] mov [ebp+08h],dx mov eax,[ebp+08h] L00473FA9: mov cx,[ebp+14h] and eax,0000FFFFh xor edx,edx mov [eax+ebx],cx mov dl,[ebx] add eax,00000002h test [L004CDCB4+edx*8],si jz L00474085 mov [ebx+01h],ax jmp L0047408B L00473FD4: mov eax,[L006BB5B4] push eax call jmp_WSOCK32.dll!WSOCK32.9 xor ecx,ecx mov cl,[ebx] test [L004CDCB4+ecx*8],si jz L00473FF3 mov cx,[ebx+01h] jmp L00474001 L00473FF3: mov dx,[L00767368] mov [ebp+14h],dx mov ecx,[ebp+14h] L00474001: and ecx,0000FFFFh mov [ecx+ebx],ax lea eax,[ecx+02h] xor ecx,ecx mov cl,[ebx] test [L004CDCB4+ecx*8],si jz L00474022 mov [ebx+01h],ax jmp L00474028 L00474022: mov [L00767368],ax L00474028: mov dx,[L006BB5B6] mov [ebp+14h],dx mov eax,[ebp+14h] push eax call jmp_WSOCK32.dll!WSOCK32.9 xor ecx,ecx mov [ebp+14h],eax mov cl,[ebx] test [L004CDCB4+ecx*8],si jz L00474053 mov ax,[ebx+01h] jmp L00474061 L00474053: mov dx,[L00767368] mov [ebp+08h],dx mov eax,[ebp+08h] L00474061: mov cx,[ebp+14h] and eax,0000FFFFh xor edx,edx mov [eax+ebx],cx mov dl,[ebx] add eax,00000002h test [L004CDCB4+edx*8],si jz L00474085 mov [ebx+01h],ax jmp L0047408B L00474085: mov [L00767368],ax L0047408B: mov eax,[ebp+10h] xor edx,edx mov dl,[ebx] lea ecx,[eax+01h] test [L004CDCB4+edx*8],si mov [ebp+08h],ecx jz L004740A8 mov ax,[ebx+01h] jmp L004740B5 L004740A8: mov ax,[L00767368] mov [ebp+14h],ax mov eax,[ebp+14h] L004740B5: mov esi,[ebp+0Ch] and eax,0000FFFFh mov edx,ecx lea edi,[eax+ebx] shr ecx,02h rep movsd mov ecx,edx xor edx,edx and ecx,00000003h rep movsb mov ecx,[ebp+08h] mov dl,[ebx] add eax,ecx test byte ptr [L004CDCB5+edx*8],80h jz L004740EC mov [ebx+01h],ax pop edi pop esi pop ebx pop ebp retn 0010h ;------------------------------------------------------------------------------ L004740EC: pop edi pop esi mov [L00767368],ax pop ebx pop ebp retn 0010h ;------------------------------------------------------------------------------ Align 8 SUB_L00474100: push ebp mov ebp,esp push esi mov esi,[ebp+08h] mov byte ptr [esi],05h mov eax,[L004CDCDC] test ah,80h jz L0047411C mov word ptr [esi+01h],0003h jmp L00474125 L0047411C: mov word ptr [L00767368],0001h L00474125: mov eax,[ebp+0Ch] push eax call jmp_WSOCK32.dll!WSOCK32.8 xor ecx,ecx mov cl,[esi] test byte ptr [L004CDCB5+ecx*8],80h jz L00474142 mov cx,[esi+01h] jmp L00474150 L00474142: mov dx,[L00767368] mov [ebp+08h],dx mov ecx,[ebp+08h] L00474150: and ecx,0000FFFFh mov [ecx+esi],eax lea eax,[ecx+04h] xor ecx,ecx mov cl,[esi] test byte ptr [L004CDCB5+ecx*8],80h jz L00474173 mov [esi+01h],ax pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ L00474173: mov [L00767368],ax pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 4 SUB_L00474180: push ebp mov ebp,esp push esi mov esi,[ebp+08h] push edi mov edi,00008000h mov byte ptr [esi],07h mov eax,[L004CDCEC] test edi,eax jz L004741A1 mov word ptr [esi+01h],0003h jmp L004741AA L004741A1: mov word ptr [L00767368],0001h L004741AA: mov eax,[ebp+0Ch] push eax call jmp_WSOCK32.dll!WSOCK32.8 xor ecx,ecx mov cl,[esi] test [L004CDCB4+ecx*8],di jz L004741C7 mov cx,[esi+01h] jmp L004741D5 L004741C7: mov dx,[L00767368] mov [ebp+08h],dx mov ecx,[ebp+08h] L004741D5: and ecx,0000FFFFh mov [ecx+esi],eax lea eax,[ecx+04h] xor ecx,ecx mov cl,[esi] test [L004CDCB4+ecx*8],di jz L004741F5 mov [esi+01h],ax jmp L004741FB L004741F5: mov [L00767368],ax L004741FB: mov edx,[ebp+10h] push edx call jmp_WSOCK32.dll!WSOCK32.9 xor ecx,ecx mov cl,[esi] test [L004CDCB4+ecx*8],di jz L00474218 mov cx,[esi+01h] jmp L00474226 L00474218: mov dx,[L00767368] mov [ebp+08h],dx mov ecx,[ebp+08h] L00474226: and ecx,0000FFFFh mov [ecx+esi],ax lea eax,[ecx+02h] xor ecx,ecx mov cl,[esi] test [L004CDCB4+ecx*8],di jz L0047424B mov [esi+01h],ax pop edi pop esi pop ebp retn 000Ch ;------------------------------------------------------------------------------ L0047424B: pop edi mov [L00767368],ax pop esi pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 16 SUB_L00474260: push ebp mov ebp,esp mov eax,[ebp+08h] push ebx push esi push edi mov byte ptr [eax],12h mov ecx,[L004CDD44] mov edi,00008000h test edi,ecx jz L00474283 mov word ptr [eax+01h],0003h jmp L0047428C L00474283: mov word ptr [L00767368],0001h L0047428C: xor ecx,ecx mov cl,[eax] test [L004CDCB4+ecx*8],di jz L004742A0 mov cx,[eax+01h] jmp L004742AE L004742A0: mov dx,[L00767368] mov [ebp+08h],dx mov ecx,[ebp+08h] L004742AE: mov dl,[ebp+0Ch] and ecx,0000FFFFh mov [ecx+eax],dl xor edx,edx mov dl,[eax] inc ecx test [L004CDCB4+edx*8],di jz L004742CF mov [eax+01h],cx jmp L004742D6 L004742CF: mov [L00767368],cx L004742D6: mov ecx,[ebp+14h] xor edx,edx mov dl,[eax] lea esi,[ecx+01h] test [L004CDCB4+edx*8],di mov [ebp+08h],esi jz L004742F3 mov cx,[eax+01h] jmp L00474301 L004742F3: mov cx,[L00767368] mov [ebp+0Ch],cx mov ecx,[ebp+0Ch] L00474301: and ecx,0000FFFFh mov edx,ecx mov ecx,esi mov esi,[ebp+10h] mov ebx,ecx lea edi,[edx+eax] shr ecx,02h rep movsd mov ecx,ebx and ecx,00000003h rep movsb mov ecx,[ebp+08h] add edx,ecx xor ecx,ecx mov cl,[eax] test byte ptr [L004CDCB5+ecx*8],80h jz L0047433D mov [eax+01h],dx pop edi pop esi pop ebx pop ebp retn 0010h ;------------------------------------------------------------------------------ L0047433D: pop edi pop esi mov [L00767368],dx pop ebx pop ebp retn 0010h ;------------------------------------------------------------------------------ Align 8 SUB_L00474350: push ebp mov ebp,esp push esi mov esi,[ebp+08h] mov byte ptr [esi],09h mov eax,[L004CDCFC] test ah,80h jz L0047436C mov word ptr [esi+01h],0003h jmp L00474375 L0047436C: mov word ptr [L00767368],0001h L00474375: mov eax,[ebp+0Ch] push eax call jmp_WSOCK32.dll!WSOCK32.8 xor ecx,ecx mov cl,[esi] test byte ptr [L004CDCB5+ecx*8],80h jz L00474392 mov cx,[esi+01h] jmp L004743A0 L00474392: mov dx,[L00767368] mov [ebp+08h],dx mov ecx,[ebp+08h] L004743A0: and ecx,0000FFFFh mov [ecx+esi],eax lea eax,[ecx+04h] xor ecx,ecx mov cl,[esi] test byte ptr [L004CDCB5+ecx*8],80h jz L004743C3 mov [esi+01h],ax pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ L004743C3: mov [L00767368],ax pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 4 SUB_L004743D0: push ebp mov ebp,esp push esi mov esi,[ebp+08h] push edi mov edi,00008000h mov byte ptr [esi],13h mov eax,[L004CDD4C] test edi,eax jz L004743F1 mov word ptr [esi+01h],0003h jmp L004743FA L004743F1: mov word ptr [L00767368],0001h L004743FA: mov eax,[ebp+0Ch] push eax call jmp_WSOCK32.dll!WSOCK32.8 xor ecx,ecx mov cl,[esi] test [L004CDCB4+ecx*8],di jz L00474417 mov cx,[esi+01h] jmp L00474425 L00474417: mov dx,[L00767368] mov [ebp+08h],dx mov ecx,[ebp+08h] L00474425: and ecx,0000FFFFh mov [ecx+esi],eax lea eax,[ecx+04h] xor ecx,ecx mov cl,[esi] test [L004CDCB4+ecx*8],di jz L00474445 mov [esi+01h],ax jmp L0047444B L00474445: mov [L00767368],ax L0047444B: xor edx,edx mov dl,[esi] test [L004CDCB4+edx*8],di jz L0047445F mov ax,[esi+01h] jmp L0047446C L0047445F: mov ax,[L00767368] mov [ebp+08h],ax mov eax,[ebp+08h] L0047446C: mov cl,[ebp+10h] and eax,0000FFFFh xor edx,edx mov [eax+esi],cl mov dl,[esi] inc eax test [L004CDCB4+edx*8],di jz L0047448C mov [esi+01h],ax jmp L00474492 L0047448C: mov [L00767368],ax L00474492: mov eax,[ebp+14h] push eax call jmp_WSOCK32.dll!WSOCK32.8 xor ecx,ecx mov cl,[esi] test [L004CDCB4+ecx*8],di jz L004744AF mov cx,[esi+01h] jmp L004744BD L004744AF: mov dx,[L00767368] mov [ebp+10h],dx mov ecx,[ebp+10h] L004744BD: and ecx,0000FFFFh mov [ecx+esi],eax lea eax,[ecx+04h] xor ecx,ecx mov cl,[esi] test [L004CDCB4+ecx*8],di jz L004744E1 mov [esi+01h],ax pop edi pop esi pop ebp retn 0010h ;------------------------------------------------------------------------------ L004744E1: pop edi mov [L00767368],ax pop esi pop ebp retn 0010h ;------------------------------------------------------------------------------ Align 4 SUB_L004744F0: push ebp mov ebp,esp push ebx mov ebx,[ebp+08h] push esi push edi mov byte ptr [ebx],00h mov eax,[L004CDCB4] test ah,80h jz L00474514 mov edx,00000003h mov ecx,ebx call SUB_L00469200 jmp L0047451D L00474514: mov word ptr [L00767368],0001h L0047451D: push EDEDEDEDh call jmp_WSOCK32.dll!WSOCK32.8 mov ecx,ebx mov esi,eax call SUB_L0046E350 and eax,0000FFFFh mov ecx,ebx lea edx,[eax+04h] mov [eax+ebx],esi call SUB_L00469200 push 0000FFFFh call jmp_WSOCK32.dll!WSOCK32.9 mov ecx,ebx mov esi,eax call SUB_L0046E350 and eax,0000FFFFh mov ecx,ebx lea edx,[eax+02h] mov [eax+ebx],si call SUB_L00469200 push 0000FFFFh call jmp_WSOCK32.dll!WSOCK32.9 mov ecx,ebx mov esi,eax call SUB_L0046E350 and eax,0000FFFFh mov ecx,ebx lea edx,[eax+02h] mov [eax+ebx],si call SUB_L00469200 mov ecx,ebx call SUB_L0046E350 and eax,0000FFFFh mov ecx,ebx lea edx,[eax+01h] mov byte ptr [eax+ebx],00h call SUB_L00469200 mov ecx,ebx call SUB_L0046E350 mov esi,[ebp+0Ch] and eax,0000FFFFh mov ecx,00000007h lea edi,[eax+ebx] lea edx,[eax+1Eh] rep movsd mov ecx,ebx movsw call SUB_L00469200 mov ecx,ebx call SUB_L0046E350 mov esi,[ebp+10h] and eax,0000FFFFh mov ecx,00000007h lea edi,[eax+ebx] lea edx,[eax+1Eh] rep movsd mov ecx,ebx movsw call SUB_L00469200 mov ecx,ebx call SUB_L0046E350 mov cl,[ebp+14h] and eax,0000FFFFh mov [eax+ebx],cl lea edx,[eax+01h] mov ecx,ebx call SUB_L00469200 mov ecx,ebx call SUB_L0046E350 mov dl,[ebp+18h] and eax,0000FFFFh mov ecx,ebx mov [eax+ebx],dl lea edx,[eax+01h] call SUB_L00469200 mov ecx,ebx call SUB_L0046E350 mov cl,[ebp+1Ch] and eax,0000FFFFh mov [eax+ebx],cl lea edx,[eax+01h] mov ecx,ebx call SUB_L00469200 mov ecx,ebx call SUB_L0046E350 mov dl,[ebp+20h] and eax,0000FFFFh mov ecx,ebx mov [eax+ebx],dl lea edx,[eax+01h] call SUB_L00469200 mov ecx,ebx call SUB_L0046E350 mov cl,[ebp+38h] and eax,0000FFFFh mov [eax+ebx],cl lea edx,[eax+01h] mov ecx,ebx call SUB_L00469200 mov ecx,ebx call SUB_L0046E350 mov dl,[ebp+3Ch] and eax,0000FFFFh mov ecx,ebx mov [eax+ebx],dl lea edx,[eax+01h] call SUB_L00469200 mov ecx,ebx call SUB_L0046E350 mov cl,[ebp+40h] and eax,0000FFFFh mov [eax+ebx],cl lea edx,[eax+01h] mov ecx,ebx call SUB_L00469200 mov ecx,ebx call SUB_L0046E350 mov dl,[ebp+44h] and eax,0000FFFFh mov ecx,ebx mov [eax+ebx],dl lea edx,[eax+01h] call SUB_L00469200 mov ecx,ebx call SUB_L0046E350 mov cl,[ebp+48h] and eax,0000FFFFh mov [eax+ebx],cl lea edx,[eax+01h] mov ecx,ebx call SUB_L00469200 mov ecx,ebx call SUB_L0046E350 mov dl,[ebp+4Ch] and eax,0000FFFFh mov ecx,ebx mov [eax+ebx],dl lea edx,[eax+01h] call SUB_L00469200 mov eax,[ebp+24h] push eax call jmp_WSOCK32.dll!WSOCK32.9 mov ecx,ebx mov esi,eax call SUB_L0046E350 and eax,0000FFFFh mov ecx,ebx lea edx,[eax+02h] mov [eax+ebx],si call SUB_L00469200 mov ecx,[ebp+28h] push ecx call jmp_WSOCK32.dll!WSOCK32.9 mov ecx,ebx mov esi,eax call SUB_L0046E350 and eax,0000FFFFh mov ecx,ebx lea edx,[eax+02h] mov [eax+ebx],si call SUB_L00469200 mov edx,[ebp+2Ch] mov ecx,ebx call SUB_L00468630 mov edx,[ebp+30h] mov ecx,ebx call SUB_L00468630 mov edx,[ebp+34h] mov ecx,ebx call SUB_L00468630 mov dl,[ebp+50h] mov ecx,ebx call SUB_L004685E0 mov dl,[ebp+54h] mov ecx,ebx call SUB_L004685E0 mov edx,[ebp+58h] mov ecx,ebx call SUB_L004686B0 mov edx,[L006BB1CC] mov ecx,ebx mov edx,[edx+00020028h] call SUB_L004686B0 pop edi pop esi pop ebx pop ebp retn 0054h ;------------------------------------------------------------------------------ Align 8 SUB_L004747B0: push ebp mov ebp,esp sub esp,00000020h push ebx mov ebx,[ebp+08h] push esi mov esi,00008000h mov byte ptr [ebx],5Dh mov eax,[L004CDF9C] test esi,eax push edi jz L004747D5 mov word ptr [ebx+01h],0003h jmp L004747DE L004747D5: mov word ptr [L00767368],0001h L004747DE: push EDEDEDEDh call jmp_WSOCK32.dll!WSOCK32.8 xor ecx,ecx mov cl,[ebx] test [L004CDCB4+ecx*8],si jz L004747FC mov cx,[ebx+01h] jmp L0047480A L004747FC: mov dx,[L00767368] mov [ebp+08h],dx mov ecx,[ebp+08h] L0047480A: and ecx,0000FFFFh mov [ecx+ebx],eax lea eax,[ecx+04h] xor ecx,ecx mov cl,[ebx] test [L004CDCB4+ecx*8],si jz L0047482A mov [ebx+01h],ax jmp L00474830 L0047482A: mov [L00767368],ax L00474830: mov ecx,00000007h xor eax,eax lea edi,[ebp-20h] lea edx,[ebp-20h] rep stosd stosw mov edi,[ebp+0Ch] or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx mov edx,00008000h shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb xor ecx,ecx mov cl,[ebx] test [L004CDCB4+ecx*8],dx jz L0047487A mov ax,[ebx+01h] jmp L00474887 L0047487A: mov ax,[L00767368] mov [ebp+08h],ax mov eax,[ebp+08h] L00474887: and eax,0000FFFFh mov ecx,00000007h lea esi,[ebp-20h] lea edi,[eax+ebx] add eax,0000001Eh rep movsd xor ecx,ecx movsw mov cl,[ebx] test [L004CDCB4+ecx*8],dx jz L004748B2 mov [ebx+01h],ax jmp L004748B8 L004748B2: mov [L00767368],ax L004748B8: mov ecx,00000007h xor eax,eax lea edi,[ebp-20h] lea esi,[ebp-20h] rep stosd stosw mov edi,[ebp+10h] or ecx,FFFFFFFFh xor eax,eax mov [ebp+08h],esi repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,[ebp+08h] shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb xor ecx,ecx mov cl,[ebx] test [L004CDCB4+ecx*8],dx jz L00474901 mov ax,[ebx+01h] jmp L0047490E L00474901: mov ax,[L00767368] mov [ebp+08h],ax mov eax,[ebp+08h] L0047490E: and eax,0000FFFFh mov ecx,00000007h lea esi,[ebp-20h] lea edi,[eax+ebx] add eax,0000001Eh rep movsd xor ecx,ecx movsw mov cl,[ebx] test [L004CDCB4+ecx*8],dx jz L00474939 mov [ebx+01h],ax jmp L0047493F L00474939: mov [L00767368],ax L0047493F: mov edx,[ebp+14h] push edx call jmp_WSOCK32.dll!WSOCK32.8 xor ecx,ecx mov esi,00008000h mov cl,[ebx] test [L004CDCB4+ecx*8],si jz L00474961 mov cx,[ebx+01h] jmp L0047496F L00474961: mov dx,[L00767368] mov [ebp+08h],dx mov ecx,[ebp+08h] L0047496F: and ecx,0000FFFFh mov [ecx+ebx],eax lea eax,[ecx+04h] xor ecx,ecx mov cl,[ebx] test [L004CDCB4+ecx*8],si jz L0047498F mov [ebx+01h],ax jmp L00474995 L0047498F: mov [L00767368],ax L00474995: mov edx,[L006BB1CC] mov eax,[edx+00020028h] push eax call jmp_WSOCK32.dll!WSOCK32.8 xor ecx,ecx mov cl,[ebx] test [L004CDCB4+ecx*8],si jz L004749BB mov cx,[ebx+01h] jmp L004749C9 L004749BB: mov dx,[L00767368] mov [ebp+08h],dx mov ecx,[ebp+08h] L004749C9: and ecx,0000FFFFh mov [ecx+ebx],eax lea eax,[ecx+04h] xor ecx,ecx mov cl,[ebx] test [L004CDCB4+ecx*8],si jz L004749F0 mov [ebx+01h],ax pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0010h ;------------------------------------------------------------------------------ L004749F0: pop edi pop esi mov [L00767368],ax pop ebx mov esp,ebp pop ebp retn 0010h ;------------------------------------------------------------------------------ Align 4 SUB_L00474A00: push ebp mov ebp,esp push esi mov esi,[ebp+08h] push edi mov edi,00008000h mov byte ptr [esi],34h mov eax,[L004CDE54] test edi,eax jz L00474A21 mov word ptr [esi+01h],0003h jmp L00474A2A L00474A21: mov word ptr [L00767368],0001h L00474A2A: push EDEDEDEDh call jmp_WSOCK32.dll!WSOCK32.8 xor ecx,ecx mov cl,[esi] test [L004CDCB4+ecx*8],di jz L00474A48 mov cx,[esi+01h] jmp L00474A56 L00474A48: mov dx,[L00767368] mov [ebp+08h],dx mov ecx,[ebp+08h] L00474A56: and ecx,0000FFFFh mov [ecx+esi],eax lea eax,[ecx+04h] xor ecx,ecx mov cl,[esi] test [L004CDCB4+ecx*8],di jz L00474A76 mov [esi+01h],ax jmp L00474A7C L00474A76: mov [L00767368],ax L00474A7C: xor edx,edx mov dl,[esi] test [L004CDCB4+edx*8],di jz L00474A90 mov ax,[esi+01h] jmp L00474A9D L00474A90: mov ax,[L00767368] mov [ebp+08h],ax mov eax,[ebp+08h] L00474A9D: mov cl,[ebp+0Ch] and eax,0000FFFFh xor edx,edx mov [eax+esi],cl mov dl,[esi] inc eax test [L004CDCB4+edx*8],di jz L00474ABD mov [esi+01h],ax jmp L00474AC3 L00474ABD: mov [L00767368],ax L00474AC3: mov eax,[ebp+10h] push eax call jmp_WSOCK32.dll!WSOCK32.8 xor ecx,ecx mov cl,[esi] test [L004CDCB4+ecx*8],di jz L00474AE0 mov cx,[esi+01h] jmp L00474AEE L00474AE0: mov dx,[L00767368] mov [ebp+0Ch],dx mov ecx,[ebp+0Ch] L00474AEE: and ecx,0000FFFFh mov [ecx+esi],eax lea eax,[ecx+04h] xor ecx,ecx mov cl,[esi] test [L004CDCB4+ecx*8],di jz L00474B12 mov [esi+01h],ax pop edi pop esi pop ebp retn 000Ch ;------------------------------------------------------------------------------ L00474B12: pop edi mov [L00767368],ax pop esi pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 4 SUB_L00474B20: push ebp mov ebp,esp mov eax,[ebp+08h] mov byte ptr [eax],2Ch mov ecx,[L004CDE14] test ch,80h jz L00474B3C mov word ptr [eax+01h],0003h jmp L00474B45 L00474B3C: mov word ptr [L00767368],0001h L00474B45: xor ecx,ecx mov cl,[eax] test byte ptr [L004CDCB5+ecx*8],80h jz L00474B59 mov cx,[eax+01h] jmp L00474B67 L00474B59: mov dx,[L00767368] mov [ebp+08h],dx mov ecx,[ebp+08h] L00474B67: mov dl,[ebp+0Ch] and ecx,0000FFFFh mov [ecx+eax],dl xor edx,edx mov dl,[eax] inc ecx test byte ptr [L004CDCB5+edx*8],80h jz L00474B8A mov [eax+01h],cx pop ebp retn 0008h ;------------------------------------------------------------------------------ L00474B8A: mov [L00767368],cx pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L00474BA0: push ebp mov ebp,esp push ebx push esi mov esi,[ebp+08h] push edi mov edi,00008000h mov byte ptr [esi],3Bh mov eax,[L004CDE8C] test edi,eax jz L00474BC2 mov word ptr [esi+01h],0003h jmp L00474BCB L00474BC2: mov word ptr [L00767368],0001h L00474BCB: mov eax,[ebp+0Ch] push eax call jmp_WSOCK32.dll!WSOCK32.8 xor ecx,ecx mov cl,[esi] test [L004CDCB4+ecx*8],di jz L00474BE8 mov cx,[esi+01h] jmp L00474BF6 L00474BE8: mov dx,[L00767368] mov [ebp+08h],dx mov ecx,[ebp+08h] L00474BF6: and ecx,0000FFFFh mov [ecx+esi],eax lea eax,[ecx+04h] xor ecx,ecx mov cl,[esi] test [L004CDCB4+ecx*8],di jz L00474C16 mov [esi+01h],ax jmp L00474C1C L00474C16: mov [L00767368],ax L00474C1C: xor edx,edx mov dl,[esi] test [L004CDCB4+edx*8],di jz L00474C30 mov ax,[esi+01h] jmp L00474C3D L00474C30: mov ax,[L00767368] mov [ebp+08h],ax mov eax,[ebp+08h] L00474C3D: mov cl,[ebp+10h] and eax,0000FFFFh xor edx,edx mov [eax+esi],cl mov dl,[esi] inc eax test [L004CDCB4+edx*8],di jz L00474C5D mov [esi+01h],ax jmp L00474C63 L00474C5D: mov [L00767368],ax L00474C63: mov eax,[ebp+14h] test eax,eax mov ebx,eax jz L00474D6F L00474C70: mov cl,[ebx] xor eax,eax mov al,[esi] test [L004CDCB4+eax*8],di jz L00474C89 mov ax,[esi+01h] mov [ebp+10h],eax jmp L00474C97 L00474C89: mov dx,[L00767368] mov [ebp+10h],dx mov eax,[ebp+10h] L00474C97: and eax,0000FFFFh mov [eax+esi],cl xor ecx,ecx mov cl,[esi] inc eax test [L004CDCB4+ecx*8],di jz L00474CB4 mov [esi+01h],ax jmp L00474CBA L00474CB4: mov [L00767368],ax L00474CBA: mov edx,[ebx+04h] push edx call jmp_WSOCK32.dll!WSOCK32.8 xor ecx,ecx mov cl,[esi] test [L004CDCB4+ecx*8],di jz L00474CDA mov cx,[esi+01h] mov [ebp+08h],ecx jmp L00474CE8 L00474CDA: mov dx,[L00767368] mov [ebp+08h],dx mov ecx,[ebp+08h] L00474CE8: and ecx,0000FFFFh mov [ecx+esi],eax lea eax,[ecx+04h] xor ecx,ecx mov cl,[esi] test [L004CDCB4+ecx*8],di jz L00474D08 mov [esi+01h],ax jmp L00474D0E L00474D08: mov [L00767368],ax L00474D0E: mov dx,[ebx+0Ah] push edx call jmp_WSOCK32.dll!WSOCK32.9 xor ecx,ecx mov cl,[esi] test [L004CDCB4+ecx*8],di jz L00474D2F mov cx,[esi+01h] mov [ebp+0Ch],ecx jmp L00474D3D L00474D2F: mov dx,[L00767368] mov [ebp+0Ch],dx mov ecx,[ebp+0Ch] L00474D3D: and ecx,0000FFFFh mov [ecx+esi],ax lea eax,[ecx+02h] xor ecx,ecx mov cl,[esi] test [L004CDCB4+ecx*8],di jz L00474D5E mov [esi+01h],ax jmp L00474D64 L00474D5E: mov [L00767368],ax L00474D64: mov ebx,[ebx+0Ch] test ebx,ebx jnz L00474C70 L00474D6F: pop edi pop esi pop ebx pop ebp retn 0010h ;------------------------------------------------------------------------------ Align 16 SUB_L00474D80: push ebp mov ebp,esp push ebx push esi mov esi,[ebp+08h] push edi mov edi,00008000h mov byte ptr [esi],9Fh mov eax,[L004CE1AC] test edi,eax jz L00474DA2 mov word ptr [esi+01h],0003h jmp L00474DAB L00474DA2: mov word ptr [L00767368],0001h L00474DAB: mov eax,[ebp+0Ch] push eax call jmp_WSOCK32.dll!WSOCK32.8 xor ecx,ecx mov cl,[esi] test [L004CDCB4+ecx*8],di jz L00474DC8 mov cx,[esi+01h] jmp L00474DD6 L00474DC8: mov dx,[L00767368] mov [ebp+08h],dx mov ecx,[ebp+08h] L00474DD6: and ecx,0000FFFFh mov [ecx+esi],eax lea eax,[ecx+04h] xor ecx,ecx mov cl,[esi] test [L004CDCB4+ecx*8],di jz L00474DF6 mov [esi+01h],ax jmp L00474DFC L00474DF6: mov [L00767368],ax L00474DFC: mov ebx,[ebp+10h] xor ecx,ecx test ebx,ebx mov eax,ebx jz L00474E0F L00474E07: mov eax,[eax+0Ch] inc ecx test eax,eax jnz L00474E07 L00474E0F: push ecx call jmp_WSOCK32.dll!WSOCK32.9 xor edx,edx mov dl,[esi] test [L004CDCB4+edx*8],di jz L00474E29 mov cx,[esi+01h] jmp L00474E37 L00474E29: mov cx,[L00767368] mov [ebp+08h],cx mov ecx,[ebp+08h] L00474E37: and ecx,0000FFFFh xor edx,edx mov [ecx+esi],ax mov dl,[esi] lea eax,[ecx+02h] test [L004CDCB4+edx*8],di jz L00474E58 mov [esi+01h],ax jmp L00474E5E L00474E58: mov [L00767368],ax L00474E5E: test ebx,ebx jz L00474F1B L00474E66: mov eax,[ebx+04h] push eax call jmp_WSOCK32.dll!WSOCK32.8 xor ecx,ecx mov cl,[esi] test [L004CDCB4+ecx*8],di jz L00474E86 mov cx,[esi+01h] mov [ebp+08h],ecx jmp L00474E94 L00474E86: mov dx,[L00767368] mov [ebp+08h],dx mov ecx,[ebp+08h] L00474E94: and ecx,0000FFFFh mov [ecx+esi],eax lea eax,[ecx+04h] xor ecx,ecx mov cl,[esi] test [L004CDCB4+ecx*8],di jz L00474EB4 mov [esi+01h],ax jmp L00474EBA L00474EB4: mov [L00767368],ax L00474EBA: mov dx,[ebx+0Ah] push edx call jmp_WSOCK32.dll!WSOCK32.9 xor ecx,ecx mov cl,[esi] test [L004CDCB4+ecx*8],di jz L00474EDB mov cx,[esi+01h] mov [ebp+0Ch],ecx jmp L00474EE9 L00474EDB: mov dx,[L00767368] mov [ebp+0Ch],dx mov ecx,[ebp+0Ch] L00474EE9: and ecx,0000FFFFh mov [ecx+esi],ax lea eax,[ecx+02h] xor ecx,ecx mov cl,[esi] test [L004CDCB4+ecx*8],di jz L00474F0A mov [esi+01h],ax jmp L00474F10 L00474F0A: mov [L00767368],ax L00474F10: mov ebx,[ebx+0Ch] test ebx,ebx jnz L00474E66 L00474F1B: pop edi pop esi pop ebx pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 16 SUB_L00474F30: push ebp mov ebp,esp push ebx push esi mov esi,[ebp+08h] push edi mov edi,00008000h mov byte ptr [esi],56h mov eax,[L004CDF64] test edi,eax jz L00474F52 mov word ptr [esi+01h],0003h jmp L00474F5B L00474F52: mov word ptr [L00767368],0001h L00474F5B: mov eax,[ebp+0Ch] push eax call jmp_WSOCK32.dll!WSOCK32.8 xor ecx,ecx mov cl,[esi] test [L004CDCB4+ecx*8],di jz L00474F78 mov cx,[esi+01h] jmp L00474F86 L00474F78: mov dx,[L00767368] mov [ebp+08h],dx mov ecx,[ebp+08h] L00474F86: and ecx,0000FFFFh mov [ecx+esi],eax lea eax,[ecx+04h] xor ecx,ecx mov cl,[esi] test [L004CDCB4+ecx*8],di jz L00474FA6 mov [esi+01h],ax jmp L00474FAC L00474FA6: mov [L00767368],ax L00474FAC: xor edx,edx mov dl,[esi] test [L004CDCB4+edx*8],di jz L00474FC0 mov ax,[esi+01h] jmp L00474FCD L00474FC0: mov ax,[L00767368] mov [ebp+08h],ax mov eax,[ebp+08h] L00474FCD: mov cl,[ebp+10h] and eax,0000FFFFh xor edx,edx mov [eax+esi],cl mov dl,[esi] inc eax test [L004CDCB4+edx*8],di jz L00474FED mov [esi+01h],ax jmp L00474FF3 L00474FED: mov [L00767368],ax L00474FF3: xor eax,eax mov al,[esi] test [L004CDCB4+eax*8],di jz L00475007 mov ax,[esi+01h] jmp L00475015 L00475007: mov cx,[L00767368] mov [ebp+10h],cx mov eax,[ebp+10h] L00475015: mov dl,[ebp+14h] and eax,0000FFFFh xor ecx,ecx mov [eax+esi],dl mov cl,[esi] inc eax test [L004CDCB4+ecx*8],di jz L00475035 mov [esi+01h],ax jmp L0047503B L00475035: mov [L00767368],ax L0047503B: mov edx,[ebp+18h] mov ebx,[ebp+1Ch] add edx,FFFFFFE8h add ebx,0000FFE1h push edx call jmp_WSOCK32.dll!WSOCK32.9 xor ecx,ecx mov cl,[esi] test [L004CDCB4+ecx*8],di jz L00475064 mov cx,[esi+01h] jmp L00475072 L00475064: mov dx,[L00767368] mov [ebp+10h],dx mov ecx,[ebp+10h] L00475072: and ecx,0000FFFFh mov [ecx+esi],ax lea eax,[ecx+02h] xor ecx,ecx mov cl,[esi] test [L004CDCB4+ecx*8],di jz L00475093 mov [esi+01h],ax jmp L00475099 L00475093: mov [L00767368],ax L00475099: push ebx call jmp_WSOCK32.dll!WSOCK32.9 xor edx,edx mov dl,[esi] test [L004CDCB4+edx*8],di jz L004750B3 mov cx,[esi+01h] jmp L004750C1 L004750B3: mov cx,[L00767368] mov [ebp+10h],cx mov ecx,[ebp+10h] L004750C1: and ecx,0000FFFFh xor edx,edx mov [ecx+esi],ax mov dl,[esi] lea eax,[ecx+02h] test [L004CDCB4+edx*8],di jz L004750E7 mov [esi+01h],ax pop edi pop esi pop ebx pop ebp retn 0018h ;------------------------------------------------------------------------------ L004750E7: pop edi pop esi mov [L00767368],ax pop ebx pop ebp retn 0018h ;------------------------------------------------------------------------------ Align 16 SUB_L00475100: push ebp mov ebp,esp push ebx mov ebx,[ebp+08h] push esi mov esi,00008000h mov byte ptr [ebx],93h mov eax,[L004CE14C] test esi,eax push edi jz L00475122 mov word ptr [ebx+01h],0003h jmp L0047512B L00475122: mov word ptr [L00767368],0001h L0047512B: mov eax,[ebp+0Ch] push eax call jmp_WSOCK32.dll!WSOCK32.8 xor ecx,ecx mov cl,[ebx] test [L004CDCB4+ecx*8],si jz L00475148 mov cx,[ebx+01h] jmp L00475156 L00475148: mov dx,[L00767368] mov [ebp+08h],dx mov ecx,[ebp+08h] L00475156: and ecx,0000FFFFh mov [ecx+ebx],eax lea eax,[ecx+04h] xor ecx,ecx mov cl,[ebx] test [L004CDCB4+ecx*8],si jz L00475176 mov [ebx+01h],ax jmp L0047517C L00475176: mov [L00767368],ax L0047517C: xor edx,edx mov dl,[ebx] test [L004CDCB4+edx*8],si jz L00475190 mov ax,[ebx+01h] jmp L0047519D L00475190: mov ax,[L00767368] mov [ebp+08h],ax mov eax,[ebp+08h] L0047519D: and eax,0000FFFFh xor ecx,ecx mov byte ptr [eax+ebx],00h mov cl,[ebx] inc eax test [L004CDCB4+ecx*8],si jz L004751BB mov [ebx+01h],ax jmp L004751C1 L004751BB: mov [L00767368],ax L004751C1: push 00000000h call jmp_WSOCK32.dll!WSOCK32.9 xor edx,edx mov dl,[ebx] test [L004CDCB4+edx*8],si jz L004751DC mov cx,[ebx+01h] jmp L004751EA L004751DC: mov cx,[L00767368] mov [ebp+08h],cx mov ecx,[ebp+08h] L004751EA: and ecx,0000FFFFh xor edx,edx mov [ecx+ebx],ax mov dl,[ebx] lea eax,[ecx+02h] test [L004CDCB4+edx*8],si jz L0047520B mov [ebx+01h],ax jmp L00475211 L0047520B: mov [L00767368],ax L00475211: xor eax,eax mov al,[ebx] test [L004CDCB4+eax*8],si jz L00475225 mov ax,[ebx+01h] jmp L00475233 L00475225: mov cx,[L00767368] mov [ebp+08h],cx mov eax,[ebp+08h] L00475233: mov esi,[ebp+10h] and eax,0000FFFFh mov ecx,0000000Fh xor edx,edx lea edi,[eax+ebx] add eax,0000003Ch rep movsd mov dl,[ebx] mov ecx,edx mov edx,00008000h test [L004CDCB4+ecx*8],dx jz L00475263 mov [ebx+01h],ax jmp L00475269 L00475263: mov [L00767368],ax L00475269: xor eax,eax mov al,[ebx] test [L004CDCB4+eax*8],dx jz L0047527D mov ax,[ebx+01h] jmp L0047528B L0047527D: mov cx,[L00767368] mov [ebp+08h],cx mov eax,[ebp+08h] L0047528B: mov esi,[ebp+14h] and eax,0000FFFFh mov ecx,00000007h lea edi,[eax+ebx] add eax,0000001Eh rep movsd xor ecx,ecx movsw mov cl,[ebx] test [L004CDCB4+ecx*8],dx jz L004752BB mov [ebx+01h],ax pop edi pop esi pop ebx pop ebp retn 0010h ;------------------------------------------------------------------------------ L004752BB: pop edi pop esi mov [L00767368],ax pop ebx pop ebp retn 0010h ;------------------------------------------------------------------------------ Align 16 SUB_L004752D0: push ebp mov ebp,esp push esi mov esi,[ebp+08h] push edi mov edi,00008000h mov byte ptr [esi],66h mov eax,[L004CDFE4] test edi,eax jz L004752F1 mov word ptr [esi+01h],0003h jmp L004752FA L004752F1: mov word ptr [L00767368],0001h L004752FA: mov eax,[ebp+0Ch] push eax call jmp_WSOCK32.dll!WSOCK32.8 xor ecx,ecx mov cl,[esi] test [L004CDCB4+ecx*8],di jz L00475317 mov cx,[esi+01h] jmp L00475325 L00475317: mov dx,[L00767368] mov [ebp+08h],dx mov ecx,[ebp+08h] L00475325: and ecx,0000FFFFh mov [ecx+esi],eax lea eax,[ecx+04h] xor ecx,ecx mov cl,[esi] test [L004CDCB4+ecx*8],di jz L00475345 mov [esi+01h],ax jmp L0047534B L00475345: mov [L00767368],ax L0047534B: push 00000001h call jmp_WSOCK32.dll!WSOCK32.9 xor edx,edx mov dl,[esi] test [L004CDCB4+edx*8],di jz L00475366 mov cx,[esi+01h] jmp L00475374 L00475366: mov cx,[L00767368] mov [ebp+08h],cx mov ecx,[ebp+08h] L00475374: and ecx,0000FFFFh xor edx,edx mov [ecx+esi],ax mov dl,[esi] lea eax,[ecx+02h] test [L004CDCB4+edx*8],di jz L00475395 mov [esi+01h],ax jmp L0047539B L00475395: mov [L00767368],ax L0047539B: mov eax,[ebp+10h] push eax call jmp_WSOCK32.dll!WSOCK32.9 xor ecx,ecx mov cl,[esi] test [L004CDCB4+ecx*8],di jz L004753B8 mov cx,[esi+01h] jmp L004753C6 L004753B8: mov dx,[L00767368] mov [ebp+08h],dx mov ecx,[ebp+08h] L004753C6: and ecx,0000FFFFh mov [ecx+esi],ax lea eax,[ecx+02h] xor ecx,ecx mov cl,[esi] test [L004CDCB4+ecx*8],di jz L004753E7 mov [esi+01h],ax jmp L004753ED L004753E7: mov [L00767368],ax L004753ED: push 0000FFFFh call jmp_WSOCK32.dll!WSOCK32.9 xor edx,edx mov dl,[esi] test [L004CDCB4+edx*8],di jz L0047540B mov cx,[esi+01h] jmp L00475419 L0047540B: mov cx,[L00767368] mov [ebp+08h],cx mov ecx,[ebp+08h] L00475419: and ecx,0000FFFFh xor edx,edx mov [ecx+esi],ax mov dl,[esi] lea eax,[ecx+02h] test [L004CDCB4+edx*8],di jz L0047543E mov [esi+01h],ax pop edi pop esi pop ebp retn 000Ch ;------------------------------------------------------------------------------ L0047543E: pop edi mov [L00767368],ax pop esi pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 8 SUB_L00475450: push ebp mov ebp,esp sub esp,0000000Ch push ebx mov ebx,[ebp+08h] push esi mov esi,00008000h mov byte ptr [ebx],66h mov eax,[L004CDFE4] test esi,eax push edi jz L00475475 mov word ptr [ebx+01h],0003h jmp L0047547E L00475475: mov word ptr [L00767368],0001h L0047547E: mov eax,[ebp+0Ch] test eax,eax jz L004756AE mov eax,[eax+34h] mov ecx,[eax+78h] push ecx call jmp_WSOCK32.dll!WSOCK32.8 xor edx,edx mov dl,[ebx] test [L004CDCB4+edx*8],si jz L004754A9 mov cx,[ebx+01h] jmp L004754B7 L004754A9: mov cx,[L00767368] mov [ebp+08h],cx mov ecx,[ebp+08h] L004754B7: and ecx,0000FFFFh xor edx,edx mov [ecx+ebx],eax mov dl,[ebx] lea eax,[ecx+04h] test [L004CDCB4+edx*8],si jz L004754D7 mov [ebx+01h],ax jmp L004754DD L004754D7: mov [L00767368],ax L004754DD: push 00000001h call jmp_WSOCK32.dll!WSOCK32.9 xor ecx,ecx mov cl,[ebx] test [L004CDCB4+ecx*8],si jz L004754F8 mov cx,[ebx+01h] jmp L00475506 L004754F8: mov dx,[L00767368] mov [ebp+08h],dx mov ecx,[ebp+08h] L00475506: and ecx,0000FFFFh mov [ecx+ebx],ax lea eax,[ecx+02h] xor ecx,ecx mov cl,[ebx] test [L004CDCB4+ecx*8],si jz L00475527 mov [ebx+01h],ax jmp L0047552D L00475527: mov [L00767368],ax L0047552D: mov edi,[ebp+10h] push edi call jmp_WSOCK32.dll!WSOCK32.9 xor edx,edx mov dl,[ebx] test [L004CDCB4+edx*8],si jz L0047554A mov cx,[ebx+01h] jmp L00475558 L0047554A: mov cx,[L00767368] mov [ebp+08h],cx mov ecx,[ebp+08h] L00475558: and ecx,0000FFFFh xor edx,edx mov [ecx+ebx],ax mov dl,[ebx] lea eax,[ecx+02h] test [L004CDCB4+edx*8],si jz L00475579 mov [ebx+01h],ax jmp L0047557F L00475579: mov [L00767368],ax L0047557F: lea eax,[edi-01h] mov edx,[ebp+0Ch] and eax,0000FFFFh lea ecx,[eax+eax*4] lea ecx,[ecx+ecx*4] lea esi,[eax+ecx*8] mov eax,[edx+0000009Ch] shl esi,03h mov [ebp-08h],esi mov di,[esi+eax] push edi call jmp_WSOCK32.dll!WSOCK32.9 xor ecx,ecx mov edx,00008000h mov cl,[ebx] test [L004CDCB4+ecx*8],dx jz L004755C2 mov cx,[ebx+01h] jmp L004755D0 L004755C2: mov cx,[L00767368] mov [ebp+08h],cx mov ecx,[ebp+08h] L004755D0: and ecx,0000FFFFh mov [ecx+ebx],ax lea eax,[ecx+02h] xor ecx,ecx mov cl,[ebx] test [L004CDCB4+ecx*8],dx jz L004755F1 mov [ebx+01h],ax jmp L004755F7 L004755F1: mov [L00767368],ax L004755F7: test di,di jbe L004756AE and edi,0000FFFFh mov dword ptr [ebp+08h],00000000h mov [ebp-04h],edi jmp L00475615 L00475612: mov esi,[ebp-08h] L00475615: mov eax,[ebp+0Ch] mov edx,[ebp+08h] add edx,esi mov ecx,[eax+0000009Ch] xor eax,eax lea esi,[edx+ecx+02h] or ecx,FFFFFFFFh mov edi,esi xor edx,edx repne scasb mov dl,[ebx] not ecx dec ecx mov eax,ecx inc eax test byte ptr [L004CDCB5+edx*8],80h jz L0047564D mov cx,[ebx+01h] mov [ebp+10h],ecx jmp L0047565B L0047564D: mov cx,[L00767368] mov [ebp+10h],cx mov ecx,[ebp+10h] L0047565B: and ecx,0000FFFFh mov edx,ecx mov ecx,eax mov [ebp-0Ch],edx lea edi,[edx+ebx] mov edx,ecx shr ecx,02h rep movsd mov ecx,edx xor edx,edx and ecx,00000003h rep movsb mov ecx,[ebp-0Ch] mov dl,[ebx] add eax,ecx test byte ptr [L004CDCB5+edx*8],80h jz L00475692 mov [ebx+01h],ax jmp L00475698 L00475692: mov [L00767368],ax L00475698: mov ecx,[ebp+08h] mov eax,[ebp-04h] add ecx,00000050h dec eax mov [ebp+08h],ecx mov [ebp-04h],eax jnz L00475612 L004756AE: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 16 SUB_L004756C0: push ebp mov ebp,esp push esi mov esi,[ebp+08h] push edi mov edi,00008000h mov byte ptr [esi],6Fh mov eax,[L004CE02C] test edi,eax jz L004756E1 mov word ptr [esi+01h],0003h jmp L004756EA L004756E1: mov word ptr [L00767368],0001h L004756EA: xor eax,eax mov al,[esi] test [L004CDCB4+eax*8],di jz L004756FE mov ax,[esi+01h] jmp L0047570C L004756FE: mov cx,[L00767368] mov [ebp+08h],cx mov eax,[ebp+08h] L0047570C: mov dl,[ebp+0Ch] and eax,0000FFFFh xor ecx,ecx mov [eax+esi],dl mov cl,[esi] inc eax test [L004CDCB4+ecx*8],di jz L0047572C mov [esi+01h],ax jmp L00475732 L0047572C: mov [L00767368],ax L00475732: mov edx,[ebp+10h] push edx call jmp_WSOCK32.dll!WSOCK32.8 xor ecx,ecx mov cl,[esi] test [L004CDCB4+ecx*8],di jz L0047574F mov cx,[esi+01h] jmp L0047575D L0047574F: mov dx,[L00767368] mov [ebp+0Ch],dx mov ecx,[ebp+0Ch] L0047575D: and ecx,0000FFFFh mov [ecx+esi],eax lea eax,[ecx+04h] xor ecx,ecx mov cl,[esi] test [L004CDCB4+ecx*8],di jz L0047577D mov [esi+01h],ax jmp L00475783 L0047577D: mov [L00767368],ax L00475783: mov edx,[ebp+14h] push edx call jmp_WSOCK32.dll!WSOCK32.8 xor ecx,ecx mov cl,[esi] test [L004CDCB4+ecx*8],di jz L004757A0 mov cx,[esi+01h] jmp L004757AE L004757A0: mov dx,[L00767368] mov [ebp+0Ch],dx mov ecx,[ebp+0Ch] L004757AE: and ecx,0000FFFFh mov [ecx+esi],eax lea eax,[ecx+04h] xor ecx,ecx mov cl,[esi] test [L004CDCB4+ecx*8],di jz L004757CE mov [esi+01h],ax jmp L004757D4 L004757CE: mov [L00767368],ax L004757D4: mov edx,[ebp+18h] push edx call jmp_WSOCK32.dll!WSOCK32.8 xor ecx,ecx mov cl,[esi] test [L004CDCB4+ecx*8],di jz L004757F1 mov cx,[esi+01h] jmp L004757FF L004757F1: mov dx,[L00767368] mov [ebp+0Ch],dx mov ecx,[ebp+0Ch] L004757FF: and ecx,0000FFFFh mov [ecx+esi],eax lea eax,[ecx+04h] xor ecx,ecx mov cl,[esi] test [L004CDCB4+ecx*8],di jz L0047581F mov [esi+01h],ax jmp L00475825 L0047581F: mov [L00767368],ax L00475825: xor edx,edx mov dl,[esi] test [L004CDCB4+edx*8],di jz L00475839 mov ax,[esi+01h] jmp L00475846 L00475839: mov ax,[L00767368] mov [ebp+0Ch],ax mov eax,[ebp+0Ch] L00475846: and eax,0000FFFFh xor ecx,ecx mov byte ptr [eax+esi],00h mov cl,[esi] inc eax test [L004CDCB4+ecx*8],di jz L00475868 mov [esi+01h],ax pop edi pop esi pop ebp retn 0014h ;------------------------------------------------------------------------------ L00475868: pop edi mov [L00767368],ax pop esi pop ebp retn 0014h ;------------------------------------------------------------------------------ Align 16 SUB_L00475880: push ebp mov ebp,esp push esi mov esi,[ebp+08h] push edi mov edi,00008000h mov byte ptr [esi],71h mov eax,[L004CE03C] test edi,eax jz L004758A1 mov word ptr [esi+01h],0003h jmp L004758AA L004758A1: mov word ptr [L00767368],0001h L004758AA: xor eax,eax mov al,[esi] test [L004CDCB4+eax*8],di jz L004758BE mov ax,[esi+01h] jmp L004758CC L004758BE: mov cx,[L00767368] mov [ebp+08h],cx mov eax,[ebp+08h] L004758CC: mov dl,[ebp+0Ch] and eax,0000FFFFh xor ecx,ecx mov [eax+esi],dl mov cl,[esi] inc eax test [L004CDCB4+ecx*8],di jz L004758EC mov [esi+01h],ax jmp L004758F2 L004758EC: mov [L00767368],ax L004758F2: mov edx,[ebp+10h] push edx call jmp_WSOCK32.dll!WSOCK32.8 xor ecx,ecx mov cl,[esi] test [L004CDCB4+ecx*8],di jz L0047590F mov cx,[esi+01h] jmp L0047591D L0047590F: mov dx,[L00767368] mov [ebp+0Ch],dx mov ecx,[ebp+0Ch] L0047591D: and ecx,0000FFFFh mov [ecx+esi],eax lea eax,[ecx+04h] xor ecx,ecx mov cl,[esi] test [L004CDCB4+ecx*8],di jz L0047593D mov [esi+01h],ax jmp L00475943 L0047593D: mov [L00767368],ax L00475943: mov edx,[ebp+14h] push edx call jmp_WSOCK32.dll!WSOCK32.8 xor ecx,ecx mov cl,[esi] test [L004CDCB4+ecx*8],di jz L00475960 mov cx,[esi+01h] jmp L0047596E L00475960: mov dx,[L00767368] mov [ebp+0Ch],dx mov ecx,[ebp+0Ch] L0047596E: and ecx,0000FFFFh mov [ecx+esi],eax lea eax,[ecx+04h] xor ecx,ecx mov cl,[esi] test [L004CDCB4+ecx*8],di jz L00475992 mov [esi+01h],ax pop edi pop esi pop ebp retn 0010h ;------------------------------------------------------------------------------ L00475992: pop edi mov [L00767368],ax pop esi pop ebp retn 0010h ;------------------------------------------------------------------------------ Align 4 SUB_L004759A0: push ebp mov ebp,esp mov eax,[ebp+08h] push esi mov esi,00008000h mov byte ptr [eax],72h mov ecx,[L004CE044] test esi,ecx jz L004759C1 mov word ptr [eax+01h],0003h jmp L004759CA L004759C1: mov word ptr [L00767368],0001h L004759CA: xor ecx,ecx mov cl,[eax] test [L004CDCB4+ecx*8],si jz L004759DE mov cx,[eax+01h] jmp L004759EC L004759DE: mov dx,[L00767368] mov [ebp+08h],dx mov ecx,[ebp+08h] L004759EC: mov dl,[ebp+0Ch] and ecx,0000FFFFh mov [ecx+eax],dl xor edx,edx mov dl,[eax] inc ecx test [L004CDCB4+edx*8],si jz L00475A0D mov [eax+01h],cx jmp L00475A14 L00475A0D: mov [L00767368],cx L00475A14: xor ecx,ecx mov cl,[eax] test [L004CDCB4+ecx*8],si jz L00475A28 mov cx,[eax+01h] jmp L00475A36 L00475A28: mov dx,[L00767368] mov [ebp+0Ch],dx mov ecx,[ebp+0Ch] L00475A36: mov dl,[ebp+10h] and ecx,0000FFFFh mov [ecx+eax],dl xor edx,edx mov dl,[eax] inc ecx test [L004CDCB4+edx*8],si jz L00475A57 mov [eax+01h],cx jmp L00475A5E L00475A57: mov [L00767368],cx L00475A5E: xor ecx,ecx mov cl,[eax] test [L004CDCB4+ecx*8],si jz L00475A72 mov cx,[eax+01h] jmp L00475A80 L00475A72: mov dx,[L00767368] mov [ebp+0Ch],dx mov ecx,[ebp+0Ch] L00475A80: mov dl,[ebp+14h] and ecx,0000FFFFh mov [ecx+eax],dl xor edx,edx mov dl,[eax] inc ecx test [L004CDCB4+edx*8],si jz L00475AA1 mov [eax+01h],cx jmp L00475AA8 L00475AA1: mov [L00767368],cx L00475AA8: xor ecx,ecx mov cl,[eax] test [L004CDCB4+ecx*8],si jz L00475ABC mov cx,[eax+01h] jmp L00475ACA L00475ABC: mov dx,[L00767368] mov [ebp+0Ch],dx mov ecx,[ebp+0Ch] L00475ACA: mov dl,[ebp+18h] and ecx,0000FFFFh mov [ecx+eax],dl xor edx,edx mov dl,[eax] inc ecx test [L004CDCB4+edx*8],si jz L00475AEE mov [eax+01h],cx pop esi pop ebp retn 0014h ;------------------------------------------------------------------------------ L00475AEE: mov [L00767368],cx pop esi pop ebp retn 0014h ;------------------------------------------------------------------------------ Align 8 SUB_L00475B00: push ebp mov ebp,esp sub esp,0000000Ch push ebx mov ebx,[ebp+08h] push esi push edi mov byte ptr [ebx],71h mov eax,[L004CE03C] mov edi,00008000h test edi,eax jz L00475B25 mov word ptr [ebx+01h],0003h jmp L00475B2E L00475B25: mov word ptr [L00767368],0001h L00475B2E: xor eax,eax mov al,[ebx] test [L004CDCB4+eax*8],di jz L00475B42 mov ax,[ebx+01h] jmp L00475B50 L00475B42: mov cx,[L00767368] mov [ebp+08h],cx mov eax,[ebp+08h] L00475B50: mov dl,[ebp+0Ch] and eax,0000FFFFh xor ecx,ecx mov [eax+ebx],dl mov cl,[ebx] inc eax test [L004CDCB4+ecx*8],di jz L00475B70 mov [ebx+01h],ax jmp L00475B76 L00475B70: mov [L00767368],ax L00475B76: mov esi,[ebp+10h] mov eax,[esi+34h] test eax,eax jz L00475BAD mov eax,[eax+78h] push eax call jmp_WSOCK32.dll!WSOCK32.8 xor edx,edx mov dl,[ebx] test [L004CDCB4+edx*8],di jz L00475B9D mov cx,[ebx+01h] jmp L00475BD6 L00475B9D: mov cx,[L00767368] mov [ebp+0Ch],cx mov ecx,[ebp+0Ch] jmp L00475BD6 L00475BAD: push 00000000h call jmp_WSOCK32.dll!WSOCK32.8 xor edx,edx mov dl,[ebx] test [L004CDCB4+edx*8],di jz L00475BC8 mov cx,[ebx+01h] jmp L00475BD6 L00475BC8: mov cx,[L00767368] mov [ebp+0Ch],cx mov ecx,[ebp+0Ch] L00475BD6: and ecx,0000FFFFh mov [ecx+ebx],eax lea edx,[ecx+04h] mov ecx,ebx call SUB_L00469200 mov edx,[esi+000000BCh] push edx call jmp_WSOCK32.dll!WSOCK32.8 xor ecx,ecx mov cl,[ebx] test [L004CDCB4+ecx*8],di jz L00475C09 mov cx,[ebx+01h] jmp L00475C17 L00475C09: mov dx,[L00767368] mov [ebp+0Ch],dx mov ecx,[ebp+0Ch] L00475C17: and ecx,0000FFFFh mov [ecx+ebx],eax lea edx,[ecx+04h] mov ecx,ebx call SUB_L00469200 mov edi,[esi+00000094h] or ecx,FFFFFFFFh add edi,000000ECh xor eax,eax repne scasb mov al,[ebx] not ecx dec ecx inc cl test byte ptr [L004CDCB5+eax*8],80h mov [ebp+0Ch],cl jz L00475C57 mov ax,[ebx+01h] jmp L00475C65 L00475C57: mov dx,[L00767368] mov [ebp+08h],dx mov eax,[ebp+08h] L00475C65: and eax,0000FFFFh mov [eax+ebx],cl lea edx,[eax+01h] mov ecx,ebx call SUB_L00469200 mov eax,[ebp+0Ch] mov edi,[esi+00000094h] xor ecx,ecx and eax,000000FFh mov cl,[ebx] add edi,000000ECh test byte ptr [L004CDCB5+ecx*8],80h jz L00475C9F mov cx,[ebx+01h] jmp L00475CAD L00475C9F: mov dx,[L00767368] mov [ebp+08h],dx mov ecx,[ebp+08h] L00475CAD: and ecx,0000FFFFh mov esi,edi mov edx,ecx mov ecx,eax mov [ebp+08h],edx lea edi,[edx+ebx] mov edx,ecx shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb mov ecx,[ebp+08h] lea edx,[eax+ecx] mov ecx,ebx call SUB_L00469200 mov esi,[ebp+10h] xor edx,edx mov dl,[ebx] mov cl,[esi+00000158h] test byte ptr [L004CDCB5+edx*8],80h jz L00475CF7 mov ax,[ebx+01h] jmp L00475D04 L00475CF7: mov ax,[L00767368] mov [ebp+08h],ax mov eax,[ebp+08h] L00475D04: and eax,0000FFFFh mov [eax+ebx],cl lea edx,[eax+01h] mov ecx,ebx call SUB_L00469200 mov eax,[esi+00000158h] mov dword ptr [ebp-08h],00000000h test eax,eax jle L00475DD8 add esi,00000174h mov [ebp+08h],esi jmp L00475D39 L00475D36: mov esi,[ebp+08h] L00475D39: mov edi,[esi] or ecx,FFFFFFFFh xor eax,eax xor edx,edx repne scasb mov dl,[ebx] not ecx dec ecx inc cl test byte ptr [L004CDCB5+edx*8],80h mov [ebp+0Ch],cl jz L00475D61 mov ax,[ebx+01h] mov [ebp-04h],eax jmp L00475D6E L00475D61: mov ax,[L00767368] mov [ebp-04h],ax mov eax,[ebp-04h] L00475D6E: and eax,0000FFFFh mov [eax+ebx],cl lea edx,[eax+01h] mov ecx,ebx call SUB_L00469200 mov edi,[ebp+0Ch] mov esi,[esi] and edi,000000FFh mov ecx,ebx mov [ebp-0Ch],edi call SUB_L0046E350 mov ecx,edi and eax,0000FFFFh mov edx,ecx lea edi,[eax+ebx] shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb mov ecx,edx lea edx,[ecx+eax] mov ecx,ebx call SUB_L00469200 mov edx,[ebp+08h] mov eax,[ebp-08h] add edx,00000004h inc eax mov [ebp+08h],edx mov edx,[ebp+10h] mov [ebp-08h],eax cmp eax,[edx+00000158h] jl L00475D36 L00475DD8: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 16 SUB_L00475DF0: push ebp mov ebp,esp mov eax,[ebp+08h] mov byte ptr [eax],73h mov ecx,[L004CE04C] test ch,80h jz L00475E0C mov word ptr [eax+01h],0003h jmp L00475E15 L00475E0C: mov word ptr [L00767368],0001h L00475E15: xor ecx,ecx mov cl,[eax] test byte ptr [L004CDCB5+ecx*8],80h jz L00475E29 mov cx,[eax+01h] jmp L00475E37 L00475E29: mov dx,[L00767368] mov [ebp+08h],dx mov ecx,[ebp+08h] L00475E37: mov dl,[ebp+0Ch] and ecx,0000FFFFh mov [ecx+eax],dl xor edx,edx mov dl,[eax] inc ecx test byte ptr [L004CDCB5+edx*8],80h jz L00475E5A mov [eax+01h],cx pop ebp retn 0008h ;------------------------------------------------------------------------------ L00475E5A: mov [L00767368],cx pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L00475E70: push ebp mov ebp,esp push ebx mov ebx,[ebp+08h] push esi mov esi,00008000h mov byte ptr [ebx],75h mov eax,[L004CE05C] test esi,eax push edi jz L00475E92 mov word ptr [ebx+01h],0003h jmp L00475E9B L00475E92: mov word ptr [L00767368],0001h L00475E9B: mov eax,[ebp+0Ch] push eax call jmp_WSOCK32.dll!WSOCK32.8 xor ecx,ecx mov cl,[ebx] test [L004CDCB4+ecx*8],si jz L00475EB8 mov cx,[ebx+01h] jmp L00475EC6 L00475EB8: mov dx,[L00767368] mov [ebp+08h],dx mov ecx,[ebp+08h] L00475EC6: and ecx,0000FFFFh mov [ecx+ebx],eax lea eax,[ecx+04h] xor ecx,ecx mov cl,[ebx] test [L004CDCB4+ecx*8],si jz L00475EE6 mov [ebx+01h],ax jmp L00475EEC L00475EE6: mov [L00767368],ax L00475EEC: xor edx,edx mov dl,[ebx] test [L004CDCB4+edx*8],si jz L00475F00 mov ax,[ebx+01h] jmp L00475F0D L00475F00: mov ax,[L00767368] mov [ebp+08h],ax mov eax,[ebp+08h] L00475F0D: mov esi,[ebp+10h] and eax,0000FFFFh mov ecx,00000007h lea edi,[eax+ebx] add eax,0000001Eh rep movsd xor ecx,ecx movsw mov cl,[ebx] test byte ptr [L004CDCB5+ecx*8],80h jz L00475F3D mov [ebx+01h],ax pop edi pop esi pop ebx pop ebp retn 000Ch ;------------------------------------------------------------------------------ L00475F3D: pop edi pop esi mov [L00767368],ax pop ebx pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 8 SUB_L00475F50: push ebp mov ebp,esp push esi mov esi,[ebp+08h] push edi mov edi,00008000h mov byte ptr [esi],7Dh mov eax,[L004CE09C] test edi,eax jz L00475F71 mov word ptr [esi+01h],0003h jmp L00475F7A L00475F71: mov word ptr [L00767368],0001h L00475F7A: mov eax,[ebp+0Ch] push eax call jmp_WSOCK32.dll!WSOCK32.8 xor ecx,ecx mov cl,[esi] test [L004CDCB4+ecx*8],di jz L00475F97 mov cx,[esi+01h] jmp L00475FA5 L00475F97: mov dx,[L00767368] mov [ebp+08h],dx mov ecx,[ebp+08h] L00475FA5: and ecx,0000FFFFh mov [ecx+esi],eax lea eax,[ecx+04h] xor ecx,ecx mov cl,[esi] test [L004CDCB4+ecx*8],di jz L00475FC5 mov [esi+01h],ax jmp L00475FCB L00475FC5: mov [L00767368],ax L00475FCB: mov edx,[ebp+10h] push edx call jmp_WSOCK32.dll!WSOCK32.9 xor ecx,ecx mov cl,[esi] test [L004CDCB4+ecx*8],di jz L00475FE8 mov cx,[esi+01h] jmp L00475FF6 L00475FE8: mov dx,[L00767368] mov [ebp+08h],dx mov ecx,[ebp+08h] L00475FF6: and ecx,0000FFFFh mov [ecx+esi],ax lea eax,[ecx+02h] xor ecx,ecx mov cl,[esi] test [L004CDCB4+ecx*8],di jz L00476017 mov [esi+01h],ax jmp L0047601D L00476017: mov [L00767368],ax L0047601D: mov edx,[ebp+14h] push edx call jmp_WSOCK32.dll!WSOCK32.9 xor ecx,ecx mov cl,[esi] test [L004CDCB4+ecx*8],di jz L0047603A mov cx,[esi+01h] jmp L00476048 L0047603A: mov dx,[L00767368] mov [ebp+08h],dx mov ecx,[ebp+08h] L00476048: and ecx,0000FFFFh mov [ecx+esi],ax lea eax,[ecx+02h] xor ecx,ecx mov cl,[esi] test [L004CDCB4+ecx*8],di jz L00476069 mov [esi+01h],ax jmp L0047606F L00476069: mov [L00767368],ax L0047606F: mov edx,[ebp+18h] push edx call jmp_WSOCK32.dll!WSOCK32.9 xor ecx,ecx mov cl,[esi] test [L004CDCB4+ecx*8],di jz L0047608C mov cx,[esi+01h] jmp L0047609A L0047608C: mov dx,[L00767368] mov [ebp+08h],dx mov ecx,[ebp+08h] L0047609A: and ecx,0000FFFFh mov [ecx+esi],ax lea eax,[ecx+02h] xor ecx,ecx mov cl,[esi] test [L004CDCB4+ecx*8],di jz L004760BB mov [esi+01h],ax jmp L004760C1 L004760BB: mov [L00767368],ax L004760C1: mov edx,[ebp+1Ch] push edx call jmp_WSOCK32.dll!WSOCK32.9 xor ecx,ecx mov cl,[esi] test [L004CDCB4+ecx*8],di jz L004760DE mov cx,[esi+01h] jmp L004760EC L004760DE: mov dx,[L00767368] mov [ebp+08h],dx mov ecx,[ebp+08h] L004760EC: and ecx,0000FFFFh mov [ecx+esi],ax lea eax,[ecx+02h] xor ecx,ecx mov cl,[esi] test [L004CDCB4+ecx*8],di jz L00476111 mov [esi+01h],ax pop edi pop esi pop ebp retn 0018h ;------------------------------------------------------------------------------ L00476111: pop edi mov [L00767368],ax pop esi pop ebp retn 0018h ;------------------------------------------------------------------------------ Align 4 SUB_L00476120: push ebp mov ebp,esp push esi mov esi,[ebp+08h] push edi mov edi,00008000h mov byte ptr [esi],95h mov eax,[L004CE15C] test edi,eax jz L00476141 mov word ptr [esi+01h],0003h jmp L0047614A L00476141: mov word ptr [L00767368],0001h L0047614A: mov eax,[ebp+0Ch] push eax call jmp_WSOCK32.dll!WSOCK32.8 xor ecx,ecx mov cl,[esi] test [L004CDCB4+ecx*8],di jz L00476167 mov cx,[esi+01h] jmp L00476175 L00476167: mov dx,[L00767368] mov [ebp+08h],dx mov ecx,[ebp+08h] L00476175: and ecx,0000FFFFh mov [ecx+esi],eax lea eax,[ecx+04h] xor ecx,ecx mov cl,[esi] test [L004CDCB4+ecx*8],di jz L00476195 mov [esi+01h],ax jmp L0047619B L00476195: mov [L00767368],ax L0047619B: mov edx,[ebp+10h] push edx call jmp_WSOCK32.dll!WSOCK32.9 xor ecx,ecx mov cl,[esi] test [L004CDCB4+ecx*8],di jz L004761B8 mov cx,[esi+01h] jmp L004761C6 L004761B8: mov dx,[L00767368] mov [ebp+08h],dx mov ecx,[ebp+08h] L004761C6: and ecx,0000FFFFh mov [ecx+esi],ax lea eax,[ecx+02h] xor ecx,ecx mov cl,[esi] test [L004CDCB4+ecx*8],di jz L004761E7 mov [esi+01h],ax jmp L004761ED L004761E7: mov [L00767368],ax L004761ED: mov edx,[ebp+14h] push edx call jmp_WSOCK32.dll!WSOCK32.9 xor ecx,ecx mov cl,[esi] test [L004CDCB4+ecx*8],di jz L0047620A mov cx,[esi+01h] jmp L00476218 L0047620A: mov dx,[L00767368] mov [ebp+08h],dx mov ecx,[ebp+08h] L00476218: and ecx,0000FFFFh mov [ecx+esi],ax lea eax,[ecx+02h] xor ecx,ecx mov cl,[esi] test [L004CDCB4+ecx*8],di jz L0047623D mov [esi+01h],ax pop edi pop esi pop ebp retn 0010h ;------------------------------------------------------------------------------ L0047623D: pop edi mov [L00767368],ax pop esi pop ebp retn 0010h ;------------------------------------------------------------------------------ Align 8 SUB_L00476250: push ebp mov ebp,esp mov eax,[ebp+08h] push ebx mov ebx,00008000h push esi mov byte ptr [eax],80h mov ecx,[L004CE0B4] test ebx,ecx push edi jz L00476273 mov word ptr [eax+01h],0003h jmp L0047627C L00476273: mov word ptr [L00767368],0001h L0047627C: xor ecx,ecx mov cl,[eax] test [L004CDCB4+ecx*8],bx jz L00476290 mov cx,[eax+01h] jmp L0047629E L00476290: mov dx,[L00767368] mov [ebp+08h],dx mov ecx,[ebp+08h] L0047629E: mov esi,[ebp+0Ch] and ecx,0000FFFFh mov edx,ecx mov ecx,00000007h lea edi,[edx+eax] rep movsd lea ecx,[edx+1Eh] xor edx,edx movsw mov dl,[eax] test [L004CDCB4+edx*8],bx jz L004762CC mov [eax+01h],cx jmp L004762D3 L004762CC: mov [L00767368],cx L004762D3: xor ecx,ecx mov cl,[eax] test [L004CDCB4+ecx*8],bx jz L004762E7 mov cx,[eax+01h] jmp L004762F5 L004762E7: mov dx,[L00767368] mov [ebp+08h],dx mov ecx,[ebp+08h] L004762F5: mov esi,[ebp+10h] and ecx,0000FFFFh mov edx,ecx mov ecx,00000007h lea edi,[edx+eax] rep movsd lea ecx,[edx+1Eh] xor edx,edx movsw mov dl,[eax] test [L004CDCB4+edx*8],bx jz L00476323 mov [eax+01h],cx jmp L0047632A L00476323: mov [L00767368],cx L0047632A: xor ecx,ecx mov cl,[eax] test [L004CDCB4+ecx*8],bx jz L0047633E mov cx,[eax+01h] jmp L0047634C L0047633E: mov dx,[L00767368] mov [ebp+08h],dx mov ecx,[ebp+08h] L0047634C: mov dl,[ebp+14h] and ecx,0000FFFFh mov [ecx+eax],dl xor edx,edx mov dl,[eax] inc ecx test [L004CDCB4+edx*8],bx jz L00476372 mov [eax+01h],cx pop edi pop esi pop ebx pop ebp retn 0010h ;------------------------------------------------------------------------------ L00476372: pop edi pop esi mov [L00767368],cx pop ebx pop ebp retn 0010h ;------------------------------------------------------------------------------ SUB_L00476380: push ebp mov ebp,esp push ebx mov ebx,[ebp+08h] mov edx,00008000h push esi mov byte ptr [ebx],83h mov eax,[L004CE0CC] test edx,eax push edi jz L004763A2 mov word ptr [ebx+01h],0003h jmp L004763AB L004763A2: mov word ptr [L00767368],0001h L004763AB: xor eax,eax mov al,[ebx] test [L004CDCB4+eax*8],dx jz L004763BF mov ax,[ebx+01h] jmp L004763CD L004763BF: mov cx,[L00767368] mov [ebp+08h],cx mov eax,[ebp+08h] L004763CD: mov esi,[ebp+10h] and eax,0000FFFFh mov ecx,00000007h lea edi,[eax+ebx] add eax,0000001Eh rep movsd xor ecx,ecx movsw mov cl,[ebx] test [L004CDCB4+ecx*8],dx jz L004763F8 mov [ebx+01h],ax jmp L004763FE L004763F8: mov [L00767368],ax L004763FE: mov edx,[ebp+0Ch] push edx call jmp_WSOCK32.dll!WSOCK32.8 xor ecx,ecx mov esi,00008000h mov cl,[ebx] test [L004CDCB4+ecx*8],si jz L00476420 mov cx,[ebx+01h] jmp L0047642E L00476420: mov dx,[L00767368] mov [ebp+08h],dx mov ecx,[ebp+08h] L0047642E: and ecx,0000FFFFh mov [ecx+ebx],eax lea eax,[ecx+04h] xor ecx,ecx mov cl,[ebx] test [L004CDCB4+ecx*8],si jz L0047644E mov [ebx+01h],ax jmp L00476454 L0047644E: mov [L00767368],ax L00476454: mov edx,[L006BB1CC] mov eax,[edx+00020028h] push eax call jmp_WSOCK32.dll!WSOCK32.8 xor ecx,ecx mov cl,[ebx] test [L004CDCB4+ecx*8],si jz L0047647A mov cx,[ebx+01h] jmp L00476488 L0047647A: mov dx,[L00767368] mov [ebp+08h],dx mov ecx,[ebp+08h] L00476488: and ecx,0000FFFFh mov [ecx+ebx],eax lea eax,[ecx+04h] xor ecx,ecx mov cl,[ebx] test [L004CDCB4+ecx*8],si jz L004764AD mov [ebx+01h],ax pop edi pop esi pop ebx pop ebp retn 000Ch ;------------------------------------------------------------------------------ L004764AD: pop edi pop esi mov [L00767368],ax pop ebx pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 8 SUB_L004764C0: push ebp mov ebp,esp push ebx mov ebx,[ebp+08h] mov edx,00008000h push esi mov byte ptr [ebx],84h mov eax,[L004CE0D4] test edx,eax push edi jz L004764E2 mov word ptr [ebx+01h],0003h jmp L004764EB L004764E2: mov word ptr [L00767368],0001h L004764EB: xor eax,eax mov al,[ebx] test [L004CDCB4+eax*8],dx jz L004764FF mov ax,[ebx+01h] jmp L0047650D L004764FF: mov cx,[L00767368] mov [ebp+08h],cx mov eax,[ebp+08h] L0047650D: mov esi,[ebp+10h] and eax,0000FFFFh mov ecx,00000007h lea edi,[eax+ebx] add eax,0000001Eh rep movsd xor ecx,ecx movsw mov cl,[ebx] test [L004CDCB4+ecx*8],dx jz L00476538 mov [ebx+01h],ax jmp L0047653E L00476538: mov [L00767368],ax L0047653E: xor eax,eax mov al,[ebx] test [L004CDCB4+eax*8],dx jz L00476552 mov ax,[ebx+01h] jmp L00476560 L00476552: mov cx,[L00767368] mov [ebp+08h],cx mov eax,[ebp+08h] L00476560: mov esi,[ebp+14h] and eax,0000FFFFh mov ecx,00000007h lea edi,[eax+ebx] add eax,0000001Eh rep movsd xor ecx,ecx movsw mov cl,[ebx] test [L004CDCB4+ecx*8],dx jz L0047658B mov [ebx+01h],ax jmp L00476591 L0047658B: mov [L00767368],ax L00476591: mov edx,[ebp+0Ch] push edx call jmp_WSOCK32.dll!WSOCK32.8 xor ecx,ecx mov esi,00008000h mov cl,[ebx] test [L004CDCB4+ecx*8],si jz L004765B3 mov cx,[ebx+01h] jmp L004765C1 L004765B3: mov dx,[L00767368] mov [ebp+08h],dx mov ecx,[ebp+08h] L004765C1: and ecx,0000FFFFh mov [ecx+ebx],eax lea eax,[ecx+04h] xor ecx,ecx mov cl,[ebx] test [L004CDCB4+ecx*8],si jz L004765E1 mov [ebx+01h],ax jmp L004765E7 L004765E1: mov [L00767368],ax L004765E7: mov edx,[L006BB1CC] mov eax,[edx+00020028h] push eax call jmp_WSOCK32.dll!WSOCK32.8 xor ecx,ecx mov cl,[ebx] test [L004CDCB4+ecx*8],si jz L0047660D mov cx,[ebx+01h] jmp L0047661B L0047660D: mov dx,[L00767368] mov [ebp+08h],dx mov ecx,[ebp+08h] L0047661B: and ecx,0000FFFFh mov [ecx+ebx],eax lea eax,[ecx+04h] xor ecx,ecx mov cl,[ebx] test [L004CDCB4+ecx*8],si jz L00476640 mov [ebx+01h],ax pop edi pop esi pop ebx pop ebp retn 0010h ;------------------------------------------------------------------------------ L00476640: pop edi pop esi mov [L00767368],ax pop ebx pop ebp retn 0010h ;------------------------------------------------------------------------------ Align 4 SUB_L00476650: push ebp mov ebp,esp push esi mov esi,[ebp+08h] mov byte ptr [esi],98h mov eax,[L004CE174] test ah,80h jz L0047666C mov word ptr [esi+01h],0003h jmp L00476675 L0047666C: mov word ptr [L00767368],0001h L00476675: mov eax,[ebp+0Ch] push eax call jmp_WSOCK32.dll!WSOCK32.8 xor ecx,ecx mov cl,[esi] test byte ptr [L004CDCB5+ecx*8],80h jz L00476692 mov cx,[esi+01h] jmp L004766A0 L00476692: mov dx,[L00767368] mov [ebp+08h],dx mov ecx,[ebp+08h] L004766A0: and ecx,0000FFFFh mov [ecx+esi],eax lea eax,[ecx+04h] xor ecx,ecx mov cl,[esi] test byte ptr [L004CDCB5+ecx*8],80h jz L004766C3 mov [esi+01h],ax pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ L004766C3: mov [L00767368],ax pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 4 SUB_L004766D0: push ebp mov ebp,esp push ebx mov ebx,[ebp+08h] push esi mov esi,00008000h mov byte ptr [ebx],9Ah mov eax,[L004CE184] test esi,eax push edi jz L004766F2 mov word ptr [ebx+01h],0003h jmp L004766FB L004766F2: mov word ptr [L00767368],0001h L004766FB: mov eax,[ebp+0Ch] push eax call jmp_WSOCK32.dll!WSOCK32.8 xor ecx,ecx mov cl,[ebx] test [L004CDCB4+ecx*8],si jz L00476718 mov cx,[ebx+01h] jmp L00476726 L00476718: mov dx,[L00767368] mov [ebp+08h],dx mov ecx,[ebp+08h] L00476726: and ecx,0000FFFFh mov [ecx+ebx],eax xor eax,eax mov al,[ebx] add ecx,00000004h test [L004CDCB4+eax*8],si jz L00476746 mov [ebx+01h],cx jmp L0047674D L00476746: mov [L00767368],cx L0047674D: mov ecx,[ebp+10h] push ecx call jmp_WSOCK32.dll!WSOCK32.8 xor edx,edx mov dl,[ebx] test [L004CDCB4+edx*8],si jz L0047676A mov cx,[ebx+01h] jmp L00476778 L0047676A: mov cx,[L00767368] mov [ebp+08h],cx mov ecx,[ebp+08h] L00476778: and ecx,0000FFFFh xor edx,edx mov [ecx+ebx],eax mov dl,[ebx] add ecx,00000004h test [L004CDCB4+edx*8],si jz L00476798 mov [ebx+01h],cx jmp L0047679F L00476798: mov [L00767368],cx L0047679F: mov eax,[ebp+14h] push eax call jmp_WSOCK32.dll!WSOCK32.8 xor ecx,ecx mov cl,[ebx] test [L004CDCB4+ecx*8],si jz L004767BC mov cx,[ebx+01h] jmp L004767CA L004767BC: mov dx,[L00767368] mov [ebp+08h],dx mov ecx,[ebp+08h] L004767CA: and ecx,0000FFFFh mov [ecx+ebx],eax lea eax,[ecx+04h] xor ecx,ecx mov cl,[ebx] test [L004CDCB4+ecx*8],si jz L004767EA mov [ebx+01h],ax jmp L004767F0 L004767EA: mov [L00767368],ax L004767F0: mov esi,[ebp+18h] or ecx,FFFFFFFFh mov edi,esi xor eax,eax repne scasb mov al,[ebx] not ecx dec ecx mov edx,ecx inc edx test byte ptr [L004CDCB5+eax*8],80h jz L00476814 mov ax,[ebx+01h] jmp L00476822 L00476814: mov cx,[L00767368] mov [ebp+08h],cx mov eax,[ebp+08h] L00476822: and eax,0000FFFFh mov ecx,edx mov [ebp+08h],eax lea edi,[eax+ebx] mov eax,ecx shr ecx,02h rep movsd mov ecx,eax xor eax,eax and ecx,00000003h rep movsb mov ecx,[ebp+08h] mov al,[ebx] add edx,ecx test byte ptr [L004CDCB5+eax*8],80h jz L0047685B mov [ebx+01h],dx pop edi pop esi pop ebx pop ebp retn 0014h ;------------------------------------------------------------------------------ L0047685B: pop edi pop esi mov [L00767368],dx pop ebx pop ebp retn 0014h ;------------------------------------------------------------------------------ Align 8 SUB_L00476870: push ebp mov ebp,esp push esi mov esi,[ebp+08h] mov byte ptr [esi],A0h mov eax,[L004CE1B4] test ah,80h jz L0047688C mov word ptr [esi+01h],0003h jmp L00476895 L0047688C: mov word ptr [L00767368],0001h L00476895: mov eax,[ebp+0Ch] push eax call jmp_WSOCK32.dll!WSOCK32.9 xor ecx,ecx mov cl,[esi] test byte ptr [L004CDCB5+ecx*8],80h jz L004768B2 mov cx,[esi+01h] jmp L004768C0 L004768B2: mov dx,[L00767368] mov [ebp+08h],dx mov ecx,[ebp+08h] L004768C0: and ecx,0000FFFFh mov [ecx+esi],ax lea eax,[ecx+02h] xor ecx,ecx mov cl,[esi] test byte ptr [L004CDCB5+ecx*8],80h jz L004768E4 mov [esi+01h],ax pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ L004768E4: mov [L00767368],ax pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 4 SUB_L004768F0: push ebp mov ebp,esp mov ecx,[ebp+08h] xor eax,eax mov al,[ecx] mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov cl,[eax+ecx] call SUB_L004543F0 pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L00476920: push ebp mov ebp,esp sub esp,00000098h push ebx mov ebx,[ebp+08h] push esi mov esi,00008000h mov byte ptr [ebx],A4h mov eax,[L004CE1D4] test esi,eax push edi jz L00476948 mov word ptr [ebx+01h],0003h jmp L00476951 L00476948: mov word ptr [L00767368],0001h L00476951: lea ecx,[ebp-00000098h] call SUB_L00444ED0 xor eax,eax mov al,[ebx] test [L004CDCB4+eax*8],si jz L00476970 mov ax,[ebx+01h] jmp L0047697E L00476970: mov cx,[L00767368] mov [ebp+08h],cx mov eax,[ebp+08h] L0047697E: mov dl,[ebp-00000097h] and eax,0000FFFFh mov ecx,ebx mov [eax+ebx],dl lea edx,[eax+01h] call SUB_L00469200 mov eax,[ebp-00000096h] push eax call jmp_WSOCK32.dll!WSOCK32.9 xor ecx,ecx mov cl,[ebx] test [L004CDCB4+ecx*8],si jz L004769B6 mov cx,[ebx+01h] jmp L004769C4 L004769B6: mov dx,[L00767368] mov [ebp+08h],dx mov ecx,[ebp+08h] L004769C4: and ecx,0000FFFFh mov [ecx+ebx],ax lea edx,[ecx+02h] mov ecx,ebx call SUB_L00469200 xor eax,eax mov al,[ebx] test [L004CDCB4+eax*8],si jz L004769EC mov ax,[ebx+01h] jmp L004769FA L004769EC: mov cx,[L00767368] mov [ebp+08h],cx mov eax,[ebp+08h] L004769FA: mov dl,[ebp-00000094h] and eax,0000FFFFh mov ecx,ebx mov [eax+ebx],dl lea edx,[eax+01h] call SUB_L00469200 xor eax,eax mov al,[ebx] test [L004CDCB4+eax*8],si jz L00476A26 mov ax,[ebx+01h] jmp L00476A34 L00476A26: mov cx,[L00767368] mov [ebp+08h],cx mov eax,[ebp+08h] L00476A34: and eax,0000FFFFh mov ecx,00000008h lea esi,[ebp-00000093h] lea edi,[eax+ebx] lea edx,[eax+20h] rep movsd mov ecx,ebx call SUB_L00469200 xor edx,edx mov dl,[ebx] test byte ptr [L004CDCB5+edx*8],80h jz L00476A67 mov ax,[ebx+01h] jmp L00476A74 L00476A67: mov ax,[L00767368] mov [ebp+08h],ax mov eax,[ebp+08h] L00476A74: and eax,0000FFFFh mov ecx,00000008h lea esi,[ebp-73h] lea edi,[eax+ebx] lea edx,[eax+20h] rep movsd mov ecx,ebx call SUB_L00469200 xor ecx,ecx mov cl,[ebx] test byte ptr [L004CDCB5+ecx*8],80h jz L00476AA4 mov ax,[ebx+01h] jmp L00476AB2 L00476AA4: mov dx,[L00767368] mov [ebp+08h],dx mov eax,[ebp+08h] L00476AB2: and eax,0000FFFFh mov ecx,00000008h lea esi,[ebp-53h] lea edi,[eax+ebx] lea edx,[eax+20h] rep movsd mov ecx,ebx call SUB_L00469200 mov ecx,ebx call SUB_L0046E350 and eax,0000FFFFh mov ecx,00000008h lea esi,[ebp-33h] lea edi,[eax+ebx] lea edx,[eax+20h] rep movsd mov ecx,ebx call SUB_L00469200 mov eax,[ebp-12h] push eax call jmp_WSOCK32.dll!WSOCK32.9 mov ecx,ebx mov esi,eax call SUB_L0046E350 and eax,0000FFFFh mov ecx,ebx lea edx,[eax+02h] mov [eax+ebx],si call SUB_L00469200 mov ecx,[ebp-10h] push ecx call jmp_WSOCK32.dll!WSOCK32.9 mov ecx,ebx mov esi,eax call SUB_L0046E350 and eax,0000FFFFh mov ecx,ebx lea edx,[eax+02h] mov [eax+ebx],si call SUB_L00469200 mov edx,[ebp-0Ch] push edx call jmp_WSOCK32.dll!WSOCK32.8 mov ecx,ebx mov esi,eax call SUB_L0046E350 and eax,0000FFFFh mov ecx,ebx lea edx,[eax+04h] mov [eax+ebx],esi call SUB_L00469200 mov eax,[ebp-08h] push eax call jmp_WSOCK32.dll!WSOCK32.8 mov ecx,ebx mov esi,eax call SUB_L0046E350 and eax,0000FFFFh mov ecx,ebx lea edx,[eax+04h] mov [eax+ebx],esi call SUB_L00469200 mov edx,[ebp-04h] mov ecx,ebx call SUB_L004686B0 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00476BA0: push ebp mov ebp,esp push esi mov esi,[ebp+08h] push edi mov edi,00008000h mov byte ptr [esi],A7h mov eax,[L004CE1EC] test edi,eax jz L00476BC1 mov word ptr [esi+01h],0003h jmp L00476BCA L00476BC1: mov word ptr [L00767368],0001h L00476BCA: mov eax,[ebp+0Ch] push eax call jmp_WSOCK32.dll!WSOCK32.9 xor ecx,ecx mov cl,[esi] test [L004CDCB4+ecx*8],di jz L00476BE7 mov cx,[esi+01h] jmp L00476BF5 L00476BE7: mov dx,[L00767368] mov [ebp+08h],dx mov ecx,[ebp+08h] L00476BF5: and ecx,0000FFFFh mov [ecx+esi],ax lea eax,[ecx+02h] xor ecx,ecx mov cl,[esi] test [L004CDCB4+ecx*8],di jz L00476C16 mov [esi+01h],ax jmp L00476C1C L00476C16: mov [L00767368],ax L00476C1C: xor edx,edx mov dl,[esi] test [L004CDCB4+edx*8],di jz L00476C30 mov ax,[esi+01h] jmp L00476C3D L00476C30: mov ax,[L00767368] mov [ebp+08h],ax mov eax,[ebp+08h] L00476C3D: mov cl,[ebp+10h] and eax,0000FFFFh xor edx,edx mov [eax+esi],cl mov dl,[esi] inc eax test [L004CDCB4+edx*8],di jz L00476C61 mov [esi+01h],ax pop edi pop esi pop ebp retn 000Ch ;------------------------------------------------------------------------------ L00476C61: pop edi mov [L00767368],ax pop esi pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 4 SUB_L00476C70: push ebp mov ebp,esp push ebx mov ebx,[ebp+08h] push esi mov esi,00008000h mov byte ptr [ebx],ACh mov eax,[L004CE214] test esi,eax push edi jz L00476C92 mov word ptr [ebx+01h],0003h jmp L00476C9B L00476C92: mov word ptr [L00767368],0001h L00476C9B: mov eax,[ebp+0Ch] push eax call jmp_WSOCK32.dll!WSOCK32.8 xor ecx,ecx mov cl,[ebx] test [L004CDCB4+ecx*8],si jz L00476CB8 mov cx,[ebx+01h] jmp L00476CC6 L00476CB8: mov dx,[L00767368] mov [ebp+08h],dx mov ecx,[ebp+08h] L00476CC6: and ecx,0000FFFFh mov [ecx+ebx],eax xor eax,eax mov al,[ebx] add ecx,00000004h test [L004CDCB4+eax*8],si jz L00476CE6 mov [ebx+01h],cx jmp L00476CED L00476CE6: mov [L00767368],cx L00476CED: mov ecx,[ebp+10h] push ecx call jmp_WSOCK32.dll!WSOCK32.9 xor edx,edx mov dl,[ebx] test [L004CDCB4+edx*8],si jz L00476D0A mov cx,[ebx+01h] jmp L00476D18 L00476D0A: mov cx,[L00767368] mov [ebp+08h],cx mov ecx,[ebp+08h] L00476D18: and ecx,0000FFFFh xor edx,edx mov [ecx+ebx],ax mov dl,[ebx] lea eax,[ecx+02h] test [L004CDCB4+edx*8],si jz L00476D39 mov [ebx+01h],ax jmp L00476D3F L00476D39: mov [L00767368],ax L00476D3F: xor eax,eax mov al,[ebx] test [L004CDCB4+eax*8],si jz L00476D53 mov ax,[ebx+01h] jmp L00476D61 L00476D53: mov cx,[L00767368] mov [ebp+08h],cx mov eax,[ebp+08h] L00476D61: mov dl,[ebp+14h] and eax,0000FFFFh xor ecx,ecx mov [eax+ebx],dl mov cl,[ebx] inc eax test [L004CDCB4+ecx*8],si jz L00476D81 mov [ebx+01h],ax jmp L00476D87 L00476D81: mov [L00767368],ax L00476D87: mov esi,[ebp+18h] or ecx,FFFFFFFFh mov edi,esi xor eax,eax repne scasb not ecx push ecx call jmp_WSOCK32.dll!WSOCK32.9 xor edx,edx mov dl,[ebx] mov ecx,edx mov edx,00008000h test [L004CDCB4+ecx*8],dx jz L00476DB6 mov cx,[ebx+01h] jmp L00476DC4 L00476DB6: mov cx,[L00767368] mov [ebp+14h],cx mov ecx,[ebp+14h] L00476DC4: and ecx,0000FFFFh mov [ecx+ebx],ax lea eax,[ecx+02h] xor ecx,ecx mov cl,[ebx] test [L004CDCB4+ecx*8],dx jz L00476DE5 mov [ebx+01h],ax jmp L00476DEB L00476DE5: mov [L00767368],ax L00476DEB: mov edi,esi or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx mov eax,ecx xor ecx,ecx mov cl,[ebx] inc eax test [L004CDCB4+ecx*8],dx jz L00476E0E mov cx,[ebx+01h] jmp L00476E1C L00476E0E: mov dx,[L00767368] mov [ebp+14h],dx mov ecx,[ebp+14h] L00476E1C: and ecx,0000FFFFh mov edx,ecx mov ecx,eax mov [ebp+14h],edx lea edi,[edx+ebx] mov edx,ecx shr ecx,02h rep movsd mov ecx,edx xor edx,edx and ecx,00000003h rep movsb mov ecx,[ebp+14h] mov dl,[ebx] add eax,ecx test byte ptr [L004CDCB5+edx*8],80h jz L00476E58 mov [ebx+01h],ax pop edi pop esi pop ebx pop ebp retn 0014h ;------------------------------------------------------------------------------ L00476E58: pop edi pop esi mov [L00767368],ax pop ebx pop ebp retn 0014h ;------------------------------------------------------------------------------ Align 16 SUB_L00476E70: push ebp mov ebp,esp push ebx push esi mov esi,[ebp+08h] push edi mov edi,00008000h mov byte ptr [esi],B6h mov eax,[L004CE264] test edi,eax jz L00476E92 mov word ptr [esi+01h],0003h jmp L00476E9B L00476E92: mov word ptr [L00767368],0001h L00476E9B: mov eax,[ebp+0Ch] push eax call jmp_WSOCK32.dll!WSOCK32.8 xor ecx,ecx mov cl,[esi] test [L004CDCB4+ecx*8],di jz L00476EB8 mov cx,[esi+01h] jmp L00476EC6 L00476EB8: mov dx,[L00767368] mov [ebp+08h],dx mov ecx,[ebp+08h] L00476EC6: and ecx,0000FFFFh mov [ecx+esi],eax lea eax,[ecx+04h] xor ecx,ecx mov cl,[esi] test [L004CDCB4+ecx*8],di jz L00476EE6 mov [esi+01h],ax jmp L00476EEC L00476EE6: mov [L00767368],ax L00476EEC: xor edx,edx mov dl,[esi] test [L004CDCB4+edx*8],di jz L00476F00 mov ax,[esi+01h] jmp L00476F0D L00476F00: mov ax,[L00767368] mov [ebp+08h],ax mov eax,[ebp+08h] L00476F0D: mov cl,[ebp+10h] and eax,0000FFFFh xor edx,edx mov [eax+esi],cl mov dl,[esi] inc eax test [L004CDCB4+edx*8],di jz L00476F2D mov [esi+01h],ax jmp L00476F33 L00476F2D: mov [L00767368],ax L00476F33: call SUB_L0044B260 xor ecx,ecx mov cl,[esi] test [L004CDCB4+ecx*8],di jz L00476F4C mov cx,[esi+01h] jmp L00476F5A L00476F4C: mov dx,[L00767368] mov [ebp+10h],dx mov ecx,[ebp+10h] L00476F5A: mov bx,[eax] and ecx,0000FFFFh lea edx,[ecx+esi] mov [ecx+esi],bx mov al,[eax+02h] mov [edx+02h],al lea eax,[ecx+03h] xor ecx,ecx mov cl,[esi] test [L004CDCB4+ecx*8],di jz L00476F8C mov [esi+01h],ax pop edi pop esi pop ebx pop ebp retn 000Ch ;------------------------------------------------------------------------------ L00476F8C: pop edi pop esi mov [L00767368],ax pop ebx pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 8 SUB_L00476FA0: push ebp mov ebp,esp push FFFFFFFFh push L004B4A43 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,0000001Ch push ebx push esi mov esi,[ebp+08h] xor eax,eax push edi mov al,[esi] mov ax,[L004CDCB4+eax*8] and ax,8000h jz L00476FD9 mov cx,[esi+01h] jmp L00476FE7 L00476FD9: mov cx,[L00767368] mov [ebp+08h],cx mov ecx,[ebp+08h] L00476FE7: and ecx,0000FFFFh neg ax sbb eax,eax mov ebx,ecx and eax,00000002h inc eax and eax,0000FFFFh mov edx,[eax+esi] push edx call jmp_WSOCK32.dll!WSOCK32.14 mov [ebp-18h],eax xor eax,eax mov al,[esi] mov ecx,FFFFFFFCh mov edi,00000004h mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh sub ecx,eax add ebx,ecx mov eax,ebx cdq sub eax,edx mov ebx,eax sar ebx,1 mov [ebp-10h],ebx lea edx,[ebx+ebx+02h] push edx call SUB_L0049A820 add esp,00000004h mov [ebp-14h],eax test ebx,ebx jle L0047709B mov ebx,eax mov eax,[ebp-10h] mov [ebp+08h],eax L0047705B: xor ecx,ecx mov cl,[esi] mov ax,[L004CDCB4+ecx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,edi mov dx,[eax+esi] push edx call jmp_WSOCK32.dll!WSOCK32.15 mov [ebx],ax mov eax,[ebp+08h] add edi,00000002h add ebx,00000002h dec eax mov [ebp+08h],eax jnz L0047705B mov eax,[ebp-14h] mov ebx,[ebp-10h] L0047709B: push eax lea ecx,[ebp-28h] mov word ptr [eax+ebx*2],0000h call SUB_L00493D10 mov eax,[ebp-14h] mov dword ptr [ebp-04h],00000000h push eax call SUB_L0049A810 mov ecx,[ebp-18h] add esp,00000004h push ecx mov ecx,L006A9D38 call SUB_L004616C0 test eax,eax jz L0047718B call SUB_L004470A0 mov al,[L004C7224] test al,al jz L0047718B mov ecx,[L0066961C] test ecx,ecx jz L00477106 mov al,[L004C7234] test al,al jnz L0047718B test ecx,ecx jz L00477106 mov edx,[ecx] push 00000001h call [edx] L00477106: lea eax,[ebp+08h] lea ecx,[ebp-18h] push eax push ecx mov ecx,L006A9DC0 call SUB_L00450540 push 000000B8h call SUB_L0049A820 mov esi,eax add esp,00000004h mov [ebp-14h],esi test esi,esi mov byte ptr [ebp-04h],01h jz L00477155 lea ecx,[ebp-28h] call SUB_L00493EC0 mov edx,[ebp+08h] push eax mov eax,[ebp-18h] push 00000064h push 000000A0h push edx push eax mov ecx,esi call SUB_L004470F0 mov ecx,eax jmp L00477157 L00477155: xor ecx,ecx L00477157: mov al,[L00549070] mov byte ptr [ebp-04h],00h test al,al mov [L0066961C],ecx jnz L0047718B mov eax,[ecx+20h] push 00000001h cdq sub eax,edx push 00000000h sar eax,1 neg eax push 00000001h push eax mov eax,[ecx+1Ch] cdq sub eax,edx sar eax,1 neg eax push eax call SUB_L00440850 L0047718B: lea ecx,[ebp-28h] mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00493CF0 mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L004771B0: push ebp mov ebp,esp mov ecx,[ebp+08h] xor eax,eax mov al,[ecx] mov ax,[L004CDCB4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov cx,[eax+ecx] push ecx call jmp_WSOCK32.dll!WSOCK32.15 test al,01h jz L004771EE mov ecx,00000001h call SUB_L00493C50 pop ebp retn 0004h ;------------------------------------------------------------------------------ L004771EE: xor ecx,ecx call SUB_L00493C50 pop ebp retn 0004h ;------------------------------------------------------------------------------ db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' push esi mov esi,ecx push 00000008h push 00000001h mov dword ptr [esi+14h],00000000h mov dword ptr [esi],00000000h mov dword ptr [esi+04h],00000000h mov dword ptr [esi+08h],00000000h call SUB_L0049C380 add esp,00000008h mov [esi],eax test eax,eax jnz L00477240 push eax mov edx,SSZ004CDC48_Oops_ mov ecx,SSZ004CDC2C_Failed_to_calloc_memory_ call SUB_L0049A0A0 L00477240: mov eax,esi pop esi retn ;------------------------------------------------------------------------------ db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' push esi mov esi,ecx mov eax,[esi] test eax,eax jz L00477268 push eax call SUB_L0049C430 add esp,00000004h mov dword ptr [esi],00000000h L00477268: pop esi retn ;------------------------------------------------------------------------------ Align 8 SUB_L00477270: push esi push edi mov edi,ecx mov eax,[edi+04h] test eax,eax jz L0047728D L0047727B: mov esi,[eax+4Ch] push eax call SUB_L0049C430 add esp,00000004h mov eax,esi test esi,esi jnz L0047727B L0047728D: mov eax,[edi+08h] test eax,eax jz L004772A6 L00477294: mov esi,[eax+4Ch] push eax call SUB_L0049C430 add esp,00000004h mov eax,esi test esi,esi jnz L00477294 L004772A6: pop edi pop esi retn ;------------------------------------------------------------------------------ Align 8 SUB_L004772B0: push ebp mov ebp,esp push ecx push ebx push esi push edi mov esi,ecx xor ebx,ebx push 00000050h push 00000001h mov [esi+28h],ebx call SUB_L0049C380 add esp,00000008h cmp eax,ebx mov [esi+04h],eax jnz L004772E1 push ebx mov edx,SSZ004CDC48_Oops_ mov ecx,SSZ004CDC2C_Failed_to_calloc_memory_ call SUB_L0049A0A0 L004772E1: push 00000050h push 00000001h call SUB_L0049C380 add esp,00000008h cmp eax,ebx mov [esi+08h],eax jnz L00477304 push ebx mov edx,SSZ004CDC48_Oops_ mov ecx,SSZ004CDC2C_Failed_to_calloc_memory_ call SUB_L0049A0A0 L00477304: push 00000050h push 00000001h call SUB_L0049C380 mov edi,eax add esp,00000008h cmp edi,ebx jnz L00477326 push ebx mov edx,SSZ004CDC48_Oops_ mov ecx,SSZ004CDC2C_Failed_to_calloc_memory_ call SUB_L0049A0A0 L00477326: mov eax,[ebp+08h] mov ecx,[ebp+0Ch] mov edx,[ebp+18h] mov [edi+08h],ebx mov ebx,[ebp+14h] sub ecx,edx mov edx,[ebp+10h] sub eax,ebx mov ebx,[ebp+1Ch] sub edx,ebx mov ebx,eax imul ebx,eax mov eax,ecx imul eax,ecx mov ecx,edx add ebx,eax imul ecx,edx add ebx,ecx mov edx,[ebp+08h] mov [ebp-04h],ebx mov eax,[ebp+0Ch] fild dword ptr [ebp-04h] mov ecx,[ebp+10h] mov ebx,[ebp+24h] mov [edi+10h],edx mov [edi+14h],eax fsqrt mov [edi+18h],ecx fst dword ptr [edi+04h] fstp dword ptr [edi] mov edx,[esi+04h] mov [edx+4Ch],edi L0047737C: mov ecx,[esi+04h] mov eax,[ecx+4Ch] test eax,eax jnz L0047738A xor edi,edi jmp L004773A1 L0047738A: mov edx,[eax+4Ch] mov edi,eax mov [ecx+4Ch],edx mov ecx,[esi+08h] mov edx,[ecx+4Ch] mov [eax+4Ch],edx mov ecx,[esi+08h] mov [ecx+4Ch],eax L004773A1: test edi,edi jz L0047741C mov ecx,[esi+28h] mov edx,[ebp+20h] inc ecx mov eax,ecx mov [esi+28h],ecx cmp eax,edx jle L004773BE call SUB_L0048B870 test eax,eax jz L0047741C L004773BE: cmp dword ptr [esi+28h],00001388h jg L0047741C mov eax,[edi+10h] mov ecx,[ebp+14h] mov edx,eax sub edx,ebx cmp ecx,edx jl L00477403 add eax,ebx cmp ecx,eax jg L00477403 mov eax,[edi+14h] mov ecx,[ebp+18h] mov edx,eax sub edx,ebx cmp ecx,edx jl L00477403 add eax,ebx cmp ecx,eax jg L00477403 mov eax,[edi+18h] mov ecx,[ebp+1Ch] lea edx,[eax-08h] cmp ecx,edx jl L00477403 add eax,00000008h cmp ecx,eax jle L00477427 L00477403: mov eax,[ebp+1Ch] mov ecx,[ebp+18h] mov edx,[ebp+14h] push eax push ecx push edx push edi mov ecx,esi call SUB_L004774E0 jmp L0047737C L0047741C: xor eax,eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0020h ;------------------------------------------------------------------------------ L00477427: mov eax,edi pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0020h ;------------------------------------------------------------------------------ Align 16 SUB_L00477440: push ebp mov ebp,esp mov eax,[ebp+10h] push ebx push esi mov esi,[ebp+0Ch] mov ebx,ecx push edi mov ecx,[ebp+08h] push eax mov eax,[L004C7E28+esi*4] push esi push ecx mov ecx,[L004C7E50+esi*4] mov edi,edx add edx,ecx mov ecx,ebx add ecx,eax call SUB_L00452A10 test eax,eax jnz L0047747A pop edi pop esi pop ebx pop ebp retn 000Ch ;------------------------------------------------------------------------------ L0047747A: mov edx,[ebp+10h] mov ecx,[ebp+08h] lea eax,[esi-01h] push edx mov edx,[L004C7E4C+esi*4] push eax push ecx mov ecx,[L004C7E24+esi*4] add edx,edi add ecx,ebx call SUB_L00452A10 test eax,eax jnz L004774A8 pop edi pop esi pop ebx pop ebp retn 000Ch ;------------------------------------------------------------------------------ L004774A8: mov edx,[ebp+10h] mov ecx,[ebp+08h] lea eax,[esi+01h] push edx and eax,00000007h push eax push ecx mov edx,[L004C7E50+eax*4] mov ecx,[L004C7E28+eax*4] add edx,edi add ecx,ebx call SUB_L00452A10 pop edi pop esi pop ebx pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 16 SUB_L004774E0: push ebp mov ebp,esp sub esp,00000008h push ebx push esi mov esi,[ebp+08h] push edi mov [ebp-08h],ecx xor ebx,ebx L004774F1: test bl,01h jz L0047753C mov edx,[esi+18h] mov edi,[esi+14h] mov ecx,[esi+10h] lea eax,[ebp+08h] push eax push ebx push edx mov edx,edi mov [ebp-04h],ecx call SUB_L00477440 test eax,eax jz L00477589 mov eax,[ebp+14h] mov ecx,[ebp+10h] mov edx,[ebp+0Ch] push eax mov eax,[ebp+08h] push ecx mov ecx,[L004C7E50+ebx*4] push edx mov edx,[L004C7E28+ebx*4] add ecx,edi mov edi,[ebp-04h] push eax add edx,edi push ecx push edx jmp L00477580 L0047753C: mov edi,[L004C7E50+ebx*4] mov ecx,[esi+14h] mov eax,[esi+10h] mov edx,[esi+18h] add edi,ecx mov ecx,[L004C7E28+ebx*4] add ecx,eax lea eax,[ebp+08h] push eax push ebx push edx mov edx,edi mov [ebp-04h],ecx call SUB_L00452A10 test eax,eax jz L00477589 mov eax,[ebp+14h] mov ecx,[ebp+10h] mov edx,[ebp+0Ch] push eax mov eax,[ebp+08h] push ecx mov ecx,[ebp-04h] push edx push eax push edi push ecx L00477580: mov ecx,[ebp-08h] push esi call SUB_L004775A0 L00477589: inc ebx cmp ebx,00000008h jl L004774F1 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0010h ;------------------------------------------------------------------------------ Align 8 SUB_L004775A0: push ebp mov ebp,esp sub esp,00000008h mov eax,[ebp+08h] push ebx push esi mov esi,ecx fld dword ptr [eax+08h] push edi mov [ebp-08h],esi call SUB_L0049BB80 mov ecx,[esi+04h] mov edi,[ebp+14h] mov ebx,[ebp+10h] inc eax mov [ebp-04h],eax mov eax,[ecx+4Ch] test eax,eax jz L004775EE L004775CD: mov ecx,[ebp+0Ch] mov edx,[eax+10h] cmp edx,ecx jnz L004775E1 cmp [eax+14h],ebx jnz L004775E1 cmp [eax+18h],edi jz L004775EA L004775E1: mov eax,[eax+4Ch] test eax,eax jnz L004775CD jmp L004775F1 L004775EA: mov edx,eax jmp L004775F3 L004775EE: mov ecx,[ebp+0Ch] L004775F1: xor edx,edx L004775F3: test edx,edx jz L0047763A mov esi,[ebp+08h] xor eax,eax lea ecx,[esi+2Ch] L004775FF: cmp dword ptr [ecx],00000000h jz L0047760D inc eax add ecx,00000004h cmp eax,00000008h jl L004775FF L0047760D: fild dword ptr [ebp-04h] mov [esi+eax*4+2Ch],edx fcom dword ptr [edx+08h] fnstsw ax test ah,01h jz L00477777 fld dword ptr [edx+04h] fadd ST,ST(1) fxch ST(1) fstp dword ptr [edx+08h] mov [edx+24h],esi fstp dword ptr [edx] pop edi pop esi pop ebx mov esp,ebp pop ebp retn 001Ch ;------------------------------------------------------------------------------ L0047763A: mov edx,[esi+08h] mov eax,[edx+4Ch] test eax,eax jz L0047765E L00477644: cmp [eax+10h],ecx jnz L00477657 cmp [eax+14h],ebx jnz L00477657 cmp [eax+18h],edi jz L00477782 L00477657: mov eax,[eax+4Ch] test eax,eax jnz L00477644 L0047765E: xor edx,edx L00477660: test edx,edx jz L004776AF mov edi,[ebp+08h] xor eax,eax lea ecx,[edi+2Ch] L0047766C: cmp dword ptr [ecx],00000000h jz L0047767A inc eax add ecx,00000004h cmp eax,00000008h jl L0047766C L0047767A: fild dword ptr [ebp-04h] mov [edi+eax*4+2Ch],edx fcom dword ptr [edx+08h] fnstsw ax test ah,01h jz L00477777 fld dword ptr [edx+04h] fadd ST,ST(1) fxch ST(1) fstp dword ptr [edx+08h] push edx mov ecx,esi mov [edx+24h],edi fstp dword ptr [edx] call SUB_L00477790 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 001Ch ;------------------------------------------------------------------------------ L004776AF: push 00000050h push 00000001h call SUB_L0049C380 mov esi,eax add esp,00000008h test esi,esi jnz L004776D1 push eax mov edx,SSZ004CDC48_Oops_ mov ecx,SSZ004CDC2C_Failed_to_calloc_memory_ call SUB_L0049A0A0 L004776D1: mov eax,[ebp+08h] mov ecx,[ebp+18h] mov edx,[ebp+1Ch] mov [esi+24h],eax mov eax,[ebp+0Ch] mov [esi+18h],edi sub eax,ecx mov ecx,ebx mov ebx,[ebp+20h] sub ecx,edx mov edx,edi sub edx,ebx mov ebx,eax imul ebx,eax fild dword ptr [ebp-04h] fst dword ptr [esi+08h] mov eax,ecx imul eax,ecx mov ecx,edx add ebx,eax imul ecx,edx add ebx,ecx mov edx,[ebp+0Ch] mov [ebp+14h],ebx mov eax,[ebp+10h] fild dword ptr [ebp+14h] mov ecx,[ebp-08h] mov [esi+10h],edx mov [esi+14h],eax fsqrt fst dword ptr [esi+04h] faddp ST(1),ST fst dword ptr [esi] mov ecx,[ecx+04h] fstp dword ptr [ebp+0Ch] mov edx,[ecx+4Ch] add ecx,0000004Ch test edx,edx jz L0047774D L00477737: fld dword ptr [edx] fcomp dword ptr [ebp+0Ch] fnstsw ax test ah,01h jz L0047774D lea ecx,[edx+4Ch] mov edx,[edx+4Ch] test edx,edx jnz L00477737 L0047774D: mov edx,[ecx] xor eax,eax mov [esi+4Ch],edx mov edx,[ebp+08h] mov [ecx],esi lea ecx,[edx+2Ch] L0047775C: cmp dword ptr [ecx],00000000h jz L0047776A inc eax add ecx,00000004h cmp eax,00000008h jl L0047775C L0047776A: mov [edx+eax*4+2Ch],esi pop edi pop esi pop ebx mov esp,ebp pop ebp retn 001Ch ;------------------------------------------------------------------------------ L00477777: pop edi pop esi fstp ST(0) pop ebx mov esp,ebp pop ebp retn 001Ch ;------------------------------------------------------------------------------ L00477782: mov edx,eax jmp L00477660 Align 8 SUB_L00477790: push ebp mov ebp,esp sub esp,00000014h push ebx push esi push edi mov edi,[ebp+08h] mov ebx,ecx fld dword ptr [edi+08h] mov [ebp-10h],ebx call SUB_L0049BB80 mov [ebp-0Ch],eax lea eax,[edi+2Ch] mov dword ptr [ebp-04h],00000000h mov [ebp-08h],eax L004777B9: mov ecx,[ebp-08h] mov esi,[ecx] test esi,esi jz L00477839 mov edx,[ebp-0Ch] inc edx mov [ebp-14h],edx fild dword ptr [ebp-14h] fcomp dword ptr [esi+08h] fnstsw ax test ah,01h jz L00477824 fld dword ptr [esi+04h] fild dword ptr [ebp-0Ch] push 00000008h push 00000001h mov [esi+24h],edi fsub dword ptr [L004BB7D0] fxch ST(1) fadd ST,ST(1) fxch ST(1) fstp dword ptr [esi+08h] fstp dword ptr [esi] call SUB_L0049C380 mov edi,eax add esp,00000008h test edi,edi jnz L00477812 push eax mov edx,SSZ004CDC48_Oops_ mov ecx,SSZ004CDC2C_Failed_to_calloc_memory_ call SUB_L0049A0A0 L00477812: mov [edi],esi mov eax,[ebx] mov ecx,[eax+04h] mov [edi+04h],ecx mov edx,[ebx] mov [edx+04h],edi mov edi,[ebp+08h] L00477824: mov eax,[ebp-04h] mov edx,[ebp-08h] inc eax add edx,00000004h cmp eax,00000008h mov [ebp-04h],eax mov [ebp-08h],edx jl L004777B9 L00477839: mov ecx,[ebx] add ecx,00000004h mov eax,[ecx] test eax,eax jz L004778F0 L00477848: mov edx,[eax+04h] mov ebx,[eax] push eax mov [ecx],edx call SUB_L0049C430 lea eax,[ebx+2Ch] add esp,00000004h mov dword ptr [ebp-04h],00000000h mov [ebp+08h],eax L00477865: mov ecx,[ebp+08h] mov esi,[ecx] test esi,esi jz L004778DD fld dword ptr [ebx+08h] fsub dword ptr [L004BB7D0] fcom dword ptr [esi+08h] fnstsw ax test ah,01h jz L004778C6 fst dword ptr [esi+08h] fld dword ptr [esi+04h] fadd ST,ST(1) push 00000008h push 00000001h mov [esi+24h],ebx fstp dword ptr [esi] fstp ST(0) call SUB_L0049C380 mov edi,eax add esp,00000008h test edi,edi jnz L004778B2 push eax mov edx,SSZ004CDC48_Oops_ mov ecx,SSZ004CDC2C_Failed_to_calloc_memory_ call SUB_L0049A0A0 L004778B2: mov eax,[ebp-10h] mov [edi],esi mov edx,[eax] mov ecx,[edx+04h] mov [edi+04h],ecx mov edx,[eax] mov [edx+04h],edi jmp L004778C8 L004778C6: fstp ST(0) L004778C8: mov eax,[ebp-04h] mov edx,[ebp+08h] inc eax add edx,00000004h cmp eax,00000008h mov [ebp-04h],eax mov [ebp+08h],edx jl L00477865 L004778DD: mov eax,[ebp-10h] mov ecx,[eax] mov eax,[ecx+04h] add ecx,00000004h test eax,eax jnz L00477848 L004778F0: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 8 SUB_L00477900: push ebp mov ebp,esp sub esp,00000324h push ebx push esi push edi mov ecx,L006A9DC0 call SUB_L00450190 mov esi,[L005492A0] mov ebx,00000001h push 00000011h mov ecx,L006A9DC0 mov [L005492A0],ebx call SUB_L00450120 mov [L005492A0],esi mov esi,00000002h push 00000000h push esi push esi call jmp_WSOCK32.dll!WSOCK32.23 mov edi,eax cmp edi,FFFFFFFFh mov [ebp-0Ch],edi jnz L0047796D push 00000000h push 00000000h push 00000000h push 00000000h push SSZ004CDC94_Socket_Creation_Failed mov ecx,L00669608 call SUB_L0043F200 jmp L00477C83 L0047796D: mov cx,[L004CDC50] xor eax,eax mov [ebp-24h],eax push ecx mov [ebp-20h],eax mov [ebp-24h],si mov [ebp-1Ch],eax mov [ebp-18h],eax call jmp_WSOCK32.dll!WSOCK32.9 lea edx,[ebp-24h] mov [ebp-22h],ax push 00000010h push edx push edi call jmp_WSOCK32.dll!WSOCK32.2 cmp eax,FFFFFFFFh jnz L004779BD push 00000000h push 00000000h push 00000000h push 00000000h push SSZ004CDC88_Bind_Failed mov ecx,L00669608 call SUB_L0043F200 jmp L00477C30 L004779BD: lea eax,[ebp-14h] mov [ebp-14h],ebx push eax push 8004667Eh push edi call jmp_WSOCK32.dll!WSOCK32.12 mov ecx,00000080h xor eax,eax lea edi,[ebp-00000324h] xor ebx,ebx rep stosd mov eax,[L006BD2B0] test eax,eax jle L00477A21 lea edi,[ebp-00000320h] L004779EF: mov ecx,[L006BD2CC] mov [edi-04h],si mov edx,[ecx+ebx*4] push edx call jmp_WSOCK32.dll!WSOCK32.8 mov [edi],eax mov ax,[L004CDC50] push eax call jmp_WSOCK32.dll!WSOCK32.9 mov [edi-02h],ax mov eax,[L006BD2B0] inc ebx add edi,00000010h cmp ebx,eax jl L004779EF L00477A21: xor eax,eax mov [ebp-08h],eax L00477A26: mov ecx,[L006BD2B0] xor ebx,ebx test ecx,ecx jle L00477B16 lea esi,[ebp-00000324h] lea edi,[00000000h+eax*4] L00477A43: mov cx,[L004CDC50] mov dword ptr [edi+L0073F670],00000000h push ecx call jmp_WSOCK32.dll!WSOCK32.9 mov dl,[ebp-08h] mov [ebp-00000124h],ax mov [ebp-00000122h],bl mov [ebp-00000121h],dl call [KERNEL32.dll!GetTickCount] mov ecx,[ebp-0Ch] mov [ebp-10h],eax push 00000010h push esi push 00000000h lea eax,[ebp-00000124h] push 00000028h push eax push ecx mov dword ptr [ebp-04h],00000000h call jmp_WSOCK32.dll!WSOCK32.20 test eax,eax jge L00477AD6 mov edx,[ebp-10h] add edx,00000FA0h mov [ebp-10h],edx L00477AA7: call [KERNEL32.dll!GetTickCount] cmp [ebp-10h],eax jl L00477ACF mov ecx,[ebp-0Ch] push 00000010h push esi push 00000000h lea eax,[ebp-00000124h] push 00000028h push eax push ecx call jmp_WSOCK32.dll!WSOCK32.20 test eax,eax jl L00477AA7 jmp L00477AD6 L00477ACF: mov dword ptr [ebp-04h],00000001h L00477AD6: mov eax,[ebp-04h] test eax,eax jnz L00477AFF call [KERNEL32.dll!GetTickCount] mov [edi+L0073EC70],eax mov eax,[L006BD2B0] inc ebx add esi,00000010h add edi,00000050h cmp ebx,eax jl L00477A43 jmp L00477B16 L00477AFF: push 00000000h push 00000000h push 00000000h push 00000000h push SSZ004CDC68_Couldn_t_send_for_4_seconds_ mov ecx,L00669608 call SUB_L0043F200 L00477B16: mov eax,[ebp-08h] inc eax cmp eax,00000014h mov [ebp-08h],eax jl L00477A26 mov ebx,[KERNEL32.dll!GetTickCount] call ebx mov [ebp-10h],eax mov dword ptr [ebp-04h],00000000h mov dword ptr [ebp-08h],00000000h L00477B3F: mov esi,[ebp-0Ch] push 00000000h push 00000000h push 00000000h lea edx,[ebp-000000A4h] push 00000028h push edx push esi mov byte ptr [ebp-000000A2h],FFh mov byte ptr [ebp-000000A1h],FFh call jmp_WSOCK32.dll!WSOCK32.17 test eax,eax jge L00477B9A mov eax,[ebp-10h] lea edi,[eax+00001F40h] L00477B72: call ebx cmp edi,eax jl L00477B93 push 00000000h push 00000000h push 00000000h lea ecx,[ebp-000000A4h] push 00000028h push ecx push esi call jmp_WSOCK32.dll!WSOCK32.17 test eax,eax jl L00477B72 jmp L00477B9A L00477B93: mov dword ptr [ebp-04h],00000001h L00477B9A: mov eax,[ebp-04h] test eax,eax jnz L00477C2D call ebx movsx edx,[ebp-000000A2h] movsx ecx,[ebp-000000A1h] test edx,edx jl L00477BED mov esi,[L006BD2B0] cmp edx,esi jge L00477BED cmp ecx,00000014h jge L00477BED lea edx,[edx+edx*4] lea ecx,[ecx+edx*4] shl ecx,02h sub eax,[ecx+L0073EC70] test eax,eax mov [ecx+L0073F670],eax jg L00477C0A mov dword ptr [ecx+L0073F670],00000001h jmp L00477C0A L00477BED: push 00000000h push 00000000h push 00000000h push 00000000h push SSZ004CDC54_Bogus_return_ping mov ecx,L00669608 call SUB_L0043F200 mov esi,[L006BD2B0] L00477C0A: mov eax,[ebp-08h] lea ecx,[esi+esi*4] inc eax shl ecx,02h cmp eax,ecx mov [ebp-08h],eax jnz L00477C22 mov dword ptr [ebp-04h],00000001h L00477C22: mov eax,[ebp-04h] test eax,eax jz L00477B3F L00477C2D: mov edi,[ebp-0Ch] L00477C30: mov eax,[L006BD2B0] xor esi,esi test eax,eax jle L00477C78 mov ecx,L0073F670 L00477C40: mov edx,[L006BD2C8] mov edi,00000014h mov word ptr [edx+esi*2],0000h L00477C51: mov edx,[ecx] test edx,edx jnz L00477C5C mov edx,000000C8h L00477C5C: mov eax,[L006BD2C8] add ecx,00000004h add [eax+esi*2],dx dec edi jnz L00477C51 mov eax,[L006BD2B0] inc esi cmp esi,eax jl L00477C40 mov edi,[ebp-0Ch] L00477C78: push edi call jmp_WSOCK32.dll!WSOCK32.3 mov ebx,00000001h L00477C83: mov ecx,L006A9DC0 call SUB_L004501A0 mov esi,[L005492A0] mov ecx,L006A9DC0 push 00000011h mov [L005492A0],ebx call SUB_L00450120 mov [L005492A0],esi pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L00477CC0: lea eax,[ecx-03h] cmp eax,00000010h ja CASE_00477D0C_PROC0004 xor ecx,ecx mov cl,[eax+CASE_00477D20] jmp [CASE_PROCTABLE_00477D0C+ecx*4] CASE_00477D0C_PROC0000: mov eax,[edx+60h] test eax,eax jz CASE_00477D0C_PROC0004 mov eax,00000001h retn ;------------------------------------------------------------------------------ CASE_00477D0C_PROC0002: mov eax,[edx+58h] test eax,eax jz CASE_00477D0C_PROC0004 mov eax,00000001h retn ;------------------------------------------------------------------------------ CASE_00477D0C_PROC0001: mov edx,[edx+58h] test edx,edx jz CASE_00477D0C_PROC0004 cmp word ptr [edx+38h],204Eh jnz CASE_00477D0C_PROC0004 mov eax,00000001h retn ;------------------------------------------------------------------------------ CASE_00477D0C_PROC0004: xor eax,eax retn ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_00477D0C: dd CASE_00477D0C_PROC0000 dd CASE_00477D0C_PROC0001 dd CASE_00477D0C_PROC0002 dd CASE_00477D0C_PROC0002 dd CASE_00477D0C_PROC0004 CASE_00477D20: db 00h, 00h, 04h, 04h, 04h, 04h, 04h, 04h, 01h, 04h, 02h, 04h, 04h, 04h, 04h, 04h db 03h Align 16 SUB_L00477D40: push ebp mov ebp,esp push FFFFFFFFh push L004B4AC6 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push esi mov ebx,ecx push edi mov [ebp-10h],ebx call SUB_L00441CB0 xor esi,esi mov dword ptr [ebx],L004BB7D8 mov dword ptr [ebx+04h],SSZ004CE2E0_paperdoll_gump mov [ebx+5Ch],esi mov [ebx+000000ECh],esi mov [ebx+000000E8h],esi mov [ebx+000000E4h],esi mov [ebx+000000E0h],esi mov [ebx+000000F4h],esi mov [ebx+000000F0h],esi mov eax,[L00669684] mov [ebp-04h],esi cmp eax,esi jz L00477E42 mov ecx,[L0066968C] xor eax,eax cmp ecx,esi jle L00477DF7 mov edx,L00669690 L00477DBD: cmp byte ptr [edx],00h jz L00477DCC inc eax add edx,0000001Ch cmp eax,ecx jl L00477DBD jmp L00477DF7 L00477DCC: mov ecx,eax shl ecx,03h sub ecx,eax shl ecx,02h mov edx,[ecx+L006696A4] mov [ebx+2Ch],edx mov edx,[ecx+L006696A8] mov [ebx+30h],edx mov ecx,[ecx+L00669698] mov [ebx+60h],ecx mov ecx,[L0066968C] L00477DF7: cmp eax,ecx jge L00477E4E lea edi,[ecx-01h] mov edx,eax cmp eax,edi jge L00477E31 mov ecx,eax shl ecx,03h sub ecx,eax lea eax,[L00669690+ecx*4] L00477E12: lea esi,[eax+1Ch] mov ecx,00000007h mov edi,eax inc edx rep movsd mov ecx,[L0066968C] add eax,0000001Ch lea esi,[ecx-01h] cmp edx,esi jl L00477E12 xor esi,esi L00477E31: dec ecx mov [L0066968C],ecx jnz L00477E4E mov [L00669684],esi jmp L00477E4E L00477E42: mov edx,[ebp+08h] mov eax,[ebp+0Ch] mov [ebx+2Ch],edx mov [ebx+30h],eax L00477E4E: mov eax,[ebp+14h] cmp eax,esi mov [ebx+34h],eax jz L00477E5E mov [eax+000000ACh],ebx L00477E5E: cmp eax,[L0073EBE4] jnz L00477E72 mov dword ptr [ebx+000000A0h],00000001h jmp L00477E78 L00477E72: mov [ebx+000000A0h],esi L00477E78: mov [ebx+4Ch],esi mov [ebx+48h],esi mov [ebx+44h],esi mov [ebx+40h],esi mov [ebx+3Ch],esi lea esi,[ebx+20h] lea edi,[ebx+1Ch] mov ecx,000007D0h push esi mov edx,edi mov [ebx+50h],ecx call SUB_L004390A0 lea eax,[ebx+28h] lea edx,[ebx+24h] push eax mov ecx,000007EEh call SUB_L004390A0 push SSZ004CE2C0_framedata_for_CPaperdollGump push 00000010h mov ecx,L00669C8C mov dword ptr [ebx+10h],00000000h mov dword ptr [ebx+14h],00000002h call SUB_L0044FBD0 xor ecx,ecx mov [ebx+38h],eax mov [eax],ecx push SSZ004CE2B0_paperdoll_frame mov [eax+04h],ecx mov edx,[esi] imul edx,[edi] mov ecx,L00669C8C lea eax,[edx+edx+04h] push eax call SUB_L0044FBD0 mov ecx,[ebx+38h] push SSZ004CE29C_paperdoll_frame1 mov [ecx+04h],eax mov ecx,[esi] imul ecx,[edi] mov edx,[ebx+38h] xor eax,eax shl ecx,1 mov edi,[edx+04h] mov edx,ecx add edi,00000004h shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[ebx+38h] mov dx,[ebx+1Ch] mov ecx,[eax+04h] mov [ecx],dx mov eax,[ebx+38h] mov dx,[esi] mov ecx,[eax+04h] mov [ecx+02h],dx mov eax,[ebx+24h] imul eax,[ebx+28h] lea ecx,[eax+eax+04h] push ecx mov ecx,L00669C8C call SUB_L0044FBD0 mov edx,[ebx+38h] mov [edx+0Ch],eax mov ecx,[ebx+24h] imul ecx,[ebx+28h] mov edx,[ebx+38h] xor eax,eax shl ecx,1 mov edi,[edx+0Ch] mov edx,ecx add edi,00000004h shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[ebx+38h] mov ecx,[eax+0Ch] mov dx,[ebx+24h] mov edi,[ebp+24h] mov [ecx],dx mov eax,[ebx+38h] mov dx,[ebx+28h] mov ecx,[eax+0Ch] xor eax,eax mov [ecx+02h],dx or ecx,FFFFFFFFh mov dword ptr [ebx+00000094h],00000000h lea edx,[ebx+000000A4h] repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov ecx,[ebx+28h] mov eax,[ebx+38h] mov edx,[ebx+24h] push ecx mov ecx,[eax+0Ch] push edx add ecx,00000004h mov edx,000007EEh push ecx push 00000000h push 00000000h mov ecx,SUB_L00488700 call SUB_L00439100 mov edi,00000001h push 000000CCh mov dword ptr [ebx+0000009Ch],FFFFFFFFh mov [ebx+000000F8h],edi call SUB_L0049A820 add esp,00000004h mov [ebp+08h],eax test eax,eax mov byte ptr [ebp-04h],01h jz L00478039 push 00000000h push 000007ECh push 000007EBh push L0040D310 push 00000000h push 00000000h push ebx push 000000E9h push 000000B9h mov ecx,eax call SUB_L004122F0 jmp L0047803B L00478039: xor eax,eax L0047803B: push edi push ebx mov ecx,eax mov byte ptr [ebp-04h],00h mov dword ptr [eax+000000A4h],000007EDh call SUB_L004415C0 mov eax,[ebx+000000A0h] test eax,eax jz L00478390 mov al,[ebp+28h] push 000000CCh test al,al jnz L004780C0 call SUB_L0049A820 add esp,00000004h mov [ebp+28h],eax test eax,eax mov byte ptr [ebp-04h],02h jz L004780A8 push 00000000h push 000007E6h push 000007E5h push L0040D2A0 push 00000000h push 00000000h push ebx push 000000CDh push 000000B9h mov ecx,eax call SUB_L004122F0 jmp L004780AA L004780A8: xor eax,eax L004780AA: mov [ebx+00000098h],eax mov byte ptr [ebp-04h],00h mov dword ptr [eax+000000A4h],000007E7h jmp L00478112 L004780C0: call SUB_L0049A820 add esp,00000004h mov [ebp+28h],eax test eax,eax mov byte ptr [ebp-04h],03h jz L004780FC push 00000000h push 000007E9h push 000007E8h push L0040D2A0 push 00000000h push 00000000h push ebx push 000000CDh push 000000B9h mov ecx,eax call SUB_L004122F0 jmp L004780FE L004780FC: xor eax,eax L004780FE: mov [ebx+00000098h],eax mov byte ptr [ebp-04h],00h mov dword ptr [eax+000000A4h],000007EAh L00478112: mov ecx,[ebx+00000098h] push edi push ebx call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp+28h],eax test eax,eax mov byte ptr [ebp-04h],04h jz L0047815D push 00000000h push 000007DDh push 000007DCh push L0040D820 push 00000000h push 00000000h push ebx push 0000007Ch push 000000B9h mov ecx,eax call SUB_L004122F0 jmp L0047815F L0047815D: xor eax,eax L0047815F: push edi push ebx mov ecx,eax mov byte ptr [ebp-04h],00h mov dword ptr [eax+000000A4h],000007DEh call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp+28h],eax test eax,eax mov byte ptr [ebp-04h],05h jz L004781B7 push 00000000h push 000007E0h push 000007DFh push L0040D840 push 00000000h push 00000000h push ebx push 00000097h push 000000B9h mov ecx,eax call SUB_L004122F0 jmp L004781B9 L004781B7: xor eax,eax L004781B9: push edi push ebx mov ecx,eax mov byte ptr [ebp-04h],00h mov dword ptr [eax+000000A4h],000007E1h call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp+28h],eax test eax,eax mov byte ptr [ebp-04h],06h jz L00478213 push 00000000h push 000007E3h push 000007E2h push L0040D880 push 00000000h push 00000000h push ebx push 000000B3h push 000000B9h mov ecx,eax call SUB_L004122F0 mov esi,eax jmp L00478215 L00478213: xor esi,esi L00478215: push edi push ebx mov ecx,esi mov byte ptr [ebp-04h],00h mov dword ptr [esi+000000A4h],000007E4h call SUB_L004415C0 call SUB_L00493C40 test eax,eax jnz L0047823B mov [esi+000000B0h],edi L0047823B: push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp+28h],eax test eax,eax mov byte ptr [ebp-04h],07h jz L00478279 push 00000000h push 000007D7h push 000007D6h push L0040D8D0 push 00000000h push 00000000h push ebx push 00000047h push 000000B9h mov ecx,eax call SUB_L004122F0 jmp L0047827B L00478279: xor eax,eax L0047827B: push edi push ebx mov ecx,eax mov byte ptr [ebp-04h],00h mov dword ptr [eax+000000A4h],000007D8h call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp+28h],eax test eax,eax mov byte ptr [ebp-04h],08h jz L004782D0 push 00000000h push 000007F0h push 000007EFh push L0040D960 push 00000000h push 00000000h push ebx push 0000002Ch push 000000B9h mov ecx,eax call SUB_L004122F0 jmp L004782D2 L004782D0: xor eax,eax L004782D2: push edi push ebx mov ecx,eax mov byte ptr [ebp-04h],00h mov dword ptr [eax+000000A4h],000007F1h call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp+28h],eax test eax,eax mov byte ptr [ebp-04h],09h jz L00478327 push 00000000h push 000007DAh push 000007D9h push L0040D8F0 push 00000000h push 00000000h push ebx push 00000062h push 000000B9h mov ecx,eax call SUB_L004122F0 jmp L00478329 L00478327: xor eax,eax L00478329: push edi push ebx mov ecx,eax mov byte ptr [ebp-04h],00h mov dword ptr [eax+000000A4h],000007DBh call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp+28h],eax test eax,eax mov byte ptr [ebp-04h],0Ah jz L00478381 push 00000000h push SUB_L0040D6E0 push 00000000h push 00000000h push ebx push 00000118h push 000000F5h push 00000102h push 000000DFh mov ecx,eax call SUB_L00412450 jmp L00478383 L00478381: xor eax,eax L00478383: push edi push ebx mov ecx,eax mov byte ptr [ebp-04h],00h call SUB_L004415C0 L00478390: mov ecx,[ebp-0Ch] mov [ebx+000000F8h],edi pop edi mov eax,ebx pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0024h ;------------------------------------------------------------------------------ Align 8 L004783B0: push ebp mov ebp,esp push esi mov esi,ecx call SUB_L004783E0 test byte ptr [ebp+08h],01h jz L004783CA push esi call SUB_L0049A810 add esp,00000004h L004783CA: mov eax,esi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L004783E0: push ebp mov ebp,esp push FFFFFFFFh push L004B4AD8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000008h push ebx push esi push edi mov edi,ecx mov [ebp-14h],edi mov dword ptr [edi],L004BB7D8 mov esi,[L00669620] mov eax,[L00669C58] xor ebx,ebx mov [ebp-10h],eax cmp esi,ebx mov [ebp-04h],ebx jz L00478455 L00478420: mov ecx,[esi+3Ch] mov [L00669C58],ecx mov edx,[esi] mov ecx,esi call [edx+00000098h] test eax,eax jz L0047844B cmp [esi+000000B8h],edi jnz L0047844B cmp esi,ebx jz L0047844B mov eax,[esi] push 00000001h mov ecx,esi call [eax] L0047844B: mov esi,[L00669C58] cmp esi,ebx jnz L00478420 L00478455: mov ecx,[ebp-10h] mov [L00669C58],ecx mov eax,[edi+00000094h] cmp eax,ebx jz L0047847E push SSZ004CE334_nameBMP push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov [edi+00000094h],ebx L0047847E: mov edx,[edi+38h] mov eax,[edx+04h] cmp eax,ebx jz L0047849E push SSZ004CE31C_paperdoll_frame_pBMP push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov eax,[edi+38h] mov [eax+04h],ebx L0047849E: mov ecx,[edi+38h] mov eax,[ecx+0Ch] cmp eax,ebx jz L004784BE push SSZ004CE304_paperdoll_frame1_pBMP push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov edx,[edi+38h] mov [edx+0Ch],ebx L004784BE: mov eax,[edi+38h] cmp eax,ebx jz L004784D8 push SSZ004CE2F0_paperdoll_framedata push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov [edi+38h],ebx L004784D8: mov ecx,edi mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00441D50 mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 L00478500: mov eax,00000001h retn ;------------------------------------------------------------------------------ Align 16 L00478510: push ebp mov ebp,esp push ebx mov ebx,[ebp+0Ch] push esi push edi mov edi,[ebp+08h] mov esi,ecx push 00000000h mov dword ptr [esi+000000E8h],00000001h mov [esi+6Ch],edi mov [esi+70h],ebx call SUB_L00441340 mov ecx,[esi+000000F4h] mov eax,00000001h cmp ecx,eax jnz L00478550 mov dword ptr [esi+000000F4h],00000002h jmp L00478562 L00478550: mov [esi+000000F4h],eax call [KERNEL32.dll!GetTickCount] mov [esi+000000F0h],eax L00478562: push 00000000h push ebx push edi mov ecx,esi call SUB_L00478F00 mov [esi+0000009Ch],eax pop edi pop esi pop ebx pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 8 L00478580: push ebp mov ebp,esp push esi mov esi,ecx push edi xor edi,edi mov eax,[esi+000000E0h] mov [esi+000000E8h],edi cmp eax,edi jz L004785A7 mov [esi+000000E0h],edi mov [esi+000000F4h],edi jmp L004785C5 L004785A7: cmp dword ptr [esi+000000F4h],00000002h jnz L004785C5 mov eax,[ebp+0Ch] mov ecx,[ebp+08h] push eax push ecx mov ecx,esi mov [esi+000000F4h],edi call SUB_L00479130 L004785C5: mov dword ptr [esi+0000009Ch],FFFFFFFFh mov [L006A9DD4],edi pop edi pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 8 L004785E0: push ebp mov ebp,esp mov eax,[L007121C4] test eax,eax jz L004785FC push 00000013h mov ecx,L006A9DC0 call SUB_L00450120 pop ebp retn 0008h ;------------------------------------------------------------------------------ L004785FC: push 00000000h mov ecx,L006BB1C8 call SUB_L0049A010 pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 8 L00478610: push ebp mov ebp,esp push ebx mov ebx,[ebp+0Ch] push esi mov esi,ecx push edi mov eax,[esi+000000E8h] test eax,eax jz L004786E4 mov eax,[esi+000000F4h] test eax,eax jbe L004786E4 mov eax,[ebp+08h] mov edx,[esi+6Ch] sub eax,edx cdq xor eax,edx sub eax,edx cmp eax,00000004h jg L0047865E mov edx,[esi+70h] mov eax,ebx sub eax,edx cdq xor eax,edx sub eax,edx cmp eax,00000004h jle L004786E4 L0047865E: mov eax,[esi+0000009Ch] mov dword ptr [esi+000000E0h],00000001h cmp eax,FFFFFFFFh mov dword ptr [esi+000000F4h],00000000h jz L004786E4 mov edx,[esi+34h] mov edi,[edx+eax*4+000000C4h] test edi,edi jz L004786E4 mov ecx,[L0073EBE4] cmp edx,ecx jnz L004786A1 mov eax,[ecx] call [eax+00000090h] test eax,eax jz L004786AA L004786A1: call SUB_L0048B870 test eax,eax jz L004786E4 L004786AA: push 00000000h push edi mov ecx,L006A9D38 call SUB_L004614B0 mov eax,[L006A9D6C] xor ecx,ecx cmp eax,ecx jz L004786C8 mov [eax+00000094h],esi L004786C8: mov dword ptr [esi+000000F8h],00000001h mov [esi+000000E8h],ecx mov [esi+000000E0h],ecx mov [esi+000000F4h],ecx L004786E4: mov eax,[esi+000000E8h] test eax,eax jz L00478713 cmp dword ptr [esi+0000009Ch],FFFFFFFFh jnz L00478713 mov eax,[esi+70h] mov edx,[esi+6Ch] sub ebx,eax mov eax,[ebp+08h] push 00000001h push 00000000h push 00000001h sub eax,edx push ebx push eax mov ecx,esi call SUB_L00440850 L00478713: pop edi pop esi pop ebx pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 8 L00478720: push ebx push esi push edi mov esi,ecx call [KERNEL32.dll!GetTickCount] mov edi,eax call [USER32.dll!GetDoubleClickTime] mov edx,[esi+000000F4h] mov ecx,00000001h cmp edx,ecx jnz L004787EE sub edi,[esi+000000F0h] cmp edi,eax jbe L004787EE mov eax,[esi+000000E8h] xor ebx,ebx cmp eax,ebx mov [esi+000000F4h],ebx jnz L00478779 mov eax,[esi+70h] mov ecx,[esi+6Ch] push eax push ecx mov ecx,esi call SUB_L00478FE0 pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ L00478779: mov [esi+000000E0h],ecx mov ecx,[esi+0000009Ch] cmp ecx,FFFFFFFFh jz L004787EE mov eax,[esi+34h] mov edi,[eax+ecx*4+000000C4h] cmp edi,ebx jz L004787EE mov ecx,[L0073EBE4] cmp eax,ecx jnz L004787AE mov edx,[ecx] call [edx+00000090h] test eax,eax jz L004787B7 L004787AE: call SUB_L0048B870 test eax,eax jz L004787EE L004787B7: push ebx push edi mov ecx,L006A9D38 call SUB_L004614B0 mov eax,[L006A9D6C] cmp eax,ebx jz L004787D2 mov [eax+00000094h],esi L004787D2: mov dword ptr [esi+000000F8h],00000001h mov [esi+000000E8h],ebx mov [esi+000000E0h],ebx mov [esi+000000F4h],ebx L004787EE: pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ Align 16 SUB_L00478800: mov dword ptr [ecx+000000F8h],00000001h retn ;------------------------------------------------------------------------------ Align 8 SUB_L00478810: push ebp mov ebp,esp sub esp,00000038h push ebx push esi push edi mov edi,ecx push SSZ004CE33C_ReDraw_Paperdoll_Gump_ call [KERNEL32.dll!OutputDebugStringA] mov ecx,[L0073EBE4] mov dword ptr [L00669680],00000001h mov eax,[edi+34h] cmp eax,ecx jnz L0047885D mov ecx,[edi+38h] xor edx,edx mov eax,[ecx+04h] xor ecx,ecx mov dx,[eax+02h] mov cx,[eax] push edx mov edx,[edi+50h] add eax,00000004h push ecx push eax push 00000000h push 00000000h jmp L0047887C L0047885D: mov edx,[edi+38h] xor ecx,ecx mov eax,[edx+04h] xor edx,edx mov cx,[eax+02h] mov dx,[eax] push ecx add eax,00000004h push edx mov edx,[edi+50h] push eax push 00000000h push 00000000h inc edx L0047887C: mov ecx,SUB_L00488700 call SUB_L00439100 mov edx,[edi+20h] mov ecx,[edi+1Ch] xor eax,eax sub edx,00000016h mov [ebp-38h],eax mov [ebp-34h],eax mov [ebp-30h],ecx lea eax,[ebp-1Ch] mov [ebp-2Ch],edx lea ecx,[ebp-20h] push eax lea edx,[ebp-24h] lea esi,[edi+000000A4h] push ecx push edx push esi push 00000001h mov ecx,L00669CC8 mov ebx,00000108h call SUB_L00437A10 mov eax,[edi+34h] mov ecx,[L0073EBE4] cmp eax,ecx jz L004788D3 mov ebx,00000107h L004788D3: mov eax,[edi+38h] mov edx,[edi+1Ch] push 0000000Dh lea ecx,[ebp-38h] push 00000000h push ecx mov ecx,[eax+04h] push edx add ecx,00000004h push ecx push 000000BAh push esi push 00000386h push 00000001h push ebx push 00000027h mov ecx,L00669CC8 call SUB_L004372C0 mov eax,[edi+34h] test eax,eax jz L00478D6B mov edx,[edi+38h] xor ecx,ecx mov eax,[edx+04h] xor edx,edx mov cx,[eax+02h] mov dx,[eax] push ecx add eax,00000004h push edx push eax push 000000C4h push 0000001Bh mov edx,000007D2h mov ecx,SUB_L00488700 call SUB_L00439100 mov esi,[edi+34h] mov ebx,00000190h xor edx,edx or ecx,FFFFFFFFh mov ax,[esi+38h] mov dword ptr [ebp-0Ch],00000001h cmp ax,bx jz L00478994 cmp ax,0192h jz L00478994 cmp ax,0191h jz L0047898B cmp ax,0193h jz L0047898B cmp ax,03DBh jnz L0047897F mov [ebp-04h],ebx mov edx,00000001h mov ecx,000003EAh jmp L0047899C L0047897F: mov dword ptr [ebp-0Ch],00000000h mov [ebp-04h],ebx jmp L0047899C L0047898B: mov dword ptr [ebp-04h],00000191h jmp L00478997 L00478994: mov [ebp-04h],ebx L00478997: mov edx,00000001h L0047899C: cmp ecx,FFFFFFFFh jnz L004789A7 xor ecx,ecx mov cx,[esi+3Eh] L004789A7: cmp dword ptr [ebp-0Ch],00000001h jnz L00478A6D cmp word ptr [esi+3Eh],0000h jnz L004789E9 mov eax,[edi+38h] xor ecx,ecx xor edx,edx mov eax,[eax+04h] mov cx,[eax+02h] mov dx,[eax] push ecx push edx mov edx,[ebp-04h] add eax,00000004h push eax and edx,0000FFFFh push 00000013h push 00000008h sub edx,00000184h mov ecx,SUB_L00488700 jmp L00478A68 L004789E9: cmp edx,00000001h jnz L00478A2C dec ecx xor edx,edx and ecx,00003FFFh mov [L0076735C],ecx mov eax,[edi+38h] xor ecx,ecx mov eax,[eax+04h] mov cx,[eax+02h] mov dx,[eax] push ecx push edx mov edx,[ebp-04h] add eax,00000004h push eax and edx,0000FFFFh push 00000013h push 00000008h sub edx,00000184h mov ecx,L00488840 jmp L00478A68 L00478A2C: dec ecx xor edx,edx and ecx,00003FFFh mov [L0076735C],ecx mov eax,[edi+38h] xor ecx,ecx mov eax,[eax+04h] mov cx,[eax+02h] mov dx,[eax] push ecx push edx mov edx,[ebp-04h] add eax,00000004h push eax and edx,0000FFFFh push 00000013h push 00000008h sub edx,00000184h mov ecx,SUB_L004887E0 L00478A68: call SUB_L00439100 L00478A6D: mov eax,[edi+34h] cmp word ptr [eax+38h],03DBh jnz L00478AF1 lea ecx,[ebp-18h] lea edx,[ebp-14h] push ecx mov ecx,0000EE3Bh call SUB_L004390A0 mov edx,[edi+34h] mov ax,[edx+3Eh] test ax,ax jbe L00478AC7 dec eax xor ecx,ecx and eax,00003FFFh xor edx,edx mov [L0076735C],eax mov eax,[edi+38h] mov eax,[eax+04h] mov cx,[eax+02h] mov dx,[eax] push ecx add eax,00000004h push edx push eax push 00000013h push 00000008h mov edx,0000C72Bh mov ecx,L00488840 jmp L00478AEC L00478AC7: mov eax,[edi+38h] xor ecx,ecx xor edx,edx mov eax,[eax+04h] mov cx,[eax+02h] mov dx,[eax] push ecx add eax,00000004h push edx push eax push 00000013h push 00000008h mov edx,0000C72Bh mov ecx,SUB_L00488700 L00478AEC: call SUB_L00439100 L00478AF1: mov ebx,[edi+34h] xor eax,eax mov [ebp-08h],ebx mov [ebp-10h],eax L00478AFC: xor ecx,ecx mov cl,[eax+L004CE280] mov eax,ecx mov ecx,[ebp-0Ch] test ecx,ecx mov [ebp-18h],eax jnz L00478B19 cmp eax,00000015h jnz L00478D53 L00478B19: mov ecx,[ebx+eax*4+000000C4h] test ecx,ecx jz L00478C71 lea esi,[eax-03h] cmp esi,00000010h ja CASE_00478D74_PROC0004 xor edx,edx mov dl,[esi+CASE_00478D88] jmp [CASE_PROCTABLE_00478D74+edx*4] CASE_00478D74_PROC0000: mov edx,[ebx+00000124h] test edx,edx jnz L00478C71 jmp CASE_00478D74_PROC0004 CASE_00478D74_PROC0002: mov edx,[ebx+0000011Ch] test edx,edx jnz L00478C71 jmp CASE_00478D74_PROC0004 CASE_00478D74_PROC0001: mov edx,[ebx+0000011Ch] test edx,edx jz CASE_00478D74_PROC0004 cmp word ptr [edx+38h],204Eh jz L00478C71 CASE_00478D74_PROC0004: xor eax,eax xor esi,esi mov ax,[ecx+38h] mov ecx,[L006A9D98] lea edx,[ebp-28h] lea eax,[eax+eax*4] push edx lea edx,[ebp-14h] mov si,[ecx+eax*8+0Ch] add esi,0000C350h lea ebx,[esi+00002710h] mov ecx,ebx call SUB_L004390A0 cmp word ptr [ebp-04h],0191h jnz L00478BB6 mov eax,[ebp-14h] test eax,eax jz L00478BB6 mov esi,ebx L00478BB6: mov edx,[ebp-08h] mov ecx,[ebp-18h] mov eax,[edx+ecx*4+000000C4h] mov ax,[eax+3Eh] test ax,ax jbe L00478C42 dec eax and eax,00003FFFh mov [L0076735C],eax mov ecx,[edx+ecx*4+000000C4h] mov edx,[ecx] call [edx+40h] test eax,00040000h mov eax,[edi+38h] mov eax,[eax+04h] jz L00478C19 xor ecx,ecx xor edx,edx mov cx,[eax+02h] mov dx,[eax] push ecx add eax,00000004h push edx push eax push 00000013h push 00000008h mov edx,esi mov ecx,L00488840 call SUB_L00439100 mov ebx,[ebp-08h] jmp L00478D53 L00478C19: xor ecx,ecx xor edx,edx mov cx,[eax+02h] mov dx,[eax] push ecx add eax,00000004h push edx push eax push 00000013h push 00000008h mov edx,esi mov ecx,SUB_L004887E0 call SUB_L00439100 mov ebx,[ebp-08h] jmp L00478D53 L00478C42: mov eax,[edi+38h] xor ecx,ecx xor edx,edx mov eax,[eax+04h] mov cx,[eax+02h] mov dx,[eax] push ecx add eax,00000004h push edx push eax push 00000013h push 00000008h mov edx,esi mov ecx,SUB_L00488700 call SUB_L00439100 mov ebx,[ebp-08h] jmp L00478D53 L00478C71: cmp [edi+0000009Ch],eax jnz L00478D53 mov eax,[L006A9D80] test ax,ax jz L00478D10 dec eax mov ecx,[L006A9D98] and eax,00003FFFh mov [L0076735C],eax xor eax,eax mov ax,[L006A9D76] lea eax,[eax+eax*4] lea ecx,[ecx+eax*8] test dword ptr [ecx],00040000h jz L00478CE1 mov edx,[edi+38h] mov eax,[edx+04h] xor edx,edx mov dx,[eax+02h] add eax,00000004h push edx xor edx,edx mov dx,[eax-04h] push edx xor edx,edx mov dx,[ecx+0Ch] push eax push 00000013h push 00000008h add edx,0000C350h mov ecx,L00488950 jmp L00478D4E L00478CE1: mov eax,[edi+38h] xor edx,edx mov eax,[eax+04h] mov dx,[eax+02h] add eax,00000004h push edx xor edx,edx mov dx,[eax-04h] push edx xor edx,edx mov dx,[ecx+0Ch] push eax push 00000013h push 00000008h add edx,0000C350h mov ecx,L004888C0 jmp L00478D4E L00478D10: mov eax,[edi+38h] xor ecx,ecx xor edx,edx mov eax,[eax+04h] mov cx,[eax+02h] mov dx,[eax] push ecx add eax,00000004h mov ecx,[L006A9D98] push edx push eax xor eax,eax mov ax,[L006A9D76] xor edx,edx push 00000013h push 00000008h lea eax,[eax+eax*4] mov dx,[ecx+eax*8+0Ch] mov ecx,L00488730 add edx,0000C350h L00478D4E: call SUB_L00439100 L00478D53: mov eax,[ebp-10h] inc eax cmp eax,00000019h mov [ebp-10h],eax jl L00478AFC mov ecx,[edi+34h] call SUB_L00430E30 L00478D6B: pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_00478D74: dd CASE_00478D74_PROC0000 dd CASE_00478D74_PROC0001 dd CASE_00478D74_PROC0002 dd CASE_00478D74_PROC0002 dd CASE_00478D74_PROC0004 CASE_00478D88: db 00h, 00h, 04h, 04h, 04h, 04h, 04h, 04h, 01h, 04h, 02h, 04h, 04h, 04h, 04h, 04h db 03h Align 8 L00478DA0: push ebp mov ebp,esp sub esp,00000028h push ebx push esi push edi mov edi,ecx cmp dword ptr [edi+000000F8h],00000001h jnz L00478DC3 call SUB_L00478810 xor eax,eax mov [edi+000000F8h],eax jmp L00478DC5 L00478DC3: xor eax,eax L00478DC5: cmp [edi+60h],eax jz L00478DD2 mov ecx,[edi+38h] mov esi,[ecx+0Ch] jmp L00478DD8 L00478DD2: mov edx,[edi+38h] mov esi,[edx+04h] L00478DD8: mov [L00669680],eax mov [ebp-08h],eax mov [ebp-04h],eax lea eax,[ebp-04h] lea ecx,[ebp-08h] push eax push ecx mov ecx,edi call SUB_L00440C60 mov ecx,[ebp-08h] mov eax,[ebp-04h] xor edx,edx mov ebx,[ebp+08h] mov [ebp-18h],ecx mov [ebp-14h],eax mov dx,[esi] add edx,ecx xor ecx,ecx mov [ebp-10h],edx mov cx,[esi+02h] lea edx,[ebp-18h] add eax,ecx push edx push ebx mov ecx,L00669608 mov [ebp-0Ch],eax call SUB_L00440D40 test eax,eax jz L00478E8A lea eax,[ebp-28h] lea edx,[ebp-18h] push eax mov ecx,ebx call SUB_L00440D90 mov ecx,[L004C7F38] mov edx,[L004C7F34] mov eax,[L006BAE7C] push ecx mov ecx,[ebp-04h] push edx mov edx,[ebp-08h] push eax push ecx xor eax,eax mov ax,[esi+02h] xor ecx,ecx mov cx,[esi] push edx push eax lea edx,[ebp-28h] push ecx push edx lea edx,[esi+04h] mov ecx,SUB_L00488700 call SUB_L00439500 mov esi,[edi+4Ch] test esi,esi jz L00478E8A L00478E78: mov eax,[esi] lea ecx,[ebp-28h] push ecx mov ecx,esi call [eax+0Ch] mov esi,[esi+40h] test esi,esi jnz L00478E78 L00478E8A: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 L00478EA0: push ebp mov ebp,esp mov eax,[ecx+60h] push esi test eax,eax push edi jz L00478EB4 mov eax,[ecx+38h] mov ecx,[eax+0Ch] jmp L00478EBA L00478EB4: mov ecx,[ecx+38h] mov ecx,[ecx+04h] L00478EBA: mov esi,[ebp+08h] xor eax,eax mov ax,[ecx] xor edx,edx mov dx,[ecx+02h] add ecx,00000004h test esi,esi jl L00478EF4 mov edi,[ebp+0Ch] test edi,edi jl L00478EF4 cmp esi,eax jge L00478EF4 cmp edi,edx jge L00478EF4 imul eax,edi add eax,esi xor edx,edx cmp [ecx+eax*2],dx setnz dl mov eax,edx pop edi pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ L00478EF4: pop edi xor eax,eax pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 8 SUB_L00478F00: push ebp mov ebp,esp push ecx mov eax,[ecx+60h] push ebx push esi push edi test eax,eax jnz L00478FCB mov edi,[ecx+34h] mov ebx,[ebp+08h] mov dword ptr [ebp-04h],00000018h L00478F1F: mov ecx,[ebp-04h] xor eax,eax mov al,[ecx+L004CE280] mov esi,eax mov eax,[edi+esi*4+000000C4h] test eax,eax jz L00478F75 cmp esi,0000000Bh jz L00478F4D cmp esi,00000010h jz L00478F4D mov eax,[ebp+10h] test eax,eax jnz L00478F56 cmp esi,00000015h jnz L00478F56 L00478F4D: call SUB_L0048B870 test eax,eax jz L00478F75 L00478F56: mov edx,[edi+esi*4+000000C4h] xor eax,eax xor ecx,ecx mov ax,[edx+38h] mov edx,[L006A9D98] lea eax,[eax+eax*4] mov cx,[edx+eax*8+0Ch] jmp L00478F77 L00478F75: xor ecx,ecx L00478F77: test ecx,ecx jle L00478FA7 cmp ecx,0000FFF6h jge L00478FA7 add ecx,0000C350h cmp ebx,00000008h jl L00478FA7 mov eax,[ebp+0Ch] cmp eax,00000013h jl L00478FA7 add eax,FFFFFFEDh lea edx,[ebx-08h] push eax call SUB_L00439630 test ax,ax jnz L00478FC0 L00478FA7: mov eax,[ebp-04h] dec eax mov [ebp-04h],eax jns L00478F1F or eax,FFFFFFFFh pop edi pop esi pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ L00478FC0: mov eax,esi pop edi pop esi pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ L00478FCB: pop edi pop esi or eax,FFFFFFFFh pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 16 SUB_L00478FE0: push ebp mov ebp,esp push FFFFFFFFh push L004B4AFB mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000008h push ebx mov ebx,[ebp+0Ch] push esi push edi mov edi,[ebp+08h] push 00000001h push ebx mov esi,ecx push edi call SUB_L00478F00 cmp eax,FFFFFFFFh jz L004790A5 mov ecx,[esi+34h] mov esi,[ecx+eax*4+000000C4h] test esi,esi jz L00479118 mov eax,[L007121C4] test eax,eax jz L0047905D mov eax,[L007121D4] test eax,eax jz L0047905D mov ecx,[L006BB5F0] test ecx,ecx jnz L0047905D mov ecx,esi call eax mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L0047905D: call SUB_L0048B870 test eax,eax jz L00479071 push esi mov ecx,L006A9D38 call SUB_L00461340 L00479071: mov edx,[esi+78h] lea eax,[ebp-14h] push edx push eax mov ecx,L006BB1C0 call SUB_L00474350 lea ecx,[ebp-14h] push ecx mov ecx,[L006BB1CC] call SUB_L0048B170 mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L004790A5: lea edx,[ebp+08h] mov ecx,000007D2h push edx lea edx,[ebp+0Ch] call SUB_L004390A0 cmp edi,0000001Bh jl L00479118 cmp ebx,000000C4h jl L00479118 mov eax,[ebp+0Ch] add eax,0000001Bh cmp edi,eax jg L00479118 mov ecx,[ebp+08h] add ecx,000000C4h cmp ebx,ecx jg L00479118 push 000000E4h call SUB_L0049A820 add esp,00000004h mov [ebp-10h],eax test eax,eax mov dword ptr [ebp-04h],00000000h jz L00479118 mov edx,[L0073EBE4] push 00000000h push esi push 00000003h mov ecx,[edx+00000118h] push 000003B2h push SSZ004CE354_Character_Profile push ecx mov ecx,eax call SUB_L004012C0 L00479118: mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 8 SUB_L00479130: push ebp mov ebp,esp mov eax,00002004h call SUB_L0049ACF0 mov eax,[L007121C4] push ebx push esi push edi test eax,eax mov esi,ecx jnz L00479249 mov eax,[esi+60h] test eax,eax jz L00479164 call SUB_L0040D760 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L00479164: mov ebx,[ebp+0Ch] mov edi,[ebp+08h] push 00000001h push ebx push edi mov ecx,esi call SUB_L00478F00 cmp eax,FFFFFFFFh jz L004791E6 mov ecx,[esi+34h] mov esi,[ecx+eax*4+000000C4h] test esi,esi jz L00479249 mov ecx,[L0073EBE4] mov edx,[ecx] call [edx+00000090h] test eax,eax jz L004791C9 cmp word ptr [esi+38h],0033h jz L004791C9 mov ecx,[L0073EBE4] push 00000000h push 00000000h push 00000003h push 000003B2h push SSZ004CE368_I_am_dead_and_cannot_do_that_ call SUB_L0045DAE0 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L004791C9: test dword ptr [esi+78h],40000000h jz L00479249 push esi mov ecx,L006A9D38 call SUB_L004611C0 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L004791E6: lea eax,[ebp+08h] lea edx,[ebp+0Ch] push eax mov ecx,000007D2h call SUB_L004390A0 cmp edi,0000001Bh jl L00479249 cmp ebx,000000C4h jl L00479249 mov ecx,[ebp+0Ch] add ecx,0000001Bh cmp edi,ecx jg L00479249 mov edx,[ebp+08h] add edx,000000C4h cmp ebx,edx jg L00479249 mov eax,[esi+34h] lea edx,[ebp-00002004h] mov ecx,[eax+78h] push ecx push edx mov ecx,L006BB1C0 call SUB_L0047C0D0 mov ecx,[L006BB1CC] test ecx,ecx jz L00479249 lea eax,[ebp-00002004h] push eax call SUB_L0048B170 L00479249: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 L00479260: push ebp mov ebp,esp push esi mov esi,ecx call SUB_L004796B0 test byte ptr [ebp+08h],01h jz L0047927A push esi call SUB_L0049A810 add esp,00000004h L0047927A: mov eax,esi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00479290: push ebp mov ebp,esp push FFFFFFFFh push L004B4B23 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000010h push ebx push esi mov ebx,ecx push edi mov [ebp-1Ch],ebx call SUB_L00441CB0 mov eax,[ebp+08h] mov dword ptr [ebx],L004BB920 mov ecx,[L0073EBE4] xor edx,edx cmp eax,ecx mov [ebp-04h],edx jz L00479316 mov esi,[L00740090] cmp esi,00000008h jnz L00479308 mov ecx,[L00740070] cmp ecx,edx jz L004792F3 mov edx,[ecx] push 00000001h call [edx] mov esi,[L00740090] xor edx,edx L004792F3: mov eax,L00740070 L004792F8: mov ecx,[eax+04h] mov [eax],ecx add eax,00000004h cmp eax,L00740090 jl L004792F8 dec esi L00479308: mov [L00740070+esi*4],ebx inc esi mov [L00740090],esi L00479316: mov edi,L004D77C0 or ecx,FFFFFFFFh xor eax,eax lea esi,[ebx+0000009Ch] repne scasb not ecx sub edi,ecx mov [ebp-10h],esi mov eax,ecx mov esi,edi mov edi,[ebp-10h] shr ecx,02h rep movsd mov ecx,eax mov eax,[ebp+08h] and ecx,00000003h cmp eax,edx rep movsb mov byte ptr [ebx+000000BAh],00h mov [ebx+000000BCh],dx mov [ebx+000000BEh],dx mov [ebx+000000C0h],dx mov [ebx+000000C2h],dx mov [ebx+000000C4h],dx mov [ebx+000000C6h],dx mov [ebx+000000C8h],dx mov [ebx+000000CAh],dx mov [ebx+000000CCh],dx mov [ebx+000000D0h],edx mov dword ptr [ebx+04h],SSZ004CE388_status_gump mov [ebx+5Ch],edx mov [ebx+000000E4h],edx mov [ebx+000000E0h],edx mov [ebx+000000DCh],edx mov [ebx+000000D8h],edx mov [ebx+000000ECh],edx mov [ebx+000000E8h],edx mov [ebx+000000F8h],edx mov [ebx+000000F4h],edx mov [ebx+000000F0h],edx mov [ebx+00000108h],edx mov [ebx+00000104h],edx mov [ebx+00000100h],edx mov [ebx+000000FCh],edx mov [ebx+00000118h],edx mov [ebx+00000114h],edx mov [ebx+00000110h],edx mov [ebx+0000010Ch],edx mov [ebx+0000011Ch],edx mov [ebx+34h],eax jz L00479424 cmp [eax+00000088h],edx jz L0047941E mov [eax+0000008Ch],ebx jmp L00479424 L0047941E: mov [eax+00000088h],ebx L00479424: lea eax,[ebx+20h] lea esi,[ebx+1Ch] mov ecx,00000802h mov [ebx+4Ch],edx mov [ebx+48h],edx mov [ebx+44h],edx mov [ebx+40h],edx mov [ebx+3Ch],edx push eax mov edx,esi mov [ebx+50h],ecx call SUB_L004390A0 mov eax,[esi] mov ecx,[ebx+34h] add eax,00000007h lea edx,[ebx+24h] and al,F8h mov [ebx+18h],eax mov [esi],eax mov eax,[L0073EBE4] cmp ecx,eax lea eax,[ebx+28h] push eax mov ecx,00000803h jz L00479472 mov ecx,00000804h L00479472: call SUB_L004390A0 lea edx,[ebp-18h] lea eax,[ebp-14h] push edx push eax mov ecx,L006A9DC0 call SUB_L00450540 mov edi,[ebx+24h] mov ecx,[ebp-14h] mov eax,edi cdq sub eax,edx sar eax,1 sub ecx,eax mov eax,[ebx+28h] mov [ebp+08h],eax mov [ebx+2Ch],ecx cdq sub eax,edx mov edx,eax mov eax,[ebp-18h] sar edx,1 sub eax,edx xor edx,edx cmp ecx,edx mov [ebx+30h],eax jge L004794B9 mov [ebx+2Ch],edx L004794B9: cmp eax,edx jge L004794C0 mov [ebx+30h],edx L004794C0: cmp [ebp+0Ch],edx jz L004794F2 mov eax,[L004C7F34] mov ecx,[ebx+2Ch] add ecx,edi lea edx,[eax-01h] cmp ecx,edx jl L004794DC sub eax,edi dec eax mov [ebx+2Ch],eax L004794DC: mov eax,[L004C7F38] mov edx,[ebx+30h] mov ecx,[ebp+08h] add edx,ecx lea edi,[eax-01h] cmp edx,edi jl L00479525 jmp L0047951F L004794F2: mov eax,[L004C7F34] mov ecx,[esi] mov edx,[ebx+2Ch] add edx,ecx lea edi,[eax-01h] cmp edx,edi jl L0047950B sub eax,ecx dec eax mov [ebx+2Ch],eax L0047950B: mov eax,[L004C7F38] mov ecx,[ebx+20h] mov edx,[ebx+30h] add edx,ecx lea edi,[eax-01h] cmp edx,edi jl L00479525 L0047951F: sub eax,ecx dec eax mov [ebx+30h],eax L00479525: mov ecx,[ebp+0Ch] xor eax,eax cmp ecx,eax jz L00479546 mov ecx,[ebx+2Ch] mov edx,[ebx+30h] mov dword ptr [ebx+60h],00000001h mov [ebx+7Ch],ecx mov [ebx+00000080h],edx jmp L00479549 L00479546: mov [ebx+60h],eax L00479549: push SSZ004C451C_framedata_for_CStatusGump push 00000010h mov ecx,L00669C8C mov [ebx+10h],eax mov dword ptr [ebx+14h],00000002h call SUB_L0044FBD0 mov ecx,[ebx+14h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [ebx+38h],edi push SSZ004C450C_status_frame0 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi] imul eax,[ebx+20h] lea ecx,[eax+eax+04h] push ecx mov ecx,L00669C8C call SUB_L0044FBD0 mov edx,[ebx+38h] push SSZ004C6C7C_status_frame1 mov [edx+04h],eax mov ecx,[esi] imul ecx,[ebx+20h] mov edx,[ebx+38h] xor eax,eax shl ecx,1 mov edi,[edx+04h] mov edx,ecx add edi,00000004h shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[ebx+38h] mov dx,[esi] mov ecx,[eax+04h] mov [ecx],dx mov eax,[ebx+38h] mov dx,[ebx+20h] mov ecx,[eax+04h] mov [ecx+02h],dx mov eax,[ebx+24h] imul eax,[ebx+28h] lea ecx,[eax+eax+04h] push ecx mov ecx,L00669C8C call SUB_L0044FBD0 mov edx,[ebx+38h] push 00000001h push 00000001h push 00000001h mov [edx+0Ch],eax mov ecx,[ebx+24h] imul ecx,[ebx+28h] mov edx,[ebx+38h] xor eax,eax shl ecx,1 mov edi,[edx+0Ch] mov edx,ecx add edi,00000004h push 00000001h shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[ebx+38h] mov dx,[ebx+24h] mov ecx,[eax+0Ch] mov [ecx],dx mov eax,[ebx+38h] mov dx,[ebx+28h] mov ecx,[eax+0Ch] mov [ecx+02h],dx mov ecx,ebx call SUB_L0047A030 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp+08h],eax test eax,eax mov byte ptr [ebp-04h],01h jz L00479685 push 00000000h push SUB_L0040D6E0 push 00000000h push 00000000h push ebx push 00000088h push 00000107h push 00000070h push 000000F0h mov ecx,eax call SUB_L00412450 jmp L00479687 L00479685: xor eax,eax L00479687: push 00000001h push ebx mov ecx,eax mov byte ptr [ebp-04h],00h call SUB_L004415C0 mov ecx,[ebp-0Ch] pop edi mov eax,ebx pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 8 SUB_L004796B0: push ebp mov ebp,esp push FFFFFFFFh push L004B4B38 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push esi mov esi,ecx push edi mov [ebp-10h],esi mov dword ptr [esi],L004BB920 mov edx,[L00740090] xor ebx,ebx xor eax,eax cmp edx,ebx mov [ebp-04h],ebx jle L004796F9 mov ecx,L00740070 L004796ED: cmp [ecx],esi jz L004796F9 inc eax add ecx,00000004h cmp eax,edx jl L004796ED L004796F9: cmp eax,edx jge L00479720 lea edi,[edx-01h] cmp eax,edi jge L0047971A mov edx,edi lea ecx,[L00740070+eax*4] sub edx,eax L0047970F: mov eax,[ecx+04h] mov [ecx],eax add ecx,00000004h dec edx jnz L0047970F L0047971A: mov [L00740090],edi L00479720: cmp [esi+000000F0h],ebx jz L0047972F mov ecx,esi call SUB_L0047A940 L0047972F: mov ecx,[esi+38h] mov eax,[ecx+04h] cmp eax,ebx jz L0047974F push SSZ004C6CB4_status_frame0_pBMP push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov edx,[esi+38h] mov [edx+04h],ebx L0047974F: mov eax,[esi+38h] mov eax,[eax+0Ch] cmp eax,ebx jz L0047976F push SSZ004C6CA0_status_frame1_pBMP push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov ecx,[esi+38h] mov [ecx+0Ch],ebx L0047976F: mov eax,[esi+38h] cmp eax,ebx jz L00479789 push SSZ004C6C8C_status_framedata push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov [esi+38h],ebx L00479789: mov ecx,esi mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00441D50 mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 L004797B0: push ebp mov ebp,esp mov dword ptr [L006A9DD4],00000000h mov eax,[ecx+000000F0h] test eax,eax push esi jz L004797E9 mov ecx,eax test ecx,ecx jz L004797F3 L004797CE: mov esi,[ecx+000000F4h] test ecx,ecx jz L004797DE mov eax,[ecx] push 00000001h call [eax] L004797DE: test esi,esi mov ecx,esi jnz L004797CE pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ L004797E9: test ecx,ecx jz L004797F3 mov edx,[ecx] push 00000001h call [edx] L004797F3: pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 L00479800: push ebp mov ebp,esp mov eax,[ebp+08h] push esi push edi mov edi,ecx mov ecx,[ebp+0Ch] mov esi,[edi+000000F0h] mov dword ptr [edi+000000E0h],00000001h test esi,esi mov [edi+6Ch],eax mov [edi+70h],ecx jz L0047983C L00479827: push 00000000h mov ecx,esi call SUB_L00441340 mov esi,[esi+000000F4h] test esi,esi jnz L00479827 jmp L00479845 L0047983C: push 00000000h mov ecx,edi call SUB_L00441340 L00479845: cmp dword ptr [edi+000000ECh],00000001h jnz L0047985E mov dword ptr [edi+000000ECh],00000002h pop edi pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ L0047985E: mov dword ptr [edi+000000ECh],00000001h call [KERNEL32.dll!GetTickCount] mov [edi+000000E8h],eax pop edi pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 8 L00479880: push ebp mov ebp,esp push esi mov esi,ecx push edi xor edi,edi mov eax,[esi+000000F8h] cmp eax,edi jz L00479BE6 xor ecx,ecx mov cl,[esi+00000120h] dec ecx cmp ecx,00000007h ja CASE_00479C94_PROC0002 jmp [CASE_PROCTABLE_00479C94+ecx*4] CASE_00479C94_PROC0000: mov [eax+00000100h],esi mov eax,[esi+000000F8h] mov [esi+000000FCh],eax mov ecx,[eax+00000104h] cmp ecx,edi jz L004798EE mov ecx,[ecx+00000100h] cmp ecx,edi jz L004798EE mov [esi+00000104h],ecx mov eax,[eax+00000104h] mov ecx,[eax+00000100h] mov [ecx+00000108h],esi L004798EE: mov ecx,[esi+000000F8h] mov eax,[ecx+00000108h] cmp eax,edi jz CASE_00479C94_PROC0002 mov eax,[eax+00000100h] cmp eax,edi jz CASE_00479C94_PROC0002 mov [esi+00000108h],eax mov edx,[ecx+00000108h] mov eax,[edx+00000100h] mov [eax+00000104h],esi jmp CASE_00479C94_PROC0002 CASE_00479C94_PROC0001: mov [eax+000000FCh],esi mov eax,[esi+000000F8h] mov [esi+00000100h],eax mov ecx,[eax+00000104h] cmp ecx,edi jz L0047996B mov ecx,[ecx+000000FCh] cmp ecx,edi jz L0047996B mov [esi+00000104h],ecx mov ecx,[eax+00000104h] mov edx,[ecx+000000FCh] mov [edx+00000108h],esi L0047996B: mov ecx,[esi+000000F8h] mov eax,[ecx+00000108h] cmp eax,edi jz CASE_00479C94_PROC0002 mov eax,[eax+000000FCh] cmp eax,edi jz CASE_00479C94_PROC0002 mov [esi+00000108h],eax mov eax,[ecx+00000108h] mov ecx,[eax+000000FCh] mov [ecx+00000104h],esi jmp CASE_00479C94_PROC0002 CASE_00479C94_PROC0003: mov [eax+00000108h],esi mov eax,[esi+000000F8h] mov [esi+00000104h],eax mov ecx,[eax+000000FCh] cmp ecx,edi jz L004799E8 mov ecx,[ecx+00000108h] cmp ecx,edi jz L004799E8 mov [esi+000000FCh],ecx mov edx,[eax+000000FCh] mov eax,[edx+00000108h] mov [eax+00000100h],esi L004799E8: mov ecx,[esi+000000F8h] mov eax,[ecx+00000100h] cmp eax,edi jz CASE_00479C94_PROC0002 mov eax,[eax+00000108h] cmp eax,edi jz CASE_00479C94_PROC0002 mov [esi+00000100h],eax mov ecx,[ecx+00000100h] mov edx,[ecx+00000108h] mov [edx+000000FCh],esi jmp CASE_00479C94_PROC0002 CASE_00479C94_PROC0007: mov [eax+00000104h],esi mov eax,[esi+000000F8h] mov [esi+00000108h],eax mov ecx,[eax+000000FCh] cmp ecx,edi jz L00479A62 mov ecx,[ecx+00000104h] cmp ecx,edi jz L00479A62 mov [esi+000000FCh],ecx mov eax,[eax+000000FCh] mov ecx,[eax+00000104h] mov [ecx+00000100h],esi L00479A62: mov ecx,[esi+000000F8h] mov eax,[ecx+00000100h] cmp eax,edi jz CASE_00479C94_PROC0002 mov eax,[eax+00000104h] cmp eax,edi jz CASE_00479C94_PROC0002 mov [esi+00000100h],eax mov edx,[ecx+00000100h] mov eax,[edx+00000104h] mov [eax+000000FCh],esi CASE_00479C94_PROC0002: mov eax,[esi+000000F8h] mov ecx,[eax+000000F0h] cmp ecx,edi jnz L00479B50 mov [esi+000000F0h],eax mov [esi+000000F4h],edi mov [eax+000000F0h],eax mov ecx,[esi+000000F8h] mov [ecx+000000F4h],esi mov eax,[esi+000000F8h] mov edx,[esi+2Ch] cmp edx,[eax+2Ch] jge L00479AF4 mov eax,[esi+000000F0h] mov [eax+0000010Ch],esi mov ecx,[esi+000000F0h] mov edx,[esi+000000F8h] mov [ecx+00000110h],edx jmp L00479B0C L00479AF4: mov ecx,[esi+000000F0h] mov [ecx+0000010Ch],eax mov edx,[esi+000000F0h] mov [edx+00000110h],esi L00479B0C: mov eax,[esi+000000F8h] mov ecx,[esi+30h] mov edx,[eax+30h] cmp ecx,edx mov edx,[esi+000000F0h] jge L00479B3F mov [edx+00000114h],esi mov eax,[esi+000000F0h] mov ecx,[esi+000000F8h] mov [eax+00000118h],ecx jmp L00479BE0 L00479B3F: mov [edx+00000114h],eax mov eax,[esi+000000F0h] jmp L00479BDA L00479B50: mov [esi+000000F0h],ecx mov [esi+000000F4h],edi mov eax,[ecx+000000F4h] cmp eax,edi jz L00479B72 L00479B66: mov ecx,eax mov eax,[ecx+000000F4h] cmp eax,edi jnz L00479B66 L00479B72: mov [ecx+000000F4h],esi mov eax,[esi+000000F0h] mov edx,[esi+2Ch] mov ecx,[eax+0000010Ch] cmp edx,[ecx+2Ch] jge L00479B92 mov [eax+0000010Ch],esi L00479B92: mov eax,[esi+000000F0h] mov edx,[esi+2Ch] mov ecx,[eax+00000110h] cmp edx,[ecx+2Ch] jle L00479BAC mov [eax+00000110h],esi L00479BAC: mov eax,[esi+000000F0h] mov edx,[esi+30h] mov ecx,[eax+00000114h] cmp edx,[ecx+30h] jge L00479BC6 mov [eax+00000114h],esi L00479BC6: mov eax,[esi+000000F0h] mov edx,[esi+30h] mov ecx,[eax+00000118h] cmp edx,[ecx+30h] jle L00479BE0 L00479BDA: mov [eax+00000118h],esi L00479BE0: mov [esi+000000F8h],edi L00479BE6: mov [L006A9DD4],edi mov eax,[esi+000000D8h] cmp eax,edi mov [esi+000000E0h],edi jz L00479C0E mov [esi+000000D8h],edi mov [esi+000000ECh],edi pop edi pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ L00479C0E: cmp dword ptr [esi+000000ECh],00000002h jnz L00479C8B mov eax,[esi+60h] mov [esi+000000ECh],edi cmp eax,edi jz L00479C7C mov eax,[esi+34h] mov ecx,[L0073EBE4] cmp eax,ecx jz L00479C3A call SUB_L0048B870 test eax,eax jz L00479C41 L00479C3A: mov ecx,esi call SUB_L0040D760 L00479C41: cmp [esi+60h],edi jz L00479C7C cmp [esi+000000F0h],edi jz L00479C8B push edi mov ecx,esi call SUB_L00441340 mov eax,[esi+24h] mov dword ptr [esi+000000E0h],00000001h cdq sub eax,edx sar eax,1 mov [esi+6Ch],eax mov eax,[esi+28h] cdq sub eax,edx sar eax,1 mov [esi+70h],eax mov [L006A9DD4],esi L00479C7C: cmp [esi+000000F0h],edi jz L00479C8B mov ecx,esi call SUB_L0047A940 L00479C8B: pop edi pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_00479C94: dd CASE_00479C94_PROC0000 dd CASE_00479C94_PROC0001 dd CASE_00479C94_PROC0002 dd CASE_00479C94_PROC0003 dd CASE_00479C94_PROC0002 dd CASE_00479C94_PROC0002 dd CASE_00479C94_PROC0002 dd CASE_00479C94_PROC0007 Align 16 L00479CC0: push ebp mov ebp,esp push ebx push esi mov esi,ecx push edi mov ecx,[ebp+0Ch] mov edi,[ebp+08h] mov ebx,[esi+000000E0h] test ebx,ebx jz L00479D18 mov eax,[esi+000000ECh] test eax,eax jbe L00479D18 mov edx,[esi+6Ch] mov eax,edi sub eax,edx cdq xor eax,edx sub eax,edx cmp eax,00000004h jg L00479D04 mov edx,[esi+70h] mov eax,ecx sub eax,edx cdq xor eax,edx sub eax,edx cmp eax,00000004h jle L00479D18 L00479D04: mov dword ptr [esi+000000D8h],00000001h mov dword ptr [esi+000000ECh],00000000h L00479D18: test ebx,ebx jz CASE_00479E80_PROC0002 mov eax,[esi+000000F0h] test eax,eax jz L00479D8B mov edx,[esi+70h] mov eax,[esi+30h] mov ebx,[esi+2Ch] sub ecx,edx mov edx,[esi+6Ch] push 00000001h push 00000000h push 00000001h sub edi,edx push ecx push edi mov ecx,esi mov [ebp+0Ch],eax call SUB_L00440850 mov edi,[esi+000000F0h] test edi,edi jz CASE_00479E80_PROC0002 L00479D5A: cmp edi,esi jz L00479D7A mov ecx,[esi+30h] mov eax,[ebp+0Ch] mov edx,[esi+2Ch] push 00000000h push 00000000h sub ecx,eax push 00000001h sub edx,ebx push ecx push edx mov ecx,edi call SUB_L00440850 L00479D7A: mov edi,[edi+000000F4h] test edi,edi jnz L00479D5A pop edi pop esi pop ebx pop ebp retn 0008h ;------------------------------------------------------------------------------ L00479D8B: mov eax,[esi+70h] mov edx,[esi+6Ch] push 00000001h push 00000000h sub ecx,eax push 00000001h sub edi,edx push ecx push edi mov ecx,esi call SUB_L00440850 mov eax,[esi+60h] test eax,eax jz CASE_00479E80_PROC0002 mov dword ptr [esi+000000F8h],00000000h mov edi,[L00669620] test edi,edi jz CASE_00479E80_PROC0002 L00479DC7: cmp edi,esi jz L00479DEF mov eax,[edi] mov ecx,edi call [eax+000000C8h] test eax,eax jz L00479DEF mov eax,[edi+60h] test eax,eax jz L00479DEF push edi mov ecx,esi call SUB_L0047A880 test al,al mov [ebp+0Ch],al jnz L00479DFD L00479DEF: mov edi,[edi+3Ch] test edi,edi jnz L00479DC7 pop edi pop esi pop ebx pop ebp retn 0008h ;------------------------------------------------------------------------------ L00479DFD: mov ecx,[ebp+0Ch] mov [esi+00000120h],al and ecx,000000FFh mov [esi+000000F8h],edi lea eax,[ecx-01h] cmp eax,00000007h ja CASE_00479E80_PROC0002 jmp [CASE_PROCTABLE_00479E80+eax*4] CASE_00479E80_PROC0000: mov edx,[edi+2Ch] mov eax,[edi+24h] add edx,eax mov [esi+2Ch],edx mov eax,[edi+30h] mov [esi+30h],eax pop edi pop esi pop ebx pop ebp retn 0008h ;------------------------------------------------------------------------------ CASE_00479E80_PROC0001: mov ecx,[edi+2Ch] mov eax,[esi+24h] sub ecx,eax mov [esi+2Ch],ecx mov edx,[edi+30h] mov [esi+30h],edx pop edi pop esi pop ebx pop ebp retn 0008h ;------------------------------------------------------------------------------ CASE_00479E80_PROC0003: mov eax,[edi+2Ch] mov [esi+2Ch],eax mov ecx,[edi+30h] add ecx,[edi+28h] mov [esi+30h],ecx pop edi pop esi pop ebx pop ebp retn 0008h ;------------------------------------------------------------------------------ CASE_00479E80_PROC0007: mov edx,[edi+2Ch] mov ecx,[esi+28h] mov [esi+2Ch],edx mov eax,[edi+30h] sub eax,ecx mov [esi+30h],eax CASE_00479E80_PROC0002: pop edi pop esi pop ebx pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_00479E80: dd CASE_00479E80_PROC0000 dd CASE_00479E80_PROC0001 dd CASE_00479E80_PROC0002 dd CASE_00479E80_PROC0003 dd CASE_00479E80_PROC0002 dd CASE_00479E80_PROC0002 dd CASE_00479E80_PROC0002 dd CASE_00479E80_PROC0007 L00479EA0: push ebp mov ebp,esp sub esp,00000028h push esi mov esi,ecx mov ecx,[esi+0000011Ch] add ecx,000000ECh call SUB_L00454CA0 test eax,eax jz L00479EDA push 00000000h push 00000000h push 00000000h push 00000000h push SSZ004C45C4_Unacceptable_name_ mov ecx,L00669608 call SUB_L0043F200 pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00479EDA: mov eax,[esi+0000011Ch] mov ecx,[esi+34h] add eax,000000ECh mov edx,[ecx+78h] push eax lea eax,[ebp-28h] push edx push eax mov ecx,L006BB1C0 call SUB_L00475E70 lea ecx,[ebp-28h] push ecx mov ecx,[L006BB1CC] call SUB_L0048B170 mov ecx,L00669608 call SUB_L0043FDA0 pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 L00479F20: push esi push edi mov esi,ecx call [KERNEL32.dll!GetTickCount] mov edi,eax call [USER32.dll!GetDoubleClickTime] mov edx,[esi+000000ECh] mov ecx,00000001h cmp edx,ecx jnz L00479F65 sub edi,[esi+000000E8h] cmp edi,eax jbe L00479F65 mov eax,[esi+000000E0h] mov dword ptr [esi+000000ECh],00000000h test eax,eax jz L00479F65 mov [esi+000000D8h],ecx L00479F65: pop edi pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L00479F70: push ebp mov ebp,esp sub esp,00000010h mov ecx,[ebp+18h] mov eax,[ebp+1Ch] push ebx push esi cmp cx,ax push edi ja L00479FA2 test ax,ax jz L00479FA2 and ecx,0000FFFFh and eax,0000FFFFh mov [ebp+18h],ecx fild dword ptr [ebp+18h] mov [ebp+18h],eax fidiv dword ptr [ebp+18h] jmp L00479FA8 L00479FA2: fld dword ptr [L004BBA64] L00479FA8: fild dword ptr [ebp+10h] mov edi,[ebp+08h] mov ebx,[ebp+0Ch] mov [ebp-10h],edi mov [ebp-0Ch],ebx fmul ST,ST(1) call SUB_L0049BB80 mov ecx,[ebp+14h] mov esi,[ebp+20h] lea eax,[eax+edi-01h] lea edx,[ecx+ebx-01h] xor ecx,ecx mov cx,[esi+02h] mov [ebp-04h],edx xor edx,edx mov [ebp-08h],eax mov dx,[esi] lea eax,[esi+04h] push ecx push edx push eax push ebx push edi mov edx,00000805h mov ecx,SUB_L00488700 mov [ebp+18h],eax fstp ST(0) call SUB_L00439100 mov edx,[ebp+18h] xor eax,eax mov ax,[esi+02h] xor ecx,ecx mov cx,[esi] push eax push ecx push edx mov edx,[ebp+24h] push ebx lea eax,[ebp-10h] push edi push eax mov ecx,SUB_L00488700 call SUB_L00439290 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0020h ;------------------------------------------------------------------------------ Align 16 SUB_L0047A030: push ebp mov ebp,esp sub esp,00000048h push ebx mov ebx,ecx push esi lea edx,[ebp-04h] mov eax,[ebx+1Ch] mov ecx,[ebx+20h] mov [ebp-18h],eax push edi mov [ebp-14h],ecx lea eax,[ebp-0Ch] push edx lea ecx,[ebp-10h] push eax push ecx xor esi,esi push L004C41E4 push 00000001h mov ecx,L00669CC8 mov [ebp-20h],esi mov [ebp-1Ch],esi call SUB_L00437A10 mov edx,[ebx+38h] xor ecx,ecx mov eax,[edx+04h] xor edx,edx mov cx,[eax+02h] mov dx,[eax] push ecx add eax,00000004h push edx mov edx,[ebx+50h] push eax push esi push esi mov ecx,SUB_L00488700 call SUB_L00439100 mov eax,[L0073EBE4] mov ecx,[ebx+34h] cmp ecx,eax jnz L0047A0E2 mov ecx,[eax+00000150h] mov eax,[ebx+38h] cmp ecx,esi mov eax,[eax+0Ch] jz L0047A0C8 xor ecx,ecx xor edx,edx mov cx,[eax+02h] mov dx,[eax] push ecx add eax,00000004h push edx push eax push esi push esi mov edx,00000807h jmp L0047A100 L0047A0C8: xor ecx,ecx xor edx,edx mov cx,[eax+02h] mov dx,[eax] push ecx add eax,00000004h push edx push eax push esi push esi mov edx,00000803h jmp L0047A100 L0047A0E2: mov eax,[ebx+38h] xor ecx,ecx xor edx,edx mov eax,[eax+0Ch] mov cx,[eax+02h] mov dx,[eax] push ecx add eax,00000004h push edx push eax push esi push esi mov edx,00000804h L0047A100: mov ecx,SUB_L00488700 call SUB_L00439100 lea edi,[ebx+0000009Ch] or ecx,FFFFFFFFh xor eax,eax mov [ebp-08h],edi repne scasb not ecx dec ecx jnz L0047A12B cmp [ebx+0000011Ch],esi jz L0047A601 L0047A12B: mov eax,[L0073EBE4] mov ecx,[ebx+34h] cmp ecx,eax jnz L0047A1F9 mov al,[eax+00000098h] test al,04h jz L0047A163 mov eax,[ebx+38h] mov dx,[ebx+000000C4h] push 00000808h mov ecx,[eax+0Ch] mov ax,[ebx+000000C2h] push ecx push edx push eax jmp L0047A1A1 L0047A163: test al,08h jz L0047A185 mov ecx,[ebx+38h] mov ax,[ebx+000000C4h] push 00000809h mov edx,[ecx+0Ch] mov cx,[ebx+000000C2h] push edx push eax push ecx jmp L0047A1A1 L0047A185: mov edx,[ebx+38h] mov cx,[ebx+000000C4h] push 00000806h mov eax,[edx+0Ch] mov dx,[ebx+000000C2h] push eax push ecx push edx L0047A1A1: push 0000000Bh push 0000006Dh push 0000000Ch push 00000022h mov ecx,ebx call SUB_L00479F70 mov eax,[ebx+38h] mov dx,[ebx+000000CCh] push 00000806h mov ecx,[eax+0Ch] mov ax,[ebx+000000CAh] push ecx push edx push eax push 0000000Bh push 0000006Dh push 00000019h push 00000022h mov ecx,ebx call SUB_L00479F70 mov ecx,[ebx+38h] mov ax,[ebx+000000C8h] push 00000806h mov edx,[ecx+0Ch] mov cx,[ebx+000000C6h] push edx push eax push ecx jmp L0047A215 L0047A1F9: mov edx,[ebx+38h] mov cx,[ebx+000000C4h] push 00000806h mov eax,[edx+0Ch] mov dx,[ebx+000000C2h] push eax push ecx push edx L0047A215: push 0000000Bh push 0000006Dh push 00000026h push 00000022h mov ecx,ebx call SUB_L00479F70 mov edi,[ebp-08h] or ecx,FFFFFFFFh xor eax,eax lea edx,[ebp-48h] repne scasb not ecx sub edi,ecx mov dword ptr [ebp-18h],00000104h mov eax,ecx mov esi,edi mov edi,edx mov edx,[ebx+1Ch] shr ecx,02h rep movsd mov ecx,eax mov eax,[ebx+38h] and ecx,00000003h rep movsb lea ecx,[ebp-20h] push ecx mov ecx,[eax+04h] mov eax,[ebp-04h] push edx add ecx,00000004h lea edx,[ebp-48h] push ecx push edx push 00000386h add eax,0000002Bh push 00000001h push eax push 00000056h mov ecx,L00669CC8 call SUB_L004371A0 mov cl,[ebx+000000BAh] mov eax,[ebx+1Ch] test cl,cl mov [ebp-18h],eax jnz L0047A2B2 mov edx,[ebx+38h] lea ecx,[ebp-20h] push ecx mov ecx,[ebp-04h] push eax mov eax,[edx+04h] add eax,00000004h add ecx,00000062h push eax push L004CE3A4 push 00000386h push 00000001h push ecx jmp L0047A2D4 L0047A2B2: lea edx,[ebp-20h] push edx push eax mov eax,[ebx+38h] mov edx,[ebp-04h] mov ecx,[eax+04h] add ecx,00000004h add edx,00000062h push ecx push L004CE3A0 push 00000386h push 00000001h push edx L0047A2D4: push 00000056h mov ecx,L00669CC8 call SUB_L004371A0 xor eax,eax lea ecx,[ebp-48h] mov ax,[ebx+000000BCh] push eax push L004CE39C push ecx call SUB_L0049AC80 mov ecx,[ebx+38h] mov eax,[ebx+1Ch] add esp,0000000Ch lea edx,[ebp-20h] push edx mov edx,[ecx+04h] mov ecx,[ebp-04h] push eax add edx,00000004h lea eax,[ebp-48h] push edx push eax push 00000386h add ecx,0000003Eh push 00000001h push ecx push 00000056h mov ecx,L00669CC8 call SUB_L004371A0 xor edx,edx lea eax,[ebp-48h] mov dx,[ebx+000000BEh] push edx push L004CE39C push eax call SUB_L0049AC80 mov eax,[ebx+38h] mov edx,[ebx+1Ch] add esp,0000000Ch lea ecx,[ebp-20h] push ecx mov ecx,[eax+04h] mov eax,[ebp-04h] push edx add ecx,00000004h lea edx,[ebp-48h] push ecx push edx push 00000386h add eax,0000004Ah push 00000001h push eax push 00000056h mov ecx,L00669CC8 call SUB_L004371A0 xor ecx,ecx lea edx,[ebp-48h] mov cx,[ebx+000000C0h] push ecx push L004CE39C push edx call SUB_L0049AC80 mov edx,[ebx+38h] mov ecx,[ebx+1Ch] add esp,0000000Ch lea eax,[ebp-20h] push eax mov eax,[edx+04h] mov edx,[ebp-04h] push ecx add eax,00000004h lea ecx,[ebp-48h] push eax push ecx push 00000386h add edx,00000056h push 00000001h push edx push 00000056h mov ecx,L00669CC8 call SUB_L004371A0 xor eax,eax xor ecx,ecx mov ax,[ebx+000000C4h] mov cx,[ebx+000000C2h] push eax push ecx lea edx,[ebp-48h] push SSZ004CE394__u__u push edx call SUB_L0049AC80 mov edx,[ebx+38h] mov ecx,[ebx+1Ch] add esp,00000010h lea eax,[ebp-20h] push eax mov eax,[edx+04h] mov edx,[ebp-04h] push ecx add eax,00000004h lea ecx,[ebp-48h] push eax push ecx push 00000386h add edx,0000003Eh push 00000001h push edx push 000000ADh mov ecx,L00669CC8 call SUB_L004371A0 xor eax,eax xor ecx,ecx mov ax,[ebx+000000CCh] mov cx,[ebx+000000CAh] push eax push ecx lea edx,[ebp-48h] push SSZ004CE394__u__u push edx call SUB_L0049AC80 mov edx,[ebx+38h] mov ecx,[ebx+1Ch] add esp,00000010h lea eax,[ebp-20h] push eax mov eax,[edx+04h] mov edx,[ebp-04h] push ecx add eax,00000004h lea ecx,[ebp-48h] push eax push ecx push 00000386h add edx,0000004Ah push 00000001h push edx push 000000ADh mov ecx,L00669CC8 call SUB_L004371A0 xor eax,eax xor ecx,ecx mov ax,[ebx+000000C8h] mov cx,[ebx+000000C6h] push eax push ecx lea edx,[ebp-48h] push SSZ004CE394__u__u push edx call SUB_L0049AC80 mov edx,[ebx+38h] mov ecx,[ebx+1Ch] add esp,00000010h lea eax,[ebp-20h] push eax mov eax,[edx+04h] push ecx add eax,00000004h lea ecx,[ebp-48h] push eax push ecx push 00000386h push 00000001h mov edx,[ebp-04h] mov ecx,L00669CC8 add edx,00000056h push edx push 000000ADh call SUB_L004371A0 mov eax,[ebx+000000D0h] lea ecx,[ebp-48h] push eax push L004CE39C push ecx call SUB_L0049AC80 mov ecx,[ebx+38h] mov eax,[ebx+1Ch] add esp,0000000Ch lea edx,[ebp-20h] push edx mov edx,[ecx+04h] mov ecx,[ebp-04h] push eax add edx,00000004h lea eax,[ebp-48h] push edx push eax push 00000386h add ecx,00000062h push 00000001h push ecx push 000000ADh mov ecx,L00669CC8 call SUB_L004371A0 xor edx,edx lea eax,[ebp-48h] mov dx,[ebx+000000D4h] push edx push L004CE39C push eax call SUB_L0049AC80 mov eax,[ebx+38h] mov edx,[ebx+1Ch] add esp,0000000Ch lea ecx,[ebp-20h] push ecx mov ecx,[eax+04h] mov eax,[ebp-04h] push edx add ecx,00000004h lea edx,[ebp-48h] push ecx push edx push 00000386h add eax,0000006Eh push 00000001h push eax push 00000056h mov ecx,L00669CC8 call SUB_L004371A0 xor ecx,ecx lea edx,[ebp-48h] mov cx,[ebx+000000D6h] push ecx push L004CE39C push edx call SUB_L0049AC80 mov edx,[ebx+38h] mov ecx,[ebx+1Ch] add esp,0000000Ch lea eax,[ebp-20h] push eax mov eax,[edx+04h] mov edx,[ebp-04h] push ecx add eax,00000004h lea ecx,[ebp-48h] push eax push ecx push 00000386h add edx,0000006Eh push 00000001h push edx push 000000ADh mov ecx,L00669CC8 call SUB_L004371A0 mov eax,[ebx+34h] mov ecx,[L0073EBE4] cmp eax,ecx jz L0047A601 mov eax,[ebx+0000011Ch] test eax,eax jnz L0047A601 mov ecx,[ebx+28h] mov eax,[ebx+24h] mov [ebp-14h],ecx mov ecx,[ebx+38h] lea edx,[ebp-20h] mov dword ptr [ebp-18h],0000008Ah push edx mov edx,[ecx+0Ch] mov ecx,[ebp-04h] push eax mov eax,[ebp-08h] add edx,00000004h push edx push eax push 00000386h add ecx,0000000Eh push 00000001h push ecx push 00000010h mov ecx,L00669CC8 call SUB_L004371A0 L0047A601: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0010h ;------------------------------------------------------------------------------ Align 8 L0047A610: push ebp mov ebp,esp sub esp,00000018h push ebx push esi push edi mov edi,ecx lea eax,[ebp-04h] lea ecx,[ebp-08h] push eax xor esi,esi push ecx mov ecx,edi mov [ebp-08h],esi mov [ebp-04h],esi call SUB_L00440C60 cmp [edi+60h],esi jnz L0047A63F mov edx,[edi+38h] mov esi,[edx+04h] jmp L0047A645 L0047A63F: mov eax,[edi+38h] mov esi,[eax+0Ch] L0047A645: mov eax,[ebp-08h] mov ecx,[ebp-04h] xor edx,edx mov [ebp-18h],eax mov [ebp-14h],ecx mov dx,[esi] add eax,edx mov ebx,[ebp+08h] mov [ebp-10h],eax xor eax,eax mov ax,[esi+02h] add ecx,eax mov [ebp-0Ch],ecx lea ecx,[ebp-18h] push ecx push ebx mov ecx,L00669608 call SUB_L00440D40 test eax,eax jz L0047A6F9 mov edx,[L004C7F38] mov eax,[L004C7F34] mov ecx,[L006BAE7C] push edx mov edx,[ebp-04h] push eax mov eax,[ebp-08h] push ecx push edx xor ecx,ecx mov cx,[esi+02h] xor edx,edx mov dx,[esi] push eax push ecx push edx push ebx lea edx,[esi+04h] mov ecx,SUB_L00488700 call SUB_L00439500 mov esi,[edi+4Ch] test esi,esi jz L0047A6F9 L0047A6BA: mov eax,[esi] mov ecx,esi call [eax+000000C4h] test eax,eax jz L0047A6D5 mov ecx,[esi+000000B4h] mov eax,[edi+60h] cmp ecx,eax jz L0047A6EA L0047A6D5: mov eax,[esi] mov ecx,esi call [eax+000000C4h] test eax,eax jnz L0047A6F2 mov eax,[edi+60h] test eax,eax jz L0047A6F2 L0047A6EA: mov edx,[esi] push ebx mov ecx,esi call [edx+0Ch] L0047A6F2: mov esi,[esi+40h] test esi,esi jnz L0047A6BA L0047A6F9: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 L0047A710: push ebp mov ebp,esp mov eax,[ecx+60h] push esi test eax,eax push edi jnz L0047A724 mov eax,[ecx+38h] mov ecx,[eax+04h] jmp L0047A72A L0047A724: mov ecx,[ecx+38h] mov ecx,[ecx+0Ch] L0047A72A: mov esi,[ebp+08h] xor eax,eax mov ax,[ecx] xor edx,edx mov dx,[ecx+02h] add ecx,00000004h test esi,esi jl L0047A764 mov edi,[ebp+0Ch] test edi,edi jl L0047A764 cmp esi,eax jge L0047A764 cmp edi,edx jge L0047A764 imul eax,edi add eax,esi xor edx,edx cmp [ecx+eax*2],dx setnz dl mov eax,edx pop edi pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ L0047A764: pop edi xor eax,eax pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 8 SUB_L0047A770: push ebp mov ebp,esp push FFFFFFFFh push L004B4B5B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx mov ebx,ecx mov eax,[ebx+0000011Ch] test eax,eax jnz L0047A863 push edi push esi push 00000158h call SUB_L0049A820 add esp,00000004h mov [ebp-10h],eax test eax,eax mov dword ptr [ebp-04h],00000000h jz L0047A7DE mov cx,[ebx+24h] push 00000000h push 00000000h push 00000001h push 0000000Eh push 00000001h push 0000001Dh push 00000000h sub cx,0020h push 00000010h push ecx push ebx push 0000000Ch push 0000000Dh mov ecx,eax call SUB_L0041A980 jmp L0047A7E0 L0047A7DE: xor eax,eax L0047A7E0: or ecx,FFFFFFFFh mov [ebx+0000011Ch],eax lea edi,[ebx+0000009Ch] lea edx,[eax+000000ECh] xor eax,eax mov [ebp-04h],ecx mov [ebp-10h],edi repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov ecx,[ebx+0000011Ch] mov dword ptr [ecx+000000BCh],00000001h mov ecx,[ebx+0000011Ch] call SUB_L0041AC50 mov ecx,[ebx+0000011Ch] push 00000001h push ebx call SUB_L004415C0 mov edi,L004D77C0 or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx mov edx,ecx mov esi,edi mov edi,[ebp-10h] shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb pop esi pop edi L0047A863: mov ecx,[ebp-0Ch] pop ebx mov fs:[00000000h],ecx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L0047A880: push ebp mov ebp,esp push ebx mov ebx,[ebp+08h] push esi mov esi,[ecx+2Ch] mov eax,[ebx+30h] mov edx,[ebx+2Ch] push edi mov edi,[ecx+30h] sub edi,eax mov eax,[ecx+24h] sub esi,edx mov edx,eax neg edx cmp esi,edx jle L0047A92B cmp esi,eax jge L0047A92B mov ecx,[ecx+28h] mov eax,ecx neg eax cmp edi,eax jle L0047A92B cmp edi,ecx jge L0047A92B mov eax,esi cdq mov ecx,eax mov eax,edi xor ecx,edx sub ecx,edx cdq xor eax,edx sub eax,edx cmp ecx,eax jle L0047A8FD test esi,esi jl L0047A8EA mov eax,[ebx+00000100h] test eax,eax jnz L0047A8E6 mov al,01h pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ L0047A8E6: test esi,esi jge L0047A92B L0047A8EA: mov eax,[ebx+000000FCh] test eax,eax jnz L0047A92B mov al,02h pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ L0047A8FD: test edi,edi jl L0047A918 mov eax,[ebx+00000108h] test eax,eax jnz L0047A914 mov al,04h pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ L0047A914: test edi,edi jge L0047A92B L0047A918: mov eax,[ebx+00000104h] test eax,eax jnz L0047A92B mov al,08h pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ L0047A92B: pop edi pop esi xor al,al pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L0047A940: mov edx,[ecx+000000F0h] push ebx push esi xor esi,esi mov eax,[edx+000000F4h] cmp edx,ecx push edi jnz L0047A973 cmp eax,esi mov edx,eax jz L0047A96B L0047A95B: mov [eax+000000F0h],edx mov eax,[eax+000000F4h] cmp eax,esi jnz L0047A95B L0047A96B: mov [ecx+000000F0h],edx jmp L0047A995 L0047A973: cmp eax,ecx jz L0047A983 L0047A977: mov edx,eax mov eax,[edx+000000F4h] cmp eax,ecx jnz L0047A977 L0047A983: mov eax,[edx+000000F4h] mov eax,[eax+000000F4h] mov [edx+000000F4h],eax L0047A995: mov eax,[ecx+000000F0h] cmp [eax+000000F4h],esi jnz L0047AA0E mov [eax+000000F0h],esi mov edx,[ecx+000000F0h] mov [edx+000000FCh],esi mov eax,[ecx+000000F0h] mov [eax+00000100h],esi mov edx,[ecx+000000F0h] mov [edx+00000104h],esi mov eax,[ecx+000000F0h] mov [eax+00000108h],esi mov edx,[ecx+000000F0h] mov [edx+0000010Ch],esi mov eax,[ecx+000000F0h] mov [eax+00000110h],esi mov edx,[ecx+000000F0h] mov [edx+00000114h],esi mov eax,[ecx+000000F0h] mov [eax+00000118h],esi jmp L0047AABA L0047AA0E: mov [eax+0000010Ch],eax mov eax,[ecx+000000F0h] mov [eax+00000110h],eax mov eax,[ecx+000000F0h] mov [eax+00000114h],eax mov eax,[ecx+000000F0h] mov [eax+00000118h],eax mov edx,[ecx+000000F0h] mov eax,[edx+000000F4h] cmp eax,esi jz L0047AABA L0047AA48: mov edx,[ecx+000000F0h] mov ebx,[eax+2Ch] mov edi,[edx+0000010Ch] cmp ebx,[edi+2Ch] jge L0047AA62 mov [edx+0000010Ch],eax L0047AA62: mov edx,[ecx+000000F0h] mov ebx,[eax+2Ch] mov edi,[edx+00000110h] cmp ebx,[edi+2Ch] jle L0047AA7C mov [edx+00000110h],eax L0047AA7C: mov edx,[ecx+000000F0h] mov ebx,[eax+30h] mov edi,[edx+00000114h] cmp ebx,[edi+30h] jge L0047AA96 mov [edx+00000114h],eax L0047AA96: mov edx,[ecx+000000F0h] mov ebx,[eax+30h] mov edi,[edx+00000118h] cmp ebx,[edi+30h] jle L0047AAB0 mov [edx+00000118h],eax L0047AAB0: mov eax,[eax+000000F4h] cmp eax,esi jnz L0047AA48 L0047AABA: mov eax,[ecx+000000FCh] cmp eax,esi jz L0047AACA mov [eax+00000100h],esi L0047AACA: mov eax,[ecx+00000100h] cmp eax,esi jz L0047AADA mov [eax+000000FCh],esi L0047AADA: mov eax,[ecx+00000104h] cmp eax,esi jz L0047AAEA mov [eax+00000108h],esi L0047AAEA: mov eax,[ecx+00000108h] cmp eax,esi jz L0047AAFA mov [eax+00000104h],esi L0047AAFA: mov [ecx+000000F4h],esi mov [ecx+000000F0h],esi mov [ecx+00000100h],esi mov [ecx+000000FCh],esi mov [ecx+00000108h],esi mov [ecx+00000104h],esi pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ Align 16 SUB_L0047AB30: push ebp mov ebp,esp push FFFFFFFFh push L004B4B8E mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push esi mov esi,ecx push edi mov [ebp-10h],esi call SUB_L00441CB0 mov eax,[ebp+08h] mov ecx,[ebp+0Ch] mov [esi+2Ch],eax mov eax,[ebp+10h] xor edi,edi mov dword ptr [esi],L004BBA68 cmp eax,edi mov [ebp-04h],edi mov dword ptr [esi+04h],SSZ004CE3A8_stack_gump mov [esi+5Ch],edi mov [esi+00000094h],edi mov [esi+30h],ecx mov [esi+60h],edi mov [esi+34h],eax jz L0047AB90 mov [eax+00000090h],esi L0047AB90: lea eax,[esi+20h] lea ebx,[esi+1Ch] mov ecx,0000085Ch push eax mov edx,ebx mov [esi+50h],ecx mov [esi+4Ch],edi mov [esi+48h],edi mov [esi+44h],edi mov [esi+40h],edi mov [esi+3Ch],edi call SUB_L004390A0 mov eax,[ebx] push SSZ004C451C_framedata_for_CStatusGump add eax,00000007h push 00000008h and al,F8h mov ecx,L00669C8C mov [esi+18h],eax mov [ebx],eax mov [esi+10h],edi mov dword ptr [esi+14h],00000001h call SUB_L0044FBD0 mov ecx,[esi+14h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+38h],edi push SSZ004C450C_status_frame0 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[ebx] imul eax,[esi+20h] lea ecx,[eax+eax+04h] push ecx mov ecx,L00669C8C call SUB_L0044FBD0 mov edx,[esi+38h] mov [edx+04h],eax mov ecx,[ebx] imul ecx,[esi+20h] mov edx,[esi+38h] xor eax,eax shl ecx,1 mov edi,[edx+04h] mov edx,ecx add edi,00000004h shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+38h] mov dx,[ebx] mov ecx,[eax+04h] mov [ecx],dx mov eax,[esi+38h] mov dx,[esi+20h] mov ecx,[eax+04h] xor eax,eax mov [ecx+02h],dx mov ecx,[esi+34h] mov dword ptr [esi+00000098h],00000000h lea edx,[esi+000000A4h] mov ax,[ecx+3Ch] push eax push L004C43EC push edx mov [esi+000000A0h],eax mov [esi+0000009Ch],eax call SUB_L0049AC80 add esp,0000000Ch mov ecx,L00669608 push esi call SUB_L0043FF10 push 00000001h mov ecx,esi call SUB_L0047AFE0 push 000000B4h call SUB_L0049A820 add esp,00000004h mov [ebp+08h],eax test eax,eax mov byte ptr [ebp-04h],01h jz L0047ACCC push 00000845h push esi push 00000088h push 00000000h push 00000010h push 0000001Ch mov ecx,eax call SUB_L00412A50 jmp L0047ACCE L0047ACCC: xor eax,eax L0047ACCE: mov [esi+000000ACh],eax mov word ptr [eax+000000ACh],0846h mov ecx,[esi+000000ACh] push 00000001h push esi mov byte ptr [ebp-04h],00h call SUB_L004415C0 mov eax,[esi+000000A0h] mov ecx,[esi+0000009Ch] push eax push ecx mov ecx,[esi+000000ACh] call SUB_L00412F50 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp+08h],eax test eax,eax mov byte ptr [ebp-04h],02h jz L0047AD43 push 00000000h push 0000085Eh push 0000085Dh push SUB_L0040DB70 push 00000000h push 00000000h push esi push 00000025h push 00000066h mov ecx,eax call SUB_L004122F0 jmp L0047AD45 L0047AD43: xor eax,eax L0047AD45: push 00000001h push esi mov ecx,eax mov byte ptr [ebp-04h],00h mov dword ptr [eax+000000A4h],0000081Ch call SUB_L004415C0 mov ecx,[ebp-0Ch] mov eax,esi pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 16 L0047AD80: push ebp mov ebp,esp push esi mov esi,ecx call SUB_L0047ADB0 test byte ptr [ebp+08h],01h jz L0047AD9A push esi call SUB_L0049A810 add esp,00000004h L0047AD9A: mov eax,esi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L0047ADB0: push ebp mov ebp,esp push FFFFFFFFh push L004B4BA8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx push edi mov [ebp-10h],esi mov dword ptr [esi],L004BBA68 mov eax,[esi+38h] xor edi,edi mov [ebp-04h],edi mov eax,[eax+04h] cmp eax,edi jz L0047ADFB push SSZ004CE3C4_stack_frame0_pBMP push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov ecx,[esi+38h] mov [ecx+04h],edi L0047ADFB: mov eax,[esi+38h] cmp eax,edi jz L0047AE15 push SSZ004CE3B4_stack_framedata push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov [esi+38h],edi L0047AE15: mov eax,[esi+34h] cmp eax,edi jz L0047AE2A cmp [eax+00000090h],edi jz L0047AE2A mov [eax+00000090h],edi L0047AE2A: mov ecx,esi mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00441D50 mov ecx,[ebp-0Ch] pop edi mov fs:[00000000h],ecx pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 L0047AE50: push ebp mov ebp,esp mov eax,[ebp+08h] push esi mov esi,ecx push 00000000h mov ecx,[ebp+0Ch] mov [esi+70h],ecx mov ecx,esi mov dword ptr [esi+00000094h],00000001h mov [esi+6Ch],eax call SUB_L00441340 push esi mov ecx,L00669608 call SUB_L0043FF10 push 00000000h mov ecx,esi call SUB_L0047AFE0 pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 4 L0047AE90: push ebp mov ebp,esp push esi mov esi,ecx mov eax,[esi+000000A0h] imul eax,[ebp+08h] cdq idiv [ebp+0Ch] mov [esi+0000009Ch],eax push eax lea eax,[esi+000000A4h] push L004C43EC push eax call SUB_L0049AC80 add esp,0000000Ch mov ecx,esi push 00000000h call SUB_L0047AFE0 pop esi pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 4 L0047AED0: push ebp mov ebp,esp push ecx mov eax,[ebp+08h] push ebx xor edx,edx push esi cmp eax,0000000Dh push edi mov ebx,ecx mov [ebp-04h],edx jnz L0047AEED call SUB_L0040DB70 jmp L0047AEFF L0047AEED: cmp eax,00000030h jl L0047AEF7 cmp eax,00000039h jle L0047AEFC L0047AEF7: cmp eax,00000008h jnz L0047AF02 L0047AEFC: mov [ebp-04h],eax L0047AEFF: mov edx,[ebp-04h] L0047AF02: test edx,edx jz L0047AFD4 mov eax,[ebx+00000098h] test eax,eax jnz L0047AF4A mov edi,L004D77C0 or ecx,FFFFFFFFh xor eax,eax mov dword ptr [ebx+00000098h],00000001h repne scasb not ecx lea esi,[ebx+000000A4h] sub edi,ecx mov eax,ecx mov [ebp+08h],esi mov esi,edi mov edi,[ebp+08h] shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb L0047AF4A: lea esi,[ebx+000000A4h] or ecx,FFFFFFFFh mov edi,esi xor eax,eax repne scasb not ecx dec ecx cmp edx,00000008h jnz L0047AF73 test ecx,ecx jz L0047AF6E mov [ecx+ebx+000000A3h],al jmp L0047AFA3 L0047AF6E: cmp edx,00000008h jz L0047AFA3 L0047AF73: cmp edx,00000030h jnz L0047AF7C test ecx,ecx jz L0047AFA3 L0047AF7C: lea edi,[ecx+ebx+000000A4h] push esi mov [edi],dl mov byte ptr [ecx+ebx+000000A5h],00h call SUB_L0049BB10 mov ecx,[ebx+000000A0h] add esp,00000004h cmp eax,ecx jle L0047AFA3 mov byte ptr [edi],00h L0047AFA3: push esi call SUB_L0049BB10 add esp,00000004h mov ecx,ebx mov [ebx+0000009Ch],eax push 00000000h call SUB_L0047AFE0 mov ecx,[ebx+000000A0h] mov edx,[ebx+0000009Ch] push ecx mov ecx,[ebx+000000ACh] push edx call SUB_L00412F50 L0047AFD4: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L0047AFE0: push ebp mov ebp,esp sub esp,00000024h push ebx mov ebx,ecx push esi xor esi,esi mov eax,[ebx+1Ch] mov ecx,[ebx+20h] mov edx,[ebx+38h] dec eax dec ecx mov [ebp-24h],esi mov [ebp-1Ch],eax mov [ebp-20h],esi mov [ebp-18h],ecx mov eax,[edx+04h] xor ecx,ecx xor edx,edx mov cx,[eax+02h] mov dx,[eax] push edi push ecx add eax,00000004h push edx mov edx,[ebx+50h] push eax push esi push esi mov ecx,SUB_L00488700 call SUB_L00439100 mov eax,[ebx+1Ch] mov ecx,[ebx+20h] mov [ebp-1Ch],eax mov [ebp-18h],ecx lea edi,[ebx+000000A4h] or ecx,FFFFFFFFh xor eax,eax mov [ebp-24h],esi repne scasb not ecx sub edi,ecx mov [ebp-20h],esi lea edx,[ebp-14h] mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax lea edx,[ebp-0Ch] and ecx,00000003h lea eax,[ebp-08h] rep movsb lea ecx,[ebp-04h] push ecx push edx push eax push L004C41E4 push 00000001h mov ecx,L00669CC8 call SUB_L00437A10 lea edi,[ebp-14h] or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx jz L0047B0D9 lea ecx,[ebp-04h] lea edx,[ebp-0Ch] push ecx lea eax,[ebp-08h] push edx lea ecx,[ebp-14h] push eax push ecx push 00000001h mov ecx,L00669CC8 call SUB_L00437A10 mov ecx,[ebx+38h] mov eax,[ebx+1Ch] lea edx,[ebp-24h] push edx mov edx,[ecx+04h] mov ecx,[ebp-04h] push eax add edx,00000004h lea eax,[ebp-14h] push edx push eax push 00000386h add ecx,0000002Ah push 00000001h push ecx push 0000001Dh mov ecx,L00669CC8 call SUB_L004371A0 jmp L0047B0E0 L0047B0D9: mov dword ptr [ebp-08h],00000000h L0047B0E0: cmp [L0066962C],ebx jnz L0047B142 mov edi,L004C4304 or ecx,FFFFFFFFh xor eax,eax lea edx,[ebp-14h] repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx mov edx,[ebx+1Ch] shr ecx,02h rep movsd mov ecx,eax mov eax,[ebx+38h] and ecx,00000003h rep movsb lea ecx,[ebp-24h] push ecx mov ecx,[eax+04h] mov eax,[ebp-04h] push edx add ecx,00000004h lea edx,[ebp-14h] push ecx mov ecx,[ebp-08h] push edx push 00000386h add eax,0000002Ah push 00000001h add ecx,0000001Eh push eax push ecx mov ecx,L00669CC8 call SUB_L004371A0 L0047B142: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 8 L0047B150: push ebp mov ebp,esp sub esp,00000018h push ebx push esi xor eax,eax push edi mov edi,ecx mov [ebp-08h],eax mov [ebp-04h],eax lea eax,[ebp-04h] lea ecx,[ebp-08h] push eax push ecx mov ecx,edi call SUB_L00440C60 mov edx,[edi+38h] mov eax,[ebp-08h] mov ecx,[ebp-04h] mov ebx,[ebp+08h] mov esi,[edx+04h] xor edx,edx mov [ebp-18h],eax mov [ebp-14h],ecx mov dx,[esi] add eax,edx mov [ebp-10h],eax xor eax,eax mov ax,[esi+02h] add ecx,eax mov [ebp-0Ch],ecx lea ecx,[ebp-18h] push ecx push ebx mov ecx,L00669608 call SUB_L00440D40 test eax,eax jz L0047B1FC mov edx,[L004C7F38] mov eax,[L004C7F34] mov ecx,[L006BAE7C] push edx mov edx,[ebp-04h] push eax mov eax,[ebp-08h] push ecx push edx xor ecx,ecx mov cx,[esi+02h] xor edx,edx mov dx,[esi] push eax push ecx push edx push ebx lea edx,[esi+04h] mov ecx,SUB_L00488700 call SUB_L00439500 mov esi,[edi+4Ch] test esi,esi jz L0047B1FC L0047B1ED: mov eax,[esi] push ebx mov ecx,esi call [eax+0Ch] mov esi,[esi+40h] test esi,esi jnz L0047B1ED L0047B1FC: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L0047B210: push ebp mov ebp,esp push FFFFFFFFh push L004B4BE9 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,0000000Ch push ebx push esi mov esi,ecx push edi mov [ebp-14h],esi call SUB_L00441CB0 mov ecx,[ebp+18h] mov eax,[ebp+14h] mov edx,[ebp+08h] xor edi,edi mov [esi+0000009Ch],ecx lea ecx,[esi+000000BCh] mov [ebp-04h],edi mov [esi+00000094h],eax mov [esi+00000098h],edi mov [esi+000000A4h],edi mov [esi+000000A8h],edi mov [esi+000000ACh],edi mov [esi+000000B0h],edi mov [esi+000000B4h],edi mov [esi+000000B8h],edi mov dword ptr [esi],L004BBBB0 mov dword ptr [esi+04h],SSZ004CE404_profile_gump call SUB_L00491D80 mov edx,[ebp+0Ch] lea ebx,[esi+000008BCh] mov ecx,ebx call SUB_L00491D10 mov edx,[ebp+10h] lea ecx,[esi+000018BCh] call SUB_L00491D10 mov edx,[ebp+0Ch] lea ecx,[esi+000010BCh] call SUB_L00491D10 mov edx,[ebp+10h] lea ecx,[esi+000020BCh] call SUB_L00491D10 mov eax,[esi+00000094h] lea ecx,[esi+000018BCh] cmp eax,edi jnz L0047B2E0 mov ecx,ebx L0047B2E0: mov [esi+000028BCh],ecx call SUB_L00491C00 lea ebx,[esi+20h] lea edi,[esi+1Ch] mov ecx,00000820h push ebx mov edx,edi mov [esi+000028C0h],eax mov [esi+50h],ecx call SUB_L004390A0 mov edx,[edi] mov dword ptr [ebx],0000012Ch lea ebx,[esi+28h] mov [esi+18h],edx lea edx,[esi+24h] push ebx mov ecx,000009D4h mov dword ptr [esi+2Ch],000000AAh mov dword ptr [esi+30h],0000005Ah call SUB_L004390A0 push SSZ004CE3F0_profile_framedata push 00000010h mov ecx,L00669C8C mov dword ptr [esi+10h],00000000h mov dword ptr [esi+14h],00000002h call SUB_L0044FBD0 mov ecx,[esi+14h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+38h],edi push SSZ004CE3E0_profile_frame1 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+24h] imul eax,[ebx] lea ecx,[eax+eax+04h] push ecx mov ecx,L00669C8C call SUB_L0044FBD0 mov edx,[esi+38h] mov [edx+0Ch],eax mov ecx,[esi+24h] imul ecx,[ebx] mov edx,[esi+38h] xor eax,eax shl ecx,1 mov edi,[edx+0Ch] mov edx,ecx add edi,00000004h shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+38h] mov dx,[esi+24h] mov ecx,[eax+0Ch] mov [ecx],dx mov eax,[esi+38h] mov dx,[ebx] mov ecx,[eax+0Ch] mov [ecx+02h],dx mov eax,[esi+38h] xor ecx,ecx xor edx,edx mov eax,[eax+0Ch] mov cx,[eax+02h] mov dx,[eax] push ecx add eax,00000004h push edx push eax push 00000000h push 00000000h mov edx,000009D4h mov ecx,SUB_L00488700 call SUB_L00439100 lea eax,[ebp-10h] lea edx,[ebp-18h] push eax mov ecx,0000082Eh call SUB_L004390A0 push 000000B4h call SUB_L0049A820 add esp,00000004h mov [ebp+0Ch],eax test eax,eax mov byte ptr [ebp-04h],01h jz L0047B43A mov ecx,[esi+20h] mov edi,[ebp-10h] sub ecx,edi push 0000001Fh sub ecx,00000038h push esi push ecx push 00000001h push 00000048h push 00000100h mov ecx,eax call SUB_L00412A50 jmp L0047B43C L0047B43A: xor eax,eax L0047B43C: push 00000001h push esi mov ecx,eax mov byte ptr [ebp-04h],00h mov [esi+000000A0h],eax call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp+0Ch],eax test eax,eax mov byte ptr [ebp-04h],02h jz L0047B48E push 00000000h push 0000082Dh push 0000082Dh push SUB_L0040D6E0 push 00000000h push 00000000h push esi push 00000000h push 00000089h mov ecx,eax call SUB_L004122F0 jmp L0047B490 L0047B48E: xor eax,eax L0047B490: push 00000001h push esi mov ecx,eax mov byte ptr [ebp-04h],00h call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp+0Ch],eax test eax,eax mov byte ptr [ebp-04h],03h jz L0047B4E6 mov edx,[esi+20h] mov ecx,[ebp-10h] push 00000000h push 0000082Eh push 0000082Eh push L00411760 sub edx,ecx push 00000000h push 00000000h sub edx,00000003h push esi push edx push 00000089h mov ecx,eax call SUB_L004122F0 jmp L0047B4E8 L0047B4E6: xor eax,eax L0047B4E8: push 00000001h push esi mov ecx,eax mov byte ptr [ebp-04h],00h mov dword ptr [eax+000000A4h],0000082Fh call SUB_L004415C0 mov eax,[esi+20h] mov ecx,[esi+1Ch] push 00000000h push eax push ecx mov ecx,esi call SUB_L0047B820 push 00000001h push 00000000h mov ecx,esi call SUB_L004415C0 mov ecx,[ebp-0Ch] mov eax,esi pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0014h ;------------------------------------------------------------------------------ Align 16 L0047B540: push ebp mov ebp,esp push esi mov esi,ecx call SUB_L0047B570 test byte ptr [ebp+08h],01h jz L0047B55A push esi call SUB_L0049A810 add esp,00000004h L0047B55A: mov eax,esi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L0047B570: push ebp mov ebp,esp mov eax,fs:[00000000h] push FFFFFFFFh push L004B4C08 push eax mov eax,0000200Ch mov fs:[00000000h],esp call SUB_L0049ACF0 push ebx push esi push edi mov edi,ecx mov [ebp-14h],edi mov dword ptr [edi],L004BBBB0 mov eax,[L006BB1CC] xor esi,esi cmp eax,esi mov [ebp-04h],esi jz L0047B686 call SUB_L0048B870 test eax,eax jz L0047B5D0 lea edx,[edi+000010BCh] lea ecx,[edi+000008BCh] call SUB_L00491C20 test eax,eax jnz L0047B5F5 L0047B5D0: cmp [edi+00000094h],esi jz L0047B686 lea edx,[edi+000020BCh] lea ecx,[edi+000018BCh] call SUB_L00491C20 test eax,eax jz L0047B686 L0047B5F5: mov eax,[edi+00000094h] mov ebx,[edi+0000009Ch] mov esi,[edi+000028BCh] mov dl,B8h lea ecx,[ebp-00002018h] mov [ebp-10h],eax call SUB_L004685A0 mov dl,01h lea ecx,[ebp-00002018h] call SUB_L004685E0 mov edx,ebx lea ecx,[ebp-00002018h] call SUB_L004686B0 mov edx,[ebp-10h] lea ecx,[ebp-00002018h] call SUB_L00468630 mov ecx,esi call SUB_L00491C00 mov edx,eax lea ecx,[ebp-00002018h] call SUB_L00468630 mov dx,[esi] test dx,dx jz L0047B672 L0047B65B: lea ecx,[ebp-00002018h] call SUB_L00468630 mov dx,[esi+02h] add esi,00000002h test dx,dx jnz L0047B65B L0047B672: lea ecx,[ebp-00002018h] push ecx mov ecx,[L006BB1CC] call SUB_L0048B170 xor esi,esi L0047B686: mov edx,[edi+38h] mov eax,[edx+04h] cmp eax,esi jz L0047B6A6 push SSZ004CE414_profile_frame0 push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov eax,[edi+38h] mov [eax+04h],esi L0047B6A6: mov ecx,[edi+38h] mov eax,[ecx+0Ch] cmp eax,esi jz L0047B6C6 push SSZ004CE3E0_profile_frame1 push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov edx,[edi+38h] mov [edx+0Ch],esi L0047B6C6: mov eax,[edi+38h] cmp eax,esi jz L0047B6E0 push SSZ004CE3F0_profile_framedata push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov [edi+38h],esi L0047B6E0: mov ecx,edi mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00441D50 mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 4 L0047B700: push ebp mov ebp,esp sub esp,00000018h push ebx mov ebx,ecx push esi lea eax,[ebp-04h] push edi lea ecx,[ebp-08h] push eax xor esi,esi push ecx mov ecx,ebx mov [ebp-08h],esi mov [ebp-04h],esi call SUB_L00440C60 cmp [ebx+60h],esi jnz L0047B72F mov edx,[ebx+38h] mov esi,[edx+04h] jmp L0047B735 L0047B72F: mov eax,[ebx+38h] mov esi,[eax+0Ch] L0047B735: mov ecx,[ebp-08h] mov eax,[ebp-04h] xor edx,edx mov edi,[ebp+08h] mov [ebp-18h],ecx mov [ebp-14h],eax mov dx,[esi] add edx,ecx xor ecx,ecx mov [ebp-10h],edx mov cx,[esi+02h] lea edx,[ebp-18h] add eax,ecx push edx push edi mov ecx,L00669608 mov [ebp-0Ch],eax call SUB_L00440D40 test eax,eax jz L0047B7C0 mov eax,[L004C7F38] mov ecx,[L004C7F34] mov edx,[L006BAE7C] push eax mov eax,[ebp-04h] push ecx mov ecx,[ebp-08h] push edx push eax xor edx,edx mov dx,[esi+02h] xor eax,eax mov ax,[esi] push ecx push edx push eax push edi lea edx,[esi+04h] mov ecx,SUB_L00488700 call SUB_L00439500 mov eax,[ebx+60h] test eax,eax jnz L0047B7C0 mov esi,[ebx+4Ch] test esi,esi jz L0047B7C0 L0047B7B1: mov edx,[esi] push edi mov ecx,esi call [edx+0Ch] mov esi,[esi+40h] test esi,esi jnz L0047B7B1 L0047B7C0: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 8 L0047B7D0: push ebp mov ebp,esp mov eax,[ecx+60h] push esi test eax,eax jnz L0047B7E3 mov eax,[ecx+38h] mov edx,[eax+04h] jmp L0047B7E9 L0047B7E3: mov ecx,[ecx+38h] mov edx,[ecx+0Ch] L0047B7E9: xor eax,eax xor ecx,ecx mov ax,[edx] mov cx,[edx+02h] mov edx,[ebp+08h] test edx,edx jl L0047B814 mov esi,[ebp+0Ch] test esi,esi jl L0047B814 cmp edx,eax jge L0047B814 cmp esi,ecx jge L0047B814 mov eax,00000001h pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ L0047B814: xor eax,eax pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 8 SUB_L0047B820: push ebp mov ebp,esp push ebx mov ebx,ecx push esi push edi mov esi,[ebx+44h] test esi,esi jz L0047B8C5 L0047B833: mov eax,[esi] mov ecx,esi call [eax+000000B4h] test eax,eax jz L0047B884 mov ecx,[ebp+08h] mov edi,[ebx+1Ch] mov eax,[esi+2Ch] mov edx,ecx sub edx,edi add edx,eax mov [esi+0000009Ch],edx mov edx,[ebx+1Ch] sub ecx,edx add ecx,eax mov eax,[esi+0000009Ch] mov [esi+000000A0h],ecx mov ecx,[ebp+0Ch] mov [esi+2Ch],eax mov edx,[ebx+20h] mov eax,[esi+000000A8h] sub ecx,edx add eax,ecx mov [esi+000000A8h],eax jmp L0047B8BA L0047B884: mov ecx,[ebx+1Ch] mov edi,[esi+2Ch] mov eax,ecx cdq sub eax,edx sar eax,1 cmp edi,eax jle L0047B89F mov edx,[ebp+08h] sub edx,ecx add edx,edi mov [esi+2Ch],edx L0047B89F: mov ecx,[ebx+20h] mov edi,[esi+30h] mov eax,ecx cdq sub eax,edx sar eax,1 cmp edi,eax jle L0047B8BA mov eax,[ebp+0Ch] sub eax,ecx add eax,edi mov [esi+30h],eax L0047B8BA: mov esi,[esi+3Ch] test esi,esi jnz L0047B833 L0047B8C5: mov ecx,[ebx+38h] mov eax,[ecx+04h] test eax,eax jz L0047B8E9 push SSZ004CE414_profile_frame0 push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov edx,[ebx+38h] mov dword ptr [edx+04h],00000000h L0047B8E9: mov eax,[ebp+0Ch] push SSZ004C5028_text_frame0 mov [ebx+20h],eax imul eax,[ebx+1Ch] lea eax,[eax+eax+04h] mov ecx,L00669C8C push eax call SUB_L0044FBD0 mov ecx,[ebx+38h] mov [ecx+04h],eax mov ecx,[ebx+20h] imul ecx,[ebx+1Ch] mov edx,[ebx+38h] xor eax,eax shl ecx,1 mov edi,[edx+04h] mov edx,ecx add edi,00000004h shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[ebx+38h] mov dx,[ebx+1Ch] mov ecx,[eax+04h] mov [ecx],dx mov eax,[ebx+38h] mov dx,[ebx+20h] mov ecx,[eax+04h] mov [ecx+02h],dx mov ecx,ebx call SUB_L0047B960 pop edi pop esi pop ebx pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 16 SUB_L0047B960: push ebp mov ebp,esp sub esp,00000030h push ebx push esi push edi mov esi,ecx call SUB_L00492730 mov ecx,00000001h mov [ebp-20h],eax call SUB_L00492740 lea eax,[ebp-08h] lea edx,[ebp-14h] push eax mov ecx,0000082Dh call SUB_L004390A0 mov edi,[ebp-08h] lea ecx,[ebp-08h] push ecx lea edx,[ebp-14h] mov ecx,0000082Eh call SUB_L004390A0 mov eax,[esi+38h] mov edx,[ebp-08h] dec edi push edx mov ecx,[eax+04h] push edi push ecx mov ecx,[esi+50h] mov edx,00000002h call SUB_L00484D60 mov edx,[esi+000000B0h] mov eax,[esi+1Ch] mov edi,0000001Eh lea ecx,[ebp-0Ch] sub edi,edx mov edx,[esi+20h] sub edx,00000046h push ecx mov [ebp-24h],edx lea edx,[ebp-04h] sub eax,00000046h lea ecx,[ebp-10h] lea ebx,[esi+000000BCh] push edx push ecx lea edx,[eax-5Ah] mov ecx,ebx mov dword ptr [ebp-2Ch],0000003Ch mov dword ptr [ebp-30h],0000005Ah mov [ebp-28h],eax call SUB_L00492F30 lea edx,[ebp-30h] mov ecx,[esi+1Ch] push edx mov edx,[ebp-28h] lea eax,[edi+1Ah] push 00000860h push eax mov eax,[ebp-30h] push eax sub edx,eax mov eax,[esi+38h] push ebx push ecx mov ecx,[eax+04h] add ecx,00000004h call SUB_L004935B0 mov eax,[ebp-04h] mov ecx,[esi+38h] add edi,eax mov eax,[esi+1Ch] mov dword ptr [ebp-30h],00000028h mov [ebp-28h],eax mov edx,[ecx+04h] add eax,FFFFFFABh push edx push 00000000h push eax push edi push 00000028h lea edx,[ebp-30h] mov ecx,0000005Ch call SUB_L0047BC70 mov edx,[esi+1Ch] lea eax,[ebp-0Ch] push eax lea ecx,[ebp-04h] lea eax,[ebp-10h] push ecx sub edx,00000032h push eax mov eax,[ebp-30h] lea ebx,[esi+000018BCh] mov [ebp-28h],edx sub edx,eax mov ecx,ebx add edi,0000002Ch call SUB_L00492F30 mov edx,[L004CE3DC] mov eax,[ebp-30h] lea ecx,[ebp-30h] push ecx mov ecx,[esi+1Ch] push edx mov edx,[ebp-28h] push edi push eax sub edx,eax mov eax,[esi+38h] push ebx push ecx mov ecx,[eax+04h] add ecx,00000004h call SUB_L004935B0 mov eax,[esi+000000B8h] test eax,eax jz L0047BB40 cmp [esi+000028BCh],ebx jnz L0047BB40 mov eax,[ebp-28h] lea ecx,[ebp-18h] lea edx,[ebp-1Ch] push ecx mov ecx,[esi+000028C0h] push edx mov edx,[ebp-30h] sub eax,edx mov edx,ebx push eax call SUB_L004932B0 mov eax,[ebp-18h] mov edx,[L004CE3DC] lea ecx,[ebp-30h] add eax,edi push ecx mov ecx,[ebp-30h] push edx mov edx,[ebp-1Ch] push eax mov eax,[esi+38h] add edx,ecx mov ecx,[eax+04h] push edx mov edx,[esi+1Ch] push L004D0578 add ecx,00000004h call SUB_L00492A20 mov eax,[ebp-04h] mov ecx,[ebp-24h] lea edx,[edi+eax] cmp edx,ecx jle L0047BB43 sub edi,ecx mov ecx,esi add edi,eax mov eax,[esi+000000B0h] add eax,edi mov [esi+000000B0h],eax call SUB_L0047B960 pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L0047BB40: mov eax,[ebp-04h] L0047BB43: lea ebx,[esi+000008BCh] add edi,eax cmp word ptr [ebx],0000h jz L0047BC27 mov eax,[esi+1Ch] mov ecx,[esi+38h] mov [ebp-28h],eax add eax,FFFFFFABh mov edx,[ecx+04h] mov ecx,0000005Fh push edx push 00000009h push eax push edi push 00000028h lea edx,[ebp-30h] call SUB_L0047BC70 mov edx,[esi+1Ch] lea eax,[ebp-0Ch] push eax lea ecx,[ebp-04h] lea eax,[ebp-10h] push ecx sub edx,00000032h push eax mov eax,[ebp-30h] mov [ebp-28h],edx sub edx,eax mov ecx,ebx add edi,0000001Ah call SUB_L00492F30 mov edx,[L004CE3D8] mov eax,[ebp-30h] lea ecx,[ebp-30h] push ecx mov ecx,[esi+1Ch] push edx mov edx,[ebp-28h] push edi push eax sub edx,eax mov eax,[esi+38h] push ebx push ecx mov ecx,[eax+04h] add ecx,00000004h call SUB_L004935B0 mov eax,[esi+000000B8h] test eax,eax jz L0047BC24 cmp [esi+000028BCh],ebx jnz L0047BC24 mov eax,[ebp-28h] lea ecx,[ebp-1Ch] lea edx,[ebp-18h] push ecx mov ecx,[esi+000028C0h] push edx mov edx,[ebp-30h] sub eax,edx mov edx,ebx push eax call SUB_L004932B0 mov eax,[ebp-1Ch] mov edx,[L004CE3D8] lea ecx,[ebp-30h] add eax,edi push ecx mov ecx,[ebp-30h] push edx mov edx,[ebp-18h] push eax mov eax,[esi+38h] add edx,ecx mov ecx,[eax+04h] push edx mov edx,[esi+1Ch] push L004D0578 add ecx,00000004h call SUB_L00492A20 L0047BC24: add edi,[ebp-04h] L0047BC27: mov eax,[esi+000000B0h] mov edx,[esi+20h] add edi,eax sub edi,edx add edi,00000050h jns L0047BC3B xor edi,edi L0047BC3B: cmp eax,edi mov [esi+000000B4h],edi jle L0047BC52 mov ecx,esi mov [esi+000000B0h],edi call SUB_L0047B960 L0047BC52: mov ecx,[ebp-20h] call SUB_L00492740 pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L0047BC70: push ebp mov ebp,esp sub esp,00000024h push ebx push esi mov ebx,edx lea eax,[ebp-1Ch] push edi mov esi,ecx push eax lea edx,[ebp-08h] call SUB_L004390A0 lea edx,[ebp-20h] lea ecx,[esi+01h] push edx lea edx,[ebp-10h] mov [ebp-0Ch],ecx call SUB_L004390A0 lea eax,[ebp-24h] lea ecx,[esi+02h] push eax lea edx,[ebp-04h] mov [ebp-18h],ecx call SUB_L004390A0 mov edi,[ebp+18h] xor ecx,ecx xor edx,edx mov cx,[edi+02h] mov dx,[edi] lea eax,[edi+04h] push ecx mov ecx,[ebp+08h] push edx mov [ebp+18h],eax push eax mov eax,[ebp+0Ch] mov edx,esi push eax push ecx push ebx mov ecx,SUB_L00488700 call SUB_L00439290 mov edx,[ebp-08h] mov eax,[ebp+08h] mov ecx,[ebx+08h] lea esi,[edx+eax] mov edx,[ebp+10h] mov eax,[ebp-04h] mov [ebp-14h],ecx mov ecx,[ebp+08h] sub edx,eax add ecx,edx cmp esi,ecx mov [ebx+08h],ecx jge L0047BD41 mov edx,[ebp+14h] mov eax,[ebp+0Ch] add edx,eax mov [ebp+14h],edx L0047BD07: mov eax,[ebp+18h] xor ecx,ecx mov cx,[edi+02h] xor edx,edx mov dx,[edi] push ecx mov ecx,[ebp+14h] push edx mov edx,[ebp-0Ch] push eax push ecx push esi push ebx mov ecx,SUB_L00488700 call SUB_L00439290 mov edx,[ebp-10h] mov eax,[ebp-04h] mov ecx,[ebp+08h] add esi,edx mov edx,[ebp+10h] sub edx,eax add edx,ecx cmp esi,edx jl L0047BD07 L0047BD41: mov edx,[ebp-14h] mov ecx,[ebp+10h] mov [ebx+08h],edx xor edx,edx mov dx,[edi+02h] mov esi,[ebp+08h] push edx xor edx,edx mov dx,[edi] sub ecx,eax push edx mov edx,[ebp+18h] push edx mov edx,[ebp+0Ch] add ecx,esi push edx mov edx,[ebp-18h] push ecx push ebx mov ecx,SUB_L00488700 call SUB_L00439290 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0014h ;------------------------------------------------------------------------------ Align 4 L0047BD80: push ebp mov ebp,esp mov eax,[ebp+08h] push esi mov esi,ecx push 00000000h mov ecx,[ebp+0Ch] mov [esi+70h],ecx mov ecx,esi mov [esi+6Ch],eax mov dword ptr [esi+000000A4h],00000001h call SUB_L00441340 cmp dword ptr [esi+000000A8h],00000001h jnz L0047BDBD mov dword ptr [esi+000000A8h],00000002h pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ L0047BDBD: mov dword ptr [esi+000000A8h],00000001h call [KERNEL32.dll!GetTickCount] mov [esi+000000ACh],eax pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 L0047BDE0: push ebp mov ebp,esp push esi mov esi,ecx mov eax,[esi+000000A8h] mov dword ptr [esi+000000A4h],00000000h cmp eax,00000002h jnz L0047BE20 mov eax,[esi+60h] mov dword ptr [esi+000000A8h],00000000h test eax,eax jz L0047BE6A call SUB_L0040D760 mov dword ptr [L006A9DD4],00000000h pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ L0047BE20: mov eax,[esi+60h] test eax,eax jnz L0047BE6A mov eax,[esi+00000094h] test eax,eax jnz L0047BE3A call SUB_L0048B870 test eax,eax jz L0047BE6A L0047BE3A: mov eax,[esi+000000B8h] test eax,eax jnz L0047BE6A mov ecx,L00669608 call SUB_L0043FDA0 push esi mov ecx,L00669608 call SUB_L0043FF10 mov ecx,esi mov dword ptr [esi+000000B8h],00000001h call SUB_L0047B960 L0047BE6A: mov dword ptr [L006A9DD4],00000000h pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 8 L0047BE80: push ebp mov ebp,esp mov eax,[ecx+000000B4h] imul eax,[ebp+08h] cdq idiv [ebp+0Ch] cmp eax,[ecx+000000B0h] jz L0047BEA4 mov [ecx+000000B0h],eax call SUB_L0047B960 L0047BEA4: pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 16 SUB_L0047BEB0: mov eax,[ecx+000000B8h] test eax,eax jz L0047BEC9 mov dword ptr [ecx+000000B8h],00000000h jmp SUB_L0047B960 L0047BEC9: retn ;------------------------------------------------------------------------------ Align 8 L0047BED0: push ebp mov ebp,esp push esi push edi mov edi,[ebp+08h] mov esi,ecx cmp edi,0000001Bh jg L0047BF95 jz L0047BF85 mov eax,edi sub eax,00000008h jz L0047BF62 dec eax jz L0047BF5C CASE_0047C094_PROC0006: cmp edi,0000000Dh jz L0047BF03 mov ecx,edi call SUB_L00492940 test eax,eax jz L0047BF5C L0047BF03: mov ecx,[esi+000028BCh] call SUB_L00491C00 cmp eax,000001FFh jge L0047BF5C cmp eax,[esi+000028C0h] jl L0047BF38 L0047BF1D: mov ecx,[esi+000028BCh] dec eax mov dx,[ecx+eax*2+02h] mov [ecx+eax*2+04h],dx mov ecx,[esi+000028C0h] cmp eax,ecx jge L0047BF1D L0047BF38: mov eax,[esi+000028C0h] mov ecx,[esi+000028BCh] mov [ecx+eax*2],di mov eax,[esi+000028C0h] inc eax mov ecx,esi mov [esi+000028C0h],eax call SUB_L0047B960 L0047BF5C: pop edi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ L0047BF62: mov eax,[esi+000028C0h] test eax,eax jle L0047BF5C dec eax push 0000E02Eh mov [esi+000028C0h],eax mov eax,[esi] mov ecx,esi call [eax+44h] pop edi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ L0047BF85: mov ecx,L00669608 call SUB_L0043FDA0 pop edi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ L0047BF95: lea eax,[edi-0000E023h] cmp eax,0000000Bh ja CASE_0047C094_PROC0006 jmp [CASE_PROCTABLE_0047C094+eax*4] CASE_0047C094_PROC000B: mov ecx,[esi+000028C0h] mov eax,[esi+000028BCh] cmp word ptr [eax+ecx*2],0000h jz L0047BF5C lea ecx,[ecx+ecx-02h] L0047BFC2: mov dx,[ecx+eax+04h] add ecx,00000002h mov [ecx+eax],dx mov eax,[esi+000028BCh] cmp word ptr [ecx+eax],0000h jnz L0047BFC2 mov ecx,esi call SUB_L0047B960 pop edi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0047C094_PROC0002: mov eax,[esi+000028C0h] test eax,eax jle L0047BF5C dec eax mov ecx,esi mov [esi+000028C0h],eax call SUB_L0047B960 pop edi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0047C094_PROC0004: mov ecx,[esi+000028BCh] mov edi,[esi+000028C0h] call SUB_L00491C00 cmp edi,eax jz L0047BF5C inc edi mov ecx,esi mov [esi+000028C0h],edi call SUB_L0047B960 pop edi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0047C094_PROC0000: mov ecx,[esi+000028BCh] call SUB_L00491C00 cmp [esi+000028C0h],eax jz L0047BF5C mov ecx,[esi+000028BCh] call SUB_L00491C00 mov ecx,esi mov [esi+000028C0h],eax call SUB_L0047B960 pop edi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0047C094_PROC0001: mov eax,[esi+000028C0h] test eax,eax jz L0047BF5C mov ecx,esi mov dword ptr [esi+000028C0h],00000000h call SUB_L0047B960 pop edi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_0047C094: dd CASE_0047C094_PROC0000 dd CASE_0047C094_PROC0001 dd CASE_0047C094_PROC0002 dd CASE_0047C094_PROC0001 dd CASE_0047C094_PROC0004 dd CASE_0047C094_PROC0000 dd CASE_0047C094_PROC0006 dd CASE_0047C094_PROC0006 dd CASE_0047C094_PROC0006 dd CASE_0047C094_PROC0006 dd CASE_0047C094_PROC0006 dd CASE_0047C094_PROC000B Align 16 SUB_L0047C0D0: push ebp mov ebp,esp push esi mov esi,[ebp+08h] mov dl,B8h mov ecx,esi call SUB_L004685A0 xor dl,dl mov ecx,esi call SUB_L004685E0 mov edx,[ebp+0Ch] mov ecx,esi call SUB_L004686B0 pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L0047C100: push ebp mov ebp,esp mov eax,fs:[00000000h] push FFFFFFFFh push L004B4C2B push eax mov eax,00001410h mov fs:[00000000h],esp call SUB_L0049ACF0 push ebx push esi mov esi,[ebp+08h] lea eax,[ebp-18h] push edi xor ebx,ebx push eax lea edx,[ebp-14h] mov ecx,esi mov [ebp-14h],ebx call SUB_L00468830 xor edi,edi L0047C13D: lea ecx,[ebp+0Bh] lea edx,[ebp-14h] push ecx mov ecx,esi call SUB_L004687A0 mov al,[ebp+0Bh] mov [ebp+edi-0000041Ch],al inc edi test al,al jnz L0047C13D mov [ebp+edi-0000041Ch],al lea edi,[ebp-0000141Ch] L0047C167: lea edx,[ebp-0Eh] mov ecx,esi push edx lea edx,[ebp-14h] call SUB_L004687E0 mov ax,[ebp-0Eh] inc ebx mov [edi],ax add edi,00000002h test ax,ax jnz L0047C167 mov [ebp+ebx*2-0000141Ch],ax xor ebx,ebx lea edi,[ebp-00000C1Ch] L0047C195: lea eax,[ebp-0Eh] lea edx,[ebp-14h] push eax mov ecx,esi call SUB_L004687E0 mov ax,[ebp-0Eh] inc ebx mov [edi],ax add edi,00000002h test ax,ax jnz L0047C195 mov esi,[L00669620] xor edi,edi cmp esi,edi mov [ebp+ebx*2-00000C1Ch],di jz L0047C1E9 L0047C1C7: mov edx,[esi] mov ecx,esi call [edx+00000140h] test eax,eax jz L0047C1E2 mov eax,[esi+0000009Ch] mov ecx,[ebp-18h] cmp eax,ecx jz L0047C231 L0047C1E2: mov esi,[esi+3Ch] cmp esi,edi jnz L0047C1C7 L0047C1E9: push 000028C4h call SUB_L0049A820 add esp,00000004h mov [ebp-1Ch],eax cmp eax,edi mov [ebp-04h],edi jz L0047C231 mov esi,[L0073EBE4] mov ecx,[ebp-18h] xor edx,edx push ecx mov edi,[esi+78h] cmp ecx,edi lea ecx,[ebp-00000C1Ch] setz dl push edx push ecx lea edx,[ebp-0000141Ch] lea ecx,[ebp-0000041Ch] push edx push ecx mov ecx,eax call SUB_L0047B210 L0047C231: mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L0047C250: push ebp mov ebp,esp push FFFFFFFFh push L004B4C48 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push esi mov esi,ecx push edi mov [ebp-10h],esi call SUB_L00441CB0 mov dword ptr [esi],L004BBCF8 mov al,[L0073EC3C] xor ebx,ebx mov dword ptr [L00740094],00000421h cmp al,bl mov [ebp-04h],ebx jz L0047C29E mov dword ptr [L00740094],00000841h L0047C29E: mov ecx,[ebp+0Ch] mov eax,[ebp+08h] mov [L0066963C],esi mov dword ptr [esi+04h],SSZ004CE480_radar_gump mov [esi+5Ch],ebx mov [esi+34h],ebx mov [esi+000000A0h],ebx mov [esi+0000009Ch],ebx mov [esi+30h],ecx mov ecx,[ebp+10h] lea edi,[esi+20h] mov [esi+00000098h],ebx mov [esi+00000094h],ebx lea edx,[esi+1Ch] push edi mov [esi+000000A8h],ebx mov [esi+000000A4h],ebx mov [esi+2Ch],eax mov [esi+60h],ebx mov [esi+50h],ecx mov [esi+4Ch],ebx mov [esi+48h],ebx mov [esi+44h],ebx mov [esi+40h],ebx mov [esi+3Ch],ebx call SUB_L004390A0 mov eax,[esi+1Ch] push SSZ004CE474_radar_zbuf mov [esi+18h],eax cdq sub eax,edx mov ecx,eax mov eax,[edi] cdq sub eax,edx sar eax,1 sar ecx,1 mov [esi+000200B2h],ax mov [esi+000200B0h],cx movsx edx,cx movsx eax,ax imul edx,eax push edx mov ecx,L00669C8C call SUB_L0044FBD0 push SSZ004CE458_framedata_for_CRadarGump push 00000010h mov ecx,L00669C8C mov [esi+000200B8h],eax mov dword ptr [esi+24h],00000028h mov dword ptr [esi+28h],00000014h mov [esi+10h],ebx mov dword ptr [esi+14h],00000002h call SUB_L0044FBD0 mov ecx,[esi+14h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+38h],edi push SSZ004CE448_radar_frame0 rep stosd mov ecx,edx and ecx,00000003h rep stosb movsx eax,[esi+000200B0h] movsx ecx,[esi+000200B2h] imul eax,ecx mov ecx,L00669C8C lea edx,[eax+eax+04h] push edx call SUB_L0044FBD0 mov ecx,[esi+38h] mov [ecx+04h],eax movsx ecx,[esi+000200B0h] movsx edx,[esi+000200B2h] imul ecx,edx mov edx,[esi+38h] shl ecx,1 xor eax,eax mov edi,[edx+04h] mov edx,ecx add edi,00000004h push SSZ004CE438_radar_frame1 shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+38h] mov dx,[esi+000200B0h] mov ecx,[eax+04h] mov [ecx],dx mov eax,[esi+38h] mov dx,[esi+000200B2h] mov ecx,[eax+04h] mov [ecx+02h],dx mov eax,[esi+24h] imul eax,[esi+28h] lea ecx,[eax+eax+04h] push ecx mov ecx,L00669C8C call SUB_L0044FBD0 mov edx,[esi+38h] push SSZ004CE424_radar_rotated_frame mov [edx+0Ch],eax mov ecx,[esi+24h] imul ecx,[esi+28h] mov edx,[esi+38h] xor eax,eax shl ecx,1 mov edi,[edx+0Ch] mov edx,ecx add edi,00000004h shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+38h] mov dx,[esi+24h] mov ecx,[eax+0Ch] mov [ecx],dx mov eax,[esi+38h] mov dx,[esi+28h] mov ecx,[eax+0Ch] mov [ecx+02h],dx mov eax,[esi+1Ch] imul eax,[esi+20h] lea ecx,[eax+eax+04h] push ecx mov ecx,L00669C8C call SUB_L0044FBD0 mov dx,[esi+1Ch] mov [esi+000200B4h],eax mov [eax],dx mov eax,[esi+000200B4h] mov cx,[esi+20h] mov [eax+02h],cx mov ecx,[esi+1Ch] imul ecx,[esi+20h] mov edi,[esi+000200B4h] xor eax,eax shl ecx,1 mov edx,ecx add edi,00000004h shr ecx,02h rep stosd mov ecx,edx xor edx,edx and ecx,00000003h rep stosb mov eax,[esi+000200B4h] xor ecx,ecx mov cx,[eax+02h] mov dx,[eax] push ecx add eax,00000004h push edx push eax push ebx mov edx,[esi+50h] push ebx mov ecx,SUB_L00488700 call SUB_L00439100 mov ecx,[esi+24h] mov edx,[esi+38h] imul ecx,[esi+28h] mov edi,[edx+0Ch] mov eax,14141414h shl ecx,1 mov edx,ecx add edi,00000004h shr ecx,02h rep stosd mov ecx,edx push L004C40E0 and ecx,00000003h push SSZ004C6BC0_radarcol_mul rep stosb movsx eax,[esi+000200B0h] cdq sub eax,edx mov [esi+000200BEh],bx mov [esi+000200BCh],bx mov ecx,[L006AAA9C] sar eax,1 sub ecx,eax movsx eax,[esi+000200B2h] cdq sub eax,edx mov [esi+000200ACh],cx mov edx,[L006AAAA0] mov ecx,L006BB1C8 sar eax,1 sub edx,eax mov [esi+000200AEh],dx call SUB_L00455E10 push eax call SUB_L0049A7F0 mov edi,eax add esp,00000008h cmp edi,ebx jz L0047C58A push edi push 00010000h lea eax,[esi+000000ACh] push 00000002h push eax call SUB_L0049A630 add esp,00000010h push edi call SUB_L0049A580 add esp,00000004h L0047C58A: mov ecx,esi mov [esi+000200C0h],ebx call SUB_L0047C890 mov ecx,[ebp-0Ch] mov eax,esi pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 8 L0047C5B0: push ebp mov ebp,esp push esi mov esi,ecx call SUB_L0047C5E0 test byte ptr [ebp+08h],01h jz L0047C5CA push esi call SUB_L0049A810 add esp,00000004h L0047C5CA: mov eax,esi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L0047C5E0: push ebp mov ebp,esp push FFFFFFFFh push L004B4C68 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx push edi mov [ebp-10h],esi mov dword ptr [esi],L004BBCF8 xor edi,edi mov [L0066963C],edi mov eax,[esi+000200B4h] cmp eax,edi mov [ebp-04h],edi jz L0047C631 push SSZ004CE4D0_radar_rotFrame push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov [esi+000200B4h],edi L0047C631: mov eax,[esi+000200B8h] cmp eax,edi jz L0047C651 push SSZ004CE4C4_radar_zBuf push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov [esi+000200B8h],edi L0047C651: mov eax,[esi+38h] mov eax,[eax+04h] cmp eax,edi jz L0047C671 push SSZ004CE4B0_radar_frame0_pBMP push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov ecx,[esi+38h] mov [ecx+04h],edi L0047C671: mov edx,[esi+38h] mov eax,[edx+0Ch] cmp eax,edi jz L0047C691 push SSZ004CE49C_radar_frame1_pBMP push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov eax,[esi+38h] mov [eax+0Ch],edi L0047C691: mov eax,[esi+38h] cmp eax,edi jz L0047C6AB push SSZ004CE48C_radar_framedata push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov [esi+38h],edi L0047C6AB: mov ecx,esi mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00441D50 mov ecx,[ebp-0Ch] pop edi mov fs:[00000000h],ecx pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 L0047C6D0: push ebp mov ebp,esp mov eax,[ebp+08h] push esi mov esi,ecx push 00000000h mov ecx,[ebp+0Ch] mov [esi+70h],ecx mov ecx,esi mov dword ptr [esi+0000009Ch],00000001h mov [esi+6Ch],eax call SUB_L00441340 cmp dword ptr [esi+000000A8h],00000001h jnz L0047C70D mov dword ptr [esi+000000A8h],00000002h pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ L0047C70D: mov dword ptr [esi+000000A8h],00000001h call [KERNEL32.dll!GetTickCount] mov [esi+000000A4h],eax pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 L0047C730: push ebp mov ebp,esp push esi mov esi,ecx push edi xor edi,edi mov eax,[esi+00000094h] mov [esi+0000009Ch],edi cmp eax,edi jz L0047C761 mov [esi+00000094h],edi mov [esi+000000A8h],edi mov [L006A9DD4],edi pop edi pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ L0047C761: cmp dword ptr [esi+000000A8h],00000002h jnz L0047C788 mov [esi+000000A8h],edi call SUB_L0048B870 test eax,eax jz L0047C788 mov eax,[ebp+0Ch] mov ecx,[ebp+08h] push eax push ecx mov ecx,esi call SUB_L0048B8A0 L0047C788: mov [L006A9DD4],edi pop edi pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 L0047C7A0: push ebp mov ebp,esp push ebx push esi mov esi,ecx push edi push 00000000h mov ecx,L006BB1C8 call SUB_L0049A010 mov eax,[esi+0000009Ch] mov ecx,[ebp+0Ch] mov edi,[ebp+08h] test eax,eax jz L0047C804 mov eax,[esi+000000A8h] test eax,eax jbe L0047C804 mov edx,[esi+6Ch] mov eax,edi sub eax,edx cdq xor eax,edx sub eax,edx cmp eax,00000004h jg L0047C7F0 mov edx,[esi+70h] mov eax,ecx sub eax,edx cdq xor eax,edx sub eax,edx cmp eax,00000004h jle L0047C804 L0047C7F0: mov dword ptr [esi+00000094h],00000001h mov dword ptr [esi+000000A8h],00000000h L0047C804: mov edx,[esi+6Ch] mov ebx,[esi+2Ch] sub edi,edx mov edx,[esi+30h] add edi,ebx mov eax,edi mov edi,[esi+70h] sub ecx,edi add ecx,edx mov edx,[esi+1Ch] lea edi,[eax+edx] cmp edi,000000A0h jge L0047C82F mov eax,000000A0h sub eax,edx L0047C82F: mov edx,[esi+20h] lea edi,[ecx+edx] cmp edi,000000A0h jge L0047C844 mov ecx,000000A0h sub ecx,edx L0047C844: mov edx,[L004C7F34] add edx,FFFFFF60h cmp eax,edx jle L0047C856 mov eax,edx L0047C856: mov edx,[L004C7F38] add edx,FFFFFF60h cmp ecx,edx jle L0047C868 mov ecx,edx L0047C868: mov edx,[esi+0000009Ch] test edx,edx jz L0047C888 mov edx,[esi+30h] push 00000001h push 00000000h sub ecx,edx push 00000001h sub eax,ebx push ecx push eax mov ecx,esi call SUB_L00440850 L0047C888: pop edi pop esi pop ebx pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 4 SUB_L0047C890: push ebp mov ebp,esp sub esp,00000044h push ebx push esi mov esi,ecx xor eax,eax mov ecx,[L006AAA9C] push edi movsx edi,[esi+000200B0h] cmp ecx,00001400h mov [ebp-04h],esi setge al mov [ebp-10h],eax mov eax,edi cdq sub eax,edx mov dword ptr [ebp-24h],00000000h sar eax,1 sub ecx,eax mov ebx,ecx movsx ecx,[esi+000200B2h] mov eax,ecx mov [ebp-44h],ebx cdq sub eax,edx mov edx,[L006AAAA0] sar eax,1 sub edx,eax add ebx,edi mov [ebp-3Ch],ebx mov [ebp-40h],edx lea eax,[edx+ecx] imul ecx,edi mov edi,[esi+000200B8h] mov ebx,ecx mov [ebp-38h],eax xor eax,eax shr ecx,02h rep stosd mov ecx,ebx and ecx,00000003h rep stosb movsx ecx,[esi+000200B0h] movsx eax,[esi+000200B2h] imul ecx,eax mov edi,[esi+38h] xor eax,eax shl ecx,1 mov edi,[edi+04h] mov ebx,ecx add edi,00000004h shr ecx,02h rep stosd mov ecx,ebx and ecx,00000003h rep stosb mov ecx,[esi+38h] mov edi,edx mov edx,[esi+000200B8h] mov [ebp-0Ch],edi mov eax,[ecx+04h] mov [ebp-18h],edx add eax,00000004h cmp word ptr [esi+000200B2h],0000h mov [ebp-1Ch],eax jle L0047CB7A L0047C95F: mov ebx,[ebp-44h] cmp word ptr [esi+000200B0h],0000h mov [ebp-08h],ebx mov dword ptr [ebp-20h],00000000h jle L0047CB60 mov edx,[ebp-10h] jmp L0047C988 L0047C97F: mov edx,[ebp-10h] mov ebx,[ebp-08h] mov edi,[ebp-0Ch] L0047C988: test edx,edx jz L0047C9B1 cmp ebx,00001400h jl L0047C9A8 cmp ebx,00001800h jge L0047C9A8 test edi,edi jl L0047C9A8 cmp edi,00001000h jle L0047C9B1 L0047C9A8: mov edx,00008001h xor bl,bl jmp L0047CA2D L0047C9B1: test edx,edx mov eax,ebx mov ecx,edi jnz L0047C9E7 test ebx,ebx jge L0047C9C3 lea eax,[ebx+00001400h] L0047C9C3: cmp eax,00001400h jl L0047C9CF sub eax,00001400h L0047C9CF: test edi,edi jge L0047C9D9 lea ecx,[edi+00001000h] L0047C9D9: cmp ecx,00001000h jl L0047C9E7 sub ecx,00001000h L0047C9E7: cdq and edx,00000007h add eax,edx mov esi,eax mov eax,ecx sar esi,03h imul esi,[L006AABD4] cdq and edx,00000007h mov ecx,L006AA860 add eax,edx sar eax,03h add esi,eax push esi push 00000000h call SUB_L004464D0 and edi,00000007h and ebx,00000007h lea ecx,[ebx+edi*8] lea edx,[eax+ecx*2] add ecx,00000002h mov dx,[ecx+edx+02h] lea eax,[eax+ecx*2] mov bl,[ecx+eax] L0047CA2D: cmp dx,4000h jnc L0047CA4F cmp dx,0002h jz L0047CA4F mov ecx,[ebp-04h] and edx,0000FFFFh xor esi,esi mov si,[ecx+edx*2+000000ACh] jmp L0047CA55 L0047CA4F: mov esi,[L00740094] L0047CA55: cmp esi,00007FFFh jnz L0047CA7F push 000000F3h push 000000F3h push 000000F3h mov ecx,L006AAE78 call SUB_L0043BA40 mov si,ax and esi,0000FFFFh L0047CA7F: mov edi,[L0073EA7C] mov eax,[L0073EA80] sub edi,eax js L0047CAA4 mov ecx,[L0073EBE4] test ecx,ecx jz L0047CAA6 mov edx,[ecx] call [edx+00000090h] test eax,eax jz L0047CAA6 L0047CAA4: xor edi,edi L0047CAA6: mov al,[L0073EC3C] test al,al jz L0047CAE9 mov eax,esi mov ecx,esi sar eax,05h and eax,0000001Fh and esi,0000001Fh sar ecx,0Ah shl eax,05h shl ecx,05h add eax,edi add ecx,edi shl esi,05h mov eax,[L007380F8+eax*4] mov edx,[L007390F8+ecx*4] or eax,edx shl eax,1 add esi,edi mov edx,[L007370F8+esi*4] jmp L0047CB1F L0047CAE9: mov edx,esi mov ecx,esi sar edx,05h and edx,0000001Fh and ecx,0000001Fh shl edx,05h shl ecx,05h add edx,edi add ecx,edi sar esi,0Ah mov eax,[L007380F8+edx*4] mov edx,[L007370F8+ecx*4] shl esi,05h or eax,edx add esi,edi mov edx,[L007390F8+esi*4] L0047CB1F: mov ecx,[ebp-1Ch] or eax,edx mov edx,[ebp-04h] or al,01h mov edi,[ebp-08h] mov [ecx],ax mov eax,[ebp-18h] add bl,80h add ecx,00000002h mov [eax],bl inc eax mov [ebp-1Ch],ecx mov [ebp-18h],eax mov eax,[ebp-20h] inc edi movsx ecx,[edx+000200B0h] inc eax mov [ebp-08h],edi cmp eax,ecx mov [ebp-20h],eax jl L0047C97F mov edi,[ebp-0Ch] mov esi,edx L0047CB60: mov eax,[ebp-24h] inc edi movsx edx,[esi+000200B2h] inc eax mov [ebp-0Ch],edi cmp eax,edx mov [ebp-24h],eax jl L0047C95F L0047CB7A: mov edx,[ebp-44h] sar edx,03h mov [ebp-20h],edx jns L0047CB8A xor edx,edx mov [ebp-20h],edx L0047CB8A: mov edi,[ebp-40h] sar edi,03h jns L0047CB94 xor edi,edi L0047CB94: movsx ecx,[esi+000200B0h] mov eax,[L006AABD8] sar ecx,03h add ecx,edx dec eax cmp ecx,eax mov [ebp-18h],ecx jle L0047CBB2 mov ecx,eax mov [ebp-18h],ecx L0047CBB2: movsx eax,[esi+000200B2h] mov ebx,[L006AABD4] sar eax,03h add eax,edi dec ebx cmp eax,ebx mov [ebp-28h],eax jle L0047CBD1 mov eax,ebx mov [ebp-28h],eax L0047CBD1: cmp edi,eax mov [ebp-0Ch],edi jg L0047CE4E L0047CBDC: cmp edx,ecx mov [ebp-08h],edx jg L0047CE3C L0047CBE7: mov ecx,[ebp-08h] xor eax,eax lea edx,[00000000h+ecx*8] mov ecx,[ebp-10h] cmp edx,00001400h setge al xor eax,ecx jnz L0047CE24 mov eax,[ebp-08h] mov ebx,[ebp-0Ch] imul eax,[L006AABD4] lea ecx,[ebp-34h] lea edx,[ebp-14h] push ecx add eax,ebx push edx push eax push 00000002h push 00000001h mov ecx,L006AA860 call SUB_L00446620 mov [ebp-24h],eax mov eax,[ebp-14h] test eax,eax jz L0047CE24 jle L0047CE24 mov ecx,[ebp-08h] mov eax,ebx lea edx,[00000000h+ecx*8] lea ecx,[00000000h+eax*8] mov [ebp-2Ch],edx mov [ebp-30h],ecx L0047CC5A: mov esi,[ebp-24h] mov edx,[ebp-30h] mov ebx,[ebp-2Ch] movsx eax,[esi+03h] movsx ecx,[esi+02h] mov di,[esi] add eax,edx mov dx,[esi+05h] add ecx,ebx movsx ebx,[esi+04h] cmp dx,0400h jbe L0047CC83 xor edx,edx L0047CC83: add esi,00000007h mov [ebp-24h],esi mov esi,[ebp-44h] cmp ecx,esi jl L0047CE13 cmp ecx,[ebp-3Ch] jge L0047CE13 cmp eax,[ebp-40h] jl L0047CE13 cmp eax,[ebp-38h] jge L0047CE13 mov esi,[ebp-40h] sub eax,esi mov esi,[ebp-04h] movsx esi,[esi+000200B0h] imul eax,esi add eax,ecx mov ecx,[ebp-44h] sub eax,ecx mov ecx,[ebp-04h] mov [ebp-1Ch],eax mov ecx,[ecx+000200B8h] lea esi,[eax+ecx] xor ecx,ecx lea eax,[ebx+00000080h] mov cl,[esi] cmp eax,ecx jl L0047CE13 add bl,80h test dx,dx mov [esi],bl jnz L0047CD08 mov edx,[ebp-04h] and edi,0000FFFFh xor esi,esi mov si,[edx+edi*2+000080ACh] jmp L0047CD34 L0047CD08: mov ecx,[ebp-04h] and edi,0000FFFFh xor eax,eax and edx,0000FFFFh mov ax,[ecx+edi*2+000080ACh] xor esi,esi lea ecx,[edx+edx*4] lea edx,[edx+ecx*2] lea eax,[eax+edx*4] mov si,[L006C19F0+eax*2] L0047CD34: cmp esi,00007FFFh jnz L0047CD5E push 000000F3h push 000000F3h push 000000F3h mov ecx,L006AAE78 call SUB_L0043BA40 mov si,ax and esi,0000FFFFh L0047CD5E: mov edi,[L0073EA7C] mov eax,[L0073EA80] sub edi,eax js L0047CD83 mov ecx,[L0073EBE4] test ecx,ecx jz L0047CD85 mov edx,[ecx] call [edx+00000090h] test eax,eax jz L0047CD85 L0047CD83: xor edi,edi L0047CD85: mov al,[L0073EC3C] test al,al jz L0047CDC8 mov eax,esi mov ecx,esi sar eax,05h and eax,0000001Fh and esi,0000001Fh sar ecx,0Ah shl eax,05h shl ecx,05h add eax,edi add ecx,edi shl esi,05h mov eax,[L007380F8+eax*4] mov edx,[L007390F8+ecx*4] or eax,edx shl eax,1 add esi,edi mov edx,[L007370F8+esi*4] jmp L0047CDFE L0047CDC8: mov edx,esi mov ecx,esi sar edx,05h and edx,0000001Fh and ecx,0000001Fh shl edx,05h shl ecx,05h add edx,edi add ecx,edi sar esi,0Ah mov eax,[L007380F8+edx*4] mov ebx,[L007370F8+ecx*4] shl esi,05h or eax,ebx add esi,edi mov edx,[L007390F8+esi*4] L0047CDFE: or eax,edx mov edx,[ebp-04h] or al,01h mov ecx,[edx+38h] mov edx,[ecx+04h] mov ecx,[ebp-1Ch] mov [edx+ecx*2+04h],ax L0047CE13: mov eax,[ebp-14h] sub eax,00000007h test eax,eax mov [ebp-14h],eax jg L0047CC5A L0047CE24: mov eax,[ebp-08h] mov ecx,[ebp-18h] inc eax cmp eax,ecx mov [ebp-08h],eax jle L0047CBE7 mov edx,[ebp-20h] mov eax,[ebp-28h] L0047CE3C: mov esi,[ebp-0Ch] inc esi cmp esi,eax mov [ebp-0Ch],esi jle L0047CBDC mov esi,[ebp-04h] L0047CE4E: mov edi,[L006A9D50] test edi,edi mov [ebp-28h],edi jz L0047D00F L0047CE5F: mov cx,[edi+38h] movsx ebx,[edi+20h] movsx eax,[edi+22h] movsx edx,[edi+24h] mov di,[edi+3Eh] mov [ebp-30h],di mov edi,[ebp-44h] cmp ebx,edi jl L0047CFFE cmp ebx,[ebp-3Ch] jge L0047CFFE mov edi,[ebp-40h] cmp eax,edi jl L0047CFFE cmp eax,[ebp-38h] jge L0047CFFE sub eax,edi movsx edi,[esi+000200B0h] imul eax,edi mov edi,[ebp-44h] add eax,ebx sub eax,edi mov edi,[esi+000200B8h] add edi,eax xor ebx,ebx mov [ebp-1Ch],eax lea eax,[edx+00000080h] mov bl,[edi] cmp eax,ebx jl L0047CFFE mov eax,[ebp-30h] add dl,80h test ax,ax mov [edi],dl jnz L0047CEF1 mov edx,[ebp-04h] and ecx,0000FFFFh xor esi,esi mov si,[edx+ecx*2+000080ACh] jmp L0047CF1C L0047CEF1: mov esi,[ebp-04h] and ecx,0000FFFFh xor edx,edx and eax,0000FFFFh mov dx,[esi+ecx*2+000080ACh] xor esi,esi lea ecx,[eax+eax*4] lea eax,[eax+ecx*2] lea ecx,[edx+eax*4] mov si,[L006C19F0+ecx*2] L0047CF1C: cmp esi,00007FFFh jnz L0047CF46 push 000000F3h push 000000F3h push 000000F3h mov ecx,L006AAE78 call SUB_L0043BA40 mov si,ax and esi,0000FFFFh L0047CF46: mov edi,[L0073EA7C] mov eax,[L0073EA80] sub edi,eax js L0047CF6B mov ecx,[L0073EBE4] test ecx,ecx jz L0047CF6D mov edx,[ecx] call [edx+00000090h] test eax,eax jz L0047CF6D L0047CF6B: xor edi,edi L0047CF6D: mov al,[L0073EC3C] test al,al jz L0047CFB0 mov eax,esi mov ecx,esi sar eax,05h and eax,0000001Fh and esi,0000001Fh sar ecx,0Ah shl eax,05h shl ecx,05h add eax,edi add ecx,edi shl esi,05h mov eax,[L007380F8+eax*4] mov edx,[L007390F8+ecx*4] or eax,edx shl eax,1 add esi,edi mov edx,[L007370F8+esi*4] jmp L0047CFE6 L0047CFB0: mov edx,esi mov ecx,esi sar edx,05h and edx,0000001Fh and ecx,0000001Fh shl edx,05h shl ecx,05h add edx,edi add ecx,edi sar esi,0Ah mov eax,[L007380F8+edx*4] mov ebx,[L007370F8+ecx*4] shl esi,05h or eax,ebx add esi,edi mov edx,[L007390F8+esi*4] L0047CFE6: or eax,edx mov edx,[ebp-04h] mov esi,[ebp-04h] or al,01h mov ecx,[edx+38h] mov edx,[ecx+04h] mov ecx,[ebp-1Ch] mov [edx+ecx*2+04h],ax L0047CFFE: mov edx,[ebp-28h] mov edi,[edx+60h] test edi,edi mov [ebp-28h],edi jnz L0047CE5F L0047D00F: call [KERNEL32.dll!GetTickCount] mov ecx,esi mov [esi+000200C0h],eax call SUB_L0047D030 pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 SUB_L0047D030: push ebp mov ebp,esp sub esp,00000024h push ebx push esi mov esi,ecx push edi xor edi,edi xor ecx,ecx mov eax,[esi+000200B4h] mov [esi+000200BEh],di mov [esi+000200BCh],di xor edx,edx mov cx,[eax+02h] mov dx,[eax] push ecx add eax,00000004h push edx mov edx,[esi+50h] push eax push edi push edi mov ecx,SUB_L00488700 mov [ebp-18h],edi call SUB_L00439100 mov ecx,[esi+1Ch] xor ebx,ebx mov eax,ecx mov [ebp-10h],ebx cdq sub eax,edx mov edx,[esi+20h] sar eax,1 dec eax cmp edx,edi mov [ebp-0Ch],eax mov [ebp-04h],edi mov [ebp-1Ch],edi jle L0047D174 jmp L0047D09C L0047D09A: xor edi,edi L0047D09C: movsx edx,[esi+000200B0h] imul ebx,edx mov edx,[esi+38h] mov [ebp-20h],edi mov edi,eax mov dword ptr [ebp-14h],00000000h mov edx,[edx+04h] lea edx,[edx+ebx*2+04h] mov ebx,[esi+000200B4h] mov [ebp-08h],edx mov edx,[ebp-04h] imul edx,ecx add edx,eax test ecx,ecx lea edx,[ebx+edx*2+04h] jle L0047D138 mov ebx,[ebp-04h] sub ebx,eax mov [ebp-24h],ebx mov ebx,[ebp-20h] L0047D0E0: mov eax,[ebp-08h] inc edi add eax,00000002h inc ebx mov [ebp-08h],eax lea edx,[edx+ecx*2+02h] movsx eax,[esi+000200B0h] cmp ebx,eax jge L0047D135 test edi,edi jl L0047D135 cmp edi,ecx jge L0047D135 mov eax,[ebp-24h] add eax,edi test eax,eax jl L0047D135 cmp eax,[esi+20h] jge L0047D135 mov eax,[L00740094] xor ecx,ecx mov cx,[edx] cmp ecx,eax jnz L0047D127 mov eax,[ebp-08h] mov cx,[eax] mov [edx],cx L0047D127: mov eax,[ebp-14h] mov ecx,[esi+1Ch] inc eax cmp eax,ecx mov [ebp-14h],eax jl L0047D0E0 L0047D135: mov eax,[ebp-0Ch] L0047D138: mov edx,[ebp-18h] inc edx test dl,01h mov [ebp-18h],edx jz L0047D149 inc [ebp-04h] jmp L0047D154 L0047D149: mov edx,[ebp-10h] dec eax inc edx mov [ebp-0Ch],eax mov [ebp-10h],edx L0047D154: movsx edx,[esi+000200B2h] mov ebx,[ebp-10h] cmp ebx,edx jge L0047D174 mov edx,[ebp-1Ch] mov edi,[esi+20h] inc edx cmp edx,edi mov [ebp-1Ch],edx jl L0047D09A L0047D174: mov ecx,esi mov word ptr [esi+000200BEh],0064h call SUB_L0047D190 pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 SUB_L0047D190: inc word ptr [ecx+000200BEh] cmp word ptr [ecx+000200BEh],0005h push esi push edi jc L0047D250 mov si,[ecx+000200BCh] mov word ptr [ecx+000200BEh],0000h test si,si jnz L0047D228 mov eax,[ecx+000200B4h] xor esi,esi xor edx,edx mov si,[eax+02h] mov dx,[eax] shr esi,1 imul esi,edx shr edx,1 add esi,edx mov dx,[eax+esi*2+04h] mov [ecx+000200BCh],dx mov cl,[L0073EC3C] test cl,cl jz L0047D20A xor edx,edx xor ecx,ecx mov dx,[eax+02h] mov cx,[eax] shr edx,1 imul edx,ecx shr ecx,1 add edx,ecx mov word ptr [eax+edx*2+04h],FFFFh pop edi pop esi retn ;------------------------------------------------------------------------------ L0047D20A: xor edx,edx xor ecx,ecx mov dx,[eax+02h] mov cx,[eax] shr edx,1 imul edx,ecx shr ecx,1 add edx,ecx mov word ptr [eax+edx*2+04h],7FFFh pop edi pop esi retn ;------------------------------------------------------------------------------ L0047D228: mov edx,[ecx+000200B4h] xor edi,edi xor eax,eax mov di,[edx+02h] mov ax,[edx] shr edi,1 imul edi,eax shr eax,1 add edi,eax mov [edx+edi*2+04h],si mov word ptr [ecx+000200BCh],0000h L0047D250: pop edi pop esi retn ;------------------------------------------------------------------------------ Align 16 L0047D260: push ebp mov ebp,esp sub esp,00000018h push esi mov esi,ecx lea eax,[ebp-04h] push edi lea ecx,[ebp-08h] push eax xor edi,edi push ecx mov ecx,esi mov [ebp-08h],edi mov [ebp-04h],edi call SUB_L00440C60 cmp [esi+60h],edi jnz L0047D28E mov esi,[esi+000200B4h] jmp L0047D294 L0047D28E: mov edx,[esi+38h] mov esi,[edx+0Ch] L0047D294: mov ecx,[ebp-08h] mov eax,[ebp-04h] xor edx,edx mov edi,[ebp+08h] mov [ebp-18h],ecx mov [ebp-14h],eax mov dx,[esi] add edx,ecx xor ecx,ecx mov [ebp-10h],edx mov cx,[esi+02h] lea edx,[ebp-18h] add eax,ecx push edx push edi mov ecx,L00669608 mov [ebp-0Ch],eax call SUB_L00440D40 test eax,eax jz L0047D302 mov eax,[L004C7F38] mov ecx,[L004C7F34] mov edx,[L006BAE7C] push eax mov eax,[ebp-04h] push ecx mov ecx,[ebp-08h] push edx push eax xor edx,edx mov dx,[esi+02h] xor eax,eax mov ax,[esi] push ecx push edx push eax push edi lea edx,[esi+04h] mov ecx,SUB_L00488700 call SUB_L00439500 L0047D302: pop edi pop esi mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 8 L0047D310: push ebp mov ebp,esp mov eax,[ecx+60h] push esi test eax,eax push edi jnz L0047D324 mov ecx,[ecx+000200B4h] jmp L0047D32A L0047D324: mov eax,[ecx+38h] mov ecx,[eax+0Ch] L0047D32A: mov esi,[ebp+08h] xor eax,eax mov ax,[ecx] xor edx,edx mov dx,[ecx+02h] add ecx,00000004h test esi,esi jl L0047D364 mov edi,[ebp+0Ch] test edi,edi jl L0047D364 cmp esi,eax jge L0047D364 cmp edi,edx jge L0047D364 imul eax,edi add eax,esi xor edx,edx cmp [ecx+eax*2],dx setnz dl mov eax,edx pop edi pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ L0047D364: pop edi xor eax,eax pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 8 SUB_L0047D370: push esi mov esi,ecx call [KERNEL32.dll!GetTickCount] sub eax,[esi+000200C0h] cmp eax,000001F4h jc L0047D38D mov ecx,esi call SUB_L0047C890 L0047D38D: pop esi retn ;------------------------------------------------------------------------------ Align 4 SUB_L0047D390: push ebx mov edx,ecx push edi mov ecx,0000000Ah xor eax,eax mov edi,edx rep stosd xor ebx,ebx mov ecx,0000000Ah lea edi,[edx+34h] mov [edx+2Ah],bx mov [edx+28h],bx mov [edx+2Eh],bx mov [edx+2Ch],bx mov [edx+32h],bx mov [edx+30h],bx rep stosd mov [edx+60h],bx mov [edx+5Eh],bx mov [edx+5Ch],bx mov [edx+62h],bl mov [edx+64h],bx pop edi mov eax,edx pop ebx retn ;------------------------------------------------------------------------------ Align 8 SUB_L0047D3E0: push ebp mov ebp,esp push esi push edi mov edi,[ebp+08h] mov esi,ecx push 00000028h push edi push esi call SUB_L0049B200 mov ax,[edi+2Ah] add esp,0000000Ch mov [esi+28h],ax mov cx,[edi+2Ch] mov [esi+2Ah],cx mov dx,[edi+2Eh] mov [esi+2Ch],dx mov ax,[edi+30h] mov [esi+2Eh],ax mov cx,[edi+32h] mov [esi+30h],cx mov dx,[edi+34h] lea eax,[edi+3Ah] push 00000028h lea ecx,[esi+34h] push eax push ecx mov [esi+32h],dx call SUB_L0049B200 mov dx,[edi+62h] add esp,0000000Ch mov [esi+5Ch],dx mov ax,[edi+64h] mov [esi+5Eh],ax mov cx,[edi+66h] mov [esi+60h],cx mov dl,[edi+68h] mov [esi+62h],dl mov ax,[edi+69h] mov [esi+64h],ax mov eax,esi pop edi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' push ebx push esi mov ebx,ecx push edi mov ecx,00002000h xor eax,eax mov edi,ebx rep stosd mov ecx,ebx call SUB_L0047D4E0 or eax,FFFFFFFFh xor edi,edi mov [ebx+00010000h],eax mov ecx,[L004C74E8] cmp ecx,eax jz L0047D4CE mov esi,L004C74E8 L0047D4A1: mov eax,[esi+04h] push eax push SSZ004CE4E0_goto call SUB_L0049B300 add esp,00000008h test eax,eax jz L0047D4C8 mov eax,[esi+08h] add esi,00000008h inc edi cmp eax,FFFFFFFFh jnz L0047D4A1 mov eax,ebx pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ L0047D4C8: mov [ebx+00010000h],edi L0047D4CE: pop edi mov eax,ebx pop esi pop ebx retn ;------------------------------------------------------------------------------ Align 16 SUB_L0047D4E0: push ebp mov ebp,esp push FFFFFFFFh push L004B4C8B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,000000F0h push ebx push esi push edi mov edi,ecx push SSZ004CE4E8_regions_mul mov ecx,L006BB1C8 mov [ebp-14h],edi call SUB_L00455E10 push eax lea ecx,[ebp-000000FCh] call SUB_L00482400 xor esi,esi push L004C40E0 lea ecx,[ebp-000000FCh] mov [ebp-04h],esi call SUB_L00493EC0 push eax call SUB_L0049A7F0 mov ebx,eax add esp,00000008h cmp ebx,esi jz L0047DCFB push ebx push 00000001h lea eax,[ebp-18h] push 00000002h push eax mov [ebp-18h],esi call SUB_L0049A630 add esp,00000010h cmp eax,00000001h jnz L0047DCF2 mov eax,[ebp-18h] cmp ax,FACEh jnc L0047D805 push esi push esi push ebx call SUB_L0049B6B0 add esp,0000000Ch mov ecx,0000000Ah xor eax,eax lea edi,[ebp-46h] rep stosd mov [ebp-1Ch],si mov [ebp-1Eh],si mov [ebp-1Ah],al mov [ebp-10h],esi jmp L0047D59C L0047D59A: xor esi,esi L0047D59C: push ebx push 00000001h lea ecx,[ebp-000000C4h] push 00000028h push ecx call SUB_L0049A630 add esp,00000010h cmp eax,00000001h jnz L0047DCF2 push ebx push eax lea edx,[ebp-0000009Ch] push 00000002h push edx call SUB_L0049A630 add esp,00000010h cmp eax,00000001h jnz L0047DCF2 push ebx push eax lea eax,[ebp-0000009Ah] push 00000002h push eax call SUB_L0049A630 add esp,00000010h cmp eax,00000001h jnz L0047DCF2 push ebx push eax lea ecx,[ebp-00000098h] push 00000002h push ecx call SUB_L0049A630 add esp,00000010h cmp eax,00000001h jnz L0047DCF2 push ebx push eax lea edx,[ebp-00000096h] push 00000002h push edx call SUB_L0049A630 add esp,00000010h cmp eax,00000001h jnz L0047DCF2 push ebx push eax lea eax,[ebp-00000094h] push 00000002h push eax call SUB_L0049A630 add esp,00000010h cmp eax,00000001h jnz L0047DCF2 push ebx push eax lea ecx,[ebp-00000092h] push 00000002h push ecx call SUB_L0049A630 add esp,00000010h cmp eax,00000001h jnz L0047DCF2 push ebx push eax lea edx,[ebp-00000090h] push 00000002h push edx call SUB_L0049A630 add esp,00000010h cmp eax,00000001h jnz L0047DCF2 push ebx push eax lea eax,[ebp-0000008Ch] push 00000004h push eax call SUB_L0049A630 add esp,00000010h cmp eax,00000001h jnz L0047DCF2 lea ecx,[ebp-000000C4h] push 00000028h lea edx,[ebp-80h] push ecx push edx call SUB_L0049B200 mov ax,[ebp-0000009Ah] mov cx,[ebp-00000098h] mov dx,[ebp-00000096h] mov edi,[ebp-14h] mov [ebp-56h],ax mov ax,[ebp-00000094h] mov [ebp-50h],ax mov [ebp-54h],cx movsx eax,[ebp-58h] mov cx,[ebp-00000092h] mov [ebp-52h],dx mov dx,[ebp-00000090h] mov [ebp-4Eh],cx mov [ebp-4Ch],dx mov eax,[edi+eax*4] add esp,0000000Ch cmp eax,esi jz L0047D707 push eax call SUB_L0049A810 add esp,00000004h L0047D707: push 00000066h call SUB_L0049A820 mov edx,eax add esp,00000004h cmp edx,esi jz L0047D75C mov ecx,0000000Ah xor eax,eax mov edi,edx rep stosd mov ecx,0000000Ah lea edi,[edx+34h] mov [edx+2Ah],si mov [edx+28h],si mov [edx+2Eh],si mov [edx+2Ch],si mov [edx+32h],si mov [edx+30h],si rep stosd mov edi,[ebp-14h] mov [edx+60h],si mov [edx+5Eh],si mov [edx+5Ch],si mov [edx+62h],al mov [edx+64h],si jmp L0047D75E L0047D75C: xor edx,edx L0047D75E: movsx ecx,[ebp-58h] lea eax,[ebp-80h] push 00000028h mov [edi+ecx*4],edx push eax movsx edx,[ebp-58h] mov esi,[edi+edx*4] push esi call SUB_L0049B200 mov cx,[ebp-56h] add esp,0000000Ch mov [esi+28h],cx mov dx,[ebp-54h] mov [esi+2Ah],dx mov ax,[ebp-52h] mov [esi+2Ch],ax mov cx,[ebp-50h] mov [esi+2Eh],cx mov dx,[ebp-4Eh] mov [esi+30h],dx mov ax,[ebp-4Ch] lea ecx,[ebp-46h] push 00000028h lea edx,[esi+34h] push ecx push edx mov [esi+32h],ax call SUB_L0049B200 mov ax,[ebp-1Eh] add esp,0000000Ch mov [esi+5Ch],ax mov cx,[ebp-1Ch] mov [esi+5Eh],cx mov dl,[ebp-1Ah] mov [esi+62h],dl mov edi,[L007B7DE8] movsx ecx,[ebp-58h] mov eax,[ebp-4Ah] add ecx,edi push eax push ecx mov ecx,L005493E0 call SUB_L0048B8A0 mov eax,[ebp-10h] inc eax cmp eax,00002000h mov [ebp-10h],eax jl L0047D59A jmp L0047DCF2 L0047D805: jnz L0047DAC3 mov [ebp-10h],esi jmp L0047D815 L0047D810: mov edi,[ebp-14h] xor esi,esi L0047D815: push ebx push 00000001h lea edx,[ebp-000000ECh] push 00000028h push edx call SUB_L0049A630 add esp,00000010h cmp eax,00000001h jnz L0047DCF2 push ebx push eax lea eax,[ebp-000000C4h] push 00000002h push eax call SUB_L0049A630 add esp,00000010h cmp eax,00000001h jnz L0047DCF2 push ebx push eax lea ecx,[ebp-000000C2h] push 00000002h push ecx call SUB_L0049A630 add esp,00000010h cmp eax,00000001h jnz L0047DCF2 push ebx push eax lea edx,[ebp-000000C0h] push 00000002h push edx call SUB_L0049A630 add esp,00000010h cmp eax,00000001h jnz L0047DCF2 push ebx push eax lea eax,[ebp-000000BEh] push 00000002h push eax call SUB_L0049A630 add esp,00000010h cmp eax,00000001h jnz L0047DCF2 push ebx push eax lea ecx,[ebp-000000BCh] push 00000002h push ecx call SUB_L0049A630 add esp,00000010h cmp eax,00000001h jnz L0047DCF2 push ebx push eax lea edx,[ebp-000000BAh] push 00000002h push edx call SUB_L0049A630 add esp,00000010h cmp eax,00000001h jnz L0047DCF2 push ebx push eax lea eax,[ebp-000000B8h] push 00000002h push eax call SUB_L0049A630 add esp,00000010h cmp eax,00000001h jnz L0047DCF2 push ebx push eax lea ecx,[ebp-000000B6h] push 00000004h push ecx call SUB_L0049A630 add esp,00000010h cmp eax,00000001h jnz L0047DCF2 push ebx push eax lea edx,[ebp-000000B2h] push 00000028h push edx call SUB_L0049A630 add esp,00000010h cmp eax,00000001h jnz L0047DCF2 push ebx push eax lea eax,[ebp-0000008Ah] push 00000002h push eax call SUB_L0049A630 add esp,00000010h cmp eax,00000001h jnz L0047DCF2 push ebx push eax lea ecx,[ebp-00000088h] push 00000002h push ecx call SUB_L0049A630 add esp,00000010h cmp eax,00000001h jnz L0047DCF2 push ebx push eax lea edx,[ebp-00000086h] push eax push edx call SUB_L0049A630 add esp,00000010h cmp eax,00000001h jnz L0047DCF2 movsx eax,[ebp-000000C4h] mov eax,[edi+eax*4] cmp eax,esi jz L0047D998 push eax call SUB_L0049A810 add esp,00000004h L0047D998: push 00000066h call SUB_L0049A820 mov edx,eax add esp,00000004h cmp edx,esi jz L0047D9ED mov ecx,0000000Ah xor eax,eax mov edi,edx rep stosd mov ecx,0000000Ah lea edi,[edx+34h] mov [edx+2Ah],si mov [edx+28h],si mov [edx+2Eh],si mov [edx+2Ch],si mov [edx+32h],si mov [edx+30h],si rep stosd mov edi,[ebp-14h] mov [edx+60h],si mov [edx+5Eh],si mov [edx+5Ch],si mov [edx+62h],al mov [edx+64h],si jmp L0047D9EF L0047D9ED: xor edx,edx L0047D9EF: movsx ecx,[ebp-000000C4h] lea eax,[ebp-000000ECh] push 00000028h mov [edi+ecx*4],edx push eax movsx edx,[ebp-000000C4h] mov esi,[edi+edx*4] push esi call SUB_L0049B200 mov cx,[ebp-000000C2h] add esp,0000000Ch mov [esi+28h],cx mov dx,[ebp-000000C0h] mov [esi+2Ah],dx mov ax,[ebp-000000BEh] mov [esi+2Ch],ax mov cx,[ebp-000000BCh] mov [esi+2Eh],cx mov dx,[ebp-000000BAh] mov [esi+30h],dx mov ax,[ebp-000000B8h] lea ecx,[ebp-000000B2h] push 00000028h lea edx,[esi+34h] push ecx push edx mov [esi+32h],ax call SUB_L0049B200 mov ax,[ebp-0000008Ah] add esp,0000000Ch mov [esi+5Ch],ax mov cx,[ebp-00000088h] mov [esi+5Eh],cx mov dl,[ebp-00000086h] mov [esi+62h],dl mov edi,[L007B7DE8] movsx ecx,[ebp-000000C4h] mov eax,[ebp-000000B6h] add ecx,edi push eax push ecx mov ecx,L005493E0 call SUB_L0048B8A0 mov eax,[ebp-10h] inc eax cmp eax,00002000h mov [ebp-10h],eax jl L0047D810 jmp L0047DCF2 L0047DAC3: mov [ebp-10h],esi L0047DAC6: push ebx push 00000001h lea edx,[ebp-00000084h] push 00000028h push edx call SUB_L0049A630 add esp,00000010h cmp eax,00000001h jnz L0047DCF2 push ebx push eax lea eax,[ebp-5Ch] push 00000002h push eax call SUB_L0049A630 add esp,00000010h cmp eax,00000001h jnz L0047DCF2 push ebx push eax lea ecx,[ebp-5Ah] push 00000002h push ecx call SUB_L0049A630 add esp,00000010h cmp eax,00000001h jnz L0047DCF2 push ebx push eax lea edx,[ebp-58h] push 00000002h push edx call SUB_L0049A630 add esp,00000010h cmp eax,00000001h jnz L0047DCF2 push ebx push eax lea eax,[ebp-56h] push 00000002h push eax call SUB_L0049A630 add esp,00000010h cmp eax,00000001h jnz L0047DCF2 push ebx push eax lea ecx,[ebp-54h] push 00000002h push ecx call SUB_L0049A630 add esp,00000010h cmp eax,00000001h jnz L0047DCF2 push ebx push eax lea edx,[ebp-52h] push 00000002h push edx call SUB_L0049A630 add esp,00000010h cmp eax,00000001h jnz L0047DCF2 push ebx push eax lea eax,[ebp-50h] push 00000002h push eax call SUB_L0049A630 add esp,00000010h cmp eax,00000001h jnz L0047DCF2 push ebx push eax lea ecx,[ebp-4Eh] push 00000004h push ecx call SUB_L0049A630 add esp,00000010h cmp eax,00000001h jnz L0047DCF2 push ebx push eax lea edx,[ebp-4Ah] push 00000028h push edx call SUB_L0049A630 add esp,00000010h cmp eax,00000001h jnz L0047DCF2 push ebx push eax lea eax,[ebp-22h] push 00000002h push eax call SUB_L0049A630 add esp,00000010h cmp eax,00000001h jnz L0047DCF2 push ebx push eax lea ecx,[ebp-20h] push 00000002h push ecx call SUB_L0049A630 add esp,00000010h cmp eax,00000001h jnz L0047DCF2 push ebx push eax lea edx,[ebp-1Eh] push 00000002h push edx call SUB_L0049A630 add esp,00000010h cmp eax,00000001h jnz L0047DCF2 push ebx push eax push eax lea eax,[ebp-1Ch] push eax call SUB_L0049A630 add esp,00000010h cmp eax,00000001h jnz L0047DCF2 push ebx push eax lea ecx,[ebp-1Bh] push 00000002h push ecx call SUB_L0049A630 add esp,00000010h cmp eax,00000001h jnz L0047DCF2 movsx edx,[ebp-5Ch] mov eax,[edi+edx*4] cmp eax,esi jz L0047DC54 push eax call SUB_L0049A810 add esp,00000004h L0047DC54: push 00000066h call SUB_L0049A820 mov edx,eax add esp,00000004h cmp edx,esi jz L0047DCA9 mov ecx,0000000Ah xor eax,eax mov edi,edx rep stosd mov ecx,0000000Ah lea edi,[edx+34h] mov [edx+2Ah],si mov [edx+28h],si mov [edx+2Eh],si mov [edx+2Ch],si mov [edx+32h],si mov [edx+30h],si rep stosd mov edi,[ebp-14h] mov [edx+60h],si mov [edx+5Eh],si mov [edx+5Ch],si mov [edx+62h],al mov [edx+64h],si jmp L0047DCAB L0047DCA9: xor edx,edx L0047DCAB: movsx eax,[ebp-5Ch] lea ecx,[ebp-00000084h] mov [edi+eax*4],edx push ecx movsx edx,[ebp-5Ch] mov ecx,[edi+edx*4] call SUB_L0047D3E0 movsx ecx,[ebp-5Ch] mov edx,[L007B7DE8] mov eax,[ebp-4Eh] add ecx,edx push eax push ecx mov ecx,L005493E0 call SUB_L0048B8A0 mov eax,[ebp-10h] inc eax cmp eax,00002000h mov [ebp-10h],eax jl L0047DAC6 L0047DCF2: push ebx call SUB_L0049A580 add esp,00000004h L0047DCFB: lea ecx,[ebp-000000FCh] mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L004823F0 mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 4 SUB_L0047DD20: push ebp mov ebp,esp sub esp,00000024h push esi mov esi,[ebp+08h] mov [ebp-04h],edx mov [ebp-08h],ecx lea eax,[ebp-1Ch] lea edx,[ebp+08h] push eax mov ecx,esi call SUB_L004390A0 lea edx,[ebp-20h] lea ecx,[esi+01h] push edx lea edx,[ebp-0Ch] mov [ebp-14h],ecx call SUB_L004390A0 lea eax,[ebp-24h] lea ecx,[esi+02h] push eax lea edx,[ebp-10h] mov [ebp-18h],ecx call SUB_L004390A0 mov eax,[ebp+08h] test eax,eax jz L0047DE2A mov eax,[ebp-0Ch] test eax,eax jz L0047DE2A mov eax,[ebp-10h] test eax,eax jz L0047DE2A mov eax,[ebp+10h] push edi mov edi,[ebp+0Ch] xor edx,edx mov ecx,[eax] push ebx mov dx,[edi+02h] mov ebx,[eax+08h] push edx xor edx,edx mov dx,[edi] sub ebx,ecx lea ecx,[edi+04h] push edx mov edx,[ebp-08h] mov [ebp+0Ch],ecx push ecx mov ecx,[ebp-04h] push ecx push edx push eax mov edx,esi mov ecx,SUB_L00488700 inc ebx call SUB_L00439290 mov esi,[ebp+08h] cmp esi,ebx jge L0047DDF7 L0047DDC3: mov edx,[ebp+0Ch] xor eax,eax mov ax,[edi+02h] xor ecx,ecx mov cx,[edi] push eax mov eax,[ebp-04h] push ecx mov ecx,[ebp-08h] push edx push eax mov eax,[ebp+10h] lea edx,[esi+ecx] mov ecx,SUB_L00488700 push edx mov edx,[ebp-14h] push eax call SUB_L00439290 add esi,[ebp-0Ch] cmp esi,ebx jl L0047DDC3 L0047DDF7: xor ecx,ecx mov eax,[ebp+0Ch] mov cx,[edi+02h] mov esi,[ebp-10h] xor edx,edx push ecx mov dx,[edi] mov ecx,[ebp-04h] push edx mov edx,[ebp-08h] add ebx,edx mov edx,[ebp-18h] push eax mov eax,[ebp+10h] sub ebx,esi push ecx push ebx push eax mov ecx,SUB_L00488700 call SUB_L00439290 pop ebx pop edi L0047DE2A: pop esi mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 16 SUB_L0047DE40: push ebp mov ebp,esp push FFFFFFFFh push L004B4CD4 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push esi mov esi,ecx push edi mov [ebp-10h],esi call SUB_L00441CB0 mov ecx,[ebp+0Ch] xor ebx,ebx mov dword ptr [esi],L004BBE40 mov eax,[ebp+08h] mov dword ptr [esi+04h],SSZ004CE51C_shop_gump mov [esi+5Ch],ebx mov [esi+000000E8h],ebx mov [esi+000000E4h],ebx mov [esi+000000E0h],ebx mov [esi+000000DCh],ebx mov [esi+30h],ecx mov ecx,[ebp+10h] mov [esi+000000F0h],ebx mov [esi+000000ECh],ebx mov [esi+000000BCh],ebx cmp ecx,ebx mov [ebp-04h],ebx mov [esi+000000B0h],ebx mov [esi+000000C0h],bx mov [esi+000000C8h],ebx mov [esi+000000D0h],bx mov [esi+2Ch],eax mov [esi+34h],ecx jz L0047DEF7 mov edx,[ecx] call [edx+2Ch] test eax,eax jz L0047DEF7 mov eax,[esi+34h] cmp [eax+00000088h],ebx jz L0047DEF1 mov [eax+0000008Ch],esi jmp L0047DEF7 L0047DEF1: mov [eax+00000088h],esi L0047DEF7: lea eax,[esi+20h] lea edi,[esi+1Ch] mov ecx,00000870h push eax mov edx,edi mov [esi+4Ch],ebx mov [esi+48h],ebx mov [esi+44h],ebx mov [esi+40h],ebx mov [esi+3Ch],ebx mov [esi+50h],ecx call SUB_L004390A0 mov eax,[edi] push SSZ004CE504_framedata_for_CShopGump push 00000008h mov ecx,L00669C8C mov [esi+18h],eax mov [esi+10h],ebx mov dword ptr [esi+14h],00000001h call SUB_L0044FBD0 mov ecx,[esi+14h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+38h],edi push SSZ004CE4F4_shopgump_frame rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+1Ch] imul eax,[esi+20h] lea ecx,[eax+eax+04h] push ecx mov ecx,L00669C8C call SUB_L0044FBD0 mov edx,[esi+38h] push 000000B4h mov [edx+04h],eax mov ecx,[esi+1Ch] imul ecx,[esi+20h] mov edx,[esi+38h] xor eax,eax shl ecx,1 mov edi,[edx+04h] mov edx,ecx add edi,00000004h shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+38h] mov dx,[esi+1Ch] mov ecx,[eax+04h] mov [ecx],dx mov eax,[esi+38h] mov dx,[esi+20h] mov ecx,[eax+04h] mov [ecx+02h],dx mov dword ptr [esi+00000094h],0000001Eh mov dword ptr [esi+0000009Ch],000000E4h mov dword ptr [esi+00000098h],0000003Ah mov dword ptr [esi+000000A0h],000000ECh mov [esi+000000CCh],ebx call SUB_L0049A820 add esp,00000004h mov [ebp+08h],eax cmp eax,ebx mov byte ptr [ebp-04h],01h jz L0047E018 push 00000828h push esi push 000000BCh push 00000001h push 00000042h push 000000ECh mov ecx,eax call SUB_L00412A50 jmp L0047E01A L0047E018: xor eax,eax L0047E01A: push 00000001h push esi mov ecx,eax mov [ebp-04h],bl mov [esi+000000D4h],eax call SUB_L004415C0 mov ecx,[esi+000000D4h] push 00000001h push ebx call SUB_L00412F50 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp+08h],eax cmp eax,ebx mov byte ptr [ebp-04h],02h jz L0047E074 push ebx push L0040DCE0 push ebx push 00000002h push esi push 0000003Dh push 000000FBh push 00000030h push 000000E8h mov ecx,eax call SUB_L00412450 jmp L0047E076 L0047E074: xor eax,eax L0047E076: push 00000001h push esi mov ecx,eax mov [ebp-04h],bl call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp+08h],eax cmp eax,ebx mov byte ptr [ebp-04h],03h jz L0047E0C2 push ebx push L0040DBB0 push ebx push 00000002h push esi push 000000CEh push 000000FCh push 000000C0h push 000000EAh mov ecx,eax call SUB_L00412450 jmp L0047E0C4 L0047E0C2: xor eax,eax L0047E0C4: push 00000001h push esi mov ecx,eax mov [ebp-04h],bl call SUB_L004415C0 mov eax,[esi+34h] mov ecx,[eax+0000012Ch] mov edx,[ecx+000000A8h] mov [esi+000000A4h],edx mov eax,[eax+0000012Ch] mov ecx,[eax+000000A8h] mov byte ptr [esi+000000ACh],1Ah mov [esi+000000A8h],ecx mov ecx,esi mov [esi+000000B4h],ebx call SUB_L0047F310 push 000000DCh call SUB_L0049A820 add esp,00000004h mov [ebp+08h],eax cmp eax,ebx mov byte ptr [ebp-04h],04h jz L0047E143 mov edx,[esi+30h] mov ecx,[esi+2Ch] push ebx add edx,000000D6h push esi add ecx,000000AAh push edx push ecx mov ecx,eax call SUB_L0047FC50 jmp L0047E145 L0047E143: xor eax,eax L0047E145: push 00000001h push ebx mov ecx,eax mov [ebp-04h],bl mov [esi+000000D8h],eax call SUB_L004415C0 mov ecx,[ebp-0Ch] mov eax,esi pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 4 L0047E170: push ebp mov ebp,esp push esi mov esi,ecx call SUB_L0047E5B0 test byte ptr [ebp+08h],01h jz L0047E18A push esi call SUB_L0049A810 add esp,00000004h L0047E18A: mov eax,esi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L0047E1A0: push ebp mov ebp,esp push FFFFFFFFh push L004B4D14 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,0000000Ch push ebx push esi mov ebx,ecx push edi mov [ebp-18h],ebx call SUB_L00441CB0 mov eax,[ebp+14h] xor edi,edi mov dword ptr [ebx],L004BBE40 mov dword ptr [ebx+04h],SSZ004CE51C_shop_gump mov [ebx+5Ch],edi mov [ebx+000000E8h],edi mov [ebx+000000E4h],edi mov [ebx+000000E0h],edi mov [ebx+000000DCh],edi mov [ebx+000000F0h],edi mov [ebx+000000ECh],edi mov [ebx+000000BCh],edi cmp ax,di mov [ebp-04h],edi mov dword ptr [ebx+000000B0h],00000001h mov [ebx+000000C0h],ax jz L0047E598 and eax,0000FFFFh shl eax,04h push eax call SUB_L0049A820 mov edx,[ebp+18h] xor ecx,ecx mov cx,[ebx+000000C0h] mov [ebx+000000C8h],eax shl ecx,04h mov edi,eax mov eax,ecx mov esi,edx add esp,00000004h shr ecx,02h rep movsd mov ecx,eax mov dword ptr [ebp-10h],00000000h and ecx,00000003h rep movsb cmp word ptr [ebx+000000C0h],0000h jbe L0047E2F7 lea esi,[edx+0Ch] mov dword ptr [ebp+14h],00000000h mov [ebp+18h],esi jmp L0047E283 L0047E280: mov esi,[ebp+18h] L0047E283: mov edi,[esi] or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx push ecx call SUB_L0049A820 mov ecx,[ebx+000000C8h] mov edx,[ebp+14h] add esp,00000004h mov [edx+ecx+0Ch],eax mov edi,[esi] or ecx,FFFFFFFFh xor eax,eax repne scasb mov edx,[ebx+000000C8h] not ecx sub edi,ecx mov [ebp-14h],edx mov edx,[ebp+14h] mov esi,edi mov edi,[ebp-14h] mov eax,ecx shr ecx,02h mov edi,[edx+edi+0Ch] add edx,00000010h rep movsd mov ecx,eax mov eax,[ebp-10h] and ecx,00000003h inc eax rep movsb mov esi,[ebp+18h] xor ecx,ecx mov cx,[ebx+000000C0h] add esi,00000010h cmp eax,ecx mov [ebp-10h],eax mov [ebp+14h],edx mov [ebp+18h],esi jl L0047E280 L0047E2F7: xor edi,edi L0047E2F9: mov ecx,[ebp+10h] mov edx,[ebp+08h] mov eax,[ebp+0Ch] cmp ecx,edi mov [ebx+2Ch],edx mov [ebx+30h],eax mov [ebx+34h],ecx jz L0047E331 mov edx,[ecx] call [edx+2Ch] test eax,eax jz L0047E331 mov eax,[ebx+34h] cmp [eax+00000088h],edi jz L0047E32B mov [eax+0000008Ch],ebx jmp L0047E331 L0047E32B: mov [eax+00000088h],ebx L0047E331: lea eax,[ebx+20h] lea esi,[ebx+1Ch] mov ecx,00000872h push eax mov edx,esi mov [ebx+4Ch],edi mov [ebx+48h],edi mov [ebx+44h],edi mov [ebx+40h],edi mov [ebx+3Ch],edi mov [ebx+50h],ecx call SUB_L004390A0 mov eax,[esi] push SSZ004CE504_framedata_for_CShopGump push 00000008h mov ecx,L00669C8C mov [ebx+18h],eax mov [ebx+10h],edi mov dword ptr [ebx+14h],00000001h call SUB_L0044FBD0 mov ecx,[ebx+14h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [ebx+38h],edi push SSZ004CE4F4_shopgump_frame rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi] imul eax,[ebx+20h] lea ecx,[eax+eax+04h] push ecx mov ecx,L00669C8C call SUB_L0044FBD0 mov edx,[ebx+38h] push 000000B4h mov [edx+04h],eax mov ecx,[esi] imul ecx,[ebx+20h] mov edx,[ebx+38h] xor eax,eax shl ecx,1 mov edi,[edx+04h] mov edx,ecx add edi,00000004h shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[ebx+38h] mov dx,[esi] xor esi,esi mov ecx,[eax+04h] mov [ecx],dx mov eax,[ebx+38h] mov dx,[ebx+20h] mov ecx,[eax+04h] mov [ecx+02h],dx mov dword ptr [ebx+00000094h],0000001Eh mov dword ptr [ebx+0000009Ch],000000E4h mov dword ptr [ebx+00000098h],0000003Ah mov dword ptr [ebx+000000A0h],000000ECh mov [ebx+000000CCh],esi mov [ebx+000000D0h],si call SUB_L0049A820 add esp,00000004h mov [ebp+14h],eax cmp eax,esi mov byte ptr [ebp-04h],01h jz L0047E458 push 00000828h push ebx push 000000BCh push 00000001h push 00000042h push 000000ECh mov ecx,eax call SUB_L00412A50 jmp L0047E45A L0047E458: xor eax,eax L0047E45A: push 00000001h push ebx mov ecx,eax mov byte ptr [ebp-04h],00h mov [ebx+000000D4h],eax call SUB_L004415C0 mov ecx,[ebx+000000D4h] push 00000001h push esi call SUB_L00412F50 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp+14h],eax cmp eax,esi mov byte ptr [ebp-04h],02h jz L0047E4B5 push esi push L0040DCE0 push esi push 00000002h push ebx push 0000003Dh push 000000FBh push 00000030h push 000000E8h mov ecx,eax call SUB_L00412450 jmp L0047E4B7 L0047E4B5: xor eax,eax L0047E4B7: push 00000001h push ebx mov ecx,eax mov byte ptr [ebp-04h],00h call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp+14h],eax cmp eax,esi mov byte ptr [ebp-04h],03h jz L0047E504 push esi push L0040DBB0 push esi push 00000002h push ebx push 000000CEh push 000000FCh push 000000C0h push 000000EAh mov ecx,eax call SUB_L00412450 jmp L0047E506 L0047E504: xor eax,eax L0047E506: push 00000001h push ebx mov ecx,eax mov byte ptr [ebp-04h],00h call SUB_L004415C0 mov ecx,ebx mov [ebx+000000A8h],esi mov [ebx+000000A4h],esi mov [ebx+000000C4h],si mov [ebx+000000C2h],si call SUB_L0047F310 push 000000DCh call SUB_L0049A820 add esp,00000004h mov [ebp+14h],eax cmp eax,esi mov byte ptr [ebp-04h],04h jz L0047E56D mov ecx,[ebx+30h] mov edx,[ebx+2Ch] push 00000001h add ecx,000000D6h push ebx add edx,000000AAh push ecx push edx mov ecx,eax call SUB_L0047FC50 jmp L0047E56F L0047E56D: xor eax,eax L0047E56F: push 00000001h push esi mov ecx,eax mov byte ptr [ebp-04h],00h mov [ebx+000000D8h],eax call SUB_L004415C0 mov ecx,[ebp-0Ch] pop edi mov eax,ebx pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0014h ;------------------------------------------------------------------------------ L0047E598: mov [ebx+000000C8h],edi jmp L0047E2F9 Align 16 SUB_L0047E5B0: push ebp mov ebp,esp push FFFFFFFFh push L004B4D28 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push esi mov esi,ecx push edi mov [ebp-10h],esi mov dword ptr [esi],L004BBE40 xor ebx,ebx xor edi,edi cmp [esi+000000C0h],bx mov [ebp-04h],ebx mov dword ptr [esi+000000BCh],00000001h jbe L0047E615 L0047E5F1: mov eax,[esi+000000C8h] mov ecx,[eax+ebx+0Ch] push ecx call SUB_L0049A810 xor edx,edx add esp,00000004h mov dx,[esi+000000C0h] inc edi add ebx,00000010h cmp edi,edx jl L0047E5F1 L0047E615: mov eax,[esi+000000C8h] test eax,eax jz L0047E628 push eax call SUB_L0049A810 add esp,00000004h L0047E628: mov eax,[esi+000000CCh] test eax,eax jz L0047E650 L0047E632: mov eax,[esi+000000CCh] mov ecx,eax mov edi,[eax+0Ch] push ecx call SUB_L0049A810 add esp,00000004h mov [esi+000000CCh],edi test edi,edi jnz L0047E632 L0047E650: mov eax,[esi+34h] test eax,eax jz L0047E670 mov ecx,[eax+0000012Ch] call SUB_L0045E310 mov edx,[esi+34h] mov ecx,[edx+00000130h] call SUB_L0045E310 L0047E670: mov eax,[esi+000000D8h] test eax,eax jz L0047E694 mov dword ptr [eax+000000B0h],00000000h mov ecx,[esi+000000D8h] test ecx,ecx jz L0047E694 mov eax,[ecx] push 00000001h call [eax] L0047E694: mov ecx,esi mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00441D50 mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 L0047E6C0: push ebp mov ebp,esp sub esp,000000A4h push ebx push esi mov esi,ecx push edi xor edi,edi mov [ebp-04h],esi mov eax,[esi+000000B4h] mov [ebp-0Ch],eax mov eax,[esi+000000B0h] cmp eax,edi jz L0047E6FE mov ecx,[ebp+0Ch] mov edx,[ebp+08h] push ecx push edx mov ecx,esi call SUB_L0047E980 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L0047E6FE: lea eax,[ebp-24h] lea edx,[ebp-18h] push eax mov ecx,00000032h call SUB_L004390A0 lea ecx,[ebp-1Ch] lea edx,[ebp-20h] push ecx mov ecx,00000039h call SUB_L004390A0 push edi mov ecx,esi call SUB_L00441340 mov ecx,[ebp-04h] mov ebx,[ebp+08h] mov eax,00000001h mov [esi+000000B8h],edi mov edx,[ecx+000000F0h] mov [esi+000000E4h],eax mov [esi+6Ch],ebx mov esi,[ebp+0Ch] cmp edx,eax mov [ecx+70h],esi jnz L0047E75E mov dword ptr [ecx+000000F0h],00000002h jmp L0047E775 L0047E75E: mov [ecx+000000F0h],eax call [KERNEL32.dll!GetTickCount] mov edx,[ebp-04h] mov ecx,edx mov [edx+000000ECh],eax L0047E775: cmp ebx,[ecx+00000094h] jl L0047E977 cmp ebx,[ecx+0000009Ch] jg L0047E977 mov eax,[ecx+00000098h] lea edx,[eax+06h] cmp esi,edx jl L0047E977 cmp esi,[ecx+000000A0h] jg L0047E977 mov ebx,[ecx+000000A4h] sub esi,eax sub esi,00000006h test ebx,ebx mov [ebp+0Ch],esi jz L0047E7C5 mov eax,[ebx] mov ecx,ebx call [eax+78h] mov edi,eax L0047E7C5: test edi,edi jz L0047E7D4 xor esi,esi mov si,[edi+06h] mov [ebp+08h],esi jmp L0047E7DE L0047E7D4: mov dword ptr [ebp+08h],00000000h mov esi,[ebp+08h] L0047E7DE: xor edi,edi cmp ebx,edi jz L0047E808 mov ecx,[ebx+000000A4h] mov edx,[ebx+000000A0h] push ecx push edx lea eax,[ebp-000000A4h] push SSZ004CE530__s_at__dgp push eax call SUB_L0049AC80 add esp,00000010h jmp L0047E835 L0047E808: mov edi,SSZ004CE528__null_ or ecx,FFFFFFFFh xor eax,eax lea edx,[ebp-000000A4h] repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov esi,[ebp+08h] xor edi,edi L0047E835: lea ecx,[ebp-14h] push edi lea edx,[ebp-08h] push ecx lea eax,[ebp-10h] push edx push eax lea ecx,[ebp-000000A4h] push 00000064h push ecx push 00000009h mov ecx,L00669CC8 call SUB_L00437B40 mov eax,[ebp-08h] cmp eax,esi jle L0047E864 L0047E85E: mov [ebp+08h],eax L0047E861: mov esi,[ebp+08h] L0047E864: cmp esi,0000002Ch mov eax,0000002Ch jl L0047E870 mov eax,esi L0047E870: mov ecx,[ebp+0Ch] add eax,00000012h cmp ecx,eax jle L0047E938 cmp ebx,edi jz L0047E977 sub ecx,00000012h cmp esi,0000002Ch mov eax,0000002Ch jl L0047E895 mov eax,esi L0047E895: mov ebx,[ebx+40h] sub ecx,eax cmp ebx,edi mov [ebp+0Ch],ecx jnz L0047E8C9 cmp [ebp-0Ch],edi jnz L0047E8C5 mov edx,[ebp-04h] mov eax,[edx+34h] mov ecx,[eax+00000130h] mov eax,[ecx+000000A8h] cmp eax,edi jz L0047E8C5 mov ebx,eax mov dword ptr [ebp-0Ch],00000001h L0047E8C5: cmp ebx,edi jz L0047E864 L0047E8C9: mov edx,[ebx] mov ecx,ebx call [edx+78h] cmp eax,edi jz L0047E8DF xor esi,esi mov si,[eax+06h] mov [ebp+08h],esi jmp L0047E8E4 L0047E8DF: mov [ebp+08h],edi mov esi,edi L0047E8E4: mov eax,[ebx+000000A4h] mov ecx,[ebx+000000A0h] push eax push ecx lea edx,[ebp-000000A4h] push SSZ004CE530__s_at__dgp push edx call SUB_L0049AC80 add esp,00000010h lea eax,[ebp-14h] lea ecx,[ebp-08h] lea edx,[ebp-10h] push edi push eax push ecx push edx lea eax,[ebp-000000A4h] push 00000064h push eax push 00000009h mov ecx,L00669CC8 call SUB_L00437B40 mov eax,[ebp-08h] cmp eax,esi jle L0047E861 jmp L0047E85E L0047E938: cmp ebx,edi jz L0047E977 mov ecx,[ebp-04h] mov eax,[ebp-0Ch] cmp eax,edi mov dword ptr [ecx+000000B8h],00000001h mov [ecx+000000A8h],ebx jz L0047E96B mov byte ptr [ecx+000000ACh],1Bh call SUB_L0047F310 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L0047E96B: mov byte ptr [ecx+000000ACh],1Ah call SUB_L0047F310 L0047E977: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ SUB_L0047E980: push ebp mov ebp,esp sub esp,0000009Ch push ebx push esi push edi mov edi,ecx lea eax,[ebp-10h] lea edx,[ebp-1Ch] push eax mov ecx,00000032h call SUB_L004390A0 lea ecx,[ebp-14h] lea edx,[ebp-18h] push ecx mov ecx,00000039h call SUB_L004390A0 push 00000000h mov ecx,edi call SUB_L00441340 mov ecx,[edi+000000F0h] mov ebx,[ebp+08h] mov esi,[ebp+0Ch] mov eax,00000001h cmp ecx,eax mov dword ptr [edi+000000B8h],00000000h mov [edi+000000E4h],eax mov [edi+6Ch],ebx mov [edi+70h],esi jnz L0047E9F0 mov dword ptr [edi+000000F0h],00000002h jmp L0047EA02 L0047E9F0: mov [edi+000000F0h],eax call [KERNEL32.dll!GetTickCount] mov [edi+000000ECh],eax L0047EA02: cmp ebx,[edi+00000094h] jl L0047EBE3 cmp ebx,[edi+0000009Ch] jg L0047EBE3 mov eax,[edi+00000098h] lea edx,[eax+06h] cmp esi,edx jl L0047EBE3 cmp esi,[edi+000000A0h] jg L0047EBE3 sub esi,eax mov eax,[edi+000000C8h] sub esi,00000006h xor ecx,ecx mov [ebp+0Ch],esi mov si,[edi+000000C2h] mov [ebp+08h],esi and esi,0000FFFFh shl esi,04h mov cx,[esi+eax+04h] add ecx,00004000h push ecx mov ecx,L006A9DB8 call SUB_L004882D0 test eax,eax jz L0047EA7C xor ebx,ebx mov bx,[eax+06h] jmp L0047EA7E L0047EA7C: xor ebx,ebx L0047EA7E: mov edx,[edi+000000C8h] xor ecx,ecx mov cx,[esi+edx+0Ah] lea eax,[esi+edx] push ecx mov edx,[eax+0Ch] lea eax,[ebp-0000009Ch] push edx push SSZ004CE530__s_at__dgp push eax call SUB_L0049AC80 add esp,00000010h lea ecx,[ebp-08h] lea edx,[ebp-04h] lea eax,[ebp-0Ch] push 00000000h push ecx push edx push eax lea ecx,[ebp-0000009Ch] push 00000064h push ecx push 00000009h mov ecx,L00669CC8 call SUB_L00437B40 mov eax,[ebp-04h] cmp eax,ebx jle L0047EAD3 L0047EAD1: mov ebx,eax L0047EAD3: cmp ebx,0000002Ch mov eax,0000002Ch jl L0047EADF mov eax,ebx L0047EADF: mov esi,[ebp+0Ch] add eax,00000012h cmp esi,eax jle L0047EBBF mov dx,[edi+000000C0h] mov eax,[ebp+08h] cmp ax,dx jnc L0047EBC2 sub esi,00000012h cmp ebx,0000002Ch mov ecx,0000002Ch jl L0047EB0F mov ecx,ebx L0047EB0F: sub esi,ecx inc eax cmp ax,dx mov [ebp+0Ch],esi mov [ebp+08h],eax jnc L0047EAD3 mov edx,[edi+000000C8h] mov esi,eax and esi,0000FFFFh xor eax,eax shl esi,04h mov ecx,L006A9DB8 mov ax,[esi+edx+04h] add eax,00004000h push eax call SUB_L004882D0 test eax,eax jz L0047EB51 xor ebx,ebx mov bx,[eax+06h] jmp L0047EB53 L0047EB51: xor ebx,ebx L0047EB53: mov ecx,[edi+000000C8h] xor eax,eax xor edx,edx mov ax,[esi+ecx+04h] mov ecx,eax call SUB_L0045D5B0 mov ecx,[edi+000000C8h] xor edx,edx mov dx,[esi+ecx+0Ah] push edx push eax lea eax,[ebp-0000009Ch] push SSZ004CE530__s_at__dgp push eax call SUB_L0049AC80 add esp,00000010h lea ecx,[ebp-08h] lea edx,[ebp-04h] lea eax,[ebp-0Ch] push 00000000h push ecx push edx push eax lea ecx,[ebp-0000009Ch] push 00000064h push ecx push 00000009h mov ecx,L00669CC8 call SUB_L00437B40 mov eax,[ebp-04h] cmp eax,ebx jle L0047EAD3 jmp L0047EAD1 L0047EBBF: mov eax,[ebp+08h] L0047EBC2: cmp ax,[edi+000000C0h] jnc L0047EBE3 mov ecx,edi mov dword ptr [edi+000000B8h],00000001h mov [edi+000000C4h],ax call SUB_L0047F310 L0047EBE3: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 8 L0047EBF0: push ebp mov ebp,esp mov eax,[ecx+000000DCh] push esi xor esi,esi cmp eax,esi mov [ecx+000000E4h],esi jz L0047EC1D mov [ecx+000000DCh],esi mov [ecx+000000F0h],esi mov [L006A9DD4],esi pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ L0047EC1D: cmp dword ptr [ecx+000000F0h],00000002h jnz L0047EC3B mov eax,[ecx+000000B8h] mov [ecx+000000F0h],esi cmp eax,esi jz L0047EC3B call SUB_L0040E2B0 L0047EC3B: mov [L006A9DD4],esi pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 L0047EC50: push ebp mov ebp,esp push ebx push esi mov esi,ecx push edi mov ecx,[ebp+0Ch] mov edi,[ebp+08h] mov ebx,[esi+000000E4h] test ebx,ebx jz L0047ECA8 mov eax,[esi+000000F0h] test eax,eax jbe L0047ECA8 mov edx,[esi+6Ch] mov eax,edi sub eax,edx cdq xor eax,edx sub eax,edx cmp eax,00000004h jg L0047EC94 mov edx,[esi+70h] mov eax,ecx sub eax,edx cdq xor eax,edx sub eax,edx cmp eax,00000004h jle L0047ECA8 L0047EC94: mov dword ptr [esi+000000DCh],00000001h mov dword ptr [esi+000000F0h],00000000h L0047ECA8: test ebx,ebx jz L0047ECF2 mov eax,[esi+000000B8h] test eax,eax jnz L0047ECF2 mov edx,[esi+70h] mov ebx,[esi+6Ch] push 00000001h push 00000000h sub ecx,edx push 00000001h sub edi,ebx push ecx push edi mov ecx,esi call SUB_L00440850 mov eax,[esi+2Ch] mov ecx,[esi+000000D8h] add eax,000000AAh mov [ecx+2Ch],eax mov edx,[esi+30h] mov eax,[esi+000000D8h] add edx,000000D6h mov [eax+30h],edx L0047ECF2: pop edi pop esi pop ebx pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 8 L0047ED00: push ebp mov ebp,esp push ecx mov eax,[ecx+000000B0h] push esi push edi xor esi,esi xor edi,edi mov [ebp-04h],ecx test eax,eax jz L0047ED50 mov di,[ecx+000000C0h] mov eax,[ebp+08h] mov esi,edi and esi,0000FFFFh imul eax,esi cdq idiv [ebp+0Ch] test di,di jz L0047ED3C cmp eax,esi jl L0047ED3C lea eax,[esi-01h] L0047ED3C: mov [ecx+000000C2h],ax call SUB_L0047F310 pop edi pop esi mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ L0047ED50: mov eax,[ecx+34h] push ebx mov ecx,[eax+0000012Ch] test ecx,ecx jz L0047ED70 mov esi,[ecx+000000A8h] test esi,esi jz L0047ED70 L0047ED68: mov esi,[esi+40h] inc edi test esi,esi jnz L0047ED68 L0047ED70: mov ebx,[eax+00000130h] test ebx,ebx jz L0047ED8C mov esi,[ebx+000000A8h] test esi,esi jz L0047ED8C L0047ED84: mov esi,[esi+40h] inc edi test esi,esi jnz L0047ED84 L0047ED8C: mov eax,edi imul eax,[ebp+08h] cdq idiv [ebp+0Ch] test edi,edi jz L0047EDA1 cmp eax,edi jl L0047EDA1 lea eax,[edi-01h] L0047EDA1: mov edx,[ebp-04h] mov edi,00000001h test ecx,ecx mov dword ptr [edx+000000B4h],00000000h jz L0047EDE1 mov esi,[ecx+000000A8h] test eax,eax jz L0047EDFF L0047EDC1: test esi,esi jz L0047EDE1 mov esi,[esi+40h] dec eax test esi,esi jnz L0047EDDD test ebx,ebx jz L0047EDDD mov esi,[ebx+000000A8h] mov [edx+000000B4h],edi L0047EDDD: test eax,eax jnz L0047EDC1 L0047EDE1: test eax,eax jz L0047EDFF test ebx,ebx jz L0047EDFF mov esi,[ebx+000000A8h] mov [edx+000000B4h],edi L0047EDF5: test esi,esi jz L0047EDFF mov esi,[esi+40h] dec eax jnz L0047EDF5 L0047EDFF: mov ecx,edx mov [edx+000000A4h],esi call SUB_L0047F310 pop ebx pop edi pop esi mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 16 L0047EE20: push esi push edi mov esi,ecx call [KERNEL32.dll!GetTickCount] mov edi,eax call [USER32.dll!GetDoubleClickTime] mov edx,[esi+000000F0h] mov ecx,00000001h cmp edx,ecx jnz L0047EE8B sub edi,[esi+000000ECh] cmp edi,eax jbe L0047EE8B mov eax,[esi+000000E4h] mov dword ptr [esi+000000F0h],00000000h test eax,eax jnz L0047EE85 mov eax,[esi+000000B8h] test eax,eax jz L0047EE8B mov eax,[L007121C4] test eax,eax jz L0047EE8B mov ecx,[esi+000000A8h] test ecx,ecx jz L0047EE8B call [L007121D4] pop edi pop esi retn ;------------------------------------------------------------------------------ L0047EE85: mov [esi+000000DCh],ecx L0047EE8B: pop edi pop esi retn ;------------------------------------------------------------------------------ Align 4 SUB_L0047EE90: push ebp mov ebp,esp sub esp,00000008h mov edx,ecx push ebx push esi push edi mov eax,[edx+000000CCh] mov [ebp-08h],edx test eax,eax mov dword ptr [ebp-04h],00000000h jz L0047EEC5 L0047EEAF: mov esi,[ebp+0Ch] mov ecx,[eax+04h] cmp ecx,esi jz L0047EEC8 mov [ebp-04h],eax mov eax,[eax+0Ch] test eax,eax jnz L0047EEAF jmp L0047EEC8 L0047EEC5: mov esi,[ebp+0Ch] L0047EEC8: mov ebx,[ebp+08h] mov edi,[edx+34h] mov ecx,ebx and ecx,000000FFh mov ecx,[edi+ecx*4+000000C4h] mov ecx,[ecx+000000A8h] test ecx,ecx jz L0047EEF3 L0047EEE7: cmp [ecx+78h],esi jz L0047EEF3 mov ecx,[ecx+40h] test ecx,ecx jnz L0047EEE7 L0047EEF3: mov esi,[ebp+10h] xor edi,edi mov di,[ecx+3Ch] test eax,eax jnz L0047EFA4 test esi,esi jle L0047EFA4 cmp bl,1Bh jz L0047EF19 test edi,edi jle L0047EFA4 L0047EF19: push 00000010h call SUB_L0049A820 mov edx,[ebp+0Ch] add esp,00000004h cmp bl,1Bh mov [eax],bl mov [eax+04h],edx mov [eax+0Ah],si jnz L0047EF42 cmp si,0001h jbe L0047EF42 mov word ptr [eax+0Ah],0001h jmp L0047EF55 L0047EF42: cmp bl,1Ah jnz L0047EF55 and esi,0000FFFFh cmp esi,edi jle L0047EF55 mov [eax+0Ah],di L0047EF55: mov ecx,[ebp-04h] mov dword ptr [eax+0Ch],00000000h test ecx,ecx jz L0047EF66 mov [ecx+0Ch],eax L0047EF66: mov esi,[ebp-08h] mov ecx,[esi+000000CCh] test ecx,ecx jnz L0047EF85 mov ecx,[esi+000000D8h] mov [esi+000000CCh],eax mov [ecx+000000B4h],eax L0047EF85: mov ecx,[esi+000000D8h] call SUB_L00480400 mov ecx,[esi+000000D8h] call SUB_L00480740 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ L0047EFA4: test eax,eax jz L0047F048 xor ecx,ecx mov cx,[eax+0Ah] add esi,ecx cmp bl,1Bh jnz L0047EFC5 cmp esi,00000001h jle L0047EFC5 mov esi,00000001h jmp L0047EFD0 L0047EFC5: cmp bl,1Ah jnz L0047EFD0 cmp esi,edi jle L0047EFD0 mov esi,edi L0047EFD0: cmp esi,000003E7h jle L0047EFDD mov esi,000003E7h L0047EFDD: test esi,esi jg L0047F02B mov ecx,[ebp-04h] test ecx,ecx jz L0047EFEE mov esi,[eax+0Ch] mov [ecx+0Ch],esi L0047EFEE: cmp [edx+000000CCh],eax jnz L0047EFFF mov ecx,[eax+0Ch] mov [edx+000000CCh],ecx L0047EFFF: mov ecx,[edx+000000D8h] cmp [ecx+000000B4h],eax jnz L0047F01D mov edx,[eax+0Ch] test edx,edx jnz L0047F017 mov edx,[ebp-04h] L0047F017: mov [ecx+000000B4h],edx L0047F01D: push eax call SUB_L0049A810 mov edx,[ebp-08h] add esp,00000004h jmp L0047F02F L0047F02B: mov [eax+0Ah],si L0047F02F: mov ecx,[edx+000000D8h] call SUB_L00480400 mov eax,[ebp-08h] mov ecx,[eax+000000D8h] call SUB_L00480740 L0047F048: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 16 SUB_L0047F060: push ebp mov ebp,esp sub esp,00000008h mov eax,[ecx+000000CCh] push ebx push esi push edi test eax,eax mov [ebp-08h],ecx mov dword ptr [ebp-04h],00000000h jz L0047F0A1 mov edx,[ebp+08h] mov esi,[ecx+000000C8h] and edx,0000FFFFh shl edx,04h mov edx,[esi+edx] L0047F092: cmp [eax+04h],edx jz L0047F0A1 mov [ebp-04h],eax mov eax,[eax+0Ch] test eax,eax jnz L0047F092 L0047F0A1: mov esi,[ebp+08h] mov edx,[ecx+000000C8h] mov edi,[ebp+0Ch] and esi,0000FFFFh shl esi,04h xor ebx,ebx mov bx,[edx+esi+08h] test eax,eax jnz L0047F12F test edi,edi jle L0047F12F test ebx,ebx jle L0047F12F push 00000010h call SUB_L0049A820 mov ecx,[ebp-08h] add esp,00000004h mov edx,[ecx+000000C8h] mov edx,[edx+esi] mov [eax+0Ah],di mov [eax+04h],edx mov dx,[ebp+08h] and edi,0000FFFFh mov [eax+08h],dx cmp edi,ebx jle L0047F0FC mov [eax+0Ah],bx L0047F0FC: mov edx,[ebp-04h] mov dword ptr [eax+0Ch],00000000h test edx,edx jz L0047F10D mov [edx+0Ch],eax L0047F10D: mov edx,[ecx+000000CCh] test edx,edx jnz L0047F1A4 mov edx,[ecx+000000D8h] mov [ecx+000000CCh],eax mov [edx+000000B4h],eax jmp L0047F1A4 L0047F12F: test eax,eax jz L0047F1BD xor edx,edx mov dx,[eax+0Ah] add edi,edx cmp edi,ebx jle L0047F145 mov edi,ebx L0047F145: cmp edi,000003E7h jle L0047F152 mov edi,000003E7h L0047F152: test edi,edi jg L0047F1A0 mov edx,[ebp-04h] test edx,edx jz L0047F163 mov esi,[eax+0Ch] mov [edx+0Ch],esi L0047F163: cmp [ecx+000000CCh],eax jnz L0047F174 mov edx,[eax+0Ch] mov [ecx+000000CCh],edx L0047F174: mov ecx,[ecx+000000D8h] cmp [ecx+000000B4h],eax jnz L0047F192 mov edx,[eax+0Ch] test edx,edx jnz L0047F18C mov edx,[ebp-04h] L0047F18C: mov [ecx+000000B4h],edx L0047F192: push eax call SUB_L0049A810 mov ecx,[ebp-08h] add esp,00000004h jmp L0047F1A4 L0047F1A0: mov [eax+0Ah],di L0047F1A4: mov ecx,[ecx+000000D8h] call SUB_L00480400 mov eax,[ebp-08h] mov ecx,[eax+000000D8h] call SUB_L00480740 L0047F1BD: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L0047F1D0: push ebp mov ebp,esp sub esp,00000054h mov eax,[ecx+000000B0h] push ebx push esi push edi test eax,eax mov [ebp-04h],ecx jnz L0047F307 mov eax,[ecx+000000CCh] mov edx,[ebp+08h] xor esi,esi test eax,eax jz L0047F207 L0047F1F9: cmp [eax+04h],edx jz L0047F207 mov esi,eax mov eax,[eax+0Ch] test eax,eax jnz L0047F1F9 L0047F207: test eax,eax jz L0047F307 mov bl,[eax] mov ecx,[ecx+34h] mov edi,ebx and edi,000000FFh mov ecx,[ecx+edi*4+000000C4h] mov ecx,[ecx+000000A8h] test ecx,ecx jz L0047F29F L0047F22D: cmp [ecx+78h],edx jz L0047F239 mov ecx,[ecx+40h] test ecx,ecx jnz L0047F22D L0047F239: test ecx,ecx jz L0047F29F cmp bl,1Ah jnz L0047F307 mov dx,[ecx+3Ch] cmp dx,[eax+0Ah] jnc L0047F307 mov [eax+0Ah],dx and edx,0000FFFFh push edx call SUB_L0045D8C0 push eax lea edx,[ebp-54h] push SSZ004CE560__s_dropped_to_quantity___d__ push edx call SUB_L0049AC80 add esp,00000010h lea eax,[ebp-54h] mov ecx,L006693F8 push eax push 00000000h push 00000000h call SUB_L0048C0A0 mov ecx,[ebp-04h] mov ecx,[ecx+000000D8h] call SUB_L00480740 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L0047F29F: test esi,esi jz L0047F2A9 mov edx,[eax+0Ch] mov [esi+0Ch],edx L0047F2A9: mov edi,[ebp-04h] cmp [edi+000000CCh],eax jnz L0047F2BD mov ecx,[eax+0Ch] mov [edi+000000CCh],ecx L0047F2BD: mov ecx,[edi+000000D8h] cmp [ecx+000000B4h],eax jnz L0047F2E0 mov edx,[eax+0Ch] test edx,edx jz L0047F2DA mov [ecx+000000B4h],edx jmp L0047F2E0 L0047F2DA: mov [ecx+000000B4h],esi L0047F2E0: push eax call SUB_L0049A810 add esp,00000004h mov ecx,L006693F8 push SSZ004CE53C_Item_removed_from_shopping_list_ push 00000000h push 00000000h call SUB_L0048C0A0 mov ecx,[edi+000000D8h] call SUB_L00480740 L0047F307: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ SUB_L0047F310: push ebp mov ebp,esp sub esp,000000B4h push ebx push esi push edi mov edi,ecx mov eax,[edi+000000B4h] mov [ebp-24h],eax mov eax,[edi+000000B0h] test eax,eax jz L0047F33D call SUB_L0047F710 pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L0047F33D: lea ecx,[ebp-30h] lea edx,[ebp-34h] push ecx mov ecx,00000032h call SUB_L004390A0 mov edx,[edi+38h] xor ecx,ecx mov eax,[edx+04h] xor edx,edx mov cx,[eax+02h] mov dx,[eax] push ecx add eax,00000004h push edx mov edx,[edi+50h] push eax push 00000000h push 00000000h mov ecx,SUB_L00488700 call SUB_L00439100 mov eax,[edi+00000094h] mov ecx,[edi+000000A0h] add eax,00000002h mov ebx,[edi+000000A4h] mov [ebp-1Ch],eax mov eax,[edi+0000009Ch] sub eax,00000002h sub ecx,00000002h mov [ebp-14h],eax mov eax,[edi+00000098h] add eax,00000002h mov [ebp-10h],ecx test ebx,ebx lea edx,[eax+06h] mov [ebp-18h],eax mov [ebp-08h],edx jz L0047F6E1 jmp L0047F3C2 L0047F3BC: mov ecx,[ebp-10h] mov edx,[ebp-08h] L0047F3C2: mov eax,[ebx+7Ch] test eax,eax jz L0047F6E1 cmp edx,ecx jg L0047F6FA cmp ebx,[edi+000000A4h] jz L0047F3FC lea esi,[edx+12h] cmp esi,ecx jge L0047F3F9 mov eax,[edi+38h] lea ecx,[ebp-1Ch] push ecx mov ecx,[eax+04h] push ecx mov ecx,[ebp-1Ch] push 00000039h call SUB_L0047DD20 L0047F3F9: mov [ebp-08h],esi L0047F3FC: mov edx,[ebx] mov ecx,ebx call [edx+78h] test eax,eax mov [ebp-0Ch],eax jz L0047F414 mov ax,[eax+06h] mov [ebp-04h],ax jmp L0047F41B L0047F414: mov dword ptr [ebp-04h],0000002Ch L0047F41B: mov eax,[edi+000000A8h] mov ecx,[ebx+000000A4h] mov edx,[ebx+000000A0h] mov esi,ebx sub esi,eax push ecx neg esi sbb esi,esi push edx lea eax,[ebp-000000B4h] and esi,000001FEh push SSZ004CE530__s_at__dgp push eax add esi,00000021h call SUB_L0049AC80 add esp,00000010h lea ecx,[ebp-28h] lea edx,[ebp-2Ch] lea eax,[ebp-20h] push 00000000h push ecx push edx push eax lea ecx,[ebp-000000B4h] push 00000064h push ecx push 00000009h mov ecx,L00669CC8 call SUB_L00437B40 mov edx,[ebp-04h] mov eax,[ebp-2Ch] and edx,0000FFFFh cmp eax,edx jle L0047F48A mov [ebp-04h],eax L0047F48A: mov edx,[edi+38h] mov ecx,[edi+1Ch] push 00000000h lea eax,[ebp-1Ch] push 00000000h push eax mov eax,[edx+04h] mov edx,[ebp-08h] add eax,00000004h push ecx push eax mov eax,[ebp-1Ch] lea ecx,[ebp-000000B4h] and esi,0000FFFFh push 00000064h push ecx push esi add edx,00000002h push 00000009h add eax,00000032h push edx push eax mov ecx,L00669CC8 call SUB_L004372C0 mov ecx,[ebx+7Ch] mov al,[ecx+00000099h] cmp al,1Bh mov eax,[edi+000000CCh] jnz L0047F517 test eax,eax jz L0047F4FA mov ecx,[ebx+78h] L0047F4E4: cmp [eax+04h],ecx jz L0047F4F0 mov eax,[eax+0Ch] test eax,eax jnz L0047F4E4 L0047F4F0: test eax,eax jz L0047F4FA mov ax,[eax+0Ah] jmp L0047F4FC L0047F4FA: xor eax,eax L0047F4FC: and eax,0000FFFFh mov edx,00000001h sub edx,eax lea eax,[ebp-000000B4h] push edx push L004C43EC push eax jmp L0047F550 L0047F517: test eax,eax jz L0047F534 mov ecx,[ebx+78h] L0047F51E: cmp [eax+04h],ecx jz L0047F52A mov eax,[eax+0Ch] test eax,eax jnz L0047F51E L0047F52A: test eax,eax jz L0047F534 mov ax,[eax+0Ah] jmp L0047F536 L0047F534: xor eax,eax L0047F536: xor ecx,ecx and eax,0000FFFFh mov cx,[ebx+3Ch] lea edx,[ebp-000000B4h] sub ecx,eax push ecx push L004C43EC push edx L0047F550: call SUB_L0049AC80 add esp,0000000Ch lea eax,[ebp-28h] lea ecx,[ebp-2Ch] lea edx,[ebp-20h] push eax push ecx lea eax,[ebp-000000B4h] push edx push eax push 00000009h mov ecx,L00669CC8 call SUB_L00437A10 mov eax,[ebp-04h] cmp ax,002Ch jnc L0047F587 mov eax,0000002Ch jmp L0047F58C L0047F587: and eax,0000FFFFh L0047F58C: mov edx,[edi+1Ch] lea ecx,[ebp-1Ch] push ecx mov ecx,[edi+38h] push edx mov edx,[ecx+04h] lea ecx,[ebp-000000B4h] add edx,00000004h push edx mov edx,[ebp-28h] push ecx push esi mov esi,[ebp-08h] mov ecx,[ebp-14h] add edx,esi push 00000009h lea eax,[edx+eax-1Dh] push eax mov eax,[ebp-20h] sub ecx,eax push ecx mov ecx,L00669CC8 call SUB_L004371A0 mov eax,[ebp-0Ch] test eax,eax jz L0047F691 mov edx,[edi+38h] mov eax,[edx+04h] xor edx,edx mov dx,[eax] lea ecx,[eax+04h] call SUB_L00488A00 mov ax,[ebx+3Eh] test ax,ax jz L0047F651 cmp ax,EA60h jbe L0047F601 mov dword ptr [L0076735C],00000001h jmp L0047F60C L0047F601: and eax,0000FFFFh dec eax mov [L0076735C],eax L0047F60C: mov eax,[ebp-04h] cmp ax,002Ch jnc L0047F63E mov ecx,eax mov eax,0000002Ch and ecx,0000FFFFh sub eax,ecx mov ecx,L004883B0 cdq sub eax,edx mov edx,[ebp-1Ch] sar eax,1 add eax,esi push eax lea eax,[ebp-1Ch] push edx mov edx,[ebp-0Ch] push eax jmp L0047F68C L0047F63E: mov ecx,[ebp-1Ch] push esi lea edx,[ebp-1Ch] push ecx push edx mov edx,[ebp-0Ch] mov ecx,L004883B0 jmp L0047F68C L0047F651: mov eax,[ebp-04h] cmp ax,002Ch jnc L0047F67B mov ecx,eax mov eax,0000002Ch and ecx,0000FFFFh sub eax,ecx cdq sub eax,edx mov edx,[ebp-1Ch] sar eax,1 add eax,esi push eax lea eax,[ebp-1Ch] push edx push eax jmp L0047F684 L0047F67B: mov ecx,[ebp-1Ch] push esi lea edx,[ebp-1Ch] push ecx push edx L0047F684: mov edx,[ebp-0Ch] mov ecx,SUB_L00488380 L0047F68C: call SUB_L00488A10 L0047F691: mov eax,[ebp-04h] cmp ax,002Ch jnc L0047F6A1 mov eax,0000002Ch jmp L0047F6A6 L0047F6A1: and eax,0000FFFFh L0047F6A6: mov ebx,[ebx+40h] add esi,eax test ebx,ebx mov [ebp-08h],esi jnz L0047F3BC mov eax,[ebp-24h] test eax,eax jnz L0047F6D3 mov eax,[edi+34h] mov dword ptr [ebp-24h],00000001h mov ecx,[eax+00000130h] mov ebx,[ecx+000000A8h] L0047F6D3: test ebx,ebx jnz L0047F3BC mov ecx,[ebp-10h] mov edx,[ebp-08h] L0047F6E1: cmp edx,ecx jg L0047F6FA mov ecx,[edi+38h] lea eax,[ebp-1Ch] push eax mov eax,[ecx+04h] mov ecx,[ebp-1Ch] push eax push 00000039h call SUB_L0047DD20 L0047F6FA: pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L0047F710: push ebp mov ebp,esp sub esp,000000B4h push ebx push esi push edi mov edi,ecx lea eax,[ebp-34h] lea edx,[ebp-30h] push eax mov ecx,00000032h call SUB_L004390A0 mov ecx,[edi+38h] xor edx,edx mov eax,[ecx+04h] xor ecx,ecx mov dx,[eax+02h] mov cx,[eax] push edx mov edx,[edi+50h] add eax,00000004h push ecx push eax push 00000000h push 00000000h mov ecx,SUB_L00488700 call SUB_L00439100 mov edx,[edi+0000009Ch] mov ecx,[edi+00000094h] mov eax,[edi+000000A0h] mov si,[edi+000000C2h] sub edx,00000002h add ecx,00000002h mov [ebp-14h],edx mov edx,[edi+00000098h] add edx,00000002h sub eax,00000002h mov [ebp-18h],edx add edx,00000006h cmp si,[edi+000000C0h] mov [ebp-1Ch],ecx mov [ebp-10h],eax mov [ebp-20h],esi mov [ebp-08h],edx jnc L0047FAA5 jmp L0047F7AC L0047F7A6: mov esi,[ebp-20h] mov edx,[ebp-08h] L0047F7AC: cmp edx,eax jg L0047FABB cmp si,[edi+000000C2h] jz L0047F7D9 lea ebx,[edx+12h] cmp ebx,eax jge L0047F7D6 lea eax,[ebp-1Ch] push eax mov eax,[edi+38h] mov eax,[eax+04h] push eax push 00000039h call SUB_L0047DD20 L0047F7D6: mov [ebp-08h],ebx L0047F7D9: mov ecx,[edi+000000C8h] mov ebx,esi and ebx,0000FFFFh xor edx,edx shl ebx,04h mov dx,[ebx+ecx+04h] mov ecx,L006A9DB8 add edx,00004000h push edx call SUB_L004882D0 test eax,eax mov [ebp-0Ch],eax jz L0047F813 mov ax,[eax+06h] mov [ebp-04h],ax jmp L0047F81A L0047F813: mov dword ptr [ebp-04h],0000002Ch L0047F81A: sub si,[edi+000000C4h] mov ecx,[edi+000000C8h] neg si lea eax,[ebx+ecx] sbb esi,esi xor edx,edx mov dx,[eax+0Ah] mov ecx,[eax+0Ch] push edx push ecx lea eax,[ebp-000000B4h] and esi,000001FEh push SSZ004CE530__s_at__dgp push eax add esi,00000021h call SUB_L0049AC80 add esp,00000010h lea ecx,[ebp-24h] lea edx,[ebp-28h] lea eax,[ebp-2Ch] push 00000000h push ecx push edx push eax lea ecx,[ebp-000000B4h] push 00000064h push ecx push 00000009h mov ecx,L00669CC8 call SUB_L00437B40 mov edx,[ebp-04h] mov eax,[ebp-28h] and edx,0000FFFFh cmp eax,edx jle L0047F88D mov [ebp-04h],eax L0047F88D: mov edx,[edi+38h] mov ecx,[edi+1Ch] push 00000000h lea eax,[ebp-1Ch] push 00000000h push eax mov eax,[edx+04h] mov edx,[ebp-08h] add eax,00000004h push ecx push eax mov eax,[ebp-1Ch] lea ecx,[ebp-000000B4h] and esi,0000FFFFh push 00000064h push ecx push esi add edx,00000002h push 00000009h add eax,00000032h push edx push eax mov ecx,L00669CC8 call SUB_L004372C0 mov eax,[edi+000000CCh] test eax,eax jz L0047F8F6 mov ecx,[edi+000000C8h] mov ecx,[ebx+ecx] L0047F8E0: cmp [eax+04h],ecx jz L0047F8EC mov eax,[eax+0Ch] test eax,eax jnz L0047F8E0 L0047F8EC: test eax,eax jz L0047F8F6 mov ax,[eax+0Ah] jmp L0047F8F8 L0047F8F6: xor eax,eax L0047F8F8: mov edx,[edi+000000C8h] xor ecx,ecx and eax,0000FFFFh mov cx,[ebx+edx+08h] lea edx,[ebp-000000B4h] sub ecx,eax push ecx push L004C43EC push edx call SUB_L0049AC80 add esp,0000000Ch lea eax,[ebp-24h] lea ecx,[ebp-28h] lea edx,[ebp-2Ch] push eax push ecx lea eax,[ebp-000000B4h] push edx push eax push 00000009h mov ecx,L00669CC8 call SUB_L00437A10 mov eax,[ebp-04h] cmp ax,002Ch jnc L0047F950 mov eax,0000002Ch jmp L0047F955 L0047F950: and eax,0000FFFFh L0047F955: mov edx,[edi+1Ch] lea ecx,[ebp-1Ch] push ecx mov ecx,[edi+38h] push edx mov edx,[ecx+04h] lea ecx,[ebp-000000B4h] add edx,00000004h push edx mov edx,[ebp-24h] push ecx push esi mov esi,[ebp-08h] mov ecx,[ebp-14h] add edx,esi push 00000009h lea eax,[edx+eax-1Dh] push eax mov eax,[ebp-2Ch] sub ecx,eax push ecx mov ecx,L00669CC8 call SUB_L004371A0 mov eax,[ebp-0Ch] test eax,eax jz L0047FA6E mov edx,[edi+38h] mov eax,[edx+04h] xor edx,edx mov dx,[eax] lea ecx,[eax+04h] call SUB_L00488A00 mov eax,[edi+000000C8h] mov bx,[ebx+eax+06h] test bx,bx jz L0047FA2E cmp bx,EA60h jbe L0047F9D2 mov dword ptr [L0076735C],00000001h jmp L0047F9DF L0047F9D2: and ebx,0000FFFFh dec ebx mov [L0076735C],ebx L0047F9DF: mov ebx,[ebp-04h] cmp bx,002Ch jnc L0047FA16 mov ecx,ebx mov eax,0000002Ch and ecx,0000FFFFh sub eax,ecx mov ecx,L004883B0 cdq sub eax,edx mov edx,[ebp-1Ch] sar eax,1 add eax,esi push eax lea eax,[ebp-1Ch] push edx mov edx,[ebp-0Ch] push eax call SUB_L00488A10 jmp L0047FA71 L0047FA16: mov ecx,[ebp-1Ch] push esi lea edx,[ebp-1Ch] push ecx push edx mov edx,[ebp-0Ch] mov ecx,L004883B0 call SUB_L00488A10 jmp L0047FA71 L0047FA2E: mov eax,[ebp-04h] cmp ax,002Ch jnc L0047FA58 mov ecx,eax mov eax,0000002Ch and ecx,0000FFFFh sub eax,ecx cdq sub eax,edx mov edx,[ebp-1Ch] sar eax,1 add eax,esi push eax lea eax,[ebp-1Ch] push edx push eax jmp L0047FA61 L0047FA58: mov ecx,[ebp-1Ch] push esi lea edx,[ebp-1Ch] push ecx push edx L0047FA61: mov edx,[ebp-0Ch] mov ecx,SUB_L00488380 call SUB_L00488A10 L0047FA6E: mov ebx,[ebp-04h] L0047FA71: cmp bx,002Ch jnc L0047FA7E mov ebx,0000002Ch jmp L0047FA84 L0047FA7E: and ebx,0000FFFFh L0047FA84: mov eax,[ebp-20h] mov ecx,[ebp-1Ch] add esi,ebx inc eax cmp ax,[edi+000000C0h] mov [ebp-20h],eax mov eax,[ebp-10h] mov [ebp-08h],esi jc L0047F7A6 mov edx,esi L0047FAA5: cmp edx,eax jg L0047FABB lea eax,[ebp-1Ch] push eax mov eax,[edi+38h] mov eax,[eax+04h] push eax push 00000039h call SUB_L0047DD20 L0047FABB: pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 L0047FAD0: push ebp mov ebp,esp sub esp,00000018h push ebx xor eax,eax push esi mov esi,ecx mov [ebp-08h],eax mov [ebp-04h],eax lea eax,[ebp-04h] push edi lea ecx,[ebp-08h] push eax push ecx mov ecx,esi call SUB_L00440C60 mov eax,[ebp-08h] mov edx,[ebp-04h] mov ecx,[esi+38h] mov [ebp-18h],eax mov [ebp-14h],edx xor ebx,ebx mov edi,[ecx+04h] mov bx,[edi] mov edi,[ebp+08h] add eax,ebx mov [ebp-10h],eax mov eax,[ecx+04h] xor ecx,ecx mov cx,[eax+02h] add ecx,edx lea edx,[ebp-18h] mov [ebp-0Ch],ecx push edx push edi mov ecx,L00669608 call SUB_L00440D40 test eax,eax jz L0047FB70 mov ecx,[L004C7F38] mov edx,[L004C7F34] mov eax,[esi+38h] push ecx mov ecx,[L006BAE7C] push edx mov edx,[ebp-04h] mov eax,[eax+04h] push ecx mov ecx,[ebp-08h] push edx push ecx xor edx,edx xor ecx,ecx mov dx,[eax+02h] mov cx,[eax] push edx push ecx push edi lea edx,[eax+04h] mov ecx,SUB_L00488700 call SUB_L00439500 L0047FB70: mov esi,[esi+4Ch] test esi,esi jz L0047FB86 L0047FB77: mov edx,[esi] push edi mov ecx,esi call [edx+0Ch] mov esi,[esi+40h] test esi,esi jnz L0047FB77 L0047FB86: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 4 L0047FB90: push ebp mov ebp,esp sub esp,00000008h mov edx,[ebp+08h] push esi test edx,edx mov esi,ecx jl L0047FC3C mov eax,[ebp+0Ch] test eax,eax jl L0047FC3C mov ecx,[esi+1Ch] cmp edx,ecx jge L0047FC3C cmp eax,[esi+20h] jge L0047FC3C imul eax,ecx mov ecx,[esi+38h] add eax,edx mov edx,[ecx+04h] cmp word ptr [edx+eax*2+04h],0000h jz L0047FBDE mov eax,00000001h pop esi mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L0047FBDE: lea eax,[ebp+0Ch] lea ecx,[ebp+08h] push eax push ecx mov ecx,esi call SUB_L00440C60 mov esi,[esi+44h] test esi,esi jz L0047FC3C L0047FBF4: mov edx,[ebp+08h] mov eax,[ebp+0Ch] mov [ebp-08h],edx lea ecx,[ebp-04h] lea edx,[ebp-08h] push ecx push edx mov ecx,esi mov [ebp-04h],eax call SUB_L00440CD0 mov ecx,[ebp-04h] mov edx,[ebp-08h] mov eax,[esi] push ecx push edx mov ecx,esi call [eax+10h] test eax,eax jnz L0047FC30 mov esi,[esi+3Ch] test esi,esi jnz L0047FBF4 pop esi mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L0047FC30: mov eax,00000001h pop esi mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L0047FC3C: xor eax,eax pop esi mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L0047FC50: push ebp mov ebp,esp push FFFFFFFFh push L004B4D7F mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push esi mov esi,ecx push edi mov [ebp-10h],esi call SUB_L00441CB0 mov eax,[ebp+14h] mov ecx,[ebp+08h] mov edx,[ebp+0Ch] xor edi,edi mov dword ptr [esi],L004BBF88 mov [esi+000000A4h],eax mov eax,[ebp+10h] mov dword ptr [esi+04h],SSZ004CE598_bill_gump mov [esi+5Ch],edi mov [esi+000000D0h],edi mov [esi+000000CCh],edi mov [esi+000000C8h],edi mov [esi+000000C4h],edi mov [esi+000000D8h],edi mov [esi+000000D4h],edi mov [esi+000000ACh],edi mov [esi+2Ch],ecx mov [esi+30h],edx mov [esi+34h],edi mov [esi+000000B0h],eax mov eax,[eax+000000CCh] mov ecx,esi mov [ebp-04h],edi mov [esi+000000B4h],eax call SUB_L00480400 mov eax,[esi+000000A4h] mov [esi+4Ch],edi cmp eax,edi mov [esi+48h],edi mov [esi+44h],edi mov [esi+40h],edi mov [esi+3Ch],edi jz L0047FD0B mov dword ptr [esi+50h],00000873h jmp L0047FD12 L0047FD0B: mov dword ptr [esi+50h],00000871h L0047FD12: mov ecx,[esi+50h] lea eax,[esi+20h] lea ebx,[esi+1Ch] push eax mov edx,ebx call SUB_L004390A0 mov ecx,[ebx] push SSZ004CE580_framedata_for_CBillGump mov [esi+18h],ecx push 00000008h mov ecx,L00669C8C mov [esi+10h],edi mov dword ptr [esi+14h],00000001h call SUB_L0044FBD0 mov ecx,[esi+14h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+38h],edi push SSZ004CE4F4_shopgump_frame rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+20h] imul eax,[ebx] lea ecx,[eax+eax+04h] push ecx mov ecx,L00669C8C call SUB_L0044FBD0 mov edx,[esi+38h] push 000000B4h mov [edx+04h],eax mov ecx,[esi+20h] imul ecx,[ebx] mov edx,[esi+38h] xor eax,eax shl ecx,1 mov edi,[edx+04h] mov edx,ecx add edi,00000004h shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+38h] mov dx,[ebx] mov ecx,[eax+04h] mov [ecx],dx mov eax,[esi+38h] mov dx,[esi+20h] mov ecx,[eax+04h] mov [ecx+02h],dx mov dword ptr [esi+00000094h],00000020h mov dword ptr [esi+0000009Ch],000000E4h mov dword ptr [esi+00000098h],00000042h mov dword ptr [esi+000000A0h],0000009Ch call SUB_L0049A820 add esp,00000004h mov [ebp+14h],eax test eax,eax mov byte ptr [ebp-04h],01h jz L0047FE16 push 00000828h push esi push 0000009Ah push 00000001h push 00000042h push 000000ECh mov ecx,eax call SUB_L00412A50 jmp L0047FE18 L0047FE16: xor eax,eax L0047FE18: push 00000001h push esi mov ecx,eax mov byte ptr [ebp-04h],00h mov [esi+000000C0h],eax call SUB_L004415C0 mov ecx,[esi+000000C0h] push 00000001h push 00000000h call SUB_L00412F50 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp+14h],eax test eax,eax mov byte ptr [ebp-04h],02h jz L0047FE76 push 00000000h push L0040DE80 push 00000000h push 00000002h push esi push 0000003Eh push 000000FBh push 00000032h push 000000E8h mov ecx,eax call SUB_L00412450 jmp L0047FE78 L0047FE76: xor eax,eax L0047FE78: push 00000001h push esi mov ecx,eax mov byte ptr [ebp-04h],00h call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp+14h],eax test eax,eax mov byte ptr [ebp-04h],03h jz L0047FEC7 push 00000000h push L0040DE10 push 00000000h push 00000002h push esi push 000000ABh push 000000FBh push 0000009Ch push 000000E8h mov ecx,eax call SUB_L00412450 jmp L0047FEC9 L0047FEC7: xor eax,eax L0047FEC9: push 00000001h push esi mov ecx,eax mov byte ptr [ebp-04h],00h call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp+14h],eax test eax,eax mov byte ptr [ebp-04h],04h jz L0047FF12 push 00000000h push L0040E5D0 push 00000000h push 00000000h push esi push 000000DAh push 00000036h push 000000C4h push 00000022h mov ecx,eax call SUB_L00412450 jmp L0047FF14 L0047FF12: xor eax,eax L0047FF14: push 00000001h push esi mov ecx,eax mov byte ptr [ebp-04h],00h call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp+14h],eax test eax,eax mov byte ptr [ebp-04h],05h jz L0047FF63 push 00000000h push L0040E680 push 00000000h push 00000000h push esi push 000000D7h push 000000DFh push 000000C8h push 000000CFh mov ecx,eax call SUB_L00412450 jmp L0047FF65 L0047FF63: xor eax,eax L0047FF65: push 00000001h push esi mov ecx,eax mov byte ptr [ebp-04h],00h call SUB_L004415C0 mov ecx,esi call SUB_L00480740 mov ecx,[ebp-0Ch] mov eax,esi pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0010h ;------------------------------------------------------------------------------ Align 4 L0047FF90: push ebp mov ebp,esp push esi mov esi,ecx call SUB_L0047FFC0 test byte ptr [ebp+08h],01h jz L0047FFAA push esi call SUB_L0049A810 add esp,00000004h L0047FFAA: mov eax,esi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L0047FFC0: push ebp mov ebp,esp push FFFFFFFFh push L004B4D98 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx mov [ebp-10h],esi mov dword ptr [esi],L004BBF88 mov eax,[esi+000000B0h] xor edx,edx cmp eax,edx mov [ebp-04h],edx jz L0048000A mov [eax+000000D8h],edx mov ecx,[esi+000000B0h] cmp ecx,edx jz L0048000A mov eax,[ecx] push 00000001h call [eax] L0048000A: mov ecx,esi mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00441D50 mov ecx,[ebp-0Ch] pop esi mov fs:[00000000h],ecx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 L00480030: push ebp mov ebp,esp push esi mov esi,ecx push 00000000h mov ecx,[esi+000000B0h] call SUB_L00441340 mov ecx,[ebp+08h] mov edx,[ebp+0Ch] mov [esi+6Ch],ecx mov ecx,[esi+000000D8h] mov eax,00000001h mov dword ptr [esi+000000A8h],00000000h cmp ecx,eax mov [esi+000000CCh],eax mov [esi+70h],edx jnz L0048007D mov dword ptr [esi+000000D8h],00000002h pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ L0048007D: mov [esi+000000D8h],eax call [KERNEL32.dll!GetTickCount] mov [esi+000000D4h],eax pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 L004800A0: push ebp mov ebp,esp mov edx,[ecx+000000C4h] xor eax,eax cmp edx,eax mov [ecx+000000CCh],eax jz L004800CA mov [ecx+000000C4h],eax mov [ecx+000000D8h],eax mov [L006A9DD4],eax pop ebp retn 0008h ;------------------------------------------------------------------------------ L004800CA: cmp dword ptr [ecx+000000D8h],00000002h jnz L004800D9 mov [ecx+000000D8h],eax L004800D9: mov [L006A9DD4],eax pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 L004800F0: push ebp mov ebp,esp push ebx push esi mov esi,ecx push edi mov ecx,[ebp+0Ch] mov edi,[ebp+08h] mov ebx,[esi+000000CCh] test ebx,ebx jz L00480148 mov eax,[esi+000000D8h] test eax,eax jbe L00480148 mov edx,[esi+6Ch] mov eax,edi sub eax,edx cdq xor eax,edx sub eax,edx cmp eax,00000004h jg L00480134 mov edx,[esi+70h] mov eax,ecx sub eax,edx cdq xor eax,edx sub eax,edx cmp eax,00000004h jle L00480148 L00480134: mov dword ptr [esi+000000C4h],00000001h mov dword ptr [esi+000000D8h],00000000h L00480148: test ebx,ebx jz L00480192 mov eax,[esi+000000A8h] test eax,eax jnz L00480192 mov edx,[esi+70h] mov ebx,[esi+6Ch] push 00000001h push 00000000h sub ecx,edx push 00000001h sub edi,ebx push ecx push edi mov ecx,esi call SUB_L00440850 mov eax,[esi+2Ch] mov ecx,[esi+000000B0h] sub eax,000000AAh mov [ecx+2Ch],eax mov edx,[esi+30h] mov eax,[esi+000000B0h] sub edx,000000D6h mov [eax+30h],edx L00480192: pop edi pop esi pop ebx pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 8 L004801A0: push ebp mov ebp,esp sub esp,00000028h push ebx mov ebx,ecx push esi push edi mov eax,[ebx+000000ACh] test eax,eax jz L0048033F mov edi,L006BB372 or ecx,FFFFFFFFh xor eax,eax mov dword ptr [ebp-10h],00000000h repne scasb not ecx dec ecx jnz L004801F4 mov edi,SSZ004CE5B0_NoName or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,L006BB372 shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb L004801F4: lea ecx,[ebp-14h] lea edx,[ebp-08h] push ecx lea eax,[ebp-04h] push edx push eax push L006BB372 push 00000005h mov ecx,L00669CC8 call SUB_L00437A10 mov eax,[ebp-04h] add eax,00000002h cmp eax,0000007Ch mov [ebp-04h],eax jle L00480227 mov eax,0000007Ch mov [ebp-04h],eax L00480227: mov esi,[ebx+000000BCh] add esi,00000006h mov ecx,esi mov [ebx+000000BCh],esi cmp ecx,eax jge L00480245 mov dword ptr [ebp-10h],00000001h cmp ecx,eax L00480245: jle L0048024D mov [ebx+000000BCh],eax L0048024D: mov ecx,[ebp-08h] push SSZ004CE5A4_signature imul ecx,eax shl ecx,1 push ecx mov ecx,L00669C8C call SUB_L0044FBD0 mov ecx,[ebp-08h] mov esi,eax imul ecx,[ebp-04h] shl ecx,1 mov edx,ecx xor eax,eax mov edi,esi mov [ebp-18h],esi shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[ebp-04h] xor ecx,ecx mov [ebp-28h],ecx mov [ebp-24h],ecx lea edx,[eax-01h] mov [ebp-20h],edx mov edx,[ebp-08h] dec edx mov [ebp-1Ch],edx lea edx,[ebp-28h] push edx push eax mov eax,[ebp-14h] push esi push L006BB372 push 00000386h push 00000005h push eax push ecx mov ecx,L00669CC8 call SUB_L004371A0 mov eax,[ebx+1Ch] mov ecx,[ebx+38h] mov edi,esi mov dword ptr [ebp-0Ch],00000000h lea edx,[eax+eax*2] shl edx,05h add edx,eax mov eax,[ecx+04h] lea esi,[eax+edx*4+00000094h] mov eax,[ebp-08h] test eax,eax jle L00480310 L004802E6: mov ecx,[ebx+000000BCh] mov edx,edi push ecx mov ecx,esi call SUB_L00488700 mov eax,[ebx+1Ch] mov edx,[ebp-04h] mov ecx,[ebp-08h] lea esi,[esi+eax*2] mov eax,[ebp-0Ch] inc eax lea edi,[edi+edx*2] cmp eax,ecx mov [ebp-0Ch],eax jl L004802E6 L00480310: mov ecx,[ebp-18h] push SSZ004CE5A4_signature push ecx mov ecx,L00669C8C call SUB_L0044FBF0 mov eax,[ebp-10h] test eax,eax jnz L0048033F mov ecx,[ebx+000000B0h] mov dword ptr [ebx+000000ACh],00000000h call SUB_L0040E5F0 L0048033F: pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 L00480350: push ebp mov ebp,esp mov eax,[ecx+000000B0h] push esi push edi xor esi,esi mov edi,[eax+000000CCh] mov eax,edi test eax,eax jz L00480371 L00480369: mov eax,[eax+0Ch] inc esi test eax,eax jnz L00480369 L00480371: mov eax,esi imul eax,[ebp+08h] cdq idiv [ebp+0Ch] test esi,esi jz L00480386 cmp eax,esi jl L00480386 lea eax,[esi-01h] L00480386: test eax,eax mov [ecx+000000B4h],edi jz L004803A2 L00480390: mov edx,[ecx+000000B4h] dec eax mov edx,[edx+0Ch] mov [ecx+000000B4h],edx jnz L00480390 L004803A2: call SUB_L00480740 pop edi pop esi pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 4 L004803B0: push esi push edi mov esi,ecx call [KERNEL32.dll!GetTickCount] mov edi,eax call [USER32.dll!GetDoubleClickTime] mov edx,[esi+000000D8h] mov ecx,00000001h cmp edx,ecx jnz L004803F5 sub edi,[esi+000000D4h] cmp edi,eax jbe L004803F5 mov eax,[esi+000000CCh] mov dword ptr [esi+000000D8h],00000000h test eax,eax jz L004803F5 mov [esi+000000C4h],ecx L004803F5: pop edi pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L00480400: push edi mov edi,[ecx+000000B0h] mov dword ptr [ecx+000000B8h],00000000h mov edx,[edi+000000CCh] test edx,edx jz L0048049F push esi push ebx L00480421: mov eax,[ecx+000000A4h] test eax,eax jz L00480454 mov esi,[edi+000000C8h] xor eax,eax mov ax,[edx+08h] xor ebx,ebx shl eax,04h mov bx,[eax+esi+0Ah] xor eax,eax mov ax,[edx+0Ah] imul ebx,eax mov eax,[ecx+000000B8h] add eax,ebx jmp L00480490 L00480454: mov esi,[edi+34h] xor eax,eax mov al,[edx] mov eax,[esi+eax*4+000000C4h] mov eax,[eax+000000A8h] test eax,eax jz L0048047B mov esi,[edx+04h] L0048046F: cmp esi,[eax+78h] jz L0048047B mov eax,[eax+40h] test eax,eax jnz L0048046F L0048047B: xor esi,esi mov si,[edx+0Ah] imul esi,[eax+000000A4h] mov eax,[ecx+000000B8h] add eax,esi L00480490: mov [ecx+000000B8h],eax mov edx,[edx+0Ch] test edx,edx jnz L00480421 pop ebx pop esi L0048049F: pop edi retn ;------------------------------------------------------------------------------ Align 16 SUB_L004804B0: push ebp mov ebp,esp push FFFFFFFFh push L004B4DC6 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000018h push ebx push esi push edi mov edi,ecx lea eax,[ebp-20h] xor ebx,ebx push eax lea edx,[ebp-24h] mov ecx,00000032h mov [ebp-18h],ebx call SUB_L004390A0 mov ecx,[edi+000000B4h] mov eax,[edi+00000098h] test ecx,ecx mov [ebp-10h],ecx jz L00480696 lea ebx,[eax+0Ah] L00480500: mov esi,[edi+44h] mov ecx,[ebp-10h] mov edx,[L00669C58] mov [ebp-18h],ecx test esi,esi mov dword ptr [ebp-14h],00000000h mov [ebp-1Ch],edx jz L00480592 L0048051D: mov eax,[esi+3Ch] mov ecx,esi mov [L00669C58],eax mov edx,[esi] call [edx+000000C4h] test eax,eax jz L00480588 mov eax,[esi+000000ACh] test eax,eax jz L00480588 mov ecx,[ebp-10h] mov eax,[esi+0000009Ch] cmp eax,[ecx+04h] jnz L00480588 mov edx,[edi+000000A0h] sub edx,00000002h cmp ebx,edx jle L00480566 test esi,esi jz L00480588 mov eax,[esi] push 00000001h mov ecx,esi call [eax] jmp L00480588 L00480566: mov [esi+30h],ebx mov ecx,[edi+000000A0h] sub ecx,ebx lea eax,[ecx-02h] cmp eax,00000011h jle L0048057E mov eax,00000011h L0048057E: mov [esi+20h],eax mov dword ptr [ebp-14h],00000001h L00480588: mov esi,[L00669C58] test esi,esi jnz L0048051D L00480592: mov eax,[ebp-14h] mov edx,[ebp-1Ch] test eax,eax mov [L00669C58],edx jnz L0048067F push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp-1Ch],eax xor esi,esi cmp eax,esi mov [ebp-04h],esi jz L004805E1 mov ecx,[edi+0000009Ch] push esi push 00000037h push 00000037h push L0040E3F0 push esi push 00000002h push edi sub ecx,0000002Ah push ebx push ecx mov ecx,eax call SUB_L004122F0 jmp L004805E3 L004805E1: xor eax,eax L004805E3: mov [eax+000000C0h],esi mov esi,[ebp-10h] mov dword ptr [eax+000000ACh],00000001h push 00000001h mov edx,[esi+04h] push edi mov ecx,eax mov dword ptr [ebp-04h],FFFFFFFFh mov [eax+0000009Ch],edx call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp-1Ch],eax test eax,eax mov dword ptr [ebp-04h],00000001h jz L0048064F mov ecx,[edi+0000009Ch] push 00000000h push 00000038h push 00000038h push L0040E4E0 push 00000000h push 00000002h push edi sub ecx,00000016h push ebx push ecx mov ecx,eax call SUB_L004122F0 jmp L00480651 L0048064F: xor eax,eax L00480651: mov dword ptr [eax+000000ACh],00000001h mov dword ptr [eax+000000C0h],00000000h mov edx,[esi+04h] push 00000001h push edi mov ecx,eax mov dword ptr [ebp-04h],FFFFFFFFh mov [eax+0000009Ch],edx call SUB_L004415C0 L0048067F: mov eax,[ebp-10h] add ebx,0000001Ch mov eax,[eax+0Ch] test eax,eax mov [ebp-10h],eax jnz L00480500 mov ebx,[ebp-18h] L00480696: mov esi,[edi+44h] mov ecx,[L00669C58] test esi,esi mov [ebp-1Ch],ecx jz L0048071E L004806A6: mov edx,[esi+3Ch] mov ecx,esi mov [L00669C58],edx mov eax,[esi] call [eax+000000C4h] test eax,eax jz L00480714 mov eax,[esi+000000ACh] test eax,eax jz L00480714 mov eax,[edi+000000B4h] mov dword ptr [ebp-14h],00000000h test eax,eax jz L00480701 test ebx,ebx jz L00480701 mov edx,[ebx+0Ch] cmp eax,edx jz L00480701 mov ebx,[esi+0000009Ch] L004806E9: cmp [eax+04h],ebx mov ecx,[eax+0Ch] jnz L004806F8 mov dword ptr [ebp-14h],00000001h L004806F8: cmp ecx,edx mov eax,ecx jnz L004806E9 mov ebx,[ebp-18h] L00480701: mov eax,[ebp-14h] test eax,eax jnz L00480714 test esi,esi jz L00480714 mov edx,[esi] push 00000001h mov ecx,esi call [edx] L00480714: mov esi,[L00669C58] test esi,esi jnz L004806A6 L0048071E: mov eax,[ebp-1Ch] mov ecx,[ebp-0Ch] pop edi pop esi mov [L00669C58],eax mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L00480740: push ebp mov ebp,esp sub esp,00000078h push ebx push esi mov esi,ecx lea eax,[ebp-14h] push edi push eax lea edx,[ebp-18h] mov ecx,00000032h mov dword ptr [ebp-08h],00000000h call SUB_L004390A0 mov ecx,[esi+38h] xor edx,edx mov eax,[ecx+04h] xor ecx,ecx mov dx,[eax+02h] mov cx,[eax] push edx mov edx,[esi+50h] add eax,00000004h push ecx push eax push 00000000h push 00000000h mov ecx,SUB_L00488700 call SUB_L00439100 mov eax,[esi+0000009Ch] mov edx,[esi+00000094h] mov ebx,[esi+00000098h] mov edi,[esi+000000B4h] sub eax,00000002h add edx,00000002h mov [ebp-20h],eax mov eax,[esi+000000A0h] add ebx,00000002h sub eax,00000002h test edi,edi mov [ebp-28h],edx mov [ebp-24h],ebx mov [ebp-1Ch],eax jz L004809A7 jmp L004807CE L004807CB: mov eax,[ebp-1Ch] L004807CE: cmp ebx,eax jg L004809A7 mov eax,[esi+000000A4h] test eax,eax jnz L00480818 mov edx,[esi+000000B0h] xor ecx,ecx mov cl,[edi] mov eax,[edx+34h] mov ecx,[eax+ecx*4+000000C4h] mov eax,[ecx+000000A8h] test eax,eax mov [ebp-08h],eax jz L00480818 mov ecx,[edi+04h] jmp L00480809 L00480806: mov eax,[ebp-08h] L00480809: cmp ecx,[eax+78h] jz L00480818 mov eax,[eax+40h] test eax,eax mov [ebp-08h],eax jnz L00480806 L00480818: lea edx,[ebp-04h] lea eax,[ebp-0Ch] push edx lea ecx,[ebp-10h] push eax push ecx push L004C41E4 push 00000009h mov ecx,L00669CC8 call SUB_L00437A10 xor edx,edx lea eax,[ebp-78h] mov dx,[edi+0Ah] push edx push L004C43EC push eax call SUB_L0049AC80 mov eax,[esi+38h] mov edx,[esi+1Ch] add esp,0000000Ch lea ecx,[ebp-28h] push ecx mov ecx,[eax+04h] mov eax,[ebp-04h] push edx add ecx,00000004h lea edx,[ebp-78h] push ecx mov ecx,[ebp-28h] push edx push 0000021Fh add eax,ebx push 00000009h push eax push ecx mov ecx,L00669CC8 call SUB_L004371A0 mov eax,[esi+000000A4h] test eax,eax jz L004808AD mov edx,[esi+000000B0h] xor eax,eax mov ax,[edi+08h] mov ecx,[edx+000000C8h] shl eax,04h mov edx,[ecx+eax+0Ch] lea eax,[ebp-78h] push edx push L004C9018 push eax jmp L004808C4 L004808AD: mov eax,[ebp-08h] test eax,eax jz L004808CC mov ecx,[eax+000000A0h] lea edx,[ebp-78h] push ecx push L004C9018 push edx L004808C4: call SUB_L0049AC80 add esp,0000000Ch L004808CC: mov edx,[ebp-20h] mov ecx,[esi+1Ch] sub edx,00000028h lea eax,[ebp-28h] mov [ebp-20h],edx mov edx,[esi+38h] push eax push ecx mov eax,[edx+04h] mov edx,[ebp-04h] add eax,00000004h lea ecx,[ebp-78h] push eax mov eax,[ebp-28h] push ecx push 0000021Fh add edx,ebx push 00000009h add eax,0000001Eh push edx push eax mov ecx,L00669CC8 call SUB_L004375A0 mov ecx,[ebp-20h] mov eax,[esi+000000A4h] add ecx,00000028h test eax,eax mov [ebp-20h],ecx jz L00480944 mov ecx,[esi+000000B0h] xor edx,edx mov dx,[edi+08h] mov eax,[ecx+000000C8h] shl edx,04h xor ecx,ecx mov cx,[eax+edx+0Ah] lea edx,[ebp-78h] push ecx push SSZ004CE5B8_at__d_g_p_ push edx jmp L0048095B L00480944: mov eax,[ebp-08h] test eax,eax jz L00480963 mov eax,[eax+000000A4h] lea ecx,[ebp-78h] push eax push SSZ004CE5B8_at__d_g_p_ push ecx L0048095B: call SUB_L0049AC80 add esp,0000000Ch L00480963: mov ecx,[esi+38h] mov eax,[esi+1Ch] lea edx,[ebp-28h] push edx mov edx,[ecx+04h] mov ecx,[ebp-04h] push eax add edx,00000004h lea eax,[ebp-78h] push edx push eax mov eax,[ebp-28h] push 0000021Fh lea edx,[ecx+ebx+0Dh] push 00000009h add eax,0000001Eh push edx push eax mov ecx,L00669CC8 call SUB_L004371A0 mov edi,[edi+0Ch] add ebx,0000001Ch test edi,edi jnz L004807CB L004809A7: mov ecx,[esi+1Ch] mov edx,[esi+20h] xor eax,eax mov [ebp-20h],ecx mov [ebp-24h],eax mov [ebp-28h],eax mov eax,[esi+000000B8h] lea ecx,[ebp-78h] push eax push L004C43EC push ecx mov [ebp-1Ch],edx call SUB_L0049AC80 add esp,0000000Ch lea edx,[ebp-04h] lea eax,[ebp-0Ch] lea ecx,[ebp-10h] push edx push eax lea edx,[ebp-78h] push ecx push edx push 00000009h mov ecx,L00669CC8 call SUB_L00437A10 mov eax,[esi+000000A4h] mov edx,[esi+38h] mov ecx,[esi+1Ch] test eax,eax lea eax,[ebp-28h] push eax mov eax,[edx+04h] push ecx jz L00480A25 mov edx,[ebp-04h] add eax,00000004h lea ecx,[ebp-78h] push eax push ecx push 00000386h add edx,000000ACh push 00000009h push edx jmp L00480AAD L00480A25: mov edx,[ebp-04h] add eax,00000004h lea ecx,[ebp-78h] push eax push ecx push 00000386h add edx,000000ABh push 00000009h push edx push 00000046h mov ecx,L00669CC8 call SUB_L004371A0 mov eax,[esi+000000B0h] xor ecx,ecx lea edx,[ebp-78h] mov cx,[eax+000000D0h] push ecx push L004C43EC push edx call SUB_L0049AC80 add esp,0000000Ch lea eax,[ebp-04h] lea ecx,[ebp-0Ch] lea edx,[ebp-10h] push eax push ecx lea eax,[ebp-78h] push edx push eax push 00000009h mov ecx,L00669CC8 call SUB_L00437A10 mov eax,[esi+38h] mov edx,[esi+1Ch] lea ecx,[ebp-28h] push ecx mov ecx,[eax+04h] mov eax,[ebp-04h] push edx add ecx,00000004h lea edx,[ebp-78h] push ecx push edx push 00000386h add eax,000000ABh push 00000009h push eax L00480AAD: push 000000BCh mov ecx,L00669CC8 call SUB_L004371A0 mov ecx,esi call SUB_L004804B0 pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 L00480AD0: push ebp mov ebp,esp sub esp,00000038h push ebx xor eax,eax push esi mov esi,ecx mov [ebp-04h],eax mov [ebp-08h],eax lea eax,[ebp-08h] push edi lea ecx,[ebp-04h] push eax push ecx mov ecx,esi call SUB_L00440C60 mov eax,[ebp-04h] mov edx,[ebp-08h] mov ecx,[esi+38h] mov [ebp-18h],eax mov [ebp-14h],edx xor ebx,ebx mov edi,[ecx+04h] mov bx,[edi] mov edi,[ebp+08h] add eax,ebx mov [ebp-10h],eax mov eax,[ecx+04h] xor ecx,ecx mov cx,[eax+02h] add ecx,edx lea edx,[ebp-18h] mov [ebp-0Ch],ecx push edx push edi mov ecx,L00669608 call SUB_L00440D40 test eax,eax jz L00480C16 mov ecx,[L004C7F38] mov edx,[L004C7F34] mov eax,[esi+38h] push ecx mov ecx,[L006BAE7C] push edx mov edx,[ebp-08h] mov eax,[eax+04h] push ecx mov ecx,[ebp-04h] push edx push ecx xor edx,edx xor ecx,ecx mov dx,[eax+02h] mov cx,[eax] push edx push ecx push edi lea edx,[eax+04h] mov ecx,SUB_L00488700 call SUB_L00439500 lea edx,[ebp-28h] mov ecx,edi push edx lea edx,[ebp-18h] call SUB_L00440D90 mov eax,[esi+00000094h] mov ecx,[ebp-18h] add ecx,eax mov eax,[ebp-14h] mov [ebp-18h],ecx mov ecx,[esi+00000098h] mov edx,[esi+0000009Ch] mov ebx,[ebp-04h] add eax,ecx mov ecx,[ebp-08h] mov [ebp-14h],eax mov eax,[esi+000000A0h] add eax,ecx lea ecx,[ebp-18h] add edx,ebx push ecx push edi mov ecx,L00669608 mov [ebp-10h],edx mov [ebp-0Ch],eax call SUB_L00440D40 test eax,eax jz L00480BE2 lea edx,[ebp-38h] mov ecx,edi push edx lea edx,[ebp-18h] call SUB_L00440D90 mov edi,00000001h jmp L00480BE4 L00480BE2: xor edi,edi L00480BE4: mov esi,[esi+4Ch] test esi,esi jz L00480C16 L00480BEB: mov eax,[esi] mov ecx,esi call [eax+000000B4h] test eax,eax jz L00480C00 mov edx,[esi] lea eax,[ebp-28h] jmp L00480C09 L00480C00: test edi,edi jz L00480C0F mov edx,[esi] lea eax,[ebp-38h] L00480C09: push eax mov ecx,esi call [edx+0Ch] L00480C0F: mov esi,[esi+40h] test esi,esi jnz L00480BEB L00480C16: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L00480C20: push ebp mov ebp,esp push FFFFFFFFh push L004B4DF9 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000020h push ebx push esi mov ebx,ecx push edi mov [ebp-1Ch],ebx call SUB_L00441CB0 mov ecx,[ebp+08h] mov edx,[ebp+0Ch] mov dword ptr [ebx],L004BC0D0 mov [ebx+2Ch],ecx xor eax,eax mov [ebx+30h],edx mov cx,[ebp+18h] mov dword ptr [ebx+04h],SSZ004CE5C4_objpicker_gump mov [ebx+5Ch],eax mov dword ptr [ebx+50h],00000910h mov edi,[ebp+10h] mov [ebx+60h],eax mov [ebx+000000ACh],eax mov [ebx+000000A0h],eax mov [ebp-04h],eax mov [ebx+0000009Ch],eax mov [ebx+00000098h],eax mov [ebx+00000094h],eax mov [ebx+000000A8h],eax mov [ebx+000000A4h],eax mov eax,[ebp+14h] mov [ebx+000000CCh],cx mov [ebx+000000B0h],eax or ecx,FFFFFFFFh xor eax,eax lea edx,[ebx+000000D8h] repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax mov eax,[ebp+1Ch] and ecx,00000003h rep movsb lea ecx,[eax+eax] mov [ebx+000000B4h],eax push ecx call SUB_L0049A820 mov ecx,[ebx+000000B4h] mov esi,[ebp+20h] shl ecx,1 mov edx,ecx mov edi,eax shr ecx,02h mov [ebx+000000D0h],eax add esp,00000004h rep movsd mov ecx,edx and ecx,00000003h rep movsb mov eax,[ebx+000000B4h] shl eax,1 push eax call SUB_L0049A820 mov ecx,[ebx+000000B4h] mov esi,[ebp+24h] shl ecx,1 mov edx,ecx mov edi,eax shr ecx,02h mov [ebx+000000D4h],eax add esp,00000004h rep movsd mov ecx,edx and ecx,00000003h rep movsb mov eax,[ebx+000000B4h] xor edi,edi mov [ebp+08h],edi cmp eax,edi jle L00480E09 mov esi,[ebp+28h] lea eax,[ebx+00000128h] mov [ebp+0Ch],esi mov [ebp+18h],eax jmp L00480D68 L00480D63: mov esi,[ebp+0Ch] xor edi,edi L00480D68: mov eax,[esi] cmp eax,edi jnz L00480DA5 mov ecx,[ebx+000000D0h] mov esi,[ebp+08h] xor eax,eax xor edx,edx mov ax,[ecx+esi*2] mov ecx,eax call SUB_L0045D5B0 mov esi,eax or ecx,FFFFFFFFh mov edi,esi xor eax,eax repne scasb not ecx push ecx call SUB_L0049A820 mov ecx,[ebp+18h] mov edx,eax add esp,00000004h mov [ecx],edx jmp L00480DC2 L00480DA5: mov edi,eax or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx push ecx call SUB_L0049A820 mov edx,eax mov eax,[ebp+18h] add esp,00000004h mov [eax],edx mov esi,[esi] L00480DC2: mov edi,esi or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx mov edi,edx mov edx,ecx shr ecx,02h rep movsd mov eax,[ebp+08h] mov ecx,edx mov edx,[ebp+0Ch] and ecx,00000003h rep movsb mov esi,[ebp+18h] mov ecx,00000004h add esi,ecx add edx,ecx mov ecx,[ebx+000000B4h] inc eax cmp eax,ecx mov [ebp+08h],eax mov [ebp+18h],esi mov [ebp+0Ch],edx jl L00480D63 xor edi,edi L00480E09: lea eax,[ebp-10h] lea ecx,[ebp-14h] push eax mov eax,[ebp+10h] lea edx,[ebp-18h] push ecx push edx push eax push 00000001h mov ecx,L00669CC8 mov [ebx+000000B8h],edi mov dword ptr [ebx+000000C4h],FFFFFFFFh mov [ebx+000000C8h],edi mov [ebx+4Ch],edi mov [ebx+48h],edi mov [ebx+44h],edi mov [ebx+40h],edi mov [ebx+3Ch],edi call SUB_L00437A10 mov ecx,[ebx+50h] lea eax,[ebx+20h] lea esi,[ebx+1Ch] push eax mov edx,esi call SUB_L004390A0 push SSZ004C4EF0_framedata_for_CDumbGump push 00000008h mov ecx,L00669C8C mov [ebx+10h],edi mov dword ptr [ebx+14h],00000001h call SUB_L0044FBD0 mov ecx,[ebx+14h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [ebx+38h],edi push SSZ004C4EE4_dumb_frame0 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi] imul eax,[ebx+20h] lea ecx,[eax+eax+04h] push ecx mov ecx,L00669C8C call SUB_L0044FBD0 mov edx,[ebx+38h] mov [edx+04h],eax mov ecx,[esi] imul ecx,[ebx+20h] mov edx,[ebx+38h] xor eax,eax shl ecx,1 mov edi,[edx+04h] mov edx,ecx add edi,00000004h shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[ebx+38h] mov dx,[esi] mov ecx,[eax+04h] mov [ecx],dx mov eax,[ebx+38h] mov dx,[ebx+20h] mov ecx,[eax+04h] mov [ecx+02h],dx mov eax,[ebx+38h] xor ecx,ecx xor edx,edx mov eax,[eax+04h] mov cx,[eax+02h] mov dx,[eax] push ecx push edx add eax,00000004h mov edx,[ebx+50h] xor edi,edi push eax push edi push edi mov ecx,SUB_L00488700 call SUB_L00439100 mov eax,[esi] mov ecx,[ebx+20h] mov [ebp-24h],eax lea edx,[ebp-10h] mov [ebp-20h],ecx lea eax,[ebp-14h] mov [ebp-2Ch],edi mov [ebp-28h],edi push edx lea ecx,[ebp-18h] push eax lea edi,[ebx+000000D8h] push ecx push edi push 00000001h mov ecx,L00669CC8 mov dword ptr [ebx+00000528h],00000028h mov dword ptr [ebx+0000052Ch],0000002Fh mov dword ptr [ebx+00000530h],00000101h mov dword ptr [ebx+00000534h],0000005Bh call SUB_L00437A10 mov ecx,[ebx+38h] mov eax,[esi] lea edx,[ebp-2Ch] push edx mov edx,[ecx+04h] add edx,00000004h push eax mov eax,[ebp-10h] push edx push edi push 00000386h add eax,00000012h push 00000001h push eax push 00000027h mov ecx,L00669CC8 call SUB_L004371A0 push 00000158h call SUB_L0049A820 add esp,00000004h mov [ebp+18h],eax test eax,eax mov byte ptr [ebp-04h],01h jz L00480FD6 push 00000000h push 00000000h push 00000001h push 00000386h push 00000001h push 0000001Eh push 00000000h push 00000010h push 000000DAh push ebx push 00000067h push 00000027h mov ecx,eax call SUB_L0041A980 jmp L00480FD8 L00480FD6: xor eax,eax L00480FD8: mov [ebx+00000538h],eax mov dword ptr [eax+000000B4h],00000001h mov ecx,[ebx+00000538h] push 00000001h push ebx mov byte ptr [ebp-04h],00h call SUB_L004415C0 mov ecx,ebx call SUB_L00481240 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp+18h],eax test eax,eax mov byte ptr [ebp-04h],02h jz L00481036 push 00000000h push L00410140 push 00000000h push 00000002h push ebx push 0000004Fh push 00000023h push 0000003Dh push 00000016h mov ecx,eax call SUB_L00412450 jmp L00481038 L00481036: xor eax,eax L00481038: push 00000001h push ebx mov ecx,eax mov byte ptr [ebp-04h],00h mov [ebx+0000053Ch],eax call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp+18h],eax test eax,eax mov byte ptr [ebp-04h],03h jz L00481087 push 00000000h push L00410200 push 00000000h push 00000002h push ebx push 0000004Fh push 00000112h push 0000003Dh push 00000105h mov ecx,eax call SUB_L00412450 jmp L00481089 L00481087: xor eax,eax L00481089: push 00000001h push ebx mov ecx,eax mov byte ptr [ebp-04h],00h mov [ebx+00000540h],eax call SUB_L004415C0 mov ecx,[ebp-0Ch] pop edi mov eax,ebx pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0024h ;------------------------------------------------------------------------------ Align 16 L004810C0: push ebp mov ebp,esp push esi mov esi,ecx call SUB_L004810F0 test byte ptr [ebp+08h],01h jz L004810DA push esi call SUB_L0049A810 add esp,00000004h L004810DA: mov eax,esi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L004810F0: push ebp mov ebp,esp push FFFFFFFFh push L004B4E18 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000014h push ebx push esi mov esi,ecx push edi mov [ebp-10h],esi mov dword ptr [esi],L004BC0D0 mov ecx,[esi+000000C8h] xor edi,edi xor edx,edx xor eax,eax cmp ecx,edi mov [ebp-04h],edi jz L00481145 lea eax,[ecx+ecx] mov ecx,[esi+000000D0h] mov dx,[ecx+eax-02h] mov ecx,[esi+000000D4h] mov ax,[ecx+eax-02h] L00481145: cmp [L006BB1CC],edi jz L00481183 mov ecx,[esi+000000B0h] push eax mov ax,[esi+000000CCh] push edx mov dx,[esi+000000C8h] push edx push eax lea edx,[ebp-20h] push ecx push edx mov ecx,L006BB1C0 call SUB_L00475F50 mov ecx,[L006BB1CC] lea eax,[ebp-20h] push eax call SUB_L0048B170 L00481183: mov ecx,[esi+000000D0h] push ecx call SUB_L0049A810 mov edx,[esi+000000D4h] add esp,00000004h push edx call SUB_L0049A810 mov eax,[esi+000000B4h] add esp,00000004h cmp eax,edi jle L004811CC lea ebx,[esi+00000128h] L004811B1: mov eax,[ebx] push eax call SUB_L0049A810 mov eax,[esi+000000B4h] add esp,00000004h inc edi add ebx,00000004h cmp edi,eax jl L004811B1 xor edi,edi L004811CC: mov ecx,[esi+00000538h] cmp ecx,edi jz L004811E2 mov edx,[ecx] push 00000001h call [edx] mov [esi+00000538h],edi L004811E2: mov eax,[esi+38h] mov eax,[eax+04h] cmp eax,edi jz L00481202 push SSZ004CE5E8_objpicker_frame0_pBMP push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov ecx,[esi+38h] mov [ecx+04h],edi L00481202: mov eax,[esi+38h] cmp eax,edi jz L0048121C push SSZ004CE5D4_objpicker_framedata push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov [esi+38h],edi L0048121C: mov ecx,esi mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00441D50 mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 SUB_L00481240: push ebp mov ebp,esp sub esp,0000000Ch push ebx push esi mov esi,ecx push edi mov eax,[esi+38h] mov ecx,[eax+04h] push ecx push 00000008h push 00000008h push 00000008h mov ecx,L006AAE78 call SUB_L0043BA40 mov edx,[esi+00000534h] mov ecx,[esi+0000052Ch] push eax mov eax,[esi+00000530h] push edx mov edx,[esi+00000528h] push eax push ecx push edx mov ecx,L00669CC8 call SUB_L00437ED0 mov eax,[esi+000000ACh] mov edi,[esi+00000528h] test eax,eax mov [ebp-04h],edi jz L004812A5 sub edi,[esi+000000BCh] mov [ebp-04h],edi L004812A5: mov eax,[esi+38h] mov ebx,[esi+000000B8h] mov edx,[esi+1Ch] mov [ebp-08h],ebx mov ecx,[eax+04h] add ecx,00000004h call SUB_L00488A00 cmp ebx,[esi+000000B4h] jge L004813A9 L004812CB: cmp edi,[esi+00000530h] jg L004813A9 mov ecx,[esi+000000D0h] mov ax,[ecx+ebx*2] cmp ax,4000h ja L00481397 and eax,0000FFFFh mov ecx,L006A9DB8 add eax,00004000h push eax call SUB_L004882D0 mov ecx,eax test ecx,ecx jnz L0048131B push 00004000h mov ecx,L006A9DB8 call SUB_L004882D0 mov ecx,eax test ecx,ecx jz L00481397 L0048131B: mov edi,[esi+0000052Ch] xor eax,eax mov ax,[ecx+04h] xor edx,edx mov dx,[ecx+06h] mov [ebp-0Ch],eax mov eax,[esi+00000534h] lea ebx,[edx+edi] cmp ebx,eax jge L00481348 sub eax,edx sub eax,edi cdq sub eax,edx sar eax,1 add edi,eax L00481348: mov edx,[esi+000000D4h] mov ebx,[ebp-08h] mov ax,[edx+ebx*2] test ax,ax jz L00481379 and eax,0000FFFFh push edi mov edi,[ebp-04h] mov [L0076735C],eax lea eax,[esi+00000528h] push edi mov edx,ecx push eax mov ecx,L004883B0 jmp L0048138C L00481379: push edi mov edi,[ebp-04h] lea eax,[esi+00000528h] push edi mov edx,ecx push eax mov ecx,SUB_L00488380 L0048138C: call SUB_L00488A10 add edi,[ebp-0Ch] mov [ebp-04h],edi L00481397: mov eax,[esi+000000B4h] inc ebx cmp ebx,eax mov [ebp-08h],ebx jl L004812CB L004813A9: mov al,[L0073EC3C] test al,al jz L0048142B mov eax,[esi+0000052Ch] mov edi,[esi+38h] mov edx,[esi+00000528h] lea ecx,[eax-01h] mov edi,[edi+04h] imul ecx,[esi+1Ch] add ecx,edx lea ecx,[edi+ecx*2+04h] mov edi,eax cmp edi,[esi+00000534h] jg L0048142B L004813DB: cmp edx,[esi+00000530h] jg L00481407 L004813E3: mov ax,[ecx] add ecx,00000002h mov ebx,eax and eax,0000001Fh and ebx,0000FFE0h shl ebx,1 or ebx,eax inc edx mov [ecx-02h],bx mov eax,[esi+00000530h] cmp edx,eax jle L004813E3 L00481407: mov edx,[esi+00000528h] mov ebx,[esi+00000530h] mov eax,edx sub eax,ebx mov ebx,[esi+1Ch] add eax,ebx inc edi lea ecx,[ecx+eax*2-02h] mov eax,[esi+00000534h] cmp edi,eax jle L004813DB L0048142B: pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 L00481440: push ebp mov ebp,esp mov eax,[ecx+38h] xor edx,edx push esi mov esi,[ebp+08h] mov ecx,[eax+04h] xor eax,eax push edi mov ax,[ecx] mov dx,[ecx+02h] add ecx,00000004h test esi,esi jl L00481485 mov edi,[ebp+0Ch] test edi,edi jl L00481485 cmp esi,eax jge L00481485 cmp edi,edx jge L00481485 imul eax,edi add eax,esi xor edx,edx cmp [ecx+eax*2],dx setnz dl mov eax,edx pop edi pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ L00481485: pop edi xor eax,eax pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 4 L00481490: push ebp mov ebp,esp mov eax,[ecx+00000094h] push esi xor esi,esi cmp eax,esi mov [ecx+0000009Ch],esi jz L004814BD mov [ecx+00000094h],esi mov [ecx+000000A8h],esi mov [L006A9DD4],esi pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ L004814BD: cmp dword ptr [ecx+000000A8h],00000002h jnz L004814D9 mov eax,[ebp+0Ch] mov edx,[ebp+08h] push eax push edx mov [ecx+000000A8h],esi call SUB_L00481730 L004814D9: mov [L006A9DD4],esi pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 L004814F0: push ebp mov ebp,esp push ecx push ebx push esi mov ebx,ecx push edi or esi,FFFFFFFFh push 00000000h mov ecx,L006BB1C8 mov [ebp-04h],esi call SUB_L0049A010 mov eax,[ebx+000000ACh] test eax,eax jnz L004815D7 mov ecx,[ebx+00000528h] mov eax,[ebp+08h] cmp eax,ecx jl L004815D7 cmp eax,[ebx+00000530h] jg L004815D7 mov edx,[ebp+0Ch] mov edi,[ebx+0000052Ch] cmp edx,edi jl L004815D7 cmp edx,[ebx+00000534h] jg L004815D7 mov si,[ebx+000000B8h] sub eax,ecx mov ecx,[ebx+000000B4h] mov edi,eax mov eax,esi and eax,0000FFFFh cmp eax,ecx jge L004815C6 L0048156F: test edi,edi jle L004815C8 mov ecx,[ebx+000000D0h] xor edx,edx mov dx,[ecx+eax*2] mov ecx,L006A9DB8 add edx,00004000h push edx call SUB_L004882D0 test eax,eax jnz L004815A7 push 00004000h mov ecx,L006A9DB8 call SUB_L004882D0 test eax,eax jz L004815B1 L004815A7: xor ecx,ecx mov cx,[eax+04h] sub edi,ecx jmp L004815B4 L004815B1: sub edi,0000002Ch L004815B4: mov ecx,[ebx+000000B4h] inc esi mov eax,esi and eax,0000FFFFh cmp eax,ecx jl L0048156F L004815C6: test edi,edi L004815C8: jge L004815D4 and esi,0000FFFFh dec esi mov [ebp-04h],esi L004815D4: mov esi,[ebp-04h] L004815D7: cmp esi,[ebx+000000C4h] jz L00481632 mov edx,[ebx+00000538h] cmp esi,FFFFFFFFh mov [ebx+000000C4h],esi jnz L004815FD add edx,000000ECh mov edi,L004D77C0 jmp L0048160A L004815FD: mov edi,[ebx+esi*4+00000128h] add edx,000000ECh L0048160A: or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov ecx,[ebx+00000538h] call SUB_L0041AC50 L00481632: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 8 L00481640: push esi mov esi,ecx mov eax,[esi+000000ACh] test eax,eax jz L0048172C mov eax,[esi+000000B8h] mov ecx,[esi+000000D0h] xor edx,edx push ebx mov dx,[ecx+eax*2] mov ecx,L006A9DB8 add edx,00004000h push edx call SUB_L004882D0 test eax,eax jnz L00481688 push 00004000h mov ecx,L006A9DB8 call SUB_L004882D0 L00481688: mov ecx,[esi+000000C0h] test ecx,ecx mov edx,ecx jle L004816C0 test eax,eax jz L004816B0 xor ebx,ebx mov bx,[eax+04h] sub ebx,00000006h cmp [esi+000000BCh],ebx jl L004816CE mov edx,00000003h jmp L004816CE L004816B0: cmp dword ptr [esi+000000BCh],00000026h jl L004816CE mov edx,00000003h jmp L004816CE L004816C0: cmp dword ptr [esi+000000BCh],00000006h jg L004816CE mov edx,FFFFFFFDh L004816CE: mov ebx,[esi+000000BCh] add ebx,edx test ecx,ecx mov [esi+000000BCh],ebx mov edx,ebx jle L00481712 test eax,eax jz L004816F1 xor ecx,ecx mov cx,[eax+04h] dec ecx cmp edx,ecx jl L00481724 L004816F1: mov eax,[esi+000000B8h] mov ecx,esi inc eax mov dword ptr [esi+000000ACh],00000000h mov [esi+000000B8h],eax call SUB_L00481240 pop ebx pop esi retn ;------------------------------------------------------------------------------ L00481712: test eax,eax jz L0048171A test edx,edx jg L00481724 L0048171A: mov dword ptr [esi+000000ACh],00000000h L00481724: mov ecx,esi call SUB_L00481240 pop ebx L0048172C: pop esi retn ;------------------------------------------------------------------------------ Align 4 SUB_L00481730: push ebp mov ebp,esp push ebx push esi mov esi,ecx push edi mov eax,[esi+000000ACh] test eax,eax jnz L00481809 mov ecx,[esi+00000528h] mov eax,[ebp+08h] cmp eax,ecx jl L00481809 cmp eax,[esi+00000530h] jg L00481809 mov edx,[ebp+0Ch] mov edi,[esi+0000052Ch] cmp edx,edi jl L00481809 cmp edx,[esi+00000534h] jg L00481809 mov di,[esi+000000B8h] sub eax,ecx mov ecx,[esi+000000B4h] mov ebx,eax mov eax,edi and eax,0000FFFFh cmp eax,ecx jge L004817EE L0048179C: test ebx,ebx jle L004817F0 mov ecx,[esi+000000D0h] xor edx,edx mov dx,[ecx+eax*2] mov ecx,L006A9DB8 add edx,00004000h push edx call SUB_L004882D0 test eax,eax jnz L004817D4 push 00004000h mov ecx,L006A9DB8 call SUB_L004882D0 test eax,eax jz L004817DC L004817D4: xor ecx,ecx mov cx,[eax+04h] sub ebx,ecx L004817DC: mov ecx,[esi+000000B4h] inc edi mov eax,edi and eax,0000FFFFh cmp eax,ecx jl L0048179C L004817EE: test ebx,ebx L004817F0: jge L00481809 mov edx,[esi] and edi,0000FFFFh push 00000000h push 00000000h mov ecx,esi mov [esi+000000C8h],edi call [edx+20h] L00481809: pop edi pop esi pop ebx pop ebp retn 0008h ;------------------------------------------------------------------------------ L00481810: push esi push edi mov esi,ecx call [KERNEL32.dll!GetTickCount] mov edi,eax call [USER32.dll!GetDoubleClickTime] mov edx,[esi+000000A8h] mov ecx,00000001h cmp edx,ecx jnz L00481855 sub edi,[esi+000000A4h] cmp edi,eax jbe L00481855 mov eax,[esi+0000009Ch] mov dword ptr [esi+000000A8h],00000000h test eax,eax jz L00481855 mov [esi+00000094h],ecx L00481855: pop edi pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L00481860: push ebp mov ebp,esp push FFFFFFFFh push L004B4E59 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000024h push ebx push esi mov esi,ecx push edi mov [ebp-20h],esi call SUB_L00441CB0 mov eax,[ebp+0Ch] mov cx,[ebp+10h] xor edi,edi mov [esi+000002ACh],eax lea edx,[ebp-14h] mov [esi+000002B0h],cx push edi lea eax,[ebp-10h] push edx mov edx,[ebp+08h] lea ecx,[ebp-18h] push eax push ecx push 00000168h push edx push 00000001h mov ecx,L00669CC8 mov [ebp-04h],edi mov dword ptr [esi],L004BC218 mov dword ptr [esi+04h],SSZ004CE600_stringpicker_gump mov [esi+5Ch],edi mov dword ptr [esi+50h],000013ECh mov [esi+60h],edi mov [esi+000000A0h],edi mov [esi+0000009Ch],edi mov [esi+00000098h],edi mov [esi+00000094h],edi mov [esi+000000A8h],edi mov [esi+000000A4h],edi mov [esi+4Ch],edi mov [esi+48h],edi mov [esi+44h],edi mov [esi+40h],edi mov [esi+3Ch],edi mov dword ptr [esi+1Ch],00000190h call SUB_L00437B40 mov eax,[ebp-10h] mov ebx,[esi+1Ch] sub ebx,00000046h lea ecx,[eax+6Ah] add eax,00000024h mov [ebp-1Ch],eax mov eax,[ebp+14h] cmp eax,edi mov [esi+20h],ecx jle L0048199A mov edx,[ebp+18h] mov edi,[ebp+1Ch] lea ecx,[esi+000000ACh] mov [ebp+10h],edx mov [ebp+0Ch],ecx mov [ebp+18h],eax L00481948: lea edx,[ebp-14h] push 00000000h lea eax,[ebp-10h] push edx mov edx,[edi] lea ecx,[ebp-18h] push eax push ecx push ebx push edx push 00000001h mov ecx,L00669CC8 call SUB_L00437B40 mov eax,[ebp-10h] mov ecx,[esi+20h] add eax,00000006h add edi,00000004h add ecx,eax mov eax,[ebp+10h] mov [esi+20h],ecx mov ecx,[ebp+0Ch] mov dx,[eax] add eax,00000002h mov [ebp+10h],eax mov eax,[ebp+18h] mov [ecx],dx add ecx,00000002h dec eax mov [ebp+0Ch],ecx mov [ebp+18h],eax jnz L00481948 xor edi,edi L0048199A: mov eax,[L004C7F34] mov edx,[esi+1Ch] sub eax,edx push SSZ004C4EF0_framedata_for_CDumbGump cdq sub eax,edx mov edx,[esi+20h] sar eax,1 mov [esi+2Ch],eax mov eax,[L004C7F38] sub eax,edx push 00000008h cdq sub eax,edx mov ecx,L00669C8C sar eax,1 mov [esi+30h],eax mov [esi+10h],edi mov dword ptr [esi+14h],00000001h call SUB_L0044FBD0 mov ecx,[esi+14h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+38h],edi push SSZ004C4EE4_dumb_frame0 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+20h] imul eax,[esi+1Ch] lea ecx,[eax+eax+04h] push ecx mov ecx,L00669C8C call SUB_L0044FBD0 mov edx,[esi+38h] mov [edx+04h],eax mov ecx,[esi+20h] imul ecx,[esi+1Ch] mov edx,[esi+38h] xor eax,eax shl ecx,1 mov edi,[edx+04h] mov edx,ecx add edi,00000004h shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+38h] mov dx,[esi+1Ch] xor edi,edi mov ecx,[eax+04h] push edi mov [ecx],dx mov eax,[esi+38h] mov dx,[esi+20h] mov ecx,[eax+04h] mov [ecx+02h],dx mov eax,[esi+1Ch] mov ecx,[esi+20h] mov edx,[esi+38h] mov [ebp-30h],edi mov [ebp-28h],eax mov [ebp-2Ch],edi mov [ebp-24h],ecx mov edx,[edx+04h] mov ecx,[esi+50h] call SUB_L0041C100 mov edx,[esi+38h] mov eax,[esi+1Ch] push edi lea ecx,[ebp-30h] push edi push ecx mov ecx,[edx+04h] push eax mov edx,[ebp+08h] add ecx,00000004h add eax,FFFFFFD8h push ecx push eax push edx push 00000386h push 00000001h push 00000010h push 00000014h mov ecx,L00669CC8 call SUB_L004372C0 mov eax,[ebp+14h] mov edi,[ebp-1Ch] test eax,eax jle L00481B80 mov ecx,[ebp+1Ch] mov [ebp+08h],eax mov [ebp+10h],ecx L00481ABD: push 000000B8h call SUB_L0049A820 add esp,00000004h mov [ebp+14h],eax test eax,eax mov byte ptr [ebp-04h],01h jz L00481AFE push 00000000h push 00000000h push 00000000h push L004D77C0 push 00000386h push 00000001h push 0000138Bh push 0000138Ah push esi push edi push 00000014h mov ecx,eax call SUB_L00412FC0 jmp L00481B00 L00481AFE: xor eax,eax L00481B00: push 00000001h push esi mov ecx,eax mov byte ptr [ebp-04h],00h call SUB_L004415C0 lea edx,[ebp-14h] push 00000000h push edx mov edx,[ebp+10h] lea eax,[ebp-10h] lea ecx,[ebp-18h] push eax mov eax,[edx] push ecx push ebx push eax push 00000001h mov ecx,L00669CC8 call SUB_L00437B40 mov eax,[esi+38h] mov edx,[esi+1Ch] push 00000000h lea ecx,[ebp-30h] push 00000000h push ecx mov ecx,[eax+04h] push edx mov edx,[ebp+10h] add ecx,00000004h push ecx push ebx mov eax,[edx] lea ecx,[edi+02h] push eax push 00000386h push 00000001h push ecx push 00000032h mov ecx,L00669CC8 call SUB_L004372C0 mov ecx,[ebp+10h] mov eax,[ebp+08h] mov edx,[ebp-10h] add ecx,00000004h dec eax mov [ebp+10h],ecx lea edi,[edi+edx+06h] mov [ebp+08h],eax jnz L00481ABD L00481B80: push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp+10h],eax test eax,eax mov byte ptr [ebp-04h],02h jz L00481BC0 mov ecx,[esi+20h] push 00000000h push 00001451h push 00001450h push SUB_L00411CF0 push 00000000h push 00000000h sub ecx,0000002Ch push esi push ecx push 00000028h mov ecx,eax call SUB_L004122F0 jmp L00481BC2 L00481BC0: xor eax,eax L00481BC2: push 00000001h push esi mov ecx,eax mov byte ptr [ebp-04h],00h call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp+10h],eax test eax,eax mov byte ptr [ebp-04h],03h jz L00481C13 mov edx,[esi+20h] push 00000000h push 000013B3h push 000013B2h push L00411D40 push 00000000h push 00000000h sub edx,0000002Ch push esi push edx push 000000A0h mov ecx,eax call SUB_L004122F0 jmp L00481C15 L00481C13: xor eax,eax L00481C15: push 00000001h push esi mov ecx,eax mov byte ptr [ebp-04h],00h call SUB_L004415C0 mov ecx,[ebp-0Ch] mov eax,esi pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0018h ;------------------------------------------------------------------------------ Align 16 L00481C40: push ebp mov ebp,esp push esi mov esi,ecx call SUB_L00481C70 test byte ptr [ebp+08h],01h jz L00481C5A push esi call SUB_L0049A810 add esp,00000004h L00481C5A: mov eax,esi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00481C70: push ebp mov ebp,esp push FFFFFFFFh push L004B4E78 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx push edi mov [ebp-10h],esi mov dword ptr [esi],L004BC218 mov eax,[L00669630] xor edi,edi cmp eax,esi mov [ebp-04h],edi jnz L00481CAA mov [L00669630],edi L00481CAA: mov eax,[esi+38h] mov eax,[eax+04h] cmp eax,edi jz L00481CCA push SSZ004CE62C_stringpicker_frame0_pBMP push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov ecx,[esi+38h] mov [ecx+04h],edi L00481CCA: mov eax,[esi+38h] cmp eax,edi jz L00481CE4 push SSZ004CE614_stringpicker_framedata push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov [esi+38h],edi L00481CE4: mov ecx,esi mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00441D50 mov ecx,[ebp-0Ch] pop edi mov fs:[00000000h],ecx pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 L00481D10: push ebp mov ebp,esp sub esp,00000018h push ebx mov ebx,ecx xor eax,eax push esi mov ecx,[ebx+68h] push edi cmp ecx,eax jz L00481DC7 mov [ebp-08h],eax mov [ebp-04h],eax lea eax,[ebp-04h] lea ecx,[ebp-08h] push eax push ecx mov ecx,ebx call SUB_L00440C60 mov edx,[ebx+38h] mov eax,[ebp-08h] mov ecx,[ebp-04h] mov edi,[ebp+08h] mov esi,[edx+04h] xor edx,edx mov [ebp-18h],eax mov [ebp-14h],ecx mov dx,[esi] add eax,edx mov [ebp-10h],eax xor eax,eax mov ax,[esi+02h] add ecx,eax mov [ebp-0Ch],ecx lea ecx,[ebp-18h] push ecx push edi mov ecx,L00669608 call SUB_L00440D40 test eax,eax jz L00481DC7 mov edx,[L004C7F38] mov eax,[L004C7F34] mov ecx,[L006BAE7C] push edx mov edx,[ebp-04h] push eax mov eax,[ebp-08h] push ecx push edx xor ecx,ecx mov cx,[esi+02h] xor edx,edx mov dx,[esi] push eax push ecx push edx push edi lea edx,[esi+04h] mov ecx,SUB_L00488700 call SUB_L00439500 mov esi,[ebx+4Ch] test esi,esi jz L00481DC7 L00481DB8: mov eax,[esi] push edi mov ecx,esi call [eax+0Ch] mov esi,[esi+40h] test esi,esi jnz L00481DB8 L00481DC7: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L00481DD0: push ebp mov ebp,esp call SUB_L00411CF0 mov dword ptr [L006A9DD4],00000000h pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 L00481DF0: push ebp mov ebp,esp mov edx,[ecx+00000094h] xor eax,eax cmp edx,eax mov [ecx+0000009Ch],eax jz L00481E1A mov [ecx+00000094h],eax mov [ecx+000000A8h],eax mov [L006A9DD4],eax pop ebp retn 0008h ;------------------------------------------------------------------------------ L00481E1A: cmp dword ptr [ecx+000000A8h],00000002h jnz L00481E29 mov [ecx+000000A8h],eax L00481E29: mov [L006A9DD4],eax pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 L00481E40: push ebp mov ebp,esp push ebx push esi push edi mov edi,[ebp+08h] mov esi,ecx mov eax,[edi] mov ecx,edi call [eax+000000E4h] xor ebx,ebx test eax,eax jz L00481E78 cmp [edi+000000B0h],bl jnz L00481E78 mov ecx,edi mov byte ptr [edi+000000B0h],01h call SUB_L00413290 pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ L00481E78: mov esi,[esi+44h] cmp esi,ebx jz L00481EAD L00481E7F: mov edx,[esi] mov ecx,esi call [edx+000000E4h] test eax,eax jz L00481EA6 cmp esi,edi jz L00481EA6 cmp [esi+000000B0h],bl jz L00481EA6 mov ecx,esi mov [esi+000000B0h],bl call SUB_L00413290 L00481EA6: mov esi,[esi+3Ch] cmp esi,ebx jnz L00481E7F L00481EAD: pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00481EC0: push ebp mov ebp,esp push FFFFFFFFh push L004B4ECF mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000014h push ebx push esi mov esi,ecx push edi mov [ebp-10h],esi call SUB_L00441CB0 lea eax,[esi+20h] lea ebx,[esi+1Ch] xor edi,edi mov ecx,00000474h push eax mov edx,ebx mov [ebp-04h],edi mov dword ptr [esi],L004BC360 mov [esi+00000094h],edi mov dword ptr [esi+04h],SSZ004CE668_Stringquery_gump mov [esi+5Ch],edi mov [esi+50h],ecx mov [esi+60h],edi mov [esi+4Ch],edi mov [esi+48h],edi mov [esi+44h],edi mov [esi+40h],edi mov [esi+3Ch],edi call SUB_L004390A0 push SSZ004CE648_framedata_for_CStringQueryGump push 00000008h mov ecx,L00669C8C mov dword ptr [esi+2Ch],00000079h mov dword ptr [esi+30h],00000066h mov [esi+10h],edi mov dword ptr [esi+14h],00000001h call SUB_L0044FBD0 mov ecx,[esi+14h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+38h],edi push SSZ004C4EE4_dumb_frame0 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+20h] imul eax,[ebx] lea ecx,[eax+eax+04h] push ecx mov ecx,L00669C8C call SUB_L0044FBD0 mov edx,[esi+38h] mov [edx+04h],eax mov eax,[esi+38h] mov dx,[ebx] mov ecx,[eax+04h] mov [ecx],dx mov eax,[esi+38h] mov dx,[esi+20h] mov ecx,[eax+04h] mov eax,[ebp+08h] mov [ecx+02h],dx mov cx,[ebp+0Ch] mov [esi+0000009Ch],cx mov ecx,[esi+20h] imul ecx,[ebx] mov dl,[ebp+18h] mov [esi+00000098h],eax mov al,[ebp+14h] mov [esi+0000009Eh],dl mov edx,[esi+38h] mov [esi+0000009Fh],al shl ecx,1 mov edi,[edx+04h] mov edx,ecx xor eax,eax add edi,00000004h shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+20h] mov edx,[esi+38h] mov ecx,[ebx] push eax mov eax,[edx+04h] mov edx,[esi+50h] add eax,00000004h push ecx xor edi,edi push eax push edi push edi mov ecx,SUB_L00488700 call SUB_L00439100 mov ecx,[esi+20h] mov eax,[ebx] mov [ebp-14h],ecx mov ecx,[esi+38h] push edi lea edx,[ebp-20h] push edi mov [ebp-20h],edi mov [ebp-18h],eax mov [ebp-1Ch],edi push edx mov edx,[ecx+04h] push eax add edx,00000004h add eax,FFFFFF88h push edx push eax mov eax,[ebp+10h] push eax push 00000386h push 00000002h push 00000032h push 0000003Ch mov ecx,L00669CC8 call SUB_L004372C0 mov eax,[esi+38h] mov edx,[ebx] lea ecx,[ebp-20h] push ecx mov ecx,[eax+04h] push edx mov edx,[ebp+20h] add ecx,00000004h push ecx push edx push 00000386h push 00000002h push 0000007Dh push 0000003Ch mov ecx,L00669CC8 call SUB_L004371A0 mov al,[esi+0000009Eh] mov bl,05h cmp al,01h jnz L004820B1 push 00000158h call SUB_L0049A820 add esp,00000004h mov [ebp+18h],eax cmp eax,edi mov byte ptr [ebp-04h],01h jz L004820FD mov ecx,[ebp+1Ch] push edi push edi push 00000001h push 00000386h push 00000001h push ecx push edi jmp L004820E2 L004820B1: cmp al,02h jnz L0048216E push 00000158h call SUB_L0049A820 add esp,00000004h mov [ebp+18h],eax cmp eax,edi mov byte ptr [ebp-04h],02h jz L004820FD mov ecx,[ebp+1Ch] push edi push edi push 00000001h push 00000386h push 00000001h push ecx push 00000001h L004820E2: push 00000475h push 00000475h push esi push 00000082h push 0000003Ch mov ecx,eax call SUB_L0041A6F0 jmp L004820FF L004820FD: xor eax,eax L004820FF: mov [esi+000000A0h],eax mov word ptr [eax+000000DEh],0476h mov edx,[esi+000000A0h] push 00000001h push esi mov byte ptr [ebp-04h],00h mov word ptr [edx+000000E0h],0477h mov eax,[esi+000000A0h] mov byte ptr [eax+000000E2h],0Ch mov ecx,[esi+000000A0h] mov [ecx+000000E3h],bl mov ecx,[esi+000000A0h] call SUB_L004415C0 mov edx,[esi+000000A0h] mov dword ptr [edx+000000D8h],00000001h mov eax,[esi+000000A0h] mov [L0066962C],eax mov ecx,[esi+000000A0h] call SUB_L0041AC50 L0048216E: mov al,[esi+0000009Fh] push 000000CCh test al,01h jz L00482249 call SUB_L0049A820 add esp,00000004h mov [ebp+18h],eax cmp eax,edi mov byte ptr [ebp-04h],03h jz L004821C6 mov ebx,[esi+30h] push edi push 0000047Ch mov ecx,00000124h push 0000047Bh push L004121D0 sub ecx,ebx mov ebx,[esi+2Ch] push edi mov edx,000000EEh push edi push esi sub edx,ebx push ecx push edx mov ecx,eax call SUB_L004122F0 jmp L004821C8 L004821C6: xor eax,eax L004821C8: push 00000001h push esi mov ecx,eax mov byte ptr [ebp-04h],00h mov dword ptr [eax+000000A4h],0000047Dh call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp+18h],eax cmp eax,edi mov byte ptr [ebp-04h],04h jz L00482238 mov edx,[esi+30h] push edi push 00000479h push 00000478h push L00412260 mov ecx,00000124h push edi push edi mov edi,[esi+2Ch] sub ecx,edx mov edx,00000145h push esi sub edx,edi push ecx push edx mov ecx,eax call SUB_L004122F0 mov byte ptr [ebp-04h],00h mov dword ptr [eax+000000A4h],0000047Ah jmp L0048229D L00482238: xor eax,eax mov [ebp-04h],al mov dword ptr [eax+000000A4h],0000047Ah jmp L0048229D L00482249: call SUB_L0049A820 add esp,00000004h mov [ebp+18h],eax cmp eax,edi mov [ebp-04h],bl jz L0048228D mov edx,[esi+30h] push edi push 0000047Ch push 0000047Bh push L004121D0 mov ecx,00000124h push edi push edi mov edi,[esi+2Ch] sub ecx,edx mov edx,0000011Ah push esi sub edx,edi push ecx push edx mov ecx,eax call SUB_L004122F0 jmp L0048228F L0048228D: xor eax,eax L0048228F: mov byte ptr [ebp-04h],00h mov dword ptr [eax+000000A4h],0000047Dh L0048229D: push 00000001h push esi mov ecx,eax call SUB_L004415C0 mov ecx,[ebp-0Ch] mov [L00669630],esi mov eax,esi pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 001Ch ;------------------------------------------------------------------------------ Align 16 L004822D0: push ebp mov ebp,esp push esi mov esi,ecx call SUB_L00482300 test byte ptr [ebp+08h],01h jz L004822EA push esi call SUB_L0049A810 add esp,00000004h L004822EA: mov eax,esi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00482300: push ebp mov ebp,esp push FFFFFFFFh push L004B4EE8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx push edi mov [ebp-10h],esi mov dword ptr [esi],L004BC360 mov eax,[L00669630] xor edi,edi cmp eax,esi mov [ebp-04h],edi jnz L0048233A mov [L00669630],edi L0048233A: mov ecx,[esi+000000A0h] cmp ecx,edi jz L00482350 mov eax,[ecx] push 00000001h call [eax] mov [esi+000000A0h],edi L00482350: mov ecx,[esi+38h] mov eax,[ecx+04h] cmp eax,edi jz L00482370 push SSZ004CE694_StringQuery_frame0_pBMP push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov edx,[esi+38h] mov [edx+04h],edi L00482370: mov eax,[esi+38h] cmp eax,edi jz L0048238A push SSZ004CE67C_StringQuery_framedata push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov [esi+38h],edi L0048238A: mov ecx,esi mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00441D50 mov ecx,[ebp-0Ch] pop edi mov fs:[00000000h],ecx pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 L004823B0: jmp L004121D0 Align 16 L004823C0: db F6h; 'æ' db 81h; '?' db 9Fh; '?' db 00h; db 00h; db 00h; db 01h; db 74h; 't' db 05h; db E9h; '©' db 92h; ''' db FEh; 'î' db F8h; 'è' db FFh; 'ï' db C3h; 'ƒ' db 90h; '?' SUB_L004823D0: mov eax,ecx xor ecx,ecx mov [eax],ecx mov [eax+04h],ecx mov dword ptr [eax+08h],00000040h mov [eax+0Ch],ecx retn ;------------------------------------------------------------------------------ Align 16 SUB_L004823F0: mov eax,[ecx] test eax,eax jz L004823FF push eax call SUB_L0049A810 add esp,00000004h L004823FF: retn ;------------------------------------------------------------------------------ SUB_L00482400: push ebp mov ebp,esp push ebx push esi mov esi,[ebp+08h] mov ebx,ecx xor eax,eax push edi cmp esi,eax mov [ebx],eax mov [ebx+04h],eax mov dword ptr [ebx+08h],00000040h mov [ebx+0Ch],eax jnz L00482425 mov [ebx+04h],eax jmp L0048247C L00482425: mov edi,esi or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx test ecx,ecx jle L0048244E mov edi,esi or ecx,FFFFFFFFh repne scasb not ecx lea eax,[ecx+3Fh] push eax mov [ebx+0Ch],eax call SUB_L0049A820 add esp,00000004h mov [ebx],eax L0048244E: mov edi,esi or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,[ebx] shr ecx,02h rep movsd mov ecx,eax xor eax,eax and ecx,00000003h rep movsb mov edi,[ebx] or ecx,FFFFFFFFh repne scasb not ecx dec ecx mov [ebx+04h],ecx L0048247C: cmp [ebx],eax jnz L00482486 mov [ebx+0Ch],eax mov [ebx+04h],eax L00482486: pop edi mov eax,ebx pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L00482490: push ebp mov ebp,esp push ecx push ebx push esi mov esi,[ebp+08h] push edi test esi,esi mov ebx,ecx jz L0048259F cmp byte ptr [esi],00h jz L0048259F mov edi,esi or ecx,FFFFFFFFh xor eax,eax mov edx,[ebx+04h] repne scasb not ecx dec ecx mov edi,esi lea eax,[ecx+edx+01h] mov ecx,[ebx+0Ch] cmp eax,ecx jle L0048255E or ecx,FFFFFFFFh xor eax,eax repne scasb mov edi,[ebx+08h] not ecx dec ecx add ecx,edi lea eax,[ecx+edx] push eax mov [ebx+0Ch],eax call SUB_L0049A820 mov edx,eax add esp,00000004h mov [ebp-04h],edx mov byte ptr [edx],00h mov edi,[ebx] test edi,edi jz L00482519 or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov esi,[ebp+08h] L00482519: mov edi,esi or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov [ebp+08h],eax mov edi,edx mov edx,[ebp+08h] or ecx,FFFFFFFFh xor eax,eax repne scasb mov ecx,edx dec edi shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb mov eax,[ebx] test eax,eax jz L00482557 push eax call SUB_L0049A810 add esp,00000004h L00482557: mov eax,[ebp-04h] mov [ebx],eax jmp L00482583 L0048255E: or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx mov esi,edi mov edi,[ebx] mov edx,ecx or ecx,FFFFFFFFh repne scasb mov ecx,edx dec edi shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb L00482583: mov edx,[ebx] or ecx,FFFFFFFFh mov edi,edx xor eax,eax repne scasb not ecx dec ecx mov eax,edx mov [ebx+04h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L0048259F: mov eax,[ebx] pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 8 SUB_L004825B0: push ebp mov ebp,esp push ebx push esi mov esi,[ebp+08h] mov ebx,ecx test esi,esi jnz L004825D6 mov eax,[ebx] test eax,eax jz L004825C7 mov byte ptr [eax],00h L004825C7: mov dword ptr [ebx+04h],00000000h mov eax,ebx pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ L004825D6: push edi mov edi,esi or ecx,FFFFFFFFh xor eax,eax repne scasb mov eax,[ebx+0Ch] not ecx cmp ecx,eax jle L00482617 mov eax,[ebx] test eax,eax jz L004825F8 push eax call SUB_L0049A810 add esp,00000004h L004825F8: mov edi,esi or ecx,FFFFFFFFh xor eax,eax repne scasb mov eax,[ebx+08h] not ecx dec ecx add eax,ecx push eax mov [ebx+0Ch],eax call SUB_L0049A820 add esp,00000004h mov [ebx],eax L00482617: mov edi,esi or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx mov edx,ecx mov esi,edi mov edi,[ebx] shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb mov edi,[ebx] or ecx,FFFFFFFFh repne scasb not ecx dec ecx pop edi mov [ebx+04h],ecx mov eax,ebx pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 8 SUB_L00482650: push ebp mov ebp,esp mov eax,[ebp+08h] push esi mov esi,ecx push eax call SUB_L00482490 mov eax,esi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00482670: push ebp mov ebp,esp sub esp,00000100h mov eax,[ebp+08h] push esi mov esi,ecx push eax lea ecx,[ebp-00000100h] push L004C43EC push ecx call SUB_L0049AC80 add esp,0000000Ch lea edx,[ebp-00000100h] mov ecx,esi push edx call SUB_L00482490 mov eax,esi pop esi mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' mov ecx,L00740150 jmp L004826C0 Align 8 L004826C0: push ebp mov ebp,esp sub esp,00000010h push ebx push esi push edi mov [ebp-04h],ecx xor ebx,ebx lea edi,[ecx+00004008h] L004826D4: xor esi,esi lea ecx,[ebx-1Ah] L004826D9: lea edx,[esi-03h] mov eax,ecx test edx,edx jge L004826E4 xor edx,edx L004826E4: cmp edx,00000040h jl L004826EE mov edx,0000003Fh L004826EE: test eax,eax jge L004826F6 xor eax,eax xor edx,edx L004826F6: cmp eax,00000080h jl L00482702 mov eax,0000007Fh L00482702: shl eax,06h add eax,edx inc esi mov [edi],eax add edi,00000004h cmp esi,00000040h jl L004826D9 inc ebx cmp ebx,00000080h jl L004826D4 mov eax,[ebp-04h] xor ebx,ebx lea edi,[eax+0000C008h] L00482726: xor edx,edx lea ecx,[ebx-0Ch] L0048272B: test edx,edx mov esi,edx mov eax,ecx jge L00482735 xor esi,esi L00482735: cmp esi,00000040h jl L0048273F mov esi,0000003Fh L0048273F: test eax,eax jge L00482747 xor eax,eax xor esi,esi L00482747: cmp eax,00000080h jl L00482753 mov eax,0000007Fh L00482753: shl eax,06h add eax,esi inc edx mov [edi],eax add edi,00000004h cmp edx,00000040h jl L0048272B inc ebx cmp ebx,00000038h jl L00482726 mov edx,[ebp-04h] mov dword ptr [ebp-08h],00000038h mov dword ptr [ebp-0Ch],000000E0h mov ecx,000001C0h lea edi,[edx+0000F808h] L00482785: lea eax,[ecx-000001C0h] xor esi,esi cdq and edx,0000000Fh add eax,edx mov ebx,eax mov eax,[ebp-0Ch] add eax,FFFFFF20h cdq and edx,0000000Fh add eax,edx mov edx,[ebp-08h] sar ebx,04h sar eax,04h lea eax,[eax+edx-0Ch] mov [ebp-10h],eax L004827B3: mov eax,[ebp-10h] mov edx,esi sub edx,ebx jns L004827BE xor edx,edx L004827BE: cmp edx,00000040h jl L004827C8 mov edx,0000003Fh L004827C8: test eax,eax jge L004827D0 xor eax,eax xor edx,edx L004827D0: cmp eax,00000080h jl L004827DC mov eax,0000007Fh L004827DC: shl eax,06h add eax,edx inc esi mov [edi],eax add edi,00000004h cmp esi,00000040h jl L004827B3 mov ebx,[ebp-08h] mov edx,[ebp-0Ch] add ecx,00000008h inc ebx add edx,00000004h cmp ecx,00000240h mov [ebp-08h],ebx mov [ebp-0Ch],edx jl L00482785 mov ecx,[ebp-04h] mov ebx,00000048h lea edi,[ecx+00010808h] L00482819: xor esi,esi lea ecx,[ebx-08h] L0048281E: lea edx,[esi-08h] mov eax,ecx test edx,edx jge L00482829 xor edx,edx L00482829: cmp edx,00000040h jl L00482833 mov edx,0000003Fh L00482833: test eax,eax jge L0048283B xor eax,eax xor edx,edx L0048283B: cmp eax,00000080h jl L00482847 mov eax,0000007Fh L00482847: shl eax,06h add eax,edx inc esi mov [edi],eax add edi,00000004h cmp esi,00000040h jl L0048281E inc ebx cmp ebx,00000080h jl L00482819 mov edx,[ebp-04h] xor ebx,ebx lea edi,[edx+00014008h] L0048286B: xor edx,edx lea ecx,[ebx-0Ch] L00482870: test edx,edx mov esi,edx mov eax,ecx jge L0048287A xor esi,esi L0048287A: cmp esi,00000040h jl L00482884 mov esi,0000003Fh L00482884: test eax,eax jge L0048288C xor eax,eax xor esi,esi L0048288C: cmp eax,00000080h jl L00482898 mov eax,0000007Fh L00482898: shl eax,06h add eax,esi inc edx mov [edi],eax add edi,00000004h cmp edx,00000040h jl L00482870 inc ebx cmp ebx,00000038h jl L0048286B mov eax,[ebp-04h] mov dword ptr [ebp-08h],00000038h mov dword ptr [ebp-0Ch],000001C0h mov ecx,000000E0h lea edi,[eax+00017808h] L004828CA: lea eax,[ecx-000000E0h] mov ebx,00000040h cdq and edx,0000000Fh add eax,edx mov edx,[ebp-08h] sar eax,04h lea eax,[eax+edx-0Ch] mov edx,[ebp-0Ch] mov [ebp-10h],eax lea eax,[edx-000001C0h] cdq and edx,0000000Fh add eax,edx sar eax,04h L004828FA: mov edx,[ebp-10h] mov esi,eax test eax,eax jge L00482905 xor esi,esi L00482905: cmp esi,00000040h jl L0048290F mov esi,0000003Fh L0048290F: test edx,edx jge L00482917 xor edx,edx xor esi,esi L00482917: cmp edx,00000080h jl L00482924 mov edx,0000007Fh L00482924: shl edx,06h add edx,esi mov [edi],edx add edi,00000004h inc eax dec ebx jnz L004828FA mov ebx,[ebp-08h] mov edx,[ebp-0Ch] add ecx,00000004h inc ebx add edx,00000008h cmp ecx,00000120h mov [ebp-08h],ebx mov [ebp-0Ch],edx jl L004828CA mov eax,[ebp-04h] mov ebx,00000048h lea edi,[eax+00018808h] L0048295F: lea ecx,[ebx-08h] mov edx,00000008h L00482967: test edx,edx mov eax,ecx mov esi,edx jge L00482971 xor esi,esi L00482971: cmp esi,00000040h jl L0048297B mov esi,0000003Fh L0048297B: test eax,eax jge L00482983 xor eax,eax xor esi,esi L00482983: cmp eax,00000080h jl L0048298F mov eax,0000007Fh L0048298F: shl eax,06h add eax,esi mov [edi],eax add edi,00000004h inc edx lea eax,[edx-08h] cmp eax,00000040h jl L00482967 inc ebx cmp ebx,00000080h jl L0048295F mov ecx,[ebp-04h] xor ebx,ebx lea edi,[ecx+0001C008h] L004829B6: lea ecx,[ebx-1Ah] mov edx,00000003h L004829BE: test edx,edx mov esi,edx mov eax,ecx jge L004829C8 xor esi,esi L004829C8: cmp esi,00000040h jl L004829D2 mov esi,0000003Fh L004829D2: test eax,eax jge L004829DA xor eax,eax xor esi,esi L004829DA: cmp eax,00000080h jl L004829E6 mov eax,0000007Fh L004829E6: shl eax,06h add eax,esi mov [edi],eax add edi,00000004h inc edx lea eax,[edx-03h] cmp eax,00000040h jl L004829BE inc ebx cmp ebx,00000080h jl L004829B6 mov eax,[ebp-04h] pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 SUB_L00482A10: push ebp mov ebp,esp sub esp,00000010h push ebx push esi mov esi,ecx push edi mov eax,[esi+00024014h] test eax,eax jz L00482A46 cmp eax,00000006h jz L00482A46 mov eax,[esi] lea eax,[eax+eax*4] mov ecx,[L004CE6D8+eax*4] mov eax,[esi+0002400Ch] add eax,ecx mov [esi+0002400Ch],eax jmp L00482A60 L00482A46: mov eax,[esi] mov ecx,[esi+0002400Ch] lea edx,[eax+eax*4] mov eax,[L004CE6DC+edx*4] add ecx,eax mov [esi+0002400Ch],ecx L00482A60: mov ecx,[L004C7F34] mov eax,[esi+00024008h] imul ecx,[esi+0002400Ch] mov edx,[L006BAE7C] add ecx,eax xor ebx,ebx lea edi,[edx+ecx*2] L00482A80: mov ecx,[esi+0002400Ch] mov eax,ebx add eax,ecx mov ecx,[esi+04h] cmp eax,[ecx+04h] jl L00482AE9 cmp eax,[ecx+0Ch] jge L00482AE9 xor ecx,ecx L00482A99: mov edx,[esi+00024008h] mov eax,ecx add eax,edx mov edx,[esi+04h] cmp eax,[edx] jl L00482AD5 cmp eax,[edx+08h] jge L00482AD5 mov eax,[esi+00024014h] sar eax,1 shl eax,07h add eax,ebx shl eax,06h add eax,ecx mov edx,[esi+eax*4+00004008h] mov ax,[esi+edx*2+08h] test ax,ax jz L00482AD5 mov [edi],ax L00482AD5: add edi,00000002h inc ecx cmp ecx,00000040h jl L00482A99 mov eax,[L004C7F34] lea edi,[edi+eax*2-80h] jmp L00482AF2 L00482AE9: mov ecx,[L004C7F34] lea edi,[edi+ecx*2] L00482AF2: inc ebx cmp ebx,00000080h jl L00482A80 mov eax,[esi+00024014h] test eax,eax jz L00482B0E cmp eax,00000006h jnz L00482C3D L00482B0E: mov eax,[esi] lea edx,[eax+eax*4] mov eax,[L004CE6E0+edx*4] test eax,eax jz L00482C3D mov ebx,[ebp+08h] mov al,[ebx+22h] mov cl,[ebx+20h] and eax,0000003Fh and ecx,0000003Fh shl eax,06h add eax,ecx mov edi,[L006BDA48+eax*4] test edi,edi jz L00482C3D L00482B45: movsx eax,[edi+24h] movsx edx,[ebx+24h] sub eax,edx cdq xor eax,edx sub eax,edx cmp eax,00000001h jg L00482BBF mov ax,[edi+20h] cmp ax,[ebx+20h] jnz L00482BBF mov cx,[edi+22h] cmp cx,[ebx+22h] jnz L00482BBF mov edx,[edi] mov ecx,edi call [edx+18h] test eax,eax jz L00482BB6 mov eax,[edi] mov ecx,edi call [eax+24h] test eax,eax jnz L00482BB6 mov ax,[edi+38h] xor edx,edx mov [ebp+08h],eax mov eax,[L004CE6D0] test eax,eax jz L00482BB6 mov ecx,L004CE6D0 L00482B9A: cmp eax,[ebp+08h] jnz L00482BA6 mov eax,[ecx+04h] test eax,eax jnz L00482BB3 L00482BA6: mov eax,[ecx+14h] add ecx,00000014h inc edx test eax,eax jnz L00482B9A jmp L00482BB6 L00482BB3: inc edx jmp L00482BB8 L00482BB6: xor edx,edx L00482BB8: mov eax,[esi] dec edx cmp edx,eax jz L00482BCA L00482BBF: mov edi,[edi+14h] test edi,edi jnz L00482B45 L00482BCA: test edi,edi jz L00482C3D mov ecx,[esi+04h] mov ebx,[esi+00024014h] mov esi,[esi] mov edx,[ecx] mov [ebp-10h],edx mov eax,[ecx+04h] mov [ebp-0Ch],eax mov edx,[ecx+08h] mov [ebp-08h],edx mov edx,[edi+04h] mov eax,[ecx+0Ch] mov ecx,[edi+0Ch] mov [ebp-04h],eax mov eax,ecx sub eax,edx sar eax,1 test ebx,ebx jnz L00482C1B mov ebx,[L004DAF40] lea edx,[esi+esi*4] mov edx,[L004CE6E0+edx*4] sub edx,ebx sub edx,eax add edx,ecx mov [ebp-08h],edx jmp L00482C32 L00482C1B: lea ecx,[esi+esi*4] mov esi,[L004DAF40] sub eax,[L004CE6E0+ecx*4] sub eax,esi add eax,edx mov [ebp-10h],eax L00482C32: mov edx,[edi] lea eax,[ebp-10h] push eax mov ecx,edi call [edx+08h] L00482C3D: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00482C50: push ebp mov ebp,esp mov eax,[ecx+00024014h] push ebx mov ebx,[L004DAF40] push esi mov esi,[ebp+08h] push edi mov edi,[L004DAF44] sub esi,ebx mov ebx,[ebp+0Ch] sub ebx,edi test eax,eax mov [ebp+0Ch],ebx jz L00482C8C cmp eax,00000006h jz L00482C8C mov edx,[ecx] lea edx,[edx+edx*4] mov edx,[L004CE6D8+edx*4] jmp L00482C98 L00482C8C: mov edx,[ecx] lea edx,[edx+edx*4] mov edx,[L004CE6DC+edx*4] L00482C98: mov edi,[ecx+0002400Ch] add edi,edx mov [ecx+0002400Ch],edi mov edi,[ecx+00024008h] cmp esi,edi jl L00482CF6 lea edx,[edi+40h] cmp esi,edx jge L00482CF6 mov edx,[ecx+0002400Ch] cmp ebx,edx jl L00482CF6 lea ebx,[edx+00000080h] cmp [ebp+0Ch],ebx jge L00482CF6 mov ebx,[ebp+0Ch] sar eax,1 shl eax,07h add eax,ebx sub eax,edx shl eax,06h add eax,esi sub eax,edi xor edx,edx mov eax,[ecx+eax*4+00004008h] mov dx,[ecx+eax*2+08h] mov eax,edx pop edi pop esi pop ebx pop ebp retn 0008h ;------------------------------------------------------------------------------ L00482CF6: pop edi pop esi xor eax,eax pop ebx pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 4 SUB_L00482D00: push ebp mov ebp,esp sub esp,00000008h push ebx push esi push edi mov edi,[ebp+08h] mov eax,edi mov [ebp-08h],ecx and eax,00003FFFh jnz L00482E39 mov eax,[ecx+00024010h] test eax,eax jz L00482DB8 mov edi,[ebp+10h] L00482D2D: mov eax,[edi] cmp eax,7FFF7FFFh jz L0048310D mov edx,eax mov esi,eax shl eax,0Ah sar eax,16h sar esi,16h mov ecx,00000020h add eax,00000050h and edx,00000FFFh sub ecx,esi mov esi,eax sub ecx,edx add edi,00000004h cmp esi,00000080h mov [ebp+10h],edi jge L0048310D test esi,esi jl L00482DB1 xor eax,eax test edx,edx mov [ebp+08h],eax jle L00482DB1 L00482D7A: cmp ecx,00000040h jge L00482DB1 test ecx,ecx jl L00482DA8 mov ebx,[ebp+0Ch] add edi,edx sub edi,eax xor eax,eax mov al,[edi-01h] mov edi,esi shl edi,06h mov ax,[ebx+eax*2] mov ebx,[ebp-08h] add edi,ecx mov [ebx+edi*2+08h],ax mov eax,[ebp+08h] mov edi,[ebp+10h] L00482DA8: inc ecx inc eax cmp eax,edx mov [ebp+08h],eax jl L00482D7A L00482DB1: add edi,edx jmp L00482D2D L00482DB8: mov ebx,[ebp+10h] L00482DBB: mov eax,[ebx] cmp eax,7FFF7FFFh jz L0048310D mov edx,eax mov ecx,eax shl eax,0Ah sar eax,16h add eax,00000050h and edx,00000FFFh sar ecx,16h mov esi,eax add ecx,00000020h add ebx,00000004h cmp esi,00000080h mov [ebp+10h],ebx jge L0048310D test esi,esi jl L00482E35 xor edi,edi test edx,edx mov [ebp+08h],edi jle L00482E35 L00482E02: cmp ecx,00000040h jge L00482E35 test ecx,ecx jl L00482E2C xor eax,eax mov al,[edi+ebx] mov ebx,[ebp+0Ch] mov edi,esi mov ax,[ebx+eax*2] mov ebx,[ebp-08h] shl edi,06h add edi,ecx mov [ebx+edi*2+08h],ax mov edi,[ebp+08h] mov ebx,[ebp+10h] L00482E2C: inc ecx inc edi cmp edi,edx mov [ebp+08h],edi jl L00482E02 L00482E35: add ebx,edx jmp L00482DBB L00482E39: test edi,00008000h jnz L00482F9F mov eax,[ecx+00024010h] mov ecx,[ebp+10h] dec edi test eax,eax jz L00482F00 L00482E57: mov eax,[ecx] cmp eax,7FFF7FFFh jz L0048310D mov esi,eax mov ebx,eax shl eax,0Ah sar ebx,16h mov edx,00000020h and esi,00000FFFh sar eax,16h sub edx,ebx add eax,00000050h sub edx,esi add ecx,00000004h cmp eax,00000080h mov [ebp-04h],eax mov [ebp+10h],ecx jge L0048310D test eax,eax jl L00482EF9 xor eax,eax test esi,esi mov [ebp+08h],eax jle L00482EF9 L00482EA4: cmp edx,00000040h jge L00482EF9 test edx,edx jl L00482EF0 mov ebx,[ebp+0Ch] add ecx,esi sub ecx,eax xor eax,eax mov al,[ecx-01h] xor ecx,ecx mov cx,[ebx+eax*2] mov ebx,[ebp-08h] mov eax,ecx mov cl,[L004D0738] shr eax,cl lea ecx,[edi+edi*4] lea ecx,[edi+ecx*2] lea eax,[eax+ecx*4] mov ecx,[ebp-04h] shl ecx,06h mov ax,[L006C1A48+eax*2] add ecx,edx mov [ebx+ecx*2+08h],ax mov ecx,[ebp+10h] mov eax,[ebp+08h] L00482EF0: inc edx inc eax cmp eax,esi mov [ebp+08h],eax jl L00482EA4 L00482EF9: add ecx,esi jmp L00482E57 L00482F00: mov eax,[ecx] cmp eax,7FFF7FFFh jz L0048310D mov esi,eax mov edx,eax shl eax,0Ah sar eax,16h sar edx,16h add eax,00000050h and esi,00000FFFh add edx,00000020h add ecx,00000004h cmp eax,00000080h mov [ebp-04h],eax mov [ebp+10h],ecx jge L0048310D test eax,eax jl L00482F98 xor eax,eax test esi,esi mov [ebp+08h],eax jle L00482F98 L00482F47: cmp edx,00000040h jge L00482F98 test edx,edx jl L00482F8F xor ebx,ebx mov bl,[eax+ecx] mov eax,[ebp+0Ch] xor ecx,ecx mov cx,[eax+ebx*2] mov ebx,[ebp-08h] mov eax,ecx mov cl,[L004D0738] shr eax,cl lea ecx,[edi+edi*4] lea ecx,[edi+ecx*2] lea eax,[eax+ecx*4] mov ecx,[ebp-04h] shl ecx,06h mov ax,[L006C1A48+eax*2] add ecx,edx mov [ebx+ecx*2+08h],ax mov ecx,[ebp+10h] mov eax,[ebp+08h] L00482F8F: inc edx inc eax cmp eax,esi mov [ebp+08h],eax jl L00482F47 L00482F98: add ecx,esi jmp L00482F00 L00482F9F: dec eax mov [ebp+08h],eax mov eax,[ecx+00024010h] test eax,eax jz L00483068 mov edi,[ebp+10h] L00482FB4: mov eax,[edi] cmp eax,7FFF7FFFh jz L0048310D mov ecx,eax mov esi,eax shl eax,0Ah sar esi,16h mov edx,00000020h and ecx,00000FFFh sar eax,16h sub edx,esi add eax,00000050h sub edx,ecx add edi,00000004h cmp eax,00000080h mov [ebp-04h],eax mov [ebp+10h],edi jge L0048310D test eax,eax jl L00483061 xor esi,esi test ecx,ecx jle L00483061 L00482FFE: cmp edx,00000040h jge L00483061 test edx,edx jl L0048305B lea eax,[ecx+edi] mov edi,[ebp+0Ch] sub eax,esi xor ebx,ebx mov bl,[eax-01h] xor eax,eax mov ax,[edi+ebx*2] mov edi,eax mov ebx,eax and edi,000003FFh sar ebx,05h xor edi,ebx jnz L00483048 mov edi,eax mov eax,[ebp+08h] sar edi,0Ah lea ebx,[eax+eax*4] lea eax,[eax+ebx*2] lea eax,[edi+eax*4] xor edi,edi mov di,[L006C1A48+eax*2] mov eax,edi L00483048: mov edi,[ebp-04h] mov ebx,[ebp-08h] shl edi,06h add edi,edx mov [ebx+edi*2+08h],ax mov edi,[ebp+10h] L0048305B: inc edx inc esi cmp esi,ecx jl L00482FFE L00483061: add edi,ecx jmp L00482FB4 L00483068: mov ecx,[ebp+10h] L0048306B: mov eax,[ecx] cmp eax,7FFF7FFFh jz L0048310D mov esi,eax mov edx,eax shl eax,0Ah sar eax,16h sar edx,16h add eax,00000050h and esi,00000FFFh add edx,00000020h add ecx,00000004h cmp eax,00000080h mov [ebp-04h],eax mov [ebp+10h],ecx jge L0048310D test eax,eax jl L00483106 xor edi,edi test esi,esi jle L00483106 L004830AB: cmp edx,00000040h jge L00483106 test edx,edx jl L00483100 mov ebx,[ebp+0Ch] xor eax,eax mov al,[edi+ecx] xor ecx,ecx mov cx,[ebx+eax*2] mov eax,ecx mov ebx,ecx and eax,000003FFh sar ebx,05h xor eax,ebx jnz L004830ED mov eax,[ebp+08h] sar ecx,0Ah lea ebx,[eax+eax*4] lea eax,[eax+ebx*2] lea ecx,[ecx+eax*4] xor eax,eax mov ax,[L006C1A48+ecx*2] mov ecx,eax L004830ED: mov eax,[ebp-04h] mov ebx,[ebp-08h] shl eax,06h add eax,edx mov [ebx+eax*2+08h],cx mov ecx,[ebp+10h] L00483100: inc edx inc edi cmp edi,esi jl L004830AB L00483106: add ecx,esi jmp L0048306B L0048310D: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 16 SUB_L00483120: push ebp mov ebp,esp mov eax,[ebp+08h] push esi mov edx,[eax] and edx,00000007h mov [eax],edx mov ecx,[ecx] mov esi,[L004CE6B0+edx*4] lea ecx,[ecx+ecx*4] mov ecx,[L004CE6D4+ecx*4] test ecx,esi jnz L004831AF inc edx and edx,00000007h mov [eax],edx test [L004CE6B0+edx*4],ecx jnz L004831AF add edx,FFFFFFFEh and edx,00000007h mov [eax],edx test [L004CE6B0+edx*4],ecx jnz L004831AF add edx,00000003h and edx,00000007h mov [eax],edx test [L004CE6B0+edx*4],ecx jnz L004831AF add edx,FFFFFFFCh and edx,00000007h mov [eax],edx test [L004CE6B0+edx*4],ecx jnz L004831AF add edx,FFFFFFFDh and edx,00000007h mov [eax],edx test [L004CE6B0+edx*4],ecx jnz L004831AF add edx,00000002h and edx,00000007h mov [eax],edx test [L004CE6B0+edx*4],ecx jnz L004831AF dec edx and edx,00000007h mov [eax],edx L004831AF: pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L004831C0: push ebx mov ebx,ecx push esi push edi mov eax,[ebx+1Ch] test eax,eax jz L004832FE mov ax,[ebx+38h] cmp ax,0190h jc L004832FE cmp ax,03E8h jnc L004832FE mov eax,[ebx] call [eax+00000090h] test eax,eax jnz L004832FE mov eax,[ebx+0000013Ch] test eax,eax jnz L004832FE cmp ebx,[L0073EBE4] jnz L0048321B mov eax,[L006695A0] test eax,eax jnz L004832FE L0048321B: mov eax,[ebx+00000128h] test eax,eax jnz L004832FE mov dl,[ebx+22h] mov cl,[ebx+20h] and edx,0000003Fh and ecx,0000003Fh shl edx,06h add ecx,edx mov edi,[L006BDA48+ecx*4] test edi,edi jz L004832FE L00483249: movsx eax,[edi+24h] movsx ecx,[ebx+24h] sub eax,ecx cdq xor eax,edx sub eax,edx cmp eax,00000001h jg L004832E4 mov dx,[edi+20h] cmp dx,[ebx+20h] jnz L004832E4 mov ax,[edi+22h] cmp ax,[ebx+22h] jnz L004832E4 mov edx,[edi] mov ecx,edi call [edx+18h] test eax,eax jz L004832BE mov eax,[edi] mov ecx,edi call [eax+24h] test eax,eax jnz L004832BE mov eax,[L004CE6D0] xor esi,esi mov si,[edi+38h] xor edx,edx test eax,eax jz L004832BE mov ecx,L004CE6D0 L004832A1: cmp eax,esi jnz L004832AC mov eax,[ecx+04h] test eax,eax jnz L004832B9 L004832AC: mov eax,[ecx+14h] add ecx,00000014h inc edx test eax,eax jnz L004832A1 jmp L004832BE L004832B9: lea eax,[edx+01h] jmp L004832C0 L004832BE: xor eax,eax L004832C0: test eax,eax jz L004832E4 lea edx,[eax+eax*4] lea ecx,[eax-01h] mov [L00740150],ecx test byte ptr [L004CE6C0+edx*4],10h jz L004832F5 mov eax,[ebx+00000148h] test eax,eax jnz L004832F5 L004832E4: mov edi,[edi+14h] test edi,edi jnz L00483249 xor eax,eax pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ L004832F5: mov eax,00000001h pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ L004832FE: pop edi pop esi xor eax,eax pop ebx retn ;------------------------------------------------------------------------------ Align 16 SUB_L00483310: push ebp mov ebp,esp sub esp,00000020h push ebx push esi mov esi,ecx xor eax,eax lea ecx,[ebp-08h] push edi mov al,[esi+6Eh] push ecx mov ecx,L00740150 mov [ebp-08h],eax call SUB_L00483120 movsx ecx,[esi+22h] movsx edx,[esi+20h] mov eax,[L006AABAC] mov ebx,00000005h sub eax,ecx add eax,edx lea edi,[eax+eax*4] lea edi,[eax+edi*2] mov eax,[esi+00000188h] shl edi,1 sub edi,eax mov eax,[esi+00000190h] sub ebx,eax lea eax,[edx+ecx] mov ecx,[esi+0000018Ch] inc edi lea edx,[eax+eax*4] mov [ebp-20h],edi lea eax,[eax+edx*2] shl eax,1 lea eax,[eax+ebx*4] mov [esi+000000B4h],eax sub eax,ecx mov ebx,eax mov al,[esi+00000098h] test al,80h mov [ebp-04h],ebx jz L004833AA call SUB_L0048B870 test eax,eax jnz L004833AA mov [esi+08h],ebx mov [esi+10h],ebx mov [esi+0Ch],edi mov [esi+04h],edi pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L004833AA: mov edx,[esi] mov ecx,esi call [edx+00000088h] mov edx,[ebp-08h] mov ax,[esi+38h] test edx,edx jz L004833EB cmp edx,00000006h jz L004833EB and eax,0000FFFFh mov ebx,edx mov ecx,eax and ebx,00000007h shl ecx,03h sub ecx,eax lea ecx,[ecx+ecx*4] lea eax,[ecx+ecx*4] mov ecx,[L004C6768+ebx*4] lea eax,[ecx+eax-000088A4h] jmp L00483410 L004833EB: and eax,0000FFFFh mov ebx,edx mov ecx,eax and ebx,00000007h shl ecx,03h sub ecx,eax lea ecx,[ecx+ecx*4] lea eax,[ecx+ecx*4] mov ecx,[L004C6768+ebx*4] lea eax,[ecx+eax-0000883Bh] L00483410: mov edx,[L004C6788+edx*4] lea ecx,[ebp-18h] mov [ebp-10h],edx lea edx,[ebp-1Ch] push ecx push edx push eax push 00000006h push 00000005h mov ecx,L006AA860 call SUB_L00446620 test eax,eax jnz L0048344B mov eax,[ebp-04h] mov [esi+0Ch],edi mov [esi+08h],eax mov [esi+10h],eax mov [esi+04h],edi pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L0048344B: mov cx,[eax+00000200h] add eax,00000200h test cx,cx mov [esi+000001AAh],cx jbe L004836DB mov ecx,[eax+04h] test ecx,ecx jnz L00483484 mov eax,[ebp-04h] mov [esi+0Ch],edi mov [esi+08h],eax mov [esi+10h],eax mov [esi+04h],edi pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00483484: mov bx,[eax+ecx+02h] mov dx,[eax+ecx] mov [ebp-14h],bx mov bx,[eax+ecx+04h] mov ax,[eax+ecx+06h] mov [ebp-0Ch],ax mov eax,[ebp-10h] test eax,eax jz L004834AC mov ecx,ebx sub ecx,edx mov edx,ecx L004834AC: movsx ecx,[ebp-14h] mov eax,[ebp-04h] mov dword ptr [esi+000000B8h],00000000h movsx edx,dx sub eax,ecx sub edi,edx movsx ecx,[ebp-0Ch] mov [esi+10h],eax sub eax,ecx movsx edx,bx mov [esi+08h],eax add edx,edi mov eax,00000001h lea ecx,[esi+000000C8h] mov [esi+04h],edi mov [esi+0Ch],edx mov [ebp-14h],eax mov [ebp-0Ch],ecx L004834EC: cmp eax,00000015h jz L0048360C mov edx,[ebp-0Ch] mov ecx,[edx] test ecx,ecx jz L0048360C mov edx,[L006A9D98] xor eax,eax mov ax,[ecx+38h] lea ecx,[eax+eax*4] xor eax,eax mov ax,[edx+ecx*8+0Ch] cmp eax,00000190h jl L0048360C cmp eax,000003E8h jge L0048360C mov ecx,[ebp-08h] test ecx,ecx jz L0048355F cmp ecx,00000006h jz L0048355F and eax,0000FFFFh and ecx,00000007h mov edx,eax shl edx,03h mov ecx,[L004C6768+ecx*4] sub edx,eax lea edx,[edx+edx*4] lea eax,[edx+edx*4] lea eax,[ecx+eax-000088A4h] jmp L00483582 L0048355F: and eax,0000FFFFh and ecx,00000007h mov edx,eax shl edx,03h sub edx,eax mov eax,[L004C6768+ecx*4] lea edx,[edx+edx*4] lea edx,[edx+edx*4] lea eax,[eax+edx-0000883Bh] L00483582: lea ecx,[ebp-18h] lea edx,[ebp-1Ch] push ecx push edx push eax push 00000006h push 00000005h mov ecx,L006AA860 call SUB_L00446620 test eax,eax jz L0048360C mov ecx,[eax+00000204h] add eax,00000200h test ecx,ecx jz L0048360C mov di,[eax+ecx] mov dx,[eax+ecx+02h] mov bx,[eax+ecx+04h] mov ax,[eax+ecx+06h] mov ecx,[ebp-10h] test ecx,ecx jz L004835CC mov ecx,ebx sub ecx,edi mov edi,ecx L004835CC: movsx ecx,dx mov edx,[ebp-04h] movsx edi,di sub edx,ecx mov ecx,[ebp-20h] movsx eax,ax sub ecx,edi mov edi,edx movsx ebx,bx sub edi,eax mov eax,ecx add eax,ebx mov ebx,[esi+0Ch] cmp eax,ebx jle L004835F4 mov [esi+0Ch],eax L004835F4: cmp ecx,[esi+04h] jge L004835FC mov [esi+04h],ecx L004835FC: cmp edx,[esi+10h] jle L00483604 mov [esi+10h],edx L00483604: cmp edi,[esi+08h] jge L0048360C mov [esi+08h],edi L0048360C: mov eax,[ebp-14h] mov edx,[ebp-0Ch] inc eax add edx,00000004h cmp eax,0000001Ah mov [ebp-14h],eax mov [ebp-0Ch],edx jl L004834EC mov ebx,[esi+08h] mov ecx,[esi+04h] mov edi,[esi+10h] mov edx,[esi+0Ch] mov eax,FFFFFFF0h add edi,00000020h add ebx,eax add ecx,eax mov [esi+08h],ebx mov ebx,[esi+000001C0h] xor eax,eax add edx,00000010h cmp ebx,eax mov [esi+04h],ecx mov [esi+10h],edi mov [esi+0Ch],edx mov [esi+000001CCh],eax mov [esi+000001C8h],eax jz L004836DB L00483664: xor ecx,ecx mov cx,[ebx+000000DAh] add ecx,00004000h push ecx mov ecx,L006A9DB8 call SUB_L004882D0 mov di,[eax+06h] mov edx,[esi+0Ch] movsx eax,[eax+04h] mov ecx,[esi+04h] sub eax,edx add eax,ecx test eax,eax jle L004836A6 sar eax,1 add [esi+000001C8h],eax sub ecx,eax add eax,edx mov [esi+04h],ecx mov [esi+0Ch],eax L004836A6: mov edx,[esi+10h] mov ecx,[esi+08h] movsx eax,di sub eax,edx add eax,ecx test eax,eax jle L004836D1 mov edi,[esi+000001CCh] sar eax,1 add edi,eax sub ecx,eax add eax,edx mov [esi+000001CCh],edi mov [esi+08h],ecx mov [esi+10h],eax L004836D1: mov ebx,[ebx+00000100h] test ebx,ebx jnz L00483664 L004836DB: pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L004836F0: push ebp mov ebp,esp sub esp,00000044h push ebx push esi mov esi,ecx xor eax,eax lea ecx,[ebp-0Ch] push edi mov al,[esi+6Eh] push ecx mov ecx,L00740150 mov dword ptr [ebp-08h],00000000h mov byte ptr [ebp-01h],00h mov [ebp-0Ch],eax call SUB_L00483120 test byte ptr [esi+00000098h],80h jz L0048373D call SUB_L0048B870 test eax,eax jz L00483B96 mov dword ptr [ebp-08h],000003B2h mov byte ptr [ebp-01h],01h L0048373D: mov edx,[L006BAE80] cmp esi,[edx+000000D4h] jnz L00483759 mov ecx,esi call SUB_L00432D70 mov [ebp-08h],eax mov byte ptr [ebp-01h],01h L00483759: mov eax,[ebp+08h] mov ecx,[eax] mov [ebp-34h],ecx mov edx,[eax+04h] mov [ebp-30h],edx mov ecx,[eax+08h] mov [ebp-2Ch],ecx mov edx,[eax+0Ch] movsx ecx,[esi+22h] movsx eax,[esi+20h] mov [ebp-28h],edx mov edx,[L006AABAC] sub eax,ecx mov ecx,esi add eax,edx lea edx,[eax+eax*4] lea ebx,[eax+edx*2] mov eax,[esi+00000188h] mov edx,[esi+0000018Ch] shl ebx,1 sub ebx,eax mov eax,[esi+000000B4h] sub eax,edx inc ebx mov [ebp-14h],eax mov eax,[esi] call [eax+00000088h] mov edx,[ebp-0Ch] mov ax,[esi+38h] test edx,edx jz L004837E8 cmp edx,00000006h jz L004837E8 and eax,0000FFFFh mov edi,edx mov ecx,eax and edi,00000007h shl ecx,03h sub ecx,eax lea eax,[ecx+ecx*4] lea ecx,[eax+eax*4] mov eax,[L004C6768+edi*4] lea eax,[eax+ecx-000088A4h] jmp L0048380D L004837E8: and eax,0000FFFFh mov edi,edx mov ecx,eax and edi,00000007h shl ecx,03h sub ecx,eax lea eax,[ecx+ecx*4] lea ecx,[eax+eax*4] mov eax,[L004C6768+edi*4] lea eax,[eax+ecx-0000883Bh] L0048380D: mov ecx,[L004C6788+edx*4] lea edx,[ebp-1Ch] mov [ebp-18h],ecx lea ecx,[ebp-20h] push edx push ecx push eax push 00000006h push 00000005h mov ecx,L006AA860 call SUB_L00446620 test eax,eax jz L00483B96 mov cx,[eax+00000200h] mov [ebp-10h],eax add eax,00000200h mov [esi+000001AAh],cx test cx,cx jbe L00483B96 mov ecx,[eax+04h] test ecx,ecx jnz L00483874 mov eax,[ebp-14h] mov [esi+0Ch],ebx mov [esi+08h],eax mov [esi+10h],eax mov [esi+04h],ebx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L00483874: lea edx,[eax+ecx+08h] mov al,[ebp-01h] test al,al mov [ebp+08h],edx jnz L0048388B xor eax,eax mov ax,[esi+3Eh] mov [ebp-08h],eax L0048388B: mov ecx,[L0073EBE4] mov eax,[ecx] call [eax+00000090h] mov edx,[esi] mov ecx,esi mov edi,eax call [edx+00000090h] cmp edi,eax jz L004838B0 mov dword ptr [ebp-08h],000003B2h L004838B0: mov ecx,[ebp-18h] mov edx,[ebp-0Ch] lea eax,[ebp-34h] mov [L00764160],ecx mov [L00740154],eax mov ecx,00001000h xor eax,eax mov edi,L00740158 mov [L00764164],edx mov edx,[ebp-08h] rep stosd mov eax,[ebp-14h] mov edi,[L004DAF44] mov ecx,[L004DAF40] sub eax,edi sub eax,00000050h sub ebx,ecx mov ecx,[ebp-10h] mov [L0076415C],eax mov eax,[ebp+08h] sub ebx,00000020h push eax push ecx push edx mov ecx,L00740150 mov [L00764158],ebx call SUB_L00482D00 mov eax,[esi+0000011Ch] mov dword ptr [ebp-14h],00000000h test eax,eax jz L00483932 cmp word ptr [eax+38h],204Eh jnz L00483932 mov dword ptr [ebp-14h],00000001h L00483932: cmp word ptr [esi+38h],0190h jc L00483B03 mov ebx,00000001h mov [ebp-18h],ebx L00483946: mov al,[esi+6Eh] and eax,00000007h lea eax,[eax+eax*4] lea ecx,[ebx+eax*4] add eax,ecx mov edi,[L004C63F8+eax*4] cmp edi,00000015h mov [ebp-24h],edi jz L00483AF6 mov eax,[esi+edi*4+000000C4h] test eax,eax jz L00483AF6 lea edx,[esi+000000C4h] mov ecx,edi call SUB_L00477CC0 test eax,eax jnz L00483AF6 cmp dword ptr [ebp-14h],00000001h jnz L004839A5 mov ecx,[esi+edi*4+000000C4h] call SUB_L00432D40 test eax,eax jnz L00483AF6 L004839A5: mov edx,[esi+edi*4+000000C4h] xor eax,eax mov ax,[edx+38h] mov edx,[L006A9D98] lea ecx,[eax+eax*4] xor eax,eax mov ax,[edx+ecx*8+0Ch] cmp eax,00000190h jl L00483AF6 cmp eax,000003E8h jge L00483AF6 mov ecx,[ebp-0Ch] test ecx,ecx jz L00483A09 cmp ecx,00000006h jz L00483A09 and eax,0000FFFFh and ecx,00000007h mov edx,eax shl edx,03h mov ecx,[L004C6768+ecx*4] sub edx,eax lea edx,[edx+edx*4] lea eax,[edx+edx*4] lea eax,[ecx+eax-000088A4h] jmp L00483A2C L00483A09: and eax,0000FFFFh and ecx,00000007h mov edx,eax shl edx,03h sub edx,eax mov eax,[L004C6768+ecx*4] lea edx,[edx+edx*4] lea edx,[edx+edx*4] lea eax,[eax+edx-0000883Bh] L00483A2C: lea ecx,[ebp-1Ch] lea edx,[ebp-20h] push ecx push edx push eax push 00000006h push 00000005h mov ecx,L006AA860 call SUB_L00446620 test eax,eax jz L00483AF6 mov ecx,[eax+00000204h] mov [ebp-10h],eax add eax,00000200h test ecx,ecx jz L00483AF6 lea eax,[eax+ecx+08h] mov [ebp+08h],eax mov al,[ebp-01h] test al,al jnz L00483A81 mov ecx,[esi+edi*4+000000C4h] xor edi,edi mov di,[ecx+3Eh] mov [ebp-08h],edi jmp L00483A84 L00483A81: mov edi,[ebp-08h] L00483A84: mov ecx,[L0073EBE4] mov edx,[ecx] call [edx+00000090h] mov ebx,eax mov eax,[esi] mov ecx,esi call [eax+00000090h] cmp ebx,eax jz L00483AAE mov dword ptr [ebp-08h],000003B2h mov edi,[ebp-08h] jmp L00483AE0 L00483AAE: mov al,[ebp-01h] test al,al jnz L00483AE0 mov ecx,[ebp-24h] xor eax,eax mov edx,[esi+ecx*4+000000C4h] mov ecx,[L006A9D98] mov ax,[edx+38h] lea eax,[eax+eax*4] test dword ptr [ecx+eax*8],00040000h jz L00483AE0 or edi,00008000h mov [ebp-08h],edi L00483AE0: mov edx,[ebp+08h] mov eax,[ebp-10h] push edx push eax push edi mov ecx,L00740150 call SUB_L00482D00 mov ebx,[ebp-18h] L00483AF6: inc ebx cmp ebx,00000019h mov [ebp-18h],ebx jl L00483946 L00483B03: push esi mov ecx,L00740150 call SUB_L00482A10 mov edi,[esi+000001C0h] test edi,edi jz L00483B96 L00483B18: xor ecx,ecx mov cx,[edi+000000DAh] add ecx,00004000h push ecx mov ecx,L006A9DB8 call SUB_L004882D0 mov cx,[eax+04h] mov bx,[eax+06h] mov eax,[esi+04h] movsx edx,cx mov ecx,[esi+0Ch] add eax,ecx mov ecx,edx sar eax,1 sar ecx,1 sub eax,ecx mov ecx,[esi+10h] add ecx,[esi+08h] mov [ebp-44h],eax movsx ebx,bx mov [ebp+08h],ebx add eax,edx mov edx,[ebp+08h] mov [ebp-3Ch],eax sar ecx,1 sar ebx,1 sub ecx,ebx lea eax,[ebp-34h] mov [ebp-40h],ecx add ecx,edx mov [ebp-38h],ecx mov dl,[edi+000000D0h] lea ecx,[ebp-44h] push eax push ecx mov cx,[edi+000000DAh] call SUB_L0043D0F0 mov edi,[edi+00000100h] test edi,edi jnz L00483B18 L00483B96: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 4 L00483BA0: push ebp mov ebp,esp sub esp,00000034h push ebx push esi mov esi,ecx xor eax,eax lea ecx,[ebp-08h] push edi mov al,[esi+6Eh] xor edi,edi push ecx mov ecx,L00740150 mov [ebp-0Ch],edi mov byte ptr [ebp-01h],00h mov [ebp-08h],eax call SUB_L00483120 mov al,[esi+00000098h] mov [ebp-30h],edi test al,80h mov [ebp-34h],edi mov dword ptr [ebp-2Ch],00000280h mov dword ptr [ebp-28h],000001E0h jz L00483C00 call SUB_L0048B870 test eax,eax jz L00483D04 mov dword ptr [ebp-0Ch],000003B2h mov byte ptr [ebp-01h],01h L00483C00: movsx edx,[esi+22h] movsx eax,[esi+20h] mov ebx,[L006AABAC] sub eax,edx mov edx,[esi+0000018Ch] add eax,ebx lea ecx,[eax+eax*4] lea ebx,[eax+ecx*2] mov eax,[esi+000000B4h] mov ecx,[esi+00000188h] sub eax,edx mov edx,[esi] mov [ebp-18h],eax shl ebx,1 sub ebx,ecx mov ecx,esi inc ebx call [edx+00000088h] mov edx,[ebp-08h] mov ax,[esi+38h] cmp edx,edi jz L00483C75 cmp edx,00000006h jz L00483C75 and eax,0000FFFFh mov edi,edx mov ecx,eax and edi,00000007h shl ecx,03h sub ecx,eax lea eax,[ecx+ecx*4] mov ecx,[L004C6768+edi*4] lea eax,[eax+eax*4] lea eax,[ecx+eax-000088A4h] jmp L00483C9A L00483C75: and eax,0000FFFFh mov edi,edx mov ecx,eax and edi,00000007h shl ecx,03h sub ecx,eax lea eax,[ecx+ecx*4] mov ecx,[L004C6768+edi*4] lea eax,[eax+eax*4] lea eax,[ecx+eax-0000883Bh] L00483C9A: mov edx,[L004C6788+edx*4] lea ecx,[ebp-20h] mov [ebp-1Ch],edx lea edx,[ebp-24h] push ecx push edx push eax push 00000006h push 00000005h mov ecx,L006AA860 call SUB_L00446620 test eax,eax jnz L00483CC8 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L00483CC8: mov cx,[eax+00000200h] mov [ebp-14h],eax add eax,00000200h mov [esi+000001AAh],cx test cx,cx ja L00483CEE xor eax,eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L00483CEE: mov ecx,[eax+04h] test ecx,ecx jnz L00483D0F mov eax,[ebp-18h] mov [esi+0Ch],ebx mov [esi+08h],eax mov [esi+10h],eax mov [esi+04h],ebx L00483D04: xor eax,eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L00483D0F: lea eax,[eax+ecx+08h] mov [ebp-10h],eax mov al,[ebp-01h] test al,al jnz L00483D26 xor eax,eax mov ax,[esi+3Eh] mov [ebp-0Ch],eax L00483D26: mov ecx,[L0073EBE4] mov edx,[ecx] call [edx+00000090h] mov edi,eax mov eax,[esi] mov ecx,esi call [eax+00000090h] cmp edi,eax mov edx,000003B2h jnz L00483D4C mov edx,[ebp-0Ch] L00483D4C: mov eax,[ebp-1Ch] lea ecx,[ebp-34h] mov [L00740154],ecx mov ecx,[ebp-08h] mov [L00764160],eax mov [L00764164],ecx mov ecx,00001000h xor eax,eax mov edi,L00740158 rep stosd mov ecx,[L004DAF40] mov eax,[ebp-18h] sub ebx,ecx mov ecx,[ebp-14h] sub ebx,00000020h mov [L00764158],ebx mov ebx,[L004DAF44] sub eax,ebx sub eax,00000050h mov [L0076415C],eax mov eax,[ebp-10h] push eax push ecx push edx mov ecx,L00740150 call SUB_L00482D00 mov eax,[esi+0000011Ch] mov dword ptr [ebp-18h],00000000h test eax,eax jz L00483DCB cmp word ptr [eax+38h],204Eh jnz L00483DCB mov dword ptr [ebp-18h],00000001h L00483DCB: cmp word ptr [esi+38h],0190h jc L00483F7A mov ebx,00000001h mov [ebp-0Ch],ebx L00483DDF: mov al,[esi+6Eh] and eax,00000007h lea eax,[eax+eax*4] lea edx,[ebx+eax*4] add eax,edx mov edi,[L004C63F8+eax*4] cmp edi,00000015h mov [ebp-1Ch],edi jz L00483F6D mov eax,[esi+edi*4+000000C4h] test eax,eax jz L00483F6D lea edx,[esi+000000C4h] mov ecx,edi call SUB_L00477CC0 test eax,eax jnz L00483F6D cmp dword ptr [ebp-18h],00000001h jnz L00483E3E mov ecx,[esi+edi*4+000000C4h] call SUB_L00432D40 test eax,eax jnz L00483F6D L00483E3E: mov ecx,[esi+edi*4+000000C4h] xor eax,eax mov ax,[ecx+38h] mov ecx,[L006A9D98] lea edx,[eax+eax*4] xor eax,eax mov ax,[ecx+edx*8+0Ch] cmp eax,00000190h jl L00483F6D cmp eax,000003E8h jge L00483F6D mov ecx,[ebp-08h] test ecx,ecx jz L00483EA2 cmp ecx,00000006h jz L00483EA2 and eax,0000FFFFh and ecx,00000007h mov edx,eax shl edx,03h sub edx,eax mov eax,[L004C6768+ecx*4] lea edx,[edx+edx*4] lea edx,[edx+edx*4] lea eax,[eax+edx-000088A4h] jmp L00483EC5 L00483EA2: and eax,0000FFFFh and ecx,00000007h mov edx,eax shl edx,03h sub edx,eax mov eax,[L004C6768+ecx*4] lea edx,[edx+edx*4] lea edx,[edx+edx*4] lea eax,[eax+edx-0000883Bh] L00483EC5: lea ecx,[ebp-20h] lea edx,[ebp-24h] push ecx push edx push eax push 00000006h push 00000005h mov ecx,L006AA860 call SUB_L00446620 test eax,eax jz L00483F6D mov ecx,[eax+00000204h] mov [ebp-14h],eax add eax,00000200h test ecx,ecx jz L00483F6D lea eax,[eax+ecx+08h] mov ecx,[esi+edi*4+000000C4h] xor edi,edi mov [ebp-10h],eax mov di,[ecx+3Eh] mov ecx,[L0073EBE4] mov edx,[ecx] call [edx+00000090h] mov ebx,eax mov eax,[esi] mov ecx,esi call [eax+00000090h] cmp ebx,eax jz L00483F2F mov edi,000003B2h jmp L00483F57 L00483F2F: mov ecx,[ebp-1Ch] xor eax,eax mov edx,[esi+ecx*4+000000C4h] mov ecx,[L006A9D98] mov ax,[edx+38h] lea eax,[eax+eax*4] test dword ptr [ecx+eax*8],00040000h jz L00483F57 or edi,00008000h L00483F57: mov edx,[ebp-10h] mov eax,[ebp-14h] push edx push eax push edi mov ecx,L00740150 call SUB_L00482D00 mov ebx,[ebp-0Ch] L00483F6D: inc ebx cmp ebx,00000019h mov [ebp-0Ch],ebx jl L00483DDF L00483F7A: mov ecx,[ebp+0Ch] mov edx,[ebp+08h] push ecx push edx mov ecx,L00740150 call SUB_L00482C50 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L00483FA0: push ebp mov ebp,esp sub esp,00000020h push ebx push esi mov esi,ecx xor eax,eax lea ecx,[ebp-08h] push edi mov al,[esi+6Eh] push ecx mov ecx,L00740150 mov [ebp-08h],eax call SUB_L00483120 movsx edx,[esi+22h] movsx ecx,[esi+20h] mov eax,[L006AABAC] sub eax,edx add eax,ecx lea edi,[eax+eax*4] lea eax,[eax+edi*2] mov edi,[L006BAE84] lea ebx,[edi+eax*2+01h] mov eax,[esi+00000190h] mov edi,00000005h mov [ebp-20h],ebx sub edi,eax lea eax,[edx+ecx] lea ecx,[eax+eax*4] lea edx,[eax+ecx*2] shl edx,1 lea eax,[edx+edi*4] mov edx,[esi] mov [esi+000000B4h],eax mov ecx,[L006BAE88] add ecx,eax mov [ebp-04h],ecx mov ecx,esi call [edx+00000088h] mov edx,[ebp-08h] mov ax,[esi+38h] test edx,edx jz L00484052 cmp edx,00000006h jz L00484052 and eax,0000FFFFh mov edi,edx mov ecx,eax and edi,00000007h shl ecx,03h sub ecx,eax lea ecx,[ecx+ecx*4] lea eax,[ecx+ecx*4] mov ecx,[L004C6768+edi*4] lea eax,[ecx+eax-000088A4h] jmp L00484077 L00484052: and eax,0000FFFFh mov edi,edx mov ecx,eax and edi,00000007h shl ecx,03h sub ecx,eax lea ecx,[ecx+ecx*4] lea eax,[ecx+ecx*4] mov ecx,[L004C6768+edi*4] lea eax,[ecx+eax-0000883Bh] L00484077: mov edx,[L004C6788+edx*4] lea ecx,[ebp-18h] mov [ebp-10h],edx lea edx,[ebp-1Ch] push ecx push edx push eax push 00000006h push 00000005h mov ecx,L006AA860 call SUB_L00446620 test eax,eax jnz L004840B2 mov eax,[ebp-04h] mov [esi+0Ch],ebx mov [esi+08h],eax mov [esi+10h],eax mov [esi+04h],ebx pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L004840B2: mov cx,[eax+00000200h] add eax,00000200h test cx,cx mov [esi+000001AAh],cx ja L004840E0 mov eax,[ebp-04h] mov [esi+0Ch],ebx mov [esi+08h],eax mov [esi+10h],eax mov [esi+04h],ebx pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L004840E0: mov ecx,[eax+04h] test ecx,ecx jnz L004840FD mov eax,[ebp-04h] mov [esi+0Ch],ebx mov [esi+08h],eax mov [esi+10h],eax mov [esi+04h],ebx pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L004840FD: mov di,[eax+ecx+02h] mov dx,[eax+ecx] mov [ebp-14h],di mov di,[eax+ecx+04h] mov ax,[eax+ecx+06h] mov [ebp-0Ch],ax mov eax,[ebp-10h] test eax,eax jz L00484125 mov ecx,edi sub ecx,edx mov edx,ecx L00484125: movsx ecx,[ebp-14h] mov eax,[ebp-04h] mov dword ptr [esi+000000B8h],00000000h movsx edx,dx sub eax,ecx mov ecx,ebx sub ecx,edx mov [esi+10h],eax movsx edx,[ebp-0Ch] sub eax,edx lea ebx,[esi+000000C8h] mov [esi+08h],eax mov [esi+04h],ecx movsx eax,di add eax,ecx mov edi,00000001h mov [esi+0Ch],eax mov [ebp-0Ch],edi mov [ebp-14h],ebx L00484167: cmp edi,00000015h jz L00484299 cmp dword ptr [ebx],00000000h jz L00484299 lea edx,[esi+000000C4h] mov ecx,edi call SUB_L00477CC0 test eax,eax jnz L00484299 mov ecx,[ebx] mov ax,[ecx+38h] mov ecx,[L006A9D98] lea edx,[eax+eax*4] xor eax,eax mov ax,[ecx+edx*8+0Ch] cmp eax,00000190h jl L00484299 cmp eax,000003E8h jge L00484299 mov ecx,[ebp-08h] test ecx,ecx jz L004841EB cmp ecx,00000006h jz L004841EB and eax,0000FFFFh and ecx,00000007h mov edx,eax shl edx,03h sub edx,eax lea eax,[edx+edx*4] lea edx,[eax+eax*4] mov eax,[L004C6768+ecx*4] lea eax,[eax+edx-000088A4h] jmp L0048420E L004841EB: and eax,0000FFFFh and ecx,00000007h mov edx,eax shl edx,03h sub edx,eax lea eax,[edx+edx*4] lea edx,[eax+eax*4] mov eax,[L004C6768+ecx*4] lea eax,[eax+edx-0000883Bh] L0048420E: lea ecx,[ebp-18h] lea edx,[ebp-1Ch] push ecx push edx push eax push 00000006h push 00000005h mov ecx,L006AA860 call SUB_L00446620 test eax,eax jz L00484299 mov ecx,[eax+00000204h] add eax,00000200h test ecx,ecx jz L00484299 mov di,[eax+ecx] mov dx,[eax+ecx+02h] mov bx,[eax+ecx+04h] mov ax,[eax+ecx+06h] mov ecx,[ebp-10h] test ecx,ecx jz L00484258 mov ecx,ebx sub ecx,edi mov edi,ecx L00484258: movsx ecx,dx mov edx,[ebp-04h] movsx edi,di sub edx,ecx mov ecx,[ebp-20h] movsx eax,ax sub ecx,edi mov edi,edx sub edi,eax movsx eax,bx mov ebx,[esi+0Ch] add eax,ecx cmp eax,ebx jle L0048427E mov [esi+0Ch],eax L0048427E: cmp ecx,[esi+04h] jge L00484286 mov [esi+04h],ecx L00484286: cmp edx,[esi+10h] jle L0048428E mov [esi+10h],edx L0048428E: cmp edi,[esi+08h] jge L00484296 mov [esi+08h],edi L00484296: mov edi,[ebp-0Ch] L00484299: mov ebx,[ebp-14h] inc edi add ebx,00000004h cmp edi,0000001Ah mov [ebp-0Ch],edi mov [ebp-14h],ebx jl L00484167 mov ebx,[esi+08h] mov ecx,[esi+04h] mov edi,[esi+10h] mov edx,[esi+0Ch] mov eax,FFFFFFF0h add edi,00000020h add ebx,eax add ecx,eax mov [esi+08h],ebx mov ebx,[esi+000001C0h] xor eax,eax add edx,00000010h cmp ebx,eax mov [esi+04h],ecx mov [esi+10h],edi mov [esi+0Ch],edx mov [esi+000001CCh],eax mov [esi+000001C8h],eax jz L00484365 L004842EE: xor ecx,ecx mov cx,[ebx+000000DAh] add ecx,00004000h push ecx mov ecx,L006A9DB8 call SUB_L004882D0 mov di,[eax+06h] mov edx,[esi+0Ch] movsx eax,[eax+04h] mov ecx,[esi+04h] sub eax,edx add eax,ecx test eax,eax jle L00484330 sar eax,1 add [esi+000001C8h],eax sub ecx,eax add eax,edx mov [esi+04h],ecx mov [esi+0Ch],eax L00484330: mov edx,[esi+10h] mov ecx,[esi+08h] movsx eax,di sub eax,edx add eax,ecx test eax,eax jle L0048435B mov edi,[esi+000001CCh] sar eax,1 add edi,eax sub ecx,eax add eax,edx mov [esi+000001CCh],edi mov [esi+08h],ecx mov [esi+10h],eax L0048435B: mov ebx,[ebx+00000100h] test ebx,ebx jnz L004842EE L00484365: pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 SUB_L00484370: push ebp mov ebp,esp sub esp,00000034h push ebx push esi mov esi,ecx xor eax,eax lea ecx,[ebp-04h] push edi mov al,[esi+6Eh] push ecx mov ecx,L00740150 mov [ebp-04h],eax call SUB_L00483120 mov edx,[ebp+08h] mov edi,[L006AABAC] mov ebx,[esi+000000B4h] mov eax,[edx] mov [ebp-24h],eax mov ecx,[edx+04h] mov [ebp-20h],ecx mov eax,[edx+08h] mov [ebp-1Ch],eax mov ecx,[edx+0Ch] movsx edx,[esi+22h] movsx eax,[esi+20h] sub eax,edx mov [ebp-18h],ecx add eax,edi lea ecx,[eax+eax*4] lea edx,[eax+ecx*2] mov eax,[L006BAE84] lea ecx,[eax+edx*2+01h] mov edx,[L006BAE88] add ebx,edx mov edx,[esi] mov [ebp-08h],ecx mov ecx,esi call [edx+00000088h] mov edx,[ebp-04h] mov ax,[esi+38h] test edx,edx jz L0048441E cmp edx,00000006h jz L0048441E and eax,0000FFFFh mov edi,edx mov ecx,eax and edi,00000007h shl ecx,03h sub ecx,eax lea eax,[ecx+ecx*4] mov ecx,[L004C6768+edi*4] lea eax,[eax+eax*4] lea eax,[ecx+eax-000088A4h] jmp L00484443 L0048441E: and eax,0000FFFFh mov edi,edx mov ecx,eax and edi,00000007h shl ecx,03h sub ecx,eax lea eax,[ecx+ecx*4] mov ecx,[L004C6768+edi*4] lea eax,[eax+eax*4] lea eax,[ecx+eax-0000883Bh] L00484443: mov edi,[L004C6788+edx*4] lea edx,[ebp-10h] lea ecx,[ebp-14h] push edx push ecx push eax push 00000006h push 00000005h mov ecx,L006AA860 call SUB_L00446620 test eax,eax jz L00484744 mov cx,[eax+00000200h] mov [ebp+08h],eax add eax,00000200h mov [esi+000001AAh],cx test cx,cx jbe L00484744 mov ecx,[eax+04h] test ecx,ecx jnz L004844A7 mov eax,[ebp-08h] mov [esi+08h],ebx mov [esi+10h],ebx mov [esi+0Ch],eax mov [esi+04h],eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L004844A7: lea edx,[eax+ecx+08h] mov al,[esi+00000098h] mov [ebp-0Ch],edx xor edx,edx mov dx,[esi+3Eh] test al,80h jz L004844C3 mov edx,000003B2h L004844C3: mov ecx,[ebp-04h] lea eax,[ebp-24h] mov [L00740154],eax mov [L00764160],edi mov [L00764164],ecx mov ecx,00001000h xor eax,eax mov edi,L00740158 rep stosd mov eax,[ebp-08h] mov edi,[L004DAF40] sub eax,edi mov ecx,[ebp+08h] sub eax,00000020h mov [L00764158],eax mov eax,[L004DAF44] sub ebx,eax mov eax,[ebp-0Ch] push eax sub ebx,00000050h push ecx push edx mov ecx,L00740150 mov [L0076415C],ebx call SUB_L00482D00 mov eax,[esi+0000011Ch] mov dword ptr [ebp-08h],00000000h test eax,eax jz L0048453E cmp word ptr [eax+38h],204Eh jnz L0048453E mov dword ptr [ebp-08h],00000001h L0048453E: mov ebx,00000001h mov [ebp-0Ch],ebx L00484546: mov eax,[ebp-04h] lea eax,[eax+eax*4] lea edx,[ebx+eax*4] add eax,edx mov edi,[L004C63F8+eax*4] cmp edi,00000015h jz L004846A4 mov eax,[esi+edi*4+000000C4h] test eax,eax jz L004846A4 lea edx,[esi+000000C4h] mov ecx,edi call SUB_L00477CC0 test eax,eax jnz L004846A4 cmp dword ptr [ebp-08h],00000001h jnz L0048459F mov ecx,[esi+edi*4+000000C4h] call SUB_L00432D40 test eax,eax jnz L004846A4 L0048459F: mov ecx,[esi+edi*4+000000C4h] xor eax,eax mov ax,[ecx+38h] mov ecx,[L006A9D98] lea edx,[eax+eax*4] xor eax,eax mov ax,[ecx+edx*8+0Ch] cmp eax,00000190h jl L004846A4 cmp eax,000003E8h jge L004846A4 mov ecx,[ebp-04h] test ecx,ecx jz L00484603 cmp ecx,00000006h jz L00484603 and eax,0000FFFFh and ecx,00000007h mov edx,eax shl edx,03h sub edx,eax mov eax,[L004C6768+ecx*4] lea edx,[edx+edx*4] lea edx,[edx+edx*4] lea eax,[eax+edx-000088A4h] jmp L00484626 L00484603: and eax,0000FFFFh and ecx,00000007h mov edx,eax shl edx,03h sub edx,eax mov eax,[L004C6768+ecx*4] lea edx,[edx+edx*4] lea edx,[edx+edx*4] lea eax,[eax+edx-0000883Bh] L00484626: lea ecx,[ebp-10h] lea edx,[ebp-14h] push ecx push edx push eax push 00000006h push 00000005h mov ecx,L006AA860 call SUB_L00446620 test eax,eax jz L004846A4 mov ecx,[eax+00000204h] mov [ebp+08h],eax add eax,00000200h test ecx,ecx jz L004846A4 mov dl,[esi+00000098h] lea ebx,[eax+ecx+08h] mov ecx,[esi+edi*4+000000C4h] xor eax,eax test dl,80h mov ax,[ecx+3Eh] jz L00484676 mov eax,000003B2h jmp L00484691 L00484676: xor edx,edx mov dx,[ecx+38h] lea ecx,[edx+edx*4] mov edx,[L006A9D98] test dword ptr [edx+ecx*8],00040000h jz L00484691 or ah,80h L00484691: mov ecx,[ebp+08h] push ebx push ecx push eax mov ecx,L00740150 call SUB_L00482D00 mov ebx,[ebp-0Ch] L004846A4: inc ebx cmp ebx,00000019h mov [ebp-0Ch],ebx jl L00484546 push esi mov ecx,L00740150 call SUB_L00482A10 mov edi,[esi+000001C0h] test edi,edi jz L00484744 L004846C6: xor edx,edx mov ecx,L006A9DB8 mov dx,[edi+000000DAh] add edx,00004000h push edx call SUB_L004882D0 mov cx,[eax+04h] mov bx,[eax+06h] mov eax,[esi+04h] movsx edx,cx mov ecx,[esi+0Ch] add eax,ecx mov ecx,edx sar eax,1 sar ecx,1 sub eax,ecx mov ecx,[esi+08h] add ecx,[esi+10h] mov [ebp-34h],eax movsx ebx,bx mov [ebp+08h],ebx add eax,edx mov edx,[ebp+08h] mov [ebp-2Ch],eax sar ecx,1 sar ebx,1 sub ecx,ebx lea eax,[ebp-24h] mov [ebp-30h],ecx add ecx,edx mov [ebp-28h],ecx mov dl,[edi+000000D0h] lea ecx,[ebp-34h] push eax push ecx mov cx,[edi+000000DAh] call SUB_L0043D0F0 mov edi,[edi+00000100h] test edi,edi jnz L004846C6 L00484744: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 4 L00484750: push ebp mov ebp,esp sub esp,00000028h push ebx push esi mov esi,ecx xor eax,eax lea ecx,[ebp-04h] push edi mov al,[esi+6Eh] push ecx mov ecx,L00740150 mov [ebp-04h],eax call SUB_L00483120 movsx edx,[esi+22h] movsx eax,[esi+20h] mov ebx,[L006AABAC] sub eax,edx add eax,ebx mov ebx,[esi+000000B4h] xor edi,edi mov dword ptr [ebp-20h],00000280h lea ecx,[eax+eax*4] mov [ebp-24h],edi mov [ebp-28h],edi mov dword ptr [ebp-1Ch],000001E0h lea edx,[eax+ecx*2] mov eax,[L006BAE84] lea ecx,[eax+edx*2+01h] mov edx,[L006BAE88] add ebx,edx mov edx,[esi] mov [ebp-0Ch],ecx mov ecx,esi call [edx+00000088h] mov edx,[ebp-04h] mov ax,[esi+38h] cmp edx,edi jz L004847FA cmp edx,00000006h jz L004847FA and eax,0000FFFFh mov edi,edx mov ecx,eax and edi,00000007h shl ecx,03h sub ecx,eax lea eax,[ecx+ecx*4] mov ecx,[L004C6768+edi*4] lea eax,[eax+eax*4] lea eax,[ecx+eax-000088A4h] jmp L0048481F L004847FA: and eax,0000FFFFh mov edi,edx mov ecx,eax and edi,00000007h shl ecx,03h sub ecx,eax lea eax,[ecx+ecx*4] mov ecx,[L004C6768+edi*4] lea eax,[eax+eax*4] lea eax,[ecx+eax-0000883Bh] L0048481F: mov edi,[L004C6788+edx*4] lea edx,[ebp-14h] lea ecx,[ebp-18h] push edx push ecx push eax push 00000006h push 00000005h mov ecx,L006AA860 call SUB_L00446620 test eax,eax jnz L0048484A pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L0048484A: mov cx,[eax+00000200h] mov [ebp-08h],eax add eax,00000200h mov [esi+000001AAh],cx test cx,cx ja L00484870 xor eax,eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L00484870: mov ecx,[eax+04h] test ecx,ecx jnz L00484891 mov eax,[ebp-0Ch] mov [esi+08h],ebx mov [esi+0Ch],eax mov [esi+04h],eax mov [esi+10h],ebx xor eax,eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L00484891: lea edx,[eax+ecx+08h] mov al,[esi+00000098h] mov [ebp-10h],edx xor edx,edx mov dx,[esi+3Eh] test al,80h jz L004848AD mov edx,000003B2h L004848AD: mov ecx,[ebp-04h] lea eax,[ebp-28h] mov [L00740154],eax mov [L00764160],edi mov [L00764164],ecx mov ecx,00001000h xor eax,eax mov edi,L00740158 rep stosd mov eax,[ebp-0Ch] mov edi,[L004DAF40] sub eax,edi mov ecx,[ebp-08h] sub eax,00000020h mov [L00764158],eax mov eax,[L004DAF44] sub ebx,eax mov eax,[ebp-10h] push eax sub ebx,00000050h push ecx push edx mov ecx,L00740150 mov [L0076415C],ebx call SUB_L00482D00 mov eax,[esi+0000011Ch] mov dword ptr [ebp-0Ch],00000000h test eax,eax jz L00484928 cmp word ptr [eax+38h],204Eh jnz L00484928 mov dword ptr [ebp-0Ch],00000001h L00484928: mov ebx,00000001h mov [ebp-10h],ebx L00484930: mov eax,[ebp-04h] lea eax,[eax+eax*4] lea edx,[ebx+eax*4] add eax,edx mov edi,[L004C63F8+eax*4] cmp edi,00000015h jz L00484A8E mov eax,[esi+edi*4+000000C4h] test eax,eax jz L00484A8E lea edx,[esi+000000C4h] mov ecx,edi call SUB_L00477CC0 test eax,eax jnz L00484A8E cmp dword ptr [ebp-0Ch],00000001h jnz L00484989 mov ecx,[esi+edi*4+000000C4h] call SUB_L00432D40 test eax,eax jnz L00484A8E L00484989: mov ecx,[esi+edi*4+000000C4h] xor eax,eax mov ax,[ecx+38h] mov ecx,[L006A9D98] lea edx,[eax+eax*4] xor eax,eax mov ax,[ecx+edx*8+0Ch] cmp eax,00000190h jl L00484A8E cmp eax,000003E8h jge L00484A8E mov ecx,[ebp-04h] test ecx,ecx jz L004849ED cmp ecx,00000006h jz L004849ED and eax,0000FFFFh and ecx,00000007h mov edx,eax shl edx,03h sub edx,eax lea eax,[edx+edx*4] lea edx,[eax+eax*4] mov eax,[L004C6768+ecx*4] lea eax,[eax+edx-000088A4h] jmp L00484A10 L004849ED: and eax,0000FFFFh and ecx,00000007h mov edx,eax shl edx,03h sub edx,eax lea eax,[edx+edx*4] lea edx,[eax+eax*4] mov eax,[L004C6768+ecx*4] lea eax,[eax+edx-0000883Bh] L00484A10: lea ecx,[ebp-14h] lea edx,[ebp-18h] push ecx push edx push eax push 00000006h push 00000005h mov ecx,L006AA860 call SUB_L00446620 test eax,eax jz L00484A8E mov ecx,[eax+00000204h] mov [ebp-08h],eax add eax,00000200h test ecx,ecx jz L00484A8E mov dl,[esi+00000098h] lea ebx,[eax+ecx+08h] mov ecx,[esi+edi*4+000000C4h] xor eax,eax test dl,80h mov ax,[ecx+3Eh] jz L00484A60 mov eax,000003B2h jmp L00484A7B L00484A60: xor edx,edx mov dx,[ecx+38h] lea ecx,[edx+edx*4] mov edx,[L006A9D98] test dword ptr [edx+ecx*8],00040000h jz L00484A7B or ah,80h L00484A7B: mov ecx,[ebp-08h] push ebx push ecx push eax mov ecx,L00740150 call SUB_L00482D00 mov ebx,[ebp-10h] L00484A8E: inc ebx cmp ebx,00000019h mov [ebp-10h],ebx jl L00484930 mov edx,[ebp+0Ch] mov eax,[ebp+08h] push edx push eax mov ecx,L00740150 call SUB_L00482C50 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L00484AC0: push ebx push esi push edi or ecx,FFFFFFFFh mov edi,SSZ004CECE8_Magic_Defense xor eax,eax repne scasb not ecx sub edi,ecx mov dword ptr [L00767188],00000009h mov eax,ecx mov esi,edi shr ecx,02h mov edi,L00764170 rep movsd mov ecx,eax xor eax,eax and ecx,00000003h rep movsb or ecx,FFFFFFFFh mov edi,SSZ004CECD8_Battle_Defense repne scasb not ecx sub edi,ecx mov edx,ecx mov esi,edi shr ecx,02h mov edi,L007641C0 rep movsd mov ecx,edx and ecx,00000003h rep movsb or ecx,FFFFFFFFh mov edi,SSZ004CECCC_Stealing repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,L00764210 shr ecx,02h rep movsd mov ecx,eax xor eax,eax and ecx,00000003h rep movsb mov edi,SSZ004CECC4_Hiding or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov edx,ecx mov esi,edi mov edi,L00764260 shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb mov edi,SSZ004CECB8_First_Aid or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,L007642B0 shr ecx,02h rep movsd mov ecx,eax xor eax,eax and ecx,00000003h rep movsb mov edi,SSZ004CECB0_Peek or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov esi,edi mov edx,ecx mov edi,L00764300 shr ecx,02h rep movsd mov ecx,edx mov ebx,00000001h and ecx,00000003h push L004C40E0 rep movsb or ecx,FFFFFFFFh mov edi,SSZ004CECA8_Melee repne scasb not ecx sub edi,ecx push SSZ004CEC98_skillgrp_mul mov eax,ecx mov esi,edi shr ecx,02h mov edi,L00764350 mov [L00765110],ebx rep movsd mov ecx,eax xor eax,eax and ecx,00000003h rep movsb mov edi,SSZ004CEC88_Ranged_Weapons or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov edx,ecx mov esi,edi mov edi,L007643A0 shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb mov edi,SSZ004CEC80_Alchemy or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,L007643F0 shr ecx,02h rep movsd mov ecx,eax xor eax,eax and ecx,00000003h rep movsb mov edi,SSZ004CEC70_Miscellaneous or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov edx,ecx mov esi,edi mov edi,L00767190 shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb mov ecx,L006BB1C8 call SUB_L00455E10 push eax call SUB_L0049A7F0 mov edi,eax add esp,00000008h test edi,edi jz L00484CC8 push edi push ebx push 00000004h push L00765110 call SUB_L0049A630 mov eax,[L00765110] add esp,00000010h cmp eax,ebx mov esi,ebx jle L00484CA1 mov ebx,L007671A1 L00484C86: push edi push 00000011h push 00000001h push ebx call SUB_L0049A630 mov eax,[L00765110] add esp,00000010h inc esi add ebx,00000011h cmp esi,eax jl L00484C86 L00484CA1: mov esi,L00767260 L00484CA6: push edi push 00000001h push 00000004h push esi call SUB_L0049A630 add esi,00000004h add esp,00000010h cmp esi,L00767328 jl L00484CA6 push edi call SUB_L0049A580 add esp,00000004h L00484CC8: pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ Align 8 SUB_L00484CD0: push ebx push esi push edi push L004C61C8 push SSZ004CEC98_skillgrp_mul mov ecx,L006BB1C8 call SUB_L00455E10 push eax call SUB_L0049A7F0 add esp,00000008h mov edi,eax mov esi,00000001h push edi push esi push 00000004h push L00765110 call SUB_L0049B520 mov eax,[L00765110] add esp,00000010h cmp eax,esi jle L00484D31 mov ebx,L007671A1 L00484D16: push edi push 00000011h push 00000001h push ebx call SUB_L0049B520 mov eax,[L00765110] add esp,00000010h inc esi add ebx,00000011h cmp esi,eax jl L00484D16 L00484D31: mov esi,L00767260 L00484D36: push edi push 00000001h push 00000004h push esi call SUB_L0049B520 add esi,00000004h add esp,00000010h cmp esi,L00767328 jl L00484D36 push edi call SUB_L0049A580 add esp,00000004h pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ Align 8 SUB_L00484D60: push ebp mov ebp,esp sub esp,00000038h push ebx push esi mov esi,[ebp+08h] xor eax,eax push edi mov [ebp-14h],edx mov ax,[esi] xor edi,edi mov di,[esi+02h] mov [ebp-20h],eax lea eax,[ebp-1Ch] mov ebx,ecx push eax lea edx,[ebp-18h] mov dword ptr [ebp-04h],00000000h call SUB_L004390A0 mov ecx,[ebp-14h] lea edx,[ebp+08h] push edx lea edx,[ebp-28h] lea ecx,[ecx+ebx+01h] mov [ebp-24h],ecx call SUB_L004390A0 mov ecx,[ebp+08h] mov eax,[ebp+10h] sub edi,ecx xor ecx,ecx mov cx,[esi+02h] xor edx,edx mov dx,[esi] sub edi,eax mov [ebp+08h],edi mov edi,[ebp+0Ch] lea eax,[esi+04h] push ecx push edx push eax push edi push 00000000h mov edx,ebx mov ecx,SUB_L00488700 mov [ebp-10h],eax call SUB_L00439100 inc ebx lea eax,[ebp-08h] push eax lea edx,[ebp-0Ch] mov ecx,ebx mov [ebp+0Ch],ebx call SUB_L004390A0 mov ecx,[ebp-0Ch] mov eax,[ebp-18h] cmp ecx,eax jge L00484E01 sub eax,ecx cdq sub eax,edx sar eax,1 mov [ebp-04h],eax L00484E01: test ecx,ecx jz L00484F0C mov eax,[ebp-1Ch] xor ecx,ecx mov [ebp-34h],eax mov [ebp+10h],ecx lea edi,[eax+edi-01h] mov eax,[ebp+08h] mov [ebp-38h],ecx mov ecx,[ebp-20h] lea edx,[eax+01h] cmp edi,eax mov [ebp-30h],ecx mov [ebp-2Ch],edx jge L00484EC4 jmp L00484E37 L00484E34: mov ebx,[ebp+0Ch] L00484E37: mov eax,[ebp+10h] lea ecx,[ebp-08h] add ebx,eax push ecx lea edx,[ebp-0Ch] mov ecx,ebx call SUB_L004390A0 mov edx,[ebp-08h] mov ecx,[ebp+08h] lea eax,[edi+edx] cmp eax,ecx jg L00484E7B mov eax,[ebp-10h] xor ecx,ecx mov cx,[esi+02h] xor edx,edx mov dx,[esi] push ecx mov ecx,[ebp-04h] push edx push eax push edi push ecx mov edx,ebx mov ecx,SUB_L00488700 call SUB_L00439100 jmp L00484EA1 L00484E7B: mov ecx,[ebp-10h] xor edx,edx mov dx,[esi+02h] xor eax,eax mov ax,[esi] push edx mov edx,[ebp-04h] push eax push ecx push edi lea eax,[ebp-38h] push edx push eax mov edx,ebx mov ecx,SUB_L00488700 call SUB_L00439290 L00484EA1: mov ebx,[ebp-08h] mov eax,[ebp+10h] mov ecx,[ebp-14h] add edi,ebx inc eax cmp eax,ecx mov [ebp+10h],eax jnz L00484EBB mov dword ptr [ebp+10h],00000000h L00484EBB: cmp edi,[ebp+08h] jl L00484E34 L00484EC4: mov edi,[ebp-24h] lea ecx,[ebp-08h] push ecx lea edx,[ebp-0Ch] mov ecx,edi call SUB_L004390A0 mov edx,[ebp-0Ch] mov eax,[ebp-18h] cmp edx,eax jnz L00484EE6 mov dword ptr [ebp-04h],00000000h L00484EE6: mov edx,[ebp-10h] xor eax,eax mov ax,[esi+02h] xor ecx,ecx mov cx,[esi] push eax mov eax,[ebp+08h] push ecx mov ecx,[ebp-04h] dec eax push edx push eax push ecx mov edx,edi mov ecx,SUB_L00488700 call SUB_L00439100 L00484F0C: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 16 SUB_L00484F20: push ebp mov ebp,esp push FFFFFFFFh push L004B4F4A mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000018h push ebx push esi mov ebx,ecx push edi mov [ebp-20h],ebx call SUB_L00441CB0 xor esi,esi mov dword ptr [ebx],L004BC4A8 mov [ebp-04h],esi call SUB_L004156A0 lea edi,[ebx+00000120h] mov ecx,00000019h xor eax,eax mov [ebp-14h],esi rep stosd mov [ebx+00000184h],esi mov dword ptr [ebx+04h],SSZ004CED14_skill_gump mov [ebx+5Ch],esi mov [ebx+00000114h],esi mov [ebx+00000110h],esi mov [ebx+0000010Ch],esi mov [ebx+00000108h],esi mov [ebx+0000011Ch],esi mov [ebx+00000118h],esi mov eax,[L00669684] cmp eax,esi mov [ebp-1Ch],esi mov [ebp-18h],esi jz L00485075 mov edi,[L0066968C] xor ecx,ecx cmp edi,esi jle L0048502A mov eax,L00669690 L00484FC2: cmp byte ptr [eax],04h jz L00484FD1 inc ecx add eax,0000001Ch cmp ecx,edi jl L00484FC2 jmp L0048502A L00484FD1: mov eax,ecx mov dword ptr [ebp-14h],00000001h shl eax,03h sub eax,ecx shl eax,02h mov edx,[eax+L006696A4] mov [ebx+2Ch],edx mov edx,[eax+L006696A8] mov [ebx+30h],edx mov edx,[eax+L00669698] mov [ebx+60h],edx mov edx,[ebp+08h] mov [ebx+7Ch],edx mov edx,[ebp+0Ch] mov [ebx+00000080h],edx xor edx,edx mov dx,[eax+L0066969E] mov edi,[L0066968C] mov [ebp-1Ch],edx xor edx,edx mov dx,[eax+L006696A0] mov [ebp-18h],edx L0048502A: cmp ecx,edi jge L00485081 lea eax,[edi-01h] mov edx,ecx cmp ecx,eax jge L00485064 mov eax,ecx shl eax,03h sub eax,ecx lea eax,[L00669690+eax*4] L00485045: lea esi,[eax+1Ch] mov ecx,00000007h mov edi,eax inc edx rep movsd mov edi,[L0066968C] add eax,0000001Ch lea ecx,[edi-01h] cmp edx,ecx jl L00485045 xor esi,esi L00485064: dec edi mov [L0066968C],edi jnz L00485081 mov [L00669684],esi jmp L00485081 L00485075: mov edx,[ebp+08h] mov eax,[ebp+0Ch] mov [ebx+2Ch],edx mov [ebx+30h],eax L00485081: mov [ebx+34h],esi mov [ebx+4Ch],esi mov [ebx+48h],esi mov [ebx+44h],esi mov [ebx+40h],esi mov [ebx+3Ch],esi mov ecx,[L00765110] xor eax,eax cmp ecx,esi jle L004850C2 lea edx,[ebx+000000B0h] L004850A5: mov [edx],esi mov ecx,[L00765110] inc eax add edx,00000004h cmp eax,ecx jl L004850A5 cmp ecx,esi jle L004850C2 xor eax,eax mov edi,L00767158 rep stosd L004850C2: mov dword ptr [ebx+000000ACh],00000001h mov [ebx+000000E8h],esi mov [ebx+000000ECh],esi mov ecx,[L00765110] mov [ebx+00000100h],ecx mov [ebx+000000FCh],esi mov edi,[L00767188] xor eax,eax cmp edi,esi jle L00485116 mov esi,L00765118 L004850FB: mov dl,[eax+L00767328] and dl,02h neg dl sbb edx,edx add esi,00000004h neg edx dec edx inc eax mov [esi-04h],edx cmp eax,edi jl L004850FB L00485116: lea esi,[ebx+20h] lea edi,[ebx+1Ch] or eax,FFFFFFFFh mov ecx,00000820h push esi mov edx,edi mov [ebx+00000104h],eax mov [ebx+000000F4h],eax mov dword ptr [ebx+000000F8h],FFFFFFFEh mov [ebx+50h],ecx call SUB_L004390A0 mov eax,[edi] lea edx,[ebx+24h] mov [ebx+18h],eax lea eax,[ebx+28h] push eax mov ecx,00000839h mov dword ptr [esi],0000012Ch call SUB_L004390A0 push SSZ004CECF8_framedata_for_CSkillGump push 00000010h mov ecx,L00669C8C mov dword ptr [ebx+10h],00000000h mov dword ptr [ebx+14h],00000002h call SUB_L0044FBD0 mov ecx,[ebx+14h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [ebx+38h],edi push SSZ004CE4F4_shopgump_frame rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi] imul eax,[ebx+1Ch] lea ecx,[eax+eax+04h] push ecx mov ecx,L00669C8C call SUB_L0044FBD0 mov edx,[ebx+38h] push SSZ004C4C08_cfg_frame1 mov [edx+04h],eax mov ecx,[esi] imul ecx,[ebx+1Ch] mov edx,[ebx+38h] xor eax,eax shl ecx,1 mov edi,[edx+04h] mov edx,ecx add edi,00000004h shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[ebx+38h] mov dx,[ebx+1Ch] mov ecx,[eax+04h] mov [ecx],dx mov eax,[ebx+38h] mov dx,[esi] mov ecx,[eax+04h] mov [ecx+02h],dx mov eax,[ebx+28h] imul eax,[ebx+24h] lea ecx,[eax+eax+04h] push ecx mov ecx,L00669C8C call SUB_L0044FBD0 mov edx,[ebx+38h] mov [edx+0Ch],eax mov ecx,[ebx+28h] imul ecx,[ebx+24h] mov edx,[ebx+38h] shl ecx,1 mov edi,[edx+0Ch] xor eax,eax mov edx,ecx add edi,00000004h shr ecx,02h rep stosd mov ecx,edx push 000000CCh and ecx,00000003h rep stosb mov eax,[ebx+38h] mov dx,[ebx+24h] mov ecx,[eax+0Ch] mov [ecx],dx mov eax,[ebx+38h] mov dx,[ebx+28h] mov ecx,[eax+0Ch] mov [ecx+02h],dx call SUB_L0049A820 add esp,00000004h mov [ebp+08h],eax test eax,eax mov byte ptr [ebp-04h],01h jz L00485292 push 00000000h push 0000082Dh push 0000082Dh push SUB_L0040D6E0 push 00000000h push 00000000h push ebx push 00000000h push 00000089h mov ecx,eax call SUB_L004122F0 jmp L00485294 L00485292: xor eax,eax L00485294: push 00000001h push ebx mov ecx,eax mov byte ptr [ebp-04h],00h call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp+08h],eax test eax,eax mov byte ptr [ebp-04h],02h jz L004852E0 push 00000000h push 00000824h push 00000824h push SUB_L0040E070 push 00000000h push 00000002h push ebx push 00000038h push 000000F9h mov ecx,eax call SUB_L004122F0 jmp L004852E2 L004852E0: xor eax,eax L004852E2: push 00000001h push ebx mov ecx,eax mov byte ptr [ebp-04h],00h call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp+08h],eax test eax,eax mov byte ptr [ebp-04h],03h jz L00485332 mov ecx,[esi] push 00000000h push 0000083Ah push 0000083Ah push L0040E1D0 push 00000000h push 00000000h sub ecx,00000038h push ebx push ecx push 000000B4h mov ecx,eax call SUB_L004122F0 jmp L00485334 L00485332: xor eax,eax L00485334: push 00000001h push ebx mov ecx,eax mov byte ptr [ebp-04h],00h mov dword ptr [eax+000000C0h],00000000h call SUB_L004415C0 lea edx,[ebp-10h] mov ecx,0000082Eh push edx lea edx,[ebp-24h] call SUB_L004390A0 mov eax,[esi] mov edx,[ebp-10h] sub eax,edx push 000000CCh sub eax,00000046h mov dword ptr [ebx+0000009Ch],0000001Ch mov dword ptr [ebx+000000A4h],000000FFh mov dword ptr [ebx+000000A0h],0000004Ah mov [ebx+000000A8h],eax call SUB_L0049A820 add esp,00000004h mov [ebp+08h],eax test eax,eax mov byte ptr [ebp-04h],04h jz L004853D2 mov ecx,[esi] mov edx,[ebp-10h] push 00000000h push 00000825h push 00000825h push SUB_L0040DF10 sub ecx,edx push 00000000h push 00000002h sub ecx,00000042h push ebx push ecx push 000000F9h mov ecx,eax call SUB_L004122F0 jmp L004853D4 L004853D2: xor eax,eax L004853D4: push 00000001h push ebx mov ecx,eax mov byte ptr [ebp-04h],00h call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp+08h],eax test eax,eax mov byte ptr [ebp-04h],05h jz L00485429 mov edx,[esi] mov edi,[ebp-10h] push 00000000h push 0000082Eh push 0000082Eh push L004116B0 sub edx,edi push 00000000h push 00000000h sub edx,00000003h push ebx push edx push 00000089h mov ecx,eax call SUB_L004122F0 jmp L0048542B L00485429: xor eax,eax L0048542B: push 00000001h push ebx mov ecx,eax mov byte ptr [ebp-04h],00h mov dword ptr [eax+000000A4h],0000082Fh call SUB_L004415C0 push 000000B4h call SUB_L0049A820 add esp,00000004h mov [ebp+08h],eax test eax,eax mov byte ptr [ebp-04h],06h jz L0048547E mov ecx,[esi] mov esi,[ebp-10h] sub ecx,esi push 00000828h sub ecx,00000046h push ebx push ecx push 00000001h push 00000048h push 00000100h mov ecx,eax call SUB_L00412A50 jmp L00485480 L0048547E: xor eax,eax L00485480: push 00000001h push ebx mov ecx,eax mov byte ptr [ebp-04h],00h mov [ebx+00000094h],eax call SUB_L004415C0 mov ecx,[ebx+00000094h] push 00000001h push 00000000h call SUB_L00412F50 mov edx,[ebx+38h] xor ecx,ecx mov eax,[edx+0Ch] xor edx,edx mov cx,[eax+02h] mov dx,[eax] push ecx add eax,00000004h push edx push eax push 00000000h push 00000000h mov edx,00000839h mov ecx,SUB_L00488700 call SUB_L00439100 push FFFFFFFFh mov ecx,ebx call SUB_L00486F70 mov eax,[ebp-14h] test eax,eax jz L004854EE mov eax,[ebp-18h] mov ecx,[ebp-1Ch] push 00000000h push eax push ecx mov ecx,ebx call SUB_L00486210 L004854EE: mov ecx,[ebp-0Ch] pop edi mov eax,ebx pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 L00485510: push ebp mov ebp,esp push esi mov esi,ecx call SUB_L00485540 test byte ptr [ebp+08h],01h jz L0048552A push esi call SUB_L0049A810 add esp,00000004h L0048552A: mov eax,esi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00485540: push ebp mov ebp,esp push FFFFFFFFh push L004B4F68 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000008h push ebx mov ebx,ecx push esi push edi mov [ebp-14h],ebx mov dword ptr [ebx],L004BC4A8 mov eax,[ebx+000000E8h] xor esi,esi cmp eax,esi mov [ebp-04h],esi jz L00485691 mov edx,[ebx+00000098h] or ecx,FFFFFFFFh add edx,000000ECh xor eax,eax mov edi,edx repne scasb not ecx dec ecx jz L004855CF mov eax,[ebx+00000104h] mov edi,edx mov ecx,eax shl ecx,04h lea esi,[ecx+eax+L00767190] or ecx,FFFFFFFFh xor eax,eax mov [ebp-10h],esi repne scasb mov eax,[ebp-10h] not ecx sub edi,ecx mov edx,ecx mov esi,edi mov edi,eax shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb xor esi,esi L004855CF: mov ecx,[ebx+00000098h] cmp ecx,esi jz L004855DF mov edx,[ecx] push 00000001h call [edx] L004855DF: push FFFFFFFFh mov ecx,ebx mov [ebx+00000098h],esi mov [ebx+000000E8h],esi mov dword ptr [ebx+00000104h],FFFFFFFFh call SUB_L00486F70 push L004C61C8 push SSZ004CEC98_skillgrp_mul mov ecx,L006BB1C8 call SUB_L00455E10 push eax call SUB_L0049A7F0 add esp,00000008h mov edi,eax push edi push 00000001h push 00000004h push L00765110 call SUB_L0049B520 mov eax,[L00765110] mov esi,00000001h add esp,00000010h cmp eax,esi jle L00485668 mov dword ptr [ebp-10h],L007671A1 L00485644: mov eax,[ebp-10h] push edi push 00000011h push 00000001h push eax call SUB_L0049B520 mov ecx,[ebp-10h] mov eax,[L00765110] add esp,00000010h inc esi add ecx,00000011h cmp esi,eax mov [ebp-10h],ecx jl L00485644 L00485668: mov esi,L00767260 L0048566D: push edi push 00000001h push 00000004h push esi call SUB_L0049B520 add esi,00000004h add esp,00000010h cmp esi,L00767328 jl L0048566D push edi call SUB_L0049A580 add esp,00000004h xor esi,esi L00485691: mov eax,[ebx+00000104h] or edi,FFFFFFFFh cmp eax,edi jz L004856AC push edi mov ecx,ebx mov [ebx+00000104h],edi call SUB_L00486F70 L004856AC: cmp [L00669660],ebx jnz L004856BA mov [L00669660],esi L004856BA: mov ecx,[ebx+38h] mov eax,[ecx+04h] cmp eax,esi jz L004856DA push SSZ004CED44_skill_frame0_pBMP push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov edx,[ebx+38h] mov [edx+04h],esi L004856DA: mov eax,[ebx+38h] mov eax,[eax+0Ch] cmp eax,esi jz L004856FA push SSZ004CED30_skill_frame1_pBMP push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov ecx,[ebx+38h] mov [ecx+0Ch],esi L004856FA: mov eax,[ebx+38h] cmp eax,esi jz L00485714 push SSZ004CED20_skill_framedata push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov [ebx+38h],esi L00485714: mov ecx,ebx mov [ebp-04h],edi call SUB_L00441D50 mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 4 L00485730: push ebp mov ebp,esp sub esp,00000008h mov eax,[L0066962C] push ebx push esi mov esi,ecx cmp eax,esi push edi jnz L00485748 push 00000001h jmp L0048574A L00485748: push 00000000h L0048574A: mov ecx,esi call SUB_L00441340 mov ecx,[esi+0000011Ch] mov edi,[ebp+08h] mov ebx,[ebp+0Ch] mov eax,00000001h cmp ecx,eax mov dword ptr [esi+00000110h],00000001h mov [esi+6Ch],edi mov [esi+70h],ebx jnz L00485782 mov dword ptr [esi+0000011Ch],00000002h jmp L00485794 L00485782: mov [esi+0000011Ch],eax call [KERNEL32.dll!GetTickCount] mov [esi+00000118h],eax L00485794: xor eax,eax lea ecx,[ebp-04h] mov [esi+000000E0h],eax mov [esi+000000E4h],eax lea eax,[ebp-08h] push eax push ecx push ebx push edi mov ecx,esi call SUB_L00487860 test eax,eax jz L004857DD mov eax,[ebp-04h] test eax,eax jz L004857CA mov dword ptr [esi+000000E0h],00000001h jmp L004857D4 L004857CA: mov dword ptr [esi+000000E4h],00000001h L004857D4: mov edx,[ebp-08h] mov [esi+000000F0h],edx L004857DD: mov eax,[esi+000000E0h] test eax,eax jz L004857F1 mov dword ptr [esi+0000011Ch],00000000h L004857F1: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 8 L00485800: push ebp mov ebp,esp push ecx push ebx mov ebx,ecx push esi push edi mov eax,[ebx+00000108h] xor edi,edi cmp eax,edi mov [ebp-04h],ebx mov [ebx+00000110h],edi jz L004859C0 mov edx,[ebx+000000F4h] mov [ebx+00000108h],edi cmp edx,edi mov [ebx+0000011Ch],edi jl L0048599C mov eax,[ebx+000000F8h] cmp eax,FFFFFFFFh mov [ebp+0Ch],eax jl L0048599C cmp [ebx+000000ACh],edi jz L00485861 mov esi,[ebx+000000ECh] or eax,FFFFFFFFh jmp L00485876 L00485861: mov eax,[ebx+000000ECh] xor ecx,ecx mov cl,[eax+L00767120] mov esi,[L00767260+ecx*4] L00485876: xor ecx,ecx mov cl,[edx+L00767120] mov ecx,[L00767260+ecx*4] cmp ecx,esi jg L0048588F jnz L004858A2 cmp edx,eax jle L004858A4 L0048588F: mov ecx,[ebp+0Ch] cmp ecx,esi jl L0048589C jnz L004858A2 cmp edx,eax jge L004858A4 L0048589C: inc [ebx+000000FCh] L004858A2: cmp edx,eax L004858A4: jnz L004858EA mov edi,[L00767188] inc eax cmp eax,edi jge L004858CB L004858B1: xor ecx,ecx mov cl,[eax+L00767120] cmp [L00767260+ecx*4],esi jz L004858C7 inc eax cmp eax,edi jl L004858B1 L004858C7: cmp eax,edi jl L004858E2 L004858CB: mov ecx,[L00765110] lea eax,[esi+01h] cmp eax,ecx jge L004858E8 mov dword ptr [ebx+000000ACh],00000001h L004858E2: mov [ebx+000000ECh],eax L004858E8: xor edi,edi L004858EA: mov ecx,[ebp+0Ch] xor eax,eax mov al,[edx+L00767120] mov [L00767260+eax*4],ecx mov edx,[ebx+000000F8h] cmp [ebx+edx*4+000000B0h],edi jnz L00485911 dec [ebx+00000100h] L00485911: push L004C61C8 push SSZ004CEC98_skillgrp_mul mov ecx,L006BB1C8 call SUB_L00455E10 push eax call SUB_L0049A7F0 add esp,00000008h mov edi,eax push edi push 00000001h push 00000004h push L00765110 call SUB_L0049B520 mov eax,[L00765110] mov esi,00000001h add esp,00000010h cmp eax,esi jle L00485973 mov ebx,L007671A1 L00485955: push edi push 00000011h push 00000001h push ebx call SUB_L0049B520 mov eax,[L00765110] add esp,00000010h inc esi add ebx,00000011h cmp esi,eax jl L00485955 mov ebx,[ebp-04h] L00485973: mov esi,L00767260 L00485978: push edi push 00000001h push 00000004h push esi call SUB_L0049B520 add esi,00000004h add esp,00000010h cmp esi,L00767328 jl L00485978 push edi call SUB_L0049A580 add esp,00000004h xor edi,edi L0048599C: push FFFFFFFFh mov ecx,ebx call SUB_L00486F70 mov eax,[ebx+00000100h] mov ecx,[ebx+000000FCh] push eax push ecx mov ecx,[ebx+00000094h] call SUB_L00412F50 jmp L004859FD L004859C0: mov eax,[ebx+0000011Ch] cmp eax,00000002h jnz L004859E2 mov edx,[ebp+0Ch] mov eax,[ebp+08h] push edx push eax mov ecx,ebx mov [ebx+0000011Ch],edi call SUB_L00486170 jmp L004859FD L004859E2: cmp [ebx+00000114h],edi jnz L004859FD cmp eax,edi jnz L004859FD mov ecx,[ebp+0Ch] mov edx,[ebp+08h] push ecx push edx mov ecx,ebx call SUB_L00485CF0 L004859FD: mov [ebx+00000114h],edi mov [L006A9DD4],edi pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 L00485A20: push ebp mov ebp,esp push ecx push ebx mov ebx,ecx push esi xor esi,esi mov eax,[ebx+00000110h] push edi cmp eax,esi jz L00485C4E cmp [ebx+0000011Ch],esi jbe L00485C0C mov eax,[ebp+08h] mov edx,[ebx+6Ch] sub eax,edx cdq xor eax,edx sub eax,edx cmp eax,00000004h jg L00485A6D mov eax,[ebp+0Ch] mov edx,[ebx+70h] sub eax,edx cdq xor eax,edx sub eax,edx cmp eax,00000004h jle L00485C0C L00485A6D: mov eax,[ebx+000000E8h] mov dword ptr [ebx+00000108h],00000001h cmp eax,esi mov [ebx+0000011Ch],esi jz L00485BA0 mov edx,[ebx+00000098h] or ecx,FFFFFFFFh add edx,000000ECh xor eax,eax mov edi,edx repne scasb not ecx dec ecx jz L00485ADE mov eax,[ebx+00000104h] mov edi,edx mov ecx,eax shl ecx,04h lea esi,[ecx+eax+L00767190] or ecx,FFFFFFFFh xor eax,eax mov [ebp-04h],esi repne scasb mov eax,[ebp-04h] not ecx sub edi,ecx mov edx,ecx mov esi,edi mov edi,eax shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb xor esi,esi L00485ADE: mov ecx,[ebx+00000098h] cmp ecx,esi jz L00485AEE mov edx,[ecx] push 00000001h call [edx] L00485AEE: push FFFFFFFFh mov ecx,ebx mov [ebx+00000098h],esi mov [ebx+000000E8h],esi mov dword ptr [ebx+00000104h],FFFFFFFFh call SUB_L00486F70 push L004C61C8 push SSZ004CEC98_skillgrp_mul mov ecx,L006BB1C8 call SUB_L00455E10 push eax call SUB_L0049A7F0 add esp,00000008h mov esi,eax push esi push 00000001h push 00000004h push L00765110 call SUB_L0049B520 mov eax,[L00765110] mov edi,00000001h add esp,00000010h cmp eax,edi jle L00485B77 mov dword ptr [ebp-04h],L007671A1 L00485B53: mov eax,[ebp-04h] push esi push 00000011h push 00000001h push eax call SUB_L0049B520 mov ecx,[ebp-04h] mov eax,[L00765110] add esp,00000010h inc edi add ecx,00000011h cmp edi,eax mov [ebp-04h],ecx jl L00485B53 L00485B77: mov edi,L00767260 L00485B7C: push esi push 00000001h push 00000004h push edi call SUB_L0049B520 add edi,00000004h add esp,00000010h cmp edi,L00767328 jl L00485B7C push esi call SUB_L0049A580 add esp,00000004h xor esi,esi L00485BA0: mov eax,[ebx+00000104h] or edi,FFFFFFFFh cmp eax,edi jz L00485BBB push edi mov ecx,ebx mov [ebx+00000104h],edi call SUB_L00486F70 L00485BBB: cmp [ebx+000000E0h],esi jz L00485BC9 mov [ebx+000000E0h],esi L00485BC9: cmp [ebx+000000E4h],esi jz L00485BFC mov eax,[ebx+000000F0h] xor ecx,ecx mov [ebx+000000F4h],eax push edi mov cl,[eax+L00767120] mov edx,[L00767260+ecx*4] mov ecx,ebx mov [ebx+000000F8h],edx call SUB_L00486F70 jmp L00485C0C L00485BFC: mov [ebx+000000F4h],edi mov dword ptr [ebx+000000F8h],FFFFFFFEh L00485C0C: cmp [ebx+00000110h],esi jz L00485C4E cmp [ebx+00000108h],esi jz L00485CDA cmp [ebx+000000E4h],esi jnz L00485C4E cmp [ebx+000000E0h],esi jnz L00485C4E mov eax,[ebp+0Ch] mov ecx,[ebx+70h] mov edx,[ebx+6Ch] sub eax,ecx mov ecx,[ebp+08h] push 00000001h push esi push 00000001h sub ecx,edx push eax push ecx mov ecx,ebx call SUB_L00440850 L00485C4E: cmp [ebx+00000108h],esi jz L00485CDA cmp [ebx+000000F4h],esi jl L00485CDA mov ecx,[ebp+0Ch] mov edi,[ebx+000000F8h] lea edx,[ebp+08h] lea eax,[ebp+0Ch] push edx mov edx,[ebp+08h] push eax push ecx push edx mov ecx,ebx call SUB_L00487860 test eax,eax jz L00485CAE mov ecx,[ebp+0Ch] mov eax,[ebp+08h] cmp ecx,esi jnz L00485C95 cmp eax,[ebx+000000F4h] jz L00485CC3 L00485C95: cmp ecx,esi jz L00485C9D mov edi,eax jmp L00485CC3 L00485C9D: xor ecx,ecx mov cl,[eax+L00767120] mov edi,[L00767260+ecx*4] jmp L00485CC3 L00485CAE: mov edx,[ebx+000000F4h] xor eax,eax mov al,[edx+L00767120] mov edi,[L00767260+eax*4] L00485CC3: cmp edi,[ebx+000000F8h] jz L00485CDA push FFFFFFFFh mov ecx,ebx mov [ebx+000000F8h],edi call SUB_L00486F70 L00485CDA: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L00485CF0: push ebp mov ebp,esp push ecx push ebx mov ebx,ecx push esi push edi mov eax,[ebx+000000E0h] mov dword ptr [ebp-04h],00000000h test eax,eax jz L004860A8 mov eax,[ebx+0000009Ch] mov ecx,[ebp+08h] add eax,00000014h cmp ecx,eax mov eax,[ebx+000000E8h] jg L00485F2E test eax,eax jz L00485E43 mov edx,[ebx+00000098h] or ecx,FFFFFFFFh add edx,000000ECh xor eax,eax mov edi,edx repne scasb not ecx dec ecx jz L00485D81 mov eax,[ebx+00000104h] mov edi,edx mov ecx,eax shl ecx,04h lea esi,[ecx+eax+L00767190] or ecx,FFFFFFFFh xor eax,eax mov [ebp+08h],esi repne scasb mov eax,[ebp+08h] not ecx sub edi,ecx mov edx,ecx mov esi,edi mov edi,eax shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb L00485D81: mov ecx,[ebx+00000098h] test ecx,ecx jz L00485D91 mov edx,[ecx] push 00000001h call [edx] L00485D91: xor eax,eax push FFFFFFFFh mov ecx,ebx mov [ebx+00000098h],eax mov [ebx+000000E8h],eax mov dword ptr [ebx+00000104h],FFFFFFFFh call SUB_L00486F70 push L004C61C8 push SSZ004CEC98_skillgrp_mul mov ecx,L006BB1C8 call SUB_L00455E10 push eax call SUB_L0049A7F0 add esp,00000008h mov esi,eax push esi push 00000001h push 00000004h push L00765110 call SUB_L0049B520 mov eax,[L00765110] mov edi,00000001h add esp,00000010h cmp eax,edi jle L00485E1C mov dword ptr [ebp+08h],L007671A1 L00485DF8: mov eax,[ebp+08h] push esi push 00000011h push 00000001h push eax call SUB_L0049B520 mov ecx,[ebp+08h] mov eax,[L00765110] add esp,00000010h inc edi add ecx,00000011h cmp edi,eax mov [ebp+08h],ecx jl L00485DF8 L00485E1C: mov edi,L00767260 L00485E21: push esi push 00000001h push 00000004h push edi call SUB_L0049B520 add edi,00000004h add esp,00000010h cmp edi,L00767328 jl L00485E21 push esi call SUB_L0049A580 add esp,00000004h L00485E43: mov ecx,[ebx+00000104h] or eax,FFFFFFFFh cmp ecx,eax jz L00485E5E push eax mov ecx,ebx mov [ebx+00000104h],eax call SUB_L00486F70 L00485E5E: mov esi,[L00767188] xor eax,eax test esi,esi mov ecx,00000001h jle L00485E8F mov edi,[ebx+000000F0h] L00485E75: xor edx,edx mov dl,[eax+L00767120] cmp [L00767260+edx*4],edi jz L00485E8D inc eax cmp eax,esi jl L00485E75 jmp L00485E8F L00485E8D: xor ecx,ecx L00485E8F: test ecx,ecx jnz L00486158 xor eax,eax test esi,esi jle L00485EBC mov edi,[ebx+000000F0h] L00485EA3: xor ecx,ecx mov cl,[eax+L00767120] cmp [L00767260+ecx*4],edi jnz L00485EB7 inc [ebp-04h] L00485EB7: inc eax cmp eax,esi jl L00485EA3 L00485EBC: mov edx,[ebx+000000F0h] mov ecx,[ebx+edx*4+000000B0h] lea eax,[ebx+edx*4+000000B0h] test ecx,ecx jz L00485EE7 mov ecx,[ebp-04h] mov edx,[ebx+00000100h] sub edx,ecx mov [ebx+00000100h],edx jmp L00485EF8 L00485EE7: mov edx,[ebp-04h] mov ecx,[ebx+00000100h] add ecx,edx mov [ebx+00000100h],ecx L00485EF8: mov edx,[eax] xor ecx,ecx test edx,edx setz cl mov [eax],ecx push FFFFFFFFh mov ecx,ebx call SUB_L00486F70 mov edx,[ebx+00000100h] mov eax,[ebx+000000FCh] mov ecx,[ebx+00000094h] push edx push eax call SUB_L00412F50 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L00485F2E: test eax,eax jz L00486064 mov edx,[ebx+00000098h] or ecx,FFFFFFFFh add edx,000000ECh xor eax,eax mov edi,edx repne scasb not ecx dec ecx jz L00485F87 mov eax,[ebx+00000104h] mov edi,edx mov ecx,eax shl ecx,04h lea esi,[ecx+eax+L00767190] or ecx,FFFFFFFFh xor eax,eax mov [ebp+08h],esi repne scasb mov eax,[ebp+08h] not ecx sub edi,ecx mov edx,ecx mov esi,edi mov edi,eax shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb L00485F87: mov ecx,[ebx+00000098h] test ecx,ecx jz L00485F97 mov edx,[ecx] push 00000001h call [edx] L00485F97: xor eax,eax push FFFFFFFFh mov ecx,ebx mov [ebx+00000098h],eax mov [ebx+000000E8h],eax mov dword ptr [ebx+00000104h],FFFFFFFFh call SUB_L00486F70 push L004C61C8 push SSZ004CEC98_skillgrp_mul mov ecx,L006BB1C8 call SUB_L00455E10 push eax call SUB_L0049A7F0 add esp,00000008h mov edi,eax push edi push 00000001h push 00000004h push L00765110 call SUB_L0049B520 mov eax,[L00765110] mov esi,00000001h add esp,00000010h cmp eax,esi jle L00486022 mov dword ptr [ebp+08h],L007671A1 L00485FFE: mov eax,[ebp+08h] push edi push 00000011h push 00000001h push eax call SUB_L0049B520 mov ecx,[ebp+08h] mov eax,[L00765110] add esp,00000010h inc esi add ecx,00000011h cmp esi,eax mov [ebp+08h],ecx jl L00485FFE L00486022: mov esi,L00767260 L00486027: push edi push 00000001h push 00000004h push esi call SUB_L0049B520 add esi,00000004h add esp,00000010h cmp esi,L00767328 jl L00486027 push edi call SUB_L0049A580 mov ecx,[ebx+00000104h] or eax,FFFFFFFFh add esp,00000004h cmp ecx,eax jz L00486064 push eax mov ecx,ebx mov [ebx+00000104h],eax call SUB_L00486F70 L00486064: mov ecx,[ebx+00000104h] mov eax,[ebx+000000F0h] cmp ecx,eax jz L00486097 push ebx mov ecx,L00669608 mov [ebx+00000104h],eax call SUB_L0043FF10 push FFFFFFFFh mov ecx,ebx call SUB_L00486F70 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L00486097: push ecx mov ecx,ebx call SUB_L00487B90 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L004860A8: mov eax,[ebx+000000E8h] test eax,eax jz L0048613D mov edx,[ebx+00000098h] or ecx,FFFFFFFFh add edx,000000ECh xor eax,eax mov edi,edx repne scasb not ecx dec ecx jz L00486107 mov eax,[ebx+00000104h] mov edi,edx mov ecx,eax shl ecx,04h lea esi,[ecx+eax+L00767190] or ecx,FFFFFFFFh xor eax,eax mov [ebp+08h],esi repne scasb mov eax,[ebp+08h] not ecx sub edi,ecx mov edx,ecx mov esi,edi mov edi,eax shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb L00486107: mov ecx,[ebx+00000098h] test ecx,ecx jz L00486117 mov edx,[ecx] push 00000001h call [edx] L00486117: xor eax,eax push FFFFFFFFh mov ecx,ebx mov [ebx+00000098h],eax mov [ebx+000000E8h],eax mov dword ptr [ebx+00000104h],FFFFFFFFh call SUB_L00486F70 call SUB_L00484CD0 L0048613D: mov ecx,[ebx+00000104h] or eax,FFFFFFFFh cmp ecx,eax jz L00486158 push eax mov ecx,ebx mov [ebx+00000104h],eax call SUB_L00486F70 L00486158: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L00486170: push ebp mov ebp,esp push FFFFFFFFh push L004B4F8B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx mov eax,[esi+60h] test eax,eax jz L004861A9 call SUB_L0040D760 mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop esi mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L004861A9: mov eax,[esi+000000E0h] test eax,eax jz L004861FC mov eax,[esi+000000F0h] test eax,eax jle L004861FC push 000000A0h call SUB_L0049A820 add esp,00000004h mov [ebp-10h],eax test eax,eax mov dword ptr [ebp-04h],00000000h jz L004861E8 mov ecx,[esi+000000F0h] push ecx mov ecx,eax call SUB_L00487CD0 jmp L004861EA L004861E8: xor eax,eax L004861EA: push 00000001h push 00000000h mov ecx,eax mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L004415C0 L004861FC: mov ecx,[ebp-0Ch] pop esi mov fs:[00000000h],ecx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 4 SUB_L00486210: push ebp mov ebp,esp push ecx mov eax,[ebp+08h] push ebx push esi mov esi,ecx push edi add eax,00000007h mov edi,[esi+44h] and al,F8h test edi,edi mov [esi+18h],eax jz L0048628E L0048622B: mov edx,[edi] mov ecx,edi call [edx+000000B4h] test eax,eax jz L00486251 mov eax,[ebp+0Ch] mov edx,[esi+20h] mov ecx,[edi+000000A8h] sub eax,edx add ecx,eax mov [edi+000000A8h],ecx jmp L00486287 L00486251: mov ebx,[esi+1Ch] mov ecx,[edi+2Ch] mov eax,ebx cdq sub eax,edx sar eax,1 cmp ecx,eax jle L0048626C mov eax,[esi+18h] sub ecx,ebx add ecx,eax mov [edi+2Ch],ecx L0048626C: mov ecx,[esi+20h] mov ebx,[edi+30h] mov eax,ecx cdq sub eax,edx sar eax,1 cmp ebx,eax jle L00486287 mov edx,[ebp+0Ch] add edx,ebx sub edx,ecx mov [edi+30h],edx L00486287: mov edi,[edi+3Ch] test edi,edi jnz L0048622B L0048628E: mov eax,[esi+38h] mov eax,[eax+04h] test eax,eax jz L004862B2 push SSZ004CED44_skill_frame0_pBMP push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov ecx,[esi+38h] mov dword ptr [ecx+04h],00000000h L004862B2: mov eax,[ebp+0Ch] mov ecx,[esi+18h] mov [esi+20h],eax imul eax,ecx lea edx,[eax+eax+04h] mov [esi+1Ch],ecx push SSZ004C5028_text_frame0 push edx mov ecx,L00669C8C call SUB_L0044FBD0 mov ecx,[esi+38h] mov [ecx+04h],eax mov ecx,[esi+1Ch] imul ecx,[esi+20h] mov edx,[esi+38h] xor eax,eax shl ecx,1 mov edi,[edx+04h] mov edx,ecx add edi,00000004h shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+38h] mov dx,[esi+1Ch] mov ecx,[eax+04h] mov [ecx],dx mov eax,[esi+38h] mov dx,[esi+20h] mov ecx,[eax+04h] lea eax,[ebp+08h] push eax mov [ecx+02h],dx lea edx,[ebp-04h] mov ecx,0000082Eh call SUB_L004390A0 mov ecx,[esi+20h] mov edx,[ebp+08h] sub ecx,edx push FFFFFFFFh sub ecx,00000046h mov [esi+000000A8h],ecx mov ecx,esi call SUB_L00486F70 mov edx,[esi+00000100h] mov eax,[esi+000000FCh] mov ecx,[esi+00000094h] push edx push eax call SUB_L00412F50 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 16 L00486370: push ebp mov ebp,esp push ecx push ebx mov ebx,ecx push esi push edi mov eax,[ebx+000000E8h] test eax,eax jz L0048649A mov edx,[ebx+00000098h] or ecx,FFFFFFFFh add edx,000000ECh xor eax,eax mov edi,edx repne scasb not ecx dec ecx jz L004863D8 mov eax,[ebx+00000104h] mov edi,edx mov ecx,eax shl ecx,04h lea esi,[ecx+eax+L00767190] or ecx,FFFFFFFFh xor eax,eax mov [ebp-04h],esi repne scasb mov eax,[ebp-04h] not ecx sub edi,ecx mov edx,ecx mov esi,edi mov edi,eax shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb L004863D8: mov ecx,[ebx+00000098h] xor esi,esi cmp ecx,esi jz L004863EA mov edx,[ecx] push 00000001h call [edx] L004863EA: push FFFFFFFFh mov ecx,ebx mov [ebx+00000098h],esi mov [ebx+000000E8h],esi mov dword ptr [ebx+00000104h],FFFFFFFFh call SUB_L00486F70 push L004C61C8 push SSZ004CEC98_skillgrp_mul mov ecx,L006BB1C8 call SUB_L00455E10 push eax call SUB_L0049A7F0 add esp,00000008h mov esi,eax push esi push 00000001h push 00000004h push L00765110 call SUB_L0049B520 mov eax,[L00765110] mov edi,00000001h add esp,00000010h cmp eax,edi jle L00486473 mov dword ptr [ebp-04h],L007671A1 L0048644F: mov eax,[ebp-04h] push esi push 00000011h push 00000001h push eax call SUB_L0049B520 mov ecx,[ebp-04h] mov eax,[L00765110] add esp,00000010h inc edi add ecx,00000011h cmp edi,eax mov [ebp-04h],ecx jl L0048644F L00486473: mov edi,L00767260 L00486478: push esi push 00000001h push 00000004h push edi call SUB_L0049B520 add edi,00000004h add esp,00000010h cmp edi,L00767328 jl L00486478 push esi call SUB_L0049A580 add esp,00000004h L0048649A: mov ecx,[ebx+00000104h] or eax,FFFFFFFFh cmp ecx,eax jz L004864B5 push eax mov ecx,ebx mov [ebx+00000104h],eax call SUB_L00486F70 L004864B5: mov eax,[ebx+00000100h] xor ecx,ecx imul eax,[ebp+08h] cdq idiv [ebp+0Ch] mov dword ptr [ebx+000000ACh],00000001h mov [ebx+000000ECh],ecx xor edx,edx mov edi,eax mov [ebx+000000FCh],edi mov esi,[L00767188] cmp esi,edx jle L00486514 L004864E9: xor eax,eax mov al,[ecx+L00767120] cmp dword ptr [L00767260+eax*4],FFFFFFFFh jz L00486502 inc ecx cmp ecx,esi jl L004864E9 jmp L00486514 L00486502: mov [ebx+000000ACh],edx mov [ebx+000000ECh],ecx mov esi,[L00767188] L00486514: cmp edi,edx jle L004865F2 mov [ebp+08h],edi L0048651F: cmp [ebx+000000ACh],edx jz L00486581 mov edi,[ebx+000000ECh] cmp [ebx+edi*4+000000B0h],edx jz L0048656F mov ecx,[L00767120] xor eax,eax and ecx,000000FFh cmp [L00767260+ecx*4],edi jz L00486563 L0048654D: cmp eax,esi jge L0048656F inc eax xor ecx,ecx mov cl,[eax+L00767120] cmp [L00767260+ecx*4],edi jnz L0048654D L00486563: cmp eax,esi jge L0048656F mov [ebx+000000ACh],edx jmp L004865D9 L0048656F: mov eax,[L00765110] inc edi cmp edi,eax jge L004865E5 mov [ebx+000000ECh],edi jmp L004865DF L00486581: mov eax,[ebx+000000ECh] xor ecx,ecx mov cl,[eax+L00767120] inc eax mov edi,[L00767260+ecx*4] xor ecx,ecx mov cl,[eax+L00767120] cmp [L00767260+ecx*4],edi jz L004865BE L004865A8: cmp eax,esi jge L004865C2 inc eax xor ecx,ecx mov cl,[eax+L00767120] cmp [L00767260+ecx*4],edi jnz L004865A8 L004865BE: cmp eax,esi jl L004865D9 L004865C2: mov ecx,[L00765110] lea eax,[edi+01h] cmp eax,ecx jge L004865E5 mov dword ptr [ebx+000000ACh],00000001h L004865D9: mov [ebx+000000ECh],eax L004865DF: mov esi,[L00767188] L004865E5: mov eax,[ebp+08h] dec eax mov [ebp+08h],eax jnz L0048651F L004865F2: push FFFFFFFFh mov ecx,ebx call SUB_L00486F70 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 16 L00486610: push ebp mov ebp,esp sub esp,00000010h mov eax,[ebp+08h] push ebx mov ebx,ecx push esi xor ecx,ecx cmp eax,0000E02Eh push edi mov [ebp-04h],ecx jnz L0048699B mov eax,[ebx+00000104h] cmp eax,FFFFFFFFh jz L0048699B cmp eax,ecx jnz L0048665D push ecx push ecx push ecx push ecx push SSZ004CED78_Cannot_delete_this_group_ mov ecx,L00669608 call SUB_L0043F200 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L0048665D: mov edi,[L00767188] mov esi,[ebx+eax*4+000000B0h] test edi,edi mov [ebp-10h],esi jle L0048669F L00486671: xor eax,eax mov al,[ecx+L00767120] mov edx,[L00767260+eax*4] cmp edx,[ebx+00000104h] jnz L0048669A mov dword ptr [L00767260+eax*4],00000000h mov eax,[ebp-04h] inc eax mov [ebp-04h],eax L0048669A: inc ecx cmp ecx,edi jl L00486671 L0048669F: mov edx,[ebx+00000104h] mov eax,[L00765110] inc edx cmp edx,eax jge L00486739 mov eax,edx lea ecx,[ebx+edx*4+000000ACh] shl eax,04h mov [ebp-08h],ecx lea esi,[eax+edx+L00767190] mov [ebp+08h],esi jmp L004866D7 L004866CE: mov edi,[L00767188] mov esi,[ebp+08h] L004866D7: test edi,edi jle L004866EF mov eax,L00767260 L004866E0: mov ecx,[eax] cmp ecx,edx jnz L004866E9 dec ecx mov [eax],ecx L004866E9: add eax,00000004h dec edi jnz L004866E0 L004866EF: lea eax,[esi-11h] mov edi,esi mov [ebp-0Ch],eax or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,[ebp-0Ch] shr ecx,02h rep movsd mov ecx,eax mov eax,[ebp-08h] and ecx,00000003h add eax,00000004h rep movsb mov ecx,[eax] mov [ebp-08h],eax mov [eax-04h],ecx mov ecx,[ebp+08h] mov eax,[L00765110] inc edx add ecx,00000011h cmp edx,eax mov [ebp+08h],ecx jl L004866CE mov esi,[ebp-10h] L00486739: mov ecx,[L00765110] dec ecx test esi,esi mov [L00765110],ecx jz L0048676A mov eax,[ebx+000000B0h] test eax,eax jnz L00486766 mov ecx,[ebp-04h] mov eax,[ebx+00000100h] or edx,FFFFFFFFh sub edx,ecx add eax,edx jmp L0048678F L00486766: test esi,esi jnz L00486788 L0048676A: mov eax,[ebx+000000B0h] test eax,eax jz L00486788 mov eax,[ebp-04h] mov ecx,[ebx+00000100h] dec eax add ecx,eax mov [ebx+00000100h],ecx jmp L00486795 L00486788: mov eax,[ebx+00000100h] dec eax L0048678F: mov [ebx+00000100h],eax L00486795: mov eax,[ebx+000000E8h] test eax,eax jz L004868B6 mov edx,[ebx+00000098h] or ecx,FFFFFFFFh add edx,000000ECh xor eax,eax mov edi,edx repne scasb not ecx dec ecx jz L004867F4 mov eax,[ebx+00000104h] mov edi,edx mov ecx,eax shl ecx,04h lea esi,[ecx+eax+L00767190] or ecx,FFFFFFFFh xor eax,eax mov [ebp+08h],esi repne scasb mov eax,[ebp+08h] not ecx sub edi,ecx mov edx,ecx mov esi,edi mov edi,eax shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb L004867F4: mov ecx,[ebx+00000098h] xor esi,esi cmp ecx,esi jz L00486806 mov edx,[ecx] push 00000001h call [edx] L00486806: push FFFFFFFFh mov ecx,ebx mov [ebx+00000098h],esi mov [ebx+000000E8h],esi mov dword ptr [ebx+00000104h],FFFFFFFFh call SUB_L00486F70 push L004C61C8 push SSZ004CEC98_skillgrp_mul mov ecx,L006BB1C8 call SUB_L00455E10 push eax call SUB_L0049A7F0 add esp,00000008h mov esi,eax push esi push 00000001h push 00000004h push L00765110 call SUB_L0049B520 mov eax,[L00765110] mov edi,00000001h add esp,00000010h cmp eax,edi jle L0048688F mov dword ptr [ebp+08h],L007671A1 L0048686B: mov eax,[ebp+08h] push esi push 00000011h push 00000001h push eax call SUB_L0049B520 mov ecx,[ebp+08h] mov eax,[L00765110] add esp,00000010h inc edi add ecx,00000011h cmp edi,eax mov [ebp+08h],ecx jl L0048686B L0048688F: mov edi,L00767260 L00486894: push esi push 00000001h push 00000004h push edi call SUB_L0049B520 add edi,00000004h add esp,00000010h cmp edi,L00767328 jl L00486894 push esi call SUB_L0049A580 add esp,00000004h L004868B6: mov eax,[ebx+00000104h] or esi,FFFFFFFFh cmp eax,esi jz L004868D1 push esi mov ecx,ebx mov [ebx+00000104h],esi call SUB_L00486F70 L004868D1: push esi mov ecx,ebx call SUB_L00486F70 mov eax,[ebx+00000094h] mov edx,[ebx] push eax mov ecx,[eax+000000A4h] mov esi,[eax+000000A8h] mov eax,[eax+30h] sub esi,ecx sub eax,ecx push esi push eax mov ecx,ebx call [edx+34h] push L004C61C8 push SSZ004CEC98_skillgrp_mul mov ecx,L006BB1C8 call SUB_L00455E10 push eax call SUB_L0049A7F0 add esp,00000008h mov edi,eax mov ebx,00000001h push edi push ebx push 00000004h push L00765110 call SUB_L0049B520 mov eax,[L00765110] add esp,00000010h cmp eax,ebx jle L0048695A mov esi,L007671A1 L0048693F: push edi push 00000011h push 00000001h push esi call SUB_L0049B520 mov eax,[L00765110] add esp,00000010h inc ebx add esi,00000011h cmp ebx,eax jl L0048693F L0048695A: mov ebx,L00767260 L0048695F: push edi push 00000001h push 00000004h push ebx call SUB_L0049B520 add ebx,00000004h add esp,00000010h cmp ebx,L00767328 jl L0048695F push edi call SUB_L0049A580 mov eax,[ebp-04h] add esp,00000004h test eax,eax jle L0048699B push SSZ004CED58_Skills_moved_to_Miscellaneous_ push 00000003h push 00000000h mov ecx,L006693F8 call SUB_L0048C0A0 L0048699B: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L004869B0: push ebp mov ebp,esp sub esp,00000008h push ebx mov ebx,ecx push esi push edi mov eax,[ebx+000000E8h] mov [ebp-08h],ebx test eax,eax jz L00486AD7 mov edx,[ebx+00000098h] or ecx,FFFFFFFFh add edx,000000ECh xor eax,eax mov edi,edx repne scasb not ecx dec ecx jz L00486A1D mov eax,[ebx+00000104h] mov edi,edx mov ecx,eax shl ecx,04h lea esi,[ecx+eax+L00767190] or ecx,FFFFFFFFh xor eax,eax mov [ebp-04h],esi repne scasb mov eax,[ebp-04h] not ecx sub edi,ecx mov edx,ecx mov esi,edi mov edi,eax shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb L00486A1D: mov ecx,[ebx+00000098h] test ecx,ecx jz L00486A2D mov edx,[ecx] push 00000001h call [edx] L00486A2D: xor eax,eax push FFFFFFFFh mov ecx,ebx mov [ebx+00000098h],eax mov [ebx+000000E8h],eax mov dword ptr [ebx+00000104h],FFFFFFFFh call SUB_L00486F70 push L004C61C8 push SSZ004CEC98_skillgrp_mul mov ecx,L006BB1C8 call SUB_L00455E10 push eax call SUB_L0049A7F0 add esp,00000008h mov edi,eax push edi push 00000001h push 00000004h push L00765110 call SUB_L0049B520 mov eax,[L00765110] mov esi,00000001h add esp,00000010h cmp eax,esi jle L00486AB0 mov ebx,L007671A1 L00486A92: push edi push 00000011h push 00000001h push ebx call SUB_L0049B520 mov eax,[L00765110] add esp,00000010h inc esi add ebx,00000011h cmp esi,eax jl L00486A92 mov ebx,[ebp-08h] L00486AB0: mov esi,L00767260 L00486AB5: push edi push 00000001h push 00000004h push esi call SUB_L0049B520 add esi,00000004h add esp,00000010h cmp esi,L00767328 jl L00486AB5 push edi call SUB_L0049A580 add esp,00000004h L00486AD7: mov ecx,[ebx+00000104h] or eax,FFFFFFFFh cmp ecx,eax jz L00486AF2 push eax mov ecx,ebx mov [ebx+00000104h],eax call SUB_L00486F70 L00486AF2: pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 L00486B00: push ebp mov ebp,esp sub esp,00000010h push ebx push esi push edi mov ebx,ecx call [KERNEL32.dll!GetTickCount] mov esi,eax call [USER32.dll!GetDoubleClickTime] mov ecx,[ebx+0000011Ch] mov edx,00000001h cmp ecx,edx jnz L00486CFA sub esi,[ebx+00000118h] cmp esi,eax jbe L00486CFA mov eax,[ebx+00000110h] mov dword ptr [ebx+0000011Ch],00000000h test eax,eax jnz L00486B62 mov eax,[ebx+70h] mov ecx,[ebx+6Ch] push eax push ecx mov ecx,ebx call SUB_L00485CF0 jmp L00486CFA L00486B62: mov eax,[ebx+000000E8h] mov [ebx+00000108h],edx test eax,eax jz L00486C86 mov eax,[ebx+00000098h] or ecx,FFFFFFFFh lea esi,[eax+000000ECh] xor eax,eax mov edi,esi repne scasb not ecx dec ecx jz L00486BC5 mov eax,[ebx+00000104h] mov edi,esi mov ecx,eax shl ecx,04h lea eax,[ecx+eax+L00767190] or ecx,FFFFFFFFh mov [ebp-04h],eax xor eax,eax repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,[ebp-04h] shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb L00486BC5: mov ecx,[ebx+00000098h] xor esi,esi cmp ecx,esi jz L00486BD6 mov eax,[ecx] push edx call [eax] L00486BD6: push FFFFFFFFh mov ecx,ebx mov [ebx+00000098h],esi mov [ebx+000000E8h],esi mov dword ptr [ebx+00000104h],FFFFFFFFh call SUB_L00486F70 push L004C61C8 push SSZ004CEC98_skillgrp_mul mov ecx,L006BB1C8 call SUB_L00455E10 push eax call SUB_L0049A7F0 add esp,00000008h mov esi,eax push esi push 00000001h push 00000004h push L00765110 call SUB_L0049B520 mov eax,[L00765110] mov edi,00000001h add esp,00000010h cmp eax,edi jle L00486C5F mov dword ptr [ebp-04h],L007671A1 L00486C3B: mov ecx,[ebp-04h] push esi push 00000011h push 00000001h push ecx call SUB_L0049B520 mov ecx,[ebp-04h] mov eax,[L00765110] add esp,00000010h inc edi add ecx,00000011h cmp edi,eax mov [ebp-04h],ecx jl L00486C3B L00486C5F: mov edi,L00767260 L00486C64: push esi push 00000001h push 00000004h push edi call SUB_L0049B520 add edi,00000004h add esp,00000010h cmp edi,L00767328 jl L00486C64 push esi call SUB_L0049A580 add esp,00000004h L00486C86: mov eax,[ebx+00000104h] or esi,FFFFFFFFh cmp eax,esi jz L00486CA1 push esi mov ecx,ebx mov [ebx+00000104h],esi call SUB_L00486F70 L00486CA1: mov eax,[ebx+000000E0h] test eax,eax jz L00486CB5 mov dword ptr [ebx+000000E0h],00000000h L00486CB5: mov eax,[ebx+000000E4h] test eax,eax jz L00486CEA mov eax,[ebx+000000F0h] xor edx,edx mov [ebx+000000F4h],eax push esi mov dl,[eax+L00767120] mov ecx,ebx mov eax,[L00767260+edx*4] mov [ebx+000000F8h],eax call SUB_L00486F70 jmp L00486CFA L00486CEA: mov [ebx+000000F4h],esi mov dword ptr [ebx+000000F8h],FFFFFFFEh L00486CFA: mov eax,[ebx+00000108h] test eax,eax jz L00486D65 mov eax,[ebx+000000F4h] test eax,eax jl L00486D65 lea ecx,[ebp-0Ch] lea edx,[ebp-04h] push ecx push edx mov ecx,L006A9DC0 call SUB_L00450540 mov eax,[ebp-04h] mov ecx,[ebp-0Ch] mov [ebp-10h],eax lea edx,[ebp-08h] lea eax,[ebp-10h] mov [ebp-08h],ecx push edx push eax mov ecx,ebx call SUB_L00440CD0 mov eax,[ebp-08h] mov ecx,[ebx+000000A0h] cmp eax,ecx jge L00486D56 mov ecx,ebx call SUB_L0040E070 pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00486D56: cmp eax,[ebx+000000A8h] jle L00486D65 mov ecx,ebx call SUB_L0040DF10 L00486D65: pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 SUB_L00486D70: push ebp mov ebp,esp push FFFFFFFFh push L004B4FAB mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,0000000Ch push ebx push esi push edi mov edi,ecx mov esi,[edi+44h] test esi,esi jz L00486DC4 L00486D97: mov eax,[esi] mov ebx,[esi+3Ch] mov ecx,esi call [eax+000000C4h] test eax,eax jz L00486DBE mov eax,[esi+000000ACh] test eax,eax jz L00486DBE test esi,esi jz L00486DBE mov edx,[esi] push 00000001h mov ecx,esi call [edx] L00486DBE: test ebx,ebx mov esi,ebx jnz L00486D97 L00486DC4: mov eax,[edi+000000A0h] mov ecx,[edi+000000ACh] add eax,00000002h test ecx,ecx jz L00486DE2 mov ebx,[edi+000000ECh] or esi,FFFFFFFFh jmp L00486DF7 L00486DE2: mov esi,[edi+000000ECh] xor ecx,ecx mov cl,[esi+L00767120] mov ebx,[L00767260+ecx*4] L00486DF7: cmp ebx,[L00765110] jge L00486F5D mov ecx,[L00767188] inc eax lea edx,[edi+ebx*4+000000B0h] mov [ebp-14h],eax mov [ebp-10h],edx L00486E17: mov eax,[edi+000000A8h] mov edx,[ebp-14h] sub eax,00000002h add edx,0000000Eh cmp edx,eax jg L00486F5D mov eax,[edi+00000108h] test eax,eax jz L00486E55 cmp [edi+000000F4h],esi jnz L00486E55 cmp esi,FFFFFFFFh jz L00486EF6 cmp [edi+000000F8h],ebx jnz L00486EFA L00486E55: cmp esi,FFFFFFFFh jz L00486EF6 xor eax,eax mov al,[esi+L00767120] test byte ptr [eax+L00767328],01h jz L00486EF6 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp-18h],eax test eax,eax mov dword ptr [ebp-04h],00000000h jz L00486EBB mov edx,[edi+0000009Ch] mov ecx,[ebp-14h] push 00000000h push 00000837h push 00000837h push L00411640 push 00000000h push 00000000h push edi add edx,00000008h push ecx push edx mov ecx,eax call SUB_L004122F0 jmp L00486EBD L00486EBB: xor eax,eax L00486EBD: xor ecx,ecx mov dword ptr [eax+000000A4h],00000838h mov dword ptr [eax+000000ACh],00000001h mov cl,[esi+L00767120] mov [eax+0000009Ch],ecx push 00000001h push edi mov ecx,eax mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L004415C0 mov ecx,[L00767188] L00486EF6: add dword ptr [ebp-14h],00000011h L00486EFA: test ebx,ebx jl L00486F06 mov edx,[ebp-10h] cmp dword ptr [edx],00000000h jz L00486F44 L00486F06: inc esi xor eax,eax mov al,[esi+L00767120] cmp [L00767260+eax*4],ebx jz L00486F40 mov eax,[edi+000000F4h] L00486F1E: cmp esi,eax jnz L00486F2A cmp [edi+000000F8h],ebx jz L00486F40 L00486F2A: cmp esi,ecx jge L00486F42 inc esi xor edx,edx mov dl,[esi+L00767120] cmp [L00767260+edx*4],ebx jnz L00486F1E L00486F40: cmp esi,ecx L00486F42: jnz L00486F51 L00486F44: mov eax,[ebp-10h] inc ebx add eax,00000004h or esi,FFFFFFFFh mov [ebp-10h],eax L00486F51: cmp ebx,[L00765110] jl L00486E17 L00486F5D: mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 4 SUB_L00486F70: push ebp mov ebp,esp sub esp,00000084h push ebx push esi mov esi,ecx lea eax,[ebp-28h] push edi lea ecx,[ebp-2Ch] push eax lea edx,[ebp-14h] push ecx push edx push L004C41E4 push 00000009h mov ecx,L00669CC8 call SUB_L00437A10 mov eax,[esi+0000009Ch] mov ecx,[esi+000000A4h] mov edi,[esi+000000A0h] add eax,00000002h mov [ebp-24h],eax mov eax,[esi+000000A8h] sub eax,00000002h sub ecx,00000002h mov [ebp-18h],eax mov eax,[ebp+08h] add edi,00000002h cmp eax,FFFFFFFFh mov [ebp-1Ch],ecx mov [ebp-20h],edi jnz L004870CA mov edx,[esi+38h] lea eax,[ebp-10h] push eax mov ecx,0000082Dh mov edi,[edx+04h] lea edx,[ebp-04h] call SUB_L004390A0 mov ebx,[ebp-10h] lea ecx,[ebp-10h] push ecx lea edx,[ebp-04h] mov ecx,0000082Eh mov [ebp-0Ch],ebx call SUB_L004390A0 mov eax,[ebp-10h] mov edx,[esi+38h] mov ecx,[esi+50h] mov [ebp-08h],eax push eax mov eax,[edx+04h] dec ebx mov edx,00000002h push ebx push eax call SUB_L00484D60 mov eax,[ebp-0Ch] xor ecx,ecx mov cx,[edi+02h] xor edx,edx mov dx,[edi] lea ebx,[edi+04h] push ecx push edx add eax,0000000Ah push ebx push eax push 00000076h mov edx,00000834h mov ecx,SUB_L00488700 call SUB_L00439100 mov eax,[esi+20h] xor ecx,ecx mov cx,[edi+02h] xor edx,edx mov dx,[edi] push ecx mov ecx,[ebp-08h] push edx sub eax,ecx push ebx sub eax,00000038h mov edx,00000836h push eax push 0000001Eh mov ecx,SUB_L00488700 call SUB_L00439100 mov eax,[ebp-0Ch] xor ecx,ecx mov cx,[edi+02h] xor edx,edx mov dx,[edi] push ecx push edx add eax,00000024h push ebx push eax push 0000001Eh mov edx,0000082Bh mov ecx,SUB_L00488700 call SUB_L00439100 mov eax,[esi+20h] xor ecx,ecx mov cx,[edi+02h] xor edx,edx mov dx,[edi] mov edi,[ebp-08h] push ecx sub eax,edi push edx push ebx sub eax,00000046h push eax push 0000001Fh mov edx,0000082Bh mov ecx,SUB_L00488700 call SUB_L00439100 mov edi,[ebp-20h] L004870CA: mov eax,[esi+000000ACh] test eax,eax jz L004870E5 mov ecx,[esi+000000ECh] or eax,FFFFFFFFh mov [ebp-08h],ecx mov [ebp-04h],eax jmp L00487102 L004870E5: mov eax,[esi+000000ECh] xor ecx,ecx mov [ebp-04h],eax mov cl,[eax+L00767120] mov edx,[L00767260+ecx*4] mov [ebp-08h],edx mov ecx,edx L00487102: cmp ecx,[L00765110] jge L00487652 mov edx,ecx shl edx,04h lea edx,[edx+ecx+L00767190] mov [ebp-10h],edx lea edx,[esi+ecx*4+000000B0h] mov [ebp-0Ch],edx L00487127: lea ebx,[edi+10h] lea edx,[ebx-0Ch] mov [ebp-34h],edx add edx,0000000Bh cmp edx,[ebp-18h] jg L00487652 mov edx,[esi+00000108h] test edx,edx jz L0048715F cmp [esi+000000F4h],eax jnz L0048715F cmp eax,FFFFFFFFh jz L0048715F cmp [esi+000000F8h],ecx jnz L004875C9 L0048715F: mov edx,[ebp+08h] cmp edx,FFFFFFFFh jz L004871AC cmp edx,eax jnz L004875C6 cmp edx,FFFFFFFFh jz L004871AC mov eax,[esi+38h] mov ecx,[eax+04h] push ecx push 00000063h push 00000098h push 000000A9h mov ecx,L006AAE78 call SUB_L0043BA40 mov edx,[ebp-1Ch] push eax mov eax,[ebp-24h] push ebx push edx push edi push eax mov ecx,L00669CC8 call SUB_L00437ED0 mov eax,[ebp-04h] mov ecx,[ebp-08h] L004871AC: cmp eax,FFFFFFFFh jnz L004873DF mov ecx,[ebp-10h] lea edx,[ebp-00000084h] push ecx push L004C9018 push edx call SUB_L0049AC80 add esp,0000000Ch lea eax,[ebp-30h] lea ecx,[ebp-2Ch] lea edx,[ebp-14h] push eax push ecx lea eax,[ebp-00000084h] push edx push eax push 00000006h mov ecx,L00669CC8 call SUB_L00437A10 mov eax,[ebp-14h] cdq xor eax,edx sub eax,edx and eax,00000001h xor eax,edx sub eax,edx jnz L00487200 inc [ebp-14h] L00487200: mov eax,[esi+00000108h] test eax,eax jz L0048721F mov ecx,[esi+000000F8h] mov eax,[ebp-08h] cmp ecx,eax jnz L0048721F mov edx,[ebp-0Ch] cmp dword ptr [edx],00000000h jz L0048722C L0048721F: mov eax,[ebp-08h] mov ecx,[esi+00000104h] cmp eax,ecx jnz L004872AB L0048722C: mov eax,[esi+000000E8h] test eax,eax mov eax,[ebp-18h] jz L0048726C cmp ebx,eax jl L0048723F mov ebx,eax L0048723F: mov ecx,[esi+38h] mov edx,[ecx+04h] mov ecx,L006AAE78 push edx push 00000063h push 00000098h push 000000A9h call SUB_L0043BA40 mov ecx,[ebp-24h] push eax mov eax,[ebp-1Ch] push ebx push eax add ecx,0000000Eh push edi push ecx jmp L004872A1 L0048726C: cmp ebx,eax jl L00487272 mov ebx,eax L00487272: mov edx,[esi+38h] mov ecx,L006AAE78 mov eax,[edx+04h] push eax push 00000063h push 00000098h push 000000A9h call SUB_L0043BA40 mov ecx,[ebp-14h] push eax mov eax,[ebp-24h] push ebx lea edx,[eax+ecx+0Eh] add eax,0000000Eh push edx push edi push eax L004872A1: mov ecx,L00669CC8 call SUB_L00437ED0 L004872AB: mov edx,[L00767188] xor eax,eax cmp edx,eax mov [ebp-24h],eax mov ecx,00000001h jle L004872E2 mov edx,[ebp-08h] L004872C2: xor ebx,ebx mov bl,[eax+L00767120] cmp [L00767260+ebx*4],edx jz L004872E0 mov ebx,[L00767188] inc eax cmp eax,ebx jl L004872C2 jmp L004872E2 L004872E0: xor ecx,ecx L004872E2: test ecx,ecx jnz L00487350 mov eax,[ebp-0Ch] cmp dword ptr [eax],00000000h jz L0048731B mov ecx,[esi+38h] xor edx,edx mov eax,[ecx+04h] xor ecx,ecx mov dx,[eax+02h] mov cx,[eax] push edx add eax,00000004h push ecx push eax mov eax,[esi+0000009Ch] lea edx,[edi-01h] push edx lea ecx,[ebp-24h] push eax push ecx mov edx,00000826h jmp L00487346 L0048731B: mov edx,[esi+38h] xor ecx,ecx mov eax,[edx+04h] xor edx,edx mov cx,[eax+02h] mov dx,[eax] push ecx mov ecx,[esi+0000009Ch] add eax,00000004h push edx push eax lea eax,[edi-01h] push eax lea edx,[ebp-24h] push ecx push edx mov edx,00000827h L00487346: mov ecx,SUB_L00488700 call SUB_L00439290 L00487350: mov eax,[esi+0000009Ch] mov ecx,[esi+000000E8h] add eax,00000002h test ecx,ecx mov [ebp-24h],eax jz L00487377 mov ecx,[ebp-08h] mov edx,[esi+00000104h] cmp edx,ecx jz L004875C0 L00487377: mov ecx,[esi+1Ch] lea edx,[ebp-24h] push edx mov edx,[esi+38h] push ecx add eax,0000000Eh mov ecx,[edx+04h] lea edx,[ebp-00000084h] add ecx,00000004h push ecx mov ecx,[ebp-28h] push edx push 00000000h add ecx,edi push 00000006h push ecx push eax mov ecx,L00669CC8 call SUB_L004375A0 mov ecx,[ebp-1Ch] mov eax,[esi+38h] mov ebx,0000000Ah lea edx,[ebp-24h] sub ecx,ebx push edx mov edx,[ebp-34h] mov [ebp-1Ch],ecx mov ecx,[eax+04h] mov eax,[ebp-14h] push ecx mov ecx,[ebp-24h] push 00000835h lea ecx,[ecx+eax+12h] call SUB_L00406BC0 add [ebp-1Ch],ebx jmp L004875C0 L004873DF: mov edx,[esi+00000108h] test edx,edx jz L00487457 cmp [esi+000000F4h],eax jnz L00487457 cmp [esi+000000F8h],ecx jnz L00487457 mov ecx,[esi+1Ch] sub ecx,00000032h mov eax,ecx mov [ebp-1Ch],ecx cdq xor eax,edx sub eax,edx and eax,00000001h xor eax,edx sub eax,edx jnz L00487416 dec ecx mov [ebp-1Ch],ecx L00487416: mov eax,[ebp-18h] cmp ebx,eax jl L0048741F mov ebx,eax L0048741F: mov edx,[esi+38h] mov ecx,L006AAE78 mov eax,[edx+04h] push eax push 00000063h push 00000098h push 000000A9h call SUB_L0043BA40 mov ecx,[ebp-1Ch] mov edx,[ebp-24h] push eax push ebx push ecx add edx,00000014h push edi push edx mov ecx,L00669CC8 call SUB_L00437ED0 mov eax,[ebp-04h] L00487457: mov ecx,[esi+1Ch] xor edx,edx mov dl,[eax+L00767120] sub ecx,0000005Ah mov eax,edx mov [ebp-1Ch],ecx lea ecx,[ebp-00000084h] lea eax,[eax+eax*4] shl eax,04h add eax,L00764170 push eax push L004C9018 push ecx call SUB_L0049AC80 mov ecx,[esi+38h] mov eax,[esi+1Ch] add esp,0000000Ch lea edx,[ebp-24h] push edx mov edx,[ecx+04h] mov ecx,[ebp-28h] push eax add edx,00000004h lea eax,[ebp-00000084h] push edx mov edx,[ebp-24h] push eax push 00000288h add ecx,edi push 00000009h add edx,00000014h push ecx push edx mov ecx,L00669CC8 call SUB_L004375A0 mov eax,[esi+1Ch] mov [ebp-1Ch],eax mov eax,[esi+00000184h] test eax,eax jz L00487513 mov edx,[ebp-04h] xor ecx,ecx mov ebx,0000000Ah mov cl,[edx+L00767120] mov eax,ecx xor ecx,ecx mov cx,[esi+eax*2+00000120h] mov eax,ecx cdq idiv ebx mov eax,66666667h push edx imul ecx sar edx,02h mov ecx,edx shr ecx,1Fh add edx,ecx push edx lea edx,[ebp-00000084h] push SSZ004CED94__d__d push edx jmp L00487551 L00487513: mov ecx,[ebp-04h] xor eax,eax mov ebx,0000000Ah mov al,[ecx+L00767120] xor ecx,ecx mov cx,[L007B8460+eax*2] mov eax,ecx cdq idiv ebx mov eax,66666667h push edx imul ecx sar edx,02h mov eax,edx lea ecx,[ebp-00000084h] shr eax,1Fh add edx,eax push edx push SSZ004CED94__d__d push ecx L00487551: call SUB_L0049AC80 add esp,00000010h lea edx,[ebp-30h] lea eax,[ebp-2Ch] lea ecx,[ebp-14h] push edx push eax lea edx,[ebp-00000084h] push ecx push edx push 00000009h mov ecx,L00669CC8 call SUB_L00437A10 mov edx,[esi+38h] mov ecx,[esi+1Ch] lea eax,[ebp-24h] mov ebx,[ebp-14h] push eax mov eax,[edx+04h] mov edx,[ebp-28h] add eax,00000004h push ecx push eax mov eax,[ebp-1Ch] lea ecx,[ebp-00000084h] push ecx sub eax,ebx push 00000288h add edx,edi push 00000009h sub eax,00000036h push edx push eax mov ecx,L00669CC8 call SUB_L004371A0 mov ecx,[esi+000000A4h] sub ecx,00000002h mov [ebp-1Ch],ecx L004875C0: mov eax,[ebp-04h] mov ecx,[ebp-08h] L004875C6: add edi,00000011h L004875C9: cmp dword ptr [ebp-10h],L00767190 jl L004875DA mov edx,[ebp-0Ch] cmp dword ptr [edx],00000000h jz L00487626 L004875DA: inc eax xor edx,edx mov [ebp-04h],eax mov dl,[eax+L00767120] cmp [L00767260+edx*4],ecx jz L0048761E mov edx,[esi+000000F4h] L004875F5: cmp eax,edx jnz L00487601 cmp [esi+000000F8h],ecx jz L0048761B L00487601: cmp eax,[L00767188] jge L0048761B inc eax xor ebx,ebx mov bl,[eax+L00767120] cmp [L00767260+ebx*4],ecx jnz L004875F5 L0048761B: mov [ebp-04h],eax L0048761E: cmp eax,[L00767188] jnz L00487646 L00487626: mov edx,[ebp-0Ch] mov eax,[ebp-10h] inc ecx add edx,00000004h add eax,00000011h mov dword ptr [ebp-04h],FFFFFFFFh mov [ebp-10h],eax mov eax,[ebp-04h] mov [ebp-08h],ecx mov [ebp-0Ch],edx L00487646: cmp ecx,[L00765110] jl L00487127 L00487652: mov ecx,esi call SUB_L00486D70 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 L00487670: push ebp mov ebp,esp sub esp,00000018h push ebx push esi push edi mov edi,ecx xor eax,eax cmp [edi+60h],eax jnz L0048768A mov ecx,[edi+38h] mov esi,[ecx+04h] jmp L00487690 L0048768A: mov edx,[edi+38h] mov esi,[edx+0Ch] L00487690: mov [ebp-08h],eax mov [ebp-04h],eax lea eax,[ebp-04h] lea ecx,[ebp-08h] push eax push ecx mov ecx,edi call SUB_L00440C60 mov ecx,[ebp-08h] mov eax,[ebp-04h] xor edx,edx mov ebx,[ebp+08h] mov [ebp-18h],ecx mov [ebp-14h],eax mov dx,[esi] add edx,ecx xor ecx,ecx mov [ebp-10h],edx mov cx,[esi+02h] lea edx,[ebp-18h] add eax,ecx push edx push ebx mov ecx,L00669608 mov [ebp-0Ch],eax call SUB_L00440D40 test eax,eax jz L00487772 mov eax,[L004C7F38] mov ecx,[L004C7F34] mov edx,[L006BAE7C] push eax mov eax,[ebp-04h] push ecx mov ecx,[ebp-08h] push edx push eax xor edx,edx mov dx,[esi+02h] xor eax,eax mov ax,[esi] push ecx push edx push eax push ebx lea edx,[esi+04h] mov ecx,SUB_L00488700 call SUB_L00439500 mov esi,[edi+4Ch] test esi,esi jz L00487772 L0048771E: mov edx,[esi] mov ecx,esi call [edx+000000C4h] test eax,eax jz L00487739 mov eax,[esi+000000B4h] mov ecx,[edi+60h] cmp eax,ecx jz L00487763 L00487739: mov eax,[esi] mov ecx,esi call [eax+000000B4h] test eax,eax jz L0048774E mov eax,[edi+60h] test eax,eax jz L00487763 L0048774E: mov eax,[esi] mov ecx,esi call [eax+000000E8h] test eax,eax jz L0048776B mov eax,[edi+60h] test eax,eax jnz L0048776B L00487763: mov edx,[esi] push ebx mov ecx,esi call [edx+0Ch] L0048776B: mov esi,[esi+40h] test esi,esi jnz L0048771E L00487772: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 8 L00487780: push ebp mov ebp,esp sub esp,00000008h push ebx mov ebx,ecx push esi push edi mov eax,[ebx+60h] test eax,eax jnz L0048779A mov eax,[ebx+38h] mov ecx,[eax+04h] jmp L004877A0 L0048779A: mov ecx,[ebx+38h] mov ecx,[ecx+0Ch] L004877A0: mov esi,[ebp+08h] xor eax,eax mov ax,[ecx] xor edx,edx mov dx,[ecx+02h] add ecx,00000004h test esi,esi jl L0048784C mov edi,[ebp+0Ch] test edi,edi jl L0048784C cmp esi,eax jge L0048784C cmp edi,edx jge L0048784C imul eax,edi add eax,esi cmp word ptr [ecx+eax*2],0000h jz L004877EA mov eax,00000001h pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L004877EA: lea edx,[ebp+0Ch] lea eax,[ebp+08h] push edx push eax mov ecx,ebx call SUB_L00440C60 mov esi,[ebx+44h] test esi,esi jz L0048784C L00487800: mov ecx,[ebp+08h] mov edx,[ebp+0Ch] mov [ebp-08h],ecx lea eax,[ebp-04h] lea ecx,[ebp-08h] push eax push ecx mov ecx,esi mov [ebp-04h],edx call SUB_L00440CD0 mov eax,[ebp-04h] mov ecx,[ebp-08h] mov edx,[esi] push eax push ecx mov ecx,esi call [edx+10h] test eax,eax jnz L0048783E mov esi,[esi+3Ch] test esi,esi jnz L00487800 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L0048783E: mov eax,00000001h pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L0048784C: pop edi pop esi xor eax,eax pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L00487860: push ebp mov ebp,esp sub esp,00000074h push ebx mov eax,[ebp+08h] push esi push edi mov edi,ecx mov ecx,[edi+0000009Ch] add ecx,00000002h cmp eax,ecx jl L00487B7C mov edx,[edi+000000A4h] sub edx,00000002h cmp eax,edx jg L00487B7C mov eax,[edi+000000A0h] mov ecx,[ebp+0Ch] add eax,00000002h cmp ecx,eax jl L00487B7C mov edx,[edi+000000A8h] sub edx,00000002h cmp ecx,edx jg L00487B7C mov edx,eax mov eax,[edi+000000ACh] test eax,eax mov [ebp-14h],edx jz L004878D5 mov ecx,[edi+000000ECh] or eax,FFFFFFFFh mov [ebp-08h],ecx mov [ebp-04h],eax jmp L004878F0 L004878D5: mov eax,[edi+000000ECh] xor ecx,ecx mov [ebp-04h],eax mov cl,[eax+L00767120] mov ecx,[L00767260+ecx*4] mov [ebp-08h],ecx L004878F0: cmp ecx,[L00765110] jge L00487B7C add edx,00000011h lea esi,[edi+ecx*4+000000B0h] mov [ebp-10h],edx mov edx,ecx shl edx,04h mov [ebp-0Ch],esi lea edx,[edx+ecx+L00767190] mov [ebp-18h],edx L0048791B: mov esi,[edi+000000A8h] mov ebx,[ebp-10h] sub esi,00000002h add ebx,FFFFFFFEh cmp ebx,esi jg L00487B7C mov esi,[edi+00000108h] test esi,esi jz L00487955 cmp [edi+000000F4h],eax jnz L00487955 cmp eax,FFFFFFFFh jz L00487955 cmp [edi+000000F8h],ecx jnz L00487AA1 L00487955: mov esi,[ebp+0Ch] mov ebx,[ebp-14h] cmp esi,ebx jl L00487A8C cmp esi,[ebp-10h] jge L00487A8C cmp eax,FFFFFFFFh jnz L004879A8 push edx lea eax,[ebp-74h] push L004C9018 push eax call SUB_L0049AC80 mov esi,[edi+0000009Ch] add esp,0000000Ch lea ecx,[ebp-20h] lea edx,[ebp-24h] push ecx lea eax,[ebp-1Ch] push edx lea ecx,[ebp-74h] push eax push ecx add esi,00000002h mov ebx,00000032h push 00000006h jmp L00487A63 L004879A8: xor edx,edx mov dl,[eax+L00767120] mov eax,edx mov ecx,[L00765118+eax*4] cmp ecx,FFFFFFFFh mov ecx,[edi+00000184h] jle L00487A0D test ecx,ecx jz L004879D4 xor ecx,ecx mov cx,[edi+eax*2+00000120h] jmp L004879DE L004879D4: xor ecx,ecx mov cx,[L007B8460+eax*2] L004879DE: lea edx,[eax+eax*4] push ecx shl edx,04h add edx,L00764170 lea eax,[ebp-74h] push edx push SSZ004CED9C__s____d__ push eax call SUB_L0049AC80 mov esi,[edi+0000009Ch] add esp,00000010h add esi,00000016h mov ebx,0000001Eh jmp L00487A51 L00487A0D: test ecx,ecx jz L00487A1D xor ecx,ecx mov cx,[edi+eax*2+00000120h] jmp L00487A27 L00487A1D: xor ecx,ecx mov cx,[L007B8460+eax*2] L00487A27: lea edx,[eax+eax*4] push ecx shl edx,04h add edx,L00764170 lea eax,[ebp-74h] push edx push SSZ004CED9C__s____d__ push eax call SUB_L0049AC80 mov esi,[edi+0000009Ch] add esp,00000010h add esi,00000016h xor ebx,ebx L00487A51: lea ecx,[ebp-20h] lea edx,[ebp-24h] push ecx lea eax,[ebp-1Ch] push edx lea ecx,[ebp-74h] push eax push ecx push 00000009h L00487A63: mov ecx,L00669CC8 call SUB_L00437A10 mov eax,[ebp+08h] cmp eax,esi jl L00487A83 mov edx,[ebp-1Ch] add ebx,esi add ebx,edx cmp eax,ebx jl L00487B31 L00487A83: mov ecx,[ebp-08h] mov eax,[ebp-04h] mov edx,[ebp-18h] L00487A8C: mov ebx,[ebp-14h] mov esi,00000011h add ebx,esi mov [ebp-14h],ebx mov ebx,[ebp-10h] add ebx,esi mov [ebp-10h],ebx L00487AA1: cmp edx,L00767190 jl L00487AB1 mov esi,[ebp-0Ch] cmp dword ptr [esi],00000000h jz L00487AFD L00487AB1: inc eax xor ebx,ebx mov [ebp-04h],eax mov bl,[eax+L00767120] cmp [L00767260+ebx*4],ecx jz L00487AF5 mov esi,[edi+000000F4h] L00487ACC: cmp eax,esi jnz L00487AD8 cmp [edi+000000F8h],ecx jz L00487AF2 L00487AD8: cmp eax,[L00767188] jge L00487AF2 inc eax xor ebx,ebx mov bl,[eax+L00767120] cmp [L00767260+ebx*4],ecx jnz L00487ACC L00487AF2: mov [ebp-04h],eax L00487AF5: cmp eax,[L00767188] jnz L00487B1A L00487AFD: mov esi,[ebp-0Ch] inc ecx add esi,00000004h add edx,00000011h mov dword ptr [ebp-04h],FFFFFFFFh mov [ebp-08h],ecx mov eax,[ebp-04h] mov [ebp-0Ch],esi mov [ebp-18h],edx L00487B1A: cmp ecx,[L00765110] jl L0048791B xor eax,eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0010h ;------------------------------------------------------------------------------ L00487B31: mov eax,[ebp-04h] test eax,eax jl L00487B54 mov edx,[ebp+10h] mov ecx,[ebp+14h] mov dword ptr [edx],00000000h mov [ecx],eax mov eax,00000001h pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0010h ;------------------------------------------------------------------------------ L00487B54: mov edx,[ebp-14h] mov eax,[ebp+10h] mov ecx,[ebp+14h] mov [L00764168],edx mov edx,[ebp-08h] mov dword ptr [eax],00000001h mov [ecx],edx mov eax,00000001h pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0010h ;------------------------------------------------------------------------------ L00487B7C: pop edi pop esi xor eax,eax pop ebx mov esp,ebp pop ebp retn 0010h ;------------------------------------------------------------------------------ Align 16 SUB_L00487B90: push ebp mov ebp,esp push FFFFFFFFh push L004B4FCB mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000010h push ebx mov ebx,ecx push esi lea eax,[ebp-14h] push edi lea ecx,[ebp-10h] push eax lea edx,[ebp-18h] push ecx push edx push L004C41E4 push 00000006h mov ecx,L00669CC8 call SUB_L00437A10 mov eax,[L00764168] mov esi,[ebp-10h] push 00000158h lea edi,[eax-02h] call SUB_L0049A820 add esp,00000004h mov [ebp-1Ch],eax test eax,eax mov dword ptr [ebp-04h],00000000h jz L00487C2D mov cx,[ebx+000000A4h] mov edx,[ebx+0000009Ch] sub cx,[ebx+0000009Ch] push 00000000h push 00000000h push 00000001h push 00000000h push 00000006h push 00000010h add esi,00000004h push 00000000h inc ecx push esi push ecx add edi,FFFFFFFAh push ebx add edx,0000000Dh push edi push edx mov ecx,eax call SUB_L0041A980 jmp L00487C2F L00487C2D: xor eax,eax L00487C2F: push 00000001h push ebx mov ecx,eax mov dword ptr [ebp-04h],FFFFFFFFh mov [ebx+00000098h],eax call SUB_L004415C0 mov eax,[ebx+00000098h] push 0000E023h mov [L0066962C],eax mov eax,[ebx+00000104h] mov edx,[ebx+00000098h] mov ecx,eax shl ecx,04h add edx,000000ECh lea edi,[ecx+eax+L00767190] or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov ecx,[ebx+00000098h] mov edx,[ecx] call [edx+44h] push FFFFFFFFh mov ecx,ebx mov dword ptr [ebx+000000E8h],00000001h call SUB_L00486F70 mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00487CD0: push ebp mov ebp,esp push FFFFFFFFh push L004B5014 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000014h push ebx push esi mov ebx,ecx push edi mov [ebp-10h],ebx call SUB_L00441CB0 xor esi,esi push SSZ004C4EF0_framedata_for_CDumbGump push 00000008h mov ecx,L00669C8C mov [ebp-04h],esi mov dword ptr [ebx],L004BC5F0 mov dword ptr [ebx+04h],SSZ004CEDCC_EditGroup_gump mov [ebx+5Ch],esi mov dword ptr [ebx+50h],000013A6h mov [ebx+60h],esi mov [ebx+4Ch],esi mov [ebx+48h],esi mov [ebx+44h],esi mov [ebx+40h],esi mov [ebx+3Ch],esi mov dword ptr [ebx+1Ch],000000C8h mov dword ptr [ebx+20h],00000078h mov dword ptr [ebx+2Ch],000000DCh mov dword ptr [ebx+30h],000000B4h mov [ebx+10h],esi mov dword ptr [ebx+14h],00000001h call SUB_L0044FBD0 mov ecx,[ebx+14h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [ebx+38h],edi push SSZ004C4EE4_dumb_frame0 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[ebx+20h] imul eax,[ebx+1Ch] lea ecx,[eax+eax+04h] push ecx mov ecx,L00669C8C call SUB_L0044FBD0 mov edx,[ebx+38h] push esi mov [edx+04h],eax mov eax,[ebx+38h] mov dx,[ebx+1Ch] mov ecx,[eax+04h] mov [ecx],dx mov eax,[ebx+38h] mov dx,[ebx+20h] mov ecx,[eax+04h] xor eax,eax mov [ecx+02h],dx mov ecx,[ebx+20h] imul ecx,[ebx+1Ch] mov edx,[ebx+38h] shl ecx,1 mov edi,[edx+04h] mov edx,ecx add edi,00000004h shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[ebx+38h] mov ecx,000013ECh mov edx,[eax+04h] call SUB_L0041C100 mov ecx,[ebp+08h] mov eax,[ebx+1Ch] mov [ebx+00000098h],ecx mov [ebp-20h],esi mov [ebp-18h],eax mov [ebp-1Ch],esi mov edx,[ebx+20h] lea ecx,[ebp-20h] mov [ebp-14h],edx mov edx,[ebx+38h] push ecx push eax mov eax,[edx+04h] mov ecx,L00669CC8 add eax,00000004h push eax push SSZ004CEDC0_Group_Name_ push 00000386h push 00000001h push 00000014h push 00000014h call SUB_L004371A0 push 00000158h call SUB_L0049A820 add esp,00000004h mov [ebp+08h],eax cmp eax,esi mov byte ptr [ebp-04h],01h jz L00487E6D push 000000A0h push esi push 00000001h push 00000386h push 00000001h push 0000000Ch push esi push 0000145Dh push 0000145Ah push ebx push 0000001Ch push 00000014h mov ecx,eax call SUB_L0041A6F0 jmp L00487E6F L00487E6D: xor eax,eax L00487E6F: push 00000001h push ebx mov ecx,eax mov byte ptr [ebp-04h],00h mov [ebx+0000009Ch],eax call SUB_L004415C0 mov ecx,[ebx+0000009Ch] push 0000E023h mov [L0066962C],ecx mov eax,[ebx+00000098h] mov edx,eax or ecx,FFFFFFFFh shl edx,04h lea edi,[edx+eax+L00767190] mov edx,[ebx+0000009Ch] xor eax,eax add edx,000000ECh repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov ecx,[ebx+0000009Ch] mov edx,[ecx] call [edx+44h] mov ecx,[ebx+0000009Ch] call SUB_L0041AC50 mov edx,[ebx+38h] mov ecx,[ebx+1Ch] lea eax,[ebp-20h] push eax mov eax,[edx+04h] add eax,00000004h push ecx mov ecx,[ebx+20h] push eax push SSZ004CEDB8_Rename push 00000386h sub ecx,00000032h push 00000001h push ecx push 00000010h mov ecx,L00669CC8 call SUB_L004371A0 mov ecx,[ebx+38h] mov eax,[ebx+1Ch] lea edx,[ebp-20h] push edx mov edx,[ecx+04h] add edx,00000004h push eax mov eax,[ebx+20h] push edx push SSZ004CEDB0_Delete push 00000386h sub eax,00000032h push 00000001h push eax push 00000054h mov ecx,L00669CC8 call SUB_L004371A0 mov eax,[ebx+38h] mov edx,[ebx+1Ch] lea ecx,[ebp-20h] push ecx mov ecx,[eax+04h] add ecx,00000004h push edx mov edx,[ebx+20h] push ecx push SSZ004CEDA8_Cancel push 00000386h sub edx,00000032h push 00000001h push edx push 0000008Ch mov ecx,L00669CC8 call SUB_L004371A0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp+08h],eax test eax,eax mov byte ptr [ebp-04h],02h jz L00487FBB mov ecx,[ebx+20h] push 00000000h push 000013BBh push 000013BAh push L0040F940 push 00000000h push 00000000h sub ecx,00000028h push ebx push ecx push 00000014h mov ecx,eax call SUB_L004122F0 jmp L00487FBD L00487FBB: xor eax,eax L00487FBD: push 00000001h push ebx mov ecx,eax mov byte ptr [ebp-04h],00h call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp+08h],eax test eax,eax mov byte ptr [ebp-04h],03h jz L0048800B mov edx,[ebx+20h] push 00000000h push 000013BDh push 000013BCh push L0040F9D0 push 00000000h push 00000000h sub edx,00000028h push ebx push edx push 00000054h mov ecx,eax call SUB_L004122F0 jmp L0048800D L0048800B: xor eax,eax L0048800D: push 00000001h push ebx mov ecx,eax mov byte ptr [ebp-04h],00h call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp+08h],eax test eax,eax mov byte ptr [ebp-04h],04h jz L0048805E mov ecx,[ebx+20h] push 00000000h push 000013BDh push 000013BCh push L004068E0 push 00000000h push 00000000h sub ecx,00000028h push ebx push ecx push 00000090h mov ecx,eax call SUB_L004122F0 jmp L00488060 L0048805E: xor eax,eax L00488060: push 00000001h push ebx mov ecx,eax mov byte ptr [ebp-04h],00h call SUB_L004415C0 mov ecx,[ebp-0Ch] pop edi mov eax,ebx pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 L00488090: push ebp mov ebp,esp push esi mov esi,ecx call SUB_L004880C0 test byte ptr [ebp+08h],01h jz L004880AA push esi call SUB_L0049A810 add esp,00000004h L004880AA: mov eax,esi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L004880C0: push ebp mov ebp,esp push FFFFFFFFh push L004B5028 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx push edi mov [ebp-10h],esi mov dword ptr [esi],L004BC5F0 mov ecx,[esi+0000009Ch] xor edi,edi cmp ecx,edi mov [ebp-04h],edi jz L00488101 mov eax,[ecx] push 00000001h call [eax] mov [esi+0000009Ch],edi L00488101: mov ecx,[esi+38h] mov eax,[ecx+04h] cmp eax,edi jz L00488121 push SSZ004CEDF0_EditGroup_frame0_pBMP push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov edx,[esi+38h] mov [edx+04h],edi L00488121: mov eax,[esi+38h] cmp eax,edi jz L0048813B push SSZ004CEDDC_EditGroup_framedata push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov [esi+38h],edi L0048813B: mov ecx,esi mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00441D50 mov ecx,[ebp-0Ch] pop edi mov fs:[00000000h],ecx pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 L00488160: push ebp mov ebp,esp sub esp,00000028h push ebx xor eax,eax push esi mov esi,ecx mov [ebp-08h],eax mov [ebp-04h],eax lea eax,[ebp-04h] push edi lea ecx,[ebp-08h] push eax push ecx mov ecx,esi call SUB_L00440C60 mov edx,[esi+38h] mov ecx,[ebp-08h] mov eax,[ebp-04h] mov ebx,[ebp+08h] mov edi,[edx+04h] xor edx,edx mov [ebp-18h],ecx mov [ebp-14h],eax mov dx,[edi] add edx,ecx xor ecx,ecx mov [ebp-10h],edx mov cx,[edi+02h] lea edx,[ebp-18h] add eax,ecx push edx push ebx mov ecx,L00669608 mov [ebp-0Ch],eax call SUB_L00440D40 test eax,eax jz L00488226 lea eax,[ebp-28h] lea edx,[ebp-18h] push eax mov ecx,ebx call SUB_L00440D90 mov ecx,[L004C7F38] mov edx,[L004C7F34] mov eax,[L006BAE7C] push ecx mov ecx,[ebp-04h] push edx mov edx,[ebp-08h] push eax xor eax,eax push ecx mov ax,[edi+02h] xor ecx,ecx mov cx,[edi] push edx push eax mov eax,[esi+38h] lea edx,[ebp-28h] push ecx push edx mov edx,[eax+04h] add edx,00000004h mov ecx,SUB_L00488700 call SUB_L00439500 mov esi,[esi+4Ch] test esi,esi jz L00488226 L00488214: mov edx,[esi] lea eax,[ebp-28h] push eax mov ecx,esi call [edx+0Ch] mov esi,[esi+40h] test esi,esi jnz L00488214 L00488226: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 4 L00488230: push ebp mov ebp,esp mov eax,[ecx+38h] xor edx,edx push esi mov ecx,[eax+04h] xor eax,eax mov ax,[ecx] mov dx,[ecx+02h] mov ecx,[ebp+08h] test ecx,ecx jl L00488265 mov esi,[ebp+0Ch] test esi,esi jl L00488265 cmp ecx,eax jge L00488265 cmp esi,edx jge L00488265 mov eax,00000001h pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ L00488265: xor eax,eax pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 8 L00488270: jmp L0040F940 Align 16 L00488280: jmp L004068E0 Align 16 SUB_L00488290: push ebp mov ebp,esp mov eax,[ebp+08h] mov [ecx+00000184h],eax pop ebp retn 0004h ;------------------------------------------------------------------------------ SUB_L004882A0: push ebp mov ebp,esp mov eax,[ebp+08h] test eax,eax jl L004882BB cmp eax,00000032h jge L004882BB mov dx,[ebp+0Ch] mov [ecx+eax*2+00000120h],dx L004882BB: pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 4 SUB_L004882C0: mov eax,ecx retn ;------------------------------------------------------------------------------ Align 16 SUB_L004882D0: push ebp mov ebp,esp push ecx mov edx,[ebp+08h] lea eax,[ebp+08h] lea ecx,[ebp-04h] push eax push ecx push edx push 00000004h push 00000003h mov ecx,L006AA860 call SUB_L00446620 mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00488300: push ebp mov ebp,esp mov eax,[ebp+08h] push esi test eax,eax jz L0048836E mov edx,[ebp+10h] xor ecx,ecx mov cx,[eax+edx*2+08h] xor edx,edx mov dx,[eax+06h] add ecx,edx xor edx,edx mov dx,[eax+ecx*2+08h] lea eax,[eax+ecx*2+08h] xor ecx,ecx mov cx,[eax+02h] add eax,00000002h add eax,00000002h test ecx,ecx jz L0048836E mov esi,[ebp+0Ch] L0048833B: sub esi,edx js L0048836E cmp esi,ecx jl L00488365 lea eax,[eax+ecx*2] xor edx,edx sub esi,ecx xor ecx,ecx mov dx,[eax] mov cx,[eax+02h] add eax,00000002h add eax,00000002h test ecx,ecx jnz L0048833B xor ax,ax pop esi pop ebp retn 000Ch ;------------------------------------------------------------------------------ L00488365: mov ax,[eax+esi*2] pop esi pop ebp retn 000Ch ;------------------------------------------------------------------------------ L0048836E: xor ax,ax pop esi pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 16 SUB_L00488380: push ebp mov ebp,esp mov eax,[ebp+08h] push esi push edi mov edi,ecx lea ecx,[eax+eax] mov esi,edx mov edx,ecx shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb pop edi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 L004883B0: push ebp mov ebp,esp mov eax,[ebp+08h] push esi mov esi,ecx mov ecx,eax dec eax test ecx,ecx jz L004883F9 push edi push ebx lea edi,[eax+01h] L004883C5: mov cl,[L004D0738] xor eax,eax mov ax,[edx] add esi,00000002h mov ebx,eax mov eax,[L0076735C] shr ebx,cl lea ecx,[eax+eax*4] add edx,00000002h dec edi lea eax,[eax+ecx*2] lea ecx,[ebx+eax*4] mov ax,[L006C1A48+ecx*2] mov [esi-02h],ax jnz L004883C5 pop ebx pop edi L004883F9: pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 4 L00488400: push ebp mov ebp,esp mov eax,[ebp+08h] push esi mov esi,eax dec eax test esi,esi jz L0048848D inc eax push edi push ebx mov [ebp+08h],eax L00488414: mov di,[edx] add edx,00000002h mov eax,edi and eax,0000FFFFh mov ebx,eax mov esi,eax shr ebx,05h and ebx,0000001Fh and eax,0000001Fh shr esi,0Ah add ebx,eax cmp esi,ebx jle L0048847C mov eax,[L004C562C] mov edi,eax mov ebx,eax sar edi,05h sar ebx,0Ah shl esi,05h and edi,0000001Fh add ebx,L007170D8 add edi,L007170D8 sub ebx,esi sub edi,esi and eax,0000001Fh movzx bx,[ebx] movzx di,[edi] add eax,L007170D8 sub eax,esi shl ebx,05h movzx ax,[eax] or edi,ebx shl edi,05h or edi,eax L0048847C: mov eax,[ebp+08h] mov [ecx],di add ecx,00000002h dec eax mov [ebp+08h],eax jnz L00488414 pop ebx pop edi L0048848D: pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 L004884A0: push ebp mov ebp,esp mov eax,[ebp+08h] push esi mov esi,ecx mov ecx,eax dec eax test ecx,ecx jz L0048850A push edi push ebx lea edi,[eax+01h] L004884B5: mov ax,[edx] mov cx,[L004D073C] mov ebx,eax add edx,00000002h shr bx,cl mov ecx,eax and ecx,000003FFh xor ebx,ecx test bx,bx jz L004884DB mov [esi],ax jmp L00488502 L004884DB: mov cl,[L004D0738] and eax,0000FFFFh shr eax,cl mov ecx,[L0076735C] lea ebx,[ecx+ecx*4] lea ecx,[ecx+ebx*2] lea eax,[eax+ecx*4] mov cx,[L006C1A48+eax*2] mov [esi],cx L00488502: add esi,00000002h dec edi jnz L004884B5 pop ebx pop edi L0048850A: pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 4 L00488510: push ebp mov ebp,esp mov eax,[ebp+08h] push esi mov esi,eax dec eax test esi,esi jz L00488560 push edi push ebx lea esi,[eax+01h] L00488523: mov ax,[edx] mov edi,[L004D0744] xor ebx,ebx and eax,0000FFFFh mov bx,[ecx] and edi,eax and ebx,[L004D0744] add edx,00000002h add ecx,00000002h add edi,ebx mov ebx,[L004D0740] sar edi,1 and ebx,eax add edi,ebx sar edi,1 or edi,00000001h dec esi mov [ecx-02h],di jnz L00488523 pop ebx pop edi L00488560: pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 L00488570: push ebp mov ebp,esp mov eax,[ebp+08h] push esi mov esi,eax dec eax test esi,esi jz L004885C0 push edi push ebx lea esi,[eax+01h] L00488583: mov ax,[ecx] mov edi,[L004D0744] xor ebx,ebx and eax,0000FFFFh mov bx,[edx] and edi,eax and ebx,[L004D0744] add edx,00000002h add ecx,00000002h add edi,ebx mov ebx,[L004D0740] sar edi,1 and ebx,eax add edi,ebx sar edi,1 or edi,00000001h dec esi mov [ecx-02h],di jnz L00488583 pop ebx pop edi L004885C0: pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 L004885D0: push ebp mov ebp,esp mov eax,[ebp+08h] push esi mov esi,ecx mov ecx,eax dec eax test ecx,ecx jz L00488645 push edi push ebx lea edi,[eax+01h] L004885E5: mov cl,[L004D0738] xor eax,eax mov ax,[edx] add edx,00000002h mov ebx,eax mov eax,[L0076735C] shr ebx,cl lea ecx,[eax+eax*4] add esi,00000002h lea eax,[eax+ecx*2] lea ecx,[ebx+eax*4] xor ebx,ebx mov bx,[esi-02h] mov ax,[L006C1A48+ecx*2] mov ecx,[L004D0744] and ebx,[L004D0744] and eax,0000FFFFh and ecx,eax add ecx,ebx mov ebx,[L004D0740] sar ecx,1 and ebx,eax add ecx,ebx sar ecx,1 or ecx,00000001h dec edi mov [esi-02h],cx jnz L004885E5 pop ebx pop edi L00488645: pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 8 L00488650: push ebp mov ebp,esp mov eax,[ebp+08h] push esi mov esi,ecx mov ecx,eax dec eax test ecx,ecx jz L004886F2 inc eax push edi push ebx mov [ebp+08h],eax L0048866A: mov ax,[edx] mov cx,[L004D073C] mov edi,eax add edx,00000002h shr di,cl mov ecx,eax and ecx,000003FFh xor edi,ecx test di,di jz L00488690 mov [esi],ax jmp L004886E0 L00488690: mov cl,[L004D0738] and eax,0000FFFFh shr eax,cl mov ecx,[L0076735C] xor ebx,ebx mov bx,[esi] lea edi,[ecx+ecx*4] lea ecx,[ecx+edi*2] lea eax,[eax+ecx*4] mov ecx,[L004D0744] mov edi,ecx and ebx,ecx mov ax,[L006C1A48+eax*2] mov ecx,[L004D0740] and eax,0000FFFFh and edi,eax and ecx,eax add edi,ebx sar edi,1 add edi,ecx sar edi,1 or edi,00000001h mov [esi],di L004886E0: mov eax,[ebp+08h] add esi,00000002h dec eax mov [ebp+08h],eax jnz L0048866A pop ebx pop edi L004886F2: pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00488700: push ebp mov ebp,esp mov eax,[ebp+08h] push esi mov esi,eax dec eax test esi,esi jz L00488725 lea esi,[eax+01h] L00488711: mov ax,[edx] test ax,ax jz L0048871C mov [ecx],ax L0048871C: add edx,00000002h add ecx,00000002h dec esi jnz L00488711 L00488725: pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 8 L00488730: push ebp mov ebp,esp mov eax,[ebp+08h] push esi mov esi,eax dec eax test esi,esi jz L00488789 inc eax push edi push ebx mov [ebp+08h],eax L00488744: mov ax,[edx] test ax,ax jz L00488778 mov esi,[L004D0744] xor ebx,ebx mov bx,[ecx] and eax,0000FFFFh mov edi,esi and ebx,esi mov esi,[L004D0740] and edi,eax add edi,ebx and esi,eax sar edi,1 add edi,esi sar edi,1 or edi,00000001h mov [ecx],di L00488778: mov eax,[ebp+08h] add edx,00000002h add ecx,00000002h dec eax mov [ebp+08h],eax jnz L00488744 pop ebx pop edi L00488789: pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L00488790: push ebp mov ebp,esp mov eax,[ebp+08h] push esi mov esi,eax dec eax test esi,esi jz L004887D6 push edi push ebx lea edi,[eax+01h] L004887A3: mov ax,[edx] test ax,ax jz L004887CB mov esi,[L004D0740] and eax,0000FFFFh mov ebx,esi and ebx,eax xor eax,eax mov ax,[ecx] and eax,esi add ebx,eax sar ebx,1 or ebx,00000001h mov [ecx],bx L004887CB: add edx,00000002h add ecx,00000002h dec edi jnz L004887A3 pop ebx pop edi L004887D6: pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 8 SUB_L004887E0: push ebp mov ebp,esp mov eax,[ebp+08h] push esi mov esi,ecx mov ecx,eax dec eax test ecx,ecx jz L0048882F push edi push ebx lea edi,[eax+01h] L004887F5: mov ax,[edx] test ax,ax jz L00488824 mov cl,[L004D0738] and eax,0000FFFFh shr eax,cl mov ecx,[L0076735C] lea ebx,[ecx+ecx*4] lea ecx,[ecx+ebx*2] lea eax,[eax+ecx*4] mov cx,[L006C1A48+eax*2] mov [esi],cx L00488824: add edx,00000002h add esi,00000002h dec edi jnz L004887F5 pop ebx pop edi L0048882F: pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 L00488840: push ebp mov ebp,esp mov eax,[ebp+08h] push esi mov esi,ecx mov ecx,eax dec eax test ecx,ecx jz L004888AF push edi push ebx lea edi,[eax+01h] L00488855: mov ax,[edx] add edx,00000002h test ax,ax jz L004888A7 mov cx,[L004D073C] mov ebx,eax shr bx,cl mov ecx,eax and ecx,000003FFh xor ebx,ecx test bx,bx jz L00488880 mov [esi],ax jmp L004888A7 L00488880: mov cl,[L004D0738] and eax,0000FFFFh shr eax,cl mov ecx,[L0076735C] lea ebx,[ecx+ecx*4] lea ecx,[ecx+ebx*2] lea eax,[eax+ecx*4] mov cx,[L006C1A48+eax*2] mov [esi],cx L004888A7: add esi,00000002h dec edi jnz L00488855 pop ebx pop edi L004888AF: pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 L004888C0: push ebp mov ebp,esp mov eax,[ebp+08h] push esi mov esi,ecx mov ecx,eax dec eax test ecx,ecx jz L0048893F inc eax push edi push ebx mov [ebp+08h],eax L004888D6: mov ax,[edx] test ax,ax jz L0048892E mov cl,[L004D0738] and eax,0000FFFFh shr eax,cl mov ecx,[L0076735C] xor ebx,ebx mov bx,[esi] lea edi,[ecx+ecx*4] lea ecx,[ecx+edi*2] lea eax,[eax+ecx*4] mov ecx,[L004D0744] mov edi,ecx and ebx,ecx mov ax,[L006C1A48+eax*2] mov ecx,[L004D0740] and eax,0000FFFFh and edi,eax and ecx,eax add edi,ebx sar edi,1 add edi,ecx sar edi,1 or edi,00000001h mov [esi],di L0048892E: mov eax,[ebp+08h] add edx,00000002h add esi,00000002h dec eax mov [ebp+08h],eax jnz L004888D6 pop ebx pop edi L0048893F: pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 L00488950: push ebp mov ebp,esp mov eax,[ebp+08h] push esi mov esi,ecx mov ecx,eax dec eax test ecx,ecx jz L004889F7 inc eax push edi push ebx mov [ebp+08h],eax L0048896A: mov ax,[edx] add edx,00000002h test ax,ax jz L004889E5 mov cx,[L004D073C] mov edi,eax shr di,cl mov ecx,eax and ecx,000003FFh xor edi,ecx test di,di jz L00488995 mov [esi],ax jmp L004889E5 L00488995: mov cl,[L004D0738] and eax,0000FFFFh shr eax,cl mov ecx,[L0076735C] xor ebx,ebx mov bx,[esi] lea edi,[ecx+ecx*4] lea ecx,[ecx+edi*2] lea eax,[eax+ecx*4] mov ecx,[L004D0744] mov edi,ecx and ebx,ecx mov ax,[L006C1A48+eax*2] mov ecx,[L004D0740] and eax,0000FFFFh and edi,eax and ecx,eax add edi,ebx sar edi,1 add edi,ecx sar edi,1 or edi,00000001h mov [esi],di L004889E5: mov eax,[ebp+08h] add esi,00000002h dec eax mov [ebp+08h],eax jnz L0048896A pop ebx pop edi L004889F7: pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 8 SUB_L00488A00: mov [L00767364],ecx mov [L00767360],edx retn ;------------------------------------------------------------------------------ Align 4 SUB_L00488A10: push ebp mov ebp,esp sub esp,0000001Ch push ebx push esi test edx,edx push edi mov [ebp-0Ch],ecx jz L00488BA5 xor ebx,ebx mov esi,[ebp+0Ch] mov bx,[edx+06h] xor eax,eax mov ax,[edx+04h] mov [ebp-14h],ebx lea ecx,[edx+ebx*2+08h] mov [ebp-18h],ecx mov ecx,[ebp+08h] mov ecx,[ecx] cmp ecx,esi jle L00488A4F sub ecx,esi mov edi,ecx mov [ebp-08h],edi jmp L00488A59 L00488A4F: mov dword ptr [ebp-08h],00000000h mov edi,[ebp-08h] L00488A59: mov ecx,[ebp+08h] add esi,eax mov ecx,[ecx+08h] cmp ecx,esi jge L00488A6D sub ecx,[ebp+0Ch] mov [ebp-04h],ecx jmp L00488A70 L00488A6D: mov [ebp-04h],eax L00488A70: cmp edi,[ebp-04h] jge L00488BA5 mov esi,[ebp+08h] mov ecx,[ebp+10h] mov eax,[esi+04h] cmp eax,ecx jle L00488A8A sub eax,ecx jmp L00488A8C L00488A8A: xor eax,eax L00488A8C: mov esi,[esi+0Ch] add ebx,ecx cmp esi,ebx jge L00488A99 sub esi,ecx jmp L00488A9D L00488A99: mov esi,[ebp-14h] dec esi L00488A9D: add ecx,eax mov ebx,[ebp+0Ch] imul ecx,[L00767360] add ecx,ebx mov ebx,[L00767364] lea edx,[edx+eax*2+08h] lea ecx,[ebx+ecx*2] mov [ebp-10h],edx mov [ebp+08h],ecx mov ecx,[ebp-04h] sub ecx,edi cmp eax,esi mov [ebp-1Ch],ecx jge L00488BA5 sub esi,eax mov [ebp-14h],esi L00488AD3: mov ecx,[ebp-18h] xor eax,eax mov ax,[edx] lea esi,[ecx+eax*2] mov ax,[ecx+eax*2] mov bx,[esi+02h] add esi,00000002h mov [ebp+10h],eax add esi,00000002h test bx,bx jz L00488B81 L00488AF8: and eax,0000FFFFh cmp edi,eax jle L00488B2B mov edx,[ebp+08h] lea ecx,[edx+edi*2] sub edi,eax lea edx,[esi+edi*2] mov edi,ebx and edi,0000FFFFh add eax,edi cmp eax,[ebp-04h] jle L00488B21 mov eax,[ebp-1Ch] push eax jmp L00488B55 L00488B21: sub eax,[ebp-08h] test eax,eax jle L00488B58 push eax jmp L00488B55 L00488B2B: mov ecx,[ebp+08h] mov edi,ebx and edi,0000FFFFh lea edx,[ecx+eax*2] mov ecx,[ebp-04h] mov [ebp+0Ch],edx lea edx,[edi+eax] cmp edx,ecx jle L00488B4F sub ecx,eax test ecx,ecx jle L00488B58 push ecx jmp L00488B50 L00488B4F: push edi L00488B50: mov ecx,[ebp+0Ch] mov edx,esi L00488B55: call [ebp-0Ch] L00488B58: lea esi,[esi+edi*2] xor eax,eax mov edi,[ebp-08h] mov ax,[esi] add esi,00000002h add esi,00000002h lea ecx,[eax+ebx] mov eax,[ebp+10h] mov bx,[esi-02h] add eax,ecx test bx,bx mov [ebp+10h],eax jnz L00488AF8 L00488B81: mov edx,[ebp+08h] mov eax,[L00767360] lea ecx,[edx+eax*2] mov edx,[ebp-10h] mov eax,[ebp-14h] add edx,00000002h dec eax mov [ebp+08h],ecx mov [ebp-10h],edx mov [ebp-14h],eax jnz L00488AD3 L00488BA5: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 4 SUB_L00488BB0: push ebp mov ebp,esp sub esp,00000010h test edx,edx push esi mov [ebp-10h],ecx jz L00488C7C xor eax,eax mov esi,[ebp+08h] mov ax,[edx+06h] lea ecx,[edx+eax*2+08h] add edx,00000008h mov [ebp-0Ch],ecx mov ecx,[ebp+0Ch] imul ecx,[L00767360] add ecx,esi mov esi,[L00767364] test eax,eax lea ecx,[esi+ecx*2] mov [ebp-04h],edx mov [ebp+08h],ecx jle L00488C7C push edi push ebx mov [ebp-08h],eax L00488BFD: mov ecx,[ebp-0Ch] xor eax,eax mov ax,[edx] mov dx,[ecx+eax*2] lea esi,[ecx+eax*2] mov [ebp+0Ch],dx add esi,00000002h mov di,[esi] add esi,00000002h test di,di jz L00488C5A L00488C1E: mov eax,[ebp+0Ch] mov ecx,[ebp+08h] mov ebx,edi and eax,0000FFFFh and ebx,0000FFFFh mov edx,esi push ebx lea ecx,[ecx+eax*2] call [ebp-10h] mov edx,[ebp+0Ch] lea esi,[esi+ebx*2] xor eax,eax mov ax,[esi] add esi,00000002h add eax,edi mov di,[esi] add edx,eax add esi,00000002h mov [ebp+0Ch],edx test di,di jnz L00488C1E L00488C5A: mov edx,[ebp+08h] mov eax,[L00767360] lea ecx,[edx+eax*2] mov edx,[ebp-04h] mov eax,[ebp-08h] add edx,00000002h dec eax mov [ebp+08h],ecx mov [ebp-04h],edx mov [ebp-08h],eax jnz L00488BFD pop ebx pop edi L00488C7C: pop esi mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L00488C90: push ebp mov ebp,esp mov eax,[ebp+0Ch] push ebx push esi mov esi,ecx mov ecx,[ebp+08h] push 00000000h mov edx,[esi+04h] push eax push ecx push edx mov bl,01h call jmp_WSOCK32.dll!WSOCK32.19 cmp eax,FFFFFFFFh jnz L00488CC5 call jmp_WSOCK32.dll!WSOCK32.111 mov ecx,eax mov [esi+00000424h],eax call SUB_L004890F0 xor bl,bl L00488CC5: mov al,bl pop esi pop ebx pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 4 SUB_L00488CD0: push ebx push esi mov esi,ecx push 00000000h push 00000400h mov bl,01h mov ecx,[esi+0Ch] lea eax,[esi+21h] push eax push ecx call jmp_WSOCK32.dll!WSOCK32.16 cmp eax,FFFFFFFFh jnz L00488D11 call jmp_WSOCK32.dll!WSOCK32.111 mov cl,[esi+20h] mov [esi+00000424h],eax test cl,cl jz L00488D08 cmp eax,00002733h jz L00488D0F L00488D08: mov ecx,eax call SUB_L004890F0 L00488D0F: xor bl,bl L00488D11: mov al,bl pop esi pop ebx retn ;------------------------------------------------------------------------------ Align 16 SUB_L00488D20: push ebp mov ebp,esp push FFFFFFFFh push L004B5048 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000008h push esi push edi mov esi,ecx push 00000000h or edi,FFFFFFFFh push 00000001h push 00000002h mov [ebp-14h],esi mov dword ptr [esi],L004BC734 mov [esi+04h],edi mov [esi+08h],edi mov [esi+0Ch],edi mov byte ptr [esi+20h],00h call jmp_WSOCK32.dll!WSOCK32.23 cmp eax,edi mov [esi+04h],eax jnz L00488D7C call jmp_WSOCK32.dll!WSOCK32.111 mov ecx,eax mov [esi+00000424h],eax call SUB_L004890F0 L00488D7C: mov eax,[ebp+08h] push eax call jmp_WSOCK32.dll!WSOCK32.8 mov ecx,[ebp+0Ch] mov [esi+14h],eax push ecx call jmp_WSOCK32.dll!WSOCK32.9 lea edx,[ebp-10h] push 00000004h mov [esi+12h],ax mov eax,[esi+04h] push edx push 00000004h push 0000FFFFh push eax mov dword ptr [ebp-10h],00000001h call jmp_WSOCK32.dll!WSOCK32.21 mov edx,[esi+04h] lea ecx,[ebp+08h] lea edi,[esi+10h] push ecx push 8004667Eh push edx mov word ptr [edi],0002h mov dword ptr [ebp+08h],00000001h call jmp_WSOCK32.dll!WSOCK32.12 mov byte ptr [esi+20h],01h mov eax,[esi+04h] push 00000010h push edi push eax mov dword ptr [ebp-04h],00000000h mov dword ptr [esi],L004BC738 call jmp_WSOCK32.dll!WSOCK32.2 cmp eax,FFFFFFFFh jnz L00488E07 call jmp_WSOCK32.dll!WSOCK32.111 mov ecx,eax mov [esi+00000424h],eax call SUB_L004890F0 L00488E07: mov ecx,[esi+04h] push 00000005h push ecx call jmp_WSOCK32.dll!WSOCK32.13 cmp eax,FFFFFFFFh jnz L00488E29 call jmp_WSOCK32.dll!WSOCK32.111 mov ecx,eax mov [esi+00000424h],eax call SUB_L004890F0 L00488E29: mov edx,[esi+04h] mov ecx,[ebp-0Ch] mov [esi+08h],edx mov eax,esi pop edi mov fs:[00000000h],ecx pop esi mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 L00488E50: push ebp mov ebp,esp push esi mov esi,ecx call SUB_L00488E80 test byte ptr [ebp+08h],01h jz L00488E6A push esi call SUB_L0049A810 add esp,00000004h L00488E6A: mov eax,esi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00488E80: push esi mov esi,ecx mov eax,[esi+08h] mov dword ptr [esi],L004BC738 push eax call jmp_WSOCK32.dll!WSOCK32.3 mov ecx,[esi+04h] mov dword ptr [esi],L004BC734 push ecx call jmp_WSOCK32.dll!WSOCK32.3 or eax,FFFFFFFFh mov byte ptr [esi+20h],00h mov [esi+04h],eax mov [esi+08h],eax mov [esi+0Ch],eax pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L00488EC0: push ebp mov ebp,esp sub esp,00000414h push ebx push esi mov esi,ecx lea eax,[ebp-04h] lea ecx,[ebp-14h] push eax mov edx,[esi+08h] push ecx push edx mov bl,01h mov dword ptr [ebp-04h],00000010h call jmp_WSOCK32.dll!WSOCK32.1 cmp eax,FFFFFFFFh mov [esi+0Ch],eax jnz L00488F19 call jmp_WSOCK32.dll!WSOCK32.111 mov cl,[esi+20h] mov [esi+00000424h],eax test cl,cl jz L00488F08 cmp eax,00002733h jz L00488F0F L00488F08: mov ecx,eax call SUB_L004890F0 L00488F0F: xor bl,bl mov al,bl pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00488F19: mov eax,[ebp-10h] push eax call jmp_WSOCK32.dll!WSOCK32.14 push eax lea ecx,[ebp-00000414h] push SSZ004CEE08_connection_from__08x push ecx call SUB_L0049AC80 add esp,0000000Ch mov al,bl pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 4 SUB_L00488F40: push ebp mov ebp,esp push ecx push esi mov esi,ecx push 00000000h push 00000001h push 00000002h mov dword ptr [esi],L004BC734 mov dword ptr [esi+04h],FFFFFFFFh mov dword ptr [esi+08h],FFFFFFFFh mov dword ptr [esi+0Ch],FFFFFFFFh mov byte ptr [esi+20h],00h call jmp_WSOCK32.dll!WSOCK32.23 cmp eax,FFFFFFFFh mov [esi+04h],eax jnz L00488F8B call jmp_WSOCK32.dll!WSOCK32.111 mov ecx,eax mov [esi+00000424h],eax call SUB_L004890F0 L00488F8B: mov eax,[ebp+08h] push eax call jmp_WSOCK32.dll!WSOCK32.8 mov ecx,[ebp+0Ch] mov [esi+14h],eax push ecx call jmp_WSOCK32.dll!WSOCK32.9 lea edx,[ebp-04h] push 00000004h mov [esi+12h],ax mov eax,[esi+04h] push edx push 00000004h push 0000FFFFh push eax mov dword ptr [ebp-04h],00000001h call jmp_WSOCK32.dll!WSOCK32.21 mov edx,[esi+04h] lea ecx,[ebp+08h] push ecx push 8004667Eh push edx mov word ptr [esi+10h],0002h mov dword ptr [ebp+08h],00000001h call jmp_WSOCK32.dll!WSOCK32.12 mov byte ptr [esi+20h],01h mov dword ptr [esi],L004BC73C mov eax,esi pop esi mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 L00489000: push ebp mov ebp,esp push esi mov esi,ecx call SUB_L00489030 test byte ptr [ebp+08h],01h jz L0048901A push esi call SUB_L0049A810 add esp,00000004h L0048901A: mov eax,esi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00489030: push esi mov esi,ecx mov eax,[esi+04h] mov dword ptr [esi],L004BC734 push eax call jmp_WSOCK32.dll!WSOCK32.3 or eax,FFFFFFFFh mov byte ptr [esi+20h],00h mov [esi+04h],eax mov [esi+08h],eax mov [esi+0Ch],eax pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L00489060: push ebx push esi mov esi,ecx push 00000010h mov bl,01h mov ecx,[esi+04h] lea eax,[esi+10h] push eax push ecx call jmp_WSOCK32.dll!WSOCK32.4 cmp eax,FFFFFFFFh jnz L004890E7 call jmp_WSOCK32.dll!WSOCK32.111 mov cl,[esi+20h] mov [esi+00000424h],eax test cl,cl jz L004890B4 cmp eax,00002734h jz L004890CB test cl,cl jz L004890B4 cmp eax,00002733h jz L004890CB test cl,cl jz L004890B4 cmp eax,00002748h jz L004890CB test cl,cl jz L004890B4 cmp eax,00002726h jz L004890CB L004890B4: mov ecx,eax call SUB_L004890F0 mov edx,[esi+04h] push edx call jmp_WSOCK32.dll!WSOCK32.3 mov dword ptr [esi+04h],FFFFFFFFh L004890CB: mov esi,[esi+00000424h] xor bl,bl cmp esi,00002748h jnz L004890DD mov bl,01h L004890DD: cmp esi,00002726h jnz L004890E7 mov bl,01h L004890E7: mov al,bl pop esi pop ebx retn ;------------------------------------------------------------------------------ Align 8 SUB_L004890F0: push ebp mov ebp,esp sub esp,00000400h lea eax,[ecx-00002714h] push esi cmp eax,00000059h push edi ja CASE_004892EC_PROC001C xor ecx,ecx mov cl,[eax+CASE_00489360] jmp [CASE_PROCTABLE_004892EC+ecx*4] CASE_004892EC_PROC001B: lea edx,[ebp-00000400h] mov edi,SSZ004CF870_A_successful_WSAStartup_must_occ jmp L004892C9 CASE_004892EC_PROC000F: lea edx,[ebp-00000400h] mov edi,SSZ004CF828_The_network_subsystem_or_the_ass jmp L004892C9 CASE_004892EC_PROC000C: lea edx,[ebp-00000400h] mov edi,SSZ004CF7F8_The_specified_address_family_is_ jmp L004892C9 CASE_004892EC_PROC000D: lea edx,[ebp-00000400h] mov edi,SSZ004CF798_The_specified_address_is_already jmp L004892C9 CASE_004892EC_PROC0002: lea edx,[ebp-00000400h] mov edi,SSZ004CF640_The_name_or_the_namelen_paramete jmp L004892C9 CASE_004892EC_PROC0006: lea edx,[ebp-00000400h] mov edi,SSZ004CF5C8_A_blocking_Windows_Sockets_1_1_c jmp L004892C9 CASE_004892EC_PROC0003: lea edx,[ebp-00000400h] mov edi,SSZ004CF59C_The_socket_is_already_bound_to_a jmp L004892C9 CASE_004892EC_PROC0004: lea edx,[ebp-00000400h] mov edi,SSZ004CF570_No_more_socket_descriptors_are_a jmp L004892C9 CASE_004892EC_PROC0014: lea edx,[ebp-00000400h] mov edi,SSZ004CF534_No_buffer_space_is_available__Th jmp L004892C9 CASE_004892EC_PROC0008: lea edx,[ebp-00000400h] mov edi,SSZ004CF514_The_descriptor_is_not_a_socket_ jmp L004892C9 CASE_004892EC_PROC000A: lea edx,[ebp-00000400h] mov edi,SSZ004CF4D8_The_specified_protocol_is_the_wr jmp L004892C9 CASE_004892EC_PROC0015: lea edx,[ebp-00000400h] mov edi,SSZ004CF4B4_The_socket_is_already_connected_ jmp L004892C9 CASE_004892EC_PROC000B: lea edx,[ebp-00000400h] mov edi,SSZ004CF468_The_referenced_socket_is_not_of_ jmp L004892C9 CASE_004892EC_PROC0000: lea edx,[ebp-00000400h] mov edi,SSZ004CF428_The__blocking__call_was_canceled jmp L004892C9 CASE_004892EC_PROC0007: lea edx,[ebp-00000400h] mov edi,SSZ004CF338_A_nonblocking_connect_call_is_in jmp L004892C9 CASE_004892EC_PROC000E: lea edx,[ebp-00000400h] mov edi,SSZ004CF2F8_The_specified_address_is_not_ava jmp L004892C9 CASE_004892EC_PROC0019: lea edx,[ebp-00000400h] mov edi,SSZ004CF2C8_The_attempt_to_connect_was_force jmp L004892C9 CASE_004892EC_PROC0010: lea edx,[ebp-00000400h] mov edi,SSZ004CF28C_The_network_cannot_be_reached_fr jmp L004892C9 CASE_004892EC_PROC0018: lea edx,[ebp-00000400h] mov edi,SSZ004CF24C_Attempt_to_connect_timed_out_wit jmp L004892C9 CASE_004892EC_PROC0005: lea edx,[ebp-00000400h] mov edi,SSZ004CF1F8_The_socket_is_marked_as_nonblock jmp L004892C9 CASE_004892EC_PROC0001: lea edx,[ebp-00000400h] mov edi,SSZ004CF180_Attempt_to_connect_datagram_sock jmp L004892C9 CASE_004892EC_PROC0011: lea edx,[ebp-00000400h] mov edi,SSZ004CF13C_The_connection_has_been_broken_d jmp L004892C9 CASE_004892EC_PROC0016: lea edx,[ebp-00000400h] mov edi,SSZ004CF11C_The_socket_is_not_connected_ jmp L004892C9 CASE_004892EC_PROC0017: lea edx,[ebp-00000400h] mov edi,SSZ004CF090_The_socket_has_been_shut_down__i jmp L004892C9 CASE_004892EC_PROC0009: lea edx,[ebp-00000400h] mov edi,SSZ004CF01C_The_socket_is_message_oriented__ jmp L004892C9 CASE_004892EC_PROC001A: lea edx,[ebp-00000400h] mov edi,SSZ004CEFDC_The_remote_host_cannot_be_reache jmp L004892C9 CASE_004892EC_PROC0012: lea edx,[ebp-00000400h] mov edi,SSZ004CEF50_The_virtual_circuit_was_terminat jmp L004892C9 CASE_004892EC_PROC0013: lea edx,[ebp-00000400h] mov edi,SSZ004CEE30_The_virtual_circuit_was_reset_by jmp L004892C9 CASE_004892EC_PROC001C: lea edx,[ebp-00000400h] mov edi,SSZ004CEE20_UNKNOWN_ERROR_ L004892C9: or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb pop edi pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ CASE_PROCTABLE_004892EC: dd CASE_004892EC_PROC0000 dd CASE_004892EC_PROC0001 dd CASE_004892EC_PROC0002 dd CASE_004892EC_PROC0003 dd CASE_004892EC_PROC0004 dd CASE_004892EC_PROC0005 dd CASE_004892EC_PROC0006 dd CASE_004892EC_PROC0007 dd CASE_004892EC_PROC0008 dd CASE_004892EC_PROC0009 dd CASE_004892EC_PROC000A dd CASE_004892EC_PROC000B dd CASE_004892EC_PROC000C dd CASE_004892EC_PROC000D dd CASE_004892EC_PROC000E dd CASE_004892EC_PROC000F dd CASE_004892EC_PROC0010 dd CASE_004892EC_PROC0011 dd CASE_004892EC_PROC0012 dd CASE_004892EC_PROC0013 dd CASE_004892EC_PROC0014 dd CASE_004892EC_PROC0015 dd CASE_004892EC_PROC0016 dd CASE_004892EC_PROC0017 dd CASE_004892EC_PROC0018 dd CASE_004892EC_PROC0019 dd CASE_004892EC_PROC001A dd CASE_004892EC_PROC001B dd CASE_004892EC_PROC001C CASE_00489360: db 00h, 1Ch, 1Ch, 1Ch, 1Ch, 1Ch, 1Ch, 1Ch, 1Ch, 01h, 02h, 1Ch, 1Ch, 1Ch, 1Ch, 1Ch db 1Ch, 1Ch, 03h, 1Ch, 04h, 1Ch, 1Ch, 1Ch, 1Ch, 1Ch, 1Ch, 1Ch, 1Ch, 1Ch, 1Ch, 05h db 06h, 07h, 08h, 1Ch, 09h, 0Ah, 1Ch, 1Ch, 1Ch, 0Bh, 1Ch, 0Ch, 0Dh, 0Eh, 0Fh, 10h db 11h, 12h, 13h, 14h, 15h, 16h, 17h, 1Ch, 18h, 19h, 1Ch, 1Ch, 1Ch, 1Ah, 1Ch, 1Ch db 1Ch, 1Ch, 1Ch, 1Ch, 1Ch, 1Ch, 1Ch, 1Ch, 1Ch, 1Ch, 1Ch, 1Ch, 1Ch, 1Ch, 1Ch, 1Ch db 1Ch, 1Ch, 1Ch, 1Ch, 1Ch, 1Ch, 1Ch, 1Ch, 1Ch, 1Bh Align 8 L004893C0: push ebp mov ebp,esp push esi mov esi,ecx mov eax,[esi+04h] mov dword ptr [esi],L004BC740 cmp eax,FFFFFFFFh jz L004893E1 push eax call jmp_WSOCK32.dll!WSOCK32.3 mov dword ptr [esi+04h],FFFFFFFFh L004893E1: test byte ptr [ebp+08h],01h jz L004893F0 push esi call SUB_L0049A810 add esp,00000004h L004893F0: mov eax,esi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 L00489400: push esi mov esi,ecx mov eax,[esi+04h] mov dword ptr [esi],L004BC740 cmp eax,FFFFFFFFh jz L0048941E push eax call jmp_WSOCK32.dll!WSOCK32.3 mov dword ptr [esi+04h],FFFFFFFFh L0048941E: pop esi retn ;------------------------------------------------------------------------------ SUB_L00489420: push esi mov esi,ecx mov eax,[esi+04h] cmp eax,FFFFFFFFh jz L00489438 push eax call jmp_WSOCK32.dll!WSOCK32.3 mov dword ptr [esi+04h],FFFFFFFFh L00489438: pop esi retn ;------------------------------------------------------------------------------ Align 8 SUB_L00489440: push ebp mov ebp,esp push ecx mov ecx,[ecx+04h] lea eax,[ebp-04h] push eax push 8004667Eh push ecx mov dword ptr [ebp-04h],00000001h call jmp_WSOCK32.dll!WSOCK32.12 mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L00489470: push ebp mov ebp,esp push ecx mov ecx,[ecx+04h] lea eax,[ebp-04h] push eax push 8004667Eh push ecx mov dword ptr [ebp-04h],00000000h call jmp_WSOCK32.dll!WSOCK32.12 mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L004894A0: push ebp mov ebp,esp push FFFFFFFFh push L004B5076 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000104h push esi mov esi,ecx push edi mov [ebp-10h],esi mov dword ptr [esi+04h],FFFFFFFFh xor edi,edi mov [ebp-04h],edi mov [esi+00020038h],edi mov [esi+00020034h],edi mov [esi+0002003Ch],edi lea eax,[ebp-00000110h] push 00000100h push eax mov byte ptr [ebp-04h],01h mov dword ptr [esi],L004BC744 mov [esi+00020030h],edi mov [esi+0002002Ch],edi mov [esi+0002000Ch],edi mov [esi+00020008h],edi mov [esi+00020024h],edi call jmp_WSOCK32.dll!WSOCK32.57 lea ecx,[ebp-00000110h] push ecx call jmp_WSOCK32.dll!WSOCK32.52 cmp eax,edi jz L0048953B mov edx,[eax+0Ch] mov eax,[edx] mov ecx,[eax] push ecx call jmp_WSOCK32.dll!WSOCK32.14 jmp L0048953D L0048953B: xor eax,eax L0048953D: mov [esi+00020028h],eax call SUB_L00489D20 mov ecx,[ebp-0Ch] mov eax,esi pop edi mov fs:[00000000h],ecx pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 L00489560: push ebp mov ebp,esp push esi mov esi,ecx call SUB_L00489590 test byte ptr [ebp+08h],01h jz L0048957A push esi call SUB_L0049A810 add esp,00000004h L0048957A: mov eax,esi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00489590: push ebp mov ebp,esp mov eax,fs:[00000000h] push FFFFFFFFh push L004B5088 push eax mov fs:[00000000h],esp push esi mov esi,ecx mov dword ptr [esi],L004BC744 mov eax,[esi+04h] mov dword ptr [ebp-04h],00000000h cmp eax,FFFFFFFFh jz L004895CD push eax call jmp_WSOCK32.dll!WSOCK32.3 mov dword ptr [esi+04h],FFFFFFFFh L004895CD: mov eax,[esi+0002003Ch] test eax,eax jz L004895E0 push eax call SUB_L0049A810 add esp,00000004h L004895E0: mov eax,[esi+04h] mov dword ptr [esi],L004BC740 cmp eax,FFFFFFFFh jz L004895FB push eax call jmp_WSOCK32.dll!WSOCK32.3 mov dword ptr [esi+04h],FFFFFFFFh L004895FB: mov ecx,[ebp-0Ch] pop esi mov fs:[00000000h],ecx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 SUB_L00489610: push ebp mov ebp,esp mov edx,[ebp+0Ch] push ebx mov eax,ecx push esi push edi mov edi,[eax+0002000Ch] lea ecx,[edx+edi] cmp ecx,00010000h jg L004896D5 mov ecx,[eax+00020020h] test ecx,ecx mov ecx,edx jz L004896B7 dec edx test ecx,ecx jz L004896D5 mov edi,[ebp+08h] inc edx mov [ebp+0Ch],edx L0048964C: mov dl,[edi] mov cl,[eax+00020010h] xor dl,cl mov ecx,[eax+0002000Ch] mov [eax+ecx+00010008h],dl mov ebx,[eax+0002000Ch] mov edx,[eax+00020010h] mov ecx,[eax+00020014h] inc ebx mov esi,ecx mov [eax+0002000Ch],ebx mov ebx,edx shr ecx,1 shl ebx,1Fh or ecx,ebx inc edi shl esi,1Fh xor ecx,383477BCh shr edx,1 mov [eax+00020014h],ecx mov ecx,[ebp+0Ch] or edx,esi xor edx,02345CC6h dec ecx mov [eax+00020010h],edx mov [ebp+0Ch],ecx jnz L0048964C pop edi pop esi pop ebx pop ebp retn 0008h ;------------------------------------------------------------------------------ L004896B7: mov esi,[ebp+08h] mov ebx,ecx lea edi,[eax+edi+00010008h] shr ecx,02h rep movsd mov ecx,ebx and ecx,00000003h rep movsb add [eax+0002000Ch],edx L004896D5: pop edi pop esi pop ebx pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 8 SUB_L004896E0: push ebp mov ebp,esp sub esp,00000014h mov eax,[ebp+08h] push esi push edi mov esi,ecx xor edi,edi push eax mov [esi+00020030h],edi mov [esi+0002002Ch],edi mov [esi+0002000Ch],edi mov [esi+00020008h],edi call jmp_WSOCK32.dll!WSOCK32.8 mov ecx,[ebp+0Ch] mov [ebp-10h],eax push ecx call jmp_WSOCK32.dll!WSOCK32.9 push edi push 00000001h push 00000002h mov [ebp-12h],ax call jmp_WSOCK32.dll!WSOCK32.23 cmp eax,FFFFFFFFh mov [esi+04h],eax jnz L00489744 push SSZ004D00BC_socket_creation_failed call [KERNEL32.dll!OutputDebugStringA] xor eax,eax pop edi pop esi mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L00489744: lea edx,[ebp+08h] push 00000004h push edx push 00000001h push 00000006h push eax mov dword ptr [ebp+08h],00000001h call jmp_WSOCK32.dll!WSOCK32.21 mov ecx,[esi+04h] lea eax,[ebp-14h] push 00000010h push eax push ecx mov word ptr [ebp-14h],0002h call jmp_WSOCK32.dll!WSOCK32.4 test eax,eax jz L0048978E mov edx,[esi+04h] push edx call jmp_WSOCK32.dll!WSOCK32.3 mov dword ptr [esi+04h],FFFFFFFFh xor eax,eax pop edi pop esi mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L0048978E: cmp [L007121B8],edi jnz L00489874 mov dword ptr [esi+00020020h],00000001h mov ecx,[L007121E8] cmp ecx,edi jnz L004897BA mov ecx,[esi+00020028h] mov [L007121E8],ecx L004897BA: mov eax,ecx xor ecx,FFFFAAAAh not eax mov edx,eax and ecx,0000FFFFh xor edx,00001357h mov [ebp+0Ch],edi shl edx,10h or edx,ecx mov [esi+00020010h],edx mov ecx,[L007121E8] mov edx,eax xor ecx,43210000h xor edx,ABCDFFFFh shr ecx,10h and edx,FFFF0000h or ecx,edx mov edx,eax mov [esi+00020014h],ecx mov ecx,[L007121E8] xor edx,ecx and edx,0F0F0F0Fh xor edx,ecx mov ecx,eax xor edx,A76E25EAh mov [esi+00020018h],edx mov edx,[L007121E8] xor ecx,edx lea edx,[ebp+0Ch] and ecx,0F0F0F0Fh push edx xor ecx,eax mov eax,[esi+04h] xor ecx,F4BC319Dh push 8004667Eh push eax mov [esi+0002001Ch],ecx call jmp_WSOCK32.dll!WSOCK32.12 mov ecx,[L007121E8] push ecx call jmp_WSOCK32.dll!WSOCK32.8 mov [ebp-04h],eax mov eax,[esi+04h] push edi lea edx,[ebp-04h] push 00000004h push edx push eax call jmp_WSOCK32.dll!WSOCK32.19 jmp L0048987A L00489874: mov [esi+00020020h],edi L0048987A: mov edx,[esi+04h] lea ecx,[ebp+0Ch] push ecx push 8004667Eh push edx mov dword ptr [ebp+0Ch],00000001h call jmp_WSOCK32.dll!WSOCK32.12 pop edi mov eax,00000001h pop esi mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ SUB_L004898A0: push ebp mov ebp,esp push FFFFFFFFh push L004B50C1 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000104h mov eax,[L0071238C] push edi xor edi,edi cmp eax,edi jz L00489A36 mov eax,[L00669670] push esi cmp eax,edi jnz L004898F1 push edi push 00000001h push edi push edi push SSZ004D00D4_Connection_lost mov ecx,L00669608 call SUB_L0043F200 mov [L00669670],eax L004898F1: mov eax,[L00777378] dec eax cmp eax,edi mov [L00777378],eax jg L00489A23 mov eax,[L005492A0] mov dword ptr [L00777378],0000000Dh cmp eax,edi jnz L00489A23 mov ecx,[L006BB1CC] cmp ecx,edi jz L0048992B mov eax,[ecx] push 00000001h call [eax] L0048992B: push 00020040h call SUB_L0049A820 mov esi,eax add esp,00000004h mov [ebp-10h],esi cmp esi,edi mov [ebp-04h],edi jz L004899D3 mov dword ptr [esi+04h],FFFFFFFFh mov [esi+00020038h],edi mov [esi+00020034h],edi mov [esi+0002003Ch],edi lea ecx,[ebp-00000110h] push 00000100h push ecx mov byte ptr [ebp-04h],02h mov dword ptr [esi],L004BC744 mov [esi+00020030h],edi mov [esi+0002002Ch],edi mov [esi+0002000Ch],edi mov [esi+00020008h],edi mov [esi+00020024h],edi call jmp_WSOCK32.dll!WSOCK32.57 lea edx,[ebp-00000110h] push edx call jmp_WSOCK32.dll!WSOCK32.52 cmp eax,edi jz L004899C4 mov eax,[eax+0Ch] mov ecx,[eax] mov edx,[ecx] push edx call jmp_WSOCK32.dll!WSOCK32.14 mov [esi+00020028h],eax call SUB_L00489D20 jmp L004899D5 L004899C4: xor eax,eax mov [esi+00020028h],eax call SUB_L00489D20 jmp L004899D5 L004899D3: xor esi,esi L004899D5: xor ecx,ecx mov dword ptr [ebp-04h],FFFFFFFFh mov [L006BB1CC],esi call SUB_L00457DB0 mov ax,[L00712204] mov ecx,[L00712200] push eax push ecx mov ecx,[L006BB1CC] call SUB_L004896E0 mov edx,[L006BB1CC] cmp dword ptr [edx+04h],FFFFFFFFh jz L00489A23 mov al,[L006BD2DC] mov edx,L006BD486 push eax mov ecx,L006BD468 call SUB_L004580D0 L00489A23: mov ecx,L006AAE78 call SUB_L0043BEB0 push 0000004Ch call [KERNEL32.dll!Sleep] pop esi L00489A36: mov ecx,[ebp-0Ch] pop edi mov fs:[00000000h],ecx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00489A50: push ebp mov ebp,esp sub esp,0000030Ch push esi push edi mov edi,ecx mov eax,[edi+04h] cmp eax,FFFFFFFFh jnz L00489A82 mov eax,[L007121E4] test eax,eax jnz L00489BC6 push SSZ004D0124_dunno__select_with_invalid_socke call SUB_L004898A0 pop edi pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00489A82: mov edx,[edi+0002000Ch] mov ecx,00000001h test edx,edx mov dword ptr [ebp-00000104h],00000000h mov [ebp-00000308h],eax mov [ebp-0000030Ch],ecx jle L00489AB3 mov [ebp-00000100h],eax mov [ebp-00000104h],ecx L00489AB3: mov [ebp-00000208h],ecx lea ecx,[ebp-00000208h] push L00767370 push ecx lea edx,[ebp-00000104h] mov [ebp-00000204h],eax lea ecx,[ebp-0000030Ch] push edx inc eax push ecx push eax call jmp_WSOCK32.dll!WSOCK32.18 cmp eax,FFFFFFFFh jz L00489BC6 mov eax,[edi+04h] lea edx,[ebp-00000208h] push edx push eax call jmp_WSOCK32.dll!WSOCK32.151 test eax,eax jz L00489B24 mov eax,[edi+04h] cmp eax,FFFFFFFFh jz L00489B12 push eax call jmp_WSOCK32.dll!WSOCK32.3 mov dword ptr [edi+04h],FFFFFFFFh L00489B12: push SSZ004D0108_exception_state_on_socket mov ecx,edi call SUB_L004898A0 pop edi pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00489B24: mov edx,[edi+04h] lea ecx,[ebp-0000030Ch] push ecx push edx call jmp_WSOCK32.dll!WSOCK32.151 test eax,eax jz L00489B9A L00489B38: mov eax,[edi+00020008h] mov esi,00010000h sub esi,eax test esi,esi jle L00489B67 mov ecx,[edi+04h] push 00000000h lea eax,[edi+eax+08h] push esi push eax push ecx call jmp_WSOCK32.dll!WSOCK32.16 cmp eax,FFFFFFFFh jz L00489B73 add [edi+00020008h],eax jmp L00489B69 L00489B67: xor eax,eax L00489B69: cmp eax,esi jnz L00489B9A test esi,esi jle L00489B9A jmp L00489B38 L00489B73: mov eax,[edi+04h] cmp eax,FFFFFFFFh jz L00489B88 push eax call jmp_WSOCK32.dll!WSOCK32.3 mov dword ptr [edi+04h],FFFFFFFFh L00489B88: push SSZ004D00E4_Exiting_due_to_closed_connection mov ecx,edi call SUB_L004898A0 pop edi pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00489B9A: mov eax,[edi+04h] lea edx,[ebp-00000104h] push edx push eax call jmp_WSOCK32.dll!WSOCK32.151 test eax,eax jz L00489BB5 mov ecx,edi call SUB_L00489BD0 L00489BB5: mov eax,[edi+00020008h] test eax,eax jle L00489BC6 mov ecx,edi call SUB_L00489DF0 L00489BC6: pop edi pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 SUB_L00489BD0: push ebx push esi mov esi,ecx push edi or edi,FFFFFFFFh cmp [esi+04h],edi jnz L00489BF6 mov eax,[L007121E4] test eax,eax jnz L00489C3D push SSZ004D0124_dunno__select_with_invalid_socke call SUB_L004898A0 xor eax,eax pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ L00489BF6: mov eax,[esi+0002000Ch] push 00000000h lea edx,[esi+00010008h] mov byte ptr [esi+eax+00010008h],00h mov ecx,[esi+0002000Ch] mov eax,[esi+04h] push ecx push edx push eax call jmp_WSOCK32.dll!WSOCK32.19 cmp eax,edi jnz L00489C43 mov eax,[esi+04h] cmp eax,edi jz L00489C31 push eax call jmp_WSOCK32.dll!WSOCK32.3 mov [esi+04h],edi L00489C31: push SSZ004D0148_socket_error_in_send mov ecx,esi call SUB_L004898A0 L00489C3D: xor eax,eax pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ L00489C43: test eax,eax jle L00489C72 mov ecx,[esi+0002000Ch] mov edi,eax cmp eax,ecx jge L00489C72 lea ecx,[eax+esi] L00489C56: mov bl,[ecx+00010008h] mov edx,ecx sub edx,eax inc edi inc ecx mov [edx+00010008h],bl mov edx,[esi+0002000Ch] cmp edi,edx jl L00489C56 L00489C72: mov ecx,[esi+0002000Ch] pop edi sub ecx,eax mov eax,00000000h mov [esi+0002000Ch],ecx pop esi setnz al pop ebx retn ;------------------------------------------------------------------------------ Align 8 SUB_L00489C90: push esi mov esi,ecx call SUB_L00489BD0 test eax,eax jz L00489CA7 L00489C9C: mov ecx,esi call SUB_L00489BD0 test eax,eax jnz L00489C9C L00489CA7: pop esi retn ;------------------------------------------------------------------------------ Align 8 SUB_L00489CB0: push esi mov esi,ecx lea eax,[esi+04h] mov dword ptr [esi],L004BC748 push eax push 00000101h call jmp_WSOCK32.dll!WSOCK32.115 test eax,eax jz L00489CDF push 00000000h push SSZ004D018C_SockLib_Error push SSZ004D0160___CNetInfo__CNetInfo____WSAStart push 00000000h call [USER32.dll!MessageBoxA] L00489CDF: mov eax,esi pop esi retn ;------------------------------------------------------------------------------ Align 16 L00489CF0: push ebp mov ebp,esp push esi mov esi,ecx mov dword ptr [esi],L004BC748 call jmp_WSOCK32.dll!WSOCK32.116 test byte ptr [ebp+08h],01h jz L00489D10 push esi call SUB_L0049A810 add esp,00000004h L00489D10: mov eax,esi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00489D20: push ebp mov ebp,esp sub esp,0000000Ch mov eax,[L0077737C] test eax,eax jnz L00489DEC push edi push esi push ebx mov dword ptr [ebp-08h],00000000h mov ebx,L004CF8B4 L00489D42: mov eax,[ebx] mov edi,[ebx-04h] mov [ebp-0Ch],eax mov eax,[L0077737C] test eax,eax mov esi,L0077737C jnz L00489D80 push 0000000Ch call SUB_L0049A820 add esp,00000004h xor ecx,ecx mov [L0077737C],eax mov [eax+08h],ecx mov edx,[L0077737C] mov [edx+04h],ecx mov eax,[L0077737C] mov dword ptr [eax],FFFFFFFFh L00489D80: test edi,edi jle L00489DCF mov [ebp-04h],edi L00489D87: mov eax,[ebp-0Ch] lea ecx,[edi-01h] mov edx,00000001h mov esi,[esi] shl edx,cl test eax,edx jz L00489D9F add esi,00000008h jmp L00489DA2 L00489D9F: add esi,00000004h L00489DA2: cmp dword ptr [esi],00000000h jnz L00489DC5 push 0000000Ch call SUB_L0049A820 add esp,00000004h xor ecx,ecx mov [esi],eax mov [eax+08h],ecx mov edx,[esi] mov [edx+04h],ecx mov eax,[esi] mov dword ptr [eax],FFFFFFFFh L00489DC5: mov eax,[ebp-04h] dec edi dec eax mov [ebp-04h],eax jnz L00489D87 L00489DCF: mov ecx,[esi] mov eax,[ebp-08h] add ebx,00000008h mov [ecx],eax inc eax cmp ebx,SSZ004D00BC_socket_creation_failed mov [ebp-08h],eax jl L00489D42 pop ebx pop esi pop edi L00489DEC: mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ SUB_L00489DF0: push ebp mov ebp,esp sub esp,00000010h mov eax,[L007121F0] push ebx push esi push edi test eax,eax mov esi,ecx jz L0048A0C8 mov edi,[L00777384] mov eax,[L0077737C] xor ecx,ecx cmp edi,00000008h mov cl,[esi+08h] mov [ebp-08h],ecx jge L00489E9E mov edx,[L00777380] mov ecx,00000007h sub ecx,edi mov [ebp-04h],ecx L00489E30: mov ebx,00000001h shl ebx,cl mov ecx,[ebp-08h] test ecx,ebx jz L00489E43 mov eax,[eax+08h] jmp L00489E46 L00489E43: mov eax,[eax+04h] L00489E46: mov ecx,[eax] cmp ecx,FFFFFFFFh jz L00489E7E cmp ecx,00000100h jz L00489E8D lea ecx,[edi+01h] inc edx mov [L00777384],ecx mov al,[eax] mov [edx+L00767377],al mov eax,[L0077737C] cmp edx,00010000h mov [L00777380],edx jz L00489F60 L00489E7E: mov ecx,[ebp-04h] inc edi dec ecx cmp edi,00000008h mov [ebp-04h],ecx jl L00489E30 jmp L00489EA4 L00489E8D: mov eax,[L0077737C] mov dword ptr [L00777384],00000008h jmp L00489EA4 L00489E9E: mov edx,[L00777380] L00489EA4: mov ecx,[esi+00020008h] mov edi,00000001h cmp ecx,edi mov [ebp-10h],edi jle L00489F5A mov dword ptr [ebp-04h],00000010h L00489EC1: xor ecx,ecx mov cl,[edi+esi+08h] xor edi,edi mov [ebp-08h],ecx mov ecx,00000007h mov [ebp-0Ch],ecx L00489ED4: mov ebx,00000001h shl ebx,cl mov ecx,[ebp-08h] test ecx,ebx jz L00489EE7 mov eax,[eax+08h] jmp L00489EEA L00489EE7: mov eax,[eax+04h] L00489EEA: mov ecx,[eax] cmp ecx,FFFFFFFFh jz L00489F22 cmp ecx,00000100h mov ecx,[ebp-04h] jz L00489F31 lea ecx,[edi+ecx-07h] inc edx mov [L00777384],ecx mov al,[eax] mov [edx+L00767377],al mov eax,[L0077737C] cmp edx,00010000h mov [L00777380],edx jz L00489F60 L00489F22: mov ecx,[ebp-0Ch] inc edi dec ecx cmp ecx,FFFFFFFFh mov [ebp-0Ch],ecx jg L00489ED4 jmp L00489F3C L00489F31: mov eax,[L0077737C] mov [L00777384],ecx L00489F3C: mov edi,[ebp-10h] mov ebx,[ebp-04h] mov ecx,[esi+00020008h] inc edi add ebx,00000008h cmp edi,ecx mov [ebp-10h],edi mov [ebp-04h],ebx jl L00489EC1 L00489F5A: mov ecx,[L00777384] L00489F60: cmp ecx,00000008h jl L00489FAE mov eax,[esi+00020008h] sar ecx,03h mov edi,ecx cmp edi,eax jge L00489F8D lea eax,[edi+esi] L00489F77: mov bl,[eax+08h] mov edx,eax sub edx,edi inc ecx inc eax mov [edx+08h],bl mov edx,[esi+00020008h] cmp ecx,edx jl L00489F77 L00489F8D: mov ecx,[esi+00020008h] sub ecx,edi mov [esi+00020008h],ecx mov eax,[L00777384] mov edx,[L00777380] and eax,00000007h mov [L00777384],eax L00489FAE: mov ebx,[esi+00020030h] lea eax,[ebx+01h] cmp edx,eax jl L0048A1D9 jle L0048A1D9 L00489FC5: lea ebx,[ebx+L00767378] xor eax,eax mov al,[ebx] test byte ptr [L004CDCB5+eax*8],80h jz L00489FED mov cx,[ebx+01h] push ecx call jmp_WSOCK32.dll!WSOCK32.15 mov [ebx+01h],ax mov edx,[L00777380] L00489FED: xor eax,eax mov al,[ebx] mov di,[L004CDCB4+eax*8] test edi,00008000h jz L0048A005 mov di,[ebx+01h] L0048A005: mov eax,[esi+00020030h] and edi,0000FFFFh lea ecx,[edi+eax] cmp ecx,00010000h jle L0048A035 mov ecx,esi sub ebx,eax mov dword ptr [esi+0002002Ch],00000000h call SUB_L0048A2D0 mov edx,[L00777380] L0048A035: mov ecx,[esi+00020030h] mov eax,edi add eax,ecx cmp edx,eax jl L0048A0A1 mov eax,[esi+0002002Ch] push ebx test eax,eax mov ecx,esi jz L0048A05D call SUB_L0048A3A0 mov edx,[L00777380] jmp L0048A089 L0048A05D: call SUB_L0048A3A0 mov edx,[L00777380] mov eax,edi cmp edi,edx jge L0048A081 L0048A06E: lea ecx,[eax+L00767378] mov ebx,ecx mov cl,[ecx] sub ebx,edi inc eax cmp eax,edx mov [ebx],cl jl L0048A06E L0048A081: sub edx,edi mov [L00777380],edx L0048A089: mov ebx,[esi+00020030h] lea eax,[ebx+01h] cmp edx,eax jg L00489FC5 pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L0048A0A1: xor ecx,ecx mov cl,[ebx] test byte ptr [L004CDCB5+ecx*8],80h jz L0048A1D9 mov dx,[ebx+01h] push edx call jmp_WSOCK32.dll!WSOCK32.9 mov [ebx+01h],ax pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L0048A0C8: mov eax,[esi+00020030h] mov edx,[esi+00020008h] lea ecx,[eax+01h] cmp edx,ecx jl L0048A1D9 jle L0048A1D9 L0048A0E5: lea ebx,[esi+eax+08h] xor eax,eax mov al,[ebx] test byte ptr [L004CDCB5+eax*8],80h jz L0048A105 mov cx,[ebx+01h] push ecx call jmp_WSOCK32.dll!WSOCK32.15 mov [ebx+01h],ax L0048A105: xor edx,edx mov dl,[ebx] mov di,[L004CDCB4+edx*8] test edi,00008000h jz L0048A11D mov di,[ebx+01h] L0048A11D: mov eax,[esi+00020030h] and edi,0000FFFFh lea ecx,[edi+eax] cmp ecx,00010000h jle L0048A147 mov ecx,esi sub ebx,eax mov dword ptr [esi+0002002Ch],00000000h call SUB_L0048A2D0 L0048A147: mov ecx,[esi+00020030h] mov eax,[esi+00020008h] mov edx,edi add edx,ecx cmp eax,edx jl L0048A1BD mov eax,[esi+0002002Ch] push ebx test eax,eax mov ecx,esi jz L0048A16F call SUB_L0048A3A0 jmp L0048A19F L0048A16F: call SUB_L0048A3A0 mov eax,[esi+00020008h] mov ecx,edi cmp edi,eax jge L0048A199 lea eax,[edi+esi] L0048A183: mov bl,[eax+08h] mov edx,eax sub edx,edi inc ecx inc eax mov [edx+08h],bl mov edx,[esi+00020008h] cmp ecx,edx jl L0048A183 L0048A199: sub [esi+00020008h],edi L0048A19F: mov eax,[esi+00020030h] mov edx,[esi+00020008h] lea ecx,[eax+01h] cmp edx,ecx jg L0048A0E5 pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L0048A1BD: xor edx,edx mov dl,[ebx] test byte ptr [L004CDCB5+edx*8],80h jz L0048A1D9 mov ax,[ebx+01h] push eax call jmp_WSOCK32.dll!WSOCK32.9 mov [ebx+01h],ax L0048A1D9: pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L0048A1E0: mov eax,[ecx+08h] test eax,eax jz L0048A1F0 push eax call SUB_L0049A810 add esp,00000004h L0048A1F0: retn ;------------------------------------------------------------------------------ Align 16 SUB_L0048A200: push ebp mov ebp,esp push esi mov esi,ecx push edi mov eax,[esi+00020038h] mov ecx,[esi+00020034h] cmp ecx,eax jl L0048A272 lea eax,[00000040h+eax*4] push eax call SUB_L0049A820 mov ecx,[esi+00020034h] mov edi,eax add esp,00000004h xor eax,eax test ecx,ecx jle L0048A24E L0048A235: mov ecx,[esi+0002003Ch] inc eax mov edx,[ecx+eax*4-04h] mov [edi+eax*4-04h],edx mov ecx,[esi+00020034h] cmp eax,ecx jl L0048A235 L0048A24E: mov eax,[esi+0002003Ch] push eax call SUB_L0049A810 mov eax,[esi+00020038h] add esp,00000004h add eax,00000010h mov [esi+0002003Ch],edi mov [esi+00020038h],eax L0048A272: mov ecx,[ebp+08h] xor edx,edx mov dl,[ecx] mov ax,[L004CDCB4+edx*8] test ah,80h jz L0048A28A mov ax,[ecx+01h] L0048A28A: mov edx,[esi+00020034h] mov edi,[esi+0002003Ch] mov dword ptr [esi+0002002Ch],00000001h and eax,0000FFFFh mov [edi+edx*4],ecx mov edx,[esi+00020034h] mov ecx,[esi+00020030h] inc edx add ecx,eax mov [esi+00020034h],edx mov [esi+00020030h],ecx pop edi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 8 SUB_L0048A2D0: push esi mov esi,ecx push edi xor edi,edi mov eax,[esi+00020034h] test eax,eax jle L0048A2FC L0048A2E0: mov eax,[esi+0002003Ch] mov ecx,[eax+edi*4] push ecx mov ecx,esi call SUB_L0048A3A0 mov eax,[esi+00020034h] inc edi cmp edi,eax jl L0048A2E0 L0048A2FC: mov dword ptr [esi+00020034h],00000000h mov eax,[L007121F0] test eax,eax mov eax,[esi+00020030h] jz L0048A353 mov ecx,[L00777380] cmp eax,ecx jge L0048A33A L0048A31F: mov edx,[esi+00020030h] lea edi,[eax+L00767378] sub edi,edx mov dl,[eax+L00767378] inc eax cmp eax,ecx mov [edi],dl jl L0048A31F L0048A33A: sub ecx,[esi+00020030h] mov [L00777380],ecx mov dword ptr [esi+00020030h],00000000h pop edi pop esi retn ;------------------------------------------------------------------------------ L0048A353: cmp eax,[esi+00020008h] jge L0048A378 L0048A35B: mov edi,[esi+00020030h] mov dl,[eax+esi+08h] lea ecx,[eax+esi] sub ecx,edi inc eax mov [ecx+08h],dl mov ecx,[esi+00020008h] cmp eax,ecx jl L0048A35B L0048A378: mov eax,[esi+00020030h] mov ecx,[esi+00020008h] sub ecx,eax mov dword ptr [esi+00020030h],00000000h mov [esi+00020008h],ecx pop edi pop esi retn ;------------------------------------------------------------------------------ Align 8 SUB_L0048A3A0: push ebp mov ebp,esp push ebx push esi push edi mov edi,ecx mov eax,[edi+0002002Ch] test eax,eax jz L0048A490 mov eax,[ebp+08h] cmp byte ptr [eax],33h jnz L0048A481 mov cl,[eax+01h] test cl,cl jnz L0048A3F0 mov eax,[edi+00020030h] mov ecx,edi add eax,00000002h mov dword ptr [edi+0002002Ch],00000000h mov [edi+00020030h],eax call SUB_L0048A2D0 pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ L0048A3F0: mov si,[L004CDE4C] test esi,00008000h jz L0048A403 mov si,[eax+01h] L0048A403: mov eax,[L007121F0] and esi,0000FFFFh test eax,eax jz L0048A449 mov edi,[edi+00020030h] mov edx,[L00777380] add edi,esi cmp edi,edx jge L0048A43A mov ecx,edx lea eax,[edi+L00767378] sub ecx,edi L0048A42E: mov bl,[eax] mov edi,eax sub edi,esi inc eax dec ecx mov [edi],bl jnz L0048A42E L0048A43A: sub edx,esi mov [L00777380],edx pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ L0048A449: mov edx,[edi+00020030h] mov eax,[edi+00020008h] add edx,esi cmp edx,eax jge L0048A474 lea eax,[edx+edi] L0048A45E: mov bl,[eax+08h] mov ecx,eax sub ecx,esi inc edx inc eax mov [ecx+08h],bl mov ecx,[edi+00020008h] cmp edx,ecx jl L0048A45E L0048A474: sub [edi+00020008h],esi pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ L0048A481: push eax mov ecx,edi call SUB_L0048A200 pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ L0048A490: mov esi,[ebp+08h] xor eax,eax mov al,[esi] add eax,FFFFFFEFh cmp eax,000000A8h ja CASE_0048AF30_PROC0063 xor edx,edx mov dl,[eax+CASE_0048B0C0] jmp [CASE_PROCTABLE_0048AF30+edx*4] CASE_0048AF30_PROC0015: mov al,[esi+01h] test al,al jz CASE_0048AF30_PROC0063 xor eax,eax mov dword ptr [edi+0002002Ch],00000001h mov al,[esi] mov [L004D00B8],eax pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0048AF30_PROC0002: push esi mov ecx,L006BB1C0 call SUB_L00469F10 xor eax,eax mov al,[esi] mov [L004D00B8],eax pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0048AF30_PROC003A: push esi mov ecx,L006BB1C0 call SUB_L00469790 xor eax,eax mov al,[esi] mov [L004D00B8],eax pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0048AF30_PROC003B: push esi mov ecx,L006BB1C0 call SUB_L00469AD0 xor eax,eax mov al,[esi] mov [L004D00B8],eax pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0048AF30_PROC0006: push esi mov ecx,L006BB1C0 call SUB_L00469450 xor eax,eax mov al,[esi] mov [L004D00B8],eax pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0048AF30_PROC0007: push esi mov ecx,L006BB1C0 call SUB_L0046A650 xor eax,eax mov al,[esi] mov [L004D00B8],eax pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0048AF30_PROC0008: push esi mov ecx,L006BB1C0 call SUB_L00469720 xor eax,eax mov al,[esi] mov [L004D00B8],eax pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0048AF30_PROC0004: push esi mov ecx,L006BB1C0 call SUB_L00468990 xor eax,eax mov al,[esi] mov [L004D00B8],eax pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0048AF30_PROC0059: push esi mov ecx,L006BB1C0 call SUB_L00491F80 xor eax,eax mov al,[esi] mov [L004D00B8],eax pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0048AF30_PROC0003: push esi mov ecx,L006BB1C0 call SUB_L00468D40 xor eax,eax mov al,[esi] mov [L004D00B8],eax pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0048AF30_PROC003E: push esi mov ecx,L006BB1C0 call SUB_L004705C0 xor eax,eax mov al,[esi] mov [L004D00B8],eax pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0048AF30_PROC0055: push esi mov ecx,L006BB1C0 call SUB_L00471320 xor eax,eax mov al,[esi] mov [L004D00B8],eax pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0048AF30_PROC0056: push esi mov ecx,L006BB1C0 call SUB_L00471AC0 xor eax,eax mov al,[esi] mov [L004D00B8],eax pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0048AF30_PROC003F: push esi mov ecx,L006BB1C0 call SUB_L00472230 xor eax,eax mov al,[esi] mov [L004D00B8],eax pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0048AF30_PROC0039: push esi mov ecx,L006BB1C0 call SUB_L00469220 xor eax,eax mov al,[esi] mov [L004D00B8],eax pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0048AF30_PROC0005: push esi mov ecx,L006BB1C0 call SUB_L004693C0 xor eax,eax mov al,[esi] mov [L004D00B8],eax pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0048AF30_PROC0009: push esi mov ecx,L006BB1C0 call SUB_L0046A730 xor eax,eax mov al,[esi] mov [L004D00B8],eax pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0048AF30_PROC000A: push esi mov ecx,L006BB1C0 call SUB_L0046A270 xor eax,eax mov al,[esi] mov [L004D00B8],eax pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0048AF30_PROC0046: push esi mov ecx,L006BB1C0 call SUB_L0046A450 xor eax,eax mov al,[esi] mov [L004D00B8],eax pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0048AF30_PROC000B: push esi mov ecx,L006BB1C0 call SUB_L0046AA90 xor eax,eax mov al,[esi] mov [L004D00B8],eax pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0048AF30_PROC001A: push esi mov ecx,L006BB1C0 call SUB_L0046AC10 xor eax,eax mov al,[esi] mov [L004D00B8],eax pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0048AF30_PROC000C: push esi mov ecx,L006BB1C0 call SUB_L0046AF10 xor eax,eax mov al,[esi] mov [L004D00B8],eax pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0048AF30_PROC000D: push esi mov ecx,L006BB1C0 call SUB_L0046B170 xor eax,eax mov al,[esi] mov [L004D00B8],eax pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0048AF30_PROC000E: push esi mov ecx,L006BB1C0 call SUB_L0046B1E0 xor eax,eax mov al,[esi] mov [L004D00B8],eax pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0048AF30_PROC000F: push esi mov ecx,L006BB1C0 call SUB_L0046B260 xor eax,eax mov al,[esi] mov [L004D00B8],eax pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0048AF30_PROC0010: push esi mov ecx,L006BB1C0 call SUB_L0046B360 xor eax,eax mov al,[esi] mov [L004D00B8],eax pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0048AF30_PROC0050: push esi mov ecx,L006BB1C0 call SUB_L0046B620 xor eax,eax mov al,[esi] mov [L004D00B8],eax pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0048AF30_PROC0051: push esi mov ecx,L006BB1C0 call SUB_L0046B770 xor eax,eax mov al,[esi] mov [L004D00B8],eax pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0048AF30_PROC0052: push esi mov ecx,L006BB1C0 call SUB_L0046B8C0 xor eax,eax mov al,[esi] mov [L004D00B8],eax pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0048AF30_PROC0011: push esi mov ecx,L006BB1C0 call SUB_L0046BA10 xor eax,eax mov al,[esi] mov [L004D00B8],eax pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0048AF30_PROC0012: push esi mov ecx,L006BB1C0 call SUB_L0046B200 xor eax,eax mov al,[esi] mov [L004D00B8],eax pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0048AF30_PROC0013: push esi mov ecx,L006BB1C0 call SUB_L0046BCE0 xor eax,eax mov al,[esi] mov [L004D00B8],eax pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0048AF30_PROC0014: push esi mov ecx,L006BB1C0 call SUB_L0046BD30 xor eax,eax mov al,[esi] mov [L004D00B8],eax pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0048AF30_PROC0034: push esi mov ecx,L006BB1C0 call SUB_L0046F4E0 xor eax,eax mov al,[esi] mov [L004D00B8],eax pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0048AF30_PROC003C: push esi mov ecx,L006BB1C0 call SUB_L0046FE50 xor eax,eax mov al,[esi] mov [L004D00B8],eax pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0048AF30_PROC003D: push esi mov ecx,L006BB1C0 call SUB_L0046FFB0 xor eax,eax mov al,[esi] mov [L004D00B8],eax pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0048AF30_PROC004A: push esi mov ecx,L006BB1C0 call SUB_L00470340 xor eax,eax mov al,[esi] mov [L004D00B8],eax pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0048AF30_PROC0042: push esi mov ecx,L006BB1C0 call SUB_L004724F0 xor eax,eax mov al,[esi] mov [L004D00B8],eax pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0048AF30_PROC0044: push esi mov ecx,L006BB1C0 call SUB_L00472690 xor eax,eax mov al,[esi] mov [L004D00B8],eax pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0048AF30_PROC004C: push esi mov ecx,L006BB1C0 call SUB_L00472E60 xor eax,eax mov al,[esi] mov [L004D00B8],eax pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0048AF30_PROC0058: push esi mov ecx,L006BB1C0 call SUB_L004733E0 xor eax,eax mov al,[esi] mov [L004D00B8],eax pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0048AF30_PROC005A: push esi mov ecx,L006BB1C0 call SUB_L004735B0 xor eax,eax mov al,[esi] mov [L004D00B8],eax pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0048AF30_PROC005B: push esi mov ecx,L006BB1C0 call SUB_L00473670 xor eax,eax mov al,[esi] mov [L004D00B8],eax pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0048AF30_PROC0062: push esi mov ecx,L006BB1C0 call SUB_L004771B0 xor eax,eax mov al,[esi] mov [L004D00B8],eax pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0048AF30_PROC0000: push esi mov ecx,L006BB1C0 call SUB_L0046BD50 xor eax,eax mov al,[esi] mov [L004D00B8],eax pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0048AF30_PROC0001: push esi mov ecx,L006BB1C0 call SUB_L0046C180 xor eax,eax mov al,[esi] mov [L004D00B8],eax pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0048AF30_PROC0016: push esi mov ecx,L006BB1C0 call SUB_L0046C730 xor eax,eax mov al,[esi] mov [L004D00B8],eax pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0048AF30_PROC001C: push esi mov ecx,L006BB1C0 call SUB_L0046CC60 xor eax,eax mov al,[esi] mov [L004D00B8],eax pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0048AF30_PROC001D: push esi mov ecx,L006BB1C0 call SUB_L0046CF50 xor eax,eax mov al,[esi] mov [L004D00B8],eax pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0048AF30_PROC001F: push esi mov ecx,L006BB1C0 call SUB_L0046D110 xor eax,eax mov al,[esi] mov [L004D00B8],eax pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0048AF30_PROC0020: push esi mov ecx,L006BB1C0 call SUB_L0046CBB0 xor eax,eax mov al,[esi] mov [L004D00B8],eax pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0048AF30_PROC0021: push esi mov ecx,L006BB1C0 call SUB_L0046C7D0 xor eax,eax mov al,[esi] mov [L004D00B8],eax pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0048AF30_PROC001E: push esi mov ecx,L006BB1C0 call SUB_L0046CFE0 xor eax,eax mov al,[esi] mov [L004D00B8],eax pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0048AF30_PROC001B: push esi mov ecx,L006BB1C0 call SUB_L0046D1F0 xor eax,eax mov al,[esi] mov [L004D00B8],eax pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0048AF30_PROC0022: push esi mov ecx,L006BB1C0 call SUB_L0046D3B0 xor eax,eax mov al,[esi] mov [L004D00B8],eax pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0048AF30_PROC0017: push esi mov ecx,L006BB1C0 call SUB_L0046A1A0 xor eax,eax mov al,[esi] mov [L004D00B8],eax pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0048AF30_PROC0018: push esi mov ecx,L006BB1C0 call SUB_L0046C280 xor eax,eax mov al,[esi] mov [L004D00B8],eax pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0048AF30_PROC0019: push esi mov ecx,L006BB1C0 call SUB_L0046C600 xor eax,eax mov al,[esi] mov [L004D00B8],eax pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0048AF30_PROC0023: push esi mov ecx,L006BB1C0 call SUB_L0046D400 xor eax,eax mov al,[esi] mov [L004D00B8],eax pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0048AF30_PROC0024: push esi mov ecx,L006BB1C0 call SUB_L00468930 xor eax,eax mov al,[esi] mov [L004D00B8],eax pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0048AF30_PROC0025: push esi mov ecx,L006BB1C0 call SUB_L0046D500 xor eax,eax mov al,[esi] mov [L004D00B8],eax pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0048AF30_PROC0027: push esi mov ecx,L006BB1C0 call SUB_L0046D790 xor eax,eax mov al,[esi] mov [L004D00B8],eax pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0048AF30_PROC0028: push esi mov ecx,L006BB1C0 call SUB_L0046D7F0 xor eax,eax mov al,[esi] mov [L004D00B8],eax pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0048AF30_PROC0026: push esi mov ecx,L006BB1C0 call SUB_L0046D9D0 xor eax,eax mov al,[esi] mov [L004D00B8],eax pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0048AF30_PROC0029: push esi mov ecx,L006BB1C0 call SUB_L0046C8D0 xor eax,eax mov al,[esi] mov [L004D00B8],eax pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0048AF30_PROC0047: push esi mov ecx,L006BB1C0 call SUB_L0046CD30 xor eax,eax mov al,[esi] mov [L004D00B8],eax pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0048AF30_PROC0049: push esi mov ecx,L006BB1C0 call SUB_L0046CE50 xor eax,eax mov al,[esi] mov [L004D00B8],eax pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0048AF30_PROC002A: push esi mov ecx,L006BB1C0 call SUB_L0046D470 xor eax,eax mov al,[esi] mov [L004D00B8],eax pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0048AF30_PROC002B: push esi mov ecx,L006BB1C0 call SUB_L00468910 xor eax,eax mov al,[esi] mov [L004D00B8],eax pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0048AF30_PROC002C: push esi mov ecx,L006BB1C0 call SUB_L0046DBB0 xor eax,eax mov al,[esi] mov [L004D00B8],eax pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0048AF30_PROC002D: push esi mov ecx,L006BB1C0 call SUB_L0046DE20 xor eax,eax mov al,[esi] mov [L004D00B8],eax pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0048AF30_PROC0048: push esi mov ecx,L006BB1C0 call SUB_L0046DC30 xor eax,eax mov al,[esi] mov [L004D00B8],eax pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0048AF30_PROC002E: push esi mov ecx,L006BB1C0 call SUB_L0046E100 xor eax,eax mov al,[esi] mov [L004D00B8],eax pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0048AF30_PROC002F: push esi mov ecx,L006BB1C0 call SUB_L0046E100 xor eax,eax mov al,[esi] mov [L004D00B8],eax pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0048AF30_PROC0030: push esi mov ecx,L006BB1C0 call SUB_L0046E640 xor eax,eax mov al,[esi] mov [L004D00B8],eax pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0048AF30_PROC0031: push esi mov ecx,L006BB1C0 call SUB_L0046EAC0 xor eax,eax mov al,[esi] mov [L004D00B8],eax pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0048AF30_PROC0032: push esi mov ecx,L006BB1C0 call SUB_L0046F030 xor eax,eax mov al,[esi] mov [L004D00B8],eax pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0048AF30_PROC0033: push esi mov ecx,L006BB1C0 call SUB_L0046F180 xor eax,eax mov al,[esi] mov [L004D00B8],eax pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0048AF30_PROC0035: push esi mov ecx,L006BB1C0 call SUB_L0046F750 xor eax,eax mov al,[esi] mov [L004D00B8],eax pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0048AF30_PROC0036: push esi mov ecx,L006BB1C0 call SUB_L0046FD90 xor eax,eax mov al,[esi] mov [L004D00B8],eax pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0048AF30_PROC0037: push esi mov ecx,L006BB1C0 call SUB_L0046E100 xor eax,eax mov al,[esi] mov [L004D00B8],eax pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0048AF30_PROC0038: push esi mov ecx,L006BB1C0 call SUB_L0046EB00 xor eax,eax mov al,[esi] mov [L004D00B8],eax pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0048AF30_PROC004F: push esi mov ecx,L006BB1C0 call SUB_L0046ECF0 xor eax,eax mov al,[esi] mov [L004D00B8],eax pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0048AF30_PROC0043: push esi mov ecx,L006BB1C0 call SUB_L004699F0 xor eax,eax mov al,[esi] mov [L004D00B8],eax pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0048AF30_PROC0045: push esi mov ecx,L006BB1C0 call SUB_L00472850 xor eax,eax mov al,[esi] mov [L004D00B8],eax pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0048AF30_PROC0040: push esi mov ecx,L006BB1C0 call SUB_L00472C10 xor eax,eax mov al,[esi] mov [L004D00B8],eax pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0048AF30_PROC0041: push esi mov ecx,L006BB1C0 call SUB_L00472D00 xor eax,eax mov al,[esi] mov [L004D00B8],eax pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0048AF30_PROC004B: push esi mov ecx,L006BB1C0 call SUB_L004768F0 xor eax,eax mov al,[esi] mov [L004D00B8],eax pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0048AF30_PROC004D: push esi mov ecx,L006BB1C0 call SUB_L0046E6E0 xor eax,eax mov al,[esi] mov [L004D00B8],eax pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0048AF30_PROC005E: push esi mov ecx,L006BB1C0 call SUB_L0046E8D0 xor eax,eax mov al,[esi] mov [L004D00B8],eax pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0048AF30_PROC004E: push esi mov ecx,L006BB1C0 call SUB_L00472EF0 xor eax,eax mov al,[esi] mov [L004D00B8],eax pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0048AF30_PROC0053: push esi mov ecx,L006BB1C0 call SUB_L00473020 xor eax,eax mov al,[esi] mov [L004D00B8],eax pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0048AF30_PROC0054: push esi mov ecx,L006BB1C0 call SUB_L004730C0 xor eax,eax mov al,[esi] mov [L004D00B8],eax pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0048AF30_PROC0057: push esi mov ecx,L006BB1C0 call SUB_L00473360 xor eax,eax mov al,[esi] mov [L004D00B8],eax pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0048AF30_PROC005F: push esi mov ecx,L006BB1C0 call SUB_L00421E30 xor eax,eax mov al,[esi] mov [L004D00B8],eax pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0048AF30_PROC005C: push esi mov ecx,L006BB1C0 call SUB_L00421E50 xor eax,eax mov al,[esi] mov [L004D00B8],eax pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0048AF30_PROC005D: push esi mov ecx,L006BB1C0 call SUB_L00422790 xor eax,eax mov al,[esi] mov [L004D00B8],eax pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0048AF30_PROC0060: push esi mov ecx,L006BB1C0 call SUB_L00476FA0 xor eax,eax mov al,[esi] mov [L004D00B8],eax pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0048AF30_PROC0061: push esi mov ecx,L006BB1C0 call SUB_L0047C100 CASE_0048AF30_PROC0063: xor eax,eax pop edi mov al,[esi] pop esi mov [L004D00B8],eax pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_0048AF30: dd CASE_0048AF30_PROC0000 dd CASE_0048AF30_PROC0001 dd CASE_0048AF30_PROC0002 dd CASE_0048AF30_PROC0003 dd CASE_0048AF30_PROC0004 dd CASE_0048AF30_PROC0005 dd CASE_0048AF30_PROC0006 dd CASE_0048AF30_PROC0007 dd CASE_0048AF30_PROC0008 dd CASE_0048AF30_PROC0009 dd CASE_0048AF30_PROC000A dd CASE_0048AF30_PROC000B dd CASE_0048AF30_PROC000C dd CASE_0048AF30_PROC000D dd CASE_0048AF30_PROC000E dd CASE_0048AF30_PROC000F dd CASE_0048AF30_PROC0010 dd CASE_0048AF30_PROC0011 dd CASE_0048AF30_PROC0012 dd CASE_0048AF30_PROC0013 dd CASE_0048AF30_PROC0014 dd CASE_0048AF30_PROC0015 dd CASE_0048AF30_PROC0016 dd CASE_0048AF30_PROC0017 dd CASE_0048AF30_PROC0018 dd CASE_0048AF30_PROC0019 dd CASE_0048AF30_PROC001A dd CASE_0048AF30_PROC001B dd CASE_0048AF30_PROC001C dd CASE_0048AF30_PROC001D dd CASE_0048AF30_PROC001E dd CASE_0048AF30_PROC001F dd CASE_0048AF30_PROC0020 dd CASE_0048AF30_PROC0021 dd CASE_0048AF30_PROC0022 dd CASE_0048AF30_PROC0023 dd CASE_0048AF30_PROC0024 dd CASE_0048AF30_PROC0025 dd CASE_0048AF30_PROC0026 dd CASE_0048AF30_PROC0027 dd CASE_0048AF30_PROC0028 dd CASE_0048AF30_PROC0029 dd CASE_0048AF30_PROC002A dd CASE_0048AF30_PROC002B dd CASE_0048AF30_PROC002C dd CASE_0048AF30_PROC002D dd CASE_0048AF30_PROC002E dd CASE_0048AF30_PROC002F dd CASE_0048AF30_PROC0030 dd CASE_0048AF30_PROC0031 dd CASE_0048AF30_PROC0032 dd CASE_0048AF30_PROC0033 dd CASE_0048AF30_PROC0034 dd CASE_0048AF30_PROC0035 dd CASE_0048AF30_PROC0036 dd CASE_0048AF30_PROC0037 dd CASE_0048AF30_PROC0038 dd CASE_0048AF30_PROC0039 dd CASE_0048AF30_PROC003A dd CASE_0048AF30_PROC003B dd CASE_0048AF30_PROC003C dd CASE_0048AF30_PROC003D dd CASE_0048AF30_PROC003E dd CASE_0048AF30_PROC003F dd CASE_0048AF30_PROC0040 dd CASE_0048AF30_PROC0041 dd CASE_0048AF30_PROC0042 dd CASE_0048AF30_PROC0043 dd CASE_0048AF30_PROC0044 dd CASE_0048AF30_PROC0045 dd CASE_0048AF30_PROC0046 dd CASE_0048AF30_PROC0047 dd CASE_0048AF30_PROC0048 dd CASE_0048AF30_PROC0049 dd CASE_0048AF30_PROC004A dd CASE_0048AF30_PROC004B dd CASE_0048AF30_PROC004C dd CASE_0048AF30_PROC004D dd CASE_0048AF30_PROC004E dd CASE_0048AF30_PROC004F dd CASE_0048AF30_PROC0050 dd CASE_0048AF30_PROC0051 dd CASE_0048AF30_PROC0052 dd CASE_0048AF30_PROC0053 dd CASE_0048AF30_PROC0054 dd CASE_0048AF30_PROC0055 dd CASE_0048AF30_PROC0056 dd CASE_0048AF30_PROC0057 dd CASE_0048AF30_PROC0058 dd CASE_0048AF30_PROC0059 dd CASE_0048AF30_PROC005A dd CASE_0048AF30_PROC005B dd CASE_0048AF30_PROC005C dd CASE_0048AF30_PROC005D dd CASE_0048AF30_PROC005E dd CASE_0048AF30_PROC005F dd CASE_0048AF30_PROC0060 dd CASE_0048AF30_PROC0061 dd CASE_0048AF30_PROC0062 dd CASE_0048AF30_PROC0063 CASE_0048B0C0: db 00h, 63h, 63h, 63h, 01h, 63h, 63h, 63h, 63h, 02h, 03h, 04h, 05h, 63h, 63h, 06h db 07h, 08h, 09h, 0Ah, 0Bh, 63h, 0Ch, 0Dh, 0Eh, 63h, 63h, 0Fh, 10h, 11h, 12h, 13h db 14h, 63h, 15h, 63h, 63h, 63h, 63h, 16h, 17h, 18h, 19h, 1Ah, 63h, 1Bh, 1Ch, 1Dh db 1Eh, 1Fh, 20h, 21h, 22h, 63h, 63h, 63h, 63h, 63h, 63h, 63h, 63h, 23h, 24h, 63h db 63h, 63h, 25h, 26h, 27h, 28h, 29h, 63h, 63h, 63h, 2Ah, 2Bh, 63h, 63h, 63h, 63h db 63h, 63h, 63h, 63h, 2Ch, 2Dh, 63h, 63h, 2Eh, 2Fh, 63h, 30h, 31h, 32h, 33h, 34h db 35h, 36h, 37h, 38h, 63h, 39h, 3Ah, 3Bh, 63h, 63h, 3Ch, 3Dh, 63h, 63h, 63h, 63h db 3Eh, 3Fh, 63h, 63h, 40h, 41h, 63h, 42h, 43h, 63h, 44h, 45h, 63h, 63h, 63h, 46h db 63h, 47h, 48h, 49h, 4Ah, 63h, 4Bh, 4Ch, 4Dh, 4Eh, 63h, 63h, 63h, 4Fh, 63h, 63h db 50h, 51h, 52h, 63h, 53h, 54h, 63h, 55h, 56h, 57h, 58h, 63h, 63h, 59h, 5Ah, 5Bh db 63h, 5Ch, 5Dh, 5Eh, 5Fh, 63h, 60h, 61h, 62h Align 8 SUB_L0048B170: push ebp mov ebp,esp push ebx push esi mov esi,[ebp+08h] xor eax,eax mov ebx,ecx push edi mov al,[esi] mov cx,[L004CDCB4+eax*8] and cx,8000h jz L0048B194 mov ax,[esi+01h] jmp L0048B199 L0048B194: mov eax,[L00767368] L0048B199: and eax,0000FFFFh test cx,cx mov edi,eax jz L0048B1B3 mov cx,[esi+01h] push ecx call jmp_WSOCK32.dll!WSOCK32.9 mov [esi+01h],ax L0048B1B3: push edi push esi mov ecx,ebx call SUB_L00489610 pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L0048B1D0: mov eax,ecx mov dword ptr [eax],00000000h mov dword ptr [eax+04h],00000000h retn ;------------------------------------------------------------------------------ SUB_L0048B1E0: mov eax,[ecx+04h] mov eax,[ecx+eax*4+08h] retn ;------------------------------------------------------------------------------ Align 16 SUB_L0048B1F0: mov eax,[ecx+04h] mov edx,[ecx] inc eax cmp eax,edx mov [ecx+04h],eax jl L0048B204 mov dword ptr [ecx+04h],00000000h L0048B204: mov eax,[ecx+04h] mov eax,[ecx+eax*4+08h] retn ;------------------------------------------------------------------------------ Align 8 SUB_L0048B210: push ebp mov ebp,esp mov eax,[ecx] mov edx,[ebp+08h] mov [ecx+eax*4+08h],edx mov eax,[ecx] inc eax mov [ecx],eax pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L0048B230: push ebp mov ebp,esp sub esp,0000002Ch push ebx push esi lea eax,[ebp-04h] push edi push eax push 00020019h push 00000000h push SSZ004D01E8_HARDWARE_DESCRIPTION_System_Cent mov ebx,ecx push 80000002h call [ADVAPI32.dll!RegOpenKeyExA] test eax,eax jnz L0048B2D3 lea ecx,[ebp-0Ch] mov edi,[ADVAPI32.dll!RegQueryValueExA] lea edx,[ebp-08h] push ecx push edx push eax mov [ebp-08h],eax push eax mov eax,[ebp-04h] push SSZ004D01E0__MHz push eax mov dword ptr [ebp-0Ch],00000004h call edi mov esi,eax test esi,esi jz L0048B2BB mov eax,[ebp-04h] lea ecx,[ebp-0Ch] lea edx,[ebp-08h] push ecx push edx push 00000000h push 00000000h push SSZ004D01D8__Mhz push eax call edi mov esi,eax test esi,esi jz L0048B2BB mov eax,[ebp-04h] lea ecx,[ebp-0Ch] lea edx,[ebp-08h] push ecx push edx push 00000000h push 00000000h push SSZ004D01D0__mhz push eax call edi mov esi,eax L0048B2BB: mov ecx,[ebp-04h] push ecx call [ADVAPI32.dll!RegCloseKey] test esi,esi jnz L0048B2D3 mov eax,[ebp-08h] pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L0048B2D3: lea edx,[ebp-2Ch] mov ecx,ebx push edx call SUB_L0048B300 mov ecx,[eax] mov [ebp-1Ch],ecx pop edi mov edx,[eax+04h] pop esi mov [ebp-18h],edx pop ebx mov ecx,[eax+08h] mov [ebp-14h],ecx mov eax,[eax+0Ch] mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 SUB_L0048B300: push ebp mov ebp,esp sub esp,00000050h push ebx push esi push edi mov esi,ecx call SUB_L0042CD80 mov edi,eax call SUB_L0042CF60 mov [ebp-14h],eax xor eax,eax xor edx,edx test edi,00008000h mov ecx,edx mov ebx,edx jz L0048B343 mov eax,[ebp+08h] mov esi,eax mov [esi],ecx mov [esi+04h],ecx mov [esi+08h],ebx mov [esi+0Ch],edx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L0048B343: test esi,esi jg L0048B364 mov ecx,edi and ecx,0000FFFFh mov ecx,[L004D01A0+ecx*4] lea ecx,[ecx+ecx*4] lea ecx,[ecx+ecx*4] lea ecx,[ecx+ecx*4] shl ecx,05h jmp L0048B382 L0048B364: cmp esi,00000096h jg L0048B37F lea ecx,[esi+esi*4] mov eax,00000001h lea ecx,[ecx+ecx*4] lea ecx,[ecx+ecx*4] shl ecx,05h jmp L0048B382 L0048B37F: mov ecx,[ebp+08h] L0048B382: test byte ptr [ebp-14h],10h jz L0048B72D xor ebx,ebx cmp eax,ebx jnz L0048B72D cmp esi,ebx jnz L0048B5AB mov [ebp-08h],ebx mov [ebp-04h],ebx mov [ebp-10h],ebx mov [ebp-0Ch],ebx call [KERNEL32.dll!GetCurrentThread] lea edx,[ebp-38h] xor esi,esi push edx mov [ebp-18h],eax mov [ebp-50h],esi mov [ebp-4Ch],esi mov edi,esi call [KERNEL32.dll!QueryPerformanceFrequency] test eax,eax jz L0048B58C L0048B3CF: mov esi,[ebp-04h] mov eax,[ebp-08h] inc esi lea ecx,[ebp-30h] mov [ebp-04h],esi mov esi,[KERNEL32.dll!QueryPerformanceCounter] push ecx mov [ebp-14h],eax mov [ebp-08h],ebx call esi mov edi,[ebp-18h] mov edx,[ebp-30h] mov eax,[ebp-2Ch] push edi mov [ebp-28h],edx mov [ebp-24h],eax call [KERNEL32.dll!GetThreadPriority] mov ebx,eax cmp ebx,7FFFFFFFh jz L0048B414 push 0000000Fh push edi call [KERNEL32.dll!SetThreadPriority] L0048B414: mov eax,[ebp-28h] mov edx,[ebp-30h] mov ecx,eax sub ecx,edx cmp ecx,00000032h jnc L0048B43D L0048B423: lea edx,[ebp-28h] push edx call esi rdtsc mov [ebp-20h],eax mov eax,[ebp-28h] mov edx,[ebp-30h] mov ecx,eax sub ecx,edx cmp ecx,00000032h jc L0048B423 L0048B43D: mov edx,[ebp-24h] xor ecx,ecx cmp ecx,000003E8h mov [ebp-30h],eax mov [ebp-2Ch],edx jnc L0048B46D L0048B450: lea edx,[ebp-28h] push edx call esi rdtsc mov [ebp-1Ch],eax mov eax,[ebp-28h] mov edx,[ebp-30h] mov ecx,eax sub ecx,edx cmp ecx,000003E8h jc L0048B450 L0048B46D: cmp ebx,7FFFFFFFh jz L0048B480 push ebx push edi call [KERNEL32.dll!SetThreadPriority] mov eax,[ebp-28h] L0048B480: mov edx,[ebp-30h] mov esi,[ebp-1Ch] sub eax,edx mov edi,[ebp-20h] mov ecx,[ebp-38h] sub esi,edi lea eax,[eax+eax*4] lea eax,[eax+eax*4] lea eax,[eax+eax*4] lea eax,[eax+eax*4] lea edi,[eax+eax*4] mov eax,CCCCCCCDh mul ecx shl edi,05h mov ebx,edx mov eax,edi shr ebx,03h xor edx,edx div ebx mov edx,[ebp-0Ch] mov edi,eax mov eax,[ebp-10h] add edx,edi add eax,esi mov [ebp-0Ch],edx mov [ebp-10h],eax mov eax,edi xor edx,edx div ecx shr ecx,1 cmp edx,ecx jbe L0048B4D3 inc edi L0048B4D3: mov eax,esi xor edx,edx div edi xor edx,edx mov ebx,eax mov eax,esi div edi shr edi,1 cmp edx,edi jbe L0048B4E8 inc ebx L0048B4E8: mov edx,[ebp-14h] mov eax,[ebp-08h] lea ecx,[edx+eax] mov eax,[ebp-04h] add ecx,ebx cmp eax,00000003h jl L0048B3CF cmp eax,00000014h jge L0048B543 lea eax,[ebx+ebx*2] sub eax,ecx cdq xor eax,edx sub eax,edx cmp eax,00000003h jg L0048B3CF mov eax,[ebp-08h] lea eax,[eax+eax*2] sub eax,ecx cdq xor eax,edx sub eax,edx cmp eax,00000003h jg L0048B3CF mov eax,[ebp-14h] lea eax,[eax+eax*2] sub eax,ecx cdq xor eax,edx sub eax,edx cmp eax,00000003h jg L0048B3CF L0048B543: mov ebx,[ebp-10h] mov esi,[ebp-0Ch] xor edx,edx lea eax,[ebx+ebx*4] shl eax,1 div esi xor edx,edx mov ecx,eax lea eax,[ebx+ebx*4] lea eax,[eax+eax*4] shl eax,02h div esi lea edx,[ecx+ecx*4] shl edx,1 sub eax,edx cmp eax,00000006h jc L0048B56E inc ecx L0048B56E: mov eax,ebx xor edx,edx div esi mov edi,eax mov esi,edi lea eax,[edi+edi*4] shl eax,1 sub ecx,eax cmp ecx,00000006h jc L0048B587 lea esi,[edi+01h] L0048B587: mov ecx,[ebp-0Ch] jmp L0048B592 L0048B58C: mov ebx,[ebp-50h] mov ecx,[ebp-4Ch] L0048B592: mov eax,[ebp+08h] mov edx,eax mov [edx],ebx mov [edx+04h],ecx mov [edx+08h],edi mov [edx+0Ch],esi pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L0048B5AB: call [KERNEL32.dll!GetCurrentThread] mov esi,eax xor eax,eax mov [ebp-40h],eax push esi mov [ebp-3Ch],eax mov [ebp-1Ch],esi mov [ebp-38h],eax mov [ebp-34h],eax call [KERNEL32.dll!GetThreadPriority] cmp eax,7FFFFFFFh mov [ebp-20h],eax jz L0048B5DE inc eax push eax push esi call [KERNEL32.dll!SetThreadPriority] L0048B5DE: mov [ebp-14h],ebx xor ax,ax out 70h,al xor ax,ax in al,71h mov [ebp-14h],ax mov ecx,[ebp-14h] L0048B5F2: mov [ebp-14h],ebx xor ax,ax out 70h,al xor ax,ax in al,71h mov [ebp-14h],ax mov esi,[ebp-14h] cmp esi,ecx jge L0048B613 mov eax,esi sub eax,ecx add eax,0000000Ah jmp L0048B61E L0048B613: mov edx,esi xor eax,eax sub edx,ecx test edx,edx setg al L0048B61E: cmp eax,ebx jz L0048B5F2 mov [ebp-08h],ebx mov [ebp-0Ch],ebx rdtsc mov [ebp-0Ch],eax mov [ebp-08h],edx L0048B630: mov [ebp-14h],ebx xor ax,ax out 70h,al xor ax,ax in al,71h mov [ebp-14h],ax mov edi,[ebp-14h] cmp edi,esi mov eax,edi jge L0048B651 sub eax,esi add eax,0000000Ah jmp L0048B65C L0048B651: sub eax,esi xor ecx,ecx test eax,eax setg cl mov eax,ecx L0048B65C: cmp eax,ebx jz L0048B630 mov [ebp-10h],ebx mov [ebp-14h],ebx rdtsc mov [ebp-14h],eax mov [ebp-10h],edx mov eax,[ebp-20h] cmp eax,7FFFFFFFh jz L0048B683 mov edx,[ebp-1Ch] push eax push edx call [KERNEL32.dll!SetThreadPriority] L0048B683: mov eax,[ebp-14h] mov ecx,[ebp-10h] mov edx,[ebp-0Ch] mov [ebp-04h],eax mov eax,[ebp-08h] mov [ebp-1Ch],ecx mov [ebp-18h],edx mov [ebp-20h],eax mov eax,[ebp-04h] mov ebx,[ebp-18h] sub eax,ebx mov [ebp-14h],eax mov eax,[ebp-1Ch] mov ebx,[ebp-20h] sbb eax,ebx mov [ebp-10h],eax mov ecx,[ebp-14h] mov eax,431BDE83h mul ecx mov eax,4F8B588Fh mov ebx,edx mul ecx sub ecx,edx shr ebx,12h shr ecx,1 add ecx,edx lea edx,[ebx+ebx*4] shr ecx,10h shl edx,1 sub ecx,edx mov [ebp-38h],ebx cmp ecx,00000006h jc L0048B6E0 inc ebx L0048B6E0: lea eax,[esi+esi*4] mov esi,[ebp-14h] lea eax,[eax+eax*4] lea eax,[eax+eax*4] lea eax,[eax+eax*4] lea eax,[eax+eax*4] lea eax,[eax+eax*4] shl eax,06h mov edx,eax lea eax,[edi+edi*4] lea eax,[eax+eax*4] lea eax,[eax+eax*4] lea eax,[eax+eax*4] lea eax,[eax+eax*4] lea ecx,[eax+eax*4] mov eax,[ebp+08h] shl ecx,06h sub ecx,edx mov edx,eax mov [edx],esi mov [edx+04h],ecx mov ecx,[ebp-38h] mov [edx+08h],ecx mov [edx+0Ch],ebx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L0048B72D: cmp di,0003h jc L0048B762 lea edx,[ebp-50h] push edx call SUB_L0048B780 mov ecx,eax mov eax,[ebp+08h] mov edx,eax mov esi,[ecx] mov [edx],esi mov esi,[ecx+04h] mov [edx+04h],esi mov esi,[ecx+08h] mov [edx+08h],esi mov ecx,[ecx+0Ch] mov [edx+0Ch],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L0048B762: mov eax,[ebp+08h] mov ecx,edx mov esi,eax pop edi mov [esi],ecx mov [esi+04h],ecx mov [esi+08h],ecx mov [esi+0Ch],edx pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L0048B780: push ebp mov ebp,esp sub esp,00000020h push ebx push esi lea eax,[ebp-20h] push edi xor ebx,ebx mov [ebp-08h],ecx push eax or esi,FFFFFFFFh mov edi,ebx call [KERNEL32.dll!QueryPerformanceFrequency] test eax,eax jnz L0048B7BC mov eax,[ebp+08h] mov ecx,ebx mov edx,eax mov [edx],edi mov [edx+04h],ecx mov [edx+08h],ecx mov [edx+0Ch],ebx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L0048B7BC: mov edi,[KERNEL32.dll!QueryPerformanceCounter] mov dword ptr [ebp-04h],0000000Ah L0048B7C9: lea eax,[ebp-18h] push eax call edi mov eax,80000000h mov bx,0FA0h L0048B7D8: bsf ecx,eax dec bx jnz L0048B7D8 lea ecx,[ebp-10h] push ecx call edi mov eax,[ebp-10h] mov edx,[ebp-18h] sub eax,edx cmp eax,esi jnc L0048B7F3 mov esi,eax L0048B7F3: mov eax,[ebp-04h] dec eax mov [ebp-04h],eax jnz L0048B7C9 lea eax,[esi+esi*4] mov ecx,[ebp-20h] lea eax,[eax+eax*4] lea eax,[eax+eax*4] lea eax,[eax+eax*4] lea esi,[eax+eax*4] mov eax,CCCCCCCDh mul ecx shl esi,05h mov edi,edx mov eax,esi shr edi,03h xor edx,edx div edi xor edx,edx mov esi,eax div ecx shr ecx,1 cmp edx,ecx jbe L0048B830 inc esi L0048B830: mov edi,[ebp-08h] xor edx,edx mov eax,edi div esi xor edx,edx mov ecx,eax mov eax,edi div esi mov eax,esi mov ebx,ecx shr eax,1 cmp edx,eax jbe L0048B84C inc ecx L0048B84C: mov eax,[ebp+08h] mov edx,eax mov [edx],edi pop edi mov [edx+04h],esi pop esi mov [edx+08h],ebx pop ebx mov [edx+0Ch],ecx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L0048B870: xor eax,eax retn ;------------------------------------------------------------------------------ Align 16 SUB_L0048B880: push SSZ004D0344__test_ push ecx call SUB_L0049C6E0 add esp,00000008h neg eax sbb eax,eax neg eax retn ;------------------------------------------------------------------------------ Align 16 SUB_L0048B8A0: push ebp mov ebp,esp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L0048B8B0: mov eax,[L00669574] test eax,eax jz L0048B8BE jmp L00497F00 L0048B8BE: retn ;------------------------------------------------------------------------------ Align 4 SUB_L0048B8C0: cmp ecx,[L00669574] jz L0048B8CD jmp L00497F00 L0048B8CD: retn ;------------------------------------------------------------------------------ Align 4 SUB_L0048B8D0: push ebp mov ebp,esp push ecx push ebx mov ebx,ecx push edi mov edi,ebx or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx cmp ecx,00000001h mov [ebp-04h],ecx jle L0048B958 inc ecx push esi push ecx call SUB_L0049A820 mov ecx,[ebp-04h] mov edx,eax add esp,00000004h xor esi,esi xor eax,eax xor edi,edi test ecx,ecx jle L0048B92B L0048B906: mov cl,[edi+ebx] cmp cl,20h jnz L0048B91D test esi,esi jnz L0048B916 mov [eax+edx],cl inc eax L0048B916: mov esi,00000001h jmp L0048B923 L0048B91D: mov [eax+edx],cl inc eax xor esi,esi L0048B923: mov ecx,[ebp-04h] inc edi cmp edi,ecx jl L0048B906 L0048B92B: mov byte ptr [eax+edx],00h mov edi,edx or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx push edx mov eax,ecx mov esi,edi mov edi,ebx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb call SUB_L0049A810 add esp,00000004h pop esi L0048B958: pop edi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 4 SUB_L0048B960: push ebp mov ebp,esp sub esp,00000100h push ebx mov ebx,[ebp+08h] push esi mov esi,ecx push edi mov edi,ebx or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx mov [ebp-04h],esi mov [ebp+08h],ecx push ecx mov ecx,esi call SUB_L00458540 test eax,eax jz L0048BA7B mov ecx,ebx call SUB_L0048B8D0 cmp dword ptr [ebp+10h],00000002h jnz L0048BA33 mov edi,ebx or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx add ecx,00000002h push ecx call SUB_L0049A820 mov edx,eax or ecx,FFFFFFFFh mov edi,L004C54D4 xor eax,eax add esp,00000004h repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax xor eax,eax and ecx,00000003h rep movsb mov edi,ebx or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov esi,edi mov ebx,ecx mov edi,edx or ecx,FFFFFFFFh repne scasb mov ecx,ebx dec edi shr ecx,02h rep movsd mov ecx,ebx and ecx,00000003h rep movsb mov edi,L004C54D4 or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov esi,edi mov ebx,ecx mov edi,edx or ecx,FFFFFFFFh repne scasb mov ecx,ebx dec edi shr ecx,02h rep movsd mov ecx,ebx and ecx,00000003h rep movsb mov esi,[ebp-04h] jmp L0048BA35 L0048BA33: mov edx,ebx L0048BA35: mov edi,edx or ecx,FFFFFFFFh xor eax,eax repne scasb mov eax,[ebp+10h] not ecx dec ecx push eax push ecx lea ecx,[ebp-00000100h] push edx push ecx mov ecx,L006BB1C0 call SUB_L00473EA0 mov ecx,[esi+04h] lea edx,[ebp-00000100h] push edx call SUB_L0048B170 mov eax,[ebp+08h] mov ecx,esi push eax call SUB_L00458560 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ L0048BA7B: mov ecx,esi call SUB_L004587D0 mov ecx,[ebp+10h] mov edx,[ebp+0Ch] push ecx push edx push ebx mov ecx,esi call SUB_L00458580 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' mov eax,ecx xor ecx,ecx mov dword ptr [eax],L004BC74C mov [eax+08h],ecx mov [eax+04h],ecx mov [eax+0Ch],ecx mov byte ptr [eax+10h],01h mov [eax+11h],cl retn ;------------------------------------------------------------------------------ Align 8 L0048BAC0: push ebp mov ebp,esp push ebx mov ebx,ecx push esi push edi mov esi,[ebx+04h] mov dword ptr [ebx],L004BC74C test esi,esi jz L0048BAF6 L0048BAD5: mov eax,[esi] mov edi,[esi+18h] test eax,eax jz L0048BAE7 push eax call SUB_L0049A810 add esp,00000004h L0048BAE7: push esi call SUB_L0049A810 add esp,00000004h mov esi,edi test edi,edi jnz L0048BAD5 L0048BAF6: test byte ptr [ebp+08h],01h jz L0048BB05 push ebx call SUB_L0049A810 add esp,00000004h L0048BB05: pop edi mov eax,ebx pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ db 90h; '?' db 90h; '?' push esi mov esi,[ecx+04h] test esi,esi mov dword ptr [ecx],L004BC74C jz L0048BB41 push edi L0048BB1F: mov eax,[esi] mov edi,[esi+18h] test eax,eax jz L0048BB31 push eax call SUB_L0049A810 add esp,00000004h L0048BB31: push esi call SUB_L0049A810 add esp,00000004h mov esi,edi test edi,edi jnz L0048BB1F pop edi L0048BB41: pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L0048BB50: push ebp mov ebp,esp sub esp,00000010h push ebx push esi push edi mov edi,ecx mov [ebp-0Ch],edi cmp dword ptr [edi+0Ch],00000064h jnz L0048BBC8 mov esi,[L00669620] test esi,esi jz L0048BB99 L0048BB6E: mov eax,[esi] mov ecx,esi call [eax+000000B0h] test eax,eax jz L0048BB92 mov eax,[esi+000000C8h] mov ecx,[edi+04h] cmp eax,ecx jnz L0048BB92 mov ecx,[eax+18h] mov [esi+000000C8h],ecx L0048BB92: mov esi,[esi+3Ch] test esi,esi jnz L0048BB6E L0048BB99: mov esi,[edi+04h] mov eax,[esi+18h] mov [edi+04h],eax mov dword ptr [eax+1Ch],00000000h mov eax,[esi] test eax,eax jz L0048BBB8 push eax call SUB_L0049A810 add esp,00000004h L0048BBB8: push esi call SUB_L0049A810 mov eax,[edi+0Ch] add esp,00000004h dec eax mov [edi+0Ch],eax L0048BBC8: mov esi,[ebp+08h] lea edx,[ebp-04h] lea eax,[ebp-08h] push edx lea ecx,[ebp-10h] push eax push ecx push esi push 00000009h mov ecx,L00669CC8 call SUB_L00437A10 push 00000020h call SUB_L0049A820 mov ebx,eax mov edi,esi or ecx,FFFFFFFFh xor eax,eax add esp,00000004h repne scasb not ecx push ecx call SUB_L0049A820 mov edx,eax mov edi,esi or ecx,FFFFFFFFh xor eax,eax add esp,00000004h mov [ebx],edx mov dword ptr [ebx+10h],00000000h repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov ecx,[ebp+0Ch] mov [ebx+04h],ecx mov edx,[ebp-04h] mov ecx,[ebp+10h] mov [ebx+0Ch],edx mov eax,[ebp-08h] mov [ebx+14h],ecx mov [ebx+08h],eax mov eax,[ebp-0Ch] mov dword ptr [ebx+18h],00000000h mov edx,[eax+08h] mov [ebx+1Ch],edx mov ecx,[eax+04h] test ecx,ecx jz L0048BC76 mov ecx,[eax+08h] mov [ecx+18h],ebx mov ecx,[eax+0Ch] inc ecx mov [eax+08h],ebx mov [eax+0Ch],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ L0048BC76: mov ecx,[eax+0Ch] pop edi inc ecx mov [eax+08h],ebx mov [eax+04h],ebx pop esi mov [eax+0Ch],ecx pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 8 SUB_L0048BC90: push ebp mov ebp,esp sub esp,0000000Ch push ebx push esi push edi mov edi,ecx cmp dword ptr [edi+0Ch],00000064h jnz L0048BD05 mov esi,[L00669620] test esi,esi jz L0048BCD6 L0048BCAB: mov eax,[esi] mov ecx,esi call [eax+000000B0h] test eax,eax jz L0048BCCF mov eax,[esi+000000C8h] mov ecx,[edi+04h] cmp eax,ecx jnz L0048BCCF mov ecx,[eax+18h] mov [esi+000000C8h],ecx L0048BCCF: mov esi,[esi+3Ch] test esi,esi jnz L0048BCAB L0048BCD6: mov esi,[edi+04h] mov eax,[esi+18h] mov [edi+04h],eax mov dword ptr [eax+1Ch],00000000h mov eax,[esi] test eax,eax jz L0048BCF5 push eax call SUB_L0049A810 add esp,00000004h L0048BCF5: push esi call SUB_L0049A810 mov eax,[edi+0Ch] add esp,00000004h dec eax mov [edi+0Ch],eax L0048BD05: mov ebx,[ebp+08h] lea edx,[ebp-04h] lea eax,[ebp-08h] push edx push eax lea edx,[ebp-0Ch] mov ecx,ebx call SUB_L00492DC0 push 00000020h call SUB_L0049A820 add esp,00000004h mov ecx,ebx mov esi,eax call SUB_L00491C00 lea ecx,[eax+eax+02h] push ecx call SUB_L0049A820 add esp,00000004h mov edx,ebx mov ecx,eax mov [esi],eax mov dword ptr [esi+10h],00000001h call SUB_L00491D10 mov edx,[ebp+0Ch] mov [esi+04h],edx mov eax,[ebp-04h] mov edx,[ebp+10h] mov [esi+0Ch],eax mov ecx,[ebp-08h] mov [esi+14h],edx mov [esi+08h],ecx mov dword ptr [esi+18h],00000000h mov eax,[edi+08h] mov [esi+1Ch],eax mov eax,[edi+04h] test eax,eax jz L0048BD91 mov ecx,[edi+08h] mov [ecx+18h],esi mov eax,[edi+0Ch] inc eax mov [edi+08h],esi mov [edi+0Ch],eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ L0048BD91: mov eax,[edi+0Ch] mov [edi+08h],esi inc eax mov [edi+04h],esi mov [edi+0Ch],eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 16 SUB_L0048BDB0: push ebp mov ebp,esp push ecx mov al,[L0073EC14] push ebx push esi push edi test al,al mov ebx,ecx jz L0048BEA7 mov ecx,[L0077738C] test ecx,ecx jz L0048BEA7 mov eax,[L00777388] test eax,eax jnz L0048BDF8 push L004D034C push ecx call SUB_L0049A7F0 add esp,00000008h mov [L00777388],eax test eax,eax jz L0048BEA7 L0048BDF8: mov cl,[L0073EC18] test cl,cl jz L0048BE98 cmp byte ptr [ebx],00h jz L0048BE5C mov edi,ebx or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx lea eax,[ecx+ecx+02h] push eax call SUB_L0049A820 mov esi,eax add esp,00000004h mov edx,ebx mov ecx,esi call SUB_L00491D80 mov ecx,[L00777388] mov edi,ebx push ecx or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx push ecx push 00000002h push esi call SUB_L0049B520 add esp,00000010h push esi call SUB_L0049A810 mov eax,[L00777388] add esp,00000004h L0048BE5C: push eax push 00000001h lea edx,[ebp-04h] push 00000002h push edx mov dword ptr [ebp-04h],0000000Ah call SUB_L0049B520 mov eax,[L00777388] add esp,00000010h lea ecx,[ebp-04h] mov dword ptr [ebp-04h],0000000Dh push eax push 00000001h push 00000002h push ecx call SUB_L0049B520 add esp,00000010h pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L0048BE98: push ebx push L004C9084 push eax call SUB_L0049B790 add esp,0000000Ch L0048BEA7: pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 4 SUB_L0048BEB0: push ebp mov ebp,esp push ecx mov al,[L0073EC14] push esi test al,al push edi mov esi,ecx jz L0048BF95 mov ecx,[L0077738C] test ecx,ecx jz L0048BF95 mov eax,[L00777388] test eax,eax jnz L0048BEF7 push L004D034C push ecx call SUB_L0049A7F0 add esp,00000008h mov [L00777388],eax test eax,eax jz L0048BF95 L0048BEF7: mov cl,[L0073EC18] test cl,cl jz L0048BF5C cmp word ptr [esi],0000h jz L0048BF20 push eax mov ecx,esi call SUB_L00491C00 push eax push 00000002h push esi call SUB_L0049B520 mov eax,[L00777388] add esp,00000010h L0048BF20: push eax push 00000001h lea eax,[ebp-04h] push 00000002h push eax mov dword ptr [ebp-04h],0000000Ah call SUB_L0049B520 mov ecx,[L00777388] add esp,00000010h lea edx,[ebp-04h] mov dword ptr [ebp-04h],0000000Dh push ecx push 00000001h push 00000002h push edx call SUB_L0049B520 add esp,00000010h pop edi pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L0048BF5C: mov ecx,esi call SUB_L00491C00 inc eax push eax call SUB_L0049A820 mov edi,eax add esp,00000004h mov edx,esi mov ecx,edi call SUB_L00491E20 mov eax,[L00777388] push edi push L004C9084 push eax call SUB_L0049B790 add esp,0000000Ch push edi call SUB_L0049A810 add esp,00000004h L0048BF95: pop edi pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 SUB_L0048BFA0: push ebp mov ebp,esp mov eax,[L00777390] push esi test eax,eax jnz L0048C00C mov eax,[ebp+0Ch] mov esi,[ebp+08h] push 00000000h push eax push esi call SUB_L0048BC90 mov ecx,esi call SUB_L0048BEB0 mov esi,[L00669620] test esi,esi jz L0048C00C L0048BFCD: mov edx,[esi] mov ecx,esi call [edx+000000B0h] test eax,eax jz L0048C005 mov eax,[esi+000000C4h] mov ecx,[eax+10h] test ecx,ecx jnz L0048BFEF mov ecx,esi call SUB_L0048CCD0 L0048BFEF: mov ecx,[esi+000000C0h] call SUB_L00412E70 push 00000001h push 00000001h mov ecx,esi call SUB_L0048CE30 L0048C005: mov esi,[esi+3Ch] test esi,esi jnz L0048BFCD L0048C00C: pop esi pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 16 SUB_L0048C020: push ebp mov ebp,esp mov eax,[L00777390] push esi test eax,eax jnz L0048C08C mov eax,[ebp+0Ch] mov esi,[ebp+08h] push 00000000h push eax push esi call SUB_L0048BB50 mov ecx,esi call SUB_L0048BDB0 mov esi,[L00669620] test esi,esi jz L0048C08C L0048C04D: mov edx,[esi] mov ecx,esi call [edx+000000B0h] test eax,eax jz L0048C085 mov eax,[esi+000000C4h] mov ecx,[eax+10h] test ecx,ecx jnz L0048C06F mov ecx,esi call SUB_L0048CCD0 L0048C06F: mov ecx,[esi+000000C0h] call SUB_L00412E70 push 00000001h push 00000001h mov ecx,esi call SUB_L0048CE30 L0048C085: mov esi,[esi+3Ch] test esi,esi jnz L0048C04D L0048C08C: pop esi pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 16 SUB_L0048C0A0: push ebp mov ebp,esp mov eax,fs:[00000000h] push FFFFFFFFh push L004B50DB push eax mov fs:[00000000h],esp push esi mov esi,[ebp+0Ch] mov ecx,L00669CC8 push esi call SUB_L00437110 test eax,eax jz L0048C103 push 000000E4h mov byte ptr [L00669408],01h call SUB_L0049A820 add esp,00000004h mov [ebp+0Ch],eax test eax,eax mov dword ptr [ebp-04h],00000000h jz L0048C103 mov ecx,[ebp+08h] mov edx,[ebp+10h] push 00000000h push 00000000h push esi push ecx push edx push 00000000h mov ecx,eax call SUB_L004012C0 L0048C103: mov ecx,[ebp-0Ch] pop esi mov fs:[00000000h],ecx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 16 SUB_L0048C120: push ebp mov ebp,esp push FFFFFFFFh push L004B513A mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,0000000Ch push ebx push esi mov esi,ecx push edi mov [ebp-14h],esi call SUB_L00441CB0 mov ecx,[ebp+08h] mov edx,[ebp+0Ch] mov dword ptr [esi],L004BC750 mov eax,[L006693FC] xor ebx,ebx mov [esi+000000C8h],eax mov [esi+000000CCh],ebx mov [esi+000000D0h],ebx mov [esi+2Ch],ecx mov [esi+30h],edx lea eax,[esi+20h] lea edi,[esi+1Ch] mov dword ptr [esi+04h],SSZ004D0374_text_gump mov ecx,00000820h mov [esi+5Ch],ebx push eax mov edx,edi mov [ebp-04h],ebx mov [esi+58h],ebx mov [esi+000000A0h],ebx mov [esi+0000009Ch],ebx mov [esi+00000098h],ebx mov [esi+00000094h],ebx mov [esi+000000A8h],ebx mov [esi+000000A4h],ebx mov [esi+60h],ebx mov [esi+50h],ecx mov [esi+4Ch],ebx mov [esi+48h],ebx mov [esi+44h],ebx mov [esi+40h],ebx mov [esi+3Ch],ebx call SUB_L004390A0 mov eax,[edi] lea edx,[esi+24h] add eax,00000007h mov ecx,00000830h and al,F8h mov dword ptr [esi+20h],0000012Ch mov [esi+18h],eax mov [edi],eax lea eax,[esi+28h] push eax call SUB_L004390A0 push SSZ004D035C_framedata_for_CTextGump push 00000010h mov ecx,L00669C8C mov [esi+10h],ebx mov dword ptr [esi+14h],00000002h call SUB_L0044FBD0 mov ecx,[esi+14h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+38h],edi push SSZ004C5028_text_frame0 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+1Ch] imul eax,[esi+20h] lea ecx,[eax+eax+04h] push ecx mov ecx,L00669C8C call SUB_L0044FBD0 mov edx,[esi+38h] mov [edx+04h],eax mov ecx,[esi+1Ch] imul ecx,[esi+20h] shl ecx,1 xor eax,eax mov edx,[esi+38h] push SSZ004D0350_text_frame1 mov edi,[edx+04h] mov edx,ecx add edi,00000004h shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+38h] mov dx,[esi+1Ch] mov ecx,[eax+04h] mov [ecx],dx mov eax,[esi+38h] mov dx,[esi+20h] mov ecx,[eax+04h] mov [ecx+02h],dx mov eax,[esi+24h] imul eax,[esi+28h] lea ecx,[eax+eax+04h] push ecx mov ecx,L00669C8C call SUB_L0044FBD0 mov edx,[esi+38h] mov [edx+0Ch],eax mov ecx,[esi+24h] imul ecx,[esi+28h] mov edx,[esi+38h] xor eax,eax shl ecx,1 mov edi,[edx+0Ch] mov edx,ecx add edi,00000004h shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+38h] mov dx,[esi+24h] mov ecx,[eax+0Ch] mov [ecx],dx mov eax,[esi+38h] mov dx,[esi+28h] mov ecx,[eax+0Ch] mov [ecx+02h],dx mov eax,[esi+38h] xor ecx,ecx xor edx,edx mov eax,[eax+0Ch] mov cx,[eax+02h] mov dx,[eax] push ecx add eax,00000004h push edx push eax push ebx push ebx mov edx,00000830h mov ecx,SUB_L00488700 call SUB_L00439100 mov eax,[esi+1Ch] mov dword ptr [esi+000000B0h],00000026h mov dword ptr [esi+000000B4h],00000044h lea ecx,[eax-31h] mov eax,ecx mov [esi+000000B8h],ecx cdq xor eax,edx sub eax,edx and eax,00000001h xor eax,edx sub eax,edx jnz L0048C344 dec ecx mov [esi+000000B8h],ecx L0048C344: mov eax,[esi+20h] mov ecx,esi sub eax,0000004Eh mov [esi+000000BCh],eax call SUB_L0048CCD0 push 00000001h push 00000001h mov ecx,esi call SUB_L0048CE30 lea ecx,[ebp-10h] lea edx,[ebp-18h] push ecx mov ecx,0000082Eh call SUB_L004390A0 push 000000B4h call SUB_L0049A820 add esp,00000004h mov [ebp+08h],eax cmp eax,ebx mov byte ptr [ebp-04h],01h jz L0048C3AC mov edx,[esi+20h] mov ecx,[ebp-10h] sub edx,ecx push 0000001Fh sub edx,00000038h push esi push edx push 00000001h push 00000048h push 00000100h mov ecx,eax call SUB_L00412A50 jmp L0048C3AE L0048C3AC: xor eax,eax L0048C3AE: push 00000001h push esi mov ecx,eax mov [ebp-04h],bl mov [esi+000000C0h],eax call SUB_L004415C0 mov ecx,[esi+000000C0h] call SUB_L00412E70 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp+08h],eax cmp eax,ebx mov byte ptr [ebp-04h],02h jz L0048C406 push ebx push 0000082Dh push 0000082Dh push SUB_L0040D6E0 push ebx push ebx push esi push ebx push 00000089h mov ecx,eax call SUB_L004122F0 jmp L0048C408 L0048C406: xor eax,eax L0048C408: push 00000001h push esi mov ecx,eax mov [ebp-04h],bl call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp+08h],eax cmp eax,ebx mov byte ptr [ebp-04h],03h jz L0048C45A mov ecx,[esi+20h] mov edx,[ebp-10h] push ebx push 0000082Eh push 0000082Eh push L00411760 sub ecx,edx push ebx push ebx sub ecx,00000003h push esi push ecx push 00000089h mov ecx,eax call SUB_L004122F0 jmp L0048C45C L0048C45A: xor eax,eax L0048C45C: push 00000001h push esi mov ecx,eax mov [ebp-04h],bl mov dword ptr [eax+000000A4h],0000082Fh call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp+08h],eax cmp eax,ebx mov byte ptr [ebp-04h],04h jz L0048C4B5 mov edx,[esi+20h] mov edi,[ebp-10h] push ebx push 0000082Ch push ebx push L0040DB40 sub edx,edi push ebx push 00000001h sub edx,00000034h push esi push edx push 000000E9h mov ecx,eax call SUB_L004122F0 jmp L0048C4B7 L0048C4B5: xor eax,eax L0048C4B7: push 00000001h push esi mov ecx,eax mov [ebp-04h],bl mov [esi+000000C4h],eax call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp+08h],eax cmp eax,ebx mov byte ptr [ebp-04h],05h jz L0048C506 push ebx push 00000824h push 00000824h push L0040DA20 push ebx push 00000002h push esi push 00000038h push 000000F9h mov ecx,eax call SUB_L004122F0 jmp L0048C508 L0048C506: xor eax,eax L0048C508: push 00000001h push esi mov ecx,eax mov [ebp-04h],bl call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp+08h],eax cmp eax,ebx mov byte ptr [ebp-04h],06h jz L0048C55B mov ecx,[esi+20h] mov edx,[ebp-10h] push ebx push 00000825h push 00000825h push L0040D970 sub ecx,edx push ebx push 00000002h sub ecx,00000034h push esi push ecx push 000000F9h mov ecx,eax call SUB_L004122F0 jmp L0048C55D L0048C55B: xor eax,eax L0048C55D: push 00000001h push esi mov ecx,eax mov [ebp-04h],bl call SUB_L004415C0 mov ecx,[ebp-0Ch] mov eax,esi pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 4 L0048C580: push ebp mov ebp,esp push esi mov esi,ecx call SUB_L0048C5B0 test byte ptr [ebp+08h],01h jz L0048C59A push esi call SUB_L0049A810 add esp,00000004h L0048C59A: mov eax,esi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L0048C5B0: push ebp mov ebp,esp push FFFFFFFFh push L004B5158 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx push edi mov [ebp-10h],esi mov dword ptr [esi],L004BC750 mov eax,[esi+38h] xor edi,edi mov [ebp-04h],edi mov eax,[eax+04h] cmp eax,edi jz L0048C5FB push SSZ004D03A4_text_frame0_pBMP push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov ecx,[esi+38h] mov [ecx+04h],edi L0048C5FB: mov edx,[esi+38h] mov eax,[edx+0Ch] cmp eax,edi jz L0048C61B push SSZ004D0390_text_frame1_pBMP push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov eax,[esi+38h] mov [eax+0Ch],edi L0048C61B: mov eax,[esi+38h] cmp eax,edi jz L0048C635 push SSZ004D0380_text_framedata push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov [esi+38h],edi L0048C635: mov ecx,esi mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00441D50 mov ecx,[ebp-0Ch] pop edi mov fs:[00000000h],ecx pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 L0048C660: push ebp mov ebp,esp mov eax,[ebp+08h] push esi mov esi,ecx push edi mov ecx,[ebp+0Ch] mov edi,00000001h mov [esi+70h],ecx push 00000000h mov ecx,esi mov [esi+6Ch],eax mov [esi+0000009Ch],edi mov [esi+000000D0h],edi call SUB_L00441340 cmp [esi+000000A8h],edi jnz L0048C6A5 mov dword ptr [esi+000000A8h],00000002h pop edi pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ L0048C6A5: mov [esi+000000A8h],edi call [KERNEL32.dll!GetTickCount] mov [esi+000000A4h],eax pop edi pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 4 SUB_L0048C6C0: push ebp mov ebp,esp push ecx push esi mov esi,ecx mov ecx,[ebp+08h] push edi mov eax,[esi+1Ch] xor edx,edx lea edi,[eax-30h] cmp ecx,edi jl L0048C873 add eax,FFFFFFE7h cmp ecx,eax jg L0048C873 mov eax,[ebp+0Ch] mov ecx,[esi+000000B4h] cmp eax,ecx jl L0048C873 cmp eax,[esi+000000BCh] jg L0048C873 mov ecx,[esi+000000C8h] test ecx,ecx jz L0048C873 mov ecx,[esi+000000C4h] push ebx lea ebx,[eax-08h] mov dword ptr [ecx+10h],00000001h mov ecx,[esi+000000C0h] cmp ebx,[ecx+30h] jge L0048C79D mov edi,0000000Ah L0048C732: mov eax,[esi+000000C8h] mov eax,[eax+1Ch] test eax,eax jz L0048C747 mov [esi+000000C8h],eax jmp L0048C74C L0048C747: mov edx,00000001h L0048C74C: dec edi jnz L0048C732 test edx,edx jz L0048C75D mov dword ptr [esi+000000CCh],00000000h L0048C75D: call SUB_L00412E70 mov eax,[esi+000000C0h] mov ecx,[eax+30h] cmp ecx,ebx jl L0048C77B cmp ecx,[eax+000000A4h] jge L0048C867 L0048C77B: mov [eax+30h],ebx mov eax,[esi+000000C0h] mov ecx,[eax+000000A4h] mov edx,[eax+30h] cmp edx,ecx jge L0048C844 mov [eax+30h],ecx jmp L0048C844 L0048C79D: mov ecx,0000000Ah L0048C7A2: mov eax,[esi+000000C8h] mov eax,[eax+18h] test eax,eax jz L0048C7B7 mov [esi+000000C8h],eax jmp L0048C7BC L0048C7B7: mov edx,00000001h L0048C7BC: dec ecx jnz L0048C7A2 test edx,edx jz L0048C82B mov eax,[esi+000000C8h] mov ecx,[eax+10h] test ecx,ecx jz L0048C7F4 mov edi,[esi+000000B0h] lea ecx,[ebp+0Ch] lea edx,[ebp+08h] push ecx push edx mov edx,[esi+000000B8h] lea ecx,[ebp-04h] sub edx,edi push ecx mov ecx,[eax] inc edx call SUB_L00492F30 jmp L0048C821 L0048C7F4: lea edx,[ebp+0Ch] push 00000002h push edx lea ecx,[ebp+08h] lea edx,[ebp-04h] push ecx mov ecx,[esi+000000B8h] push edx mov edx,[esi+000000B0h] sub ecx,edx mov edx,[eax] inc ecx push ecx push edx push 00000009h mov ecx,L00669CC8 call SUB_L00437B40 L0048C821: mov eax,[ebp+08h] dec eax mov [esi+000000CCh],eax L0048C82B: mov ecx,[esi+000000C0h] call SUB_L00412E70 mov eax,[esi+000000C0h] cmp [eax+30h],ebx jle L0048C867 mov [eax+30h],ebx L0048C844: mov eax,[esi+000000C0h] mov edx,[esi] push eax mov ecx,[eax+000000A4h] mov edi,[eax+000000A8h] mov eax,[eax+30h] sub edi,ecx sub eax,ecx push edi push eax mov ecx,esi call [edx+34h] L0048C867: push 00000001h push 00000001h mov ecx,esi call SUB_L0048CE30 pop ebx L0048C873: pop edi pop esi mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 8 L0048C880: push esi mov esi,ecx push edi mov eax,[esi+0000009Ch] test eax,eax jz L0048C8BB mov ecx,[esi+000000D0h] inc ecx mov eax,ecx mov [esi+000000D0h],ecx cmp eax,00000002h jnz L0048C8BB mov eax,[esi+70h] mov ecx,[esi+6Ch] push eax push ecx mov ecx,esi call SUB_L0048C6C0 mov dword ptr [esi+000000D0h],00000000h L0048C8BB: call [KERNEL32.dll!GetTickCount] mov edi,eax call [USER32.dll!GetDoubleClickTime] mov edx,[esi+000000A8h] mov ecx,00000001h cmp edx,ecx jnz L0048C8FC sub edi,[esi+000000A4h] cmp edi,eax jbe L0048C8FC mov eax,[esi+0000009Ch] mov dword ptr [esi+000000A8h],00000000h test eax,eax jz L0048C8FC mov [esi+00000094h],ecx L0048C8FC: pop edi pop esi retn ;------------------------------------------------------------------------------ Align 4 L0048C900: push ebp mov ebp,esp sub esp,00000074h push ebx push esi push edi mov edi,ecx mov ecx,[ebp+08h] mov eax,[edi+000000C4h] cmp ecx,00000001h mov dword ptr [eax+10h],00000001h jg L0048C94A mov ecx,[L006693FC] push 00000001h mov [edi+000000C8h],ecx push 00000001h mov ecx,edi mov dword ptr [edi+000000CCh],00000000h call SUB_L0048CE30 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ L0048C94A: cmp ecx,[ebp+0Ch] jnz L0048C9F3 mov edx,[L00669400] mov eax,edx mov [edi+000000C8h],edx mov ecx,[eax+10h] test ecx,ecx jz L0048C9A8 mov esi,[edi+000000B0h] lea ecx,[ebp-08h] lea edx,[ebp-04h] push ecx push edx mov edx,[edi+000000B8h] lea ecx,[ebp-0Ch] sub edx,esi push ecx mov ecx,[eax] inc edx call SUB_L00492F30 mov eax,[ebp-04h] push 00000001h dec eax push 00000001h mov ecx,edi mov [edi+000000CCh],eax call SUB_L0048CE30 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ L0048C9A8: mov ebx,[edi+000000B0h] lea edx,[ebp-08h] push 00000002h lea ecx,[ebp-04h] push edx push ecx mov ecx,[edi+000000B8h] lea edx,[ebp-0Ch] sub ecx,ebx push edx mov edx,[eax] inc ecx push ecx push edx push 00000009h mov ecx,L00669CC8 call SUB_L00437B40 mov eax,[ebp-04h] push 00000001h dec eax push 00000001h mov ecx,edi mov [edi+000000CCh],eax call SUB_L0048CE30 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ L0048C9F3: mov esi,[L006693FC] mov dword ptr [ebp-10h],00000000h test esi,esi jz L0048CA77 lea ebx,[ebp-74h] L0048CA07: mov eax,[esi+10h] test eax,eax jz L0048CA32 lea ecx,[ebp-08h] lea edx,[ebp-04h] push ecx mov ecx,[edi+000000B0h] push edx mov edx,[edi+000000B8h] lea eax,[ebp-0Ch] sub edx,ecx mov ecx,[esi] push eax inc edx call SUB_L00492F30 jmp L0048CA5F L0048CA32: lea ecx,[ebp-08h] push 00000002h lea edx,[ebp-04h] push ecx mov ecx,[edi+000000B8h] push edx mov edx,[edi+000000B0h] lea eax,[ebp-0Ch] sub ecx,edx mov edx,[esi] inc ecx push eax push ecx push edx push 00000009h mov ecx,L00669CC8 call SUB_L00437B40 L0048CA5F: mov eax,[ebp-04h] mov edx,[ebp-10h] mov esi,[esi+18h] add edx,eax mov [ebx],al inc ebx test esi,esi mov [ebp-10h],edx jnz L0048CA07 mov ecx,[ebp+08h] L0048CA77: mov eax,[ebp-10h] imul eax,ecx cdq idiv [ebp+0Ch] mov edx,[L006693FC] test eax,eax jle L0048CAB4 lea esi,[ebp-74h] L0048CA8E: xor ecx,ecx mov cl,[esi] cmp eax,ecx jl L0048CAA8 mov dword ptr [edi+000000CCh],00000000h mov edx,[edx+18h] sub eax,ecx inc esi jmp L0048CAB0 L0048CAA8: mov [edi+000000CCh],eax xor eax,eax L0048CAB0: test eax,eax jg L0048CA8E L0048CAB4: push 00000001h push 00000001h mov ecx,edi mov [edi+000000C8h],edx call SUB_L0048CE30 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 4 L0048CAD0: push ebp mov ebp,esp mov eax,[ebp+08h] push ebx push esi mov esi,ecx push edi add eax,00000007h mov edi,[esi+44h] and al,F8h test edi,edi mov [esi+18h],eax jz L0048CBA6 L0048CAEE: mov edx,[edi] mov ecx,edi call [edx+000000B4h] test eax,eax jz L0048CB40 mov eax,[edi+2Ch] mov ebx,[esi+1Ch] mov edx,[esi+18h] mov ecx,eax sub ecx,ebx add ecx,edx mov [edi+0000009Ch],ecx mov ecx,[esi+1Ch] mov ebx,[esi+18h] mov edx,[edi+0000009Ch] sub eax,ecx mov ecx,[edi+000000A8h] add eax,ebx mov [edi+2Ch],edx mov [edi+000000A0h],eax mov eax,[ebp+0Ch] sub eax,[esi+20h] add ecx,eax mov [edi+000000A8h],ecx jmp L0048CB9B L0048CB40: cmp edi,[esi+000000C4h] jnz L0048CB65 mov ecx,[esi+18h] mov ebx,[esi+1Ch] mov edx,[edi+2Ch] mov eax,[edi+30h] sub ecx,ebx add edx,ecx mov [edi+2Ch],edx mov edx,[ebp+0Ch] sub edx,[esi+20h] add eax,edx jmp L0048CB98 L0048CB65: mov ebx,[esi+1Ch] mov ecx,[edi+2Ch] mov eax,ebx cdq sub eax,edx sar eax,1 cmp ecx,eax jle L0048CB80 mov eax,[esi+18h] sub ecx,ebx add ecx,eax mov [edi+2Ch],ecx L0048CB80: mov ecx,[esi+20h] mov ebx,[edi+30h] mov eax,ecx cdq sub eax,edx sar eax,1 cmp ebx,eax jle L0048CB9B mov eax,[ebp+0Ch] add eax,ebx sub eax,ecx L0048CB98: mov [edi+30h],eax L0048CB9B: mov edi,[edi+3Ch] test edi,edi jnz L0048CAEE L0048CBA6: mov ecx,[esi+38h] mov eax,[ecx+04h] test eax,eax jz L0048CBCA push SSZ004D03A4_text_frame0_pBMP push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov edx,[esi+38h] mov dword ptr [edx+04h],00000000h L0048CBCA: mov eax,[esi+58h] test eax,eax jz L0048CBE8 push SSZ004D03B8_gumpbak_textgump push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov dword ptr [esi+58h],00000000h L0048CBE8: mov eax,[ebp+0Ch] mov ecx,[esi+18h] mov [esi+20h],eax imul eax,ecx lea eax,[eax+eax+04h] mov [esi+1Ch],ecx push SSZ004C5028_text_frame0 push eax mov ecx,L00669C8C call SUB_L0044FBD0 mov ecx,[esi+38h] push SSZ004C4948_gump_background mov [ecx+04h],eax mov ecx,[esi+20h] imul ecx,[esi+1Ch] mov edx,[esi+38h] xor eax,eax shl ecx,1 mov edi,[edx+04h] mov edx,ecx add edi,00000004h shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+38h] mov dx,[esi+1Ch] mov ecx,[eax+04h] mov [ecx],dx mov eax,[esi+38h] mov dx,[esi+20h] mov ecx,[eax+04h] mov [ecx+02h],dx mov eax,[esi+20h] imul eax,[esi+1Ch] shl eax,1 push eax mov ecx,L00669C8C call SUB_L0044FBD0 mov [esi+58h],eax mov eax,[esi+1Ch] lea ecx,[eax-31h] mov eax,ecx mov [esi+000000B8h],ecx cdq xor eax,edx sub eax,edx and eax,00000001h xor eax,edx sub eax,edx jnz L0048CC8D dec ecx mov [esi+000000B8h],ecx L0048CC8D: mov ecx,[esi+20h] mov edx,[esi+000000C4h] sub ecx,0000004Eh mov [esi+000000BCh],ecx mov eax,[edx+10h] test eax,eax jnz L0048CCAD mov ecx,esi call SUB_L0048CCD0 L0048CCAD: mov ecx,[esi+000000C0h] call SUB_L00412E70 push 00000001h push 00000001h mov ecx,esi call SUB_L0048CE30 pop edi pop esi pop ebx pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 8 SUB_L0048CCD0: push ebp mov ebp,esp sub esp,0000000Ch mov eax,[L00669400] push ebx push esi mov esi,ecx xor ebx,ebx push edi mov [esi+000000C8h],eax mov ecx,[eax+10h] cmp ecx,ebx jz L0048CD13 mov edi,[esi+000000B0h] lea ecx,[ebp-08h] lea edx,[ebp-04h] push ecx push edx mov edx,[esi+000000B8h] lea ecx,[ebp-0Ch] sub edx,edi push ecx mov ecx,[eax] inc edx call SUB_L00492F30 jmp L0048CD40 L0048CD13: lea edx,[ebp-08h] push 00000002h push edx lea ecx,[ebp-04h] lea edx,[ebp-0Ch] push ecx mov ecx,[esi+000000B8h] push edx mov edx,[esi+000000B0h] sub ecx,edx mov edx,[eax] inc ecx push ecx push edx push 00000009h mov ecx,L00669CC8 call SUB_L00437B40 L0048CD40: mov eax,[ebp-04h] mov edi,[esi+000000BCh] mov ecx,[esi+000000B4h] dec eax sub edi,ecx mov [esi+000000CCh],eax sub edi,00000004h L0048CD5B: mov eax,[esi+000000CCh] lea ecx,[eax+01h] cmp edi,ecx jl L0048CDFA mov edx,[esi+000000C8h] mov ecx,[edx+1Ch] cmp ecx,ebx jz L0048CDF2 or edx,FFFFFFFFh mov [esi+000000C8h],ecx sub edx,eax mov eax,[ecx+10h] add edi,edx cmp eax,ebx jz L0048CDB9 lea eax,[ebp-08h] lea edx,[ebp-04h] push eax mov ecx,[ecx] lea eax,[ebp-0Ch] push edx mov edx,[esi+000000B8h] push eax sub edx,[esi+000000B0h] inc edx call SUB_L00492F30 mov edx,[ebp-04h] dec edx mov [esi+000000CCh],edx jmp L0048CE12 L0048CDB9: lea edx,[ebp-08h] push 00000002h push edx lea eax,[ebp-04h] lea edx,[ebp-0Ch] mov ecx,[ecx] push eax mov eax,[esi+000000B8h] push edx mov edx,[esi+000000B0h] sub eax,edx inc eax push eax push ecx push 00000009h mov ecx,L00669CC8 call SUB_L00437B40 mov edx,[ebp-04h] dec edx mov [esi+000000CCh],edx jmp L0048CE12 L0048CDF2: mov [esi+000000CCh],ebx jmp L0048CE10 L0048CDFA: cmp edi,eax jl L0048CE08 sub edi,eax mov [esi+000000CCh],ebx jmp L0048CE12 L0048CE08: sub eax,edi mov [esi+000000CCh],eax L0048CE10: xor edi,edi L0048CE12: cmp edi,ebx jnz L0048CD5B pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L0048CE30: push ebp mov ebp,esp sub esp,00000024h push ebx push esi mov esi,ecx push edi mov ecx,[esi+000000B8h] mov eax,[esi+000000B0h] mov edx,[esi+000000B4h] mov [ebp-1Ch],ecx lea ecx,[ebp-04h] mov [ebp-24h],eax mov eax,[esi+000000BCh] mov [ebp-20h],edx push ecx lea edx,[ebp-0Ch] mov ecx,0000082Dh mov [ebp-18h],eax call SUB_L004390A0 mov edi,[ebp-04h] lea edx,[ebp-04h] push edx lea edx,[ebp-0Ch] mov ecx,0000082Eh call SUB_L004390A0 mov eax,[ebp-04h] mov ecx,[esi+38h] mov ebx,eax push eax mov edx,[ecx+04h] mov ecx,[esi+50h] lea eax,[edi-01h] push eax push edx mov edx,00000002h call SUB_L00484D60 mov eax,[esi+38h] xor ecx,ecx xor edx,edx mov eax,[eax+04h] mov cx,[eax+02h] mov dx,[eax] push ecx add eax,00000004h push edx push eax lea eax,[edi+0Ah] mov edx,0000082Ah push eax push 0000006Fh mov ecx,SUB_L00488700 call SUB_L00439100 mov ecx,[esi+38h] xor edx,edx add edi,00000022h mov eax,[ecx+04h] xor ecx,ecx mov dx,[eax+02h] mov cx,[eax] push edx add eax,00000004h push ecx push eax push edi push 0000001Eh mov edx,0000082Bh mov ecx,SUB_L00488700 call SUB_L00439100 mov edx,[esi+38h] xor ecx,ecx mov eax,[edx+04h] xor edx,edx mov cx,[eax+02h] mov dx,[eax] push ecx add eax,00000004h push edx push eax mov eax,[esi+20h] sub eax,ebx sub eax,00000030h push eax push 0000001Fh mov edx,0000082Bh mov ecx,SUB_L00488700 call SUB_L00439100 mov edi,[esi+000000C8h] test edi,edi jz L0048CFE8 mov ebx,[ebp-20h] mov eax,[esi+000000CCh] sub ebx,eax L0048CF44: mov eax,[edi+10h] test eax,eax jz L0048CF9C lea ecx,[ebp-10h] lea edx,[ebp-08h] push ecx mov ecx,[edi] lea eax,[ebp-14h] push edx mov edx,[ebp-1Ch] push eax sub edx,[ebp-24h] inc edx call SUB_L00492F30 mov eax,[edi+04h] lea ecx,[ebp-24h] push ecx xor ecx,ecx lea edx,[eax+eax*4] lea eax,[eax+edx*2] mov edx,[edi] mov cx,[L006C1A84+eax*8] mov eax,[ebp-24h] push ecx mov ecx,[esi+1Ch] push ebx push eax push edx mov edx,[ebp-1Ch] sub edx,eax mov eax,[esi+38h] push ecx inc edx mov ecx,[eax+04h] call SUB_L004935B0 jmp L0048CFD1 L0048CF9C: mov eax,[esi+38h] mov edx,[esi+1Ch] push 00000000h lea ecx,[ebp-24h] push 00000002h push ecx mov ecx,[eax+04h] mov eax,[ebp-24h] push edx mov edx,[ebp-1Ch] sub edx,eax push ecx mov ecx,[edi] inc edx push edx mov edx,[edi+04h] push ecx push edx push 00000009h push ebx push eax mov ecx,L00669CC8 call SUB_L004372C0 mov [ebp-08h],eax L0048CFD1: mov ecx,[ebp-08h] mov eax,[ebp-18h] mov edi,[edi+18h] add ebx,ecx cmp ebx,eax jg L0048CFE8 test edi,edi jnz L0048CF44 L0048CFE8: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L0048D000: push ebp mov ebp,esp push FFFFFFFFh push L004B51D0 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,0000000Ch push ebx push esi mov ebx,ecx push edi mov [ebp-14h],ebx call SUB_L00441CB0 mov eax,[ebp+10h] xor esi,esi mov dword ptr [ebx],L004BC898 mov [ebx+00002008h],esi mov [ebx+0000200Ch],eax mov eax,[ebp+18h] mov [ebx+00002010h],esi cmp eax,esi mov [ebp-04h],esi mov [ebx+00002014h],eax jz L0048D065 mov dword ptr [ebx+2Ch],00000140h mov dword ptr [ebx+30h],000000B4h jmp L0048D070 L0048D065: mov eax,00000014h mov [ebx+2Ch],eax mov [ebx+30h],eax L0048D070: mov eax,[ebx+0000200Ch] mov [ebp+18h],esi cmp eax,esi jle L0048D0C8 mov edx,[ebp+14h] lea ecx,[ebx+000000C8h] mov [ebp+10h],ecx L0048D089: mov edi,edx or ecx,FFFFFFFFh xor eax,eax add edx,00000050h repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,[ebp+10h] shr ecx,02h rep movsd mov ecx,eax mov eax,[ebp+18h] and ecx,00000003h inc eax rep movsb mov esi,[ebp+10h] mov ecx,[ebx+0000200Ch] add esi,00000050h cmp eax,ecx mov [ebp+18h],eax mov [ebp+10h],esi jl L0048D089 xor esi,esi L0048D0C8: lea eax,[ebx+20h] lea edi,[ebx+1Ch] mov dword ptr [ebx+04h],SSZ004D03F8_tips_gump mov ecx,00000820h mov [ebx+5Ch],esi push eax mov edx,edi mov [ebx+58h],esi mov [ebx+000000A0h],esi mov [ebx+0000009Ch],esi mov [ebx+00000098h],esi mov [ebx+00000094h],esi mov [ebx+000000A8h],esi mov [ebx+000000A4h],esi mov [ebx+60h],esi mov [ebx+50h],ecx mov [ebx+4Ch],esi mov [ebx+48h],esi mov [ebx+44h],esi mov [ebx+40h],esi mov [ebx+3Ch],esi call SUB_L004390A0 mov eax,[edi] lea edx,[ebx+24h] add eax,00000007h mov ecx,000009CBh and al,F8h mov dword ptr [ebx+20h],0000012Ch mov [ebx+18h],eax mov [edi],eax lea eax,[ebx+28h] push eax call SUB_L004390A0 push SSZ004D03E0_framedata_for_CTipsGump push 00000010h mov ecx,L00669C8C mov [ebx+10h],esi mov dword ptr [ebx+14h],00000002h call SUB_L0044FBD0 mov ecx,[ebx+14h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [ebx+38h],edi push SSZ004C5028_text_frame0 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[ebx+1Ch] imul eax,[ebx+20h] lea ecx,[eax+eax+04h] push ecx mov ecx,L00669C8C call SUB_L0044FBD0 mov edx,[ebx+38h] push SSZ004D0350_text_frame1 mov [edx+04h],eax mov ecx,[ebx+1Ch] imul ecx,[ebx+20h] mov edx,[ebx+38h] xor eax,eax shl ecx,1 mov edi,[edx+04h] mov edx,ecx add edi,00000004h shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[ebx+38h] mov dx,[ebx+1Ch] mov ecx,[eax+04h] mov [ecx],dx mov eax,[ebx+38h] mov dx,[ebx+20h] mov ecx,[eax+04h] mov [ecx+02h],dx mov eax,[ebx+24h] imul eax,[ebx+28h] lea ecx,[eax+eax+04h] push ecx mov ecx,L00669C8C call SUB_L0044FBD0 mov edx,[ebx+38h] mov [edx+0Ch],eax mov ecx,[ebx+24h] imul ecx,[ebx+28h] mov edx,[ebx+38h] xor eax,eax shl ecx,1 mov edi,[edx+0Ch] mov edx,ecx add edi,00000004h shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[ebx+38h] mov dx,[ebx+24h] mov ecx,[eax+0Ch] mov [ecx],dx mov eax,[ebx+38h] mov dx,[ebx+28h] mov ecx,[eax+0Ch] mov [ecx+02h],dx mov eax,[ebx+00002014h] cmp eax,esi mov eax,[ebx+38h] mov eax,[eax+0Ch] jz L0048D261 xor ecx,ecx xor edx,edx mov cx,[eax+02h] mov dx,[eax] push ecx add eax,00000004h push edx push eax push esi push esi mov edx,000009CBh jmp L0048D279 L0048D261: xor ecx,ecx xor edx,edx mov cx,[eax+02h] mov dx,[eax] push ecx add eax,00000004h push edx push eax push esi push esi mov edx,000009D3h L0048D279: mov ecx,SUB_L00488700 call SUB_L00439100 mov eax,[ebx+1Ch] mov dword ptr [ebx+000000B4h],00000026h mov dword ptr [ebx+000000B8h],00000044h lea ecx,[eax-31h] mov eax,ecx mov [ebx+000000BCh],ecx cdq xor eax,edx sub eax,edx and eax,00000001h xor eax,edx sub eax,edx jnz L0048D2BA dec ecx mov [ebx+000000BCh],ecx L0048D2BA: mov eax,[ebx+20h] mov ecx,ebx sub eax,0000004Eh mov [ebx+000000C0h],eax call SUB_L0048DC00 lea ecx,[ebp-10h] lea edx,[ebp-18h] push ecx mov ecx,0000082Eh call SUB_L004390A0 push 000000B4h call SUB_L0049A820 add esp,00000004h mov [ebp+10h],eax cmp eax,esi mov byte ptr [ebp-04h],01h jz L0048D317 mov edx,[ebx+20h] mov ecx,[ebp-10h] sub edx,ecx push 0000001Fh sub edx,00000038h push ebx push edx push 00000001h push 00000048h push 00000100h mov ecx,eax call SUB_L00412A50 jmp L0048D319 L0048D317: xor eax,eax L0048D319: push 00000001h push ebx mov ecx,eax mov byte ptr [ebp-04h],00h mov [ebx+000000C4h],eax call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp+10h],eax cmp eax,esi mov byte ptr [ebp-04h],02h jz L0048D367 push esi push 0000082Dh push 0000082Dh push SUB_L0040D6E0 push esi push esi push ebx push esi push 00000089h mov ecx,eax call SUB_L004122F0 jmp L0048D369 L0048D367: xor eax,eax L0048D369: push 00000001h push ebx mov ecx,eax mov byte ptr [ebp-04h],00h call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp+10h],eax cmp eax,esi mov byte ptr [ebp-04h],03h jz L0048D3BC mov ecx,[ebx+20h] mov edx,[ebp-10h] push esi push 0000082Eh push 0000082Eh push L00411760 sub ecx,edx push esi push esi sub ecx,00000003h push ebx push ecx push 00000089h mov ecx,eax call SUB_L004122F0 jmp L0048D3BE L0048D3BC: xor eax,eax L0048D3BE: push 00000001h push ebx mov ecx,eax mov byte ptr [ebp-04h],00h mov dword ptr [eax+000000A4h],0000082Fh call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp+10h],eax cmp eax,esi mov byte ptr [ebp-04h],04h jz L0048D412 push esi push 00000824h push 00000824h push SUB_L004068F0 push esi push 00000002h push ebx push 00000038h push 000000F9h mov ecx,eax call SUB_L004122F0 jmp L0048D414 L0048D412: xor eax,eax L0048D414: push 00000001h push ebx mov ecx,eax mov byte ptr [ebp-04h],00h call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp+10h],eax cmp eax,esi mov byte ptr [ebp-04h],05h jz L0048D468 mov edx,[ebx+20h] mov edi,[ebp-10h] push esi push 00000825h push 00000825h push SUB_L004068F0 sub edx,edi push esi push 00000002h sub edx,00000034h push ebx push edx push 000000F9h mov ecx,eax call SUB_L004122F0 jmp L0048D46A L0048D468: xor eax,eax L0048D46A: push 00000001h push ebx mov ecx,eax mov byte ptr [ebp-04h],00h call SUB_L004415C0 mov eax,[ebx+00002014h] mov [ebx+000000ACh],esi cmp eax,esi jz L0048D5AD push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp+10h],eax cmp eax,esi mov byte ptr [ebp-04h],06h jz L0048D4D2 mov ecx,[ebx+20h] mov edx,[ebp-10h] push esi push 000009CDh push 000009CDh push L0040DAC0 sub ecx,edx push esi push 00000002h sub ecx,00000018h push ebx push ecx push 000000FBh mov ecx,eax call SUB_L004122F0 jmp L0048D4D4 L0048D4D2: xor eax,eax L0048D4D4: push 00000001h push ebx mov ecx,eax mov byte ptr [ebp-04h],00h mov [eax+000000C0h],esi call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp+10h],eax cmp eax,esi mov byte ptr [ebp-04h],07h jz L0048D52B mov edx,[ebx+20h] mov edi,[ebp-10h] push esi push 000009CCh push 000009CCh push L0040DB00 sub edx,edi push esi push 00000002h sub edx,00000018h push ebx push edx push 00000023h mov ecx,eax call SUB_L004122F0 jmp L0048D52D L0048D52B: xor eax,eax L0048D52D: push 00000001h push ebx mov ecx,eax mov byte ptr [ebp-04h],00h mov [eax+000000C0h],esi call SUB_L004415C0 push 000000B8h call SUB_L0049A820 add esp,00000004h mov [ebp+10h],eax cmp eax,esi mov byte ptr [ebp-04h],08h jz L0048D597 mov edx,[L004C59D0] xor ecx,ecx cmp edx,esi mov edx,[ebx+20h] push esi push esi setz cl push ecx mov ecx,[ebp-10h] push SSZ004D03CC_Don_t_show_again push 00000288h push 00000009h sub edx,ecx push 000009CFh push 000009CEh sub edx,0000001Bh push ebx push edx push 00000060h mov ecx,eax call SUB_L00412FC0 jmp L0048D599 L0048D597: xor eax,eax L0048D599: push 00000001h push ebx mov ecx,eax mov byte ptr [ebp-04h],00h mov [ebx+000000ACh],eax call SUB_L004415C0 L0048D5AD: mov ecx,[ebp-0Ch] pop edi mov eax,ebx pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0014h ;------------------------------------------------------------------------------ Align 16 L0048D5D0: push ebp mov ebp,esp push esi mov esi,ecx call SUB_L0048D600 test byte ptr [ebp+08h],01h jz L0048D5EA push esi call SUB_L0049A810 add esp,00000004h L0048D5EA: mov eax,esi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L0048D600: push ebp mov ebp,esp push FFFFFFFFh push L004B51E8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push esi mov esi,ecx mov [ebp-10h],esi mov dword ptr [esi],L004BC898 mov eax,[esi+00002014h] xor ebx,ebx cmp eax,ebx mov [ebp-04h],ebx jz L0048D667 mov eax,[esi+000000ACh] xor ecx,ecx mov dl,[eax+000000B0h] cmp dl,bl mov edx,L004C46E0 setz cl mov eax,ecx cmp eax,ebx mov [L004C59D0],eax jnz L0048D65D mov edx,L004C46DC L0048D65D: mov ecx,00000030h call SUB_L00427C00 L0048D667: mov edx,[esi+38h] mov eax,[edx+04h] cmp eax,ebx jz L0048D687 push SSZ004D0428_tips_frame0_pBMP push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov eax,[esi+38h] mov [eax+04h],ebx L0048D687: mov ecx,[esi+38h] mov eax,[ecx+0Ch] cmp eax,ebx jz L0048D6A7 push SSZ004D0414_tips_frame1_pBMP push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov edx,[esi+38h] mov [edx+0Ch],ebx L0048D6A7: mov eax,[esi+38h] cmp eax,ebx jz L0048D6C1 push SSZ004D0404_tips_framedata push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov [esi+38h],ebx L0048D6C1: mov ecx,esi mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00441D50 mov ecx,[ebp-0Ch] pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 4 L0048D6E0: push ebp mov ebp,esp mov eax,[ebp+08h] push esi mov esi,ecx push edi mov ecx,[ebp+0Ch] mov edi,00000001h mov [esi+70h],ecx push 00000000h mov ecx,esi mov [esi+6Ch],eax mov [esi+0000009Ch],edi mov [esi+00002010h],edi call SUB_L00441340 cmp [esi+000000A8h],edi jnz L0048D725 mov dword ptr [esi+000000A8h],00000002h pop edi pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ L0048D725: mov [esi+000000A8h],edi call [KERNEL32.dll!GetTickCount] mov [esi+000000A4h],eax pop edi pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 4 L0048D740: push ebp mov ebp,esp mov eax,[ecx+00000094h] push esi xor esi,esi cmp eax,esi mov [ecx+0000009Ch],esi jz L0048D76D mov [ecx+00000094h],esi mov [ecx+000000A8h],esi mov [L006A9DD4],esi pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ L0048D76D: cmp dword ptr [ecx+000000A8h],00000002h jnz L0048D788 mov eax,[ecx+60h] mov [ecx+000000A8h],esi cmp eax,esi jz L0048D788 call SUB_L0040D760 L0048D788: mov [L006A9DD4],esi pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L0048D7A0: push ebp mov ebp,esp push esi mov esi,ecx mov ecx,[ebp+08h] mov eax,[esi+1Ch] lea edx,[eax-30h] cmp ecx,edx jl L0048D8B0 add eax,FFFFFFE7h cmp ecx,eax jg L0048D8B0 mov eax,[ebp+0Ch] mov ecx,[esi+000000B8h] cmp eax,ecx jl L0048D8B0 cmp eax,[esi+000000C0h] jg L0048D8B0 mov edx,[esi+0000200Ch] test edx,edx jz L0048D8B0 mov ecx,[esi+000000C4h] push edi lea edi,[eax-08h] push ebx mov eax,[ecx+30h] mov ebx,0000000Ah cmp edi,eax jge L0048D855 L0048D804: mov eax,[esi+00002008h] test eax,eax jz L0048D815 dec eax mov [esi+00002008h],eax L0048D815: dec ebx jnz L0048D804 mov eax,[esi+00002008h] push edx push eax call SUB_L00412F50 mov eax,[esi+000000C4h] mov ecx,[eax+30h] cmp ecx,edi jl L0048D83A cmp ecx,[eax+000000A4h] jge L0048D8A7 L0048D83A: mov [eax+30h],edi mov eax,[esi+000000C4h] mov ecx,[eax+000000A4h] mov edx,[eax+30h] cmp edx,ecx jge L0048D884 mov [eax+30h],ecx jmp L0048D884 L0048D855: mov eax,[esi+00002008h] inc eax cmp eax,edx jge L0048D866 mov [esi+00002008h],eax L0048D866: dec ebx jnz L0048D855 push edx mov edx,[esi+00002008h] push edx call SUB_L00412F50 mov eax,[esi+000000C4h] cmp [eax+30h],edi jle L0048D8A7 mov [eax+30h],edi L0048D884: mov eax,[esi+000000C4h] mov edx,[esi] push eax mov ecx,[eax+000000A4h] mov edi,[eax+000000A8h] mov eax,[eax+30h] sub edi,ecx sub eax,ecx push edi push eax mov ecx,esi call [edx+34h] L0048D8A7: mov ecx,esi call SUB_L0048DC00 pop ebx pop edi L0048D8B0: pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 L0048D8C0: push ebp mov ebp,esp push ebx push esi mov esi,ecx push edi push 00000000h mov ecx,L006BB1C8 call SUB_L0049A010 mov ebx,[esi+0000009Ch] mov ecx,[ebp+0Ch] mov edi,[ebp+08h] test ebx,ebx jz L0048D924 mov eax,[esi+000000A8h] test eax,eax jbe L0048D924 mov edx,[esi+6Ch] mov eax,edi sub eax,edx cdq xor eax,edx sub eax,edx cmp eax,00000004h jg L0048D910 mov edx,[esi+70h] mov eax,ecx sub eax,edx cdq xor eax,edx sub eax,edx cmp eax,00000004h jle L0048D924 L0048D910: mov dword ptr [esi+00000094h],00000001h mov dword ptr [esi+000000A8h],00000000h L0048D924: test ebx,ebx jz L0048D941 mov ebx,[esi+70h] push 00000001h push 00000000h sub ecx,ebx push 00000001h push ecx mov ecx,[esi+6Ch] sub edi,ecx mov ecx,esi push edi call SUB_L00440850 L0048D941: pop edi pop esi pop ebx pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 L0048D950: push esi mov esi,ecx push edi mov eax,[esi+0000009Ch] test eax,eax jz L0048D98B mov ecx,[esi+00002010h] inc ecx mov eax,ecx mov [esi+00002010h],ecx cmp eax,00000002h jnz L0048D98B mov eax,[esi+70h] mov ecx,[esi+6Ch] push eax push ecx mov ecx,esi call SUB_L0048D7A0 mov dword ptr [esi+00002010h],00000000h L0048D98B: call [KERNEL32.dll!GetTickCount] mov edi,eax call [USER32.dll!GetDoubleClickTime] mov edx,[esi+000000A8h] mov ecx,00000001h cmp edx,ecx jnz L0048D9CC sub edi,[esi+000000A4h] cmp edi,eax jbe L0048D9CC mov eax,[esi+0000009Ch] mov dword ptr [esi+000000A8h],00000000h test eax,eax jz L0048D9CC mov [esi+00000094h],ecx L0048D9CC: pop edi pop esi retn ;------------------------------------------------------------------------------ Align 4 L0048D9D0: push ebp mov ebp,esp mov edx,[ebp+08h] push esi cmp edx,00000001h jg L0048D9F0 mov dword ptr [ecx+00002008h],00000000h call SUB_L0048DC00 pop esi pop ebp retn 000Ch ;------------------------------------------------------------------------------ L0048D9F0: mov esi,[ebp+0Ch] mov eax,[ecx+0000200Ch] cmp edx,esi jnz L0048DA0E dec eax mov [ecx+00002008h],eax call SUB_L0048DC00 pop esi pop ebp retn 000Ch ;------------------------------------------------------------------------------ L0048DA0E: imul eax,edx cdq idiv esi mov [ecx+00002008h],eax call SUB_L0048DC00 pop esi pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 16 L0048DA30: push ebp mov ebp,esp mov eax,[ebp+08h] push ebx push esi mov esi,ecx push edi add eax,00000007h mov edi,[esi+44h] and al,F8h test edi,edi mov [esi+18h],eax jz L0048DAE1 L0048DA4E: mov edx,[edi] mov ecx,edi call [edx+000000B4h] test eax,eax jz L0048DAA0 mov eax,[edi+2Ch] mov ebx,[esi+1Ch] mov edx,[esi+18h] mov ecx,eax sub ecx,ebx add ecx,edx mov [edi+0000009Ch],ecx mov ecx,[esi+1Ch] mov ebx,[esi+18h] mov edx,[edi+0000009Ch] sub eax,ecx mov ecx,[edi+000000A8h] add eax,ebx mov [edi+2Ch],edx mov [edi+000000A0h],eax mov eax,[ebp+0Ch] sub eax,[esi+20h] add ecx,eax mov [edi+000000A8h],ecx jmp L0048DAD6 L0048DAA0: mov ebx,[esi+1Ch] mov ecx,[edi+2Ch] mov eax,ebx cdq sub eax,edx sar eax,1 cmp ecx,eax jle L0048DABB mov eax,[esi+18h] sub ecx,ebx add ecx,eax mov [edi+2Ch],ecx L0048DABB: mov ecx,[esi+20h] mov ebx,[edi+30h] mov eax,ecx cdq sub eax,edx sar eax,1 cmp ebx,eax jle L0048DAD6 mov edx,[ebp+0Ch] add edx,ebx sub edx,ecx mov [edi+30h],edx L0048DAD6: mov edi,[edi+3Ch] test edi,edi jnz L0048DA4E L0048DAE1: mov eax,[esi+38h] mov eax,[eax+04h] test eax,eax jz L0048DB05 push SSZ004D0428_tips_frame0_pBMP push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov ecx,[esi+38h] mov dword ptr [ecx+04h],00000000h L0048DB05: mov eax,[esi+58h] test eax,eax jz L0048DB23 push SSZ004D043C_gumpbak_tipsgump push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov dword ptr [esi+58h],00000000h L0048DB23: mov eax,[ebp+0Ch] mov ecx,[esi+18h] mov [esi+20h],eax imul eax,ecx lea edx,[eax+eax+04h] mov [esi+1Ch],ecx push SSZ004C5028_text_frame0 push edx mov ecx,L00669C8C call SUB_L0044FBD0 mov ecx,[esi+38h] push SSZ004C4948_gump_background mov [ecx+04h],eax mov ecx,[esi+20h] imul ecx,[esi+1Ch] mov edx,[esi+38h] xor eax,eax shl ecx,1 mov edi,[edx+04h] mov edx,ecx add edi,00000004h shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+38h] mov dx,[esi+1Ch] mov ecx,[eax+04h] mov [ecx],dx mov eax,[esi+38h] mov dx,[esi+20h] mov ecx,[eax+04h] mov [ecx+02h],dx mov eax,[esi+20h] imul eax,[esi+1Ch] shl eax,1 push eax mov ecx,L00669C8C call SUB_L0044FBD0 mov [esi+58h],eax mov eax,[esi+1Ch] lea ecx,[eax-31h] mov eax,ecx mov [esi+000000BCh],ecx cdq xor eax,edx sub eax,edx and eax,00000001h xor eax,edx sub eax,edx jnz L0048DBC8 dec ecx mov [esi+000000BCh],ecx L0048DBC8: mov ecx,[esi+20h] mov edx,[esi+0000200Ch] mov eax,[esi+00002008h] sub ecx,0000004Eh mov [esi+000000C0h],ecx mov ecx,[esi+000000C4h] push edx push eax call SUB_L00412F50 mov ecx,esi call SUB_L0048DC00 pop edi pop esi pop ebx pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 8 SUB_L0048DC00: push ebp mov ebp,esp sub esp,0000001Ch push ebx push esi mov esi,ecx push edi mov ecx,[esi+000000BCh] mov eax,[esi+000000B4h] mov edx,[esi+000000B8h] mov [ebp-14h],ecx lea ecx,[ebp-04h] mov [ebp-1Ch],eax mov eax,[esi+000000C0h] mov [ebp-18h],edx push ecx lea edx,[ebp-0Ch] mov ecx,0000082Dh mov [ebp-10h],eax call SUB_L004390A0 mov edi,[ebp-04h] lea edx,[ebp-04h] push edx lea edx,[ebp-0Ch] mov ecx,0000082Eh call SUB_L004390A0 mov eax,[ebp-04h] mov ecx,[esi+38h] mov ebx,eax push eax mov edx,[ecx+04h] mov ecx,[esi+50h] lea eax,[edi-01h] push eax push edx mov edx,00000002h call SUB_L00484D60 mov eax,[esi+00002014h] test eax,eax jz L0048DCA0 mov eax,[esi+38h] xor ecx,ecx xor edx,edx mov eax,[eax+04h] mov cx,[eax+02h] mov dx,[eax] push ecx add eax,00000004h push edx push eax lea eax,[edi+09h] mov edx,000009CAh push eax push 0000007Fh jmp L0048DCC2 L0048DCA0: mov ecx,[esi+38h] xor edx,edx mov eax,[ecx+04h] xor ecx,ecx mov dx,[eax+02h] mov cx,[eax] push edx add eax,00000004h push ecx lea edx,[edi+0Bh] push eax push edx push 00000070h mov edx,000009D2h L0048DCC2: mov ecx,SUB_L00488700 call SUB_L00439100 mov eax,[esi+38h] xor ecx,ecx xor edx,edx add edi,00000022h mov eax,[eax+04h] mov cx,[eax+02h] mov dx,[eax] push ecx add eax,00000004h push edx push eax push edi push 0000001Eh mov edx,0000082Bh mov ecx,SUB_L00488700 call SUB_L00439100 mov eax,[esi+38h] xor ecx,ecx xor edx,edx mov eax,[eax+04h] mov cx,[eax+02h] mov dx,[eax] push ecx add eax,00000004h push edx push eax mov eax,[esi+20h] mov edx,0000082Bh sub eax,ebx mov ecx,SUB_L00488700 sub eax,00000030h push eax push 0000001Fh call SUB_L00439100 mov eax,[esi+00002008h] mov edi,[ebp-18h] mov [ebp-08h],eax lea ecx,[eax+eax*4] shl ecx,04h lea ebx,[ecx+esi+000000C8h] L0048DD42: mov ecx,[esi+38h] mov eax,[esi+1Ch] push 00000000h lea edx,[ebp-1Ch] push 00000002h push edx mov edx,[ecx+04h] mov ecx,[ebp-14h] push eax mov eax,[ebp-1Ch] sub ecx,eax push edx inc ecx push ecx push ebx push 00000000h push 00000006h push edi push eax mov ecx,L00669CC8 call SUB_L004372C0 mov edx,[ebp-08h] mov eax,[ebp-10h] add edi,0000000Eh inc edx add ebx,00000050h cmp edi,eax mov [ebp-08h],edx jg L0048DD8C cmp edx,[esi+0000200Ch] jl L0048DD42 L0048DD8C: pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 L0048DDA0: push ebp mov ebp,esp sub esp,00000018h push ebx mov ebx,ecx push esi lea eax,[ebp-04h] push edi lea ecx,[ebp-08h] push eax xor esi,esi push ecx mov ecx,ebx mov [ebp-08h],esi mov [ebp-04h],esi call SUB_L00440C60 cmp [ebx+60h],esi jnz L0048DDCF mov edx,[ebx+38h] mov esi,[edx+04h] jmp L0048DDD5 L0048DDCF: mov eax,[ebx+38h] mov esi,[eax+0Ch] L0048DDD5: mov eax,[ebp-08h] mov ecx,[ebp-04h] xor edx,edx mov [ebp-18h],eax mov [ebp-14h],ecx mov dx,[esi] add eax,edx mov edi,[ebp+08h] mov [ebp-10h],eax xor eax,eax mov ax,[esi+02h] add ecx,eax mov [ebp-0Ch],ecx lea ecx,[ebp-18h] push ecx push edi mov ecx,L00669608 call SUB_L00440D40 test eax,eax jz L0048DE60 mov edx,[L004C7F38] mov eax,[L004C7F34] mov ecx,[L006BAE7C] push edx mov edx,[ebp-04h] push eax mov eax,[ebp-08h] push ecx push edx xor ecx,ecx mov cx,[esi+02h] xor edx,edx mov dx,[esi] push eax push ecx push edx push edi lea edx,[esi+04h] mov ecx,SUB_L00488700 call SUB_L00439500 mov eax,[ebx+60h] test eax,eax jnz L0048DE60 mov esi,[ebx+4Ch] test esi,esi jz L0048DE60 L0048DE51: mov eax,[esi] push edi mov ecx,esi call [eax+0Ch] mov esi,[esi+40h] test esi,esi jnz L0048DE51 L0048DE60: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 8 SUB_L0048DE70: push ebp mov ebp,esp push FFFFFFFFh push L004B5234 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push esi mov esi,ecx push edi mov [ebp-10h],esi call SUB_L00441CB0 mov eax,[ebp+08h] mov edi,[ebp+20h] mov edx,[ebp+24h] mov [esi+2Ch],eax mov eax,edi mov [esi+20h],edx mov ecx,[ebp+0Ch] xor ebx,ebx cdq xor eax,edx mov [esi+30h],ecx sub eax,edx mov [ebp-04h],ebx and eax,00000001h mov dword ptr [esi],L004BC9E0 xor eax,edx mov dword ptr [esi+04h],SSZ004D0450_resize_gump mov ecx,eax mov [esi+5Ch],ebx sub ecx,edx mov [esi+58h],ebx cmp ecx,00000001h mov [esi+60h],ebx mov [esi+50h],ebx mov [esi+4Ch],ebx mov [esi+48h],ebx mov [esi+44h],ebx mov [esi+40h],ebx mov [esi+3Ch],ebx mov [esi+1Ch],edi jnz L0048DEF6 lea eax,[edi+01h] mov [esi+1Ch],eax L0048DEF6: mov edx,[ebp+2Ch] mov eax,[ebp+18h] mov [esi+000000B8h],edx mov [esi+000000A4h],eax cdq xor eax,edx mov [esi+0000009Ch],ebx sub eax,edx mov [esi+000000A0h],ebx and eax,00000001h xor eax,edx sub eax,edx cmp eax,00000001h jnz L0048DF2F mov eax,[ebp+18h] inc eax mov [esi+000000A4h],eax L0048DF2F: mov edx,[ebp+1Ch] cmp ecx,00000001h mov [esi+000000A8h],edx mov [esi+000000ACh],edi jnz L0048DF4A inc edi mov [esi+000000ACh],edi L0048DF4A: mov ecx,[ebp+24h] mov eax,[esi+000000A4h] mov edi,[ebp+14h] mov [esi+000000B0h],ecx mov ecx,[ebp+10h] mov [esi+00000098h],edi cmp ecx,eax mov [esi+00000094h],ecx jge L0048DF75 mov [esi+00000094h],eax L0048DF75: cmp edi,edx jge L0048DF7F mov [esi+00000098h],edx L0048DF7F: mov eax,[esi+000000ACh] mov ecx,[esi+00000094h] cmp ecx,eax jle L0048DF95 mov [esi+00000094h],eax L0048DF95: mov eax,[ebp+24h] mov ecx,[esi+00000098h] cmp ecx,eax jle L0048DFA8 mov [esi+00000098h],eax L0048DFA8: mov ecx,[esi+00000094h] mov eax,ecx cdq xor eax,edx sub eax,edx and eax,00000001h xor eax,edx sub eax,edx cmp eax,00000001h jnz L0048DFC8 inc ecx mov [esi+00000094h],ecx L0048DFC8: mov edx,[ebp+28h] push 000000B0h mov [esi+000000B4h],edx mov [esi+10h],ebx mov [esi+14h],ebx call SUB_L0049A820 add esp,00000004h mov [ebp+24h],eax cmp eax,ebx mov byte ptr [ebp-04h],01h jz L0048E00B mov ecx,[esi+000000ACh] push FFFFFFFFh push ebx push 00000001h push 00000002h push ecx push esi push ebx push ebx mov ecx,eax call SUB_L00442DD0 mov edi,eax jmp L0048E00D L0048E00B: xor edi,edi L0048E00D: mov edx,[edi+20h] push SSZ004C4948_gump_background imul edx,[edi+1Ch] shl edx,1 push edx mov ecx,L00669C8C mov [ebp-04h],bl call SUB_L0044FBD0 push ebx push esi mov ecx,edi mov [edi+58h],eax call SUB_L004415C0 mov eax,[edi+38h] mov ecx,[eax+04h] push ecx push 000000FFh push 000000FFh push 000000FFh mov ecx,L006AAE78 call SUB_L0043BA40 mov edx,[esi+00000094h] push eax dec edx push 00000001h push edx push ebx push ebx mov ecx,L00669CC8 call SUB_L00437ED0 push 000000B0h call SUB_L0049A820 add esp,00000004h mov [ebp+24h],eax cmp eax,ebx mov byte ptr [ebp-04h],02h jz L0048E0A9 mov ecx,[esi+000000B0h] mov edx,[esi+00000094h] push FFFFFFFFh push ebx push 00000002h push ecx push 00000002h push esi sub edx,00000002h push ebx push edx mov ecx,eax call SUB_L00442DD0 mov edi,eax jmp L0048E0AB L0048E0A9: xor edi,edi L0048E0AB: mov eax,[edi+20h] push SSZ004C4948_gump_background imul eax,[edi+1Ch] shl eax,1 push eax mov ecx,L00669C8C mov [ebp-04h],bl call SUB_L0044FBD0 push ebx push esi mov ecx,edi mov [edi+58h],eax call SUB_L004415C0 mov ecx,[edi+38h] mov edx,[ecx+04h] mov ecx,L006AAE78 push edx push 000000FFh push 000000FFh push 000000FFh call SUB_L0043BA40 push eax mov eax,[esi+00000098h] dec eax mov ecx,L00669CC8 push eax push 00000001h push ebx push ebx call SUB_L00437ED0 push 000000B0h call SUB_L0049A820 add esp,00000004h mov [ebp+24h],eax cmp eax,ebx mov byte ptr [ebp-04h],03h jz L0048E147 mov ecx,[esi+000000ACh] mov edx,[esi+00000098h] push FFFFFFFFh push ebx push 00000003h push 00000002h push ecx sub edx,00000002h push esi push edx push ebx mov ecx,eax call SUB_L00442DD0 mov edi,eax jmp L0048E149 L0048E147: xor edi,edi L0048E149: mov eax,[edi+20h] push SSZ004C4948_gump_background imul eax,[edi+1Ch] shl eax,1 push eax mov ecx,L00669C8C mov [ebp-04h],bl call SUB_L0044FBD0 push ebx push esi mov ecx,edi mov [edi+58h],eax call SUB_L004415C0 mov ecx,[edi+38h] mov edx,[ecx+04h] mov ecx,L006AAE78 push edx push 000000FFh push 000000FFh push 000000FFh call SUB_L0043BA40 push eax mov eax,[esi+00000094h] dec eax push 00000001h push eax push ebx push ebx mov ecx,L00669CC8 call SUB_L00437ED0 push 000000B0h call SUB_L0049A820 add esp,00000004h mov [ebp+24h],eax cmp eax,ebx mov byte ptr [ebp-04h],04h jz L0048E1DC mov ecx,[esi+000000B0h] push FFFFFFFFh push ebx push 00000004h push ecx push 00000002h push esi push ebx push ebx mov ecx,eax call SUB_L00442DD0 mov edi,eax jmp L0048E1DE L0048E1DC: xor edi,edi L0048E1DE: mov edx,[edi+20h] push SSZ004C4948_gump_background imul edx,[edi+1Ch] shl edx,1 push edx mov ecx,L00669C8C mov [ebp-04h],bl call SUB_L0044FBD0 push ebx push esi mov ecx,edi mov [edi+58h],eax call SUB_L004415C0 mov eax,[edi+38h] mov ecx,[eax+04h] push ecx push 000000FFh push 000000FFh push 000000FFh mov ecx,L006AAE78 call SUB_L0043BA40 mov edx,[esi+00000098h] push eax dec edx mov ecx,L00669CC8 push edx push 00000001h push ebx push ebx call SUB_L00437ED0 mov eax,[esi+000000B4h] mov ecx,[eax+70h] mov edx,[eax+6Ch] push ecx push edx mov ecx,esi call SUB_L0048E300 mov ecx,[ebp-0Ch] mov [L006A9DD4],esi mov eax,esi pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0028h ;------------------------------------------------------------------------------ Align 4 L0048E270: push ebp mov ebp,esp push esi mov esi,ecx call SUB_L0048E2A0 test byte ptr [ebp+08h],01h jz L0048E28A push esi call SUB_L0049A810 add esp,00000004h L0048E28A: mov eax,esi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L0048E2A0: mov dword ptr [ecx],L004BC9E0 jmp SUB_L00441D50 Align 8 L0048E2B0: push ebp mov ebp,esp push esi mov esi,ecx mov dword ptr [L006A9DD4],00000000h mov edx,[esi+000000B8h] mov ecx,[esi+000000B4h] push edx mov edx,[esi+00000098h] mov eax,[ecx] push edx mov edx,[esi+00000094h] push edx call [eax+3Ch] test esi,esi jz L0048E2EC mov eax,[esi] push 00000001h mov ecx,esi call [eax] L0048E2EC: pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L0048E300: push ebp mov ebp,esp push ebx mov edx,[ebp+0Ch] mov ebx,ecx push esi push edi mov eax,[ebx+00000094h] mov ecx,[ebx+00000098h] mov [ebx+0000009Ch],eax mov eax,[ebx+000000A4h] mov [ebx+000000A0h],ecx mov ecx,[ebp+08h] cmp ecx,eax mov [ebx+00000094h],ecx mov [ebx+00000098h],edx jge L0048E342 mov [ebx+00000094h],eax L0048E342: mov eax,[ebx+000000A8h] cmp edx,eax jge L0048E352 mov [ebx+00000098h],eax L0048E352: mov eax,[ebx+000000ACh] mov ecx,[ebx+00000094h] cmp ecx,eax jle L0048E368 mov [ebx+00000094h],eax L0048E368: mov eax,[ebx+000000B0h] mov ecx,[ebx+00000098h] cmp ecx,eax jle L0048E37E mov [ebx+00000098h],eax L0048E37E: mov ecx,[ebx+00000094h] mov eax,ecx cdq xor eax,edx sub eax,edx and eax,00000001h xor eax,edx sub eax,edx cmp eax,00000001h jnz L0048E39E inc ecx mov [ebx+00000094h],ecx L0048E39E: mov esi,[ebx+44h] test esi,esi jz L0048E4C6 L0048E3A9: mov ecx,[esi+20h] mov edx,[esi+38h] imul ecx,[esi+1Ch] mov edi,[edx+04h] xor eax,eax shl ecx,1 mov edx,ecx add edi,00000004h shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+0000009Ch] dec eax cmp eax,00000003h ja L0048E4BB jmp [CASE_PROCTABLE_0048E4D0+eax*4] CASE_0048E4D0_PROC0000: mov eax,[esi+38h] mov ecx,[eax+04h] push ecx push 000000FFh push 000000FFh push 000000FFh mov ecx,L006AAE78 call SUB_L0043BA40 mov edx,[ebx+00000094h] push eax dec edx push 00000001h push edx jmp L0048E4AD CASE_0048E4D0_PROC0001: mov eax,[ebx+00000094h] mov ecx,[esi+38h] sub eax,00000002h mov [esi+2Ch],eax mov edx,[ecx+04h] push edx push 000000FFh push 000000FFh push 000000FFh mov ecx,L006AAE78 call SUB_L0043BA40 push eax mov eax,[ebx+00000098h] dec eax push eax jmp L0048E4AB CASE_0048E4D0_PROC0002: mov ecx,[ebx+00000098h] mov edx,[esi+38h] sub ecx,00000002h mov [esi+30h],ecx mov eax,[edx+04h] push eax push 000000FFh push 000000FFh push 000000FFh mov ecx,L006AAE78 call SUB_L0043BA40 mov ecx,[ebx+00000094h] push eax dec ecx push 00000001h push ecx jmp L0048E4AD CASE_0048E4D0_PROC0003: mov edx,[esi+38h] mov ecx,L006AAE78 mov eax,[edx+04h] push eax push 000000FFh push 000000FFh push 000000FFh call SUB_L0043BA40 mov ecx,[ebx+00000098h] push eax dec ecx push ecx L0048E4AB: push 00000001h L0048E4AD: push 00000000h push 00000000h mov ecx,L00669CC8 call SUB_L00437ED0 L0048E4BB: mov esi,[esi+3Ch] test esi,esi jnz L0048E3A9 L0048E4C6: pop edi pop esi pop ebx pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_0048E4D0: dd CASE_0048E4D0_PROC0000 dd CASE_0048E4D0_PROC0001 dd CASE_0048E4D0_PROC0002 dd CASE_0048E4D0_PROC0003 L0048E4E0: push ebp mov ebp,esp push esi mov esi,[ecx+44h] test esi,esi jz L0048E4FF push edi mov edi,[ebp+08h] L0048E4EF: mov eax,[esi] push edi mov ecx,esi call [eax+08h] mov esi,[esi+3Ch] test esi,esi jnz L0048E4EF pop edi L0048E4FF: pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 L0048E510: push ebp mov ebp,esp push esi mov esi,[ecx+44h] test esi,esi jz L0048E52F push edi mov edi,[ebp+08h] L0048E51F: mov eax,[esi] push edi mov ecx,esi call [eax+0Ch] mov esi,[esi+3Ch] test esi,esi jnz L0048E51F pop edi L0048E52F: pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L0048E540: push ebp mov ebp,esp push FFFFFFFFh push L004B527C mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000030h push ebx push esi mov ebx,ecx push edi mov [ebp-24h],ebx call SUB_L00441CB0 mov ecx,[ebp+08h] xor eax,eax cmp ecx,eax mov [ebp-04h],eax mov dword ptr [ebx],L004BCB28 mov dword ptr [ebx+04h],SSZ004D0478_trade_gump mov [ebx+5Ch],eax mov [ebx+00000094h],eax mov [ebx+34h],ecx jz L0048E59F mov eax,[ecx] call [eax+24h] test eax,eax jz L0048E59F mov ecx,[ebx+34h] mov [ecx+000001D4h],ebx L0048E59F: mov edi,[ebp+14h] or ecx,FFFFFFFFh xor eax,eax lea edx,[ebx+00000098h] repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx lea edx,[ebx+1Ch] shr ecx,02h rep movsd mov ecx,eax lea eax,[ebx+20h] and ecx,00000003h push eax rep movsb xor esi,esi mov ecx,00000866h mov [ebx+4Ch],esi mov [ebx+48h],esi mov [ebx+44h],esi mov [ebx+40h],esi mov [ebx+3Ch],esi mov [ebx+50h],ecx call SUB_L004390A0 lea ecx,[ebp-14h] lea edx,[ebp-18h] push ecx mov ecx,00000052h call SUB_L004390A0 push SSZ004D045C_framedata_for_CTradeGump push 00000008h mov ecx,L00669C8C mov [ebx+10h],esi mov dword ptr [ebx+14h],00000001h call SUB_L0044FBD0 mov ecx,[ebx+14h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [ebx+38h],edi push SSZ004C624C_container_frame rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[ebx+1Ch] imul eax,[ebx+20h] lea ecx,[eax+eax+04h] push ecx mov ecx,L00669C8C call SUB_L0044FBD0 mov edx,[ebx+38h] mov [edx+04h],eax mov ecx,[ebx+1Ch] imul ecx,[ebx+20h] mov edx,[ebx+38h] xor eax,eax shl ecx,1 mov edi,[edx+04h] mov edx,ecx add edi,00000004h shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[ebx+38h] mov dx,[ebx+1Ch] mov ecx,[eax+04h] mov [ecx],dx mov eax,[ebx+38h] mov dx,[ebx+20h] mov ecx,[eax+04h] mov [ecx+02h],dx mov eax,[ebx+38h] mov eax,[eax+04h] xor ecx,ecx xor edx,edx mov cx,[eax+02h] mov dx,[eax] push ecx add eax,00000004h push edx mov edx,[ebx+50h] push eax push esi push esi mov ecx,SUB_L00488700 call SUB_L00439100 mov eax,[ebp+0Ch] mov ecx,L006A9D38 push eax mov byte ptr [ebp-04h],01h mov [ebp-2Ch],si mov [ebp-2Ah],si mov [ebp-28h],si call SUB_L004616C0 mov edi,eax cmp edi,esi jz L0048E743 mov edx,[edi] mov ecx,edi call [edx+30h] test eax,eax jz L0048E743 push 000000C4h call SUB_L0049A820 add esp,00000004h mov [ebp+08h],eax cmp eax,esi mov byte ptr [ebp-04h],02h jz L0048E717 mov ecx,[ebp-14h] mov edx,[ebp-18h] push 00000052h push ecx push edx push 00000001h push edi push ebx push 00000058h push 0000002Eh mov ecx,eax call SUB_L00429950 jmp L0048E719 L0048E717: xor eax,eax L0048E719: mov [ebx+000000B8h],eax mov [eax+000000A0h],ebx mov eax,[ebx+000000B8h] push 00000001h mov [edi+000000ACh],eax mov ecx,[ebx+000000B8h] push ebx mov byte ptr [ebp-04h],01h call SUB_L004415C0 L0048E743: mov ecx,[ebp+10h] push ecx mov ecx,L006A9D38 call SUB_L004616C0 mov edi,eax cmp edi,esi jz L0048E7C4 mov edx,[edi] mov ecx,edi call [edx+30h] test eax,eax jz L0048E7C4 push 000000C4h call SUB_L0049A820 add esp,00000004h mov [ebp+08h],eax cmp eax,esi mov byte ptr [ebp-04h],03h jz L0048E798 mov ecx,[ebp-14h] mov edx,[ebp-18h] push 00000052h push ecx push edx push 00000001h push edi push ebx push 00000047h push 000000C0h mov ecx,eax call SUB_L00429950 jmp L0048E79A L0048E798: xor eax,eax L0048E79A: mov [ebx+000000BCh],eax mov [eax+000000A0h],ebx mov eax,[ebx+000000BCh] push 00000001h mov [edi+000000ACh],eax mov ecx,[ebx+000000BCh] push ebx mov byte ptr [ebp-04h],01h call SUB_L004415C0 L0048E7C4: push 000000B8h call SUB_L0049A820 add esp,00000004h mov [ebp+08h],eax cmp eax,esi mov byte ptr [ebp-04h],04h jz L0048E80B push 00000869h push 00000867h push esi push L004D77C0 push 00000386h push 00000001h push 00000869h push 00000867h push ebx push 0000001Dh push 00000034h mov ecx,eax call SUB_L00412FC0 jmp L0048E80D L0048E80B: xor eax,eax L0048E80D: mov [ebx+000000C0h],eax mov dword ptr [eax+000000A0h],00000868h mov ecx,[ebx+000000C0h] push 00000001h push ebx mov byte ptr [ebp-04h],01h mov dword ptr [ecx+000000A4h],0000086Ah mov ecx,[ebx+000000C0h] call SUB_L004415C0 push 000000B8h call SUB_L0049A820 add esp,00000004h mov [ebp+08h],eax cmp eax,esi mov byte ptr [ebp-04h],05h jz L0048E88C push 00000869h push 00000867h push esi push L004D77C0 push 00000386h push 00000001h push 00000869h push 00000867h push ebx push 000000A0h push 0000010Ah mov ecx,eax call SUB_L00412FC0 jmp L0048E88E L0048E88C: xor eax,eax L0048E88E: mov [ebx+000000C4h],eax mov dword ptr [eax+000000B4h],00000001h mov ecx,[ebx+000000C4h] mov byte ptr [ebp-04h],01h call SUB_L00413290 mov ecx,[ebx+000000C4h] push 00000001h push ebx call SUB_L004415C0 lea edx,[ebp-10h] lea eax,[ebp-20h] push edx lea ecx,[ebp-1Ch] push eax push ecx push L004C41E4 push 00000001h mov ecx,L00669CC8 call SUB_L00437A10 mov edx,[ebx+20h] mov eax,[ebx+1Ch] mov [ebp-30h],edx mov edx,[ebx+38h] lea ecx,[ebp-3Ch] mov [ebp-3Ch],esi push ecx mov ecx,[ebp-10h] mov [ebp-34h],eax mov [ebp-38h],esi push eax mov eax,[edx+04h] add eax,00000004h add ecx,00000028h push eax push L006BB372 push 00000386h push 00000001h push ecx push 00000054h mov ecx,L00669CC8 call SUB_L004371A0 lea edx,[ebp-10h] lea eax,[ebp-20h] push edx lea ecx,[ebp-1Ch] push eax lea esi,[ebx+00000098h] push ecx push esi push 00000001h mov ecx,L00669CC8 call SUB_L00437A10 mov ecx,[ebx+38h] mov eax,[ebx+1Ch] lea edx,[ebp-3Ch] push edx mov edx,[ecx+04h] add edx,00000004h push eax mov eax,[ebp-10h] push edx mov edx,[ebp-1Ch] push esi mov ecx,00000104h push 00000386h add eax,000000AAh push 00000001h sub ecx,edx push eax push ecx mov ecx,L00669CC8 call SUB_L004371A0 mov ecx,[ebp-0Ch] pop edi mov eax,ebx pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0010h ;------------------------------------------------------------------------------ Align 16 L0048E990: push ebp mov ebp,esp push esi mov esi,ecx call SUB_L0048E9C0 test byte ptr [ebp+08h],01h jz L0048E9AA push esi call SUB_L0049A810 add esp,00000004h L0048E9AA: mov eax,esi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L0048E9C0: push ebp mov ebp,esp push FFFFFFFFh push L004B5298 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx push edi mov [ebp-10h],esi mov dword ptr [esi],L004BCB28 mov eax,[esi+000000B8h] xor edi,edi cmp eax,edi mov [ebp-04h],edi jz L0048EA19 mov eax,[eax+34h] cmp eax,edi jz L0048EA03 mov edx,[eax] mov ecx,eax call [edx+04h] L0048EA03: mov ecx,[esi+000000B8h] cmp ecx,edi jz L0048EA13 mov eax,[ecx] push 00000001h call [eax] L0048EA13: mov [esi+000000B8h],edi L0048EA19: mov eax,[esi+000000BCh] cmp eax,edi jz L0048EA47 mov eax,[eax+34h] cmp eax,edi jz L0048EA31 mov edx,[eax] mov ecx,eax call [edx+04h] L0048EA31: mov ecx,[esi+000000BCh] cmp ecx,edi jz L0048EA41 mov eax,[ecx] push 00000001h call [eax] L0048EA41: mov [esi+000000BCh],edi L0048EA47: mov ecx,[esi+34h] cmp ecx,edi jz L0048EA60 mov edx,[ecx] call [edx+24h] test eax,eax jz L0048EA60 mov eax,[esi+34h] mov [eax+000001D4h],edi L0048EA60: mov ecx,[esi+38h] mov eax,[ecx+04h] cmp eax,edi jz L0048EA80 push SSZ004D0494_Trade_frame1_pBMP push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov edx,[esi+38h] mov [edx+04h],edi L0048EA80: mov eax,[esi+38h] cmp eax,edi jz L0048EA9A push SSZ004D0484_Trade_framedata push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov [esi+38h],edi L0048EA9A: mov ecx,esi mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00441D50 mov ecx,[ebp-0Ch] pop edi mov fs:[00000000h],ecx pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 L0048EAC0: push ebp mov ebp,esp sub esp,00000030h mov dword ptr [L006A9DD4],00000000h mov eax,[ecx+000000B8h] test eax,eax jz L0048EB0E mov eax,[eax+34h] test eax,eax jz L0048EB0E mov eax,[eax+78h] push 00000000h push 00000000h push eax lea ecx,[ebp-30h] push 00000001h push ecx mov ecx,L006BB1C0 call SUB_L004756C0 mov ecx,[L006BB1CC] lea edx,[ebp-30h] push edx call SUB_L0048B170 mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L0048EB0E: test ecx,ecx jz L0048EB18 mov eax,[ecx] push 00000001h call [eax] L0048EB18: mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 4 L0048EB20: push ebp mov ebp,esp mov eax,[ecx+00000094h] test eax,eax jz L0048EB48 mov eax,[ebp+0Ch] mov edx,[ecx+70h] push 00000001h push 00000000h sub eax,edx mov edx,[ebp+08h] push 00000001h push eax sub edx,[ecx+6Ch] push edx call SUB_L00440850 L0048EB48: pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 8 L0048EB50: push ebp mov ebp,esp sub esp,00000030h push esi mov esi,ecx mov eax,[esi+000000B8h] test eax,eax jz L0048EBF9 mov ecx,[esi+000000C0h] test ecx,ecx jz L0048EBF9 mov eax,[eax+34h] test eax,eax jz L0048EBF9 mov edx,[L006BB1CC] test edx,edx jz L0048EBF9 cmp [ebp+08h],ecx jnz L0048EBF9 mov dl,[ecx+000000B0h] push 00000000h test dl,dl jz L0048EBBC mov eax,[eax+78h] push 00000001h push eax lea ecx,[ebp-30h] push 00000002h push ecx mov ecx,L006BB1C0 call SUB_L004756C0 mov edx,[esi+000000C0h] mov byte ptr [edx+000000B0h],00h jmp L0048EBDF L0048EBBC: mov eax,[eax+78h] push 00000000h push eax lea ecx,[ebp-30h] push 00000002h push ecx mov ecx,L006BB1C0 call SUB_L004756C0 mov edx,[esi+000000C0h] mov byte ptr [edx+000000B0h],01h L0048EBDF: mov ecx,[esi+000000C0h] call SUB_L00413290 mov ecx,[L006BB1CC] lea eax,[ebp-30h] push eax call SUB_L0048B170 L0048EBF9: pop esi mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L0048EC00: push ebp mov ebp,esp sub esp,00000028h push ebx xor eax,eax push esi mov esi,ecx mov [ebp-08h],eax mov [ebp-04h],eax lea eax,[ebp-04h] push edi lea ecx,[ebp-08h] push eax push ecx mov ecx,esi call SUB_L00440C60 mov eax,[ebp-08h] mov edx,[ebp-04h] mov ecx,[esi+38h] mov [ebp-18h],eax mov [ebp-14h],edx xor ebx,ebx mov edi,[ecx+04h] mov bx,[edi] mov edi,[ebp+08h] add eax,ebx mov [ebp-10h],eax mov eax,[ecx+04h] xor ecx,ecx mov cx,[eax+02h] add ecx,edx lea edx,[ebp-18h] mov [ebp-0Ch],ecx push edx push edi mov ecx,L00669608 call SUB_L00440D40 test eax,eax jz L0048ECCA lea eax,[ebp-28h] lea edx,[ebp-18h] push eax mov ecx,edi call SUB_L00440D90 mov ecx,[esi+38h] mov edx,[L004C7F38] push edx mov edx,[L006BAE7C] mov eax,[ecx+04h] mov ecx,[L004C7F34] push ecx mov ecx,[ebp-04h] push edx mov edx,[ebp-08h] push ecx xor ecx,ecx mov cx,[eax+02h] push edx xor edx,edx push ecx mov dx,[eax] lea ecx,[ebp-28h] push edx push ecx lea edx,[eax+04h] mov ecx,SUB_L00488700 call SUB_L00439500 mov esi,[esi+4Ch] test esi,esi jz L0048ECCA L0048ECB8: mov edx,[esi] lea eax,[ebp-28h] push eax mov ecx,esi call [edx+0Ch] mov esi,[esi+40h] test esi,esi jnz L0048ECB8 L0048ECCA: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 L0048ECE0: push ebp mov ebp,esp push esi mov esi,[ebp+08h] test esi,esi jl L0048ED19 mov eax,[ebp+0Ch] test eax,eax jl L0048ED19 mov edx,[ecx+1Ch] cmp esi,edx jge L0048ED19 cmp eax,[ecx+20h] jge L0048ED19 imul eax,edx mov ecx,[ecx+38h] add eax,esi mov edx,[ecx+04h] xor ecx,ecx cmp [edx+eax*2],cx setnz cl mov eax,ecx pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ L0048ED19: xor eax,eax pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ SUB_L0048ED20: push ebp mov ebp,esp push FFFFFFFFh push L004B52B8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push esi mov esi,ecx push edi mov [ebp-10h],esi call SUB_L00441CB0 mov ecx,[ebp+0Ch] mov eax,[ebp+08h] xor ebx,ebx mov [esi+30h],ecx push SSZ004D04E8_TooltipGump_framedata push 00000008h mov ecx,L00669C8C mov [ebp-04h],ebx mov dword ptr [esi],L004BCC70 mov [esi+4Ch],ebx mov [esi+48h],ebx mov [esi+44h],ebx mov [esi+40h],ebx mov [esi+3Ch],ebx mov [esi+2Ch],eax mov [esi+10h],ebx mov dword ptr [esi+14h],00000001h call SUB_L0044FBD0 mov ecx,[esi+14h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+38h],edi rep stosd mov ecx,edx and ecx,00000003h rep stosb mov ecx,esi call SUB_L0048EF00 test al,al jnz L0048EDBE push 00000001h mov edx,SSZ004D04CC_ToolTipGump__ToolTipGump_ mov ecx,SSZ004D04AC_Gump_Tooltip_art_is_wrong_size_ call SUB_L0049A0A0 L0048EDBE: call SUB_L00492730 mov ecx,[L004D04A8] mov edi,eax call SUB_L00492740 mov eax,[ebp+10h] mov ecx,esi push eax call SUB_L0048F030 mov ecx,esi call SUB_L0048F180 mov ecx,[L004CCD88] mov edx,[esi+000000A0h] mov eax,[esi+0000009Ch] push ecx mov ecx,[esi+000000A8h] push edx mov edx,[esi+000000A4h] push eax mov eax,[ebp+10h] push ecx push edx push eax mov ecx,esi call SUB_L0048F420 mov ecx,edi call SUB_L00492740 push 00000001h push ebx mov ecx,esi call SUB_L004415C0 mov ecx,[ebp-0Ch] mov eax,esi pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 16 L0048EE40: push ebp mov ebp,esp push esi mov esi,ecx call SUB_L0048EE70 test byte ptr [ebp+08h],01h jz L0048EE5A push esi call SUB_L0049A810 add esp,00000004h L0048EE5A: mov eax,esi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L0048EE70: push ebp mov ebp,esp push FFFFFFFFh push L004B52D8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx mov [ebp-10h],esi mov dword ptr [esi],L004BCC70 mov eax,[esi+38h] mov dword ptr [ebp-04h],00000000h mov eax,[eax+04h] test eax,eax jz L0048EEC0 push SSZ004D0500_TooltipGump_frame_0 push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov ecx,[esi+38h] mov dword ptr [ecx+04h],00000000h L0048EEC0: mov eax,[esi+38h] test eax,eax jz L0048EEDE push SSZ004D04E8_TooltipGump_framedata push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov dword ptr [esi+38h],00000000h L0048EEDE: mov ecx,esi mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00441D50 mov ecx,[ebp-0Ch] pop esi mov fs:[00000000h],ecx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 SUB_L0048EF00: push ebp mov ebp,esp sub esp,00000008h lea eax,[ebp-08h] push esi push eax lea edx,[ebp-04h] mov ecx,00000053h call SUB_L004390A0 mov eax,[ebp-04h] mov esi,00000010h cmp eax,esi jnz L0048F028 cmp [ebp-08h],esi jnz L0048F028 lea ecx,[ebp-08h] lea edx,[ebp-04h] push ecx mov ecx,00000054h call SUB_L004390A0 cmp [ebp-04h],esi jnz L0048F028 cmp [ebp-08h],esi jnz L0048F028 lea edx,[ebp-08h] mov ecx,00000055h push edx lea edx,[ebp-04h] call SUB_L004390A0 cmp [ebp-04h],esi jnz L0048F028 cmp [ebp-08h],esi jnz L0048F028 lea eax,[ebp-08h] lea edx,[ebp-04h] push eax mov ecx,00000056h call SUB_L004390A0 cmp [ebp-04h],esi jnz L0048F028 cmp [ebp-08h],esi jnz L0048F028 lea ecx,[ebp-08h] lea edx,[ebp-04h] push ecx mov ecx,00000057h call SUB_L004390A0 cmp [ebp-04h],esi jnz L0048F028 cmp [ebp-08h],esi jnz L0048F028 lea edx,[ebp-08h] mov ecx,00000058h push edx lea edx,[ebp-04h] call SUB_L004390A0 cmp [ebp-04h],esi jnz L0048F028 cmp [ebp-08h],esi jnz L0048F028 lea eax,[ebp-08h] lea edx,[ebp-04h] push eax mov ecx,00000059h call SUB_L004390A0 cmp [ebp-04h],esi jnz L0048F028 cmp [ebp-08h],esi jnz L0048F028 lea ecx,[ebp-08h] lea edx,[ebp-04h] push ecx mov ecx,0000005Ah call SUB_L004390A0 cmp [ebp-04h],esi jnz L0048F028 cmp [ebp-08h],esi jnz L0048F028 lea edx,[ebp-08h] mov ecx,0000005Bh push edx lea edx,[ebp-04h] call SUB_L004390A0 cmp [ebp-04h],esi jnz L0048F028 cmp [ebp-08h],esi jnz L0048F028 mov al,01h pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L0048F028: xor al,al pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 4 SUB_L0048F030: push ebp mov ebp,esp sub esp,0000000Ch push ebx mov ebx,ecx mov ecx,[ebp+08h] push esi push edi mov [ebp-04h],ebx xor edi,edi xor esi,esi call SUB_L00491C00 test eax,eax jle L0048F071 mov ebx,[ebp+08h] L0048F051: mov ecx,ebx call SUB_L004929C0 cmp eax,edi jle L0048F05E mov edi,eax L0048F05E: mov ecx,[ebp+08h] inc esi add ebx,00000002h call SUB_L00491C00 cmp esi,eax jl L0048F051 mov ebx,[ebp-04h] L0048F071: mov ecx,[ebp+08h] lea eax,[ebp-0Ch] lea esi,[ebx+000000A0h] add ebx,0000009Ch push eax push esi push ebx mov edx,edi call SUB_L00492F30 mov eax,edi cdq idiv [esi] mov [ebp-08h],eax fild dword ptr [ebp-08h] fcomp dword ptr [L004BCDB4] fnstsw ax test ah,41h jz L0048F0D0 L0048F0A5: lea ecx,[ebp-0Ch] add edi,00000010h push ecx mov ecx,[ebp+08h] push esi push ebx mov edx,edi call SUB_L00492F30 mov eax,edi cdq idiv [esi] mov [ebp-08h],eax fild dword ptr [ebp-08h] fcomp dword ptr [L004BCDB4] fnstsw ax test ah,41h jnz L0048F0A5 L0048F0D0: mov eax,[esi] mov ecx,[ebx] add eax,00000002h add ecx,00000002h mov [esi],eax mov eax,ecx cdq xor eax,edx mov edi,00000010h sub eax,edx mov [ebx],ecx and eax,0000000Fh xor eax,edx sub eax,edx sub edi,eax mov eax,[esi] cdq xor eax,edx sub eax,edx and eax,0000000Fh xor eax,edx sub eax,edx mov [ebp+08h],eax mov eax,00000010h mov edx,[ebp+08h] sub eax,edx cmp edi,00000010h mov [ebp+08h],eax jnz L0048F118 xor edi,edi L0048F118: cmp eax,00000010h jnz L0048F127 mov dword ptr [ebp+08h],00000000h mov eax,[ebp+08h] L0048F127: lea edx,[edi+ecx] mov ecx,[esi] add eax,ecx mov ecx,[ebp-04h] mov [esi],eax add eax,00000020h mov [ebx],edx add edx,00000020h mov [ecx+20h],eax mov eax,edi mov [ecx+1Ch],edx mov esi,00000010h cdq sub eax,edx mov [ecx+00000094h],esi sar eax,1 add eax,esi mov [ecx+00000098h],esi mov [ecx+000000A4h],eax mov eax,[ebp+08h] cdq sub eax,edx pop edi sar eax,1 add eax,esi pop esi mov [ecx+000000A8h],eax pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 8 SUB_L0048F180: push ebx push esi mov esi,ecx push edi push SSZ004D0500_TooltipGump_frame_0 mov ecx,L00669C8C mov eax,[esi+1Ch] mov [esi+18h],eax imul eax,[esi+20h] lea eax,[eax+eax+04h] push eax call SUB_L0044FBD0 mov ecx,[esi+38h] xor ebx,ebx mov [ecx+04h],eax mov ecx,[esi+20h] imul ecx,[esi+1Ch] mov edx,[esi+38h] xor eax,eax shl ecx,1 mov edi,[edx+04h] mov edx,ecx add edi,00000004h shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+38h] mov dx,[esi+1Ch] mov ecx,[eax+04h] mov [ecx],dx mov eax,[esi+38h] mov dx,[esi+20h] mov ecx,[eax+04h] mov [ecx+02h],dx mov eax,[esi+000000A0h] test eax,eax jle L0048F24F L0048F1F2: mov eax,[esi+0000009Ch] xor edi,edi test eax,eax jle L0048F242 L0048F1FE: mov eax,[esi+20h] mov edx,[esi+38h] mov ecx,[esi+1Ch] push eax mov eax,[edx+04h] push ecx add eax,00000004h mov ecx,ebx push eax mov eax,[esi+00000098h] add ecx,eax mov edx,edi push ecx mov ecx,[esi+00000094h] add edx,ecx mov ecx,SUB_L00488700 push edx mov edx,00000057h call SUB_L00439100 mov eax,[esi+0000009Ch] add edi,00000010h cmp edi,eax jl L0048F1FE L0048F242: mov eax,[esi+000000A0h] add ebx,00000010h cmp ebx,eax jl L0048F1F2 L0048F24F: mov eax,[esi+0000009Ch] xor edi,edi test eax,eax jle L0048F2D1 L0048F25B: mov eax,[esi+20h] mov edx,[esi+38h] mov ecx,[esi+1Ch] push eax mov eax,[edx+04h] mov edx,[esi+00000094h] push ecx add eax,00000004h mov ecx,edi push eax add ecx,edx push 00000000h push ecx mov edx,00000054h mov ecx,SUB_L00488700 call SUB_L00439100 mov edx,[esi+20h] mov ecx,[esi+38h] mov eax,[esi+1Ch] mov ebx,[esi+00000094h] push edx mov edx,[ecx+04h] add edx,00000004h push eax mov eax,[esi+000000A0h] push edx mov edx,[esi+00000098h] mov ecx,edi add eax,edx add ecx,ebx push eax push ecx mov edx,0000005Ah mov ecx,SUB_L00488700 call SUB_L00439100 mov eax,[esi+0000009Ch] add edi,00000010h cmp edi,eax jl L0048F25B L0048F2D1: mov eax,[esi+000000A0h] xor edi,edi test eax,eax jle L0048F353 L0048F2DD: mov edx,[esi+20h] mov ecx,[esi+38h] mov eax,[esi+1Ch] push edx mov edx,[ecx+04h] push eax add edx,00000004h mov eax,edi push edx mov edx,[esi+00000098h] add eax,edx mov edx,00000056h push eax push 00000000h mov ecx,SUB_L00488700 call SUB_L00439100 mov ecx,[esi+20h] mov eax,[esi+38h] mov edx,[esi+1Ch] mov ebx,[esi+00000094h] push ecx mov ecx,[eax+04h] mov eax,[esi+0000009Ch] add ecx,00000004h push edx push ecx mov ecx,[esi+00000098h] mov edx,edi add edx,ecx add eax,ebx push edx push eax mov edx,00000058h mov ecx,SUB_L00488700 call SUB_L00439100 mov eax,[esi+000000A0h] add edi,00000010h cmp edi,eax jl L0048F2DD L0048F353: mov ecx,[esi+20h] mov eax,[esi+38h] mov edx,[esi+1Ch] push ecx mov ecx,[eax+04h] push edx add ecx,00000004h mov edx,00000053h push ecx push 00000000h push 00000000h mov ecx,SUB_L00488700 call SUB_L00439100 mov edx,[esi+20h] mov ecx,[esi+38h] mov eax,[esi+1Ch] push edx mov edx,[ecx+04h] push eax mov eax,[esi+0000009Ch] add edx,00000004h push edx mov edx,[esi+00000094h] add eax,edx push 00000000h push eax mov edx,00000055h mov ecx,SUB_L00488700 call SUB_L00439100 mov ecx,[esi+20h] mov eax,[esi+38h] mov edx,[esi+1Ch] push ecx mov ecx,[eax+04h] push edx mov edx,[esi+000000A0h] add ecx,00000004h push ecx mov ecx,[esi+00000098h] add edx,ecx mov ecx,SUB_L00488700 push edx push 00000000h mov edx,00000059h call SUB_L00439100 mov eax,[esi+20h] mov edx,[esi+38h] mov ecx,[esi+1Ch] mov edi,[esi+00000098h] push eax mov eax,[edx+04h] mov edx,[esi+0000009Ch] push ecx mov ecx,[esi+000000A0h] add eax,00000004h add ecx,edi push eax push ecx mov ecx,[esi+00000094h] add edx,ecx mov ecx,SUB_L00488700 push edx mov edx,0000005Bh call SUB_L00439100 pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ Align 4 SUB_L0048F420: push ebp mov ebp,esp sub esp,00000024h push ebx push esi push edi mov [ebp-04h],ecx call SUB_L00492730 mov ecx,[L004D04A8] mov [ebp-08h],eax call SUB_L00492740 mov ebx,[ebp+18h] mov eax,00000001h mov [ebp-20h],eax mov [ebp-24h],eax mov eax,[ebp+14h] mov esi,ebx imul esi,eax shl esi,1 lea ecx,[eax-01h] lea edx,[ebx-01h] push esi mov [ebp-1Ch],ecx mov [ebp-18h],edx call SUB_L0049A820 mov ecx,esi mov edi,eax mov edx,ecx xor eax,eax shr ecx,02h mov [ebp+18h],edi add esp,00000004h rep stosd mov ecx,edx lea edx,[ebp-14h] and ecx,00000003h rep stosb mov edi,[ebp+14h] lea eax,[ebp-0Ch] lea ecx,[ebp-10h] push eax lea esi,[edi-02h] push ecx mov ecx,[ebp+08h] push edx mov edx,esi call SUB_L00492F30 mov ecx,[L004CCD88] mov edx,[ebp+08h] lea eax,[ebp-24h] push eax push ecx push 00000001h push 00000001h push edx mov edx,esi mov esi,[ebp+18h] push edi mov ecx,esi call SUB_L004935B0 push 00000001h push ebx mov edx,edi mov ecx,esi call SUB_L00401B40 mov eax,[ebp-04h] mov ecx,[ebp+10h] mov edx,[ebp+0Ch] imul ecx,[eax+1Ch] add ecx,edx mov edx,[eax+38h] cmp byte ptr [L0073EC3C],00h mov edx,[edx+04h] lea ecx,[edx+ecx*2+04h] mov edx,esi jz L0048F535 test ebx,ebx jle L0048F563 mov [ebp+14h],ebx L0048F4F6: test edi,edi jle L0048F522 mov ebx,edi L0048F4FC: mov ax,[edx] test ax,ax jz L0048F516 mov esi,eax and eax,0000001Fh and esi,0000FFE0h shl esi,1 or esi,eax mov [ecx],si L0048F516: add ecx,00000002h add edx,00000002h dec ebx jnz L0048F4FC mov eax,[ebp-04h] L0048F522: mov esi,[eax+1Ch] sub esi,edi lea ecx,[ecx+esi*2] mov esi,[ebp+14h] dec esi mov [ebp+14h],esi jnz L0048F4F6 jmp L0048F563 L0048F535: test ebx,ebx jle L0048F563 mov esi,ebx L0048F53B: test edi,edi jle L0048F558 mov ebx,edi L0048F541: mov ax,[edx] test ax,ax jz L0048F54C mov [ecx],ax L0048F54C: add ecx,00000002h add edx,00000002h dec ebx jnz L0048F541 mov eax,[ebp-04h] L0048F558: mov ebx,[eax+1Ch] sub ebx,edi dec esi lea ecx,[ecx+ebx*2] jnz L0048F53B L0048F563: mov eax,[ebp+18h] push eax call SUB_L0049A810 mov ecx,[ebp-08h] add esp,00000004h call SUB_L00492740 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0018h ;------------------------------------------------------------------------------ SUB_L0048F580: push ebp mov ebp,esp sub esp,000001C0h push ebx push esi push edi mov edi,edx mov esi,ecx mov [ebp-1Ch],edi mov [ebp-18h],esi call SUB_L00491C00 lea ebx,[eax-01h] mov ecx,edi mov [ebp-0Ch],eax mov [ebp-10h],ebx call SUB_L00491C00 mov ecx,esi mov [ebp-24h],eax mov [ebp-08h],ebx call SUB_L00491C00 mov ecx,00010000h mov edi,L00777D28 rep stosd mov cx,[esi] lea edx,[eax-01h] test cx,cx jz L0048F5F3 mov edi,esi mov esi,edx L0048F5D3: call SUB_L00491B40 and eax,0000FFFFh add edi,00000002h mov [L00777D28+eax*4],esi mov cx,[edi] dec esi test cx,cx jnz L0048F5D3 mov esi,[ebp-18h] L0048F5F3: mov ecx,esi call SUB_L00491C00 cmp eax,00000001h mov [ebp-20h],eax lea ecx,[eax-01h] jle L0048F67F lea edx,[ebp-000001BCh] mov [ebp-2Ch],ecx mov [ebp-14h],edx lea edx,[esi+ecx*2] mov [ebp-30h],edx lea edi,[edx-02h] mov [ebp-28h],edi jmp L0048F622 L0048F61F: mov edx,[ebp-30h] L0048F622: xor esi,esi test eax,eax jle L0048F662 mov [ebp-04h],edx L0048F62B: mov cx,[edi] call SUB_L00491B40 mov bx,ax mov eax,[ebp-04h] mov cx,[eax] call SUB_L00491B40 cmp ax,bx jnz L0048F65C mov edx,[ebp-04h] mov eax,[ebp-20h] inc esi sub edi,00000002h sub edx,00000002h cmp esi,eax mov [ebp-04h],edx jl L0048F62B jmp L0048F65F L0048F65C: mov eax,[ebp-20h] L0048F65F: mov ebx,[ebp-08h] L0048F662: mov ecx,[ebp-14h] mov edi,[ebp-28h] sub edi,00000002h mov [ecx],esi add ecx,00000004h mov [ebp-14h],ecx mov ecx,[ebp-2Ch] dec ecx mov [ebp-28h],edi mov [ebp-2Ch],ecx jnz L0048F61F L0048F67F: cmp eax,00000001h mov dword ptr [L00777B98],00000001h jle L0048F698 lea ecx,[eax-01h] mov edi,L00777B9C rep stosd L0048F698: lea ecx,[eax-01h] test ecx,ecx jle L0048F6B7 lea edx,[ebp+ecx*4-000001C0h] L0048F6A6: mov esi,[edx] sub edx,00000004h mov [L00777B98+esi*4],ecx dec ecx test ecx,ecx jg L0048F6A6 L0048F6B7: mov ecx,00000001h xor edi,edi cmp eax,ecx jle L0048F6E5 lea esi,[eax-02h] xor edx,edx L0048F6C7: cmp [ebp+edx-000001BCh],esi jnz L0048F6D2 mov edi,ecx L0048F6D2: test edi,edi jz L0048F6DC mov [edx+L00777B9C],edi L0048F6DC: inc ecx dec esi add edx,00000004h cmp ecx,eax jl L0048F6C7 L0048F6E5: mov ecx,[ebp-24h] mov eax,[ebp-10h] cmp eax,ecx jge L0048F79C L0048F6F3: mov eax,[ebp-0Ch] xor esi,esi test eax,eax jle L0048F740 mov edx,[ebp-18h] mov eax,[ebp-10h] lea ecx,[edx+eax*2] mov edx,[ebp-1Ch] mov [ebp-04h],ecx lea edi,[edx+ebx*2] L0048F70E: mov eax,[ebp-04h] mov cx,[eax] call SUB_L00491B40 mov cx,[edi] mov bx,ax call SUB_L00491B40 cmp ax,bx jnz L0048F73D mov ecx,[ebp-04h] mov eax,[ebp-0Ch] inc esi sub edi,00000002h sub ecx,00000002h cmp esi,eax mov [ebp-04h],ecx jl L0048F70E L0048F73D: mov ebx,[ebp-08h] L0048F740: cmp esi,[ebp-0Ch] jz L0048F78E mov edx,[ebp-1Ch] mov ecx,ebx sub ecx,esi mov cx,[edx+ecx*2] call SUB_L00491B40 mov ecx,[L00777B98+esi*4] and eax,0000FFFFh add ecx,ebx mov eax,[L00777D28+eax*4] sub eax,esi add eax,ebx cmp eax,ecx mov ebx,eax jg L0048F776 mov ebx,ecx L0048F776: mov eax,[ebp-24h] mov [ebp-08h],ebx cmp ebx,eax jl L0048F6F3 or eax,FFFFFFFFh pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L0048F78E: mov ecx,[ebp-10h] mov eax,ebx sub eax,ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L0048F79C: pop edi pop esi or eax,FFFFFFFFh pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L0048F7B0: push ebp mov ebp,esp push FFFFFFFFh push L004B530E mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push esi mov esi,ecx push edi mov [ebp-10h],esi call SUB_L00441CB0 mov eax,[ebp+08h] mov ecx,[ebp+0Ch] xor ebx,ebx mov dword ptr [esi],L004BCDB8 mov dword ptr [esi+04h],SSZ004D0538_unicode_edit_list_gump mov [esi+5Ch],ebx mov [esi+2Ch],eax mov [esi+34h],ebx lea eax,[esi+20h] mov [esi+000000B4h],ebx mov [esi+30h],ecx mov ecx,[ebp+18h] mov [esi+000000A8h],ebx lea edx,[esi+1Ch] push eax mov [ebp-04h],ebx mov [esi+000000A4h],ebx mov [esi+000000A0h],ebx mov [esi+0000009Ch],ebx mov [esi+000000B0h],ebx mov [esi+000000ACh],ebx mov [esi+60h],ebx mov [esi+4Ch],ebx mov [esi+48h],ebx mov [esi+44h],ebx mov [esi+40h],ebx mov [esi+3Ch],ebx call SUB_L004390A0 push SSZ004D0514_framedata_for_CUnicodeEditListGu push 00000008h mov ecx,L00669C8C mov [esi+10h],ebx mov dword ptr [esi+14h],00000001h call SUB_L0044FBD0 mov ecx,[esi+14h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+38h],edi push SSZ004C4C14_cfg_frame0 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+20h] imul eax,[esi+1Ch] lea ecx,[eax+eax+04h] push ecx mov ecx,L00669C8C call SUB_L0044FBD0 mov edx,[esi+38h] mov [edx+04h],eax mov ecx,[esi+20h] imul ecx,[esi+1Ch] mov edx,[esi+38h] xor eax,eax shl ecx,1 mov edi,[edx+04h] mov edx,ecx add edi,00000004h shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+38h] mov dx,[esi+1Ch] mov ecx,[eax+04h] mov [ecx],dx mov eax,[esi+38h] mov dx,[esi+20h] mov ecx,[eax+04h] mov eax,[ebp+1Ch] mov [ecx+02h],dx mov ecx,[ebp+20h] mov edx,[ebp+18h] mov [esi+000000D0h],eax mov eax,[esi+20h] mov [esi+000000D8h],ecx mov ecx,[esi+1Ch] push eax mov eax,[esi+38h] mov [esi+000000D4h],ebx mov [esi+000000CCh],ebx mov word ptr [esi+000000CAh],000Ah mov [esi+000000C4h],ebx mov [esi+000000C0h],ebx mov [esi+000000BCh],ebx mov [esi+000000B8h],ebx mov [esi+50h],edx push ecx mov ecx,[eax+04h] add ecx,00000004h push ecx push ebx push ebx mov ecx,SUB_L00488700 call SUB_L00439100 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp+18h],eax cmp eax,ebx mov byte ptr [ebp-04h],01h jz L0048F97A mov edx,[esi+1Ch] push ebx push 00000983h push 00000983h push SUB_L00491880 push ebx push 00000002h push esi sub edx,0000000Eh push 00000008h push edx mov ecx,eax call SUB_L004122F0 jmp L0048F97C L0048F97A: xor eax,eax L0048F97C: mov [esi+00000094h],eax mov [eax+68h],ebx mov eax,[esi+00000094h] push 00000001h push esi mov [ebp-04h],bl mov dword ptr [eax+000000A4h],00000984h mov ecx,[esi+00000094h] call SUB_L004415C0 push 000000CCh call SUB_L0049A820 add esp,00000004h mov [ebp+18h],eax cmp eax,ebx mov byte ptr [ebp-04h],02h jz L0048F9E9 mov ecx,[esi+20h] mov edx,[esi+1Ch] push ebx push 00000985h push 00000985h push SUB_L004919B0 push ebx push 00000002h sub ecx,00000014h push esi sub edx,0000000Eh push ecx push edx mov ecx,eax call SUB_L004122F0 jmp L0048F9EB L0048F9E9: xor eax,eax L0048F9EB: mov [esi+00000098h],eax mov [eax+68h],ebx mov eax,[esi+00000098h] push 00000001h push esi mov [ebp-04h],bl mov dword ptr [eax+000000A4h],00000986h mov ecx,[esi+00000098h] call SUB_L004415C0 mov ecx,[ebp-0Ch] mov eax,esi pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 001Ch ;------------------------------------------------------------------------------ Align 8 L0048FA30: push ebp mov ebp,esp push esi mov esi,ecx call SUB_L0048FA60 test byte ptr [ebp+08h],01h jz L0048FA4A push esi call SUB_L0049A810 add esp,00000004h L0048FA4A: mov eax,esi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L0048FA60: push ebp mov ebp,esp push FFFFFFFFh push L004B5328 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx push edi mov [ebp-10h],esi mov dword ptr [esi],L004BCDB8 mov eax,[esi+000000B8h] mov dword ptr [ebp-04h],00000000h test eax,eax jz L0048FAC7 L0048FA97: mov eax,[esi+000000B8h] mov ecx,eax mov edi,[eax+04h] mov ecx,[ecx] test ecx,ecx jz L0048FAAE mov edx,[ecx] push 00000001h call [edx] L0048FAAE: mov eax,[esi+000000B8h] push eax call SUB_L0049A810 add esp,00000004h mov [esi+000000B8h],edi test edi,edi jnz L0048FA97 L0048FAC7: mov ecx,[esi+38h] mov eax,[ecx+04h] test eax,eax jz L0048FAEB push SSZ004C4CE0_editlist_frame0_pBMP push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov edx,[esi+38h] mov dword ptr [edx+04h],00000000h L0048FAEB: mov eax,[esi+38h] test eax,eax jz L0048FB09 push SSZ004C4CCC_editlist_framedata push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov dword ptr [esi+38h],00000000h L0048FB09: mov ecx,esi mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00441D50 mov ecx,[ebp-0Ch] pop edi mov fs:[00000000h],ecx pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L0048FB30: push ebp mov ebp,esp push FFFFFFFFh push L004B5356 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000014h push ebx push esi mov esi,ecx push edi mov edx,[esi+000000CCh] mov eax,[esi+000000D0h] cmp edx,eax jz L0048FE7C mov ecx,[esi+000000D4h] mov eax,edx sub eax,ecx mov edi,eax shl edi,03h sub edi,eax inc ecx lea edi,[eax+edi*4+07h] lea eax,[edx+01h] cmp ecx,eax mov [esi+000000CCh],eax jge L0048FB94 mov eax,[esi+00000098h] mov dword ptr [eax+68h],00000001h L0048FB94: mov eax,[esi+000000BCh] xor ebx,ebx cmp eax,ebx push 0000000Ch jnz L0048FCC4 call SUB_L0049A820 add esp,00000004h mov [esi+000000B8h],eax push 000001A8h call SUB_L0049A820 add esp,00000004h mov [ebp-10h],eax cmp eax,ebx mov [ebp-04h],ebx jz L0048FBFA mov ecx,[esi+000000D8h] push ebx push ebx push 00000001h push 00000386h push 00000001h push ecx push ebx push 0000001Dh xor edx,edx mov dx,[esi+000000CAh] push 00000088h push esi push edi push edx mov ecx,eax call SUB_L00490590 jmp L0048FBFC L0048FBFA: xor eax,eax L0048FBFC: mov ecx,[esi+000000B8h] mov dword ptr [ebp-04h],FFFFFFFFh mov [ecx],eax mov eax,[esi+000000B4h] cmp eax,ebx jz L0048FC35 mov edx,[esi+000000B8h] mov eax,[edx] mov [eax+000000ACh],ebx mov ecx,[esi+000000B8h] mov edx,[ecx] mov dword ptr [edx+000000D0h],00000001h L0048FC35: mov eax,[esi+000000B8h] cmp edi,00000007h mov ecx,[eax] mov [ecx+000001A4h],eax jl L0048FC52 mov eax,[esi+20h] add edi,0000001Dh cmp edi,eax jle L0048FC5D L0048FC52: mov edx,[esi+000000B8h] mov eax,[edx] mov [eax+68h],ebx L0048FC5D: mov ecx,[esi+000000B8h] push 00000001h push esi mov ecx,[ecx] call SUB_L004415C0 mov eax,[esi+000000B8h] mov edx,[ebp+08h] mov ecx,[eax] add ecx,000000ECh call SUB_L00491D10 mov ecx,[esi+000000B8h] mov eax,[ebp+0Ch] mov edx,[ecx] mov [edx+000000E8h],eax mov ecx,[esi+000000B8h] mov ecx,[ecx] call SUB_L00490830 mov edx,[esi+000000B8h] mov [edx+08h],ebx mov eax,[esi+000000B8h] mov [eax+04h],ebx mov eax,[esi+000000B8h] mov [esi+000000C0h],eax jmp L0048FE02 L0048FCC4: call SUB_L0049A820 mov ecx,[esi+000000BCh] add esp,00000004h push 000001A8h mov [ecx+04h],eax call SUB_L0049A820 add esp,00000004h mov [ebp-10h],eax cmp eax,ebx mov dword ptr [ebp-04h],00000001h jz L0048FD1F mov edx,[esi+000000D8h] push ebx push ebx push 00000001h push 00000386h push 00000001h push edx push ebx push 0000001Dh xor ecx,ecx mov cx,[esi+000000CAh] push 00000088h push esi push edi push ecx mov ecx,eax call SUB_L00490590 jmp L0048FD21 L0048FD1F: xor eax,eax L0048FD21: mov edx,[esi+000000BCh] mov dword ptr [ebp-04h],FFFFFFFFh mov ecx,[edx+04h] mov [ecx],eax mov eax,[esi+000000B4h] cmp eax,ebx jz L0048FD63 mov edx,[esi+000000BCh] mov eax,[edx+04h] mov ecx,[eax] mov [ecx+000000ACh],ebx mov edx,[esi+000000BCh] mov eax,[edx+04h] mov ecx,[eax] mov dword ptr [ecx+000000D0h],00000001h L0048FD63: mov edx,[esi+000000BCh] cmp edi,00000007h mov eax,[edx+04h] mov ecx,[eax] mov [ecx+000001A4h],eax jl L0048FD83 mov eax,[esi+20h] add edi,0000001Dh cmp edi,eax jle L0048FD91 L0048FD83: mov edx,[esi+000000BCh] mov eax,[edx+04h] mov ecx,[eax] mov [ecx+68h],ebx L0048FD91: mov edx,[esi+000000BCh] push 00000001h push esi mov eax,[edx+04h] mov ecx,[eax] call SUB_L004415C0 mov ecx,[esi+000000BCh] mov edx,[ebp+08h] mov eax,[ecx+04h] mov ecx,[eax] add ecx,000000ECh call SUB_L00491D10 mov ecx,[esi+000000BCh] mov edx,[ecx+04h] mov ecx,[ebp+0Ch] mov eax,[edx] mov [eax+000000E8h],ecx mov edx,[esi+000000BCh] mov eax,[edx+04h] mov ecx,[eax] call SUB_L00490830 mov ecx,[esi+000000BCh] mov edx,[ecx+04h] mov [edx+04h],ebx mov eax,[esi+000000BCh] mov ecx,[eax+04h] mov [ecx+08h],eax mov edx,[esi+000000BCh] mov eax,[edx+04h] L0048FE02: mov ecx,[esi+000000D4h] mov [esi+000000BCh],eax mov eax,[esi+000000CCh] mov [ebp-20h],ebx sub eax,ecx mov ecx,[esi+1Ch] mov edx,eax mov [ebp-1Ch],ebx shl edx,03h sub edx,eax mov [ebp-18h],ecx lea eax,[eax+edx*4+0Dh] mov edx,[esi+20h] mov [ebp-14h],eax mov eax,[esi+38h] push edx mov edx,[esi+50h] push ecx mov ecx,[eax+04h] add ecx,00000004h push ecx push ebx push ebx mov ecx,SUB_L00488700 call SUB_L00439100 cmp [esi+000000CCh],ebx jz L0048FE7C mov edx,[esi+20h] mov ecx,[esi+38h] mov eax,[esi+1Ch] push edx mov edx,[ecx+04h] push eax add edx,00000004h lea eax,[ebp-20h] push edx mov edx,[esi+50h] push ebx push ebx push eax dec edx mov ecx,SUB_L00488700 call SUB_L00439290 L0048FE7C: mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 4 SUB_L0048FE90: push ebp mov ebp,esp sub esp,00000800h push edi mov edi,[ebp+08h] xor edx,edx mov al,[edi] test al,al jz L0048FEBF push esi lea esi,[ebp-00000800h] L0048FEAC: movsx ax,al inc edx mov [esi],ax add esi,00000002h mov al,[edx+edi] test al,al jnz L0048FEAC pop esi L0048FEBF: mov word ptr [ebp+edx*2-00000800h],0000h mov edx,[ebp+0Ch] lea eax,[ebp-00000800h] push edx push eax call SUB_L0048FB30 pop edi mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ SUB_L0048FEE0: push ebp mov ebp,esp sub esp,00000014h push ebx mov ebx,[ebp+08h] push esi mov esi,ecx push edi cmp [esi+000000C4h],ebx jnz L0048FF00 mov dword ptr [esi+000000C4h],00000000h L0048FF00: mov eax,[esi+000000C0h] cmp eax,ebx jnz L0048FF17 mov eax,[eax+04h] test eax,eax jz L0048FF17 mov [esi+000000C0h],eax L0048FF17: mov ecx,[ebx] test ecx,ecx jz L0048FF23 mov eax,[ecx] push 00000001h call [eax] L0048FF23: cmp [esi+000000B8h],ebx jnz L0048FF34 mov ecx,[ebx+04h] mov [esi+000000B8h],ecx L0048FF34: cmp [esi+000000BCh],ebx jnz L0048FF45 mov edx,[ebx+08h] mov [esi+000000BCh],edx L0048FF45: mov eax,[ebx+04h] test eax,eax jz L0048FF52 mov ecx,[ebx+08h] mov [eax+08h],ecx L0048FF52: mov eax,[ebx+08h] test eax,eax jz L0048FF5F mov edx,[ebx+04h] mov [eax+04h],edx L0048FF5F: mov edi,[ebx+04h] lea eax,[ebp+08h] push eax lea edx,[ebp-04h] mov ecx,000013A7h call SUB_L004390A0 mov ecx,[ebp+08h] inc ecx test edi,edi mov [ebp+08h],ecx jz L0048FFAA L0048FF7E: mov eax,[edi] mov ecx,[ebp+08h] mov edx,[eax+30h] sub edx,ecx mov [eax+30h],edx mov eax,[edi] mov ecx,[ebp+08h] mov edx,[eax+30h] add edx,ecx mov ecx,[esi+20h] cmp edx,ecx jge L0048FFA3 mov dword ptr [eax+68h],00000001h L0048FFA3: mov edi,[edi+04h] test edi,edi jnz L0048FF7E L0048FFAA: push ebx call SUB_L0049A810 mov ebx,[esi+000000CCh] mov ecx,[esi+000000D4h] add esp,00000004h dec ebx mov eax,ebx inc ecx cmp ecx,eax mov [esi+000000CCh],ebx jl L0048FFDA mov edx,[esi+00000098h] xor edi,edi mov [edx+68h],edi jmp L0048FFDC L0048FFDA: xor edi,edi L0048FFDC: mov eax,[esi+000000CCh] mov ecx,[esi+000000D4h] sub eax,ecx mov ecx,[esi+1Ch] mov edx,eax mov [ebp-14h],edi shl edx,03h sub edx,eax mov [ebp-10h],edi mov [ebp-0Ch],ecx lea eax,[eax+edx*4+0Dh] mov edx,[esi+20h] mov [ebp-08h],eax mov eax,[esi+38h] push edx mov edx,[esi+50h] push ecx mov ecx,[eax+04h] add ecx,00000004h push ecx push edi push edi mov ecx,SUB_L00488700 call SUB_L00439100 cmp [esi+000000CCh],edi jz L00490050 mov edx,[esi+20h] mov ecx,[esi+38h] mov eax,[esi+1Ch] push edx mov edx,[ecx+04h] push eax add edx,00000004h lea eax,[ebp-14h] push edx mov edx,[esi+50h] push edi push edi push eax dec edx mov ecx,SUB_L00488700 call SUB_L00439290 L00490050: mov ecx,[esi+48h] cmp ecx,edi jz L0049005D mov edx,[ecx] push esi call [edx+4Ch] L0049005D: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00490070: push esi mov esi,ecx mov eax,[esi+000000C4h] test eax,eax jz L004900A4 mov eax,[eax] mov cx,[esi+000000C8h] mov [eax+000001A2h],cx mov edx,[esi+000000C4h] mov ecx,[edx] call SUB_L00490830 mov dword ptr [esi+000000C4h],00000000h L004900A4: pop esi retn ;------------------------------------------------------------------------------ Align 16 L004900B0: push ebp mov ebp,esp sub esp,00000804h mov eax,[ebp+08h] push esi push edi mov edi,ecx mov esi,[eax+000001A4h] mov dword ptr [ebp-04h],00000000h mov eax,[edi+000000BCh] cmp esi,eax jnz L00490184 mov ecx,[eax] add ecx,000000ECh call SUB_L00491C00 test eax,eax jle L00490184 mov eax,[edi+000000B4h] test eax,eax jz L0049013F mov al,[SSZ004C4C00__new_] xor ecx,ecx test al,al jz L00490120 lea edx,[ebp-00000804h] L0049010B: movsx ax,al inc ecx mov [edx],ax add edx,00000002h mov al,[ecx+SSZ004C4C00__new_] test al,al jnz L0049010B L00490120: mov word ptr [ebp+ecx*2-00000804h],0000h lea ecx,[ebp-00000804h] push 00000000h push ecx mov ecx,edi call SUB_L0048FB30 jmp L00490247 L0049013F: mov al,[L004D77C0] xor ecx,ecx test al,al jz L00490165 lea edx,[ebp-00000804h] L00490150: movsx ax,al inc ecx mov [edx],ax add edx,00000002h mov al,[ecx+L004D77C0] test al,al jnz L00490150 L00490165: mov word ptr [ebp+ecx*2-00000804h],0000h lea ecx,[ebp-00000804h] push 00000000h push ecx mov ecx,edi call SUB_L0048FB30 jmp L00490247 L00490184: cmp esi,[edi+000000BCh] jz L00490247 mov ecx,[esi] add ecx,000000ECh call SUB_L00491C00 test eax,eax jnz L00490247 mov eax,[esi+08h] test eax,eax jz L004901EC mov ecx,L00669608 call SUB_L0043FDA0 mov edx,[esi+08h] mov ecx,L00669608 mov eax,[edx] push eax call SUB_L0043FF10 mov ecx,[esi+08h] push 0000E023h mov ecx,[ecx] mov edx,[ecx] call [edx+44h] mov eax,[esi+08h] mov ecx,[eax] call SUB_L00490830 mov ecx,[esi+08h] mov edx,[ecx] cmp dword ptr [edx+30h],00000008h jge L00490238 jmp L00490231 L004901EC: mov eax,[esi+04h] test eax,eax jz L00490238 mov ecx,L00669608 call SUB_L0043FDA0 mov eax,[esi+04h] mov ecx,[eax] push ecx mov ecx,L00669608 call SUB_L0043FF10 mov edx,[esi+04h] push 0000E023h mov ecx,[edx] mov eax,[ecx] call [eax+44h] mov ecx,[esi+04h] mov ecx,[ecx] call SUB_L00490830 mov edx,[esi+04h] mov eax,[edx] cmp dword ptr [eax+30h],00000008h jge L00490238 L00490231: mov ecx,edi call SUB_L00491880 L00490238: push esi mov ecx,edi call SUB_L0048FEE0 mov dword ptr [ebp-04h],00000001h L00490247: mov eax,[ebp-04h] test eax,eax jnz L0049026B mov ecx,[ebp+08h] mov eax,00000386h cmp [ecx+000001A2h],ax jz L0049026B mov [ecx+000001A2h],ax call SUB_L00490830 L0049026B: mov ecx,[edi+48h] test ecx,ecx jz L00490278 mov edx,[ecx] push edi call [edx+4Ch] L00490278: pop edi pop esi mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L00490280: push ebp mov ebp,esp push esi mov esi,ecx mov eax,[esi+000000C4h] test eax,eax jz L004902AD mov eax,[eax] mov cx,[esi+000000C8h] mov [eax+000001A2h],cx mov edx,[esi+000000C4h] mov ecx,[edx] call SUB_L00490830 L004902AD: mov eax,[esi+000000C0h] test eax,eax mov [esi+000000C4h],eax jz L004902D7 mov ecx,[ebp+08h] L004902C0: mov eax,[esi+000000C4h] cmp [eax],ecx jz L004902D7 mov eax,[eax+04h] test eax,eax mov [esi+000000C4h],eax jnz L004902C0 L004902D7: mov eax,[esi+000000C4h] test eax,eax jz L0049031A mov eax,[eax] mov edx,[esi+000000C4h] mov cx,[eax+000001A2h] mov [esi+000000C8h],cx mov eax,[edx] mov word ptr [eax+000001A2h],0058h mov ecx,[esi+000000C4h] mov ecx,[ecx] call SUB_L00490830 push esi mov ecx,L00669608 call SUB_L0043FF10 L0049031A: pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 4 L00490320: push ebp mov ebp,esp mov eax,[ecx+000000B4h] test eax,eax jz L0049034E cmp dword ptr [ebp+08h],0000E02Eh jnz L0049034E mov eax,[ecx+000000C4h] test eax,eax jz L0049034E cmp eax,[ecx+000000BCh] jz L0049034E push eax call SUB_L0048FEE0 L0049034E: pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 L00490360: push ebp mov ebp,esp sub esp,00000008h push esi mov esi,[L0066962C] push edi mov edi,ecx lea eax,[ebp-04h] lea edx,[ebp-08h] push eax mov ecx,000013A7h call SUB_L004390A0 mov edx,[ebp-04h] inc edx mov [ebp-04h],edx mov eax,[esi+000001A4h] test eax,eax jz L004903EA mov ecx,[eax+04h] test ecx,ecx jz L004903EA mov ecx,L00669608 call SUB_L0043FDA0 mov ecx,[esi+000001A4h] mov edx,[ecx+04h] mov ecx,L00669608 mov eax,[edx] push eax call SUB_L0043FF10 mov ecx,[esi+000001A4h] mov edx,[ecx+04h] mov ecx,[edx] call SUB_L00490830 mov eax,[esi+000001A4h] mov ecx,[eax+04h] mov edx,[ecx] mov ecx,[edi+20h] mov eax,[edx+30h] mov edx,[ebp-04h] add eax,edx cmp eax,ecx jle L004903EA mov ecx,edi call SUB_L004919B0 L004903EA: pop edi pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L004903F0: push ebp mov ebp,esp mov edx,[ecx+0000009Ch] xor eax,eax cmp edx,eax mov [ecx+000000A4h],eax jz L0049041A mov [ecx+0000009Ch],eax mov [ecx+000000B0h],eax mov [L006A9DD4],eax pop ebp retn 0008h ;------------------------------------------------------------------------------ L0049041A: cmp dword ptr [ecx+000000B0h],00000002h jnz L00490429 mov [ecx+000000B0h],eax L00490429: mov [L006A9DD4],eax pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 L00490440: push esi push edi mov esi,ecx call [KERNEL32.dll!GetTickCount] mov edi,eax call [USER32.dll!GetDoubleClickTime] mov edx,[esi+000000B0h] mov ecx,00000001h cmp edx,ecx jnz L00490485 sub edi,[esi+000000ACh] cmp edi,eax jbe L00490485 mov eax,[esi+000000A4h] mov dword ptr [esi+000000B0h],00000000h test eax,eax jz L00490485 mov [esi+0000009Ch],ecx L00490485: pop edi pop esi retn ;------------------------------------------------------------------------------ Align 16 L00490490: push ebp mov ebp,esp sub esp,00000018h push ebx mov ebx,ecx push esi lea eax,[ebp-04h] push edi lea ecx,[ebp-08h] push eax xor esi,esi push ecx mov ecx,ebx mov [ebp-08h],esi mov [ebp-04h],esi call SUB_L00440C60 cmp [ebx+60h],esi jnz L004904BF mov edx,[ebx+38h] mov esi,[edx+04h] jmp L004904C5 L004904BF: mov eax,[ebx+38h] mov esi,[eax+0Ch] L004904C5: mov eax,[ebp-08h] mov ecx,[ebp-04h] xor edx,edx mov [ebp-18h],eax mov [ebp-14h],ecx mov dx,[esi] add eax,edx mov edi,[ebp+08h] mov [ebp-10h],eax xor eax,eax mov ax,[esi+02h] add ecx,eax mov [ebp-0Ch],ecx lea ecx,[ebp-18h] push ecx push edi mov ecx,L00669608 call SUB_L00440D40 test eax,eax jz L00490549 mov edx,[L004C7F38] mov eax,[L004C7F34] mov ecx,[L006BAE7C] push edx mov edx,[ebp-04h] push eax mov eax,[ebp-08h] push ecx push edx xor ecx,ecx mov cx,[esi+02h] xor edx,edx mov dx,[esi] push eax push ecx push edx push edi lea edx,[esi+04h] mov ecx,SUB_L00488700 call SUB_L00439500 mov esi,[ebx+4Ch] test esi,esi jz L00490549 L0049053A: mov eax,[esi] push edi mov ecx,esi call [eax+0Ch] mov esi,[esi+40h] test esi,esi jnz L0049053A L00490549: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 L00490560: push ebp mov ebp,esp push esi mov esi,ecx call SUB_L00490790 test byte ptr [ebp+08h],01h jz L0049057A push esi call SUB_L0049A810 add esp,00000004h L0049057A: mov eax,esi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00490590: push ebp mov ebp,esp push FFFFFFFFh push L004B5368 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push esi mov esi,ecx push edi mov [ebp-10h],esi call SUB_L00441CB0 mov eax,[ebp+08h] mov ecx,[ebp+0Ch] mov dword ptr [esi],L004BCF00 mov [esi+2Ch],eax mov eax,[ebp+18h] xor ebx,ebx mov [esi+30h],ecx mov edx,[ebp+14h] mov dword ptr [esi+04h],SSZ004C50DC_InputControl_gump mov [esi+5Ch],ebx mov [esi+50h],ebx mov [esi+00000190h],ebx mov [esi+000000DCh],bx mov [esi+000000E0h],bx mov [esi+000000DEh],bx and eax,0000FFFFh mov [esi+60h],ebx mov [esi+4Ch],ebx mov [esi+20h],eax mov [esi+48h],ebx and edx,0000FFFFh mov eax,00000001h push SSZ004D0550_framedata_for_CUnicodeInputContr mov [esi+44h],ebx push 00000008h mov ecx,L00669C8C mov [ebp-04h],ebx mov [esi+40h],ebx mov [esi+3Ch],ebx mov [esi+1Ch],edx mov [esi+000000C4h],eax mov [esi+10h],ebx mov [esi+14h],eax call SUB_L0044FBD0 mov ecx,[esi+14h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+38h],edi push SSZ004C50AC_inpctrl_frame0 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+1Ch] imul eax,[esi+20h] lea ecx,[eax+eax+04h] push ecx mov ecx,L00669C8C call SUB_L0044FBD0 mov edx,[esi+38h] mov [edx+04h],eax mov ecx,[esi+1Ch] imul ecx,[esi+20h] mov edx,[esi+38h] xor eax,eax shl ecx,1 mov edi,[edx+04h] mov edx,ecx add edi,00000004h shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+38h] mov dx,[esi+1Ch] mov ecx,[eax+04h] mov [ecx],dx mov eax,[esi+38h] mov dx,[esi+20h] mov ecx,[eax+04h] mov edi,[ebp+34h] mov al,[ebp+1Ch] mov [ecx+02h],dx mov edx,[ebp+2Ch] mov ecx,[ebp+20h] mov [esi+000000ACh],edx xor edx,edx cmp edi,ebx mov [esi+00000194h],ecx mov ecx,[ebp+30h] setnz dl cmp al,01h mov [esi+000000E4h],al mov [esi+000000B8h],ecx mov [esi+000000C0h],edx mov [esi+000000B4h],ebx mov [esi+000000B0h],ebx mov [esi+000000BCh],ebx mov [esi+000000D8h],ebx mov [esi+000000D4h],ebx mov [esi+000000D0h],ebx mov [esi+000000CCh],ebx mov [esi+000000C8h],ebx mov byte ptr [esi+000000E2h],03h mov byte ptr [esi+000000E3h],02h mov [esi+000000ECh],bx mov [esi+000000E8h],ebx jnz L00490748 mov dword ptr [esi+00000198h],00000001h jmp L0049074E L00490748: mov [esi+00000198h],ebx L0049074E: mov cx,[ebp+28h] mov ax,[ebp+24h] mov [esi+000001A2h],cx mov ecx,esi mov [esi+0000019Ch],ebx mov [esi+000001A0h],ax mov [esi+000001A4h],ebx call SUB_L00490830 mov ecx,[ebp-0Ch] mov eax,esi pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0030h ;------------------------------------------------------------------------------ Align 8 SUB_L00490790: push ebp mov ebp,esp push FFFFFFFFh push L004B5388 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx push edi mov [ebp-10h],esi mov dword ptr [esi],L004BCF00 mov eax,[esi+38h] xor edi,edi mov [ebp-04h],edi mov eax,[eax+04h] cmp eax,edi jz L004907DB push SSZ004C5108_InputControl_frame0_pBMP push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov ecx,[esi+38h] mov [ecx+04h],edi L004907DB: mov eax,[esi+38h] cmp eax,edi jz L004907F5 push SSZ004C50F0_InputControl_framedata push eax mov ecx,L00669C8C call SUB_L0044FBF0 mov [esi+38h],edi L004907F5: cmp [L0066962C],esi jnz L00490803 mov [L0066962C],edi L00490803: mov ecx,esi mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00441D50 mov ecx,[ebp-0Ch] pop edi mov fs:[00000000h],ecx pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L00490830: push ebp mov ebp,esp sub esp,000000CCh push ebx push esi mov esi,ecx mov dword ptr [L004DB7E0],00000001h xor ebx,ebx push edi mov eax,[esi+000000D8h] mov [ebp-08h],ebx cmp eax,ebx mov [ebp-20h],ebx jz L00490866 mov di,[esi+000000E0h] cmp di,bx jnz L004908AA L00490866: mov di,[esi+000000DEh] cmp di,bx jz L0049087A cmp [esi+000000D4h],ebx jnz L004908AA L0049087A: lea ecx,[esi+000000ECh] call SUB_L00491C00 test eax,eax jnz L00490895 mov di,[esi+000000DCh] cmp di,bx jnz L004908AA L00490895: cmp [esi+000000B4h],ebx jz L004908A6 mov di,[esi+00000190h] jmp L004908AA L004908A6: mov di,[esi+50h] L004908AA: lea eax,[ebp-04h] lea ecx,[ebp-24h] push eax push ecx lea edx,[ebp-1Ch] mov ecx,L004D057C call SUB_L00492DC0 cmp [esi+000000C4h],ebx jz L004908EB mov ecx,[esi+20h] mov edx,[esi+38h] imul ecx,[esi+1Ch] mov edi,[edx+04h] xor eax,eax shl ecx,1 mov edx,ecx add edi,00000004h shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb jmp L00490933 L004908EB: cmp [esi+000000C0h],ebx jz L00490908 mov eax,[esi+38h] mov ecx,edi and ecx,0000FFFFh mov edx,[eax+04h] call SUB_L0041C9B0 jmp L00490933 L00490908: mov ecx,[esi+38h] xor edx,edx mov eax,[ecx+04h] xor ecx,ecx mov dx,[eax+02h] mov cx,[eax] push edx add eax,00000004h push ecx push eax mov edx,edi push ebx push ebx and edx,0000FFFFh mov ecx,SUB_L00488700 call SUB_L00439100 L00490933: mov edx,[esi+1Ch] xor eax,eax mov al,[esi+000000E2h] mov ecx,edx sub ecx,eax mov [ebp-18h],eax mov [ebp-10h],ecx xor ecx,ecx mov cl,[esi+000000E3h] mov edi,ecx mov ecx,[esi+20h] sub ecx,edi mov [ebp-14h],edi mov [ebp-0Ch],ecx mov cl,[esi+000000E4h] cmp cl,bl jz L00490B03 cmp cl,02h jz L00490B03 mov ecx,[esi+000000E8h] push 0000000Ah lea edx,[ebp-000000CCh] call SUB_L00491E50 cmp [L0066962C],esi jnz L00490A3D mov eax,[esi+0000019Ch] mov ecx,[esi+00000198h] sub ecx,eax lea edx,[ebp+eax*2-000000CCh] call SUB_L004931A0 mov [ebp-08h],eax xor eax,eax mov ax,[esi+000001A2h] lea edx,[ebp-18h] push edx lea ecx,[eax+eax*4] lea edx,[eax+ecx*2] xor eax,eax xor ecx,ecx mov ax,[L006C1A4A+edx*8] mov cl,[esi+000000E3h] mov edx,[ebp-04h] push eax xor eax,eax add edx,ecx mov al,[esi+000000E2h] mov ecx,[esi+0000019Ch] push edx push eax mov eax,[esi+38h] lea edx,[ebp+ecx*2-000000CCh] push edx mov edx,[esi+1Ch] mov ecx,[eax+04h] add ecx,00000004h call SUB_L00492A20 lea ecx,[ebp-18h] xor edx,edx mov dx,[L006D505A] xor eax,eax mov al,[esi+000000E3h] push ecx mov ecx,[ebp-04h] push edx lea edx,[ecx+eax+02h] mov ecx,[ebp-08h] xor eax,eax push edx mov al,[esi+000000E2h] mov edx,[esi+1Ch] add ecx,eax push ecx push L004D0578 jmp L00491041 L00490A3D: cmp [esi+000000B8h],ebx jz L00490AB8 lea ecx,[ebp-000000CCh] lea edi,[ebp-000000CCh] call SUB_L00491C00 mov ecx,eax mov edx,edi call SUB_L004931A0 mov edx,eax lea eax,[ebp-18h] push eax xor eax,eax mov ax,[esi+000001A2h] mov ecx,[esi+1Ch] mov [ebp-08h],edx lea edi,[eax+eax*4] lea eax,[eax+edi*2] xor edi,edi mov di,[L006C1A4A+eax*8] xor eax,eax mov al,[esi+000000E3h] push edi mov edi,[ebp-04h] add edi,eax mov eax,ecx sub eax,edx push edi cdq sub eax,edx mov edx,[esi+0000019Ch] sar eax,1 push eax lea eax,[ebp+edx*2-000000CCh] mov edx,ecx mov ecx,[esi+38h] push eax mov ecx,[ecx+04h] jmp L00491047 L00490AB8: xor eax,eax lea edx,[ebp-18h] mov ax,[esi+000001A2h] push edx lea ecx,[eax+eax*4] lea edx,[eax+ecx*2] xor eax,eax xor ecx,ecx mov ax,[L006C1A4A+edx*8] mov cl,[esi+000000E3h] mov edx,[ebp-04h] push eax add edx,ecx mov ecx,[esi+0000019Ch] xor eax,eax push edx mov al,[esi+000000E2h] lea edx,[ebp+ecx*2-000000CCh] push eax push edx mov edx,[esi+1Ch] jmp L00491041 L00490B03: mov ecx,[L0066962C] cmp ecx,esi mov ecx,[esi+000000B0h] jnz L00490CD1 cmp ecx,ebx jz L00490BB8 lea ecx,[esi+000000ECh] call SUB_L00491C00 mov edx,eax xor eax,eax cmp edx,ebx jle L00490B4A mov ecx,edx mov eax,002A002Ah lea edi,[ebp-000000CCh] shr ecx,1 rep stosd adc ecx,ecx rep stosw mov eax,edx L00490B4A: mov [ebp+eax*2-000000CCh],bx xor eax,eax mov ax,[esi+000001A2h] lea ecx,[ebp-18h] push ecx xor ecx,ecx lea edx,[eax+eax*4] lea eax,[eax+edx*2] xor edx,edx mov dl,[esi+000000E3h] mov cx,[L006C1A4A+eax*8] mov eax,[ebp-04h] push ecx xor ecx,ecx mov cl,[esi+000000E2h] add eax,edx mov edx,[esi+0000019Ch] push eax push ecx mov ecx,[esi+38h] lea eax,[ebp+edx*2-000000CCh] mov edx,[esi+1Ch] mov ecx,[ecx+04h] push eax add ecx,00000004h call SUB_L00492A20 mov eax,[esi+0000019Ch] lea edx,[ebp+eax*2-000000CCh] jmp L00490C86 L00490BB8: mov ecx,[esi+000000C8h] cmp ecx,ebx lea ecx,[ebp-18h] push ecx jz L00490C3C xor ecx,ecx mov cx,[esi+000001A2h] lea ebx,[ecx+ecx*4] lea ecx,[ecx+ebx*2] xor ebx,ebx mov bx,[L006C1A4A+ecx*8] mov ecx,[esi+0000019Ch] push ebx push edi lea ecx,[esi+ecx*2+000000ECh] push eax push ecx add eax,eax mov ecx,edx sub ecx,eax mov eax,[esi+38h] push ecx mov ecx,[eax+04h] add ecx,00000004h call SUB_L004935B0 lea ecx,[ebp-20h] mov eax,[esi+0000019Ch] push ecx xor ecx,ecx mov cl,[esi+000000E2h] lea edx,[ebp-08h] push edx mov edx,[esi+1Ch] shl ecx,1 sub edx,ecx mov ecx,[esi+00000198h] push edx lea edx,[esi+eax*2+000000ECh] sub ecx,eax call SUB_L004932B0 mov eax,[ebp-08h] jmp L00490C96 L00490C3C: xor ecx,ecx mov cx,[esi+000001A2h] lea ebx,[ecx+ecx*4] lea ecx,[ecx+ebx*2] xor ebx,ebx mov bx,[L006C1A4A+ecx*8] mov ecx,[ebp-04h] add ecx,edi push ebx push ecx push eax mov eax,[esi+0000019Ch] lea ecx,[esi+eax*2+000000ECh] mov eax,[esi+38h] push ecx mov ecx,[eax+04h] add ecx,00000004h call SUB_L00492A20 mov eax,[esi+0000019Ch] lea edx,[esi+eax*2+000000ECh] L00490C86: mov ecx,[esi+00000198h] sub ecx,eax call SUB_L004931A0 mov [ebp-08h],eax L00490C96: xor edx,edx lea ecx,[ebp-18h] mov dx,[L006D505A] push ecx mov ecx,[ebp-20h] push edx mov edx,[ebp-04h] add edx,ecx xor ecx,ecx mov cl,[esi+000000E3h] lea edx,[edx+ecx+02h] xor ecx,ecx mov cl,[esi+000000E2h] push edx mov edx,[esi+1Ch] add eax,ecx push eax push L004D0578 jmp L00491041 L00490CD1: cmp ecx,ebx jz L00490D5D lea ecx,[esi+000000ECh] call SUB_L00491C00 mov edx,eax xor eax,eax cmp edx,ebx jle L00490D04 mov ecx,edx mov eax,002A002Ah lea edi,[ebp-000000CCh] shr ecx,1 rep stosd adc ecx,ecx rep stosw mov eax,edx L00490D04: mov [ebp+eax*2-000000CCh],bx xor eax,eax mov ax,[esi+000001A2h] lea ecx,[ebp-18h] push ecx xor ecx,ecx lea edx,[eax+eax*4] lea eax,[eax+edx*2] xor edx,edx mov dl,[esi+000000E3h] mov cx,[L006C1A4A+eax*8] mov eax,[ebp-04h] push ecx add eax,edx mov edx,[esi+0000019Ch] xor ecx,ecx mov cl,[esi+000000E2h] push eax push ecx mov ecx,[esi+38h] lea eax,[ebp+edx*2-000000CCh] mov edx,[esi+1Ch] mov ecx,[ecx+04h] push eax jmp L00491047 L00490D5D: cmp [esi+000000B8h],ebx jz L00490FB4 mov eax,[esi+000000B4h] lea edx,[ebp-28h] cmp eax,ebx lea edi,[esi+000000ECh] lea eax,[ebp-24h] push edx push eax lea edx,[ebp-1Ch] mov ecx,edi jnz L00490F08 call SUB_L00492DC0 mov edx,[ebp-1Ch] mov ecx,[esi+1Ch] xor eax,eax mov al,[esi+000000E2h] lea ebx,[edx+eax*2] cmp ebx,ecx jl L00490DE3 lea edx,[ebp-18h] push edx push ecx mov ecx,[esi+38h] mov edx,[ecx+04h] xor ecx,ecx mov cx,[esi+000001A2h] add edx,00000004h push edx xor edx,edx mov dx,[esi+000001A0h] push edi push ecx xor ecx,ecx mov cl,[esi+000000E3h] push edx mov edx,[ebp-04h] add edx,ecx mov ecx,L00669CC8 push edx push eax call SUB_L004377E0 jmp L00490E2A L00490DE3: lea eax,[ebp-18h] push eax xor eax,eax mov ax,[esi+000001A2h] lea ebx,[eax+eax*4] lea eax,[eax+ebx*2] xor ebx,ebx mov bx,[L006C1A4A+eax*8] xor eax,eax mov al,[esi+000000E3h] push ebx mov ebx,[ebp-04h] add ebx,eax mov eax,ecx sub eax,edx push ebx cdq sub eax,edx mov edx,ecx mov ecx,[esi+38h] sar eax,1 mov ecx,[ecx+04h] push eax push edi add ecx,00000004h call SUB_L00492A20 L00490E2A: mov eax,[esi+50h] cmp eax,0000098Dh jnz L00490E69 mov edx,[esi+38h] xor ecx,ecx mov eax,[edx+04h] xor edx,edx mov cx,[eax+02h] mov dx,[eax] push ecx add eax,00000004h push edx mov edx,[esi+1Ch] push eax xor eax,eax mov al,[esi+000000E3h] xor ecx,ecx mov cl,[esi+000000E2h] add eax,00000002h sub edx,ecx push eax sub edx,0000000Bh jmp L00490EA3 L00490E69: cmp eax,0000098Eh mov eax,[esi+38h] mov eax,[eax+04h] jnz L00490EC4 xor ecx,ecx xor edx,edx mov cx,[eax+02h] mov dx,[eax] push ecx add eax,00000004h push edx mov edx,[esi+1Ch] push eax xor eax,eax mov al,[esi+000000E3h] xor ecx,ecx mov cl,[esi+000000E2h] add eax,00000002h sub edx,ecx push eax sub edx,0000000Fh L00490EA3: push edx mov edx,00000985h mov ecx,SUB_L00488700 call SUB_L00439100 mov dword ptr [L004DB7E0],00000000h pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00490EC4: xor ecx,ecx xor edx,edx mov cx,[eax+02h] mov dx,[eax] push ecx mov ecx,[esi+1Ch] add eax,00000004h push edx push eax xor eax,eax mov al,[esi+000000E2h] push 00000001h sub ecx,eax mov edx,00001391h sub ecx,00000009h push ecx mov ecx,SUB_L00488700 call SUB_L00439100 mov dword ptr [L004DB7E0],00000000h pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00490F08: call SUB_L00492DC0 mov ecx,[ebp-10h] mov eax,[ebp-18h] mov edx,[ebp-1Ch] sub ecx,eax cmp edx,ecx jl L00490F6D mov ecx,[esi+1Ch] lea edx,[ebp-18h] push edx mov edx,[esi+38h] push ecx mov ecx,[edx+04h] xor edx,edx mov dx,[esi+000001A2h] add ecx,00000004h push ecx xor ecx,ecx mov cx,[esi+000001A0h] push edi push edx xor edx,edx mov dl,[esi+000000E3h] push ecx mov ecx,[ebp-04h] add ecx,edx push ecx push eax mov ecx,L00669CC8 call SUB_L004377E0 mov dword ptr [L004DB7E0],00000000h pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00490F6D: lea eax,[ebp-18h] mov ecx,[esi+1Ch] push eax xor eax,eax mov ax,[esi+000001A2h] lea ebx,[eax+eax*4] lea eax,[eax+ebx*2] xor ebx,ebx mov bx,[L006C1A4A+eax*8] xor eax,eax mov al,[esi+000000E3h] push ebx mov ebx,[ebp-04h] add ebx,eax mov eax,ecx sub eax,edx push ebx cdq sub eax,edx mov edx,ecx mov ecx,[esi+38h] sar eax,1 mov ecx,[ecx+04h] push eax push edi jmp L00491047 L00490FB4: mov ecx,[esi+000000C8h] cmp ecx,ebx lea ecx,[ebp-18h] push ecx jz L00491012 xor ecx,ecx mov cx,[esi+000001A2h] lea ebx,[ecx+ecx*4] lea ecx,[ecx+ebx*2] xor ebx,ebx mov bx,[L006C1A4A+ecx*8] mov ecx,[esi+0000019Ch] push ebx push edi lea ecx,[esi+ecx*2+000000ECh] push eax push ecx add eax,eax mov ecx,edx sub ecx,eax mov eax,[esi+38h] push ecx mov ecx,[eax+04h] add ecx,00000004h call SUB_L004935B0 mov dword ptr [L004DB7E0],00000000h pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00491012: xor ecx,ecx mov cx,[esi+000001A2h] lea ebx,[ecx+ecx*4] lea ecx,[ecx+ebx*2] xor ebx,ebx mov bx,[L006C1A4A+ecx*8] mov ecx,[ebp-04h] add ecx,edi push ebx push ecx push eax mov eax,[esi+0000019Ch] lea ecx,[esi+eax*2+000000ECh] push ecx L00491041: mov eax,[esi+38h] mov ecx,[eax+04h] L00491047: add ecx,00000004h call SUB_L00492A20 pop edi pop esi mov dword ptr [L004DB7E0],00000000h pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00491060: push ebp mov ebp,esp sub esp,000000A4h push ebx push esi mov esi,ecx push edi mov ecx,[esi+48h] test ecx,ecx jz L00491085 push 00000000h call SUB_L00441340 mov ecx,[esi+48h] push esi mov eax,[ecx] call [eax+5Ch] L00491085: mov eax,[esi+000000ACh] mov ebx,[ebp+08h] test eax,eax jz L004911A0 mov eax,[esi+000000B4h] test eax,eax jnz L004911A0 mov ecx,L00669608 call SUB_L0043FDA0 push esi mov ecx,L00669608 call SUB_L0043FF10 mov al,[esi+000000E4h] test al,al jz L004910F7 cmp al,02h jz L004910F7 mov ecx,[esi+000000E8h] push 0000000Ah lea edx,[ebp-000000A4h] call SUB_L00491E50 lea ecx,[ebp-000000A4h] call SUB_L00491C00 mov ecx,esi mov [esi+00000198h],eax call SUB_L00490830 jmp L004911BC L004910F7: mov eax,[esi+000000B0h] test eax,eax jz L00491148 lea ecx,[esi+000000ECh] call SUB_L00491C00 mov edx,eax xor eax,eax test edx,edx jle L0049112C mov ecx,edx mov eax,002A002Ah lea edi,[ebp-000000A4h] shr ecx,1 rep stosd adc ecx,ecx rep stosw mov eax,edx L0049112C: mov ecx,[esi+0000019Ch] mov word ptr [ebp+eax*2-000000A4h],0000h lea edx,[ebx-01h] lea ecx,[ebp+ecx*2-000000A4h] jmp L00491184 L00491148: mov eax,[esi+000000C8h] test eax,eax jz L00491174 mov edx,[ebp+0Ch] mov ecx,[esi+0000019Ch] push edx mov edx,[esi+1Ch] lea eax,[ebx-01h] sub edx,00000006h push eax lea ecx,[esi+ecx*2+000000ECh] call SUB_L00493550 jmp L00491189 L00491174: mov eax,[esi+0000019Ch] lea edx,[ebx-01h] lea ecx,[esi+eax*2+000000ECh] L00491184: call SUB_L00493200 L00491189: mov ecx,[esi+0000019Ch] add eax,ecx mov ecx,esi mov [esi+00000198h],eax call SUB_L00490830 jmp L004911BC L004911A0: cmp byte ptr [esi+000000E4h],02h jnz L004911BC mov eax,[esi+000000B4h] test eax,eax jnz L004911BC mov ecx,[esi+48h] push esi mov edx,[ecx] call [edx+6Ch] L004911BC: mov ecx,[esi+000000A8h] mov eax,00000001h cmp ecx,eax mov [esi+0000009Ch],eax jnz L004911ED mov eax,[ebp+0Ch] mov dword ptr [esi+000000A8h],00000002h mov [esi+6Ch],ebx mov [esi+70h],eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L004911ED: mov [esi+000000A8h],eax call [KERNEL32.dll!GetTickCount] mov [esi+000000A4h],eax mov eax,[ebp+0Ch] mov [esi+6Ch],ebx mov [esi+70h],eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 L00491220: push ebp mov ebp,esp mov eax,ecx push esi xor esi,esi mov ecx,[eax+00000094h] mov [eax+0000009Ch],esi cmp ecx,esi jz L0049124F mov [eax+00000094h],esi mov [eax+000000A8h],esi mov [L006A9DD4],esi pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ L0049124F: cmp dword ptr [eax+000000A8h],00000002h jnz L0049126B mov ecx,[eax+48h] mov [eax+000000A8h],esi cmp ecx,esi jz L0049126B mov edx,[ecx] push eax call [edx+60h] L0049126B: mov [L006A9DD4],esi pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 L00491280: push ebp mov ebp,esp push esi mov esi,ecx push 00000000h mov ecx,L006BB1C8 call SUB_L0049A010 mov eax,[esi+000000D4h] test eax,eax jnz L004912B7 cmp word ptr [esi+000000DEh],0000h mov dword ptr [esi+000000D4h],00000001h jz L004912B7 mov ecx,esi call SUB_L00490830 L004912B7: pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 8 L004912C0: mov eax,[ecx+000000D4h] test eax,eax jz L004912E3 cmp word ptr [ecx+000000DEh],0000h mov dword ptr [ecx+000000D4h],00000000h jz L004912E3 jmp SUB_L00490830 L004912E3: retn ;------------------------------------------------------------------------------ Align 16 SUB_L004912F0: push ebp mov ebp,esp sub esp,00000024h push esi mov esi,ecx mov eax,[esi+000000CCh] test eax,eax jz L0049130D mov eax,00000001h pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L0049130D: mov al,[esi+000000E4h] push edi test al,al push ebx jz L00491339 cmp al,02h jz L00491339 mov ecx,[esi+000000E8h] push 0000000Ah lea edx,[ebp-24h] call SUB_L00491E50 mov eax,[esi+0000019Ch] lea ebx,[ebp+eax*2-24h] jmp L00491346 L00491339: mov ecx,[esi+0000019Ch] lea ebx,[esi+ecx*2+000000ECh] L00491346: mov edx,[esi+1Ch] mov edi,[esi+0000019Ch] sub edx,0000000Ch mov ecx,ebx call SUB_L00493200 mov ecx,[esi+00000198h] add eax,edi neg edi cmp eax,ecx lea ebx,[ebx+edi*2] jg L004913B2 lea edx,[ebx+eax*2] sub ecx,eax call SUB_L004931A0 mov ecx,ebx mov edi,eax call SUB_L00491C00 mov ecx,eax dec ecx test edi,edi mov [ebp-04h],ecx jle L004913B2 jmp L0049138C L00491389: mov ecx,[ebp-04h] L0049138C: mov eax,[esi+0000019Ch] cmp eax,ecx jge L004913B2 mov cx,[ebx+eax*2] call SUB_L00492980 mov ecx,[esi+0000019Ch] sub edi,eax inc ecx test edi,edi mov [esi+0000019Ch],ecx jg L00491389 L004913B2: pop ebx pop edi mov eax,00000001h pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 4 L004913C0: push ebp mov ebp,esp sub esp,000000C8h push ebx push esi mov esi,ecx xor ebx,ebx push edi cmp [esi+000000B4h],ebx jnz L00491874 mov edi,[ebp+08h] cmp edi,00000009h jnz L004913F5 mov ecx,[esi+48h] mov eax,[ecx] call [eax+50h] pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L004913F5: cmp edi,0000000Dh jnz L0049140B mov ecx,[esi+48h] mov edx,[ecx] call [edx+54h] pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L0049140B: cmp edi,0000001Bh jnz L00491421 mov ecx,[esi+48h] mov eax,[ecx] call [eax+58h] pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L00491421: cmp edi,0000E024h jnz L0049145D cmp [esi+000000E4h],bl jnz L00491874 cmp [esi+00000198h],ebx jle L00491874 mov ecx,esi mov [esi+00000198h],ebx mov [esi+0000019Ch],ebx call SUB_L00490830 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L0049145D: cmp edi,0000E023h jnz L004914B2 mov al,[esi+000000E4h] cmp al,bl jz L00491490 cmp al,02h jz L00491490 cmp al,01h jnz L00491874 mov ecx,[esi+000000E8h] push 0000000Ah lea edx,[ebp-28h] call SUB_L00491E50 lea ecx,[ebp-28h] jmp L00491496 L00491490: lea ecx,[esi+000000ECh] L00491496: call SUB_L00491C00 cmp [esi+00000198h],eax jge L00491874 mov [esi+00000198h],eax jmp L00491866 L004914B2: cmp edi,0000E026h jz L00491874 cmp edi,0000E028h jz L00491874 cmp edi,0000E025h jz L004917F2 cmp edi,0000E027h jz L004917F2 cmp edi,00000008h jz L00491702 cmp edi,0000E02Eh jz L00491702 mov ecx,edi call SUB_L00492940 test eax,eax jz L00491694 mov al,[esi+000000E4h] cmp al,bl jz L00491518 cmp al,02h jnz L00491694 L00491518: cmp [esi+000000BCh],ebx jz L00491546 cmp edi,00000030h jl L0049152A cmp edi,00000039h jle L00491546 L0049152A: cmp edi,00000061h jl L00491534 cmp edi,0000007Ah jle L00491546 L00491534: cmp edi,00000041h jl L00491874 cmp edi,0000005Ah jg L00491874 L00491546: lea ecx,[esi+000000ECh] call SUB_L00491C00 cmp eax,[esi+00000194h] jge L00491874 mov ecx,[esi+00000198h] cmp ecx,eax jl L00491571 mov [esi+eax*2+000000ECh],di jmp L004915A3 L00491571: cmp eax,ecx mov edx,eax jle L00491595 lea ecx,[esi+eax*2+000000ECh] L0049157E: mov bx,[ecx-02h] dec edx mov [ecx],bx mov ebx,[esi+00000198h] sub ecx,00000002h cmp edx,ebx jg L0049157E xor ebx,ebx L00491595: mov ecx,[esi+00000198h] mov [esi+ecx*2+000000ECh],di L004915A3: mov [esi+eax*2+000000EEh],bx mov eax,[esi+00000198h] inc eax mov ecx,esi mov [esi+00000198h],eax call SUB_L004912F0 mov eax,[esi+000000CCh] cmp eax,ebx mov eax,[esi+000000C8h] jz L00491615 cmp eax,ebx jnz L00491619 lea edx,[esi+000000ECh] lea ecx,[ebp-000000C8h] call SUB_L00491D10 mov edx,L004D0578 lea ecx,[ebp-000000C8h] call SUB_L00491DC0 lea edx,[ebp-08h] lea eax,[ebp-04h] push edx push eax lea edx,[ebp+08h] lea ecx,[ebp-000000C8h] call SUB_L00492DC0 mov ecx,[esi+1Ch] mov eax,[ebp+08h] sub ecx,00000006h jmp L0049165D L00491615: cmp eax,ebx jz L00491673 L00491619: lea edx,[esi+000000ECh] lea ecx,[ebp-000000C8h] call SUB_L00491D10 mov edx,L004D0578 lea ecx,[ebp-000000C8h] call SUB_L00491DC0 lea eax,[ebp-08h] lea ecx,[ebp-04h] push eax lea edx,[ebp+08h] push ecx push edx mov edx,[esi+1Ch] lea ecx,[ebp-000000C8h] sub edx,00000006h call SUB_L00492F30 mov eax,[ebp-04h] mov ecx,[esi+20h] L0049165D: cmp eax,ecx jl L00491673 mov edx,[esi] push 00000008h mov ecx,esi call [edx+44h] pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L00491673: mov ecx,esi call SUB_L00490830 mov ecx,[esi+48h] cmp ecx,ebx jz L00491874 mov eax,[ecx] push esi call [eax+4Ch] pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L00491694: cmp byte ptr [esi+000000E4h],01h jnz L00491874 cmp edi,00000030h jl L00491874 cmp edi,00000039h jg L00491874 mov eax,[esi+000000E8h] lea ecx,[eax+eax*4] mov eax,[esi+00000194h] lea edi,[edi+ecx*2-30h] cmp edi,eax jg L00491874 mov ecx,[esi+00000198h] mov [esi+000000E8h],edi inc ecx mov [esi+00000198h],ecx mov ecx,esi call SUB_L00490830 mov ecx,[esi+48h] cmp ecx,ebx jz L00491874 mov edx,[ecx] push esi call [edx+4Ch] pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L00491702: mov al,[esi+000000E4h] cmp al,bl jz L0049173B cmp al,02h jz L0049173B mov ecx,[esi+000000E8h] cmp ecx,ebx jbe L00491874 mov eax,CCCCCCCDh mul ecx mov eax,[esi+00000198h] shr edx,03h cmp eax,00000001h mov [esi+000000E8h],edx jle L004917AE jmp L004917A7 L0049173B: lea ecx,[esi+000000ECh] call SUB_L00491C00 cmp eax,ebx jle L00491874 cmp edi,0000E02Eh jnz L0049176B mov ecx,[esi+00000198h] cmp ecx,eax jge L00491874 inc ecx mov [esi+00000198h],ecx L0049176B: mov ecx,[esi+00000198h] cmp ecx,eax jge L00491799 cmp ecx,ebx jle L004917AE lea edi,[ecx-01h] lea edx,[eax-01h] cmp edi,edx jge L00491799 lea ecx,[esi+edi*2+000000ECh] sub edx,edi L0049178C: mov di,[ecx+02h] mov [ecx],di add ecx,00000002h dec edx jnz L0049178C L00491799: mov [esi+eax*2+000000EAh],bx mov eax,[esi+00000198h] L004917A7: dec eax mov [esi+00000198h],eax L004917AE: mov eax,[esi+0000019Ch] mov ecx,[esi+00000198h] cmp ecx,eax jge L004917D1 add eax,FFFFFFF8h xor ecx,ecx cmp eax,ebx setl cl dec ecx and eax,ecx mov [esi+0000019Ch],eax L004917D1: mov ecx,esi call SUB_L00490830 mov ecx,[esi+48h] cmp ecx,ebx jz L00491874 mov edx,[ecx] push esi call [edx+4Ch] pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L004917F2: cmp [esi+000000E4h],bl jnz L00491874 cmp edi,0000E025h jnz L00491842 mov eax,[esi+00000198h] cmp eax,ebx jle L00491842 lea ecx,[eax-01h] mov eax,[esi+0000019Ch] cmp ecx,eax mov [esi+00000198h],ecx jge L0049186D add eax,FFFFFFF8h xor ecx,ecx cmp eax,ebx setl cl dec ecx and eax,ecx mov ecx,esi mov [esi+0000019Ch],eax call SUB_L00490830 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L00491842: cmp edi,0000E027h jnz L00491874 mov edi,[esi+00000198h] lea ecx,[esi+000000ECh] call SUB_L00491C00 cmp edi,eax jge L00491874 inc edi mov [esi+00000198h],edi L00491866: mov ecx,esi call SUB_L004912F0 L0049186D: mov ecx,esi call SUB_L00490830 L00491874: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L00491880: push ebp mov ebp,esp sub esp,00000010h push ebx push esi mov esi,ecx push edi mov eax,[esi+000000D4h] test eax,eax jle L0049199E dec eax mov [esi+000000D4h],eax mov eax,[esi+000000C0h] mov ecx,[eax+08h] mov [esi+000000C0h],ecx mov ecx,[esi+000000B8h] test ecx,ecx jz L004918F1 mov edi,0000001Dh L004918BE: mov eax,[ecx] mov edx,[eax+30h] add edx,edi mov [eax+30h],edx mov eax,[ecx] mov edx,[eax+30h] lea ebx,[edx+1Dh] cmp ebx,[esi+20h] jg L004918E3 cmp edx,00000007h jl L004918E3 mov dword ptr [eax+68h],00000001h jmp L004918EA L004918E3: mov dword ptr [eax+68h],00000000h L004918EA: mov ecx,[ecx+04h] test ecx,ecx jnz L004918BE L004918F1: mov eax,[esi+000000D4h] test eax,eax jnz L00491908 mov edx,[esi+00000094h] mov dword ptr [edx+68h],00000000h L00491908: mov eax,[esi+00000098h] mov ecx,[eax+68h] test ecx,ecx jnz L0049191C mov dword ptr [eax+68h],00000001h L0049191C: mov eax,[esi+000000CCh] mov ebx,[esi+000000D4h] sub eax,ebx mov ecx,[esi+1Ch] mov edx,eax mov dword ptr [ebp-10h],00000000h shl edx,03h sub edx,eax mov dword ptr [ebp-0Ch],00000000h mov [ebp-08h],ecx lea eax,[eax+edx*4+0Dh] mov edx,[esi+20h] mov [ebp-04h],eax mov eax,[esi+38h] push edx mov edx,[esi+50h] push ecx mov ecx,[eax+04h] add ecx,00000004h push ecx push 00000000h push 00000000h mov ecx,SUB_L00488700 call SUB_L00439100 mov eax,[esi+000000CCh] test eax,eax jz L0049199E mov edx,[esi+20h] mov ecx,[esi+38h] mov eax,[esi+1Ch] push edx mov edx,[ecx+04h] push eax add edx,00000004h lea eax,[ebp-10h] push edx mov edx,[esi+50h] push 00000000h push 00000000h push eax dec edx mov ecx,SUB_L00488700 call SUB_L00439290 L0049199E: pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L004919B0: push ebp mov ebp,esp sub esp,00000010h push ebx push esi mov esi,ecx push edi mov eax,[esi+000000D4h] mov ecx,[esi+000000CCh] inc eax cmp eax,ecx jge L00491ADB mov [esi+000000D4h],eax mov eax,[esi+000000C0h] mov ecx,[eax+04h] mov [esi+000000C0h],ecx mov ecx,[esi+000000B8h] test ecx,ecx jz L00491A27 mov edi,FFFFFFE3h L004919F4: mov eax,[ecx] mov edx,[eax+30h] add edx,edi mov [eax+30h],edx mov eax,[ecx] mov edx,[eax+30h] lea ebx,[edx+1Dh] cmp ebx,[esi+20h] jg L00491A19 cmp edx,00000007h jl L00491A19 mov dword ptr [eax+68h],00000001h jmp L00491A20 L00491A19: mov dword ptr [eax+68h],00000000h L00491A20: mov ecx,[ecx+04h] test ecx,ecx jnz L004919F4 L00491A27: mov edx,[esi+000000CCh] mov eax,[esi+000000D4h] dec edx cmp eax,edx jl L00491A45 mov eax,[esi+00000098h] mov dword ptr [eax+68h],00000000h L00491A45: mov eax,[esi+00000094h] mov ecx,[eax+68h] test ecx,ecx jnz L00491A59 mov dword ptr [eax+68h],00000001h L00491A59: mov eax,[esi+000000CCh] mov ebx,[esi+000000D4h] sub eax,ebx mov ecx,[esi+1Ch] mov edx,eax mov dword ptr [ebp-10h],00000000h shl edx,03h sub edx,eax mov dword ptr [ebp-0Ch],00000000h mov [ebp-08h],ecx lea eax,[eax+edx*4+0Dh] mov edx,[esi+20h] mov [ebp-04h],eax mov eax,[esi+38h] push edx mov edx,[esi+50h] push ecx mov ecx,[eax+04h] add ecx,00000004h push ecx push 00000000h push 00000000h mov ecx,SUB_L00488700 call SUB_L00439100 mov eax,[esi+000000CCh] test eax,eax jz L00491ADB mov edx,[esi+20h] mov ecx,[esi+38h] mov eax,[esi+1Ch] push edx mov edx,[ecx+04h] push eax add edx,00000004h lea eax,[ebp-10h] push edx mov edx,[esi+50h] push 00000000h push 00000000h push eax dec edx mov ecx,SUB_L00488700 call SUB_L00439290 L00491ADB: pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L00491AF0: mov eax,[L004D05A8] retn ;------------------------------------------------------------------------------ Align 16 SUB_L00491B00: push esi mov esi,ecx test esi,esi jle L00491B0C cmp esi,00000014h jle L00491B1D L00491B0C: push 00000000h mov edx,SSZ004D062C_UnicodeSetSpaceWidth__ mov ecx,SSZ004D0604_Unreasonable_width_of_space_char call SUB_L0049A0A0 L00491B1D: mov [L004D05A8],esi pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L00491B30: mov [L007B7D2C],cl retn ;------------------------------------------------------------------------------ Align 16 SUB_L00491B40: push ebp mov ebp,esp push ecx mov edx,[L004D05B0] push esi push edi mov ax,cx xor edi,edi mov [ebp-04h],ax test dx,dx jz L00491B83 mov esi,L004D05B0 L00491B5F: cmp dx,ax jz L00491B73 mov dx,[esi+04h] add esi,00000004h inc edi test dx,dx jnz L00491B5F jmp L00491B83 L00491B73: mov ax,[L004D05B2+edi*4] mov [ebp-04h],ax mov ax,[ebp-04h] L00491B83: cmp ax,0041h jc L00491B9D cmp ax,005Ah ja L00491B9D add dword ptr [ebp-04h],00000020h mov ax,[ebp-04h] pop edi pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00491B9D: cmp ax,00C0h jc L00491BB7 cmp ax,00DDh ja L00491BB7 add dword ptr [ebp-04h],00000020h mov ax,[ebp-04h] pop edi pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00491BB7: cmp ax,0100h jc L00491BD5 cmp ax,0176h ja L00491BD5 mov eax,[ebp-04h] or al,01h mov [ebp-04h],eax mov ax,[ebp-04h] pop edi pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00491BD5: cmp ax,0179h jc L00491BF2 cmp ax,017Dh ja L00491BF2 mov ecx,[ebp-04h] inc ecx and ecx,0000FFFEh mov [ebp-04h],ecx mov ax,[ebp-04h] L00491BF2: pop edi pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L00491C00: xor eax,eax cmp [ecx],ax jz L00491C11 L00491C07: add ecx,00000002h inc eax cmp word ptr [ecx],0000h jnz L00491C07 L00491C11: retn ;------------------------------------------------------------------------------ Align 16 SUB_L00491C20: push esi L00491C21: mov ax,[ecx] mov si,[edx] cmp ax,si jnz L00491C3E test ax,ax jz L00491C4B test si,si jz L00491C4B add ecx,00000002h add edx,00000002h jmp L00491C21 L00491C3E: mov ax,[ecx] cmp ax,[edx] sbb eax,eax and al,FEh inc eax pop esi retn ;------------------------------------------------------------------------------ L00491C4B: xor eax,eax pop esi retn ;------------------------------------------------------------------------------ Align 4 SUB_L00491C50: push esi L00491C51: mov ax,[ecx] cmp ax,0041h jc L00491C63 cmp ax,005Ah lea esi,[eax+20h] jbe L00491C65 L00491C63: mov esi,eax L00491C65: mov ax,[edx] cmp ax,0041h jc L00491C77 cmp ax,005Ah ja L00491C77 add eax,00000020h L00491C77: cmp si,ax jnz L00491C8E test si,si jz L00491C95 test ax,ax jz L00491C95 add ecx,00000002h add edx,00000002h jmp L00491C51 L00491C8E: sbb eax,eax and al,FEh inc eax pop esi retn ;------------------------------------------------------------------------------ L00491C95: xor eax,eax pop esi retn ;------------------------------------------------------------------------------ Align 8 SUB_L00491CA0: push ebp mov ebp,esp push esi push edi mov edi,[ebp+08h] mov eax,edi dec edi test eax,eax jz L00491D02 L00491CAF: mov ax,[ecx] cmp ax,0041h jc L00491CC1 cmp ax,005Ah lea esi,[eax+20h] jbe L00491CC3 L00491CC1: mov esi,eax L00491CC3: mov ax,[edx] cmp ax,0041h jc L00491CD5 cmp ax,005Ah ja L00491CD5 add eax,00000020h L00491CD5: cmp si,ax jnz L00491CF7 test si,si jz L00491D02 test ax,ax jz L00491D02 add ecx,00000002h add edx,00000002h mov eax,edi dec edi test eax,eax jnz L00491CAF pop edi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ L00491CF7: sbb eax,eax and al,FEh inc eax pop edi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ L00491D02: pop edi xor eax,eax pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 8 SUB_L00491D10: mov ax,[edx] test ax,ax jz L00491D29 L00491D18: add edx,00000002h mov [ecx],ax add ecx,00000002h mov ax,[edx] test ax,ax jnz L00491D18 L00491D29: mov word ptr [ecx],0000h retn ;------------------------------------------------------------------------------ Align 4 SUB_L00491D30: push esi mov esi,ecx xor ecx,ecx cmp [esi],cx jz L00491D46 mov eax,esi L00491D3C: add eax,00000002h inc ecx cmp word ptr [eax],0000h jnz L00491D3C L00491D46: lea eax,[ecx+ecx+02h] push eax call SUB_L0049A820 mov dx,[esi] add esp,00000004h test dx,dx mov ecx,eax jz L00491D6F sub esi,eax L00491D5F: mov [ecx],dx mov dx,[ecx+esi+02h] add ecx,00000002h test dx,dx jnz L00491D5F L00491D6F: mov word ptr [ecx],0000h pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L00491D80: mov al,[edx] test al,al jz L00491D98 L00491D86: movzx ax,al mov [ecx],ax mov al,[edx+01h] add ecx,00000002h inc edx test al,al jnz L00491D86 L00491D98: mov word ptr [ecx],0000h retn ;------------------------------------------------------------------------------ Align 4 SUB_L00491DA0: cmp word ptr [edx],0000h jz L00491DB4 L00491DA6: mov al,[edx] add edx,00000002h mov [ecx],al inc ecx cmp word ptr [edx],0000h jnz L00491DA6 L00491DB4: mov byte ptr [ecx],00h retn ;------------------------------------------------------------------------------ Align 16 SUB_L00491DC0: cmp word ptr [ecx],0000h jz L00491DCF L00491DC6: add ecx,00000002h cmp word ptr [ecx],0000h jnz L00491DC6 L00491DCF: mov ax,[edx] test ax,ax jz L00491DE8 L00491DD7: add edx,00000002h mov [ecx],ax add ecx,00000002h mov ax,[edx] test ax,ax jnz L00491DD7 L00491DE8: mov word ptr [ecx],0000h retn ;------------------------------------------------------------------------------ Align 4 SUB_L00491DF0: cmp word ptr [ecx],0000h jz L00491DFF L00491DF6: add ecx,00000002h cmp word ptr [ecx],0000h jnz L00491DF6 L00491DFF: mov al,[edx] test al,al jz L00491E17 L00491E05: movsx ax,al mov [ecx],ax mov al,[edx+01h] add ecx,00000002h inc edx test al,al jnz L00491E05 L00491E17: mov word ptr [ecx],0000h retn ;------------------------------------------------------------------------------ Align 4 SUB_L00491E20: mov ax,[edx] test ax,ax jz L00491E3F L00491E28: cmp ax,0080h jnc L00491E33 mov al,[edx] mov [ecx],al inc ecx L00491E33: mov ax,[edx+02h] add edx,00000002h test ax,ax jnz L00491E28 L00491E3F: mov byte ptr [ecx],00h retn ;------------------------------------------------------------------------------ Align 16 SUB_L00491E50: push ebp mov ebp,esp push ebx mov ebx,[ebp+08h] push esi push edi mov edi,edx mov esi,ebx lea edx,[ebx-01h] mov eax,00000001h cmp edx,ecx jge L00491E74 L00491E69: imul esi,ebx inc eax lea edx,[esi-01h] cmp edx,ecx jl L00491E69 L00491E74: test eax,eax jle L00491EA6 mov [ebp+08h],eax L00491E7B: mov eax,esi add edi,00000002h cdq idiv ebx mov esi,eax mov eax,ecx cdq idiv esi mov edx,eax movsx ax,[eax+SSZ004D0644_0123456789abcdefghijklmonpqrstuv] imul edx,esi mov [edi-02h],ax mov eax,[ebp+08h] sub ecx,edx dec eax mov [ebp+08h],eax jnz L00491E7B L00491EA6: mov word ptr [edi],0000h pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00491EC0: push ebp mov ebp,esp sub esp,00000008h push edi mov edi,ecx test edi,edi mov [ebp-08h],edi jz L00491F75 push esi push ebx xor ebx,ebx cmp [edi],bx mov [ebp-04h],ebx jz L00491EEF mov eax,edi L00491EE2: add eax,00000002h inc ebx cmp word ptr [eax],0000h jnz L00491EE2 mov [ebp-04h],ebx L00491EEF: lea eax,[ebx+01h] push eax call SUB_L0049A820 mov esi,eax add esp,00000004h xor eax,eax test ebx,ebx mov byte ptr [esi],00h jle L00491F25 mov ecx,edi L00491F08: cmp word ptr [ecx],0080h jnc L00491F19 mov dl,[ecx] mov edi,[ebp-08h] mov [esi+eax],dl jmp L00491F1D L00491F19: mov byte ptr [esi+eax],20h L00491F1D: inc eax add ecx,00000002h cmp eax,ebx jl L00491F08 L00491F25: mov ecx,esi mov byte ptr [esi+eax],00h call SUB_L00461E50 xor edx,edx test ebx,ebx jle L00491F63 L00491F36: mov ax,[edi] cmp ax,0080h jnc L00491F58 mov cl,[esi+edx] and eax,000000FFh movsx ebx,cl cmp ebx,eax jz L00491F55 movsx ax,cl mov [edi],ax L00491F55: mov ebx,[ebp-04h] L00491F58: inc edx add edi,00000002h cmp edx,ebx jl L00491F36 mov edi,[ebp-08h] L00491F63: push esi call SUB_L0049A810 add esp,00000004h mov ecx,edi call SUB_L00461DC0 pop ebx pop esi L00491F75: pop edi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 SUB_L00491F80: push ebp mov ebp,esp sub esp,00000020h push ebx push esi mov esi,[ebp+08h] lea eax,[ebp-10h] push edi push eax lea edx,[ebp-08h] mov ecx,esi mov dword ptr [ebp-08h],00000000h call SUB_L00468830 lea ecx,[ebp+0Ah] lea edx,[ebp-08h] push ecx mov ecx,esi call SUB_L004687E0 lea edx,[ebp-20h] mov ecx,esi push edx lea edx,[ebp-08h] call SUB_L004687A0 lea eax,[ebp-18h] lea edx,[ebp-08h] push eax mov ecx,esi call SUB_L004687E0 lea ecx,[ebp-14h] lea edx,[ebp-08h] push ecx mov ecx,esi call SUB_L004687E0 lea edx,[ebp-0Ch] push 00000004h push edx lea edx,[ebp-08h] mov ecx,esi call SUB_L00468880 lea eax,[ebp-1Ch] push 0000001Eh push eax lea edx,[ebp-08h] mov ecx,esi call SUB_L00468880 lea ecx,[ebp-04h] push 00000800h push ecx lea edx,[ebp-08h] mov ecx,esi call SUB_L00468880 xor esi,esi L0049200E: mov edx,[ebp-04h] mov ax,[edx+esi] test ax,ax jz L00492033 push eax call jmp_WSOCK32.dll!WSOCK32.15 mov ecx,[ebp-04h] add esi,00000002h cmp esi,00001000h mov [ecx+esi-02h],ax jl L0049200E L00492033: mov eax,[ebp-1Ch] test eax,eax jz CASE_00492290_PROC0001 mov ecx,[ebp-04h] test ecx,ecx jz CASE_00492290_PROC0001 mov eax,[L004DBFC8] test eax,eax jnz CASE_00492290_PROC0001 mov al,[L004CCB2C] test al,al jz L00492064 call SUB_L00491EC0 L00492064: mov eax,[ebp-20h] and eax,000000FFh cmp eax,00000009h ja CASE_00492290_PROC0001 jmp [CASE_PROCTABLE_00492290+eax*4] CASE_00492290_PROC0000: mov edx,[ebp-10h] mov ecx,L006A9D38 push edx call SUB_L004616C0 mov ebx,eax test ebx,ebx jz L00492142 mov ecx,[ebp-10h] call SUB_L004559F0 test eax,eax jnz CASE_00492290_PROC0001 mov edi,[ebp-1Ch] or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,L00669409 shr ecx,02h rep movsd mov ecx,eax mov al,[L004C79CC] and ecx,00000003h rep movsb test al,al mov byte ptr [L00669408],02h jz L00492120 mov ecx,[ebp-0Ch] call SUB_L0044CEC0 test al,al jz L00492120 mov ecx,[ebp-10h] mov edx,[ebp-04h] push ecx push ebx push L00403060 xor ecx,ecx call SUB_L0044CF50 cmp eax,FFFFFFFFh jnz CASE_00492290_PROC0001 mov edx,[ebp-0Ch] mov eax,[ebp-14h] mov ecx,[ebp-18h] push 00000000h push edx mov edx,[ebp-04h] push eax push ecx push edx mov ecx,ebx call SUB_L00492330 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L00492120: mov eax,[ebp-0Ch] mov ecx,[ebp-14h] mov edx,[ebp-18h] push 00000000h push eax mov eax,[ebp-04h] push ecx push edx push eax mov ecx,ebx call SUB_L00492330 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L00492142: mov ecx,[ebp-0Ch] mov eax,[ebp-14h] mov edx,[ebp-04h] push ecx mov ecx,[ebp-18h] and eax,0000FFFFh push edx and ecx,0000FFFFh push eax push ecx mov ecx,L006693F8 call SUB_L004922C0 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_00492290_PROC0007: mov edx,[ebp-10h] mov ecx,L006A9D38 push edx call SUB_L004616C0 mov ebx,eax test ebx,ebx jz L004921DE mov ecx,[ebp-10h] call SUB_L004559F0 test eax,eax jnz CASE_00492290_PROC0001 mov edi,[ebp-1Ch] or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov edx,[ebp-14h] mov eax,ecx mov esi,edi mov edi,L00669409 push 00000000h shr ecx,02h rep movsd mov ecx,eax mov eax,[ebp-18h] and ecx,00000003h rep movsb mov ecx,[ebp-0Ch] mov byte ptr [L00669408],02h push ecx mov ecx,[ebp-04h] push edx push eax push ecx mov ecx,ebx call SUB_L004923B0 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L004921DE: mov edx,[ebp-0Ch] mov eax,[ebp-04h] push edx push eax jmp L00492267 CASE_00492290_PROC0006: mov ecx,[ebp-10h] xor ebx,ebx cmp ecx,FFFFFFFFh jz L00492202 push ecx mov ecx,L006A9D38 call SUB_L004616C0 mov ecx,[ebp-10h] mov ebx,eax L00492202: test ebx,ebx jz L0049225F call SUB_L004559F0 test eax,eax jnz CASE_00492290_PROC0001 mov edi,[ebp-1Ch] or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,L00669409 shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov ecx,ebx mov byte ptr [L00669408],03h call SUB_L0043C1B0 mov ecx,[ebp-0Ch] mov edx,[ebp-14h] push eax mov eax,[ebp-18h] push ecx mov ecx,[ebp-04h] push edx push eax push ecx mov ecx,ebx call SUB_L00492330 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L0049225F: mov edx,[ebp-0Ch] mov eax,[ebp-04h] push edx push eax L00492267: mov ecx,[ebp-14h] mov edx,[ebp-18h] and ecx,0000FFFFh and edx,0000FFFFh push ecx push edx mov ecx,L006693F8 call SUB_L004922C0 CASE_00492290_PROC0001: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_00492290: dd CASE_00492290_PROC0000 dd CASE_00492290_PROC0001 dd CASE_00492290_PROC0000 dd CASE_00492290_PROC0000 dd CASE_00492290_PROC0000 dd CASE_00492290_PROC0001 dd CASE_00492290_PROC0006 dd CASE_00492290_PROC0007 dd CASE_00492290_PROC0000 dd CASE_00492290_PROC0000 Align 16 SUB_L004922C0: push ebp mov ebp,esp push FFFFFFFFh push L004B53AB mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push 000000E4h mov byte ptr [L00669408],01h call SUB_L0049A820 add esp,00000004h mov [ebp-10h],eax test eax,eax mov dword ptr [ebp-04h],00000000h jz L00492316 mov ecx,[ebp+14h] mov edx,[ebp+0Ch] push 00000000h push ecx mov ecx,[ebp+08h] push edx mov edx,[ebp+10h] push ecx push edx push 00000000h mov ecx,eax call SUB_L004028B0 L00492316: mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx mov esp,ebp pop ebp retn 0010h ;------------------------------------------------------------------------------ Align 16 SUB_L00492330: push ebp mov ebp,esp push FFFFFFFFh push L004B53CB mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx call SUB_L0045DA50 push 000000E4h call SUB_L0049A820 add esp,00000004h mov [ebp-10h],eax test eax,eax mov dword ptr [ebp-04h],00000000h jz L00492399 mov ecx,[ebp+18h] mov edx,[ebp+14h] push ecx mov ecx,[ebp+10h] push edx mov edx,[ebp+0Ch] push ecx mov ecx,[ebp+08h] push edx push ecx push esi mov ecx,eax call SUB_L004028B0 mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop esi mov esp,ebp pop ebp retn 0014h ;------------------------------------------------------------------------------ L00492399: mov ecx,[ebp-0Ch] xor eax,eax mov fs:[00000000h],ecx pop esi mov esp,ebp pop ebp retn 0014h ;------------------------------------------------------------------------------ Align 8 SUB_L004923B0: push ebp mov ebp,esp push FFFFFFFFh push L004B53EB mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx call SUB_L0045DAB0 push 000000E4h call SUB_L0049A820 add esp,00000004h mov [ebp-10h],eax test eax,eax mov dword ptr [ebp-04h],00000000h jz L00492419 mov ecx,[ebp+18h] mov edx,[ebp+14h] push ecx mov ecx,[ebp+10h] push edx mov edx,[ebp+0Ch] push ecx mov ecx,[ebp+08h] push edx push ecx push esi mov ecx,eax call SUB_L004028B0 mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop esi mov esp,ebp pop ebp retn 0014h ;------------------------------------------------------------------------------ L00492419: mov ecx,[ebp-0Ch] xor eax,eax mov fs:[00000000h],ecx pop esi mov esp,ebp pop ebp retn 0014h ;------------------------------------------------------------------------------ Align 8 SUB_L00492430: push ebp mov ebp,esp mov eax,00010800h call SUB_L0049ACF0 push esi mov esi,ecx mov ecx,[ebp+0Ch] lea edx,[ebp-00000800h] mov ax,[ecx] test ax,ax jz L00492468 L00492451: cmp ax,0080h jnc L0049245C mov al,[ecx] mov [edx],al inc edx L0049245C: mov ax,[ecx+02h] add ecx,00000002h test ax,ax jnz L00492451 L00492468: mov eax,[L005492AC] mov byte ptr [edx],00h mov edx,[ebp+08h] lea ecx,[ebp-00000800h] push ecx mov ecx,[L005492A8] push edx push eax lea edx,[ebp-00010800h] push ecx push edx mov ecx,L006BB1C0 call SUB_L004766D0 mov ecx,[L006BB1CC] lea eax,[ebp-00010800h] push eax call SUB_L0048B170 mov dword ptr [L005492A4],00000000h push 00000000h mov ecx,esi mov dword ptr [esi+08h],00000000h call SUB_L00449ED0 mov ecx,esi call SUB_L0044A3D0 pop esi mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 4 SUB_L004924D0: push ebp mov ebp,esp sub esp,000001F4h push ebx push esi mov esi,[ebp+08h] push edi mov [ebp-04h],ecx mov eax,esi cmp word ptr [esi],0000h jz L004924F3 L004924EA: add eax,00000002h cmp word ptr [eax],0000h jnz L004924EA L004924F3: sub eax,00000002h cmp eax,esi jc L00492507 L004924FA: cmp word ptr [eax],0020h jnz L00492507 sub eax,00000002h cmp eax,esi jnc L004924FA L00492507: mov ebx,[ebp+10h] mov word ptr [eax+02h],0000h cmp ebx,00000002h jnz L004925FE xor ecx,ecx cmp [esi],cx jz L0049252C mov eax,esi L00492522: add eax,00000002h inc ecx cmp word ptr [eax],0000h jnz L00492522 L0049252C: lea eax,[ecx+ecx+06h] push eax call SUB_L0049A820 mov ebx,eax add esp,00000004h mov word ptr [ebx],002Ah mov cx,[esi] test cx,cx lea eax,[ebx+02h] jz L0049255F mov edx,esi sub edx,eax L0049254F: mov [eax],cx mov cx,[eax+edx+02h] add eax,00000002h test cx,cx jnz L0049254F L0049255F: xor ecx,ecx mov word ptr [eax],0000h cmp [ebx],cx jz L00492577 mov eax,ebx L0049256D: add eax,00000002h inc ecx cmp word ptr [eax],0000h jnz L0049256D L00492577: lea edi,[ecx+01h] mov word ptr [ebx+ecx*2],002Ah mov dl,ADh lea ecx,[ebp-000001F4h] mov word ptr [ebx+edi*2],0000h call SUB_L004685A0 mov dl,02h lea ecx,[ebp-000001F4h] call SUB_L004685E0 mov edx,[L006BB5B8] lea ecx,[ebp-000001F4h] call SUB_L00468630 mov dx,[L006BB5BA] lea ecx,[ebp-000001F4h] call SUB_L00468630 push 00000004h mov edx,L005492F4 lea ecx,[ebp-000001F4h] call SUB_L00468720 test edi,edi jl L004925F0 mov esi,ebx inc edi L004925DC: mov dx,[esi] lea ecx,[ebp-000001F4h] call SUB_L00468630 add esi,00000002h dec edi jnz L004925DC L004925F0: push ebx call SUB_L0049A810 add esp,00000004h jmp L00492698 L004925FE: xor edi,edi cmp [esi],di jz L00492611 mov eax,esi L00492607: add eax,00000002h inc edi cmp word ptr [eax],0000h jnz L00492607 L00492611: mov dl,ADh lea ecx,[ebp-000001F4h] call SUB_L004685A0 mov dl,bl lea ecx,[ebp-000001F4h] call SUB_L004685E0 cmp bl,02h jnz L0049264A mov edx,[L006BB5B8] lea ecx,[ebp-000001F4h] call SUB_L00468630 mov dx,[L006BB5BA] jmp L00492662 L0049264A: mov edx,[L006BB5B4] lea ecx,[ebp-000001F4h] call SUB_L00468630 mov dx,[L006BB5B6] L00492662: lea ecx,[ebp-000001F4h] call SUB_L00468630 push 00000004h mov edx,L005492F4 lea ecx,[ebp-000001F4h] call SUB_L00468720 test edi,edi jl L00492698 inc edi L00492684: mov dx,[esi] lea ecx,[ebp-000001F4h] call SUB_L00468630 add esi,00000002h dec edi jnz L00492684 L00492698: mov edx,[ebp-04h] lea ecx,[ebp-000001F4h] push ecx mov ecx,[edx+04h] call SUB_L0048B170 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 16 SUB_L004926C0: push ebp mov ebp,esp push ebx mov ebx,[ebp+08h] push esi xor esi,esi cmp [ebx],si push edi mov edi,ecx jz L004926DE mov eax,ebx L004926D4: add eax,00000002h inc esi cmp word ptr [eax],0000h jnz L004926D4 L004926DE: push esi mov ecx,edi call SUB_L00458540 test eax,eax jz L00492709 mov eax,[ebp+10h] mov ecx,[ebp+0Ch] push eax push ecx push ebx mov ecx,edi call SUB_L004924D0 push esi mov ecx,edi call SUB_L00458560 pop edi pop esi pop ebx pop ebp retn 000Ch ;------------------------------------------------------------------------------ L00492709: mov ecx,edi call SUB_L004587D0 mov edx,[ebp+10h] mov eax,[ebp+0Ch] push edx push eax push ebx mov ecx,edi call SUB_L00493AD0 pop edi pop esi pop ebx pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 16 SUB_L00492730: mov eax,[L007B7D38] retn ;------------------------------------------------------------------------------ Align 16 SUB_L00492740: mov eax,[L007B7D50+ecx*4] mov [L007B7D38],ecx test eax,eax jnz L0049275B mov dword ptr [L007B7D38],00000000h L0049275B: retn ;------------------------------------------------------------------------------ Align 8 SUB_L00492760: push ebp mov ebp,esp push FFFFFFFFh push L004B540B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000084h push ebx push esi push edi xor ebx,ebx L00492783: test ebx,ebx jnz L004927B1 mov edi,SSZ004D067C_unifont_mul or ecx,FFFFFFFFh xor eax,eax lea edx,[ebp-00000090h] repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb jmp L004927C6 L004927B1: push ebx lea ecx,[ebp-00000090h] push SSZ004D066C_unifont_d_mul push ecx call SUB_L0049AC80 add esp,0000000Ch L004927C6: lea edx,[ebp-00000090h] push L004C40E0 push edx mov ecx,L006BB1C8 call SUB_L00455E10 push eax call SUB_L0049A7F0 add esp,00000008h test eax,eax jz L00492848 push eax call SUB_L0049A580 add esp,00000004h push 00000090h call SUB_L0049A820 mov esi,eax add esp,00000004h mov [ebp-10h],esi test esi,esi mov dword ptr [ebp-04h],00000000h jz L0049282A lea eax,[ebp-00000090h] mov ecx,L006BB1C8 push eax call SUB_L00455E10 mov ecx,esi push eax call SUB_L004958A0 jmp L0049282C L0049282A: xor eax,eax L0049282C: mov ecx,eax mov dword ptr [ebp-04h],FFFFFFFFh mov [L007B7D40+ebx*4],eax call SUB_L00495960 mov [L007B7D50+ebx*4],eax L00492848: inc ebx cmp ebx,00000003h jl L00492783 mov ecx,[ebp-0Ch] pop edi pop esi mov dword ptr [L007B7D34],00000001h mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 4 SUB_L00492870: push ebp mov ebp,esp push ecx mov eax,[L007B7D34] push esi test eax,eax mov esi,edx mov [ebp-04h],cx jnz L00492889 call SUB_L00492760 L00492889: mov eax,[L007B7D38] mov ecx,[L007B7D50+eax*4] test ecx,ecx jz L0049290C mov edx,[ebp-04h] and edx,0000FFFFh mov eax,[ecx+edx*4] test eax,eax jz L0049290C movsx ecx,[eax+ecx] mov [esi],ecx mov edx,[L007B7D38] mov ecx,[L007B7D50+edx*4] movsx edx,[ecx+eax+01h] mov ecx,[ebp+08h] mov [ecx],edx mov edx,[L007B7D38] mov ecx,[L007B7D50+edx*4] movsx edx,[ecx+eax+02h] mov ecx,[ebp+0Ch] mov [ecx],edx mov edx,[L007B7D38] mov ecx,[L007B7D50+edx*4] movsx edx,[ecx+eax+03h] mov ecx,[ebp+10h] mov [ecx],edx mov edx,[L007B7D38] mov ecx,[L007B7D50+edx*4] lea eax,[ecx+eax+04h] pop esi mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ L0049290C: mov edx,[ebp+10h] mov eax,[ebp+0Ch] mov ecx,[ebp+08h] mov dword ptr [edx],00000000h mov dword ptr [eax],00000000h mov dword ptr [ecx],00000000h mov dword ptr [esi],00000000h xor eax,eax pop esi mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 16 SUB_L00492940: push ebp mov ebp,esp sub esp,00000010h cmp cx,0020h mov [ebp-04h],cx jnz L00492959 mov eax,00000001h mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00492959: lea eax,[ebp-04h] lea ecx,[ebp-08h] push eax lea edx,[ebp-0Ch] push ecx mov ecx,[ebp-04h] push edx lea edx,[ebp-10h] call SUB_L00492870 xor ecx,ecx test eax,eax setnz cl mov eax,ecx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 4 SUB_L00492980: push ebp mov ebp,esp sub esp,00000010h cmp cx,0020h mov [ebp-04h],cx jnz L00492999 mov eax,[L004D05A8] mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00492999: lea eax,[ebp-0Ch] lea ecx,[ebp-04h] push eax lea edx,[ebp-10h] push ecx mov ecx,[ebp-04h] push edx lea edx,[ebp-08h] call SUB_L00492870 mov eax,[ebp-04h] mov ecx,[ebp-08h] lea eax,[eax+ecx+01h] mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 4 SUB_L004929C0: push ebp mov ebp,esp sub esp,00000010h push esi mov esi,ecx push edi xor edi,edi mov cx,[esi] test cx,cx jz L00492A12 L004929D4: cmp cx,0020h jz L00492A12 add esi,00000002h cmp cx,0020h jnz L004929EA mov eax,[L004D05A8] jmp L00492A08 L004929EA: lea eax,[ebp-0Ch] lea edx,[ebp-04h] push eax lea eax,[ebp-10h] push edx push eax lea edx,[ebp-08h] call SUB_L00492870 mov ecx,[ebp-04h] mov edx,[ebp-08h] lea eax,[ecx+edx+01h] L00492A08: mov cx,[esi] add edi,eax test cx,cx jnz L004929D4 L00492A12: mov eax,edi pop edi pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 SUB_L00492A20: push ebp mov ebp,esp sub esp,0000002Ch mov eax,[L007B7D34] push ebx push esi push edi test eax,eax mov [ebp-1Ch],edx mov [ebp-14h],ecx mov byte ptr [ebp-01h],00h jnz L00492A4E call SUB_L00492760 mov eax,[L007B7D34] test eax,eax jz L00492BCD L00492A4E: mov esi,[ebp+08h] mov edx,[ebp+10h] add edx,0000000Eh mov cx,[esi] add esi,00000002h test cx,cx mov [ebp+08h],esi mov [ebp+10h],edx jz L00492BCD mov ebx,[ebp+0Ch] L00492A6F: cmp cx,0020h jnz L00492A8E mov ecx,[L004D05A8] add ebx,ecx mov cx,[esi] add esi,00000002h mov [ebp+0Ch],ebx mov [ebp+08h],esi jmp L00492BC4 L00492A8E: lea eax,[ebp-24h] lea edx,[ebp-28h] push eax lea eax,[ebp-20h] push edx push eax lea edx,[ebp-0Ch] call SUB_L00492870 test eax,eax mov [ebp-10h],eax jnz L00492AB7 mov cx,[esi] add esi,00000002h mov [ebp+08h],esi jmp L00492BC4 L00492AB7: mov ecx,[ebp-0Ch] mov eax,[ebp-20h] lea edx,[ecx+ebx] mov ecx,[ebp+10h] lea esi,[eax+ecx-0Eh] mov ecx,[ebp-28h] mov al,[ebp-24h] and ecx,000000FFh mov [ebp-08h],esi imul esi,[ebp-1Ch] mov [ebp-02h],al mov [ebp-2Ch],ecx L00492AE0: xor edi,edi mov al,01h test ecx,ecx mov [ebp-18h],edi jle L00492B7C L00492AEF: and edi,00000007h jnz L00492B00 mov ecx,[ebp-10h] mov bl,[ecx] inc ecx mov [ebp-01h],bl mov [ebp-10h],ecx L00492B00: mov ebx,[ebp+18h] mov ecx,[ebp-08h] cmp ecx,[ebx+04h] jl L00492B66 cmp ecx,[ebx+0Ch] jge L00492B66 mov ecx,00000007h mov ebx,00000001h sub ecx,edi shl ebx,cl mov cl,[ebp-01h] test cl,bl jz L00492B66 mov ecx,[ebp+18h] cmp edx,[ecx] jl L00492B66 cmp edx,[ecx+08h] jge L00492B66 mov cl,[L007B7D2C] test cl,cl jz L00492B58 test al,al jz L00492B58 mov ecx,[ebp+14h] mov edi,[ebp-14h] sar ecx,1 lea eax,[edx+esi] and ecx,00003DEFh mov [edi+eax*2],cx xor al,al jmp L00492B66 L00492B58: mov ebx,[ebp-14h] mov di,[ebp+14h] lea ecx,[edx+esi] mov [ebx+ecx*2],di L00492B66: mov edi,[ebp-18h] mov ecx,[ebp-2Ch] inc edx inc edi cmp edi,ecx mov [ebp-18h],edi jl L00492AEF mov ebx,[ebp+0Ch] L00492B7C: mov eax,[ebp-08h] mov edi,[ebp-1Ch] sub edx,ecx inc eax mov [ebp-08h],eax mov al,[ebp-02h] add esi,edi dec al mov [ebp-02h],al jnz L00492AE0 mov al,[L007B7D2C] test al,al jz L00492BAA mov edx,[ebp-0Ch] add edx,ecx add ebx,edx jmp L00492BB3 L00492BAA: mov eax,[ebp-0Ch] add eax,ecx lea ebx,[ebx+eax+01h] L00492BB3: mov eax,[ebp+08h] mov [ebp+0Ch],ebx mov cx,[eax] add eax,00000002h mov [ebp+08h],eax mov esi,eax L00492BC4: test cx,cx jnz L00492A6F L00492BCD: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0014h ;------------------------------------------------------------------------------ Align 16 SUB_L00492BE0: push ebp mov ebp,esp sub esp,00000034h mov eax,[L007B7D34] push ebx push esi push edi xor edi,edi mov [ebp-24h],edx test eax,eax mov [ebp-1Ch],ecx mov [ebp-14h],edi mov byte ptr [ebp-01h],00h jnz L00492C13 call SUB_L00492760 mov eax,[L007B7D34] test eax,eax jz L00492DB6 L00492C13: mov esi,[ebp+08h] mov edx,[ebp+10h] add edx,0000000Eh mov cx,[esi] add esi,00000002h test cx,cx mov [ebp+08h],esi mov [ebp+10h],edx jz L00492DB6 mov ebx,[ebp+0Ch] L00492C34: cmp cx,0020h jnz L00492C53 mov ecx,[L004D05A8] add ebx,ecx mov cx,[esi] add esi,00000002h mov [ebp+0Ch],ebx mov [ebp+08h],esi jmp L00492DAD L00492C53: lea eax,[ebp-2Ch] lea edx,[ebp-30h] push eax lea eax,[ebp-28h] push edx push eax lea edx,[ebp-10h] call SUB_L00492870 test eax,eax mov [ebp-18h],eax jnz L00492C7C mov cx,[esi] add esi,00000002h mov [ebp+08h],esi jmp L00492DAD L00492C7C: mov ecx,[ebp-10h] mov eax,[ebp-28h] lea edx,[ecx+ebx] mov ecx,[ebp+10h] lea esi,[eax+ecx-0Eh] mov al,[ebp-2Ch] mov [ebp-02h],al mov eax,[ebp+20h] cmp edi,eax mov [ebp-0Ch],esi jl L00492CA9 cmp edi,[ebp+24h] jg L00492CA9 mov ecx,[ebp+1Ch] mov [ebp-08h],ecx jmp L00492CAF L00492CA9: mov eax,[ebp+14h] mov [ebp-08h],eax L00492CAF: mov ecx,[ebp-30h] and ecx,000000FFh imul esi,[ebp-24h] mov [ebp-34h],ecx L00492CBF: xor edi,edi mov al,01h test ecx,ecx mov [ebp-20h],edi jle L00492D5B L00492CCE: and edi,00000007h jnz L00492CDF mov ecx,[ebp-18h] mov bl,[ecx] inc ecx mov [ebp-01h],bl mov [ebp-18h],ecx L00492CDF: mov ebx,[ebp+18h] mov ecx,[ebp-0Ch] cmp ecx,[ebx+04h] jl L00492D45 cmp ecx,[ebx+0Ch] jge L00492D45 mov ecx,00000007h mov ebx,00000001h sub ecx,edi shl ebx,cl mov cl,[ebp-01h] test cl,bl jz L00492D45 mov ecx,[ebp+18h] cmp edx,[ecx] jl L00492D45 cmp edx,[ecx+08h] jge L00492D45 mov cl,[L007B7D2C] test cl,cl jz L00492D37 test al,al jz L00492D37 mov ecx,[ebp-08h] mov edi,[ebp-1Ch] sar ecx,1 lea eax,[edx+esi] and ecx,00003DEFh mov [edi+eax*2],cx xor al,al jmp L00492D45 L00492D37: mov ebx,[ebp-1Ch] mov di,[ebp-08h] lea ecx,[edx+esi] mov [ebx+ecx*2],di L00492D45: mov edi,[ebp-20h] mov ecx,[ebp-34h] inc edx inc edi cmp edi,ecx mov [ebp-20h],edi jl L00492CCE mov ebx,[ebp+0Ch] L00492D5B: mov eax,[ebp-0Ch] mov edi,[ebp-24h] sub edx,ecx inc eax mov [ebp-0Ch],eax mov al,[ebp-02h] add esi,edi dec al mov [ebp-02h],al jnz L00492CBF mov al,[L007B7D2C] test al,al jz L00492D89 mov edx,[ebp-10h] add edx,ecx add ebx,edx jmp L00492D92 L00492D89: mov eax,[ebp-10h] add eax,ecx lea ebx,[ebx+eax+01h] L00492D92: mov eax,[ebp+08h] mov [ebp+0Ch],ebx mov cx,[eax] add eax,00000002h mov [ebp+08h],eax mov eax,[ebp-14h] mov esi,[ebp+08h] inc eax mov [ebp-14h],eax mov edi,eax L00492DAD: test cx,cx jnz L00492C34 L00492DB6: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0020h ;------------------------------------------------------------------------------ Align 4 SUB_L00492DC0: push ebp mov ebp,esp sub esp,00000020h push ebx push esi mov esi,ecx push edi xor edi,edi mov ebx,edx mov cx,[esi] test cx,cx jz L00492E41 L00492DD7: cmp cx,0020h jnz L00492DE4 mov eax,00000001h jmp L00492E01 L00492DE4: lea eax,[ebp-0Ch] lea edx,[ebp-10h] push eax lea eax,[ebp-14h] push edx push eax lea edx,[ebp-18h] call SUB_L00492870 xor ecx,ecx test eax,eax setnz cl mov eax,ecx L00492E01: test eax,eax jz L00492E35 mov cx,[esi] cmp cx,0020h jnz L00492E15 mov eax,[L004D05A8] jmp L00492E33 L00492E15: lea edx,[ebp-1Ch] lea eax,[ebp-04h] push edx lea edx,[ebp-20h] push eax push edx lea edx,[ebp-08h] call SUB_L00492870 mov eax,[ebp-04h] mov ecx,[ebp-08h] lea eax,[eax+ecx+01h] L00492E33: add edi,eax L00492E35: mov cx,[esi+02h] add esi,00000002h test cx,cx jnz L00492DD7 L00492E41: mov edx,[ebp+08h] mov eax,[ebp+0Ch] mov [ebx],edi pop edi mov dword ptr [edx],00000012h pop esi mov dword ptr [eax],00000000h pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 4 SUB_L00492E60: push ebp mov ebp,esp sub esp,0000001Ch push ebx push esi push edi xor edi,edi xor ebx,ebx cmp [ecx],di mov [ebp-14h],edx mov [ebp-04h],edi mov dword ptr [ebp-08h],FFFFFFFEh jz L00492E8A mov eax,ecx L00492E81: add eax,00000002h inc ebx cmp [eax],di jnz L00492E81 L00492E8A: cmp ebx,edi jle L00492F1E mov esi,ecx L00492E94: mov cx,[esi] cmp cx,0020h jnz L00492EA4 mov eax,[L004D05A8] jmp L00492EC2 L00492EA4: lea eax,[ebp-18h] lea edx,[ebp-0Ch] push eax lea eax,[ebp-1Ch] push edx push eax lea edx,[ebp-10h] call SUB_L00492870 mov ecx,[ebp-0Ch] mov edx,[ebp-10h] lea eax,[ecx+edx+01h] L00492EC2: mov edx,[ebp-04h] add edx,eax mov ax,[esi] cmp ax,0020h mov [ebp-04h],edx jnz L00492EDE cmp edi,00000001h jle L00492EDE lea ecx,[edi-01h] mov [ebp-08h],ecx L00492EDE: cmp ax,000Ah jz L00492F14 cmp ax,000Dh jz L00492F14 mov edx,[ebp-04h] mov eax,[ebp-14h] cmp edx,eax jg L00492F08 inc edi add esi,00000002h cmp edi,ebx jl L00492E94 mov eax,FFFFFFFEh pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00492F08: mov eax,[ebp-08h] cmp eax,FFFFFFFEh jnz L00492F23 test edi,edi jz L00492F1E L00492F14: lea eax,[edi-01h] pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00492F1E: mov eax,FFFFFFFEh L00492F23: pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 SUB_L00492F30: push ebp mov ebp,esp sub esp,000001D0h push esi push edi mov esi,ecx xor edi,edi cmp esi,edi mov [ebp-30h],edx mov [ebp-04h],edi mov [ebp-14h],edi mov [ebp-08h],edi jz L00493193 xor ecx,ecx cmp [esi],di push ebx jz L00492F66 mov eax,esi L00492F5D: add eax,00000002h inc ecx cmp [eax],di jnz L00492F5D L00492F66: lea eax,[ecx+ecx+02h] push eax call SUB_L0049A820 mov cx,[esi] add esp,00000004h mov ebx,eax cmp cx,di mov [ebp-1Ch],ebx jz L00492F94 mov edx,esi sub edx,ebx L00492F84: mov [eax],cx mov cx,[eax+edx+02h] add eax,00000002h cmp cx,di jnz L00492F84 L00492F94: mov [eax],di L00492F97: mov edx,[ebp-30h] mov ecx,ebx call SUB_L00492E60 cmp eax,FFFFFFFEh mov [ebp-10h],eax jz L004930E6 lea edx,[eax+01h] mov [ebp-20h],edx mov ax,[ebx+edx*2] cmp ax,0020h jz L00492FCC cmp ax,000Ah jz L00492FCC cmp ax,000Dh mov [ebp-18h],edi jnz L00492FD3 L00492FCC: mov dword ptr [ebp-18h],00000001h L00492FD3: lea eax,[edx+edx] mov esi,ebx mov ecx,eax lea edi,[ebp-000001D0h] mov ebx,ecx shr ecx,02h rep movsd mov ecx,ebx xor ebx,ebx and ecx,00000003h rep movsb mov [ebp+eax-000001D0h],bx mov esi,[ebp-000001D0h] test si,si lea edi,[ebp-000001D0h] jz L00493077 L00493009: cmp si,0020h jnz L00493016 mov eax,00000001h jmp L00493035 L00493016: lea ecx,[ebp-24h] lea edx,[ebp-40h] push ecx lea eax,[ebp-28h] push edx push eax lea edx,[ebp-2Ch] mov ecx,esi call SUB_L00492870 xor ecx,ecx test eax,eax setnz cl mov eax,ecx L00493035: test eax,eax jz L00493068 cmp si,0020h jnz L00493046 mov eax,[L004D05A8] jmp L00493066 L00493046: lea edx,[ebp-34h] lea eax,[ebp-38h] push edx lea ecx,[ebp-3Ch] push eax push ecx lea edx,[ebp-0Ch] mov ecx,esi call SUB_L00492870 mov edx,[ebp-38h] mov eax,[ebp-0Ch] lea eax,[edx+eax+01h] L00493066: add ebx,eax L00493068: mov si,[edi+02h] add edi,00000002h test si,si jnz L00493009 mov edx,[ebp-20h] L00493077: cmp ebx,[ebp-04h] jle L0049307F mov [ebp-04h],ebx L0049307F: mov esi,[ebp-14h] mov edi,[ebp-1Ch] xor eax,eax add esi,00000012h cmp [edi],ax mov [ebp-14h],esi mov dword ptr [ebp-08h],00000000h jz L004930A5 mov ecx,edi L0049309B: add ecx,00000002h inc eax cmp word ptr [ecx],0000h jnz L0049309B L004930A5: mov ebx,[ebp-18h] xor esi,esi sub eax,ebx sub eax,edx test eax,eax jle L004930CF mov ecx,[ebp-20h] mov esi,ebx add ecx,esi mov edx,edi mov esi,eax lea ecx,[edi+ecx*2] L004930C0: mov bx,[ecx] add ecx,00000002h mov [edx],bx add edx,00000002h dec eax jnz L004930C0 L004930CF: mov eax,[ebp-10h] mov ebx,[ebp-1Ch] mov word ptr [edi+esi*2],0000h xor edi,edi cmp eax,FFFFFFFEh jnz L00492F97 L004930E6: cmp word ptr [ebx],0000h mov esi,ebx jz L00493158 L004930EE: mov cx,[esi] cmp cx,0020h jnz L004930FE mov eax,00000001h jmp L0049311B L004930FE: lea edx,[ebp-3Ch] lea eax,[ebp-34h] push edx lea edx,[ebp-2Ch] push eax push edx lea edx,[ebp-28h] call SUB_L00492870 xor ecx,ecx test eax,eax setnz cl mov eax,ecx L0049311B: test eax,eax jz L0049314F mov cx,[esi] cmp cx,0020h jnz L0049312F mov eax,[L004D05A8] jmp L0049314D L0049312F: lea edx,[ebp-40h] lea eax,[ebp-10h] push edx lea edx,[ebp-24h] push eax push edx lea edx,[ebp-0Ch] call SUB_L00492870 mov eax,[ebp-10h] mov ecx,[ebp-0Ch] lea eax,[eax+ecx+01h] L0049314D: add edi,eax L0049314F: add esi,00000002h cmp word ptr [esi],0000h jnz L004930EE L00493158: cmp edi,[ebp-04h] jle L00493160 mov [ebp-04h],edi L00493160: mov eax,[ebp-14h] mov ecx,[ebp-08h] add eax,00000012h test ecx,ecx jnz L00493174 mov dword ptr [ebp-08h],00000000h L00493174: mov edx,[ebp+08h] mov ecx,[ebp-04h] push ebx mov [edx],ecx mov edx,[ebp+0Ch] mov ecx,[ebp-08h] mov [edx],eax mov eax,[ebp+10h] mov [eax],ecx call SUB_L0049A810 add esp,00000004h pop ebx L00493193: pop edi pop esi mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 8 SUB_L004931A0: push ebp mov ebp,esp sub esp,00000010h push ebx xor ebx,ebx test ecx,ecx jle L004931EB push edi push esi mov esi,edx mov edi,ecx L004931B3: mov cx,[esi] cmp cx,0020h jnz L004931C3 mov eax,[L004D05A8] jmp L004931E1 L004931C3: lea eax,[ebp-0Ch] lea edx,[ebp-04h] push eax lea eax,[ebp-10h] push edx push eax lea edx,[ebp-08h] call SUB_L00492870 mov ecx,[ebp-04h] mov edx,[ebp-08h] lea eax,[ecx+edx+01h] L004931E1: add ebx,eax add esi,00000002h dec edi jnz L004931B3 pop esi pop edi L004931EB: mov eax,ebx pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L00493200: push ebp mov ebp,esp sub esp,00000018h push ebx mov ebx,ecx push esi push edi mov cx,[ebx] xor esi,esi xor edi,edi mov [ebp-10h],edx test cx,cx mov [ebp-04h],edx jz L00493229 mov eax,ebx L0049321F: add eax,00000002h inc edi cmp word ptr [eax],0000h jnz L0049321F L00493229: cmp cx,0020h jnz L00493236 mov eax,[L004D05A8] jmp L00493257 L00493236: lea eax,[ebp-14h] lea edx,[ebp-08h] push eax lea eax,[ebp-18h] push edx push eax lea edx,[ebp-0Ch] call SUB_L00492870 mov ecx,[ebp-08h] mov edx,[ebp-0Ch] lea eax,[ecx+edx+01h] mov edx,[ebp-10h] L00493257: cmp edx,eax jle L004932A2 L0049325B: cmp esi,edi jge L004932A2 mov edx,[ebp-04h] add ebx,00000002h sub edx,eax inc esi cmp esi,edi mov [ebp-04h],edx jge L0049329D mov cx,[ebx] cmp cx,0020h jnz L0049327F mov eax,[L004D05A8] jmp L0049329D L0049327F: lea eax,[ebp-18h] lea edx,[ebp-10h] push eax lea eax,[ebp-14h] push edx push eax lea edx,[ebp-0Ch] call SUB_L00492870 mov ecx,[ebp-10h] mov edx,[ebp-0Ch] lea eax,[ecx+edx+01h] L0049329D: cmp [ebp-04h],eax jg L0049325B L004932A2: mov eax,esi pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 SUB_L004932B0: push ebp mov ebp,esp sub esp,000001E0h mov eax,[ebp+0Ch] push esi mov [ebp-14h],ecx push edi mov ecx,[ebp+10h] mov esi,edx xor edi,edi mov [eax],edi cmp esi,edi mov [ebp-20h],edi mov [ebp-08h],edi mov [ebp-04h],edi mov [ecx],edi jz L00493546 xor ecx,ecx cmp [esi],di push ebx jz L004932F0 mov eax,esi L004932E7: add eax,00000002h inc ecx cmp [eax],di jnz L004932E7 L004932F0: lea edx,[ecx+ecx+02h] push edx call SUB_L0049A820 mov cx,[esi] add esp,00000004h mov ebx,eax cmp cx,di mov [ebp-1Ch],ebx jz L0049331E mov edx,esi sub edx,ebx L0049330E: mov [eax],cx mov cx,[eax+edx+02h] add eax,00000002h cmp cx,di jnz L0049330E L0049331E: mov [eax],di L00493321: mov edx,[ebp+08h] mov ecx,ebx call SUB_L00492E60 cmp eax,FFFFFFFEh mov [ebp-18h],eax jz L004934E0 lea edx,[eax+01h] mov [ebp-0Ch],edx mov ax,[ebx+edx*2] cmp ax,0020h jz L00493356 cmp ax,000Ah jz L00493356 cmp ax,000Dh mov [ebp-10h],edi jnz L0049335D L00493356: mov dword ptr [ebp-10h],00000001h L0049335D: lea eax,[edx+edx] mov esi,ebx mov ecx,eax lea edi,[ebp-000001E0h] mov ebx,ecx shr ecx,02h rep movsd mov ecx,ebx and ecx,00000003h rep movsb mov ecx,[ebp-04h] xor edi,edi mov [ebp+eax-000001E0h],di mov eax,[ebp-14h] cmp eax,ecx jl L004933E7 lea esi,[ecx+edx] cmp eax,esi jge L004933E7 sub eax,ecx cmp eax,edi jle L004933DA lea esi,[ebp-000001E0h] mov ebx,eax L004933A1: mov cx,[esi] cmp cx,0020h jnz L004933B1 mov eax,[L004D05A8] jmp L004933CF L004933B1: lea eax,[ebp-4Ch] lea edx,[ebp-34h] push eax lea eax,[ebp-44h] push edx push eax lea edx,[ebp-28h] call SUB_L00492870 mov ecx,[ebp-34h] mov edx,[ebp-28h] lea eax,[ecx+edx+01h] L004933CF: add edi,eax add esi,00000002h dec ebx jnz L004933A1 mov edx,[ebp-0Ch] L004933DA: mov eax,[ebp+0Ch] mov ecx,[ebp-08h] mov [eax],edi mov eax,[ebp+10h] mov [eax],ecx L004933E7: mov esi,[ebp-000001E0h] xor ebx,ebx test si,si lea edi,[ebp-000001E0h] jz L00493468 L004933FA: cmp si,0020h jnz L00493407 mov eax,00000001h jmp L00493426 L00493407: lea ecx,[ebp-3Ch] lea edx,[ebp-50h] push ecx lea eax,[ebp-48h] push edx push eax lea edx,[ebp-40h] mov ecx,esi call SUB_L00492870 xor ecx,ecx test eax,eax setnz cl mov eax,ecx L00493426: test eax,eax jz L00493459 cmp si,0020h jnz L00493437 mov eax,[L004D05A8] jmp L00493457 L00493437: lea edx,[ebp-38h] lea eax,[ebp-30h] push edx lea ecx,[ebp-2Ch] push eax push ecx lea edx,[ebp-24h] mov ecx,esi call SUB_L00492870 mov edx,[ebp-30h] mov eax,[ebp-24h] lea eax,[edx+eax+01h] L00493457: add ebx,eax L00493459: mov si,[edi+02h] add edi,00000002h test si,si jnz L004933FA mov edx,[ebp-0Ch] L00493468: cmp ebx,[ebp-20h] jle L00493470 mov [ebp-20h],ebx L00493470: mov esi,[ebp-08h] mov edi,[ebp-1Ch] xor eax,eax add esi,00000012h cmp [edi],ax mov [ebp-08h],esi jz L0049348F mov ecx,edi L00493485: add ecx,00000002h inc eax cmp word ptr [ecx],0000h jnz L00493485 L0049348F: mov ebx,[ebp-10h] xor esi,esi sub eax,ebx sub eax,edx test eax,eax jle L004934B9 mov ecx,[ebp-0Ch] mov esi,ebx add ecx,esi mov edx,edi mov esi,eax lea ecx,[edi+ecx*2] L004934AA: mov bx,[ecx] add ecx,00000002h mov [edx],bx add edx,00000002h dec eax jnz L004934AA L004934B9: mov edx,[ebp-0Ch] mov eax,[ebp-10h] add edx,eax mov eax,[ebp-04h] mov ebx,[ebp-1Ch] add eax,edx mov [ebp-04h],eax mov eax,[ebp-18h] mov word ptr [edi+esi*2],0000h xor edi,edi cmp eax,FFFFFFFEh jnz L00493321 L004934E0: mov ecx,[ebp-04h] mov eax,[ebp-14h] cmp eax,ecx jl L0049353C mov edx,ecx sub eax,edx test eax,eax jle L0049352F mov esi,ebx mov ebx,eax L004934F6: mov cx,[esi] cmp cx,0020h jnz L00493506 mov eax,[L004D05A8] jmp L00493524 L00493506: lea edx,[ebp-2Ch] lea eax,[ebp+08h] push edx lea edx,[ebp-38h] push eax push edx lea edx,[ebp-18h] call SUB_L00492870 mov eax,[ebp+08h] mov ecx,[ebp-18h] lea eax,[eax+ecx+01h] L00493524: add edi,eax add esi,00000002h dec ebx jnz L004934F6 mov ebx,[ebp-1Ch] L0049352F: mov edx,[ebp+0Ch] mov ecx,[ebp+10h] mov eax,[ebp-08h] mov [edx],edi mov [ecx],eax L0049353C: push ebx call SUB_L0049A810 add esp,00000004h pop ebx L00493546: pop edi pop esi mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 4 SUB_L00493550: push ebp mov ebp,esp sub esp,00000008h push ebx push esi push edi mov edi,ecx xor esi,esi mov ebx,edx cmp [edi],si jz L00493570 mov eax,edi L00493566: add eax,00000002h inc esi cmp word ptr [eax],0000h jnz L00493566 L00493570: lea eax,[ebp-08h] lea ecx,[ebp-04h] push eax push ecx push ebx mov edx,edi mov ecx,esi call SUB_L004932B0 dec esi js L00493599 mov edx,[ebp+08h] mov eax,[ebp-04h] cmp eax,edx jg L00493570 mov eax,[ebp+0Ch] mov ecx,[ebp-08h] cmp ecx,eax jg L00493570 L00493599: lea eax,[esi+01h] pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L004935B0: push ebp mov ebp,esp sub esp,000001C8h push esi mov esi,[ebp+0Ch] test esi,esi mov [ebp-30h],edx mov [ebp-0Ch],ecx mov dword ptr [ebp-08h],00000000h jz L00493818 xor ecx,ecx push edi cmp [esi],cx push ebx jz L004935E7 mov eax,esi L004935DD: add eax,00000002h inc ecx cmp word ptr [eax],0000h jnz L004935DD L004935E7: lea eax,[ecx+ecx+02h] push eax call SUB_L0049A820 mov cx,[esi] add esp,00000004h test cx,cx mov ebx,eax jz L00493612 mov edx,esi sub edx,ebx L00493602: mov [eax],cx mov cx,[eax+edx+02h] add eax,00000002h test cx,cx jnz L00493602 L00493612: mov ecx,[ebp+14h] mov word ptr [eax],0000h mov [ebp+0Ch],ecx L0049361D: mov edx,[ebp-30h] mov ecx,ebx call SUB_L00492E60 cmp eax,FFFFFFFEh mov [ebp-04h],eax jz L00493779 lea ecx,[eax+01h] mov [ebp-20h],ecx mov ax,[ebx+ecx*2] cmp ax,0020h jz L00493656 cmp ax,000Ah jz L00493656 cmp ax,000Dh mov dword ptr [ebp-10h],00000000h jnz L0049365D L00493656: mov dword ptr [ebp-10h],00000001h L0049365D: lea eax,[ecx+ecx] mov esi,ebx mov ecx,eax lea edi,[ebp-000001C8h] mov edx,ecx shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb xor edi,edi lea esi,[ebp-000001C8h] mov [ebp+eax-000001C8h],di cmp [ebp-000001C8h],di jz L004936FB L00493691: mov cx,[esi] cmp cx,0020h jnz L004936A1 mov eax,00000001h jmp L004936BE L004936A1: lea eax,[ebp-14h] lea edx,[ebp-18h] push eax lea eax,[ebp-1Ch] push edx push eax lea edx,[ebp-24h] call SUB_L00492870 xor ecx,ecx test eax,eax setnz cl mov eax,ecx L004936BE: test eax,eax jz L004936F2 mov cx,[esi] cmp cx,0020h jnz L004936D2 mov eax,[L004D05A8] jmp L004936F0 L004936D2: lea edx,[ebp-2Ch] lea eax,[ebp-28h] push edx lea edx,[ebp-34h] push eax push edx lea edx,[ebp-38h] call SUB_L00492870 mov eax,[ebp-28h] mov ecx,[ebp-38h] lea eax,[eax+ecx+01h] L004936F0: add edi,eax L004936F2: add esi,00000002h cmp word ptr [esi],0000h jnz L00493691 L004936FB: mov edx,[ebp+1Ch] mov eax,[ebp+18h] mov esi,[ebp+0Ch] mov ecx,[ebp+10h] push edx push eax push esi lea edx,[ebp-000001C8h] push ecx mov ecx,[ebp-0Ch] push edx mov edx,[ebp+08h] call SUB_L00492A20 mov edi,[ebp-08h] xor eax,eax add edi,00000012h add esi,00000012h cmp [ebx],ax mov [ebp-08h],edi mov [ebp+0Ch],esi jz L0049373F mov ecx,ebx L00493735: add ecx,00000002h inc eax cmp word ptr [ecx],0000h jnz L00493735 L0049373F: mov edi,[ebp-20h] mov ecx,[ebp-10h] sub eax,edi xor esi,esi sub eax,ecx test eax,eax jle L00493767 add edi,ecx mov edx,ebx mov esi,eax lea ecx,[ebx+edi*2] L00493758: mov di,[ecx] add ecx,00000002h mov [edx],di add edx,00000002h dec eax jnz L00493758 L00493767: mov eax,[ebp-04h] mov word ptr [ebx+esi*2],0000h cmp eax,FFFFFFFEh jnz L0049361D L00493779: xor edi,edi mov esi,ebx cmp [ebx],di jz L004937EC L00493782: mov cx,[esi] cmp cx,0020h jnz L00493792 mov eax,00000001h jmp L004937AF L00493792: lea eax,[ebp-34h] lea edx,[ebp-2Ch] push eax lea eax,[ebp-24h] push edx push eax lea edx,[ebp-1Ch] call SUB_L00492870 xor ecx,ecx test eax,eax setnz cl mov eax,ecx L004937AF: test eax,eax jz L004937E3 mov cx,[esi] cmp cx,0020h jnz L004937C3 mov eax,[L004D05A8] jmp L004937E1 L004937C3: lea edx,[ebp-18h] lea eax,[ebp+0Ch] push edx lea edx,[ebp-14h] push eax push edx lea edx,[ebp-04h] call SUB_L00492870 mov eax,[ebp+0Ch] mov ecx,[ebp-04h] lea eax,[eax+ecx+01h] L004937E1: add edi,eax L004937E3: add esi,00000002h cmp word ptr [esi],0000h jnz L00493782 L004937EC: mov edx,[ebp+1Ch] mov eax,[ebp+18h] mov ecx,[ebp-08h] push edx mov edx,[ebp+14h] push eax mov eax,[ebp+10h] add ecx,edx mov edx,[ebp+08h] push ecx mov ecx,[ebp-0Ch] push eax push ebx call SUB_L00492A20 push ebx call SUB_L0049A810 add esp,00000004h pop ebx pop edi L00493818: pop esi mov esp,ebp pop ebp retn 0018h ;------------------------------------------------------------------------------ Align 4 SUB_L00493820: push ebp mov ebp,esp sub esp,000001CCh push esi mov esi,[ebp+0Ch] push edi xor edi,edi cmp esi,edi mov [ebp-24h],edx mov [ebp-14h],ecx mov [ebp-08h],edi mov [ebp-04h],edi jz L00493ABA xor ecx,ecx cmp [esi],di push ebx jz L00493857 mov eax,esi L0049384E: add eax,00000002h inc ecx cmp [eax],di jnz L0049384E L00493857: lea eax,[ecx+ecx+02h] push eax call SUB_L0049A820 mov cx,[esi] add esp,00000004h cmp cx,di mov ebx,eax jz L00493882 mov edx,esi sub edx,ebx L00493872: mov [eax],cx mov cx,[eax+edx+02h] add eax,00000002h cmp cx,di jnz L00493872 L00493882: mov ecx,[ebp+14h] mov [eax],di mov [ebp-10h],ecx L0049388B: mov edx,[ebp-24h] mov ecx,ebx call SUB_L00492E60 cmp eax,FFFFFFFEh mov [ebp-0Ch],eax jz L00493A0A lea ecx,[eax+01h] mov [ebp-18h],ecx mov ax,[ebx+ecx*2] cmp ax,0020h jz L004938C0 cmp ax,000Ah jz L004938C0 cmp ax,000Dh mov [ebp+0Ch],edi jnz L004938C7 L004938C0: mov dword ptr [ebp+0Ch],00000001h L004938C7: lea eax,[ecx+ecx] mov esi,ebx mov ecx,eax lea edi,[ebp-000001CCh] mov edx,ecx shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb xor edi,edi lea esi,[ebp-000001CCh] mov [ebp+eax-000001CCh],di cmp [ebp-000001CCh],di jz L00493965 L004938FB: mov cx,[esi] cmp cx,0020h jnz L0049390B mov eax,00000001h jmp L00493928 L0049390B: lea eax,[ebp-2Ch] lea edx,[ebp-3Ch] push eax lea eax,[ebp-20h] push edx push eax lea edx,[ebp-28h] call SUB_L00492870 xor ecx,ecx test eax,eax setnz cl mov eax,ecx L00493928: test eax,eax jz L0049395C mov cx,[esi] cmp cx,0020h jnz L0049393C mov eax,[L004D05A8] jmp L0049395A L0049393C: lea edx,[ebp-30h] lea eax,[ebp-34h] push edx lea edx,[ebp-38h] push eax push edx lea edx,[ebp-1Ch] call SUB_L00492870 mov eax,[ebp-34h] mov ecx,[ebp-1Ch] lea eax,[eax+ecx+01h] L0049395A: add edi,eax L0049395C: add esi,00000002h cmp word ptr [esi],0000h jnz L004938FB L00493965: mov eax,[ebp-04h] mov edx,[ebp+28h] mov ecx,[ebp+24h] mov esi,[ebp-10h] neg eax add edx,eax add ecx,eax mov eax,[ebp+1Ch] push edx mov edx,[ebp+20h] push ecx mov ecx,[ebp+18h] push edx mov edx,[ebp+10h] push eax push ecx mov ecx,[ebp-14h] push esi lea eax,[ebp-000001CCh] push edx mov edx,[ebp+08h] push eax call SUB_L00492BE0 mov edi,[ebp-08h] xor eax,eax add edi,00000012h add esi,00000012h cmp [ebx],ax mov [ebp-08h],edi mov [ebp-10h],esi jz L004939BE mov ecx,ebx L004939B4: add ecx,00000002h inc eax cmp word ptr [ecx],0000h jnz L004939B4 L004939BE: mov ecx,[ebp+0Ch] mov edi,[ebp-18h] sub eax,ecx xor esi,esi sub eax,edi test eax,eax jle L004939EC add edi,ecx mov edx,ebx mov esi,eax lea ecx,[ebx+edi*2] L004939D7: mov di,[ecx] add ecx,00000002h mov [edx],di add edx,00000002h dec eax jnz L004939D7 mov ecx,[ebp+0Ch] mov edi,[ebp-18h] L004939EC: mov eax,[ebp-04h] add edi,ecx add eax,edi xor edi,edi mov [ebp-04h],eax mov eax,[ebp-0Ch] cmp eax,FFFFFFFEh mov word ptr [ebx+esi*2],0000h jnz L0049388B L00493A0A: cmp word ptr [ebx],0000h mov esi,ebx jz L00493A7C L00493A12: mov cx,[esi] cmp cx,0020h jnz L00493A22 mov eax,00000001h jmp L00493A3F L00493A22: lea edx,[ebp-38h] lea eax,[ebp-30h] push edx lea edx,[ebp-28h] push eax push edx lea edx,[ebp-20h] call SUB_L00492870 xor ecx,ecx test eax,eax setnz cl mov eax,ecx L00493A3F: test eax,eax jz L00493A73 mov cx,[esi] cmp cx,0020h jnz L00493A53 mov eax,[L004D05A8] jmp L00493A71 L00493A53: lea edx,[ebp-3Ch] lea eax,[ebp+0Ch] push edx lea edx,[ebp-2Ch] push eax push edx lea edx,[ebp-0Ch] call SUB_L00492870 mov eax,[ebp+0Ch] mov ecx,[ebp-0Ch] lea eax,[eax+ecx+01h] L00493A71: add edi,eax L00493A73: add esi,00000002h cmp word ptr [esi],0000h jnz L00493A12 L00493A7C: mov eax,[ebp+28h] mov ecx,[ebp-04h] mov edx,[ebp+20h] sub eax,ecx push eax mov eax,[ebp+24h] sub eax,ecx mov ecx,[ebp+18h] push eax mov eax,[ebp+1Ch] push edx mov edx,[ebp-08h] push eax mov eax,[ebp+14h] push ecx mov ecx,[ebp+10h] add edx,eax push edx mov edx,[ebp+08h] push ecx mov ecx,[ebp-14h] push ebx call SUB_L00492BE0 push ebx call SUB_L0049A810 add esp,00000004h pop ebx L00493ABA: pop edi pop esi mov esp,ebp pop ebp retn 0024h ;------------------------------------------------------------------------------ Align 16 SUB_L00493AD0: push ebp mov ebp,esp push FFFFFFFFh push L004B5441 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push esi push edi mov edi,ecx push 0000002Ch call SUB_L0049A820 mov esi,eax add esp,00000004h mov [ebp-10h],esi xor eax,eax cmp esi,eax mov [ebp-04h],eax jz L00493B21 lea ecx,[esi+04h] call SUB_L00493C60 lea ecx,[esi+14h] mov byte ptr [ebp-04h],01h call SUB_L004823D0 mov ebx,esi mov [ebp-10h],ebx jmp L00493B26 L00493B21: mov [ebp-10h],eax mov ebx,eax L00493B26: mov eax,[ebp+08h] lea ecx,[ebx+04h] push eax mov dword ptr [ebp-04h],FFFFFFFFh mov dword ptr [ebx],00000001h call SUB_L00493ED0 mov ecx,[ebp+0Ch] mov edx,[ebp+10h] mov [ebx+24h],ecx mov [ebx+28h],edx mov esi,[edi+000022E8h] test esi,esi jz L00493BB4 jnz L00493B5E xor eax,eax jmp L00493BE9 L00493B5E: mov ebx,[esi] push 0000000Ch call SUB_L0049A820 xor ecx,ecx add esp,00000004h cmp eax,ecx jz L00493B7A mov [eax],ecx mov [eax+04h],ecx mov [eax+08h],ecx jmp L00493B7C L00493B7A: xor eax,eax L00493B7C: mov [eax],ebx mov [eax+04h],esi cmp ebx,ecx mov [esi],eax jz L00493B8C mov [ebx+04h],eax jmp L00493BA2 L00493B8C: mov edx,[edi+000022E4h] mov [edi+000022E8h],eax cmp edx,ecx jnz L00493BA2 mov [edi+000022E4h],eax L00493BA2: mov ecx,[edi+000022ECh] mov ebx,[ebp-10h] inc ecx mov [edi+000022ECh],ecx jmp L00493BE9 L00493BB4: push 0000000Ch call SUB_L0049A820 xor ecx,ecx add esp,00000004h cmp eax,ecx jz L00493BCE mov [eax],ecx mov [eax+04h],ecx mov [eax+08h],ecx jmp L00493BD0 L00493BCE: xor eax,eax L00493BD0: mov ecx,[edi+000022ECh] mov [edi+000022E8h],eax inc ecx mov [edi+000022E4h],eax mov [edi+000022ECh],ecx L00493BE9: mov edi,eax test edi,edi jz L00493C27 mov esi,[edi+08h] test esi,esi jz L00493C24 lea ecx,[esi+14h] mov dword ptr [ebp-04h],00000002h call SUB_L004823F0 lea ecx,[esi+04h] mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L00493CF0 push esi call SUB_L0049A810 add esp,00000004h mov dword ptr [edi+08h],00000000h L00493C24: mov [edi+08h],ebx L00493C27: mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 8 SUB_L00493C40: mov eax,[L007B7D5C] retn ;------------------------------------------------------------------------------ Align 16 SUB_L00493C50: mov [L007B7D5C],ecx retn ;------------------------------------------------------------------------------ Align 16 SUB_L00493C60: push esi mov esi,ecx mov eax,L007B7D28 test eax,eax mov dword ptr [esi],00000000h mov dword ptr [esi+04h],00000000h mov dword ptr [esi+08h],00000001h mov dword ptr [esi+0Ch],00000000h jnz L00493C8E mov [esi+04h],eax mov eax,esi pop esi retn ;------------------------------------------------------------------------------ L00493C8E: mov ecx,L007B7D28 call SUB_L00491C00 mov ecx,[esi+0Ch] inc eax cmp eax,ecx jle L00493CCF mov eax,[esi] test eax,eax jz L00493CAF push eax call SUB_L0049A810 add esp,00000004h L00493CAF: mov ecx,L007B7D28 call SUB_L00491C00 mov ecx,[esi+08h] add eax,ecx mov [esi+0Ch],eax lea edx,[eax+eax] push edx call SUB_L0049A820 add esp,00000004h mov [esi],eax L00493CCF: mov ecx,[esi] mov edx,L007B7D28 call SUB_L00491D10 mov ecx,[esi] call SUB_L00491C00 mov [esi+04h],eax mov eax,esi pop esi retn ;------------------------------------------------------------------------------ Align 8 SUB_L00493CF0: push esi mov esi,ecx mov eax,[esi] test eax,eax jz L00493D08 push eax call SUB_L0049A810 add esp,00000004h mov dword ptr [esi],00000000h L00493D08: pop esi retn ;------------------------------------------------------------------------------ Align 8 SUB_L00493D10: push ebp mov ebp,esp push ebx push esi push edi mov edi,[ebp+08h] mov esi,ecx xor ebx,ebx cmp edi,ebx mov [esi],ebx mov [esi+04h],ebx mov dword ptr [esi+08h],00000001h mov [esi+0Ch],ebx jnz L00493D35 mov [esi+04h],ebx jmp L00493D83 L00493D35: mov ecx,edi call SUB_L00491C00 mov ecx,[esi+0Ch] inc eax cmp eax,ecx jle L00493D70 mov eax,[esi] cmp eax,ebx jz L00493D53 push eax call SUB_L0049A810 add esp,00000004h L00493D53: mov ecx,edi call SUB_L00491C00 mov ecx,[esi+08h] add eax,ecx mov [esi+0Ch],eax lea edx,[eax+eax] push edx call SUB_L0049A820 add esp,00000004h mov [esi],eax L00493D70: mov ecx,[esi] mov edx,edi call SUB_L00491D10 mov ecx,[esi] call SUB_L00491C00 mov [esi+04h],eax L00493D83: cmp [esi],ebx jnz L00493D8D mov [esi+0Ch],ebx mov [esi+04h],ebx L00493D8D: mov eax,esi pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00493DA0: push ebp mov ebp,esp push ebx mov ebx,[ebp+08h] push esi mov esi,ecx push edi xor eax,eax mov edi,ebx or ecx,FFFFFFFFh mov [esi],eax mov [esi+04h],eax mov dword ptr [esi+08h],00000001h mov [esi+0Ch],eax repne scasb not ecx dec ecx mov [esi+04h],ecx lea eax,[ecx+ecx+02h] push eax call SUB_L0049A820 mov ecx,[esi+04h] mov [esi],eax add esp,00000004h xor eax,eax test ecx,ecx jle L00493DF5 L00493DE1: movzx cx,[eax+ebx] mov edx,[esi] inc eax mov [edx+eax*2-02h],cx mov ecx,[esi+04h] cmp eax,ecx jl L00493DE1 L00493DF5: mov ecx,[esi] pop edi mov word ptr [ecx+eax*2],0000h mov eax,esi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00493E10: push ebp mov ebp,esp push ebx mov ebx,[ebp+08h] push esi push edi test ebx,ebx mov esi,ecx jz L00493EB6 cmp word ptr [ebx],0000h jz L00493EB6 mov ecx,ebx call SUB_L00491C00 mov ecx,[esi+04h] lea edx,[eax+ecx+01h] mov eax,[esi+0Ch] cmp edx,eax jle L00493EA3 mov ecx,ebx call SUB_L00491C00 mov ecx,[esi+08h] add eax,ecx mov ecx,[esi+04h] add eax,ecx mov [esi+0Ch],eax lea edx,[eax+eax] push edx call SUB_L0049A820 mov edi,eax add esp,00000004h mov word ptr [edi],0000h mov edx,[esi] test edx,edx jz L00493E76 mov ecx,edi call SUB_L00491D10 L00493E76: mov edx,ebx mov ecx,edi call SUB_L00491DC0 mov eax,[esi] test eax,eax jz L00493E8E push eax call SUB_L0049A810 add esp,00000004h L00493E8E: mov ecx,edi mov [esi],edi call SUB_L00491C00 mov [esi+04h],eax mov eax,[esi] pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ L00493EA3: mov ecx,[esi] mov edx,ebx call SUB_L00491DC0 mov ecx,[esi] call SUB_L00491C00 mov [esi+04h],eax L00493EB6: mov eax,[esi] pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L00493EC0: mov eax,[ecx] retn ;------------------------------------------------------------------------------ Align 16 SUB_L00493ED0: push ebp mov ebp,esp push esi push edi mov edi,[ebp+08h] mov esi,ecx test edi,edi jnz L00493EF6 mov eax,[esi] test eax,eax jz L00493EE7 mov [eax],di L00493EE7: mov dword ptr [esi+04h],00000000h mov eax,esi pop edi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ L00493EF6: mov ecx,edi call SUB_L00491C00 mov ecx,[esi+0Ch] inc eax cmp eax,ecx jle L00493F31 mov eax,[esi] test eax,eax jz L00493F14 push eax call SUB_L0049A810 add esp,00000004h L00493F14: mov ecx,edi call SUB_L00491C00 mov ecx,[esi+08h] add eax,ecx mov [esi+0Ch],eax lea edx,[eax+eax] push edx call SUB_L0049A820 add esp,00000004h mov [esi],eax L00493F31: mov ecx,[esi] mov edx,edi call SUB_L00491D10 mov ecx,[esi] call SUB_L00491C00 mov [esi+04h],eax mov eax,esi pop edi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 8 SUB_L00493F50: push ebp mov ebp,esp mov eax,[ebp+08h] push esi push edi mov esi,ecx mov edi,[eax] test edi,edi jnz L00493F78 mov eax,[esi] test eax,eax jz L00493F69 mov [eax],di L00493F69: mov dword ptr [esi+04h],00000000h mov eax,esi pop edi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ L00493F78: mov ecx,edi call SUB_L00491C00 mov ecx,[esi+0Ch] inc eax cmp eax,ecx jle L00493FB3 mov eax,[esi] test eax,eax jz L00493F96 push eax call SUB_L0049A810 add esp,00000004h L00493F96: mov ecx,edi call SUB_L00491C00 mov ecx,[esi+08h] add eax,ecx mov [esi+0Ch],eax lea edx,[eax+eax] push edx call SUB_L0049A820 add esp,00000004h mov [esi],eax L00493FB3: mov ecx,[esi] mov edx,edi call SUB_L00491D10 mov ecx,[esi] call SUB_L00491C00 mov [esi+04h],eax mov eax,esi pop edi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L00493FD0: push ebp mov ebp,esp mov eax,[ebp+08h] push esi mov esi,ecx mov ecx,[eax] push ecx mov ecx,esi call SUB_L00493E10 mov eax,esi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 8 SUB_L00493FF0: push ebp mov ebp,esp push esi mov esi,ecx mov ecx,[esi+04h] mov edx,[esi+0Ch] lea eax,[ecx+02h] cmp eax,edx jle L00494052 add eax,eax push edi push eax call SUB_L0049A820 mov edx,[esi] add esp,00000004h test edx,edx mov edi,eax jz L00494029 mov ecx,edi call SUB_L00491D10 mov ecx,[esi] push ecx call SUB_L0049A810 add esp,00000004h L00494029: mov edx,[esi+04h] mov ax,[ebp+08h] mov [edi+edx*2],ax mov ecx,[esi+04h] mov word ptr [edi+ecx*2+02h],0000h mov [esi],edi mov ecx,[esi] pop edi call SUB_L00491C00 mov [esi+04h],eax mov eax,esi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ L00494052: mov edx,[esi] mov ax,[ebp+08h] mov [edx+ecx*2],ax mov ecx,[esi+04h] mov edx,[esi] mov word ptr [edx+ecx*2+02h],0000h mov ecx,[esi] call SUB_L00491C00 mov [esi+04h],eax mov eax,esi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 8 SUB_L00494080: push ebp mov ebp,esp mov eax,[ebp+08h] mov ecx,[ecx] mov edx,[eax] call SUB_L00491C50 neg eax sbb eax,eax inc eax pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L004940A0: push ebp mov ebp,esp mov ecx,[ecx] push esi test ecx,ecx jnz L004940B1 xor eax,eax pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ L004940B1: mov ax,[ecx] test ax,ax jz L004940E6 mov edx,[ebp+08h] L004940BC: movsx esi,[edx] and eax,0000FFFFh cmp eax,esi jnz L004940DF mov ax,[ecx+02h] add ecx,00000002h inc edx test ax,ax jnz L004940BC mov eax,00000001h pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ L004940DF: xor eax,eax pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ L004940E6: mov eax,00000001h pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ SUB_L004940F0: push ebp mov ebp,esp mov eax,[ebp+08h] mov ecx,[ecx] mov edx,[eax] call SUB_L00491C50 neg eax sbb eax,eax neg eax pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 8 SUB_L00494110: push ebp mov ebp,esp mov eax,[ebp+08h] mov edx,[ecx+04h] cmp eax,edx jnc L00494126 mov ecx,[ecx] lea eax,[ecx+eax*2] pop ebp retn 0004h ;------------------------------------------------------------------------------ L00494126: mov eax,L007B7DB4 pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L00494130: push ebp mov ebp,esp mov edx,[ecx] push esi test edx,edx jnz L00494141 xor eax,eax pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ L00494141: mov ecx,[ebp+08h] mov al,[ecx] test al,al jz L00494172 L0049414A: xor esi,esi mov si,[edx] movsx eax,al cmp eax,esi jnz L0049416B mov al,[ecx+01h] inc ecx add edx,00000002h test al,al jnz L0049414A mov eax,00000001h pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ L0049416B: xor eax,eax pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ L00494172: mov eax,00000001h pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 8 SUB_L00494180: push ebp mov ebp,esp push FFFFFFFFh push L004B5458 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000010h push ebx push esi mov esi,[ecx] xor ebx,ebx cmp esi,ebx push edi jnz L0049428D mov edi,L004D77C0 or ecx,FFFFFFFFh xor eax,eax mov dword ptr [ebp-14h],00000001h repne scasb not ecx dec ecx mov [ebp-10h],ebx mov esi,ecx mov [ebp-18h],esi lea eax,[esi+esi+02h] push eax call SUB_L0049A820 mov edi,eax add esp,00000004h xor eax,eax cmp esi,ebx mov [ebp-1Ch],edi jle L004941F5 mov ecx,edi L004941E2: movzx dx,[eax+L004D77C0] mov [ecx],dx inc eax add ecx,00000002h cmp eax,esi jl L004941E2 L004941F5: mov [edi+eax*2],bx cmp edi,ebx mov [ebp-04h],ebx jnz L00494211 mov ecx,[ebp+08h] mov eax,[ecx] cmp eax,ebx jz L0049420C mov [eax],bx L0049420C: mov [ecx+04h],ebx jmp L00494262 L00494211: mov esi,[ebp+08h] mov ecx,edi call SUB_L00491C00 mov ecx,[esi+0Ch] inc eax cmp eax,ecx jle L0049424F mov eax,[esi] cmp eax,ebx jz L00494232 push eax call SUB_L0049A810 add esp,00000004h L00494232: mov ecx,edi call SUB_L00491C00 mov ecx,[esi+08h] add eax,ecx mov [esi+0Ch],eax lea edx,[eax+eax] push edx call SUB_L0049A820 add esp,00000004h mov [esi],eax L0049424F: mov ecx,[esi] mov edx,edi call SUB_L00491D10 mov ecx,[esi] call SUB_L00491C00 mov [esi+04h],eax L00494262: cmp edi,ebx mov dword ptr [ebp-04h],FFFFFFFFh jz L00494329 push edi call SUB_L0049A810 add esp,00000004h mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L0049428D: mov ax,[esi] cmp ax,bx jz L004942AA mov cx,[ebp+0Ch] L00494299: cmp ax,cx jz L004942AA mov ax,[esi+02h] add esi,00000002h cmp ax,bx jnz L00494299 L004942AA: cmp [esi],bx jz L004942B2 add esi,00000002h L004942B2: cmp esi,ebx jnz L004942D8 mov ecx,[ebp+08h] mov eax,[ecx] cmp eax,ebx jz L004942C2 mov [eax],bx L004942C2: mov [ecx+04h],ebx mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L004942D8: mov edi,[ebp+08h] mov ecx,esi call SUB_L00491C00 mov ecx,[edi+0Ch] inc eax cmp eax,ecx jle L00494316 mov eax,[edi] cmp eax,ebx jz L004942F9 push eax call SUB_L0049A810 add esp,00000004h L004942F9: mov ecx,esi call SUB_L00491C00 mov ecx,[edi+08h] add eax,ecx mov [edi+0Ch],eax lea edx,[eax+eax] push edx call SUB_L0049A820 add esp,00000004h mov [edi],eax L00494316: mov ecx,[edi] mov edx,esi call SUB_L00491D10 mov ecx,[edi] call SUB_L00491C00 mov [edi+04h],eax L00494329: mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 8 SUB_L00494340: push ebp mov ebp,esp push esi mov esi,[ebp+08h] push edi mov edi,[ebp+0Ch] mov dword ptr [edi],00000000h mov dword ptr [esi],00000000h mov eax,[ecx] test eax,eax jz L004943E1 mov cx,[eax] test cx,cx jz L0049437B L00494369: cmp cx,005Bh jz L0049437B mov cx,[eax+02h] add eax,00000002h test cx,cx jnz L00494369 L0049437B: cmp word ptr [eax],0000h jz L00494384 add eax,00000002h L00494384: mov cx,[eax] test cx,cx jz L004943AE L0049438C: cmp cx,002Dh jz L004943AE mov edx,[esi] and ecx,0000FFFFh add eax,00000002h lea edx,[edx+edx*4] lea ecx,[ecx+edx*2-30h] mov [esi],ecx mov cx,[eax] test cx,cx jnz L0049438C L004943AE: cmp word ptr [eax],0000h jz L004943B7 add eax,00000002h L004943B7: mov cx,[eax] test cx,cx jz L004943E1 L004943BF: cmp cx,005Dh jz L004943E1 mov edx,[edi] and ecx,0000FFFFh add eax,00000002h lea edx,[edx+edx*4] lea ecx,[ecx+edx*2-30h] mov [edi],ecx mov cx,[eax] test cx,cx jnz L004943BF L004943E1: pop edi pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L004943F0: push ebp mov ebp,esp mov edx,[ecx] push esi test edx,edx jz L00494420 mov eax,[ecx+04h] test eax,eax jz L00494420 mov si,[edx+eax*2-02h] cmp si,[ebp+08h] jnz L00494420 dec eax mov [ecx+04h],eax mov word ptr [edx+eax*2],0000h mov eax,00000001h pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ L00494420: xor eax,eax pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00494430: push ebp mov ebp,esp sub esp,00000080h mov eax,[L004D0698] lea ecx,[ebp-80h] push eax push SSZ004D0688_UO_Version__s_ push ecx call SUB_L0049AC80 add esp,0000000Ch lea edx,[ebp-80h] mov ecx,L006693F8 push edx push 00000003h push 00000000h call SUB_L0048C0A0 mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L00494470: push esi mov esi,ecx xor eax,eax mov ecx,00049248h mov [L007B7DC8],eax mov [L007B7DD4],eax mov [L007B7DFC],ecx mov eax,0005CEFAh mov [L007B7DC4],ecx mov ecx,esi mov dword ptr [L007B7DE0],00010000h mov dword ptr [L007B7DC0],00000400h mov dword ptr [L007B7DF0],00000800h mov dword ptr [L007B7DBC],00000080h mov dword ptr [L007B7DD0],00002000h mov dword ptr [L007B7DDC],00000032h mov dword ptr [L007B7DF8],00001000h mov [L007B7DF4],eax mov dword ptr [L007B7DD8],00059248h mov dword ptr [L007B7DE4],00059648h mov dword ptr [L007B7DB8],00059E48h mov dword ptr [L007B7DE8],00059EC8h mov dword ptr [L007B7DCC],0005BEC8h mov dword ptr [L007B7DEC],0005BEFAh mov [L007B7E04],eax mov [L007B7E00],eax call SUB_L004068F0 mov eax,esi pop esi retn ;------------------------------------------------------------------------------ Align 16 L00494540: push esi mov esi,ecx call SUB_L004068F0 mov ecx,esi call SUB_L004068F0 pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L00494560: mov eax,[L007121B8] test eax,eax jz L0049456E jmp SUB_L004068F0 L0049456E: retn ;------------------------------------------------------------------------------ db 90h; '?' mov edx,ecx push edi mov ecx,00000046h xor eax,eax mov edi,edx rep stosd mov [edx+00000118h],al mov [edx+00000119h],al mov dword ptr [edx+0000011Ch],00000048h mov [edx+00000120h],eax mov [L007B7E08],eax mov [L007B7E0C],eax mov eax,edx pop edi retn ;------------------------------------------------------------------------------ db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' push esi push edi mov esi,ecx mov edi,00000046h L004945B9: mov ecx,[esi] test ecx,ecx jz L004945E5 mov eax,[L00669620] test eax,eax jz L004945D3 L004945C8: cmp eax,ecx jz L004945DB mov eax,[eax+3Ch] test eax,eax jnz L004945C8 L004945D3: mov dword ptr [esi],00000000h jmp L004945E5 L004945DB: test ecx,ecx jz L004945E5 mov eax,[ecx] push 00000001h call [eax] L004945E5: add esi,00000004h dec edi jnz L004945B9 pop edi pop esi retn ;------------------------------------------------------------------------------ Align 4 SUB_L004945F0: push ebp mov ebp,esp sub esp,00000080h mov edx,[ebp+08h] push ebx push esi push edi cmp edx,000000FEh mov edi,ecx mov dword ptr [L007B7E08],00000000h jnz L0049466C mov eax,[ebp+10h] mov ecx,[ebp+0Ch] mov [edi+0000011Ch],eax mov [edi+00000120h],ecx call SUB_L0048B870 test eax,eax jz L004948C3 mov edx,[edi+0000011Ch] mov eax,[edi+00000120h] push edx push eax lea ecx,[ebp-80h] push SSZ004D06FC_Season___d___Temperature___d push ecx call SUB_L0049AC80 add esp,00000010h lea edx,[ebp-80h] mov ecx,L006693F8 push edx push 00000003h push 00000000h call SUB_L0048C0A0 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ L0049466C: mov al,[edi+00000118h] test al,al jnz L00494708 cmp edx,00000001h jnz L004946BF push SSZ004D06E8_It_begins_to_rain_ push 00000003h push 00000000h mov ecx,L006693F8 call SUB_L0048C0A0 mov eax,[ebp+0Ch] mov byte ptr [edi+00000118h],01h test eax,eax mov [edi+00000119h],al jle L004948C3 mov esi,eax L004946AC: mov ecx,edi call SUB_L00494CA0 dec esi jnz L004946AC pop edi pop esi pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ L004946BF: cmp edx,00000002h jnz L004948C3 push SSZ004D06D4_It_begins_to_snow_ push 00000003h push 00000000h mov ecx,L006693F8 call SUB_L0048C0A0 mov eax,[ebp+0Ch] mov byte ptr [edi+00000118h],02h test eax,eax mov [edi+00000119h],al jle L004948C3 mov esi,eax L004946F5: mov ecx,edi call SUB_L00494DB0 dec esi jnz L004946F5 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ L00494708: cmp edx,00000004h jnz L0049472A mov ecx,000001E0h call SUB_L00455460 mov ecx,00000280h call SUB_L00455460 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ L0049472A: test edx,edx jnz L0049477A mov [edi+00000118h],dl mov esi,edi mov ebx,00000046h L0049473B: mov ecx,[esi] test ecx,ecx jz L0049476A mov eax,[L00669620] test eax,eax jz L00494764 L0049474A: cmp eax,ecx jz L00494757 mov eax,[eax+3Ch] test eax,eax jnz L0049474A jmp L00494764 L00494757: test ecx,ecx jz L00494764 mov eax,[ecx] push 00000001h call [eax] mov edx,[ebp+08h] L00494764: mov dword ptr [esi],00000000h L0049476A: add esi,00000004h dec ebx jnz L0049473B mov dword ptr [L007B7E0C],00000000h L0049477A: movsx eax,[edi+00000119h] mov ebx,[ebp+0Ch] cmp ebx,eax jle L004947D7 mov ecx,ebx sub ecx,eax cmp edx,00000001h jnz L004947B4 test ecx,ecx jle L004948BD mov esi,ecx L0049479B: mov ecx,edi call SUB_L00494CA0 dec esi jnz L0049479B mov [edi+00000119h],bl pop edi pop esi pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ L004947B4: test ecx,ecx jle L004948BD mov esi,ecx L004947BE: mov ecx,edi call SUB_L00494DB0 dec esi jnz L004947BE mov [edi+00000119h],bl pop edi pop esi pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ L004947D7: jge L004948BD sub eax,ebx cmp edx,00000001h jnz L00494859 test eax,eax jle L004948BD mov ebx,eax L004947EE: xor eax,eax mov ecx,edi L004947F2: cmp dword ptr [ecx],00000000h jnz L004948CC inc eax add ecx,00000004h cmp eax,00000046h jl L004947F2 or esi,FFFFFFFFh L00494807: cmp esi,FFFFFFFFh jz L00494844 mov eax,[L00669620] test eax,eax jz L00494832 mov ecx,[edi+esi*4] L00494818: cmp eax,ecx jz L00494825 mov eax,[eax+3Ch] test eax,eax jnz L00494818 jmp L00494832 L00494825: mov ecx,[edi+esi*4] test ecx,ecx jz L00494832 mov edx,[ecx] push 00000001h call [edx] L00494832: mov dword ptr [edi+esi*4],00000000h mov eax,[L007B7E0C] dec eax mov [L007B7E0C],eax L00494844: dec ebx jnz L004947EE mov ebx,[ebp+0Ch] mov [edi+00000119h],bl pop edi pop esi pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ L00494859: test eax,eax jle L004948BD mov ebx,eax L0049485F: xor eax,eax mov ecx,edi L00494863: cmp dword ptr [ecx],00000000h jnz L00494873 inc eax add ecx,00000004h cmp eax,00000046h jl L00494863 jmp L00494877 L00494873: mov esi,eax jmp L0049487A L00494877: or esi,FFFFFFFFh L0049487A: cmp esi,FFFFFFFFh jz L004948B7 mov eax,[L00669620] test eax,eax jz L004948A5 mov ecx,[edi+esi*4] L0049488B: cmp eax,ecx jz L00494898 mov eax,[eax+3Ch] test eax,eax jnz L0049488B jmp L004948A5 L00494898: mov ecx,[edi+esi*4] test ecx,ecx jz L004948A5 mov eax,[ecx] push 00000001h call [eax] L004948A5: mov dword ptr [edi+esi*4],00000000h mov eax,[L007B7E0C] dec eax mov [L007B7E0C],eax L004948B7: dec ebx jnz L0049485F mov ebx,[ebp+0Ch] L004948BD: mov [edi+00000119h],bl L004948C3: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ L004948CC: mov esi,eax jmp L00494807 Align 16 SUB_L004948E0: push ebp mov ebp,esp push ecx push esi mov esi,ecx mov al,[esi+00000118h] test al,al jz L00494C40 movsx eax,[esi+00000119h] mov ecx,[L007B7E0C] push edi cmp ecx,eax push ebx jge L0049490F mov ecx,esi call SUB_L00494DB0 L0049490F: movsx ecx,[esi+00000119h] cmp [L007B7E0C],ecx jle L00494981 xor ebx,ebx xor eax,eax mov ecx,esi L00494924: cmp [ecx],ebx jnz L00494C45 inc eax add ecx,00000004h cmp eax,00000046h jl L00494924 or edi,FFFFFFFFh L00494938: cmp edi,FFFFFFFFh jz L00494983 mov eax,[L00669620] cmp eax,ebx jz L00494971 mov ecx,[esi+edi*4] L00494949: cmp eax,ecx jz L00494964 mov eax,[eax+3Ch] cmp eax,ebx jnz L00494949 mov [esi+edi*4],ebx mov eax,[L007B7E0C] dec eax mov [L007B7E0C],eax jmp L00494983 L00494964: mov ecx,[esi+edi*4] cmp ecx,ebx jz L00494971 mov edx,[ecx] push 00000001h call [edx] L00494971: mov [esi+edi*4],ebx mov eax,[L007B7E0C] dec eax mov [L007B7E0C],eax jmp L00494983 L00494981: xor ebx,ebx L00494983: mov eax,[L007B7E08] inc eax cmp eax,00000168h mov [L007B7E08],eax jle L004949AC mov al,[esi+00000119h] add al,FEh mov [esi+00000119h],al jns L004949AC mov byte ptr [esi+00000119h],00h L004949AC: mov edi,esi mov dword ptr [ebp-04h],00000046h L004949B5: mov ecx,[edi] cmp ecx,ebx jz L00494C2E mov eax,[L00669620] cmp eax,ebx jz L004949D3 L004949C8: cmp eax,ecx jz L004949DA mov eax,[eax+3Ch] cmp eax,ebx jnz L004949C8 L004949D3: mov [edi],ebx jmp L00494C2E L004949DA: cmp byte ptr [esi+00000118h],02h jnz L00494A34 mov ecx,000061A8h call SUB_L00455460 cmp eax,0000000Ah jnz L00494A34 mov ecx,eax mov dword ptr [esi+00000128h],00000001h call SUB_L00455460 mov ecx,000001F4h mov [esi+0000013Ch],eax mov [esi+00000134h],ebx mov dword ptr [esi+00000138h],00000002h call SUB_L00455460 add eax,00003A98h mov [esi+0000012Ch],ebx mov [esi+00000130h],eax L00494A34: cmp [esi+00000128h],ebx jz L00494AD1 mov ecx,[esi+0000012Ch] inc ecx mov ebx,ecx mov [esi+0000012Ch],ecx mov eax,ebx mov ecx,00000064h cdq idiv ecx test edx,edx jnz L00494A97 mov edx,[esi+00000138h] mov eax,[esi+00000134h] add eax,edx mov [esi+00000134h],eax mov ecx,eax mov eax,[esi+0000013Ch] cmp ecx,eax jle L00494A83 mov [esi+00000134h],eax L00494A83: mov eax,[esi+00000134h] test eax,eax jge L00494A97 mov dword ptr [esi+00000134h],00000000h L00494A97: mov ecx,[esi+00000130h] mov eax,ecx sar eax,1 cmp ebx,eax jle L00494AB7 mov eax,[esi+00000138h] test eax,eax jle L00494AB7 neg eax mov [esi+00000138h],eax L00494AB7: cmp ebx,ecx jle L00494ADF xor eax,eax mov [esi+00000128h],eax mov [esi+0000012Ch],eax mov [esi+00000130h],eax jmp L00494ADF L00494AD1: mov [esi+00000138h],ebx mov [esi+00000134h],ebx jmp L00494AE1 L00494ADF: xor ebx,ebx L00494AE1: mov eax,[edi] mov ecx,[eax+000000A0h] dec ecx mov [eax+000000A0h],ecx mov eax,[edi] mov ecx,[eax+000000A4h] mov edx,[eax+2Ch] sub edx,ecx mov [eax+2Ch],edx mov eax,[edi] mov edx,[eax+000000A8h] mov ecx,[eax+30h] add ecx,edx mov [eax+30h],ecx mov eax,[edi] mov ecx,[esi+00000134h] mov edx,[eax+2Ch] sub edx,ecx mov [eax+2Ch],edx mov al,[esi+00000118h] cmp al,02h jnz L00494B53 mov ecx,0000000Ah call SUB_L00455460 cmp eax,00000002h jnz L00494B53 mov ebx,[edi] mov ecx,eax call SUB_L00455460 mov ecx,[ebx+000000A4h] dec eax add ecx,eax mov [ebx+000000A4h],ecx xor ebx,ebx L00494B53: mov eax,[edi] cmp dword ptr [eax+000000A0h],00000001h jl L00494B7F mov ecx,[eax+2Ch] cmp ecx,ebx jl L00494B7F mov eax,[eax+30h] cmp eax,ebx jl L00494B7F cmp ecx,00000280h jge L00494B7F cmp eax,000001E0h jl L00494C2E L00494B7F: mov ecx,00000004h call SUB_L00455460 mov edx,[edi] add eax,00000002h mov ecx,00000004h mov [edx+000000A4h],eax call SUB_L00455460 mov ecx,[edi] add eax,00000002h mov [ecx+000000A8h],eax mov ecx,00000280h call SUB_L00455460 mov edx,[edi] mov ecx,000001E0h mov [edx+2Ch],eax call SUB_L00455460 mov ecx,[edi] mov [ecx+30h],eax mov al,[esi+00000118h] cmp al,01h jnz L00494BE6 mov ecx,0000000Ah call SUB_L00455460 mov edx,[edi] add eax,0000000Ah mov [edx+000000A0h],eax L00494BE6: cmp byte ptr [esi+00000118h],02h jnz L00494C2E mov ecx,00000028h call SUB_L00455460 mov ecx,[edi] add eax,00000028h mov [ecx+000000A0h],eax mov edx,[edi] xor ecx,ecx mov eax,[edx+38h] xor edx,edx mov eax,[eax+04h] mov cx,[eax+02h] mov dx,[eax] push ecx add eax,00000004h push edx push eax push ebx push ebx mov edx,00001770h mov ecx,SUB_L00488380 call SUB_L00439100 L00494C2E: mov eax,[ebp-04h] add edi,00000004h dec eax mov [ebp-04h],eax jnz L004949B5 pop ebx pop edi L00494C40: pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00494C45: mov edi,eax jmp L00494938 Align 8 SUB_L00494C50: push esi push edi mov byte ptr [ecx+00000118h],00h mov esi,ecx mov edi,00000046h L00494C60: mov ecx,[esi] test ecx,ecx jz L00494C8C mov eax,[L00669620] test eax,eax jz L00494C86 L00494C6F: cmp eax,ecx jz L00494C7C mov eax,[eax+3Ch] test eax,eax jnz L00494C6F jmp L00494C86 L00494C7C: test ecx,ecx jz L00494C86 mov eax,[ecx] push 00000001h call [eax] L00494C86: mov dword ptr [esi],00000000h L00494C8C: add esi,00000004h dec edi jnz L00494C60 pop edi mov dword ptr [L007B7E0C],00000000h pop esi retn ;------------------------------------------------------------------------------ Align 4 SUB_L00494CA0: push ebp mov ebp,esp push FFFFFFFFh push L004B547B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,0000000Ch push ebx mov ebx,ecx push esi push edi cmp byte ptr [ebx+00000119h],46h jg L00494D90 xor esi,esi mov eax,ebx L00494CD1: cmp dword ptr [eax],00000000h jz L00494CE2 inc esi add eax,00000004h cmp esi,00000046h jl L00494CD1 or esi,FFFFFFFFh L00494CE2: cmp esi,FFFFFFFFh jz L00494D90 mov ecx,00000280h call SUB_L00455460 mov ecx,000001E0h mov [ebp-14h],eax call SUB_L00455460 push 000000B0h mov [ebp-10h],eax call SUB_L0049A820 mov edi,eax add esp,00000004h mov [ebp-18h],edi test edi,edi mov dword ptr [ebp-04h],00000000h jz L00494D48 mov eax,[ebp-10h] mov ecx,[ebp-14h] push FFFFFFFFh push L004D06C0 push 00000000h push 00000003h push 00000003h push 00000000h push eax push ecx mov ecx,edi call SUB_L00442DD0 mov dword ptr [edi],L004B7A98 jmp L00494D4A L00494D48: xor edi,edi L00494D4A: mov eax,00000010h mov [ebx+esi*4],edi mov [edi+000000A4h],eax mov edx,[ebx+esi*4] mov ecx,0000000Ah mov dword ptr [ebp-04h],FFFFFFFFh mov [edx+000000A8h],eax call SUB_L00455460 mov ecx,[ebx+esi*4] add eax,0000000Ah push 00000001h push 00000000h mov [ecx+000000A0h],eax mov ecx,[ebx+esi*4] call SUB_L004415C0 inc [L007B7E0C] L00494D90: mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L00494DB0: push ebp mov ebp,esp push FFFFFFFFh push L004B549B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000014h push ebx push esi push edi mov edi,ecx cmp byte ptr [edi+00000119h],46h jg L00494ED4 xor esi,esi mov eax,edi L00494DE1: cmp dword ptr [eax],00000000h jz L00494DF2 inc esi add eax,00000004h cmp esi,00000046h jl L00494DE1 or esi,FFFFFFFFh L00494DF2: cmp esi,FFFFFFFFh jz L00494ED4 mov ecx,00000280h call SUB_L00455460 mov ecx,000001E0h mov [ebp-18h],eax call SUB_L00455460 mov [ebp-14h],eax lea eax,[ebp-1Ch] push eax lea edx,[ebp-10h] mov ecx,00001771h call SUB_L004390A0 mov eax,[ebp-10h] test eax,eax jz L00494ED4 push 000000B0h call SUB_L0049A820 mov ebx,eax add esp,00000004h mov [ebp-20h],ebx test ebx,ebx mov dword ptr [ebp-04h],00000000h jz L00494E74 mov ecx,[ebp-14h] mov edx,[ebp-18h] push FFFFFFFFh push L004D06A8 push 00000000h push 00000003h push 00000003h push 00000000h push ecx push edx mov ecx,ebx call SUB_L00442DD0 mov dword ptr [ebx],L004B7A98 jmp L00494E76 L00494E74: xor ebx,ebx L00494E76: mov ecx,00000004h mov dword ptr [ebp-04h],FFFFFFFFh mov [edi+esi*4],ebx call SUB_L00455460 mov ecx,[edi+esi*4] add eax,00000002h mov [ecx+000000A4h],eax mov ecx,00000004h call SUB_L00455460 mov edx,[edi+esi*4] add eax,00000002h mov ecx,00000028h mov [edx+000000A8h],eax call SUB_L00455460 mov ecx,[edi+esi*4] add eax,00000028h push 00000001h push 00000000h mov [ecx+000000A0h],eax mov ecx,[edi+esi*4] call SUB_L004415C0 inc [L007B7E0C] L00494ED4: mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L00494EF0: push ebp mov ebp,esp mov edx,[ebp+0Ch] push ebx push esi mov esi,[ebp+08h] push edi mov edi,00000046h L00494F01: mov eax,[ecx] test eax,eax jz L00494F14 mov ebx,[eax+2Ch] add ebx,esi mov [eax+2Ch],ebx mov eax,[ecx] add [eax+30h],edx L00494F14: add ecx,00000004h dec edi jnz L00494F01 pop edi pop esi pop ebx pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L00494F30: push ebp mov ebp,esp sub esp,00000260h push ebx push esi push edi mov edi,edx or ecx,FFFFFFFFh xor eax,eax xor ebx,ebx lea esi,[ebp-00000260h] repne scasb not ecx sub edi,ecx mov [ebp-04h],esi mov edx,[ebp-04h] mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax xor eax,eax and ecx,00000003h lea edx,[ebp-0000015Ch] rep movsb mov edi,[ebp+08h] or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov dword ptr [ebp-48h],00000044h mov eax,ecx mov esi,edi mov edi,edx lea edx,[ebp-0000015Ch] shr ecx,02h rep movsd mov ecx,eax xor eax,eax and ecx,00000003h mov [ebp-44h],ebx rep movsb lea edi,[ebp-0000015Ch] or ecx,FFFFFFFFh repne scasb not ecx dec ecx lea eax,[ebp-58h] neg ecx sbb ecx,ecx push eax and ecx,edx lea edx,[ebp-48h] push edx push ecx push ebx push ebx push ebx push ebx lea eax,[ebp-00000260h] push ebx push eax push ebx mov [ebp-40h],ebx mov [ebp-3Ch],ebx mov [ebp-38h],ebx mov [ebp-34h],ebx mov [ebp-30h],ebx mov [ebp-2Ch],ebx mov [ebp-28h],ebx mov [ebp-24h],ebx mov [ebp-20h],ebx mov [ebp-1Ch],ebx mov [ebp-18h],bx mov [ebp-16h],bx mov [ebp-14h],ebx mov [ebp-10h],ebx mov [ebp-0Ch],ebx mov [ebp-08h],ebx call [KERNEL32.dll!CreateProcessA] cmp eax,ebx jz L0049501D mov ecx,[ebp-54h] push ecx call [KERNEL32.dll!CloseHandle] mov eax,[ebp-58h] pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L0049501D: call [KERNEL32.dll!GetLastError] xor edx,edx cmp eax,0000010Bh setz dl pop edi pop esi mov [L007B7E10],edx or eax,FFFFFFFFh pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L00495040: push ebp mov ebp,esp sub esp,00000518h push ebx mov ebx,[ADVAPI32.dll!RegOpenKeyExA] push esi lea eax,[ebp-04h] push edi push eax push 00000001h push 00000000h push SSZ004D0730__html mov [ebp-08h],edx mov [ebp-0Ch],ecx push 80000000h mov dword ptr [ebp-10h],00000104h call ebx test eax,eax jz L0049507E xor eax,eax jmp L00495120 L0049507E: mov eax,[ebp-04h] lea ecx,[ebp-14h] lea edx,[ebp-00000518h] push ecx push edx push 00000000h push 00000000h push L004D77C0 push eax mov dword ptr [ebp-14h],00000400h call [ADVAPI32.dll!RegQueryValueExA] test eax,eax jz L004950AB xor eax,eax jmp L00495120 L004950AB: mov edi,SSZ004D071C__shell_open_command or ecx,FFFFFFFFh xor eax,eax lea edx,[ebp-00000518h] repne scasb not ecx sub edi,ecx mov esi,edi mov edi,edx mov edx,ecx or ecx,FFFFFFFFh repne scasb mov ecx,edx dec edi shr ecx,02h rep movsd mov ecx,edx lea eax,[ebp-04h] and ecx,00000003h push eax rep movsb push 00000001h lea ecx,[ebp-00000518h] push 00000000h push ecx push 80000000h call ebx test eax,eax jz L004950F9 xor eax,eax jmp L00495120 L004950F9: mov ecx,[ebp-04h] lea edx,[ebp-10h] lea eax,[ebp-00000118h] push edx push eax push 00000000h push 00000000h push L004D77C0 push ecx call [ADVAPI32.dll!RegQueryValueExA] xor edx,edx test eax,eax setz dl mov eax,edx L00495120: test eax,eax jnz L0049512D pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L0049512D: lea eax,[ebp-00000118h] push SSZ004BD044____1_ push eax call SUB_L0049C6E0 add esp,00000008h test eax,eax jz L00495148 mov byte ptr [eax],00h L00495148: mov edi,L004C40E4 or ecx,FFFFFFFFh xor eax,eax lea edx,[ebp-00000118h] repne scasb not ecx sub edi,ecx mov esi,edi mov ebx,ecx mov edi,edx or ecx,FFFFFFFFh repne scasb mov ecx,ebx dec edi shr ecx,02h rep movsd mov ecx,ebx lea edx,[ebp-00000118h] and ecx,00000003h rep movsb mov edi,[ebp-08h] or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov esi,edi mov ebx,ecx mov edi,edx or ecx,FFFFFFFFh repne scasb mov ecx,ebx dec edi shr ecx,02h rep movsd mov eax,[ebp+08h] mov ecx,ebx and ecx,00000003h push eax rep movsb mov ecx,[ebp-0Ch] lea edx,[ebp-00000118h] call SUB_L00494F30 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L004951C0: mov eax,[L004C7F38] mov ecx,[L004C7F34] push L006BAE7C push eax push ecx mov ecx,L006AAE78 call SUB_L004952F0 mov edx,[L006BAE7C] mov [L00669C10],eax mov eax,[L004F3FE8] mov [L007B7E14],edx test eax,eax jz L0049521B push eax call SUB_L0049A810 mov eax,[L004C7F38] add esp,00000004h imul eax,[L004C7F34] shl eax,1 push eax call SUB_L0049A820 add esp,00000004h mov [L004F3FE8],eax L0049521B: mov dword ptr [L0073EA84],00000000h jmp SUB_L0045A290 Align 8 SUB_L00495230: mov eax,[L00669C10] test eax,eax jz L00495240 push eax call [GDI32.dll!DeleteObject] L00495240: retn ;------------------------------------------------------------------------------ Align 16 SUB_L00495250: push ebp mov ebp,esp push ebx mov ebx,[ebp+08h] push esi push edi mov edi,ecx push ebx call [GDI32.dll!CreateCompatibleDC] mov esi,eax mov eax,[edi+00010314h] test eax,eax jz L0049527E mov eax,[edi+0001031Ch] push 00000000h push eax push ebx call [GDI32.dll!SelectPalette] L0049527E: mov ecx,[ebp+1Ch] mov edi,[GDI32.dll!SelectObject] push ecx push esi call edi mov edx,[ebp+28h] mov ecx,[ebp+18h] mov [ebp+08h],eax mov eax,[ebp+24h] push 00CC0020h push edx mov edx,[ebp+14h] push eax mov eax,[ebp+10h] push esi push ecx mov ecx,[ebp+0Ch] push edx push eax push ecx push ebx call [GDI32.dll!BitBlt] mov edx,[ebp+08h] push edx push esi call edi push esi call [GDI32.dll!DeleteDC] pop edi pop esi pop ebx pop ebp retn 0024h ;------------------------------------------------------------------------------ Align 16 SUB_L004952D0: push ebp mov ebp,esp mov eax,[ebp+08h] push eax call [GDI32.dll!DeleteObject] pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L004952F0: push ebp mov ebp,esp sub esp,00000628h mov eax,[ebp+08h] push esi mov esi,ecx mov [ebp-00000624h],eax mov ecx,[ebp+0Ch] mov eax,00002DCCh mov edx,[esi+00010314h] mov [ebp-00000610h],eax neg ecx neg edx sbb edx,edx mov [ebp-0000060Ch],eax mov eax,[L007B8310] and edx,FFFFFFFDh push edi add edx,00000003h push eax mov dword ptr [ebp-00000628h],00000028h mov [ebp-00000620h],ecx mov word ptr [ebp-0000061Ch],0001h mov word ptr [ebp-0000061Ah],0010h mov [ebp-00000618h],edx mov dword ptr [ebp-00000614h],00000000h mov dword ptr [ebp-00000608h],00000100h mov dword ptr [ebp-00000604h],00000000h call [USER32.dll!GetDC] mov edi,eax mov eax,[esi+00010314h] test eax,eax jz L004953B2 xor eax,eax lea ecx,[ebp-00000600h] L00495392: mov [ecx],ax inc eax add ecx,00000002h cmp eax,00000100h jl L00495392 mov ecx,[esi+0001031Ch] push 00000000h push ecx push edi call [GDI32.dll!SelectPalette] jmp L004953F2 L004953B2: mov edx,[ebp-00000628h] mov cl,[L0073EC3C] and edx,0000FFFFh test cl,cl lea eax,[ebp+edx-00000628h] jz L004953DE mov dword ptr [eax],0000F800h mov dword ptr [eax+04h],000007E0h jmp L004953EB L004953DE: mov dword ptr [eax],00007C00h mov dword ptr [eax+04h],000003E0h L004953EB: mov dword ptr [eax+08h],0000001Fh L004953F2: mov eax,[esi+00010314h] push 00000000h test eax,eax push 00000000h jz L0049540F mov eax,[ebp+10h] lea ecx,[ebp-00000628h] push eax push 00000001h push ecx jmp L0049541C L0049540F: mov edx,[ebp+10h] lea eax,[ebp-00000628h] push edx push 00000000h push eax L0049541C: push edi call [GDI32.dll!CreateDIBSection] mov esi,eax call [KERNEL32.dll!GetLastError] mov ecx,[L007B8310] push edi push ecx call [USER32.dll!ReleaseDC] mov eax,esi pop edi pop esi mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 16 SUB_L00495450: push ebp mov ebp,esp push ebx mov ebx,[ebp+08h] mov eax,ebx push esi sar eax,1 mov esi,eax dec eax test esi,esi push edi jz L00495486 lea esi,[eax+01h] L00495467: mov eax,[edx] add edx,00000004h mov edi,eax and eax,FFE07FE0h and edi,001F001Fh add ecx,00000004h shl eax,1 or edi,eax dec esi mov [ecx-04h],edi jnz L00495467 L00495486: test bl,01h jz L0049549F mov dx,[edx] mov eax,edx and edx,0000001Fh and eax,0000FFE0h shl eax,1 or eax,edx mov [ecx],ax L0049549F: pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L004954B0: push ebp mov ebp,esp mov eax,[ebp+08h] push esi push edi mov edi,ecx lea ecx,[eax+eax] mov esi,edx mov edx,ecx shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb pop edi pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' mov eax,ecx mov dword ptr [eax+0Ch],00000000h mov dword ptr [L007B7E18],00000001h retn ;------------------------------------------------------------------------------ db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' push esi mov esi,ecx mov eax,[esi+0Ch] test eax,eax jz L0049554D mov eax,[esi] test eax,eax jz L00495546 mov ecx,[esi+14h] test ecx,ecx jz L0049551D mov ecx,[eax] push eax call [ecx+28h] L0049551D: mov eax,[esi+04h] test eax,eax jz L00495531 mov edx,[eax] push eax call [edx+08h] mov dword ptr [esi+04h],00000000h L00495531: mov eax,[esi] mov dword ptr [esi+08h],00000000h push eax mov ecx,[eax] call [ecx+08h] mov dword ptr [esi],00000000h L00495546: mov dword ptr [esi+0Ch],00000000h L0049554D: pop esi retn ;------------------------------------------------------------------------------ Align 4 SUB_L00495550: push ebp mov ebp,esp sub esp,00000094h push ebx push esi push edi mov esi,ecx push 00000000h push esi push 00000000h call jmp_DDRAW.dll!DirectDrawCreate test eax,eax jnz L00495739 mov eax,[esi] mov edx,[L007B8310] push 00000011h push edx mov ecx,[eax] push eax call [ecx+50h] test eax,eax jnz L00495739 lea eax,[ebp-04h] lea ecx,[ebp-08h] push eax push ecx mov ebx,00000280h mov edi,000001E0h push SSZ004D0778__dx_d push SSZ004CCE78_640x480 mov [ebp-08h],ebx mov [ebp-04h],edi call SUB_L0049BA20 mov ecx,[ebp-04h] mov eax,[esi] add esp,00000010h mov edx,[eax] push 00000010h push ecx mov ecx,[ebp-08h] push ecx push eax call [edx+54h] test eax,eax jz L004955E3 mov eax,[esi] push 00000010h mov [ebp-08h],ebx mov [ebp-04h],edi mov edx,[eax] push edi push ebx push eax call [edx+54h] test eax,eax jnz L00495739 L004955E3: mov edx,[L007121F8] mov eax,[ebp-08h] mov ecx,[ebp-04h] add edx,00000280h cmp eax,edx mov [L004C7F34],eax mov [L004C7F38],ecx jge L0049560E add eax,FFFFFD80h mov [L007121F8],eax L0049560E: mov eax,[L007121FC] add eax,000001E0h cmp ecx,eax jge L00495628 add ecx,FFFFFE20h mov [L007121FC],ecx L00495628: mov ecx,L00669608 call SUB_L0043F2E0 mov ecx,0000001Bh xor eax,eax lea edi,[ebp-74h] xor ebx,ebx rep stosd mov al,[L004CCBA8] test al,al jz L00495699 mov eax,[esi] lea edi,[esi+04h] push ebx lea edx,[ebp-74h] mov dword ptr [ebp-74h],0000006Ch mov dword ptr [ebp-70h],00000021h mov dword ptr [ebp-0Ch],00000218h mov dword ptr [ebp-60h],00000001h mov ecx,[eax] push edi push edx push eax call [ecx+18h] test eax,eax jnz L00495699 mov edi,[edi] mov ebx,00000001h lea ecx,[esi+08h] lea edx,[ebp-04h] mov [esi+14h],ebx mov dword ptr [ebp-04h],00000004h mov eax,[edi] push ecx push edx push edi call [eax+30h] L00495699: xor ecx,ecx cmp ebx,ecx jnz L004956F7 mov eax,[esi] mov [esi+14h],ecx mov ebx,00000001h mov [ebp-60h],ecx lea edi,[esi+04h] push ecx lea ecx,[ebp-74h] mov dword ptr [ebp-74h],0000006Ch mov [ebp-70h],ebx mov dword ptr [ebp-0Ch],00000200h mov edx,[eax] push edi push ecx push eax call [edx+18h] test eax,eax jz L004956F0 mov edx,[L007B8310] push 00000000h push SSZ004D0770_Note_ push SSZ004D074C_Failed_to_create_primary_surface push edx call [USER32.dll!MessageBoxA] pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L004956F0: mov eax,[edi] mov [esi+08h],eax jmp L004956FC L004956F7: mov ebx,00000001h L004956FC: mov eax,[esi+04h] lea edx,[ebp-00000094h] mov dword ptr [ebp-00000094h],00000020h push edx mov ecx,[eax] push eax call [ecx+54h] cmp dword ptr [ebp-00000084h],0000F800h jnz L0049572F mov [esi+10h],ebx mov [esi+0Ch],ebx pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L0049572F: mov dword ptr [esi+10h],00000000h mov [esi+0Ch],ebx L00495739: pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ SUB_L00495740: push esi mov esi,ecx mov eax,[esi] test eax,eax jz L0049577F mov ecx,[esi+14h] test ecx,ecx jz L00495756 mov ecx,[eax] push eax call [ecx+28h] L00495756: mov eax,[esi+04h] test eax,eax jz L0049576A mov edx,[eax] push eax call [edx+08h] mov dword ptr [esi+04h],00000000h L0049576A: mov eax,[esi] mov dword ptr [esi+08h],00000000h push eax mov ecx,[eax] call [ecx+08h] mov dword ptr [esi],00000000h L0049577F: mov dword ptr [esi+0Ch],00000000h pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L00495790: push ebp mov ebp,esp push ecx mov al,[L0073EC3C] push ebx push esi mov esi,ecx test al,al mov eax,[ebp+08h] push edi mov ebx,edx mov ecx,eax jz L0049582F dec eax test ecx,ecx jz L00495893 mov edi,[ebp+0Ch] inc eax mov [ebp-04h],eax L004957BD: mov ax,[ebx] add ebx,00000002h test ax,ax mov [ebp+08h],ebx jz L0049581A mov cx,[L004D0738] mov edx,eax shr dx,cl mov cx,[L004D073C] mov ebx,eax shr bx,cl mov cl,al and dl,1Fh and cl,1Fh and bl,1Fh cmp dl,bl jnz L00495814 cmp dl,cl jnz L00495814 mov cl,[L004D0738] and eax,0000FFFFh shr eax,cl lea edx,[edi+edi*4] lea ecx,[edi+edx*2] lea edx,[eax+ecx*4] mov ax,[L006C1A48+edx*2] L00495814: mov ebx,[ebp+08h] mov [esi],ax L0049581A: mov eax,[ebp-04h] add esi,00000002h dec eax mov [ebp-04h],eax jnz L004957BD pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L0049582F: dec eax test ecx,ecx jz L00495893 mov edx,[ebp+0Ch] inc eax mov [ebp+08h],eax L0049583B: mov ax,[ebx] add ebx,00000002h test ax,ax jz L00495887 mov cx,[L004D073C] mov edi,eax shr di,cl mov ecx,eax and ecx,000003FFh xor edi,ecx test di,di jz L00495866 mov [esi],ax jmp L00495887 L00495866: mov cl,[L004D0738] and eax,0000FFFFh shr eax,cl lea ecx,[edx+edx*4] lea ecx,[edx+ecx*2] lea eax,[eax+ecx*4] mov cx,[L006C1A48+eax*2] mov [esi],cx L00495887: mov eax,[ebp+08h] add esi,00000002h dec eax mov [ebp+08h],eax jnz L0049583B L00495893: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 8 SUB_L004958A0: push ebp mov ebp,esp push ebx push esi mov edx,ecx push edi mov edi,[ebp+08h] or ecx,FFFFFFFFh xor eax,eax lea ebx,[edx+10h] repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,ebx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h xor eax,eax rep movsb pop edi mov [edx+04h],eax mov [edx],eax mov [edx+0Ch],eax pop esi mov eax,edx pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L004958E0: push esi mov esi,ecx cmp dword ptr [esi],00000000h jz L0049591D mov eax,[esi+0Ch] test eax,eax jz L0049591D push edi push eax call [KERNEL32.dll!UnmapViewOfFile] mov eax,[esi+04h] mov edi,[KERNEL32.dll!CloseHandle] push eax call edi mov ecx,[esi] push ecx call edi mov dword ptr [esi+04h],00000000h mov dword ptr [esi],00000000h mov dword ptr [esi+0Ch],00000000h pop edi L0049591D: pop esi retn ;------------------------------------------------------------------------------ Align 4 SUB_L00495920: push esi mov esi,ecx mov eax,[esi+0Ch] test eax,eax jz L00495958 push edi push eax call [KERNEL32.dll!UnmapViewOfFile] mov eax,[esi+04h] mov edi,[KERNEL32.dll!CloseHandle] push eax call edi mov ecx,[esi] push ecx call edi mov dword ptr [esi+04h],00000000h mov dword ptr [esi],00000000h mov dword ptr [esi+0Ch],00000000h pop edi L00495958: pop esi retn ;------------------------------------------------------------------------------ Align 8 SUB_L00495960: push ebp mov ebp,esp sub esp,00000100h push ebx push esi mov esi,ecx push edi lea ebx,[esi+10h] test ebx,ebx jz L00495A9B cmp byte ptr [ebx],00h jz L00495A9B push L004C40E0 push ebx call SUB_L0049A7F0 mov edi,eax add esp,00000008h test edi,edi jz L004959BA push 00000002h push 00000000h push edi call SUB_L0049B6B0 add esp,0000000Ch push edi call SUB_L0049B7E0 add esp,00000004h mov [esi+08h],eax push edi call SUB_L0049A580 add esp,00000004h jmp L004959C1 L004959BA: mov dword ptr [esi+08h],00000000h L004959C1: push 00000000h push 10000080h push 00000003h push 00000000h push 00000001h push 80000000h push ebx call [KERNEL32.dll!CreateFileA] cmp eax,FFFFFFFFh mov [esi],eax jnz L00495A01 call [KERNEL32.dll!GetLastError] mov edi,eax cmp edi,00000008h jnz L004959F8 push 00000000h call SUB_L00454FD0 add esp,00000004h L004959F8: push edi push ebx push SSZ004D07BC_Failed_to_open_mmf__s__Error__d_ jmp L00495A37 L00495A01: push 00000000h push 00000000h push 00000000h push 00000002h push 00000000h push eax call [KERNEL32.dll!CreateFileMappingA] test eax,eax mov [esi+04h],eax jnz L00495A72 call [KERNEL32.dll!GetLastError] mov edi,eax cmp edi,00000008h jnz L00495A30 push 00000000h call SUB_L00454FD0 add esp,00000004h L00495A30: push edi push ebx push SSZ004D078C_Failed_to_create_mapping_for_mmf L00495A37: lea eax,[ebp-00000100h] push eax call SUB_L0049AC80 mov edx,[L007B8310] add esp,00000010h lea ecx,[ebp-00000100h] push 00000000h push SSZ004D0780_MMF_Error push ecx push edx call [USER32.dll!MessageBoxA] mov dword ptr [esi+0Ch],00000000h mov eax,[esi+0Ch] pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00495A72: push 00000000h push 00000000h push 00000000h push 00000004h push eax call [KERNEL32.dll!MapViewOfFile] test eax,eax mov [esi+0Ch],eax jnz L00495A91 push eax call SUB_L00454FD0 add esp,00000004h L00495A91: mov eax,[esi+0Ch] pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00495A9B: pop edi pop esi xor eax,eax pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L00495AB0: push ebp mov ebp,esp mov eax,ecx push esi mov ecx,[ebp+0Ch] push edi mov esi,[eax+0Ch] mov edi,[ebp+08h] mov eax,ecx add esi,edi mov edi,[ebp+10h] shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb pop edi pop esi pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 8 SUB_L00495AE0: push ebp mov ebp,esp push ebx push esi mov edx,ecx push edi mov edi,[ebp+08h] or ecx,FFFFFFFFh xor eax,eax lea ebx,[edx+10h] repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,ebx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h xor eax,eax rep movsb mov ecx,[ebp+0Ch] pop edi mov [edx+04h],eax mov [edx],eax mov [edx+0Ch],eax pop esi mov [edx+08h],ecx mov eax,edx pop ebx pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L00495B30: push esi mov esi,ecx cmp dword ptr [esi],00000000h jz L00495B7B mov eax,[esi+0Ch] test eax,eax jz L00495B7B mov ecx,[esi+08h] push edi push ecx push eax call [KERNEL32.dll!FlushViewOfFile] mov edx,[esi+0Ch] push edx call [KERNEL32.dll!UnmapViewOfFile] mov eax,[esi+04h] mov edi,[KERNEL32.dll!CloseHandle] push eax call edi mov ecx,[esi] push ecx call edi mov dword ptr [esi+04h],00000000h mov dword ptr [esi],00000000h mov dword ptr [esi+0Ch],00000000h pop edi L00495B7B: pop esi retn ;------------------------------------------------------------------------------ Align 4 SUB_L00495B80: push ebp mov ebp,esp sub esp,00000100h push ebx push esi push edi push 00000000h mov esi,ecx push 10000080h push 00000004h push 00000000h lea edi,[esi+10h] push 00000000h push C0000000h push edi call [KERNEL32.dll!CreateFileA] cmp eax,FFFFFFFFh mov [esi],eax jnz L00495C0A call [KERNEL32.dll!GetLastError] mov ebx,eax cmp ebx,00000008h jnz L00495BC8 push 00000000h call SUB_L00454FD0 add esp,00000004h L00495BC8: push ebx push edi lea eax,[ebp-00000100h] push SSZ004D0814_Failed_to_open_mmf_wr__s__Error_ push eax call SUB_L0049AC80 mov edx,[L007B8310] add esp,00000010h lea ecx,[ebp-00000100h] push 00000000h push SSZ004D0780_MMF_Error push ecx push edx call [USER32.dll!MessageBoxA] mov dword ptr [esi+0Ch],00000000h mov eax,[esi+0Ch] pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00495C0A: mov ecx,[esi+08h] push 00000000h push ecx push 00000000h push 00000004h push 00000000h push eax call [KERNEL32.dll!CreateFileMappingA] test eax,eax mov [esi+04h],eax jnz L00495C7D call [KERNEL32.dll!GetLastError] mov ebx,eax cmp ebx,00000008h jnz L00495C3B push 00000000h call SUB_L00454FD0 add esp,00000004h L00495C3B: push ebx push edi lea edx,[ebp-00000100h] push SSZ004D07E0_Failed_to_create_mapping_for_mmf push edx call SUB_L0049AC80 mov ecx,[L007B8310] add esp,00000010h lea eax,[ebp-00000100h] push 00000000h push SSZ004D0780_MMF_Error push eax push ecx call [USER32.dll!MessageBoxA] mov dword ptr [esi+0Ch],00000000h mov eax,[esi+0Ch] pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00495C7D: push 00000000h push 00000000h push 00000000h push 000F001Fh push eax call [KERNEL32.dll!MapViewOfFile] test eax,eax mov [esi+0Ch],eax jnz L00495C9F push eax call SUB_L00454FD0 add esp,00000004h L00495C9F: mov eax,[esi+0Ch] pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' push ebp mov ebp,esp sub esp,00000034h push esi mov esi,ecx xor eax,eax mov dword ptr [esi],FFFFFFFFh mov [esi+04h],eax mov [esi+0Ch],ax mov [esi+0Eh],ax mov cl,[L004CCB08] mov [esi+10h],cl mov edx,[L004CCDE8] mov [esi+14h],edx mov [esi+18h],eax mov [esi+1Ch],eax mov [esi+00000120h],eax mov [esi+00000124h],eax mov [esi+00000128h],eax call [KERNEL32.dll!GetTickCount] push eax call SUB_L0049C1E0 add esp,00000004h lea eax,[ebp-34h] push 00000034h push eax push FFFFFFFFh call [WINMM.dll!midiOutGetDevCapsA] test byte ptr [ebp-04h],01h jz L00495D22 push esi push FFFFFFFFh call [WINMM.dll!midiOutGetVolume] L00495D22: mov eax,esi pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' push ebp mov ebp,esp sub esp,00000034h push esi mov esi,ecx mov eax,[esi+00000124h] test eax,eax jz L00495D5D push 00000000h push 00000000h push 00000804h push eax call [WINMM.dll!mciSendCommandA] mov dword ptr [esi+00000124h],00000000h L00495D5D: lea eax,[ebp-34h] push 00000034h push eax push FFFFFFFFh call [WINMM.dll!midiOutGetDevCapsA] test byte ptr [ebp-04h],01h jz L00495D7C mov ecx,[esi] push ecx push FFFFFFFFh call [WINMM.dll!midiOutSetVolume] L00495D7C: pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L00495D90: push ebp mov ebp,esp sub esp,00000044h push ebx push esi mov esi,ecx push edi mov ebx,00000004h mov edx,[esi+08h] dec edx mov eax,edx mov [esi+08h],edx test eax,eax jg L00495EA6 mov al,[esi+10h] mov dword ptr [esi+08h],00000024h test al,al jz L00495EA6 mov ecx,[esi+00000124h] lea eax,[ebp-10h] push eax push 00000100h push 00000814h push ecx mov [ebp-08h],ebx call [WINMM.dll!mciSendCommandA] test eax,eax jz L00495DE9 xor eax,eax jmp L00495DF7 L00495DE9: mov ecx,[ebp-0Ch] xor eax,eax cmp ecx,0000020Eh setz al L00495DF7: test eax,eax jz L00495E12 mov ax,[esi+0Ch] cmp ax,0026h jc L00495E12 cmp ax,0029h jnc L00495E12 mov edi,00000001h jmp L00495E14 L00495E12: xor edi,edi L00495E14: mov eax,[L0073EBE4] test eax,eax jz L00495EA6 mov ecx,[eax+00000150h] test ecx,ecx jz L00495E45 test edi,edi jnz L00495E45 push 00000001h push 00000001h call SUB_L0049C1F0 cdq mov ecx,00000003h idiv ecx add edx,00000026h jmp L00495E9E L00495E45: test eax,eax jz L00495EA6 mov ecx,[eax+00000150h] test ecx,ecx jnz L00495EA6 test edi,edi jnz L00495E8F mov eax,[esi+00000124h] lea edx,[ebp-10h] push edx push 00000100h push 00000814h push eax mov [ebp-08h],ebx call [WINMM.dll!mciSendCommandA] test eax,eax jz L00495E7D xor eax,eax jmp L00495E8B L00495E7D: mov ecx,[ebp-0Ch] xor eax,eax cmp ecx,0000020Eh setz al L00495E8B: test eax,eax jnz L00495EA6 L00495E8F: push edi push edi call SUB_L0049C1F0 cdq mov ecx,00000009h idiv ecx L00495E9E: push edx mov ecx,esi call SUB_L00495FF0 L00495EA6: mov eax,[esi+18h] test eax,eax jz L00495FDC mov edx,[esi+1Ch] add edx,0000000Ah mov [esi+1Ch],edx mov eax,edx mov edx,[esi+14h] sub edx,eax js L00495F58 mov ecx,[esi+00000124h] lea eax,[ebp-10h] push eax push 00000100h push 00000814h push ecx mov [ebp-08h],ebx call [WINMM.dll!mciSendCommandA] test eax,eax jz L00495EED xor eax,eax jmp L00495EFB L00495EED: mov ecx,[ebp-0Ch] xor eax,eax cmp ecx,0000020Eh setz al L00495EFB: test eax,eax jz L00495F58 mov ecx,[esi+1Ch] xor eax,eax mov al,[esi+14h] mov [esi+14h],eax sub eax,ecx mov esi,eax jns L00495F12 xor esi,esi L00495F12: cmp esi,000000FFh jle L00495F1F mov esi,000000FFh L00495F1F: lea edx,[ebp-44h] push 00000034h push edx push FFFFFFFFh call [WINMM.dll!midiOutGetDevCapsA] test byte ptr [ebp-14h],01h jz L00495FDC mov eax,esi and eax,000000FFh mov ecx,eax shl ecx,10h or ecx,eax shl ecx,08h push ecx push FFFFFFFFh call [WINMM.dll!midiOutSetVolume] pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00495F58: xor edx,edx xor ebx,ebx mov dl,[esi+14h] mov dword ptr [esi+1Ch],00000000h mov edi,edx cmp edi,ebx mov [esi+14h],edi jge L00495F71 xor edi,edi L00495F71: cmp edi,000000FFh jle L00495F7E mov edi,000000FFh L00495F7E: lea eax,[ebp-44h] push 00000034h push eax push FFFFFFFFh call [WINMM.dll!midiOutGetDevCapsA] test byte ptr [ebp-14h],01h jz L00495FAB and edi,000000FFh mov ecx,edi shl ecx,10h or ecx,edi shl ecx,08h push ecx push FFFFFFFFh call [WINMM.dll!midiOutSetVolume] L00495FAB: mov eax,[esi+00000124h] mov [esi+18h],ebx cmp eax,ebx jz L00495FCC push ebx push ebx push 00000804h push eax call [WINMM.dll!mciSendCommandA] mov [esi+00000124h],ebx L00495FCC: lea edi,[esi+20h] push 00000001h push edi mov ecx,esi call SUB_L004962A0 mov byte ptr [edi],00h L00495FDC: pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L00495FF0: push ebp mov ebp,esp sub esp,00000044h push ebx push esi push edi mov esi,ecx call [KERNEL32.dll!GetTickCount] mov ecx,[esi+00000124h] mov edi,eax lea eax,[ebp-10h] mov dword ptr [ebp-08h],00000004h push eax push 00000100h push 00000814h push ecx call [WINMM.dll!mciSendCommandA] test eax,eax jz L0049602D xor eax,eax jmp L0049603B L0049602D: mov ecx,[ebp-0Ch] xor eax,eax cmp ecx,0000020Eh setz al L0049603B: test eax,eax jz L00496064 mov eax,[ebp+10h] test eax,eax jnz L00496064 mov edx,[esi+00000120h] add edx,00002710h cmp edi,edx jnc L00496064 mov eax,00000001h pop edi pop esi pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ L00496064: mov edi,[ebp+08h] cmp di,0031h jc L00496078 xor eax,eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ L00496078: mov al,[esi+10h] test al,al jnz L0049608D mov eax,00000001h pop edi pop esi pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ L0049608D: cmp di,[esi+0Ch] jnz L004960A1 mov eax,00000001h pop edi pop esi pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ L004960A1: call SUB_L00497CA0 mov eax,[ebp+0Ch] mov ecx,edi and ecx,0000FFFFh push eax mov edx,[L004D0838+ecx*4] mov ecx,esi push edx call SUB_L004962A0 mov ebx,eax mov [ebp+0Ch],ebx call SUB_L00497CF0 test ebx,ebx jz L0049614E mov eax,[esi+04h] test eax,eax jnz L0049613E mov al,[L004CCDE8] mov ecx,[esi+1Ch] mov [ebp+10h],al mov eax,[ebp+10h] and eax,000000FFh mov [esi+14h],eax sub eax,ecx mov edi,eax jns L004960F4 xor edi,edi L004960F4: cmp edi,000000FFh jle L00496101 mov edi,000000FFh L00496101: lea ecx,[ebp-44h] push 00000034h push ecx push FFFFFFFFh call [WINMM.dll!midiOutGetDevCapsA] mov al,[ebp-14h] mov ebx,00000001h test bl,al jz L00496135 mov eax,edi and eax,000000FFh mov edx,eax shl edx,10h or edx,eax shl edx,08h push edx push FFFFFFFFh call [WINMM.dll!midiOutSetVolume] L00496135: mov edi,[ebp+08h] mov [esi+04h],ebx mov ebx,[ebp+0Ch] L0049613E: mov [esi+0Ch],di call [KERNEL32.dll!GetTickCount] mov [esi+00000120h],eax L0049614E: pop edi mov eax,ebx pop esi pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 8 SUB_L00496160: push ebp mov ebp,esp sub esp,00000104h mov eax,[ecx+00000128h] push ebx push esi sub eax,00000000h push edi mov byte ptr [ebp-00000104h],00h jz L004961B9 dec eax jz L00496191 dec eax jnz L004961B9 lea edx,[ebp-00000104h] mov edi,SSZ004D0BCC_4MB_ jmp L0049619C L00496191: lea edx,[ebp-00000104h] mov edi,SSZ004D0BC4_512K_ L0049619C: or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb L004961B9: mov ecx,[ebp+08h] mov ebx,[ebp+0Ch] lea edx,[ebp-00000104h] push ecx push edx push SSZ004D0BB8_music__s_s push ebx call SUB_L0049AC80 add esp,00000010h mov ecx,L006BB1C8 push L004C40E0 push ebx call SUB_L00455E10 push eax call SUB_L0049A7F0 add esp,00000008h test eax,eax jz L0049622E push eax call SUB_L0049A580 add esp,00000004h mov ecx,L006BB1C8 push ebx call SUB_L00455E10 mov edi,eax or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,ebx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L0049622E: push L004C40E0 push ebx mov ecx,L006BB1C8 call SUB_L00455EC0 push eax call SUB_L0049A7F0 add esp,00000008h test eax,eax jz L00496287 push eax call SUB_L0049A580 add esp,00000004h mov ecx,L006BB1C8 push ebx call SUB_L00455EC0 mov edi,eax or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx mov edx,ecx mov esi,edi mov edi,ebx shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L00496287: pop edi mov byte ptr [ebx],00h pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L004962A0: push ebp mov ebp,esp sub esp,00000134h push esi mov esi,ecx push edi mov al,[esi+10h] test al,al jz L00496433 mov ecx,[esi+00000124h] mov edi,[WINMM.dll!mciSendCommandA] lea eax,[ebp-10h] mov dword ptr [ebp-08h],00000004h push eax push 00000100h push 00000814h push ecx call edi test eax,eax jz L004962E4 xor eax,eax jmp L004962F2 L004962E4: mov ecx,[ebp-0Ch] xor eax,eax cmp ecx,0000020Eh setz al L004962F2: test eax,eax jnz L00496409 mov eax,[esi+18h] test eax,eax jnz L00496409 mov eax,[esi+00000124h] test eax,eax jz L00496331 mov ecx,[ebp+0Ch] test ecx,ecx jnz L0049631B or eax,FFFFFFFFh jmp L00496380 L0049631B: push 00000000h push 00000000h push 00000804h push eax call edi mov dword ptr [esi+00000124h],00000000h L00496331: mov eax,[ebp+08h] lea edx,[ebp-00000134h] push edx push eax mov ecx,esi mov dword ptr [ebp-0Ch],SSZ004D0BD4_sequencer call SUB_L00496160 lea edx,[ebp-14h] lea ecx,[ebp-00000134h] push edx push 00002200h push 00000803h push 00000000h mov [ebp-08h],ecx call edi test eax,eax jz L00496375 mov dword ptr [esi+00000124h],00000000h jmp L00496380 L00496375: mov eax,[ebp-10h] mov [esi+00000124h],eax xor eax,eax L00496380: test eax,eax jz L0049638E xor eax,eax pop edi pop esi mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L0049638E: mov edx,[esi+00000124h] lea ecx,[ebp-30h] push ecx push 00000100h push 00000814h push edx mov dword ptr [ebp-28h],00004003h call edi test eax,eax jz L004963CC mov eax,[esi+00000124h] push 00000000h push 00000000h push 00000804h push eax call edi xor eax,eax pop edi pop esi mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L004963CC: mov eax,[esi+00000124h] mov ecx,[L007B8310] lea edx,[ebp-20h] mov [ebp-20h],ecx push edx push 00000001h push 00000806h push eax call edi test eax,eax jz L00496433 mov ecx,[esi+00000124h] push 00000000h push 00000000h push 00000804h push ecx call edi xor eax,eax pop edi pop esi mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ L00496409: mov edi,[ebp+08h] or ecx,FFFFFFFFh xor eax,eax mov dword ptr [esi+18h],00000001h repne scasb not ecx sub edi,ecx lea edx,[esi+20h] mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb L00496433: pop edi mov eax,00000001h pop esi mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ SUB_L00496440: push esi mov esi,ecx mov eax,[esi+00000124h] test eax,eax jz L00496467 push 00000000h push 00000000h push 00000804h push eax call [WINMM.dll!mciSendCommandA] mov dword ptr [esi+00000124h],00000000h L00496467: pop esi retn ;------------------------------------------------------------------------------ Align 8 SUB_L00496470: push ebp mov ebp,esp sub esp,00000034h mov eax,[ebp+08h] mov edx,[ecx+1Ch] and eax,000000FFh push esi mov [ecx+14h],eax sub eax,edx mov esi,eax jns L0049648D xor esi,esi L0049648D: cmp esi,000000FFh jle L0049649A mov esi,000000FFh L0049649A: lea eax,[ebp-34h] push 00000034h push eax push FFFFFFFFh call [WINMM.dll!midiOutGetDevCapsA] test byte ptr [ebp-04h],01h jz L004964C8 mov eax,esi and eax,000000FFh mov ecx,eax shl ecx,10h or ecx,eax shl ecx,08h push ecx push FFFFFFFFh call [WINMM.dll!midiOutSetVolume] L004964C8: pop esi mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L004964D0: push ebp mov ebp,esp mov al,[ebp+08h] test al,al mov [ecx+10h],al jnz L00496500 mov eax,[L006BDA0C] test eax,eax jz L00496500 push 00000000h push 00000000h push 00000804h push eax call [WINMM.dll!mciSendCommandA] mov dword ptr [L006BDA0C],00000000h L00496500: pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00496510: push esi mov esi,ecx push 00000000h push 00000000h mov ax,[esi+0Eh] push eax call SUB_L00495FF0 test eax,eax jz L00496569 inc word ptr [esi+0Eh] mov ecx,[L0073EBE4] mov ax,[esi+0Eh] test ecx,ecx jz L0049655D mov edx,[ecx+00000150h] test edx,edx jz L0049654F cmp ax,0029h jc L00496569 mov word ptr [esi+0Eh],0026h pop esi retn ;------------------------------------------------------------------------------ L0049654F: cmp ax,0009h jc L00496569 mov word ptr [esi+0Eh],0000h pop esi retn ;------------------------------------------------------------------------------ L0049655D: cmp ax,0031h jc L00496569 mov word ptr [esi+0Eh],0000h L00496569: pop esi retn ;------------------------------------------------------------------------------ db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' push ebp mov ebp,esp push FFFFFFFFh push L004B54C6 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000018h push ebx push esi mov esi,ecx xor ebx,ebx push edi push 00000494h mov [esi],ebx mov al,[L004CCB04] mov [esi+16h],al mov cl,[L004CCDE4] mov [esi+17h],cl mov dl,[L004CCDE4] mov [esi+18h],dl mov [ebp-20h],esi mov dword ptr [esi+20h],00000125h mov [esi+24h],bl call SUB_L0049A820 mov edi,eax mov ecx,00000125h xor eax,eax mov [esi+1Ch],edi add esp,00000004h rep stosd or eax,FFFFFFFFh mov [esi+4Ch],bx mov [esi+50h],eax mov [esi+58h],bx mov [esi+5Ch],eax mov eax,[L004C9140] cmp eax,ebx mov [ebp-04h],ebx mov [ebp-14h],ebx jz L004966D7 mov eax,L004C9140 mov [ebp-18h],eax L00496602: mov edi,[eax] mov dword ptr [ebp-10h],00000000h mov [ebp-1Ch],edi mov ebx,edi mov cl,[edi] test cl,cl jz L00496630 L00496616: mov eax,[ebp-10h] movsx ecx,cl shl eax,06h add eax,ecx mov cl,[ebx+01h] cdq idiv [esi+20h] inc ebx test cl,cl mov [ebp-10h],edx jnz L00496616 L00496630: push 0000000Ch call SUB_L0049A820 mov ebx,eax add esp,00000004h mov [ebp-24h],ebx test ebx,ebx mov byte ptr [ebp-04h],01h jz L0049668F or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx push ecx call SUB_L0049A820 mov edi,[ebp-1Ch] mov edx,eax or ecx,FFFFFFFFh xor eax,eax add esp,00000004h mov [ebx],edx repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov ecx,[ebp-14h] mov esi,[ebp-20h] mov [ebx+04h],ecx mov dword ptr [ebx+08h],00000000h jmp L00496691 L0049668F: xor ebx,ebx L00496691: mov edx,[esi+1Ch] mov eax,[ebp-10h] mov byte ptr [ebp-04h],00h lea ecx,[edx+eax*4] mov eax,[edx+eax*4] test eax,eax jnz L004966A9 mov [ecx],ebx jmp L004966BC L004966A9: mov ecx,[eax+08h] test ecx,ecx jz L004966B9 L004966B0: mov eax,ecx mov ecx,[eax+08h] test ecx,ecx jnz L004966B0 L004966B9: mov [eax+08h],ebx L004966BC: mov eax,[ebp-18h] mov edi,[ebp-14h] add eax,00000004h inc edi mov [ebp-14h],edi mov [ebp-18h],eax cmp dword ptr [eax],00000000h jnz L00496602 xor ebx,ebx L004966D7: lea edi,[esi+2Ch] mov ecx,00000008h xor eax,eax mov [esi],ebx mov [esi+28h],ebx mov word ptr [esi+04h],0001h mov word ptr [esi+06h],0002h mov dword ptr [esi+08h],00005620h mov word ptr [esi+12h],0010h mov word ptr [esi+10h],0004h mov dword ptr [esi+0Ch],00015880h mov [esi+14h],bx rep stosd lea edi,[esi+64h] mov ecx,00000008h or eax,FFFFFFFFh rep stosd mov ecx,[ebp-0Ch] mov eax,esi pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' push ebp mov ebp,esp push FFFFFFFFh push L004B54DB mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000008h push ebx mov ebx,ecx push esi push edi mov [ebp-14h],ebx mov eax,[ebx+28h] mov dword ptr [ebp-04h],00000000h test eax,eax jz L004967CA lea edi,[ebx+2Ch] mov dword ptr [ebp-10h],00000008h L0049677B: mov esi,[edi] test esi,esi jz L00496796 mov eax,[esi] test eax,eax jz L0049678D mov ecx,[eax] push eax call [ecx+08h] L0049678D: push esi call SUB_L0049A810 add esp,00000004h L00496796: mov eax,[ebp-10h] mov dword ptr [edi],00000000h add edi,00000004h dec eax mov [ebp-10h],eax jnz L0049677B mov eax,[ebx+28h] push eax mov edx,[eax] call [edx+08h] mov eax,[ebx] mov dword ptr [ebx+28h],00000000h test eax,eax jz L004967C4 mov ecx,[eax] push eax call [ecx+08h] L004967C4: mov dword ptr [ebx],00000000h L004967CA: mov eax,[ebx+20h] xor edi,edi test eax,eax mov dword ptr [ebp-04h],FFFFFFFFh jle L0049680D L004967DA: mov edx,[ebx+1Ch] mov esi,[edx+edi*4] test esi,esi jz L00496805 mov eax,esi L004967E6: mov eax,[eax+08h] test eax,eax jnz L004967E6 test esi,esi jz L00496805 mov eax,[esi] push eax call SUB_L0049A810 add esp,00000004h push esi call SUB_L0049A810 add esp,00000004h L00496805: mov eax,[ebx+20h] inc edi cmp edi,eax jl L004967DA L0049680D: mov ecx,[ebx+1Ch] push ecx call SUB_L0049A810 mov ecx,[ebp-0Ch] add esp,00000004h mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 SUB_L00496830: push ebp mov ebp,esp push FFFFFFFFh push L004B54FB mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000134h push ebx push esi push edi xor edi,edi mov ebx,ecx push edi push ebx push edi mov [ebp-14h],ebx call jmp_DSOUND.dll!DirectSoundCreate mov eax,[ebx] cmp eax,edi jz L00496A07 mov edx,[ebp+08h] mov ecx,[eax] push 00000003h push edx push eax call [ecx+18h] mov esi,eax cmp esi,edi jz L004968B5 cmp esi,80070057h mov byte ptr [ebp-00000140h],00h jnz L004968A3 mov eax,[ebp+08h] lea ecx,[ebp-00000140h] push eax push SSZ004D0C50_Window_Handle_____d push ecx call SUB_L0049AC80 add esp,0000000Ch L004968A3: lea edx,[ebp-00000140h] push edx push esi push SSZ004D0C30_Failed_to_set_cooperative_level jmp L00496A00 L004968B5: mov eax,[ebx] lea esi,[ebx+28h] push edi lea edx,[ebp-40h] mov dword ptr [ebp-40h],00000014h mov dword ptr [ebp-3Ch],00000081h mov [ebp-38h],edi mov [ebp-34h],edi mov [ebp-30h],edi mov ecx,[eax] push esi push edx push eax call [ecx+0Ch] cmp eax,edi jz L004968F1 push L004D77C0 push eax push SSZ004D0C08_Failed_to_create_primary_sound_b jmp L00496A00 L004968F1: lea eax,[ebx+04h] mov ecx,[ebx+04h] mov [ebp-2Ch],ecx mov edx,[eax+04h] mov [ebp-28h],edx mov ecx,[eax+08h] mov [ebp-24h],ecx mov edx,[eax+0Ch] mov [ebp-20h],edx lea edx,[ebp-2Ch] mov ax,[eax+10h] push edx mov [ebp-1Ch],ax mov eax,[esi] push eax mov ecx,[eax] call [ecx+38h] lea esi,[ebx+2Ch] mov edi,00000008h L00496928: push 0000003Ch call SUB_L0049A820 add esp,00000004h mov [ebp+08h],eax test eax,eax mov dword ptr [ebp-04h],00000000h jz L00496949 mov ecx,eax call SUB_L00497410 jmp L0049694B L00496949: xor eax,eax L0049694B: mov [esi],eax add esi,00000004h dec edi mov dword ptr [ebp-04h],FFFFFFFFh jnz L00496928 mov al,[ebx+16h] test al,al jz L00496A07 mov eax,[ebx+28h] test eax,eax jz L00496A07 lea edi,[ebx+2Ch] mov dword ptr [ebp+08h],00000008h L0049697A: mov esi,[edi] test esi,esi jz L004969D6 xor eax,eax lea edx,[ebp-18h] mov al,[ebx+17h] push edx mov [ebp-10h],eax mov eax,[esi] fild dword ptr [ebp-10h] push eax fmul dword ptr [L004BD058] fst dword ptr [ebp-10h] fstp dword ptr [esi+38h] mov ecx,[eax] call [ecx+18h] fild dword ptr [ebp-18h] mov esi,[esi] fmul dword ptr [L004BD04C] mov ebx,[esi] fsubr dword ptr [L004BD050] fmul dword ptr [ebp-10h] fld dword ptr [L004BD050] fsub ST,ST(1) fmul dword ptr [L004BD054] call SUB_L0049BB80 push eax push esi fstp ST(0) call [ebx+3Ch] mov ebx,[ebp-14h] L004969D6: mov eax,[ebp+08h] add edi,00000004h dec eax mov [ebp+08h],eax jnz L0049697A mov eax,[ebx+28h] push 00000001h push 00000000h push 00000000h mov ecx,[eax] push eax call [ecx+30h] test eax,eax jz L00496A07 push L004D77C0 push eax push SSZ004D0BE0_Failed_to_start_playing_primary_ L00496A00: mov ecx,ebx call SUB_L00496CF0 L00496A07: mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 8 SUB_L00496A20: push ebp mov ebp,esp push ecx mov eax,[ecx+28h] mov [ebp-04h],ecx test eax,eax jz L00496A8B push edi push esi push ebx lea edi,[ecx+2Ch] mov ebx,00000008h L00496A39: mov esi,[edi] test esi,esi jz L00496A54 mov eax,[esi] test eax,eax jz L00496A4B mov ecx,[eax] push eax call [ecx+08h] L00496A4B: push esi call SUB_L0049A810 add esp,00000004h L00496A54: mov dword ptr [edi],00000000h add edi,00000004h dec ebx jnz L00496A39 mov edx,[ebp-04h] mov eax,[edx+28h] push eax mov ecx,[eax] call [ecx+08h] mov esi,[ebp-04h] mov eax,[esi] mov dword ptr [esi+28h],00000000h test eax,eax jz L00496A82 mov edx,[eax] push eax call [edx+08h] L00496A82: mov dword ptr [esi],00000000h pop ebx pop esi pop edi L00496A8B: mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 4 SUB_L00496A90: mov edx,[ecx+28h] xor eax,eax test edx,edx setnz al retn ;------------------------------------------------------------------------------ Align 8 SUB_L00496AA0: push ebp mov ebp,esp sub esp,0000000Ch mov al,[ebp+08h] push esi mov esi,[ecx+28h] xor edx,edx test esi,esi setnz dl test dl,dl mov [ebp-0Ch],ecx mov [ecx+17h],al jz L00496B34 push edi push ebx lea edi,[ecx+2Ch] mov dword ptr [ebp+08h],00000008h L00496ACA: mov esi,[edi] test esi,esi jz L00496B26 xor eax,eax lea edx,[ebp-08h] mov al,[ecx+17h] push edx mov [ebp-04h],eax mov eax,[esi] fild dword ptr [ebp-04h] push eax fmul dword ptr [L004BD058] fst dword ptr [ebp-04h] fstp dword ptr [esi+38h] mov ecx,[eax] call [ecx+18h] fild dword ptr [ebp-08h] mov esi,[esi] fmul dword ptr [L004BD04C] mov ebx,[esi] fsubr dword ptr [L004BD050] fmul dword ptr [ebp-04h] fld dword ptr [L004BD050] fsub ST,ST(1) fmul dword ptr [L004BD054] call SUB_L0049BB80 push eax push esi fstp ST(0) call [ebx+3Ch] mov ecx,[ebp-0Ch] L00496B26: mov eax,[ebp+08h] add edi,00000004h dec eax mov [ebp+08h],eax jnz L00496ACA pop ebx pop edi L00496B34: pop esi mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 8 SUB_L00496B40: push ebp mov ebp,esp sub esp,00000008h mov al,[ebp+08h] push ebx mov ebx,ecx push esi test al,al push edi mov [ebp-08h],ebx mov [ebx+16h],al jz L00496C48 mov eax,[L006AAA38] test eax,eax jz L00496C02 mov edi,0000002Ch L00496B6E: mov esi,[edi+L006AAA10] test esi,esi jz L00496BD0 xor eax,eax lea edx,[ebp-04h] mov al,[L006AAA27] push edx mov [ebp+08h],eax mov eax,[esi] fild dword ptr [ebp+08h] push eax fmul dword ptr [L004BD058] fst dword ptr [ebp+08h] fstp dword ptr [esi+38h] mov ecx,[eax] call [ecx+18h] fild dword ptr [ebp-04h] mov esi,[esi] fmul dword ptr [L004BD04C] mov ebx,[esi] fsubr dword ptr [L004BD050] fmul dword ptr [ebp+08h] fld dword ptr [L004BD050] fsub ST,ST(1) fmul dword ptr [L004BD054] call SUB_L0049BB80 push eax push esi fstp ST(0) call [ebx+3Ch] mov ebx,[ebp-08h] L00496BD0: add edi,00000004h cmp edi,0000004Ch jl L00496B6E mov eax,[L006AAA38] push 00000001h push 00000000h push 00000000h mov ecx,[eax] push eax call [ecx+30h] test eax,eax jz L00496C02 push L004D77C0 push eax push SSZ004D0BE0_Failed_to_start_playing_primary_ mov ecx,L006AAA10 call SUB_L00496CF0 L00496C02: mov ax,[ebx+4Ch] test ax,ax jz L00496CD9 cmp ax,FFFFh jz L00496CD9 cmp dword ptr [ebx+50h],FFFFFFFFh jnz L00496CD9 mov edx,[ebx+54h] push 00000000h push 00000000h push 00000001h push edx and eax,0000FFFFh push 00000000h push eax mov ecx,ebx call SUB_L004971D0 mov [ebx+50h],eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ L00496C48: mov edx,[ebx+28h] xor eax,eax test edx,edx setnz al test al,al mov word ptr [ebx+58h],0000h mov dword ptr [ebx+60h],FFFFD8F0h jz L00496C7E mov eax,[ebx+5Ch] cmp eax,FFFFFFFFh jz L00496C7E mov eax,[ebx+eax*4+2Ch] mov eax,[eax] push eax mov ecx,[eax] call [ecx+48h] mov dword ptr [ebx+5Ch],FFFFFFFFh L00496C7E: mov dword ptr [ebx+54h],FFFFF63Ch mov ecx,[L006AAA38] xor edx,edx test ecx,ecx setnz dl test dl,dl jz L00496CD9 mov esi,0000002Ch L00496C9B: mov eax,[esi+L006AAA10] test eax,eax jz L00496CAD mov eax,[eax] push eax mov ecx,[eax] call [ecx+48h] L00496CAD: add esi,00000004h cmp esi,0000004Ch jl L00496C9B mov eax,[L006AAA38] push eax mov edx,[eax] call [edx+48h] test eax,eax jz L00496CD9 push L004D77C0 push eax push SSZ004D0C64_Failed_to_stop_playing_primary_b mov ecx,L006AAA10 call SUB_L00496CF0 L00496CD9: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00496CF0: push ebp mov ebp,esp sub esp,00000800h push ebx push esi push edi mov edi,[ebp+08h] or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx lea edx,[ebp-00000800h] mov eax,ecx mov esi,edi mov edi,edx lea edx,[ebp-00000800h] shr ecx,02h rep movsd mov ecx,eax xor eax,eax and ecx,00000003h rep movsb mov edi,L004C40E4 or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov esi,edi mov ebx,ecx mov edi,edx or ecx,FFFFFFFFh repne scasb mov ecx,ebx dec edi shr ecx,02h rep movsd mov eax,[ebp+0Ch] mov ecx,ebx and ecx,00000003h cmp eax,80004005h rep movsb jg L00496D89 jz L00496D79 cmp eax,80004001h jnz CASE_00496F18_PROC0008 lea edx,[ebp-00000800h] mov edi,SSZ004D0DBC__DSERR_UNSUPPORTED_ jmp L00496E76 L00496D79: lea edx,[ebp-00000800h] mov edi,SSZ004D0DAC__DSERR_GENERIC_ jmp L00496E76 L00496D89: cmp eax,8007000Eh jg L00496DBD jz L00496DAD cmp eax,80040110h jnz CASE_00496F18_PROC0008 lea edx,[ebp-00000800h] mov edi,SSZ004D0D94__DSERR_NOAGGREGATION_ jmp L00496E76 L00496DAD: lea edx,[ebp-00000800h] mov edi,SSZ004D0D80__DSERR_OUTOFMEMORY_ jmp L00496E76 L00496DBD: cmp eax,8878000Ah jg L00496DF1 jz L00496DE1 cmp eax,80070057h jnz CASE_00496F18_PROC0008 lea edx,[ebp-00000800h] mov edi,SSZ004D0D68__DSERR_INVALIDPARAM_ jmp L00496E76 L00496DE1: lea edx,[ebp-00000800h] mov edi,SSZ004D0D54__DSERR_ALLOCATED_ jmp L00496E76 L00496DF1: add eax,7787FFE2h cmp eax,00000082h ja CASE_00496F18_PROC0008 xor ecx,ecx mov cl,[eax+CASE_00496F3C] jmp [CASE_PROCTABLE_00496F18+ecx*4] CASE_00496F18_PROC0003: lea edx,[ebp-00000800h] mov edi,SSZ004D0D40__DSERR_BADFORMAT_ jmp L00496E76 CASE_00496F18_PROC0001: lea edx,[ebp-00000800h] mov edi,SSZ004D0D2C__DSERR_INVALIDCALL_ jmp L00496E76 CASE_00496F18_PROC0002: lea edx,[ebp-00000800h] mov edi,SSZ004D0D14__DSERR_PRIOLEVELNEEDED_ jmp L00496E76 CASE_00496F18_PROC0000: lea edx,[ebp-00000800h] mov edi,SSZ004D0CFC__DSERR_CONTROLUNAVAIL_ jmp L00496E76 CASE_00496F18_PROC0004: lea edx,[ebp-00000800h] mov edi,SSZ004D0CE8__DSERR_NODRIVER_ jmp L00496E76 CASE_00496F18_PROC0005: lea edx,[ebp-00000800h] mov edi,SSZ004D0CCC__DSERR_ALREADYINITIALIZED_ jmp L00496E76 CASE_00496F18_PROC0006: lea edx,[ebp-00000800h] mov edi,SSZ004D0CB8__DSERR_BUFFERLOST_ jmp L00496E76 CASE_00496F18_PROC0007: lea edx,[ebp-00000800h] mov edi,SSZ004D0CA0__DSERR_OTHERAPPHASPRIO_ L00496E76: or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx mov esi,edi mov ebx,ecx mov edi,edx or ecx,FFFFFFFFh repne scasb mov ecx,ebx dec edi shr ecx,02h rep movsd mov ecx,ebx and ecx,00000003h rep movsb CASE_00496F18_PROC0008: mov edi,L004C40E4 or ecx,FFFFFFFFh xor eax,eax lea edx,[ebp-00000800h] repne scasb not ecx sub edi,ecx push eax mov esi,edi mov ebx,ecx mov edi,edx or ecx,FFFFFFFFh repne scasb mov ecx,ebx dec edi shr ecx,02h rep movsd mov ecx,ebx lea edx,[ebp-00000800h] and ecx,00000003h push SSZ004D0C8C_DirectSound_Error rep movsb mov edi,[ebp+10h] or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov esi,edi mov ebx,ecx mov edi,edx or ecx,FFFFFFFFh repne scasb mov ecx,ebx dec edi shr ecx,02h rep movsd mov ecx,ebx lea eax,[ebp-00000800h] and ecx,00000003h push eax rep movsb push 00000000h call [USER32.dll!MessageBoxA] pop edi pop esi pop ebx mov esp,ebp pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_00496F18: dd CASE_00496F18_PROC0000 dd CASE_00496F18_PROC0001 dd CASE_00496F18_PROC0002 dd CASE_00496F18_PROC0003 dd CASE_00496F18_PROC0004 dd CASE_00496F18_PROC0005 dd CASE_00496F18_PROC0006 dd CASE_00496F18_PROC0007 dd CASE_00496F18_PROC0008 CASE_00496F3C: db 00h, 08h, 08h, 08h, 08h, 08h, 08h, 08h, 08h, 08h, 08h, 08h, 08h, 08h, 08h, 08h db 08h, 08h, 08h, 08h, 01h, 08h, 08h, 08h, 08h, 08h, 08h, 08h, 08h, 08h, 08h, 08h db 08h, 08h, 08h, 08h, 08h, 08h, 08h, 08h, 02h, 08h, 08h, 08h, 08h, 08h, 08h, 08h db 08h, 08h, 08h, 08h, 08h, 08h, 08h, 08h, 08h, 08h, 08h, 08h, 08h, 08h, 08h, 08h db 08h, 08h, 08h, 08h, 08h, 08h, 03h, 08h, 08h, 08h, 08h, 08h, 08h, 08h, 08h, 08h db 08h, 08h, 08h, 08h, 08h, 08h, 08h, 08h, 08h, 08h, 04h, 08h, 08h, 08h, 08h, 08h db 08h, 08h, 08h, 08h, 05h, 08h, 08h, 08h, 08h, 08h, 08h, 08h, 08h, 08h, 08h, 08h db 08h, 08h, 08h, 08h, 08h, 08h, 08h, 08h, 06h, 08h, 08h, 08h, 08h, 08h, 08h, 08h db 08h, 08h, 07h Align 4 SUB_L00496FC0: push ebp mov ebp,esp push ecx push ebx push esi mov esi,ecx push edi mov al,[esi+16h] test al,al jz L004970DD mov edx,[esi+28h] xor eax,eax test edx,edx setnz al test al,al jz L004970DD lea edi,[esi+2Ch] mov ebx,00000008h L00496FEE: mov ecx,[edi] call SUB_L004978E0 add edi,00000004h dec ebx jnz L00496FEE mov eax,[esi+5Ch] cmp eax,FFFFFFFFh jz L0049707B mov edi,[esi+60h] add edi,FFFFFFECh mov ecx,edi mov [esi+60h],edi cmp ecx,FFFFF63Ch mov [ebp-04h],ecx jg L0049703B mov eax,[esi+eax*4+2Ch] mov eax,[eax] push eax mov ecx,[eax] call [ecx+48h] mov dword ptr [esi+60h],FFFFD8F0h mov word ptr [esi+58h],0000h mov dword ptr [esi+5Ch],FFFFFFFFh jmp L0049707B L0049703B: mov eax,[esi+eax*4+2Ch] fild dword ptr [ebp-04h] fld dword ptr [eax+38h] fxch ST(1) fmul dword ptr [L004BD04C] fld dword ptr [L004BD050] fxch ST(1) fsubr dword ptr [L004BD050] fxch ST(2) fmul ST,ST(2) mov edi,[eax] mov ebx,[edi] fstp dword ptr [ebp-04h] fsub dword ptr [ebp-04h] fmul dword ptr [L004BD054] call SUB_L0049BB80 push eax push edi fstp ST(0) call [ebx+3Ch] L0049707B: mov eax,[esi+50h] cmp eax,FFFFFFFFh jz L004970DD mov edi,[esi+54h] add edi,00000014h mov ecx,edi mov [esi+54h],edi cmp ecx,FFFFF768h jle L0049709D mov dword ptr [esi+54h],FFFFF768h L0049709D: fild dword ptr [esi+54h] mov esi,[esi+eax*4+2Ch] fld dword ptr [esi+38h] fxch ST(1) fmul dword ptr [L004BD04C] fld dword ptr [L004BD050] fxch ST(1) fsubr dword ptr [L004BD050] fxch ST(2) fmul ST,ST(2) mov esi,[esi] mov edi,[esi] fstp dword ptr [ebp-04h] fsub dword ptr [ebp-04h] fmul dword ptr [L004BD054] call SUB_L0049BB80 push eax push esi fstp ST(0) call [edi+3Ch] L004970DD: pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L004970F0: push ebp mov ebp,esp mov eax,[L0073EBE4] push esi mov esi,[ebp+0Ch] add eax,00000020h push edi push eax push esi mov ecx,L006AAA98 call SUB_L0044EB60 mov [ebp+0Ch],eax fild dword ptr [ebp+0Ch] fmul dword ptr [L004BD060] fcom dword ptr [L004BD050] fnstsw ax test ah,41h jnz L0049712D fstp ST(0) fld dword ptr [L004BD050] L0049712D: fmul dword ptr [ebp+10h] fmul dword ptr [L004BD054] call SUB_L0049BB80 movsx ecx,[esi+02h] mov edi,eax mov eax,[L0073EBE4] movsx edx,[eax+22h] movsx eax,[eax+20h] sub edx,ecx movsx ecx,[esi] sub edx,eax add edx,ecx mov [ebp+0Ch],edx fild dword ptr [ebp+0Ch] fmul dword ptr [L004BD064] fmul dword ptr [L004BD060] fcom dword ptr [L004BD050] fnstsw ax test ah,41h jnz L0049717E fstp ST(0) fld dword ptr [L004BD050] L0049717E: fcom dword ptr [L004BD068] fnstsw ax test ah,01h jz L00497193 fstp ST(0) fld dword ptr [L004BD068] L00497193: fmul dword ptr [L004BD06C] call SUB_L0049BB80 mov cl,[L0073EC30] test cl,cl jz L004971AA neg eax L004971AA: mov edx,[ebp+1Ch] mov ecx,[ebp+18h] push edx mov edx,[ebp+14h] push ecx push edx push edi push eax mov eax,[ebp+08h] mov ecx,L006AAA10 push eax call SUB_L004971D0 pop edi pop esi pop ebp retn 0018h ;------------------------------------------------------------------------------ Align 8 SUB_L004971D0: push ebp mov ebp,esp sub esp,00000008h push ebx push esi mov esi,ecx push edi mov [ebp-04h],esi mov al,[esi+16h] test al,al jz L0049731E mov ebx,[ebp+08h] test ebx,ebx jl L0049731E cmp ebx,0000028Eh jge L0049731E mov edx,[esi+28h] xor eax,eax test edx,edx setnz al test al,al jz L0049731E mov eax,[ebp+1Ch] test eax,eax jnz L00497236 xor eax,eax lea edx,[esi+2Ch] L0049721E: mov ecx,[edx] test ecx,ecx jz L0049722D cmp [ecx+24h],ebx jz L00497321 L0049722D: inc eax add edx,00000004h cmp eax,00000008h jl L0049721E L00497236: lea edi,[esi+2Ch] mov dword ptr [ebp+1Ch],FFFFFFFFh xor ecx,ecx mov edx,edi mov esi,0000FFFFh L00497249: mov eax,[edx] test eax,eax jz L00497254 cmp [eax+24h],esi jz L0049725F L00497254: inc ecx add edx,00000004h cmp ecx,00000008h jl L00497249 jmp L00497262 L0049725F: mov [ebp+1Ch],ecx L00497262: cmp dword ptr [ebp+1Ch],FFFFFFFFh jnz L0049729A xor ebx,ebx xor esi,esi L0049726C: mov ecx,[ebp-04h] cmp esi,[ecx+50h] jz L0049728E mov edx,[edi] mov eax,[edx] lea edx,[ebp-08h] push edx push eax mov ecx,[eax] call [ecx+18h] mov eax,[ebp-08h] cmp eax,ebx jg L0049728E mov ebx,eax mov [ebp+1Ch],esi L0049728E: inc esi add edi,00000004h cmp esi,00000008h jl L0049726C mov ebx,[ebp+08h] L0049729A: push ebx push 00000007h mov ecx,L006AA860 call SUB_L004464D0 mov esi,[eax] mov edi,[eax+04h] cmp esi,FFFFFFFFh jz L0049731E cmp edi,00000028h jle L0049731E mov ebx,[ebp+18h] xor eax,eax test ebx,ebx jz L004972F1 call SUB_L0049C1F0 cdq idiv ebx mov [ebp+18h],edx fild dword ptr [ebp+18h] fmul dword ptr [L004BD070] fmul dword ptr [L004BD074] call SUB_L0049BB80 mov ebx,eax call SUB_L0049C1F0 test al,01h jnz L004972EB neg ebx L004972EB: lea eax,[ebx+00005620h] L004972F1: mov ecx,[ebp+10h] mov edx,[ebp+0Ch] push eax mov eax,[ebp+14h] push eax mov eax,[ebp+08h] push ecx mov ecx,[ebp-04h] push edx push edi push esi mov esi,[ebp+1Ch] push eax mov ecx,[ecx+esi*4+2Ch] call SUB_L00497530 mov eax,esi pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0018h ;------------------------------------------------------------------------------ L0049731E: or eax,FFFFFFFFh L00497321: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0018h ;------------------------------------------------------------------------------ Align 8 SUB_L00497330: push ebp mov ebp,esp push ebx push esi mov eax,[ebp+08h] mov esi,ecx push edi mov bx,[esi+4Ch] mov edx,ebx and edx,0000FFFFh cmp eax,edx jz L00497402 mov cx,[esi+58h] mov edi,ecx and edi,0000FFFFh cmp eax,edi jnz L00497396 cmp eax,0000FFFFh jz L00497396 test eax,eax jz L00497396 mov edi,[esi+5Ch] cmp edi,FFFFFFFFh jz L00497396 mov eax,[esi+50h] mov [esi+4Ch],cx mov ecx,[esi+60h] mov [esi+5Ch],eax mov eax,[esi+54h] mov [esi+58h],dx mov [esi+50h],edi mov [esi+54h],ecx mov [esi+60h],eax pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ L00497396: mov edx,[esi+50h] mov ecx,[esi+54h] cmp ax,FFFFh mov [esi+58h],bx mov [esi+5Ch],edx mov [esi+60h],ecx mov [esi+4Ch],ax mov dword ptr [esi+54h],FFFFF63Ch jz L004973FB test ax,ax jz L004973FB push 00000000h push 00000000h push 00000001h push FFFFF63Ch push 00000000h push eax mov ecx,esi call SUB_L004971D0 mov ecx,[esi+5Ch] mov [esi+50h],eax cmp eax,ecx jnz L00497402 cmp eax,FFFFFFFFh jz L00497402 mov word ptr [esi+58h],0000h mov dword ptr [esi+5Ch],FFFFFFFFh mov dword ptr [esi+60h],FFFFD8F0h pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ L004973FB: mov dword ptr [esi+50h],FFFFFFFFh L00497402: pop edi pop esi pop ebx pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 8 SUB_L00497410: push ebp mov ebp,esp sub esp,00000038h push ebx push esi mov esi,ecx mov eax,00000001h mov [ebp-24h],ax mov [ebp-22h],ax mov [esi+30h],eax mov [esi+34h],eax mov [esi+08h],eax xor ebx,ebx lea eax,[ebp-24h] mov [esi+1Ch],ebx mov [esi+20h],ebx mov dword ptr [esi+24h],0000FFFFh mov [esi+28h],ebx mov [esi+2Ch],ebx mov dword ptr [esi+38h],3F800000h mov [esi],ebx mov [esi+14h],ebx mov [esi+10h],ebx mov [esi+04h],ebx mov [esi+0Ch],ebx mov [esi+18h],ebx mov [ebp-28h],eax mov eax,[L006AAA10] push ebx lea edx,[ebp-38h] mov dword ptr [ebp-20h],00005620h mov word ptr [ebp-16h],0010h mov word ptr [ebp-18h],0002h mov dword ptr [ebp-1Ch],0000AC40h mov [ebp-14h],bx mov dword ptr [ebp-38h],00000014h mov dword ptr [ebp-34h],000100E0h mov dword ptr [ebp-30h],00010000h mov [ebp-2Ch],ebx mov ecx,[eax] push esi push edx push eax call [ecx+0Ch] cmp eax,ebx jz L004974CB push L004D77C0 push eax push SSZ004D0DD0_Failed_to_create_sound_buffer mov ecx,L006AAA10 call SUB_L00496CF0 mov eax,esi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L004974CB: push edi lea edx,[ebp-08h] push ebx mov eax,[esi] push edx lea edx,[ebp-0Ch] mov ecx,[eax] push edx lea edx,[ebp-10h] push edx lea edx,[ebp-04h] push edx push 00010000h push ebx push eax call [ecx+2Ch] mov edi,[ebp-04h] mov ecx,00004000h xor eax,eax rep stosd mov edx,[ebp-08h] mov eax,[esi] push edx mov edx,[ebp-0Ch] mov ecx,[eax] push edx mov edx,[ebp-10h] push edx mov edx,[ebp-04h] push edx push eax call [ecx+4Ch] mov eax,[esi] push 00000001h push ebx push ebx mov ecx,[eax] push eax call [ecx+30h] pop edi mov eax,esi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L00497530: push ebp mov ebp,esp sub esp,0000001Ch mov eax,[ebp+08h] push ebx push esi cmp eax,0000FFFFh push edi mov ebx,ecx jz L004977CA test eax,eax jl L004977CA mov ecx,[ebp+0Ch] mov edx,[ebp+10h] mov [ebx+28h],ecx mov [ebx+2Ch],edx lea ecx,[ebp-1Ch] lea edx,[ebp+10h] push ecx push edx push eax push 00000008h push 00000007h mov ecx,L006AA860 mov [ebx+24h],eax call SUB_L00446620 mov esi,eax call SUB_L00497CA0 mov eax,[ebx] lea edx,[ebp-14h] push edx push eax mov ecx,[eax] call [ecx+24h] test byte ptr [ebp-14h],02h jz L00497598 mov eax,[ebx] push eax mov ecx,[eax] call [ecx+50h] L00497598: mov edx,[ebp+10h] mov dword ptr [ebx+1Ch],00000000h add esi,00000028h lea eax,[edx-28h] mov edx,[ebp+14h] mov [ebx+14h],eax mov [ebx+20h],eax mov eax,[ebp+1Ch] push edx mov [ebx+18h],eax mov eax,[ebx] push eax mov [ebp-0Ch],esi mov ecx,[eax] call [ecx+40h] mov edi,eax test edi,edi jz L004975EC call SUB_L00497CF0 push L004D77C0 push edi push SSZ004D0E34_DirectSound_SetPan_failed_ mov ecx,L006AAA10 call SUB_L00496CF0 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 001Ch ;------------------------------------------------------------------------------ L004975EC: fld dword ptr [L004BD050] fild dword ptr [ebp+18h] mov eax,[ebx] fmul dword ptr [L004BD04C] mov edi,[eax] fsubr dword ptr [L004BD050] fmul dword ptr [ebx+38h] fxch ST(1) fsub ST,ST(1) fmul dword ptr [L004BD054] call SUB_L0049BB80 push eax mov eax,[ebx] push eax fstp ST(0) call [edi+3Ch] mov edi,eax test edi,edi jz L00497649 call SUB_L00497CF0 push L004D77C0 push edi push SSZ004D0E14_DirectSound_SetVolume_failed_ mov ecx,L006AAA10 call SUB_L00496CF0 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 001Ch ;------------------------------------------------------------------------------ L00497649: mov eax,[ebx] mov edx,[ebp+20h] push edx push eax mov ecx,[eax] call [ecx+44h] mov edi,eax test edi,edi jz L0049767E call SUB_L00497CF0 push L004D77C0 push edi push SSZ004D0DF0_DirectSound_SetFrequency_failed_ mov ecx,L006AAA10 call SUB_L00496CF0 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 001Ch ;------------------------------------------------------------------------------ L0049767E: mov dword ptr [ebx+08h],00000001h call [KERNEL32.dll!GetTickCount] lea edx,[ebp-18h] mov [ebx+04h],eax mov eax,[ebx] push edx lea edx,[ebp-10h] mov dword ptr [ebx+0Ch],00000000h mov ecx,[eax] push edx push eax call [ecx+10h] mov ecx,[ebp-18h] mov eax,[ebp-10h] mov edx,[ebx] lea edi,[ebp-04h] push 00000000h push edi mov edx,[edx] lea edi,[ebp-08h] push edi lea edi,[ebp+08h] push edi lea edi,[ebp+0Ch] cmp ecx,eax push edi jnc L004977D3 sub eax,ecx push eax mov eax,[ebx] push ecx push eax call [edx+2Ch] mov ecx,[ebx+14h] mov edx,[ebp+08h] cmp ecx,edx jge L0049777D mov eax,[ebx+18h] test eax,eax jz L0049773E xor edi,edi xor eax,eax test edx,edx mov [ebp+14h],edi jbe L00497794 mov ecx,[ebx+20h] jmp L004976FF L004976FC: mov esi,[ebp-0Ch] L004976FF: sub edx,edi sub ecx,eax cmp ecx,edx jc L00497709 mov ecx,edx L00497709: mov edx,[ebp+0Ch] mov [ebp+1Ch],ecx add edi,edx mov edx,ecx add esi,eax add eax,edx shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb mov ecx,[ebx+20h] cmp eax,ecx jc L0049772D mov eax,[ebx+1Ch] L0049772D: mov edi,[ebp+14h] add edi,edx mov edx,[ebp+08h] cmp edi,edx mov [ebp+14h],edi jc L004976FC jmp L00497794 L0049773E: mov edi,[ebp+0Ch] mov eax,ecx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov edx,[ebp+08h] mov eax,[ebx+14h] mov esi,[ebp+0Ch] mov ecx,edx sub ecx,eax shr ecx,1 sar eax,1 test ecx,ecx lea edi,[esi+eax*2] jle L00497775 xor eax,eax shr ecx,1 rep stosd adc ecx,ecx rep stosw mov edx,[ebp+08h] L00497775: mov ecx,[ebx+14h] mov [ebx+10h],ecx jmp L00497794 L0049777D: mov edi,[ebp+0Ch] mov ecx,edx shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb mov edx,[ebp+08h] mov [ebx+10h],edx L00497794: xor eax,eax mov [ebx+08h],eax mov [ebx+30h],eax L0049779C: mov esi,[ebp-04h] mov eax,[ebx] push esi mov esi,[ebp-08h] mov ecx,[eax] push esi push edx mov edx,[ebp+0Ch] push edx push eax call [ecx+4Ch] test byte ptr [ebp-14h],01h jnz L004977C5 mov ebx,[ebx] push 00000001h push 00000000h push 00000000h mov eax,[ebx] push ebx call [eax+30h] L004977C5: call SUB_L00497CF0 L004977CA: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 001Ch ;------------------------------------------------------------------------------ L004977D3: sub eax,ecx add eax,00010000h push eax mov eax,[ebx] push ecx push eax call [edx+2Ch] mov eax,[ebx+14h] mov ecx,[ebp+08h] cmp eax,ecx jge L0049782E mov edi,[ebp+0Ch] mov ecx,eax shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov edx,[ebp+08h] mov eax,[ebx+14h] mov esi,[ebp+0Ch] mov ecx,edx sub ecx,eax shr ecx,1 sar eax,1 test ecx,ecx lea edi,[esi+eax*2] jle L00497823 xor eax,eax shr ecx,1 rep stosd adc ecx,ecx rep stosw mov edx,[ebp+08h] L00497823: mov ecx,[ebx+14h] mov [ebx+10h],ecx jmp L004978B9 L0049782E: mov edi,[ebp+0Ch] mov edx,ecx shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb mov eax,[ebx+14h] mov edx,[ebp+08h] mov ecx,[ebp-04h] sub eax,edx cmp eax,ecx jnc L00497897 mov edi,[ebp-08h] mov ecx,eax mov eax,[ebp-0Ch] lea esi,[edx+eax] mov edx,ecx shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb mov edx,[ebp+08h] mov ecx,[ebp-04h] mov eax,[ebx+14h] mov esi,[ebp-08h] add ecx,edx sub ecx,eax sub eax,edx shr ecx,1 shr eax,1 test ecx,ecx lea edi,[esi+eax*2] jle L00497892 xor eax,eax shr ecx,1 rep stosd adc ecx,ecx rep stosw mov edx,[ebp+08h] L00497892: mov eax,[ebx+14h] jmp L004978B6 L00497897: mov eax,[ebp-0Ch] mov edi,[ebp-08h] lea esi,[edx+eax] mov edx,ecx shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb mov edx,[ebp+08h] mov eax,[ebp-04h] add eax,edx L004978B6: mov [ebx+10h],eax L004978B9: cmp dword ptr [ebp-10h],00008000h jnc L00497794 mov dword ptr [ebx+08h],00000001h mov dword ptr [ebx+34h],00000000h jmp L0049779C Align 8 SUB_L004978E0: push ebp mov ebp,esp sub esp,00000030h push ebx mov ebx,ecx push esi push edi mov eax,[ebx+24h] cmp eax,0000FFFFh jz L00497BB1 lea ecx,[ebp-28h] lea edx,[ebp-2Ch] push ecx push edx push eax push 00000008h push 00000007h mov ecx,L006AA860 call SUB_L00446620 mov edi,eax xor esi,esi cmp edi,esi mov [ebp-14h],edi jz L00497BB1 call SUB_L00497CA0 mov eax,[ebx] lea edx,[ebp-1Ch] push edx push eax mov ecx,[eax] call [ecx+24h] mov al,[ebp-1Ch] test al,02h jz L004979B6 mov eax,[ebx] push eax mov ecx,[eax] call [ecx+50h] lea ecx,[ebp-0Ch] push esi mov eax,[ebx] push ecx lea ecx,[ebp-10h] mov edx,[eax] push ecx lea ecx,[ebp-04h] push ecx lea ecx,[ebp-08h] push ecx push 00010000h push esi push eax call [edx+2Ch] mov edi,[ebp-08h] mov ecx,00004000h xor eax,eax rep stosd mov ecx,[ebp-0Ch] mov eax,[ebx] push ecx mov ecx,[ebp-10h] push ecx mov ecx,[ebp-04h] mov edi,00000001h push ecx mov ecx,[ebp-08h] mov [ebx+30h],edi mov [ebx+34h],edi mov dword ptr [ebx+24h],0000FFFFh mov edx,[eax] push ecx push eax call [edx+4Ch] mov eax,[ebx] push edi mov [ebx+14h],esi mov [ebx+10h],esi mov [ebx+08h],edi mov [ebx+04h],esi mov [ebx+0Ch],esi mov [ebx+18h],esi mov edx,[eax] push esi push esi push eax call [edx+30h] mov edi,[ebp-14h] jmp L004979C6 L004979B6: test al,01h jnz L004979C6 mov eax,[ebx] push 00000001h push esi push esi mov ecx,[eax] push eax call [ecx+30h] L004979C6: mov eax,[ebx] lea ecx,[ebp-30h] push ecx lea ecx,[ebp-20h] mov edx,[eax] push ecx push eax call [edx+10h] mov ecx,[ebp-20h] cmp ecx,00008000h jc L004979F4 mov eax,[ebx+08h] cmp eax,esi jnz L00497A01 cmp ecx,00008000h jnc L00497B8F L004979F4: mov eax,[ebx+08h] cmp eax,esi jnz L00497B8F jz L00497A25 L00497A01: lea ecx,[ebp-0Ch] push esi mov eax,[ebx] push ecx lea ecx,[ebp-10h] mov edx,[eax] push ecx lea ecx,[ebp-04h] push ecx lea ecx,[ebp-08h] push ecx push 00008000h push esi push eax call [edx+2Ch] mov [ebx+30h],esi jmp L00497A4B L00497A25: lea ecx,[ebp-0Ch] push esi mov eax,[ebx] push ecx lea ecx,[ebp-10h] mov edx,[eax] push ecx lea ecx,[ebp-04h] push ecx lea ecx,[ebp-08h] push ecx push 00008000h push 00008000h push eax call [edx+2Ch] mov [ebx+34h],esi L00497A4B: mov eax,[ebx+18h] mov ecx,[ebp-04h] cmp eax,esi jz L00497AD1 mov eax,[ebx+10h] mov edx,ecx add edx,eax mov eax,[ebx+20h] cmp edx,eax jl L00497AD1 xor edx,edx cmp ecx,esi mov [ebp-18h],edx jbe L00497B6D L00497A70: mov edi,[ebx+10h] mov eax,[ebx+20h] sub eax,edi jz L00497AC2 sub ecx,edx cmp ecx,eax mov [ebp-24h],ecx jge L00497A85 mov eax,ecx L00497A85: mov esi,[ebp-14h] mov ecx,eax lea esi,[esi+edi+28h] mov edi,[ebp-08h] add edi,edx mov edx,ecx shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb cmp eax,[ebp-24h] jnz L00497AAD mov ecx,[ebx+10h] add ecx,eax jmp L00497AB0 L00497AAD: mov ecx,[ebx+1Ch] L00497AB0: mov edx,[ebp-18h] mov [ebx+10h],ecx mov ecx,[ebp-04h] add edx,eax mov [ebp-18h],edx xor esi,esi jmp L00497AC8 L00497AC2: mov eax,[ebx+1Ch] mov [ebx+10h],eax L00497AC8: cmp edx,ecx jc L00497A70 jmp L00497B6D L00497AD1: mov edx,[ebx+10h] mov eax,[ebx+14h] cmp edx,eax jnz L00497B04 mov edi,[ebp-08h] mov ecx,00002000h xor eax,eax rep stosd cmp [ebx+08h],esi jz L00497AF8 mov ecx,[ebp-04h] mov dword ptr [ebx+30h],00000001h jmp L00497B6D L00497AF8: mov ecx,[ebp-04h] mov dword ptr [ebx+34h],00000001h jmp L00497B6D L00497B04: sub eax,edx cmp eax,ecx jl L00497B29 lea esi,[edi+edx+28h] mov edi,[ebp-08h] mov edx,ecx shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb mov ecx,[ebp-04h] mov eax,[ebx+10h] add eax,ecx jmp L00497B68 L00497B29: mov ecx,eax lea esi,[edi+edx+28h] mov edi,[ebp-08h] mov edx,ecx shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb mov ecx,[ebp-04h] mov esi,[ebp-08h] mov edx,ecx sub edx,eax shr edx,1 sar eax,1 test edx,edx lea edi,[esi+eax*2] jle L00497B65 mov ecx,edx xor eax,eax shr ecx,1 rep stosd adc ecx,ecx rep stosw mov ecx,[ebp-04h] L00497B65: mov eax,[ebx+14h] L00497B68: mov [ebx+10h],eax xor esi,esi L00497B6D: mov edi,[ebp-0Ch] mov eax,[ebx] push edi mov edi,[ebp-10h] mov edx,[eax] push edi push ecx mov ecx,[ebp-08h] push ecx push eax call [edx+4Ch] mov eax,[ebx+08h] xor edx,edx cmp eax,esi setz dl mov [ebx+08h],edx L00497B8F: cmp [ebx+30h],esi jz L00497BAC cmp [ebx+34h],esi jz L00497BAC mov [ebx+18h],esi mov dword ptr [ebx+24h],0000FFFFh mov ebx,[ebx] push esi push ebx mov eax,[ebx] call [eax+44h] L00497BAC: call SUB_L00497CF0 L00497BB1: pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L00497BC0: push ebp mov ebp,esp mov al,[L006AAA26] test al,al jz L00497BE2 mov eax,[ebp+08h] push 00000000h push 00000000h push 00000000h push eax push edx push ecx mov ecx,L006AAA10 call SUB_L004971D0 L00497BE2: pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 L00497BF0: push ebx mov ebx,ecx push edi xor edi,edi mov eax,[ebx+04h] test eax,eax jle L00497C31 push esi L00497BFE: mov eax,[ebx] mov esi,[eax+edi*4] test esi,esi jz L00497C28 mov eax,esi L00497C09: mov eax,[eax+08h] test eax,eax jnz L00497C09 test esi,esi jz L00497C28 mov ecx,[esi] push ecx call SUB_L0049A810 add esp,00000004h push esi call SUB_L0049A810 add esp,00000004h L00497C28: mov eax,[ebx+04h] inc edi cmp edi,eax jl L00497BFE pop esi L00497C31: mov edx,[ebx] push edx call SUB_L0049A810 add esp,00000004h pop edi pop ebx retn ;------------------------------------------------------------------------------ db 90h; '?' push edi xor edx,edx mov ecx,00000100h xor eax,eax mov edi,L007B7F10 mov [L007B8458],edx rep stosd push L00497C90 mov [L007B8314],edx mov [L007B8450],edx mov dword ptr [L007B844C],00000001h mov [L007B85A0],edx call SUB_L0049BC50 add esp,00000004h pop edi retn ;------------------------------------------------------------------------------ Align 16 L00497C90: retn ;------------------------------------------------------------------------------ Align 16 SUB_L00497CA0: push ebx mov ebx,[KERNEL32.dll!EnterCriticalSection] push esi mov esi,[KERNEL32.dll!LeaveCriticalSection] push edi mov edi,[KERNEL32.dll!Sleep] L00497CB5: push L007B7E30 call ebx mov eax,[L007B85B8] test eax,eax jz L00497CD2 push L007B7E30 call esi push 00000001h call edi jmp L00497CB5 L00497CD2: push L007B7E30 mov dword ptr [L007B85B8],00000001h call esi pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ Align 16 SUB_L00497CF0: push L007B7E30 call [KERNEL32.dll!EnterCriticalSection] mov dword ptr [L007B85B8],00000000h push L007B7E30 call [KERNEL32.dll!LeaveCriticalSection] retn ;------------------------------------------------------------------------------ Align 16 L00497D20: push ebp mov ebp,esp sub esp,00000008h push ebx mov ebx,[KERNEL32.dll!EnterCriticalSection] push edi push L007B7E30 call ebx mov eax,[L007B85B8] test eax,eax jnz L00497E2B mov edi,[KERNEL32.dll!LeaveCriticalSection] push L007B7E30 mov dword ptr [L007B85B8],00000001h call edi mov eax,[ebp+08h] mov ecx,[L007B8458] cmp eax,ecx jnz L00497E0B cmp dword ptr [ebp+10h],00000001h jnz L00497E0B mov eax,[L007B85BC] test eax,eax jnz L00497E0B lea ecx,[ebp-08h] mov dword ptr [L007B85BC],00000001h push ecx call [USER32.dll!GetCursorPos] mov eax,[L007B8310] lea edx,[ebp-08h] push edx push eax call [USER32.dll!ScreenToClient] lea ecx,[ebp+10h] lea edx,[ebp+08h] push ecx push edx mov ecx,L006A9DC0 call SUB_L00450540 mov ecx,L006A9DC0 call SUB_L00451360 mov eax,[ebp-08h] mov ecx,[ebp+08h] cmp eax,ecx jnz L00497DE3 mov ecx,[ebp-04h] mov eax,[ebp+10h] cmp ecx,eax jnz L00497DE3 mov ecx,L006A9DC0 call SUB_L00450110 test eax,eax jz L00497E01 L00497DE3: mov edx,[ebp-04h] mov eax,[ebp-08h] push edx push eax mov ecx,L006A9DC0 call SUB_L00450ED0 push 00000001h mov ecx,L006A9DC0 call SUB_L004514F0 L00497E01: mov dword ptr [L007B85BC],00000000h L00497E0B: push L007B7E30 call ebx push L007B7E30 mov dword ptr [L007B85B8],00000000h call edi pop edi pop ebx mov esp,ebp pop ebp retn 0014h ;------------------------------------------------------------------------------ L00497E2B: push L007B7E30 call [KERNEL32.dll!LeaveCriticalSection] pop edi pop ebx mov esp,ebp pop ebp retn 0014h ;------------------------------------------------------------------------------ Align 4 SUB_L00497E40: push ebp mov ebp,esp sub esp,000001F4h push ebx push esi mov edx,ecx push edi mov edi,[L004D0E5C] or ecx,FFFFFFFFh xor eax,eax lea ebx,[ebp-000001F4h] repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,ebx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h test edx,edx rep movsb jz L00497ED6 mov edi,L004D0ED0 or ecx,FFFFFFFFh xor eax,eax lea ebx,[ebp-000001F4h] repne scasb not ecx sub edi,ecx mov esi,edi mov edi,ebx mov ebx,ecx or ecx,FFFFFFFFh repne scasb mov ecx,ebx dec edi shr ecx,02h rep movsd mov ecx,ebx lea ebx,[ebp-000001F4h] and ecx,00000003h rep movsb mov edi,edx or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov esi,edi mov edx,ecx mov edi,ebx or ecx,FFFFFFFFh repne scasb mov ecx,edx dec edi shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb L00497ED6: mov ecx,[L007B8310] lea eax,[ebp-000001F4h] push eax push ecx call [USER32.dll!SetWindowTextA] pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 L00497F00: mov eax,[L007B8310] push 00000000h push 00009C99h push 00000111h push eax call [USER32.dll!SendMessageA] retn ;------------------------------------------------------------------------------ Align 8 L00497F20: mov eax,[L004D0E58] push eax call [KERNEL32.dll!CloseHandle] retn ;------------------------------------------------------------------------------ Align 4 L00497F30: push L00549370 call [KERNEL32.dll!EnterCriticalSection] mov eax,[L007B8458] test eax,eax jz L00497F4B push eax call [WINMM.dll!timeKillEvent] L00497F4B: push L00549370 call [KERNEL32.dll!LeaveCriticalSection] retn ;------------------------------------------------------------------------------ Align 16 SUB_L00497F60: push ebp mov ebp,esp push FFFFFFFFh push L004B553C mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000024h push ebx push esi push edi push SSZ004D101C_UoClientApp push 00000020h push 00000000h push 00000002h push 00000000h push FFFFFFFFh call [KERNEL32.dll!CreateFileMappingA] mov ebx,[KERNEL32.dll!CloseHandle] mov esi,[USER32.dll!MessageBoxA] mov edi,[KERNEL32.dll!ExitProcess] mov [L004D0E58],eax test eax,eax jz L00497FD7 call [KERNEL32.dll!GetLastError] cmp eax,000000B7h jnz L00497FD7 mov eax,[L004D0E58] push eax call ebx push 00000000h push SSZ004C9008_ERROR push SSZ004D0FF0_Another_instance_of_UO_is_alread push 00000000h call esi push 00000001h call edi L00497FD7: push SSZ004D0FE4_UoPatchApp push 00000000h push 00000004h call [KERNEL32.dll!OpenFileMappingA] test eax,eax mov [L004D0E58],eax jz L00498006 push eax call ebx push 00000000h push SSZ004C9008_ERROR push SSZ004D0FB8_An_instance_of_UO_Patch_is_alrea push 00000000h call esi push 00000001h call edi L00498006: call [USER32.dll!GetDesktopWindow] push eax call [USER32.dll!GetWindowDC] mov ebx,eax push 0000000Ch push ebx call [GDI32.dll!GetDeviceCaps] push ebx mov [ebp-10h],eax call [USER32.dll!GetDesktopWindow] push eax call [USER32.dll!ReleaseDC] cmp dword ptr [ebp-10h],00000010h jge L0049804B xor ebx,ebx push ebx push SSZ004D0FA4_Error__Color_Mode push SSZ004D0ED4_ERROR__Ultima_Online_requires_th push ebx call esi push 00000001h call edi jmp L0049804D L0049804B: xor ebx,ebx L0049804D: push 00007F8Ah push ebx call [USER32.dll!LoadCursorA] mov edi,[USER32.dll!SetCursor] push eax call edi push L00497F20 mov [ebp-10h],eax call SUB_L0049BC50 add esp,00000004h push L00497F30 call SUB_L0049BC50 add esp,00000004h push 00000150h call SUB_L0049A820 add esp,00000004h mov [ebp-14h],eax cmp eax,ebx mov [ebp-04h],ebx jz L0049809D mov ecx,eax call SUB_L0040CC70 L0049809D: mov dword ptr [ebp-04h],FFFFFFFFh call [COMCTL32.dll!COMCTL32.17] cmp [ebp+0Ch],ebx jz L004980C4 xor eax,eax mov ecx,[ebp-0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0010h ;------------------------------------------------------------------------------ L004980C4: mov ecx,L006BB1C8 call SUB_L004554E0 mov esi,[USER32.dll!GetSystemMetrics] push ebx call esi cmp eax,00000280h jnz L004980EC push ebx call esi test eax,eax jz L004980EC mov byte ptr [L004C5624],00h L004980EC: mov ecx,L006AA860 call SUB_L00445B40 call SUB_L004455B0 mov ecx,L006A9DC0 call SUB_L004501C0 mov ecx,L006BB1C8 call SUB_L00455470 mov ecx,[ebp+14h] mov edx,[ebp+10h] mov esi,[ebp+08h] push ecx push edx push ebx push esi mov ecx,L007B7F10 call SUB_L00498470 cmp [L004D0E54],ebx jz L0049813B push ebx mov [L004D0E54],ebx call [USER32.dll!ShowCursor] L0049813B: push 00000001h mov ecx,L006A9DC0 call SUB_L00451350 mov eax,[L007B8310] mov ecx,L006AAA10 push eax call SUB_L00496830 push 00000194h call SUB_L0049A820 add esp,00000004h mov [ebp+0Ch],eax cmp eax,ebx mov dword ptr [ebp-04h],00000001h jz L0049817E mov ecx,eax call SUB_L00489CB0 mov [ebp+0Ch],eax jmp L00498181 L0049817E: mov [ebp+0Ch],ebx L00498181: mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L0044AEA0 mov al,[L004CCB24] test al,al jz L0049819B call SUB_L00499A40 L0049819B: push 0000008Eh push esi call [USER32.dll!LoadAcceleratorsA] mov ecx,[ebp-10h] mov [ebp+14h],eax push ecx call edi mov ecx,L006AAE78 call SUB_L0043BE00 push 0000022Ch call SUB_L0049A820 add esp,00000004h mov [ebp+10h],eax cmp eax,ebx mov dword ptr [ebp-04h],00000002h jz L004981DE mov ecx,eax call SUB_L004497B0 jmp L004981E0 L004981DE: xor eax,eax L004981E0: or esi,FFFFFFFFh mov ecx,eax mov [ebp-04h],esi mov [L006BB5D0],eax call SUB_L00449810 push 00020040h call SUB_L0049A820 add esp,00000004h mov [ebp+10h],eax cmp eax,ebx mov dword ptr [ebp-04h],00000003h jz L00498216 mov ecx,eax call SUB_L004894A0 jmp L00498218 L00498216: xor eax,eax L00498218: mov edx,[L007B8310] mov [ebp-04h],esi mov esi,[USER32.dll!GetMenu] push edx mov [L006BB1CC],eax call esi mov cl,[L004CCB2C] mov edi,[USER32.dll!CheckMenuItem] neg cl sbb ecx,ecx and ecx,00000008h push ecx push 00009CBCh push eax call edi mov edx,[L007B8310] mov bl,[L006BD8F8] push edx call esi neg bl sbb ebx,ebx and ebx,00000008h push ebx push 00009C89h push eax call edi mov eax,[L007B8310] mov bl,[L006AAA26] push eax call esi neg bl sbb ebx,ebx and ebx,00000008h push ebx push 00009C8Ah push eax call edi call SUB_L00494430 mov dword ptr [ebp-2Ch],00000400h call [KERNEL32.dll!GetTickCount] push 00000000h push 00000001h push 00000008h mov ecx,L006BD8E8 mov ebx,eax call SUB_L00495FF0 mov edi,[USER32.dll!PeekMessageA] L004982B2: push 00000001h push 00000000h push 00000000h lea ecx,[ebp-30h] push 00000000h push ecx call edi test eax,eax jz L00498318 L004982C4: cmp dword ptr [ebp-2Ch],00000012h jz L00498391 mov eax,[ebp+14h] mov ecx,[L007B8310] lea edx,[ebp-30h] push edx push eax push ecx call [USER32.dll!TranslateAcceleratorA] lea edx,[ebp-30h] push edx call [USER32.dll!TranslateMessage] lea eax,[ebp-30h] push eax call [USER32.dll!DispatchMessageA] mov ecx,L006AAA10 call SUB_L00496FC0 call SUB_L0044CAC0 push 00000001h push 00000000h push 00000000h lea ecx,[ebp-30h] push 00000000h push ecx call edi test eax,eax jnz L004982C4 L00498318: cmp dword ptr [ebp-2Ch],00000012h jz L00498391 mov ecx,[L006BB1CC] call SUB_L00489A50 mov ecx,L006AAA10 call SUB_L00496FC0 call [KERNEL32.dll!GetTickCount] mov ecx,[L006BB3B0] mov esi,eax sub eax,ebx cmp eax,ecx jc L004982B2 lea edx,[ecx+ecx] cmp eax,edx jc L0049837A mov al,[L0073EC08] test al,al jz L00498367 push 00000001h mov ecx,L006BB1C8 call SUB_L00455C00 L00498367: push 00000000h mov ecx,L006BB1C8 call SUB_L00455C00 mov ebx,esi jmp L004982B2 L0049837A: push 00000000h mov ecx,L006BB1C8 call SUB_L00455C00 add ebx,[L006BB3B0] jmp L004982B2 L00498391: call SUB_L0044B1A0 push L00549370 call [KERNEL32.dll!EnterCriticalSection] mov eax,[L007B8458] test eax,eax jz L004983B1 push eax call [WINMM.dll!timeKillEvent] L004983B1: push L00549370 call [KERNEL32.dll!LeaveCriticalSection] mov edi,[USER32.dll!SendMessageA] mov esi,L007B7F10 L004983C7: mov eax,[esi] test eax,eax jz L004983D6 push 00000000h push 00000000h push 00000010h push eax call edi L004983D6: add esi,00000004h cmp esi,L007B8310 jl L004983C7 mov eax,[L007B8454] test eax,eax jz L004983F1 push eax call [USER32.dll!DestroyMenu] L004983F1: mov ecx,[L0073EBE4] test ecx,ecx jz L00498401 mov eax,[ecx] push 00000001h call [eax] L00498401: mov ecx,[L006BB5D0] test ecx,ecx jz L00498411 mov edx,[ecx] push 00000001h call [edx] L00498411: mov ecx,[L006BB1CC] mov dword ptr [L006BB5D0],00000000h test ecx,ecx jz L0049842B mov eax,[ecx] push 00000001h call [eax] L0049842B: mov ecx,[ebp+0Ch] mov dword ptr [L006BB1CC],00000000h test ecx,ecx jz L00498442 mov edx,[ecx] push 00000001h call [edx] L00498442: mov eax,[L00777388] test eax,eax jz L00498454 push eax call SUB_L0049A580 add esp,00000004h L00498454: mov ecx,[ebp-0Ch] mov eax,[ebp-28h] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0010h ;------------------------------------------------------------------------------ Align 8 SUB_L00498470: push ebp mov ebp,esp sub esp,000002B4h mov eax,[ebp+08h] push ebx push esi mov ebx,ecx push edi mov edi,[USER32.dll!GetSystemMetrics] push 00000020h mov [ebx+00000438h],eax call edi lea esi,[eax+eax+00000280h] push 00000021h mov [ebp-04h],esi call edi mov edx,eax push 00000004h mov [ebp+08h],edx call edi mov ecx,[ebp+08h] push 0000006Ah lea edx,[eax+ecx*2+000001E0h] mov eax,[ebx+00000438h] push eax mov [ebp+08h],edx call [USER32.dll!LoadMenuA] mov [ebx+00000544h],eax mov eax,[ebp+0Ch] test eax,eax jnz L00498730 lea ecx,[ebp-000000C0h] mov dword ptr [ebx+00000400h],00000000h push ecx mov dword ptr [ebp-000000C0h],00000094h call [KERNEL32.dll!GetVersionExA] mov edi,[ebp-000000B0h] mov cl,[L0073EC34] xor eax,eax cmp edi,00000002h setnz al inc eax test cl,cl mov [L004D0E50],eax jz L004985AF cmp eax,00000001h jnz L004985AF mov ecx,0000000Ah xor eax,eax lea edi,[ebp-2Ch] push 000000CFh rep stosd mov eax,[ebx+00000438h] mov dword ptr [ebp-2Ch],00000020h push eax mov dword ptr [ebp-28h],L00498AD0 mov [ebp-1Ch],eax call [USER32.dll!LoadIconA] lea edx,[ebp-2Ch] mov [ebp-18h],eax push edx mov dword ptr [ebp-14h],00000000h mov dword ptr [ebp-10h],0000000Dh mov dword ptr [ebp-08h],L004D0E60 call [USER32.dll!RegisterClassW] mov eax,[ebx+00000438h] mov ecx,[ebx+00000544h] mov edx,[ebp+08h] push 00000000h push eax push ecx push 00000000h push edx push esi push 80000000h push 80000000h push 00CF0000h push L004D0E60 push L004D0E60 push 00000000h call [USER32.dll!CreateWindowExW] jmp L0049864C L004985AF: lea esi,[ebx+00000410h] mov ecx,0000000Ah xor eax,eax mov edi,esi rep stosd mov eax,[ebx+00000438h] push 000000CFh push eax mov dword ptr [esi],00000020h mov dword ptr [ebx+00000414h],L00498AD0 mov [ebx+00000420h],eax call [USER32.dll!LoadIconA] mov [ebx+00000424h],eax mov dword ptr [ebx+00000428h],00000000h mov dword ptr [ebx+0000042Ch],0000000Dh mov eax,[L004D0E5C] push esi mov [ebx+00000434h],eax call [USER32.dll!RegisterClassA] mov ecx,[ebx+00000438h] mov edx,[ebx+00000544h] mov eax,[ebp+08h] push 00000000h push ecx mov ecx,[ebp-04h] push edx push 00000000h push eax mov eax,[L004D0E5C] push ecx push 80000000h push 80000000h push 00CF0000h push eax push eax push 00000000h call [USER32.dll!CreateWindowExA] L0049864C: test eax,eax mov [ebx+00000400h],eax jnz L00498730 mov al,[L0073EC34] test al,al jz L0049867E push 00000000h push SSZ004D1088_Unicode_Speech_Error push SSZ004D1028_CreateWindow____returned_a_NULL_ push 00000000h call [USER32.dll!MessageBoxA] mov byte ptr [L0073EC34],00h L0049867E: mov eax,[ebx+00000400h] test eax,eax jnz L00498730 lea esi,[ebx+00000410h] mov ecx,0000000Ah xor eax,eax mov edi,esi rep stosd mov eax,[ebx+00000438h] push 000000CFh push eax mov dword ptr [esi],00000020h mov dword ptr [ebx+00000414h],L00498AD0 mov [ebx+00000420h],eax call [USER32.dll!LoadIconA] mov [ebx+00000424h],eax mov dword ptr [ebx+00000428h],00000000h mov dword ptr [ebx+0000042Ch],0000000Dh mov edx,[L004D0E5C] push esi mov [ebx+00000434h],edx call [USER32.dll!RegisterClassA] mov eax,[ebx+00000438h] mov ecx,[ebx+00000544h] mov edx,[ebp+08h] push 00000000h push eax mov eax,[ebp-04h] push ecx push 00000000h push edx push eax mov eax,[L004D0E5C] push 80000000h push 80000000h push 00CF0000h push eax push eax push 00000000h call [USER32.dll!CreateWindowExA] mov [ebx+00000400h],eax L00498730: mov al,[L006BD468] test al,al jz L00498870 mov al,[L006BD42C] test al,al jz L00498870 or ecx,FFFFFFFFh mov edi,L006BD468 xor eax,eax lea edx,[ebp-000000ACh] repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi shr ecx,02h mov edi,edx lea edx,[ebp-000000ACh] rep movsd mov ecx,eax xor eax,eax and ecx,00000003h rep movsb or ecx,FFFFFFFFh mov edi,L004C40E4 repne scasb not ecx sub edi,ecx mov esi,edi mov edi,edx mov edx,ecx or ecx,FFFFFFFFh repne scasb mov ecx,edx dec edi shr ecx,02h rep movsd mov ecx,edx lea edx,[ebp-000000ACh] and ecx,00000003h rep movsb mov edi,L006BD42C or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov esi,edi mov edi,edx mov edx,ecx or ecx,FFFFFFFFh repne scasb mov ecx,edx dec edi shr ecx,02h rep movsd mov ecx,edx lea edx,[ebp-000002B4h] and ecx,00000003h rep movsb mov edi,[L004D0E5C] or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb lea ecx,[ebp-000000ACh] test ecx,ecx jz L00498860 mov edi,L004D0ED0 or ecx,FFFFFFFFh xor eax,eax lea edx,[ebp-000002B4h] repne scasb not ecx sub edi,ecx mov esi,edi mov edi,edx mov edx,ecx or ecx,FFFFFFFFh repne scasb mov ecx,edx dec edi shr ecx,02h rep movsd mov ecx,edx lea edx,[ebp-000002B4h] and ecx,00000003h rep movsb lea edi,[ebp-000000ACh] or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov esi,edi mov edi,edx mov edx,ecx or ecx,FFFFFFFFh repne scasb mov ecx,edx dec edi shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb L00498860: mov ecx,[L007B8310] lea eax,[ebp-000002B4h] push eax push ecx jmp L004988A7 L00498870: mov edi,[L004D0E5C] or ecx,FFFFFFFFh xor eax,eax lea edx,[ebp-000002B4h] repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx mov edx,[L007B8310] shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb lea ecx,[ebp-000002B4h] push ecx push edx L004988A7: call [USER32.dll!SetWindowTextA] mov eax,[ebp+14h] mov ecx,[ebx+00000400h] push eax push ecx call [USER32.dll!ShowWindow] mov edx,[ebx+00000400h] push edx call [USER32.dll!UpdateWindow] mov al,[L0073EC24] test al,al jz L004988EC mov eax,[L007B8310] push 00000000h push 00009C99h push 00000111h push eax call [USER32.dll!SendMessageA] L004988EC: pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0010h ;------------------------------------------------------------------------------ Align 16 SUB_L00498900: push ebp mov ebp,esp push ecx mov eax,[L007B8310] push ebx push esi push edi push eax call [USER32.dll!OpenClipboard] test eax,eax jz L004989C2 push 00000001h call [USER32.dll!GetClipboardData] mov ebx,eax xor esi,esi cmp ebx,esi jz L004989BC mov edi,ebx or ecx,FFFFFFFFh xor eax,eax mov [ebp-04h],esi repne scasb not ecx dec ecx mov edi,ecx mov ecx,[L0066962C] cmp ecx,esi jnz L00498959 cmp edi,000000F0h jle L00498990 mov edi,000000F0h jmp L00498990 L00498959: mov edx,[ecx] call [edx+000000E8h] test eax,eax jnz L00498986 mov ecx,[L0066962C] mov eax,[ecx] call [eax+000000ECh] test eax,eax jnz L00498986 cmp edi,000003E8h jle L00498997 mov edi,000003E8h jmp L00498997 L00498986: cmp edi,00000050h jle L00498990 mov edi,00000050h L00498990: mov dword ptr [ebp-04h],00000001h L00498997: test edi,edi jle L004989BC L0049899B: mov eax,[ebp-04h] test eax,eax jz L004989A8 cmp byte ptr [esi+ebx],0Dh jz L004989BC L004989A8: movsx ecx,[esi+ebx] push ecx mov ecx,L006BB1C8 call SUB_L00455F70 inc esi cmp esi,edi jl L0049899B L004989BC: call [USER32.dll!CloseClipboard] L004989C2: pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 SUB_L004989D0: push ebp mov ebp,esp sub esp,00000014h push ebx push esi push edi push L00549370 call [KERNEL32.dll!EnterCriticalSection] mov eax,[L007B8310] mov esi,[USER32.dll!GetWindowLongA] push FFFFFFF0h push eax call esi mov ecx,[L007B8310] and eax,7F39FFFFh or eax,00C60000h push eax push FFFFFFF0h push ecx call [USER32.dll!SetWindowLongA] mov edi,[USER32.dll!GetSystemMetrics] push 00000020h call edi mov edx,[L004D0EB8] push 00000021h lea ebx,[edx+eax*2] call edi mov edx,eax push 00000004h mov [ebp-04h],edx call edi mov ecx,[L004D0EBC] mov edx,[ebp-04h] add ecx,eax xor eax,eax mov [ebp-10h],eax mov [ebp-14h],eax push eax mov eax,[L007B8310] lea edi,[ecx+edx*2] push eax mov [ebp-08h],edi mov [ebp-0Ch],ebx call [USER32.dll!SetMenu] mov ecx,[L007B8310] push FFFFFFECh push ecx call esi mov edx,[L007B8310] push eax push 00000000h push FFFFFFF0h push edx call esi push eax lea eax,[ebp-14h] push eax call [USER32.dll!AdjustWindowRectEx] mov ecx,L00669568 call SUB_L00495740 mov ecx,[L007B8310] push 00000112h push edi push ebx push 00000000h push 00000000h push FFFFFFFEh push ecx call [USER32.dll!SetWindowPos] mov edx,[L007B8310] push 00000000h push 00000000h push edx call [USER32.dll!InvalidateRect] push L00549370 call [KERNEL32.dll!LeaveCriticalSection] mov byte ptr [L0073EC24],00h call SUB_L00467860 pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 4 L00498AD0: push ebp mov ebp,esp sub esp,0000006Ch mov eax,[L007B85AC] push ebx push esi xor esi,esi cmp eax,esi push edi jnz L00498B5F lea eax,[ebp-08h] push eax call [USER32.dll!GetCursorPos] mov edx,[L007B8310] lea ecx,[ebp-08h] push ecx push edx call [USER32.dll!ScreenToClient] cmp [L00669574],esi jnz L00498B25 mov ecx,[ebp-08h] cmp ecx,esi jl L00498B33 mov eax,[ebp-04h] cmp eax,esi jl L00498B33 cmp ecx,[L004C7F34] jge L00498B33 cmp eax,[L004C7F38] jge L00498B33 L00498B25: call [USER32.dll!GetFocus] cmp [L007B8310],eax jz L00498B4A L00498B33: mov ecx,[L004D0E54] mov eax,00000001h cmp ecx,eax jz L00498B5F mov [L004D0E54],eax push eax jmp L00498B59 L00498B4A: cmp [L004D0E54],esi jz L00498B5F mov [L004D0E54],esi push esi L00498B59: call [USER32.dll!ShowCursor] L00498B5F: mov ebx,[ebp+0Ch] mov edi,[ebp+14h] cmp ebx,0000000Fh ja L00498FA5 cmp ebx,0000000Fh jz L00498F81 lea eax,[ebx-01h] cmp eax,00000005h ja CASE_00499938_PROC0002 jmp [CASE_PROCTABLE_00499858+eax*4] CASE_00499858_PROC0005: test byte ptr [ebp+10h],03h jz L00498BDD mov eax,[L006BB18C] mov dword ptr [L007B844C],00000001h test eax,eax jz L00498BD1 mov eax,[ebp+08h] push eax call [USER32.dll!GetDC] mov ecx,[L006BB194] mov esi,eax push 00000000h push ecx push esi call [GDI32.dll!SelectPalette] push esi call [GDI32.dll!RealizePalette] mov edx,[ebp+08h] push esi push edx call [USER32.dll!ReleaseDC] L00498BD1: mov eax,[L007121C4] test eax,eax jmp L00499812 L00498BDD: mov dword ptr [L007B844C],00000000h jmp CASE_00499938_PROC0002 CASE_00499858_PROC0000: mov esi,[USER32.dll!LoadCursorA] mov ecx,00000040h xor eax,eax mov edi,L007B834C push 00007F00h push eax rep stosd call esi mov [L007B834C],eax mov eax,[L007B8348] push 00000067h push eax call esi mov ecx,[L007B8348] push 0000006Bh push ecx mov [L007B8350],eax call esi mov edx,[L007B8348] push 00000069h push edx mov [L007B8354],eax call esi mov [L007B8358],eax mov eax,[L007B8348] push 0000006Eh push eax call esi mov ecx,[L007B8348] push 00000068h push ecx mov [L007B835C],eax call esi mov edx,[L007B8348] push 0000006Dh push edx mov [L007B8360],eax call esi mov [L007B8364],eax mov eax,[L007B8348] push 0000006Ah push eax call esi mov ecx,[L007B8348] push 0000006Ch push ecx mov [L007B8368],eax call esi mov edx,[L007B8348] push 00000071h push edx mov [L007B836C],eax call esi mov [L007B8370],eax mov eax,[L007B8348] push 00000076h push eax call esi mov ecx,[L007B8348] push 00000077h push ecx mov [L007B8374],eax call esi mov edx,[L007B8348] push 00000078h push edx mov [L007B8378],eax call esi push 00007F00h push 00000000h mov [L007B837C],eax call esi push 00007F00h push 00000000h mov [L007B8380],eax call esi mov [L007B8384],eax mov eax,[L007B8348] push 00000079h push eax call esi push 00007F00h push 00000000h mov [L007B8388],eax call esi mov ecx,[L007B8348] push 00000082h push ecx mov [L007B838C],eax call esi mov edx,[L007B8348] push 00000083h push edx mov [L007B8390],eax call esi push 00007F00h push 00000000h mov [L007B8394],eax call esi mov [L007B83C4],eax mov eax,[L007B8348] push 0000007Fh push eax call esi mov ecx,[L007B8348] push 00000081h push ecx mov [L007B83C8],eax call esi mov edx,[L007B8348] push 0000007Eh push edx mov [L007B83CC],eax call esi mov [L007B83D0],eax mov eax,[L007B8348] push 0000007Ch push eax call esi mov ecx,[L007B8348] push 0000007Ah push ecx mov [L007B83D4],eax call esi mov edx,[L007B8348] push 0000007Bh push edx mov [L007B83D8],eax call esi mov [L007B83DC],eax mov eax,[L007B8348] push 0000007Dh push eax call esi mov ecx,[L007B8348] push 00000080h push ecx mov [L007B83E0],eax call esi mov edx,[L007B8348] push 000000A7h push edx mov [L007B83E4],eax call esi mov [L007B83E8],eax mov al,[L004CCBA4] test al,al mov dword ptr [L007B7E50],00000000h jz L004990EB push 00000001h push 00000001h push L00497D20 push 00000001h push 00000019h call [WINMM.dll!timeSetEvent] mov [L007B8458],eax xor eax,eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0010h ;------------------------------------------------------------------------------ CASE_00499858_PROC0001: mov eax,[L007B85A0] test eax,eax jnz L004990EB mov ecx,L00669608 call SUB_L00442890 push 00000000h mov dword ptr [L007121E4],00000001h call [USER32.dll!PostQuitMessage] xor eax,eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0010h ;------------------------------------------------------------------------------ CASE_00499858_PROC0004: mov eax,[L007B8310] mov edi,[ebp+08h] test eax,eax jnz L00498E7C mov eax,[L006BB18C] mov [L007B8310],edi test eax,eax jz L00498E7C push edi call [USER32.dll!GetDC] mov esi,eax mov eax,[L006BB194] push 00000000h push eax push esi call [GDI32.dll!SelectPalette] push esi call [GDI32.dll!RealizePalette] push esi push edi call [USER32.dll!ReleaseDC] L00498E7C: mov ecx,[ebp+14h] xor edx,edx cmp cx,dx jz L004990EB mov eax,ecx shr eax,10h cmp ax,dx jz L004990EB mov bl,[L004C5624] test bl,bl jz L00498F4C and ecx,0000FFFFh and eax,0000FFFFh mov [L004C7F34],ecx lea ecx,[ebp-10h] push ecx push edi mov [L004C7F38],eax call [USER32.dll!GetWindowRect] mov eax,[L007121F8] mov ecx,[L004C7F34] lea edx,[eax+00000280h] cmp ecx,edx jge L00498EE7 lea eax,[ecx-00000280h] mov [L007121F8],eax L00498EE7: mov edx,[L007121FC] mov esi,[L004C7F38] lea edi,[edx+000001E0h] cmp esi,edi jge L00498F09 lea edx,[esi-000001E0h] mov [L007121FC],edx L00498F09: xor edi,edi cmp eax,edi jge L00498F15 mov [L007121F8],edi L00498F15: cmp edx,edi jge L00498F1F mov [L007121FC],edi L00498F1F: add ecx,00000003h add esi,00000003h and ecx,FFFFFFFCh and esi,FFFFFFFCh mov [L004C7F34],ecx mov ecx,L00669608 mov [L004C7F38],esi call SUB_L0043F2E0 xor eax,eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0010h ;------------------------------------------------------------------------------ L00498F4C: mov ecx,L00669608 mov [L007121FC],edx mov [L007121F8],edx mov dword ptr [L004C7F34],00000280h mov dword ptr [L004C7F38],000001E0h call SUB_L0043F2E0 xor eax,eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0010h ;------------------------------------------------------------------------------ L00498F81: mov esi,[ebp+08h] lea eax,[ebp-6Ch] push eax push esi call [USER32.dll!BeginPaint] lea ecx,[ebp-6Ch] push ecx push esi call [USER32.dll!EndPaint] xor eax,eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0010h ;------------------------------------------------------------------------------ L00498FA5: cmp ebx,00000100h ja L00499127 jz L00499158 cmp ebx,00000046h jnz CASE_00499938_PROC0002 mov eax,[L007B85AC] test eax,eax jz L00498FD1 mov eax,[edi+18h] or al,03h mov [edi+18h],eax L00498FD1: test byte ptr [edi+18h],01h jnz CASE_00499938_PROC0002 mov al,[L004C5624] push 00000020h test al,al jz L004990F6 mov ebx,[USER32.dll!GetSystemMetrics] call ebx mov edx,[edi+10h] mov esi,eax shl esi,1 sub edx,esi cmp edx,00000280h jge L0049900C lea eax,[esi+00000280h] mov [edi+10h],eax L0049900C: push 00000021h call ebx mov edx,eax push 00000004h mov [ebp+14h],edx call ebx mov ecx,[ebp+14h] mov edx,[edi+14h] lea eax,[eax+ecx*2] sub edx,eax cmp edx,000001E0h jge L00499035 lea ecx,[eax+000001E0h] mov [edi+14h],ecx L00499035: mov edx,[edi+10h] mov ecx,[edi+14h] sub edx,esi sub ecx,eax add edx,00000003h add ecx,00000003h and edx,FFFFFFFCh and ecx,FFFFFFFCh add edx,esi mov esi,[USER32.dll!GetSystemMetrics] add ecx,eax push 00000000h mov [edi+10h],edx mov [edi+14h],ecx call esi cmp [edi+10h],eax jle L00499067 mov [edi+10h],eax L00499067: push 00000001h call esi cmp [edi+14h],eax jle L00499073 mov [edi+14h],eax L00499073: mov ebx,[ebp+0Ch] CASE_00499938_PROC0002: mov al,[L0073EC34] test al,al jz L004990A1 cmp dword ptr [L004D0E50],00000001h jnz L004990A1 mov ecx,[ebp+10h] mov edx,[ebp+08h] push edi push ecx push ebx push edx call [USER32.dll!DefWindowProcW] pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0010h ;------------------------------------------------------------------------------ L004990A1: mov eax,[ebp+10h] mov ecx,[ebp+08h] push edi push eax push ebx push ecx call [USER32.dll!DefWindowProcA] pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0010h ;------------------------------------------------------------------------------ L004990BA: mov ecx,L006BD8E8 call SUB_L00496510 xor eax,eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0010h ;------------------------------------------------------------------------------ L004990CF: call [USER32.dll!GetActiveWindow] cmp eax,[L007B8310] jnz L004990EB mov edx,[ebp+10h] push edx L004990E1: mov ecx,L006BB1C8 call SUB_L00456440 L004990EB: xor eax,eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0010h ;------------------------------------------------------------------------------ L004990F6: mov esi,[USER32.dll!GetSystemMetrics] call esi lea edx,[eax+eax+00000280h] push 00000021h mov [edi+10h],edx call esi mov edx,eax push 00000004h mov [ebp+14h],edx call esi mov ecx,[ebp+14h] lea edx,[eax+ecx*2+000001E0h] mov [edi+14h],edx jmp CASE_00499938_PROC0002 L00499127: cmp ebx,00000111h ja L004996DA jz L004993F9 mov eax,ebx sub eax,00000101h jz L004993AF dec eax jz L004992ED sub eax,00000002h jnz CASE_00499938_PROC0002 xor esi,esi L00499158: cmp dword ptr [ebp+10h],00000009h jnz L0049919A mov al,[L004CCB14] test al,al jz L0049918A mov eax,[L004C8404] cmp eax,FFFFFFFFh jnz L0049917F mov ecx,[L0073EBE4] cmp [ecx+00000150h],esi jz L00499183 L0049917F: cmp eax,esi jnz L0049919A L00499183: mov ecx,00000001h jmp L00499195 L0049918A: test edi,40000000h jnz L0049919A or ecx,FFFFFFFFh L00499195: call SUB_L00457900 L0049919A: mov eax,[L0066962C] cmp eax,esi jz L0049920A mov ecx,[eax+48h] cmp ecx,esi jz L0049920A mov edx,[ecx] call [edx+000000DCh] test eax,eax mov eax,[L0066962C] jz L004991C6 mov ecx,[eax+48h] cmp eax,[ecx+000000F0h] jz L004991E7 L004991C6: mov eax,[eax+48h] mov ecx,eax mov edx,[eax] call [edx+000000E0h] test eax,eax jz L0049920A mov eax,[L0066962C] mov ecx,[eax+48h] cmp eax,[ecx+00000264h] jnz L0049920A L004991E7: mov edx,[ebp+10h] mov [L007B7E58],edi mov [L007B7F08],edx mov ecx,[eax+48h] push eax mov edx,[ecx] call [edx+4Ch] xor eax,eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0010h ;------------------------------------------------------------------------------ L0049920A: mov esi,[USER32.dll!GetKeyState] push 00000011h call esi xor ecx,ecx push 00000010h test ax,ax setl cl mov [L007B8598],ecx call esi xor edx,edx push 00000012h test ax,ax setl dl mov [L007B7E48],edx call esi xor ecx,ecx test ax,ax mov eax,[L006BD298] setl cl mov esi,ecx xor ecx,ecx test eax,eax mov [L007B7E4C],esi mov [L007B7E54],eax jz L00499291 mov edx,[L007B8598] L0049925E: mov ebx,[ebp+10h] cmp [eax],ebx jnz L0049927E cmp [eax+08h],edx jnz L0049927E cmp [eax+0Ch],esi jnz L0049927E mov ebx,[L007B7E48] cmp [eax+10h],ebx jz L00499851 L0049927E: mov eax,[eax+000000E0h] inc ecx test eax,eax mov [L007B7E54],eax jnz L0049925E mov ebx,[ebp+0Ch] L00499291: mov ecx,[L0066962C] test ecx,ecx jz L004992CA mov eax,[ebp+10h] cmp eax,00000021h jc L004992A8 cmp eax,00000028h jbe L004992B4 L004992A8: cmp eax,0000002Eh jnz CASE_00499938_PROC0002 mov eax,[ebp+10h] L004992B4: mov edx,[ecx] add eax,0000E000h push eax call [edx+44h] xor eax,eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0010h ;------------------------------------------------------------------------------ L004992CA: mov eax,[ebp+10h] mov ecx,[L006BB5D0] push edi push eax call SUB_L00449820 test eax,eax jz CASE_00499938_PROC0002 xor eax,eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0010h ;------------------------------------------------------------------------------ L004992ED: cmp dword ptr [L004D0E50],00000001h jz L00499390 mov al,[L0073EC34] test al,al jz L00499390 mov eax,[ebp+10h] mov byte ptr [ebp+15h],00h push eax mov byte ptr [ebp+16h],00h mov [ebp-08h],si mov [ebp-06h],si mov [ebp-04h],si mov [ebp+14h],al call [KERNEL32.dll!IsDBCSLeadByte] test eax,eax jz L00499350 mov ecx,[ebp+08h] push 00000001h push 00000102h push 00000102h lea edx,[ebp-2Ch] push ecx push edx call [USER32.dll!PeekMessageA] test eax,eax jz L00499350 mov al,[ebp-24h] mov [ebp+15h],al L00499350: lea ecx,[ebp-08h] push 00000002h push ecx lea edx,[ebp+14h] push FFFFFFFFh push edx push esi call [KERNEL32.dll!GetACP] push eax call [KERNEL32.dll!MultiByteToWideChar] cmp eax,esi jz L004990EB mov eax,[ebp-08h] mov ecx,L006BB1C8 and eax,0000FFFFh push eax call SUB_L00455F70 xor eax,eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0010h ;------------------------------------------------------------------------------ L00499390: mov ecx,[ebp+10h] and ecx,0000FFFFh push ecx mov ecx,L006BB1C8 call SUB_L00455F70 xor eax,eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0010h ;------------------------------------------------------------------------------ L004993AF: cmp dword ptr [ebp+10h],00000009h jnz L004990EB mov al,[L004CCB14] test al,al jz L004990EB mov eax,[L004C8404] cmp eax,FFFFFFFFh jnz L004993DE mov edx,[L0073EBE4] cmp [edx+00000150h],esi jnz L004993E7 L004993DE: cmp eax,00000001h jnz L004990EB L004993E7: xor ecx,ecx call SUB_L00457900 xor eax,eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0010h ;------------------------------------------------------------------------------ L004993F9: mov eax,[ebp+10h] and eax,0000FFFFh add eax,FFFF63BFh cmp eax,0000008Eh ja CASE_00499938_PROC0002 xor ecx,ecx mov cl,[eax+CASE_004998A8] jmp [CASE_PROCTABLE_00499870+ecx*4] CASE_00499870_PROC0000: mov edx,[ebp+08h] push 00000000h push 00000000h push 00000010h push edx call [USER32.dll!SendMessageA] xor eax,eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0010h ;------------------------------------------------------------------------------ CASE_00499870_PROC0003: mov eax,[L007B8310] mov bl,[L006BD8F8] push eax call [USER32.dll!GetMenu] neg bl sbb ebx,ebx and ebx,FFFFFFF8h add ebx,00000008h push ebx push 00009C89h push eax call [USER32.dll!CheckMenuItem] mov al,[L006BD8F8] xor ecx,ecx test al,al setz cl push ecx mov ecx,L006BD8E8 call SUB_L004964D0 xor eax,eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0010h ;------------------------------------------------------------------------------ CASE_00499870_PROC0004: mov edx,[L007B8310] mov bl,[L006AAA26] push edx call [USER32.dll!GetMenu] neg bl sbb ebx,ebx and ebx,FFFFFFF8h add ebx,00000008h push ebx push 00009C8Ah push eax call [USER32.dll!CheckMenuItem] mov al,[L006AAA26] xor ecx,ecx test al,al setz cl push ecx mov ecx,L006AAA10 call SUB_L00496B40 xor eax,eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0010h ;------------------------------------------------------------------------------ CASE_00499870_PROC0001: mov eax,[L005492A0] test eax,eax jz L004990EB push 00000000h push 00000000h push 00001388h push 00000000h mov ecx,L00669608 call SUB_L00441620 xor eax,eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0010h ;------------------------------------------------------------------------------ CASE_00499870_PROC0009: mov edx,[L007B8310] push edx call [USER32.dll!GetMenu] mov cl,[L004CCB2C] neg cl sbb ecx,ecx and ecx,FFFFFFF8h add ecx,00000008h push ecx push 00009CBCh push eax call [USER32.dll!CheckMenuItem] mov al,[L004CCB2C] xor edx,edx test al,al setz dl mov [L004CCB2C],dl xor eax,eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0010h ;------------------------------------------------------------------------------ CASE_00499870_PROC000B: call SUB_L00449700 xor eax,eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0010h ;------------------------------------------------------------------------------ CASE_00499870_PROC0006: mov eax,[L005492A0] test eax,eax jz L004990EB or ecx,FFFFFFFFh call SUB_L00457900 xor eax,eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0010h ;------------------------------------------------------------------------------ CASE_00499870_PROC000C: mov cl,[L004CCB0C] xor eax,eax test cl,cl setz al mov [L004CCB0C],al xor eax,eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0010h ;------------------------------------------------------------------------------ CASE_00499870_PROC0008: mov eax,[L005492A0] test eax,eax jz L004990EB push 00000000h push 00000000h push 00001392h push 00000000h mov ecx,L00669608 call SUB_L00441620 xor eax,eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0010h ;------------------------------------------------------------------------------ CASE_00499870_PROC0007: mov eax,[L005492A0] test eax,eax jz L004990EB call SUB_L00455DD0 xor eax,eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0010h ;------------------------------------------------------------------------------ CASE_00499870_PROC0002: mov eax,[L00669574] mov dword ptr [L007B85A0],00000001h test eax,eax jnz L004996C0 push L00549370 call [KERNEL32.dll!EnterCriticalSection] mov ecx,[L007B8310] mov esi,[USER32.dll!GetWindowLongA] push FFFFFFF0h push ecx call esi mov edx,[L007B8310] and eax,FF39FFFFh or eax,80000000h push eax push FFFFFFF0h push edx call [USER32.dll!SetWindowLongA] mov ecx,[L004C7F38] mov eax,[L004C7F34] mov [L004D0EBC],ecx mov ecx,L00669568 mov [L004D0EB8],eax call SUB_L00495550 mov ecx,[L007B8310] mov edx,[L004C7F38] mov eax,[L004C7F34] xor edi,edi push FFFFFFECh push ecx mov [ebp-0Ch],edi mov [ebp-10h],edi mov [ebp-04h],edx mov [ebp-08h],eax call esi mov edx,[L007B8310] push eax push edx call [USER32.dll!GetMenu] neg eax sbb eax,eax neg eax push eax mov eax,[L007B8310] push FFFFFFF0h push eax call esi lea ecx,[ebp-10h] push eax push ecx call [USER32.dll!AdjustWindowRectEx] push L00549370 call [KERNEL32.dll!LeaveCriticalSection] mov byte ptr [L0073EC24],01h call SUB_L00467860 mov [L007B85A0],edi xor eax,eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0010h ;------------------------------------------------------------------------------ L004996C0: call SUB_L004989D0 mov dword ptr [L007B85A0],00000000h xor eax,eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0010h ;------------------------------------------------------------------------------ L004996DA: cmp ebx,00000222h ja L00499834 jz L004997C4 lea eax,[ebx-00000201h] cmp eax,00000004h ja CASE_00499938_PROC0002 jmp [CASE_PROCTABLE_00499938+eax*4] CASE_00499938_PROC0000: mov esi,[ebp+08h] push esi call [USER32.dll!SetCapture] push esi call [USER32.dll!SetFocus] mov eax,[ebp+14h] mov edx,eax shr edx,10h movsx ecx,dx movsx edx,ax push ecx push edx mov ecx,L006A9DC0 call SUB_L00450860 xor eax,eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0010h ;------------------------------------------------------------------------------ CASE_00499938_PROC0001: call [USER32.dll!ReleaseCapture] mov eax,[ebp+14h] mov ecx,eax shr ecx,10h movsx edx,cx movsx eax,ax push edx push eax mov ecx,L006A9DC0 call SUB_L004509A0 xor eax,eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0010h ;------------------------------------------------------------------------------ CASE_00499938_PROC0003: mov esi,[ebp+08h] push esi call [USER32.dll!SetCapture] push esi call [USER32.dll!SetFocus] mov eax,[ebp+14h] mov ecx,eax shr ecx,10h movsx edx,cx movsx eax,ax push edx push eax mov ecx,L006A9DC0 call SUB_L00450BC0 xor eax,eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0010h ;------------------------------------------------------------------------------ CASE_00499938_PROC0004: call [USER32.dll!ReleaseCapture] mov eax,[ebp+14h] mov ecx,eax shr ecx,10h movsx edx,cx movsx eax,ax push edx push eax mov ecx,L006A9DC0 call SUB_L00450CF0 pop edi pop esi xor eax,eax pop ebx mov esp,ebp pop ebp retn 0010h ;------------------------------------------------------------------------------ L004997C4: cmp edi,[ebp+08h] jnz L00499829 mov eax,[L006BB18C] mov dword ptr [L007B844C],00000001h cmp eax,esi jz L0049980C mov ecx,[ebp+08h] push ecx call [USER32.dll!GetDC] mov edx,[L006BB194] mov esi,eax push 00000000h push edx push esi call [GDI32.dll!SelectPalette] push esi call [GDI32.dll!RealizePalette] mov eax,[ebp+08h] push esi push eax call [USER32.dll!ReleaseDC] xor esi,esi L0049980C: cmp [L007121C4],esi L00499812: jz CASE_00499938_PROC0002 push 00000011h mov ecx,L006A9DC0 call SUB_L00450120 jmp CASE_00499938_PROC0002 L00499829: mov [L007B844C],esi jmp CASE_00499938_PROC0002 L00499834: cmp ebx,00000312h jz L004990CF cmp ebx,000003B9h jz L004990BA jmp CASE_00499938_PROC0002 L00499851: push ecx jmp L004990E1 Align 4 CASE_PROCTABLE_00499858: dd CASE_00499858_PROC0000 dd CASE_00499858_PROC0001 dd CASE_00499938_PROC0002 dd CASE_00499938_PROC0002 dd CASE_00499858_PROC0004 dd CASE_00499858_PROC0005 CASE_PROCTABLE_00499870: dd CASE_00499870_PROC0000 dd CASE_00499870_PROC0001 dd CASE_00499870_PROC0002 dd CASE_00499870_PROC0003 dd CASE_00499870_PROC0004 dd CASE_00499870_PROC0002 dd CASE_00499870_PROC0006 dd CASE_00499870_PROC0007 dd CASE_00499870_PROC0008 dd CASE_00499870_PROC0009 dd CASE_00499870_PROC0001 dd CASE_00499870_PROC000B dd CASE_00499870_PROC000C dd CASE_00499938_PROC0002 CASE_004998A8: db 00h, 0Dh, 0Dh, 01h, 0Dh, 0Dh, 0Dh, 0Dh, 0Dh, 0Dh, 0Dh, 0Dh, 0Dh, 0Dh, 0Dh, 0Dh db 0Dh, 0Dh, 0Dh, 0Dh, 0Dh, 0Dh, 0Dh, 0Dh, 0Dh, 0Dh, 0Dh, 0Dh, 0Dh, 0Dh, 0Dh, 0Dh db 0Dh, 0Dh, 0Dh, 0Dh, 0Dh, 0Dh, 0Dh, 0Dh, 0Dh, 0Dh, 02h, 0Dh, 0Dh, 0Dh, 0Dh, 0Dh db 0Dh, 0Dh, 0Dh, 0Dh, 0Dh, 0Dh, 0Dh, 0Dh, 0Dh, 0Dh, 0Dh, 0Dh, 0Dh, 0Dh, 0Dh, 0Dh db 0Dh, 0Dh, 0Dh, 0Dh, 0Dh, 0Dh, 0Dh, 0Dh, 03h, 04h, 0Dh, 0Dh, 0Dh, 0Dh, 0Dh, 0Dh db 0Dh, 0Dh, 0Dh, 0Dh, 0Dh, 0Dh, 0Dh, 0Dh, 05h, 0Dh, 0Dh, 0Dh, 0Dh, 0Dh, 0Dh, 0Dh db 0Dh, 0Dh, 0Dh, 0Dh, 0Dh, 0Dh, 0Dh, 0Dh, 0Dh, 0Dh, 0Dh, 0Dh, 0Dh, 0Dh, 0Dh, 0Dh db 0Dh, 0Dh, 06h, 07h, 0Dh, 0Dh, 0Dh, 08h, 0Dh, 0Dh, 0Dh, 09h, 0Ah, 0Dh, 0Dh, 0Dh db 0Dh, 0Dh, 0Dh, 0Dh, 0Dh, 0Dh, 0Dh, 0Dh, 0Dh, 0Dh, 0Dh, 0Bh, 0Dh, 0Dh, 0Ch Align 4 CASE_PROCTABLE_00499938: dd CASE_00499938_PROC0000 dd CASE_00499938_PROC0001 dd CASE_00499938_PROC0002 dd CASE_00499938_PROC0003 dd CASE_00499938_PROC0004 Align 8 L00499950: push ebp mov ebp,esp sub esp,00000080h mov eax,[L007B859C] inc eax cmp eax,00000002h mov [L007B859C],eax jnz L00499991 mov eax,[L007B7E6C] lea edx,[ebp-80h] push edx push 01000400h push 00000000h mov dword ptr [ebp-80h],00000064h mov dword ptr [ebp-30h],00000000h mov ecx,[eax] push 00000000h push 00000000h push eax call [ecx+14h] L00499991: push 00000000h push 00000000h push 00000000h lea eax,[ebp-1Ch] push 00000000h push eax call [USER32.dll!PeekMessageA] test eax,eax jz L00499A37 push 00000000h push 00000000h lea ecx,[ebp-1Ch] push 00000000h push ecx call [USER32.dll!GetMessageA] test eax,eax jz L00499A37 mov eax,[ebp-18h] cmp eax,00000100h jz L00499A2E cmp eax,00000201h jz L00499A2E cmp eax,00000204h jz L00499A2E cmp eax,00000112h jnz L004999E7 cmp dword ptr [ebp-14h],0000F120h jz L00499A2E L004999E7: cmp eax,0000000Fh jnz L00499A14 mov eax,[L007B7E6C] lea ecx,[ebp-80h] push ecx push 01000400h push 00000000h mov dword ptr [ebp-80h],00000064h mov dword ptr [ebp-30h],00000000h mov edx,[eax] push 00000000h push 00000000h push eax call [edx+14h] L00499A14: lea edx,[ebp-1Ch] push edx call [USER32.dll!TranslateMessage] lea eax,[ebp-1Ch] push eax call [USER32.dll!DispatchMessageA] xor eax,eax mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00499A2E: mov eax,00000001h mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00499A37: xor eax,eax mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 4 SUB_L00499A40: push ebp mov ebp,esp sub esp,000001B8h mov ecx,[L007B8310] push ebx push esi lea eax,[ebp-48h] push edi push eax push ecx mov dword ptr [ebp-48h],0000002Ch call [USER32.dll!GetWindowPlacement] mov eax,[ebp-40h] xor ebx,ebx cmp eax,ebx jz L00499D8F cmp eax,00000006h jz L00499D8F push L004C40E0 push SSZ004D10A0_music_intro_wve mov ecx,L006BB1C8 call SUB_L00455E10 push eax call SUB_L0049A7F0 add esp,00000008h cmp eax,ebx jz L00499AB5 push eax call SUB_L0049A580 add esp,00000004h mov ecx,L006BB1C8 push SSZ004D10A0_music_intro_wve call SUB_L00455E10 jmp L00499AF2 L00499AB5: push L004C40E0 push SSZ004D10A0_music_intro_wve mov ecx,L006BB1C8 call SUB_L00455EC0 push eax call SUB_L0049A7F0 add esp,00000008h cmp eax,ebx jz L00499D8A push eax call SUB_L0049A580 add esp,00000004h mov ecx,L006BB1C8 push SSZ004D10A0_music_intro_wve call SUB_L00455EC0 L00499AF2: mov edi,eax or ecx,FFFFFFFFh xor eax,eax lea edx,[ebp-000001B8h] repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax mov eax,[L006AAA38] and ecx,00000003h rep movsb mov ecx,[L006AAA10] mov [L007B7EAC],eax mov eax,[L00669574] mov [ebp-04h],ebx cmp eax,ebx mov [L007B7EA8],ecx mov dword ptr [L007B7F00],L00499950 mov dword ptr [L007B7E60],00840060h jz L00499B72 mov edx,[L00669568] mov eax,[L0066956C] mov [L007B7E68],edx mov [L007B7E6C],eax mov dword ptr [L007B7E60],0084006Ch jmp L00499CAD L00499B72: push ebx push L007B7E68 push ebx call jmp_DDRAW.dll!DirectDrawCreate cmp eax,ebx jnz L00499D8F mov eax,[L007B7E68] push 00000008h push ebx push eax mov ecx,[eax] call [ecx+50h] cmp eax,ebx jnz L00499D8F mov ecx,0000001Bh xor eax,eax lea edi,[ebp-000000B4h] push ebx rep stosd mov eax,[L007B7E68] lea ecx,[ebp-000000B4h] mov dword ptr [ebp-000000B4h],0000006Ch mov dword ptr [ebp-000000B0h],00000001h mov dword ptr [ebp-4Ch],00000200h mov edx,[eax] push L007B7E6C push ecx push eax call [edx+18h] cmp eax,ebx jz L00499C01 mov edx,[L007B8310] push ebx push SSZ004D0770_Note_ push SSZ004D074C_Failed_to_create_primary_surface push edx call [USER32.dll!MessageBoxA] pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00499C01: mov eax,[L007B7E68] lea edx,[ebp-04h] push ebx push edx mov ecx,[eax] push ebx push eax call [ecx+10h] cmp eax,ebx jnz L00499D8F mov eax,[ebp-04h] mov edx,[L007B8310] push edx push ebx mov ecx,[eax] push eax call [ecx+20h] cmp eax,ebx jnz L00499D8F mov eax,[L007B7E6C] mov edx,[ebp-04h] push edx push eax mov ecx,[eax] call [ecx+70h] cmp eax,ebx jnz L00499D8F mov ecx,[L007B8310] lea eax,[ebp-0Ch] push eax push ecx mov [ebp-0Ch],ebx mov [ebp-08h],ebx call [USER32.dll!ClientToScreen] mov eax,[L007B8310] lea edx,[ebp-1Ch] push edx push eax call [USER32.dll!GetClientRect] mov ecx,[ebp-14h] mov edi,[ebp-0Ch] lea eax,[ecx-00000280h] mov ecx,[ebp-08h] cdq sub eax,edx mov edx,[ebp-10h] sar eax,1 add eax,edi mov [L007B7EBC],eax lea eax,[edx-000001E0h] cdq sub eax,edx sar eax,1 add eax,ecx mov [L007B7EC0],eax mov eax,[L007B7E60] or al,03h mov [L007B7E60],eax L00499CAD: push ebx mov ecx,L006A9DC0 mov dword ptr [L007B85AC],00000001h call SUB_L00451350 mov al,[L006BD8F8] mov ecx,L006BD8E8 push ebx mov [L007B859C],ebx mov [ebp-08h],al call SUB_L004964D0 xor edx,edx mov ecx,SSZ004C7768_intro push 00000001h push ebx push ebx call SUB_L0044B850 mov esi,eax push SUB_L00492DC0 call SUB_L004AA040 add esp,00000004h push SUB_L00492A20 call SUB_L004AA030 add esp,00000004h push esi call SUB_L004AA050 mov ecx,[L007B8310] add esp,00000004h lea edx,[ebp-000001B8h] push L007B7E60 push ecx push edx call SUB_L004A9A00 add esp,0000000Ch mov ecx,L006A9DC0 push 00000001h call SUB_L00451350 mov eax,[ebp-08h] mov ecx,L006BD8E8 push eax mov [L007B85AC],ebx call SUB_L004964D0 mov ecx,[L007B85B0] push ecx call [GDI32.dll!DeleteObject] cmp [L00669574],ebx jnz L00499D8F mov eax,[ebp-04h] cmp eax,ebx jz L00499D6D mov edx,[eax] push eax call [edx+08h] L00499D6D: mov eax,[L007B7E6C] push eax mov ecx,[eax] call [ecx+08h] mov eax,[L007B7E68] push eax mov edx,[eax] call [edx+08h] pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00499D8A: call SUB_L00499DA0 L00499D8F: pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L00499DA0: push ebp mov ebp,esp sub esp,00000060h mov ecx,[L007B8310] push ebx push esi lea eax,[ebp-60h] push edi push eax push ecx mov dword ptr [ebp-60h],0000002Ch call [USER32.dll!GetWindowPlacement] mov eax,[ebp-58h] test eax,eax jz L0049A003 cmp eax,00000006h jz L0049A003 mov dl,[L006BD8F8] push 00000000h mov ecx,L006BD8E8 mov [ebp-08h],dl call SUB_L004964D0 mov al,[L006AAA26] test al,al jz L00499E05 mov ecx,L006AAA10 call SUB_L00496A90 test al,al mov byte ptr [ebp-01h],01h jnz L00499E09 L00499E05: mov byte ptr [ebp-01h],00h L00499E09: mov al,[ebp-01h] test al,al jz L00499E1A mov ecx,L006AAA10 call SUB_L00496A20 L00499E1A: push L004C40E0 push SSZ004D10B0_music_intro_avi mov ecx,L006BB1C8 call SUB_L00455E10 push eax call SUB_L0049A7F0 add esp,00000008h test eax,eax jz L00499E65 push eax call SUB_L0049A580 add esp,00000004h mov ecx,L006BB1C8 push SSZ004D10B0_music_intro_avi call SUB_L00455E10 mov ecx,[L007B8310] push eax mov eax,[L007B8348] push 0000000Ah push eax push ecx jmp L00499EB2 L00499E65: push L004C40E0 push SSZ004D10B0_music_intro_avi mov ecx,L006BB1C8 call SUB_L00455EC0 push eax call SUB_L0049A7F0 add esp,00000008h test eax,eax jz L0049A003 push eax call SUB_L0049A580 add esp,00000004h mov ecx,L006BB1C8 push SSZ004D10B0_music_intro_avi call SUB_L00455EC0 mov edx,[L007B8348] push eax mov eax,[L007B8310] push 0000000Ah push edx push eax L00499EB2: call jmp_MSVFW32.dll!MCIWndCreateA mov edx,[L007B8310] add esp,00000010h lea ecx,[ebp-18h] mov esi,eax push ecx push edx call [USER32.dll!GetClientRect] push 00000004h push 000001E0h push 00000280h push 00000000h push 00000000h push 00000000h push esi call [USER32.dll!SetWindowPos] mov edi,[USER32.dll!SendMessageA] lea eax,[ebp-18h] push eax push 00000000h push 0000048Fh push esi call edi mov ecx,L006A9DC0 mov dword ptr [L007B85AC],00000001h push 00000000h call SUB_L00451350 push 000003E8h push 00000000h push 00000470h push esi call edi push 00000000h push 00000000h push 00000806h push esi call edi push 00000000h push 00000000h push 00000468h push esi call edi mov ebx,eax L00499F39: push esi call [USER32.dll!SetFocus] lea ecx,[ebp-34h] push 00000001h push 00000000h push 00000000h push 00000000h push ecx call [USER32.dll!PeekMessageA] push 00000000h push 00000000h push 00000466h push esi call edi cmp eax,ebx jge L00499F83 mov eax,[ebp-30h] cmp eax,00000100h jz L00499F83 cmp eax,00000201h jz L00499F83 cmp eax,00000112h jnz L00499F39 cmp dword ptr [ebp-2Ch],0000F120h jnz L00499F39 L00499F83: push 00000001h mov ecx,L006A9DC0 call SUB_L00451350 mov dword ptr [L007B85AC],00000000h push 00000000h push 00000000h push 00000010h push esi call edi mov eax,[L006BB18C] test eax,eax jz L00499FDE mov edx,[L007B8310] push edx call [USER32.dll!GetDC] mov esi,eax mov eax,[L006BB194] push 00000000h push eax push esi call [GDI32.dll!SelectPalette] push esi call [GDI32.dll!RealizePalette] mov ecx,[L007B8310] push esi push ecx call [USER32.dll!ReleaseDC] L00499FDE: mov edx,[ebp-08h] mov ecx,L006BD8E8 push edx call SUB_L004964D0 mov al,[ebp-01h] test al,al jz L0049A003 mov eax,[L007B8310] mov ecx,L006AAA10 push eax call SUB_L00496830 L0049A003: pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 SUB_L0049A010: push ebp mov ebp,esp mov eax,[ebp+08h] cmp eax,00000027h ja CASE_0049A050_PROC0000 xor ecx,ecx mov cl,[eax+CASE_0049A06C] jmp [CASE_PROCTABLE_0049A050+ecx*4] CASE_0049A050_PROC0001: xor eax,eax mov ecx,L006A9DC0 push eax call SUB_L00450120 pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_0049A050_PROC0000: mov eax,00000011h mov ecx,L006A9DC0 push eax call SUB_L00450120 pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_0049A050: dd CASE_0049A050_PROC0000 dd CASE_0049A050_PROC0001 dd CASE_0049A050_PROC0000 dd CASE_0049A050_PROC0000 dd CASE_0049A050_PROC0001 dd CASE_0049A050_PROC0000 dd CASE_0049A050_PROC0000 CASE_0049A06C: db 00h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 02h, 02h, 02h, 02h, 02h, 02h, 02h db 02h, 02h, 02h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 03h, 04h db 04h, 04h, 04h, 04h, 04h, 04h, 04h, 05h Align 16 SUB_L0049A0A0: push ebp mov ebp,esp push 00000000h push edx push ecx push 00000000h call [USER32.dll!MessageBoxA] mov eax,[ebp+08h] test eax,eax jz L0049A0C0 push 00000001h call SUB_L0049B0C0 add esp,00000004h L0049A0C0: pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L0049A0D0: push ebp mov ebp,esp sub esp,00000070h push L00549370 call [KERNEL32.dll!EnterCriticalSection] mov ecx,L006A9DC0 call SUB_L00452000 mov eax,[L006BAE7C] test eax,eax jz L0049A4BB mov eax,[L007121FC] mov ecx,[L004C7F34] imul eax,ecx push edi push esi push ebx mov ebx,[L0073EA70] sub ebx,eax mov eax,[L007121F8] sub ebx,eax jns L0049A125 mov edx,[L004C7F38] imul edx,ecx add ebx,edx L0049A125: mov eax,ebx cdq idiv ecx mov eax,ebx mov esi,edx cdq idiv ecx mov edi,eax mov eax,[L00669574] test eax,eax jz L0049A394 mov al,[L0073EC38] test al,al jz L0049A280 mov eax,[L00669570] lea edx,[ebp-04h] push edx push eax mov ecx,[eax] call [ecx+44h] cmp eax,887601C2h jnz L0049A173 mov eax,[L00669570] push eax mov ecx,[eax] call [ecx+6Ch] jmp L0049A4A3 L0049A173: test eax,eax jnz L0049A4A3 test ebx,ebx push 00CC0020h jz L0049A246 mov eax,[L004C7F38] mov edx,[L004F3FF0] mov ecx,[L004C7F34] mov ebx,[GDI32.dll!BitBlt] push edi push esi sub eax,edi push edx mov edx,[ebp-04h] sub ecx,esi push eax push ecx push 00000000h push 00000000h push edx call ebx test esi,esi jz L0049A1E3 mov edx,[L004C7F38] mov ecx,[L004F3FF0] lea eax,[edi+01h] push 00CC0020h sub edx,edi push eax mov eax,[L004C7F34] push 00000000h dec edx push ecx mov ecx,[ebp-04h] push edx push esi sub eax,esi push 00000000h push eax push ecx call ebx L0049A1E3: test edi,edi jz L0049A26C mov edx,[L004F3FF0] mov eax,[L004C7F34] mov ecx,[L004C7F38] push 00CC0020h push 00000000h push esi push edx mov edx,[ebp-04h] sub eax,esi push edi sub ecx,edi push eax push ecx push 00000000h push edx call ebx test esi,esi jz L0049A26C mov eax,[L004F3FF0] mov edx,[L004C7F38] push 00CC0020h push 00000000h push 00000000h push eax mov eax,[L004C7F34] lea ecx,[edi+01h] sub edx,edi push ecx mov ecx,[ebp-04h] dec edx push esi sub eax,esi push edx push eax push ecx call ebx jmp L0049A26C L0049A246: mov edx,[L004F3FF0] mov eax,[L004C7F38] mov ecx,[L004C7F34] push 00000000h push 00000000h push edx mov edx,[ebp-04h] push eax push ecx push 00000000h push 00000000h push edx call [GDI32.dll!BitBlt] L0049A26C: mov eax,[L00669570] lea edx,[ebp-04h] push edx push eax mov ecx,[eax] call [ecx+68h] jmp L0049A4A3 L0049A280: mov eax,[L00669570] push 00000000h lea edx,[ebp-70h] push 00000021h mov dword ptr [ebp-70h],0000006Ch mov ecx,[eax] push edx push 00000000h push eax call [ecx+64h] cmp eax,887601C2h jnz L0049A2B3 mov eax,[L00669570] push eax mov ecx,[eax] call [ecx+6Ch] jmp L0049A4A3 L0049A2B3: test eax,eax jnz L0049A4A3 mov eax,[L00669578] test eax,eax jz L0049A314 mov al,[L0073EC3C] test al,al jnz L0049A314 mov edx,[L004C7F38] mov eax,[L006BAE7C] imul edx,[L004C7F34] mov ecx,[ebp-4Ch] sub edx,ebx push edx lea edx,[eax+ebx*2] call SUB_L00495450 test ebx,ebx jz L0049A363 mov ecx,[L004C7F38] mov eax,[ebp-4Ch] imul ecx,[L004C7F34] mov edx,[L006BAE7C] sub ecx,ebx push ebx lea ecx,[eax+ecx*2] call SUB_L00495450 jmp L0049A363 L0049A314: mov ecx,[L004C7F38] mov edx,[L006BAE7C] imul ecx,[L004C7F34] sub ecx,ebx push 3FFF3FFFh push ecx mov ecx,[ebp-4Ch] lea edx,[edx+ebx*2] call SUB_L004954B0 test ebx,ebx jz L0049A363 mov eax,[L004C7F38] mov ecx,[ebp-4Ch] imul eax,[L004C7F34] mov edx,[L006BAE7C] sub eax,ebx push 3FFF3FFFh push ebx lea ecx,[ecx+eax*2] call SUB_L004954B0 L0049A363: mov eax,[L00669570] push 00000000h push eax mov edx,[eax] call [edx+00000080h] mov eax,[L0066957C] test eax,eax jz L0049A4A3 mov eax,[L0066956C] push 00000001h push 00000000h push eax mov ecx,[eax] call [ecx+2Ch] jmp L0049A4A3 L0049A394: mov edx,[L007B8310] push edx call [USER32.dll!GetDC] test ebx,ebx mov [ebp-04h],eax push 00CC0020h jz L0049A46F mov ecx,[L004F3FF0] mov edx,[L004C7F38] push edi push esi push ecx mov ecx,[L004C7F34] mov ebx,[GDI32.dll!BitBlt] sub edx,edi sub ecx,esi push edx push ecx push 00000000h push 00000000h push eax call ebx test esi,esi jz L0049A40A mov ecx,[L004C7F38] mov eax,[L004F3FF0] lea edx,[edi+01h] push 00CC0020h sub ecx,edi push edx mov edx,[L004C7F34] push 00000000h dec ecx push eax mov eax,[ebp-04h] push ecx push esi sub edx,esi push 00000000h push edx push eax call ebx L0049A40A: test edi,edi jz L0049A493 mov ecx,[L004F3FF0] mov edx,[L004C7F34] mov eax,[L004C7F38] push 00CC0020h push 00000000h push esi push ecx mov ecx,[ebp-04h] sub edx,esi push edi sub eax,edi push edx push eax push 00000000h push ecx call ebx test esi,esi jz L0049A493 mov edx,[L004F3FF0] mov ecx,[L004C7F38] push 00CC0020h push 00000000h push 00000000h push edx mov edx,[L004C7F34] lea eax,[edi+01h] sub ecx,edi push eax mov eax,[ebp-04h] dec ecx push esi sub edx,esi push ecx push edx push eax call ebx jmp L0049A493 L0049A46F: mov ecx,[L004F3FF0] mov edx,[L004C7F38] push 00000000h push 00000000h push ecx mov ecx,[L004C7F34] push edx push ecx push 00000000h push 00000000h push eax call [GDI32.dll!BitBlt] L0049A493: mov edx,[ebp-04h] mov eax,[L007B8310] push edx push eax call [USER32.dll!ReleaseDC] L0049A4A3: mov ecx,L006A9DC0 call SUB_L00452250 push L00549370 call [KERNEL32.dll!LeaveCriticalSection] pop ebx pop esi pop edi L0049A4BB: mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 4 SUB_L0049A4C0: mov edx,ecx push L004D77C0 xor ecx,ecx call SUB_L00495040 cmp eax,FFFFFFFFh jnz L0049A4F6 mov eax,[L007B7E10] test eax,eax jnz L0049A4F3 push 00000000h push 00000000h push 00000000h push 00000000h push SSZ004D10C0_Web_browser_not_found_ mov ecx,L00669608 call SUB_L0043F200 L0049A4F3: xor eax,eax retn ;------------------------------------------------------------------------------ L0049A4F6: mov eax,00000001h retn ;------------------------------------------------------------------------------ Align 8 SUB_L0049A500: push ebp mov ebp,esp push ecx push ebx push esi mov esi,[USER32.dll!GetSystemMetrics] push edi push 00000004h mov edi,edx mov [ebp-04h],ecx push 00000021h call esi mov ebx,eax push 00000004h call esi mov ecx,[ebp+0Ch] add ecx,eax lea edx,[ecx+ebx*2] push edx push 00000020h call esi mov ecx,[ebp+08h] lea edx,[ecx+eax*2] mov eax,[ebp-04h] mov ecx,[L007B8310] push edx push edi push eax push 00000000h push ecx call [USER32.dll!SetWindowPos] pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 4 SUB_L0049A550: push ebp mov ebp,esp sub esp,00000010h push esi push edi mov edi,ecx lea eax,[ebp-10h] mov ecx,[L007B8310] push eax mov esi,edx push ecx call [USER32.dll!GetWindowRect] mov edx,[ebp-10h] mov eax,[ebp-0Ch] mov [edi],edx mov [esi],eax pop edi pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 4 SUB_L0049A580: push esi mov esi,[esp+08h] push edi or edi,FFFFFFFFh test byte ptr [esi+0Ch],40h jz L0049A59B mov dword ptr [esi+0Ch],00000000h mov eax,edi pop edi pop esi retn ;------------------------------------------------------------------------------ L0049A59B: push esi call SUB_L0049CA40 add esp,00000004h push esi call SUB_L0049A5C0 add esp,00000004h mov edi,eax push esi call SUB_L0049CAB0 add esp,00000004h mov eax,edi pop edi pop esi retn ;------------------------------------------------------------------------------ Align 4 SUB_L0049A5C0: push esi mov esi,[esp+08h] push edi or edi,FFFFFFFFh test byte ptr [esi+0Ch],83h jz L0049A619 push esi call SUB_L0049CCA0 add esp,00000004h mov edi,eax push esi call SUB_L0049CC20 mov eax,[esi+10h] add esp,00000004h push eax call SUB_L0049CB20 add esp,00000004h test eax,eax jge L0049A602 or edi,FFFFFFFFh mov dword ptr [esi+0Ch],00000000h mov eax,edi pop edi pop esi retn ;------------------------------------------------------------------------------ L0049A602: mov eax,[esi+1Ch] test eax,eax jz L0049A619 push eax call SUB_L0049C430 add esp,00000004h mov dword ptr [esi+1Ch],00000000h L0049A619: mov eax,edi mov dword ptr [esi+0Ch],00000000h pop edi pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L0049A630: push esi mov esi,[esp+14h] push edi push esi call SUB_L0049CA40 mov eax,[esp+18h] mov ecx,[esp+14h] mov edx,[esp+10h] add esp,00000004h push esi push eax push ecx push edx call SUB_L0049A670 add esp,00000010h mov edi,eax push esi call SUB_L0049CAB0 add esp,00000004h mov eax,edi pop edi pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L0049A670: push ecx push ebx push ebp mov ebp,[esp+18h] push esi imul ebp,[esp+18h] push edi mov edi,[esp+18h] test ebp,ebp mov [esp+18h],edi mov [esp+10h],ebp jnz L0049A696 xor eax,eax pop edi pop esi pop ebp pop ebx pop ecx retn ;------------------------------------------------------------------------------ L0049A696: mov ebx,[esp+24h] test dword ptr [ebx+0Ch],0000010Ch jz L0049A6AC mov esi,[ebx+18h] mov [esp+24h],esi jmp L0049A6B8 L0049A6AC: mov dword ptr [esp+24h],00001000h mov esi,[esp+24h] L0049A6B8: test dword ptr [ebx+0Ch],0000010Ch jz L0049A6FE mov eax,[ebx+04h] test eax,eax jz L0049A6FE cmp ebp,eax jnc L0049A6CE mov eax,ebp L0049A6CE: mov esi,[ebx] mov ecx,eax mov edx,ecx sub ebp,eax shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb mov esi,[ebx+04h] mov edx,[ebx] mov ecx,[esp+18h] sub esi,eax add edx,eax add ecx,eax mov [ebx+04h],esi mov [ebx],edx mov [esp+18h],ecx mov edi,ecx jmp L0049A74E L0049A6FE: cmp ebp,esi jc L0049A731 test esi,esi mov eax,ebp jz L0049A710 xor edx,edx div esi mov eax,ebp sub eax,edx L0049A710: push eax mov eax,[ebx+10h] push edi push eax call SUB_L0049CED0 add esp,0000000Ch test eax,eax jz L0049A764 cmp eax,FFFFFFFFh jz L0049A77F sub ebp,eax add edi,eax mov [esp+18h],edi jmp L0049A752 L0049A731: push ebx call SUB_L0049CDE0 add esp,00000004h cmp eax,FFFFFFFFh jz L0049A79A mov [edi],al mov ecx,[ebx+18h] inc edi dec ebp mov [esp+18h],edi mov [esp+24h],ecx L0049A74E: mov esi,[esp+24h] L0049A752: test ebp,ebp jnz L0049A6B8 mov eax,[esp+20h] pop edi pop esi pop ebp pop ebx pop ecx retn ;------------------------------------------------------------------------------ L0049A764: mov edx,[ebx+0Ch] mov eax,[esp+10h] or edx,00000010h sub eax,ebp mov [ebx+0Ch],edx xor edx,edx div [esp+1Ch] pop edi pop esi pop ebp pop ebx pop ecx retn ;------------------------------------------------------------------------------ L0049A77F: mov edx,[ebx+0Ch] mov eax,[esp+10h] or edx,00000020h sub eax,ebp mov [ebx+0Ch],edx xor edx,edx div [esp+1Ch] pop edi pop esi pop ebp pop ebx pop ecx retn ;------------------------------------------------------------------------------ L0049A79A: mov eax,[esp+10h] xor edx,edx sub eax,ebp div [esp+1Ch] pop edi pop esi pop ebp pop ebx pop ecx retn ;------------------------------------------------------------------------------ Align 8 SUB_L0049A7B0: push esi call SUB_L0049D350 mov esi,eax test esi,esi jnz L0049A7BE pop esi retn ;------------------------------------------------------------------------------ L0049A7BE: mov eax,[esp+10h] mov ecx,[esp+0Ch] mov edx,[esp+08h] push edi push esi push eax push ecx push edx call SUB_L0049D180 add esp,00000010h mov edi,eax push esi call SUB_L0049CAB0 add esp,00000004h mov eax,edi pop edi pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L0049A7F0: mov eax,[esp+08h] mov ecx,[esp+04h] push 00000040h push eax push ecx call SUB_L0049A7B0 add esp,0000000Ch retn ;------------------------------------------------------------------------------ Align 16 SUB_L0049A810: mov eax,[esp+04h] push eax call SUB_L0049C430 add esp,00000004h retn ;------------------------------------------------------------------------------ Align 4 SUB_L0049A820: mov eax,[esp+04h] push 00000001h push eax call SUB_L0049D450 add esp,00000008h retn ;------------------------------------------------------------------------------ SUB_L0049A830: push ebp mov ebp,esp push ecx push ebx push esi push edi mov eax,[ebp+0Ch] add eax,0000000Ch mov [ebp-04h],eax mov ebx,fs:[00000000h] mov eax,[ebx] mov fs:[00000000h],eax mov eax,[ebp+08h] mov ebx,[ebp+0Ch] mov esp,[ebx-04h] mov ebp,[ebp-04h] jmp eax db 5Fh; '_' db 5Eh; '^' db 5Bh; '[' db 8Bh; '<' db E5h; '¥' db 5Dh; ']' db C2h; '‚' db 08h; db 00h; db CCh; 'Œ' db CCh; 'Œ' db CCh; 'Œ' db CCh; 'Œ' db CCh; 'Œ' db CCh; 'Œ' db CCh; 'Œ' db CCh; 'Œ' db CCh; 'Œ' db CCh; 'Œ' SUB_L0049A870: pop eax pop ecx xchg eax,[esp] jmp eax Align 16 SUB_L0049A880: push ebp mov ebp,esp sub esp,00000008h push ebx push esi push edi mov eax,fs:[00000000h] mov [ebp-08h],eax mov dword ptr [ebp-04h],L0049A8AC push 00000000h mov eax,[ebp+0Ch] push eax mov ecx,[ebp-04h] push ecx mov edx,[ebp+08h] push edx call jmp_KERNEL32.dll!RtlUnwind L0049A8AC: mov eax,[ebp+0Ch] mov ecx,[eax+04h] and ecx,FFFFFFFDh mov edx,[ebp+0Ch] mov [edx+04h],ecx mov eax,fs:[00000000h] mov ebx,[ebp-08h] mov [ebx],eax mov fs:[00000000h],ebx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 16 L0049A8E0: push ebp mov ebp,esp sub esp,00000004h push ebx push esi push edi cld mov [ebp-04h],eax mov eax,[ebp-04h] mov ecx,[ebp+14h] mov edx,[ebp+10h] push 00000000h push 00000000h push 00000000h push eax mov eax,[ebp+0Ch] push ecx mov ecx,[ebp+08h] push edx push eax push ecx call SUB_L0049D500 add esp,00000020h mov [ebp+14h],eax pop edi pop esi pop ebx mov eax,[ebp+14h] mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 SUB_L0049A920: push ebp mov ebp,esp sub esp,00000014h mov edx,[ebp+14h] mov eax,[ebp+0Ch] mov ecx,[ebp+08h] inc edx mov dword ptr [ebp-14h],00000000h mov dword ptr [ebp-10h],L0049A980 mov [ebp-0Ch],eax mov [ebp-08h],ecx mov [ebp-04h],edx mov eax,fs:[00000000h] mov [ebp-14h],eax lea eax,[ebp-00000014h] mov fs:[00000000h],eax mov eax,[ebp+18h] push eax push ecx mov ecx,[ebp+10h] push ecx call SUB_L0049DF10 mov ecx,eax mov eax,[ebp-14h] mov fs:[00000000h],eax mov eax,ecx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 L0049A980: push ebp mov ebp,esp cld mov eax,[ebp+0Ch] push 00000000h push eax mov ecx,[eax+10h] mov edx,[eax+08h] push ecx mov ecx,[ebp+10h] push edx mov edx,[eax+0Ch] mov eax,[ebp+08h] push 00000000h push ecx push edx push eax call SUB_L0049D500 add esp,00000020h pop ebp retn ;------------------------------------------------------------------------------ Align 8 SUB_L0049A9B0: push ebp mov ebp,esp sub esp,00000034h push ebx push esi push edi mov dword ptr [ebp-28h],00000000h mov dword ptr [ebp-24h],L0049AA80 mov eax,[ebp+18h] mov [ebp-20h],eax mov ecx,[ebp+0Ch] mov [ebp-1Ch],ecx mov edx,[ebp+1Ch] mov [ebp-18h],edx mov eax,[ebp+20h] mov [ebp-14h],eax mov dword ptr [ebp-10h],00000000h mov dword ptr [ebp-0Ch],00000000h mov dword ptr [ebp-08h],00000000h mov dword ptr [ebp-04h],00000000h mov dword ptr [ebp-10h],L0049AA4C mov [ebp-0Ch],esp mov [ebp-08h],ebp mov eax,fs:[00000000h] mov [ebp-28h],eax lea eax,[ebp-00000028h] mov fs:[00000000h],eax mov dword ptr [ebp-34h],00000001h mov ecx,[ebp+08h] mov [ebp-30h],ecx mov edx,[ebp+10h] mov [ebp-2Ch],edx lea eax,[ebp-30h] push eax mov ecx,[ebp+08h] mov edx,[ecx] push edx call SUB_L0049DFE0 call [eax+68h] add esp,00000008h mov dword ptr [ebp-34h],00000000h L0049AA4C: cmp dword ptr [ebp-04h],00000000h jz L0049AA69 mov ebx,fs:[00000000h] mov eax,[ebx] mov ebx,[ebp-28h] mov [ebx],eax mov fs:[00000000h],ebx jmp L0049AA72 L0049AA69: mov eax,[ebp-28h] mov fs:[00000000h],eax L0049AA72: mov eax,[ebp-34h] pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 L0049AA80: push ebp mov ebp,esp push ebx push esi push edi cld mov eax,[ebp+08h] mov ecx,[eax+04h] and ecx,00000066h test ecx,ecx jz L0049AAA5 mov edx,[ebp+0Ch] mov dword ptr [edx+24h],00000001h mov eax,00000001h jmp L0049AAFC L0049AAA5: push 00000001h mov eax,[ebp+0Ch] mov ecx,[eax+14h] push ecx mov edx,[ebp+0Ch] mov eax,[edx+10h] push eax mov ecx,[ebp+0Ch] mov edx,[ecx+08h] push edx push 00000000h mov eax,[ebp+10h] push eax mov ecx,[ebp+0Ch] mov edx,[ecx+0Ch] push edx mov eax,[ebp+08h] push eax call SUB_L0049D500 add esp,00000020h mov ecx,[ebp+0Ch] cmp dword ptr [ecx+24h],00000000h jnz L0049AAEB mov edx,[ebp+08h] push edx mov eax,[ebp+0Ch] push eax call SUB_L0049A880 L0049AAEB: mov ebx,[ebp+0Ch] mov esp,[ebx+1Ch] mov ebp,[ebx+20h] jmp [ebx+18h] mov eax,00000001h L0049AAFC: pop edi pop esi pop ebx pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L0049AB10: push ecx mov eax,[esp+08h] push ebx mov ebx,[esp+10h] push ebp mov ecx,[eax+10h] push esi mov esi,[eax+0Ch] push edi test ebx,ebx mov [esp+10h],ecx mov ebp,esi mov edi,esi jl L0049AB64 L0049AB2F: cmp esi,FFFFFFFFh jnz L0049AB39 call SUB_L0049E1A0 L0049AB39: mov eax,[esp+10h] dec esi mov ecx,[esp+20h] lea edx,[esi+esi*4] lea eax,[eax+edx*4] cmp [eax+04h],ecx jge L0049AB52 cmp ecx,[eax+08h] jle L0049AB57 L0049AB52: cmp esi,FFFFFFFFh jnz L0049AB5C L0049AB57: mov ebp,edi dec ebx mov edi,esi L0049AB5C: test ebx,ebx jge L0049AB2F mov eax,[esp+18h] L0049AB64: mov ecx,[esp+24h] mov edx,[esp+28h] inc esi mov [ecx],esi mov [edx],ebp cmp ebp,[eax+0Ch] ja L0049AB7A cmp esi,ebp jbe L0049AB7F L0049AB7A: call SUB_L0049E1A0 L0049AB7F: mov ecx,[esp+10h] lea eax,[esi+esi*4] pop edi pop esi pop ebp lea eax,[ecx+eax*4] pop ebx pop ecx retn ;------------------------------------------------------------------------------ Align 4 SUB_L0049AB90: push ebp mov ebp,esp push ebx push esi push edi push ebp push 00000000h push 00000000h push L0049ABA8 push [ebp+08h] call jmp_KERNEL32.dll!RtlUnwind L0049ABA8: pop ebp pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L0049ABB0: mov ecx,[esp+04h] test dword ptr [ecx+04h],00000006h mov eax,00000001h jz L0049ABD1 mov eax,[esp+08h] mov edx,[esp+10h] mov [edx],eax mov eax,00000003h L0049ABD1: retn ;------------------------------------------------------------------------------ SUB_L0049ABD2: push ebx push esi push edi mov eax,[esp+10h] push eax push FFFFFFFEh push L0049ABB0 push fs:[00000000h] mov fs:[00000000h],esp L0049ABEF: mov eax,[esp+20h] mov ebx,[eax+08h] mov esi,[eax+0Ch] cmp esi,FFFFFFFFh jz L0049AC2C cmp esi,[esp+24h] jz L0049AC2C lea esi,[esi+esi*2] mov ecx,[ebx+esi*4] mov [esp+08h],ecx mov [eax+0Ch],ecx cmp dword ptr [ebx+esi*4+04h],00000000h jnz L0049AC2A push 00000101h mov eax,[ebx+esi*4+08h] call SUB_L0049AC66 call [ebx+esi*4+08h] L0049AC2A: jmp L0049ABEF L0049AC2C: pop fs:[00000000h] add esp,0000000Ch pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ SUB_L0049AC3A: xor eax,eax mov ecx,fs:[00000000h] cmp dword ptr [ecx+04h],L0049ABB0 jnz L0049AC5C mov edx,[ecx+0Ch] mov edx,[edx+0Ch] cmp [ecx+08h],edx jnz L0049AC5C mov eax,00000001h L0049AC5C: retn ;------------------------------------------------------------------------------ SUB_L0049AC5D: push ebx push ecx mov ebx,L004D10D8 jmp L0049AC70 SUB_L0049AC66: push ebx push ecx mov ebx,L004D10D8 mov ecx,[ebp+08h] L0049AC70: mov [ebx+08h],ecx mov [ebx+04h],eax mov [ebx+0Ch],ebp pop ecx pop ebx retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L0049AC80: sub esp,00000020h mov eax,[esp+24h] mov ecx,[esp+28h] mov [esp+08h],eax mov [esp+00h],eax lea eax,[esp+2Ch] push esi push eax lea edx,[esp+08h] push ecx push edx mov dword ptr [esp+1Ch],00000042h mov dword ptr [esp+14h],7FFFFFFFh call SUB_L0049E360 mov esi,eax mov eax,[esp+14h] add esp,0000000Ch dec eax mov [esp+08h],eax js L0049ACD2 mov eax,[esp+04h] mov byte ptr [eax],00h mov eax,esi pop esi add esp,00000020h retn ;------------------------------------------------------------------------------ L0049ACD2: lea ecx,[esp+04h] push ecx push 00000000h call SUB_L0049E230 add esp,00000008h mov eax,esi pop esi add esp,00000020h retn ;------------------------------------------------------------------------------ Align 16 SUB_L0049ACF0: push ecx cmp eax,00001000h lea ecx,[esp+08h] jc L0049AD10 L0049ACFC: sub ecx,00001000h sub eax,00001000h test [ecx],eax cmp eax,00001000h jnc L0049ACFC L0049AD10: sub ecx,eax mov eax,esp test [ecx],eax mov esp,ecx mov ecx,[eax] mov eax,[eax+04h] push eax retn ;------------------------------------------------------------------------------ Align 4 SUB_L0049AD20: mov eax,[L007B86B8] test eax,eax jnz L0049AD3B mov eax,[esp+04h] cmp eax,00000041h jl L0049ADA1 cmp eax,0000005Ah jg L0049ADA1 add eax,00000020h retn ;------------------------------------------------------------------------------ L0049AD3B: push edi push esi push ebx push L007B9CE8 call [KERNEL32.dll!InterlockedIncrement] mov eax,[L007B9CE4] mov edi,[KERNEL32.dll!InterlockedDecrement] test eax,eax jz L0049AD70 push L007B9CE8 call edi push 00000013h call SUB_L0049C9A0 add esp,00000004h mov esi,00000001h jmp L0049AD72 L0049AD70: xor esi,esi L0049AD72: mov eax,[esp+10h] push eax call SUB_L0049ADB0 add esp,00000004h mov ebx,eax test esi,esi jz L0049AD95 push 00000013h call SUB_L0049CA20 add esp,00000004h mov eax,ebx pop ebx pop esi pop edi retn ;------------------------------------------------------------------------------ L0049AD95: push L007B9CE8 call edi mov eax,ebx pop ebx pop esi pop edi L0049ADA1: retn ;------------------------------------------------------------------------------ Align 16 SUB_L0049ADB0: mov eax,[L007B86B8] sub esp,00000008h test eax,eax push ebx jnz L0049ADDB mov eax,[esp+10h] cmp eax,00000041h jl L0049AEA9 cmp eax,0000005Ah jg L0049AEA9 add eax,00000020h pop ebx add esp,00000008h retn ;------------------------------------------------------------------------------ L0049ADDB: mov ebx,[esp+10h] cmp ebx,00000100h jge L0049AE13 cmp dword ptr [L004D16BC],00000001h jle L0049ADFD push 00000001h push ebx call SUB_L0049F080 add esp,00000008h jmp L0049AE08 L0049ADFD: mov eax,[L004D14B0] mov al,[eax+ebx*2] and eax,00000001h L0049AE08: test eax,eax jnz L0049AE13 mov eax,ebx pop ebx add esp,00000008h retn ;------------------------------------------------------------------------------ L0049AE13: mov edx,[L004D14B0] mov eax,ebx sar eax,08h mov ecx,eax and ecx,000000FFh test byte ptr [edx+ecx*2+01h],80h jz L0049AE41 mov [esp+10h],al mov [esp+11h],bl mov byte ptr [esp+12h],00h mov eax,00000002h jmp L0049AE4F L0049AE41: mov [esp+10h],bl mov byte ptr [esp+11h],00h mov eax,00000001h L0049AE4F: push 00000001h push 00000000h lea ecx,[esp+0Ch] push 00000003h push ecx lea edx,[esp+20h] push eax mov eax,[L007B86B8] push edx push 00000100h push eax call SUB_L0049EE20 add esp,00000020h test eax,eax jnz L0049AE7E mov eax,ebx pop ebx add esp,00000008h retn ;------------------------------------------------------------------------------ L0049AE7E: cmp eax,00000001h jnz L0049AE91 mov eax,[esp+04h] and eax,000000FFh pop ebx add esp,00000008h retn ;------------------------------------------------------------------------------ L0049AE91: mov eax,[esp+05h] mov ecx,[esp+04h] and eax,000000FFh and ecx,000000FFh shl eax,08h or eax,ecx L0049AEA9: pop ebx add esp,00000008h retn ;------------------------------------------------------------------------------ Align 4 SUB_L0049AEB0: push ebp mov ebp,esp push FFFFFFFFh push L004BD078 push L0049F128 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp add esp,FFFFFFF4h push ebx push esi push edi xor eax,eax mov [ebp-1Ch],eax mov ecx,[ebp+10h] mov edi,[ebp+0Ch] imul ecx,edi mov esi,[ebp+08h] add esi,ecx mov [ebp+08h],esi mov [ebp-04h],eax L0049AEEC: dec [ebp+10h] js L0049AEFD sub esi,edi mov [ebp+08h],esi mov ecx,esi call [ebp+14h] jmp L0049AEEC L0049AEFD: mov dword ptr [ebp-1Ch],00000001h mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L0049AF29 mov ecx,[ebp-10h] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0010h ;------------------------------------------------------------------------------ db 8Bh; '<' db 7Dh; '}' db 0Ch; db 8Bh; '<' db 75h; 'u' db 08h; SUB_L0049AF29: mov eax,[ebp-1Ch] test eax,eax jnz L0049AF3F mov edx,[ebp+14h] push edx mov eax,[ebp+10h] push eax push edi push esi call SUB_L0049AF60 L0049AF3F: retn ;------------------------------------------------------------------------------ mov ecx,[ebp-10h] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0010h ;------------------------------------------------------------------------------ Align 16 SUB_L0049AF60: push ebp mov ebp,esp push FFFFFFFFh push L004BD088 push L0049F128 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000008h push ebx push esi push edi mov [ebp-18h],esp mov dword ptr [ebp-04h],00000000h L0049AF8D: dec [ebp+10h] js L0049AFB0 mov ecx,[ebp+08h] sub ecx,[ebp+0Ch] mov [ebp+08h],ecx call [ebp+14h] jmp L0049AF8D mov eax,[ebp-14h] push eax call SUB_L0049AFD0 add esp,00000004h retn ;------------------------------------------------------------------------------ mov esp,[ebp-18h] L0049AFB0: mov dword ptr [ebp-04h],FFFFFFFFh mov ecx,[ebp-10h] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0010h ;------------------------------------------------------------------------------ Align 8 SUB_L0049AFD0: mov eax,[esp+04h] mov ecx,[eax] cmp dword ptr [ecx],E06D7363h jnz L0049AFE3 call SUB_L0049E110 L0049AFE3: xor eax,eax retn ;------------------------------------------------------------------------------ Align 16 SUB_L0049AFF0: push ebp mov ebp,esp push FFFFFFFFh push L004BD098 push L0049F128 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp add esp,FFFFFFF0h push ebx push esi push edi xor esi,esi mov [ebp-20h],esi mov [ebp-04h],esi mov [ebp-1Ch],esi mov ebx,[ebp+0Ch] mov edi,[ebp+08h] L0049B024: cmp esi,[ebp+10h] jge L0049B039 mov ecx,edi call [ebp+14h] add edi,ebx mov [ebp+08h],edi inc esi mov [ebp-1Ch],esi jmp L0049B024 L0049B039: mov dword ptr [ebp-20h],00000001h mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L0049B068 mov ecx,[ebp-10h] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0014h ;------------------------------------------------------------------------------ db 8Bh; '<' db 5Dh; ']' db 0Ch; db 8Bh; '<' db 7Dh; '}' db 08h; db 8Bh; '<' db 75h; 'u' db E4h; '¤' SUB_L0049B068: mov eax,[ebp-20h] test eax,eax jnz L0049B07B mov eax,[ebp+18h] push eax push esi push ebx push edi call SUB_L0049AF60 L0049B07B: retn ;------------------------------------------------------------------------------ mov ecx,[ebp-10h] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0014h ;------------------------------------------------------------------------------ Align 4 SUB_L0049B090: mov eax,[L004D10F8] test eax,eax jz L0049B09B call eax L0049B09B: push L004C40B4 push L004C40A4 call SUB_L0049B1E0 add esp,00000008h push L004C40A0 push L004C4000 call SUB_L0049B1E0 add esp,00000008h retn ;------------------------------------------------------------------------------ SUB_L0049B0C0: mov eax,[esp+04h] push 00000000h push 00000000h push eax call SUB_L0049B100 add esp,0000000Ch retn ;------------------------------------------------------------------------------ Align 16 SUB_L0049B0E0: mov eax,[esp+04h] push 00000000h push 00000001h push eax call SUB_L0049B100 add esp,0000000Ch retn ;------------------------------------------------------------------------------ Align 16 SUB_L0049B100: push ebx push ebp push esi call SUB_L0049B1C0 mov eax,[L007B8604] mov ebp,[esp+10h] cmp eax,00000001h jnz L0049B124 push ebp call [KERNEL32.dll!GetCurrentProcess] push eax call [KERNEL32.dll!TerminateProcess] L0049B124: mov eax,[esp+14h] mov ebx,[esp+18h] test eax,eax mov dword ptr [L007B8600],00000001h mov [L007B85FC],bl jnz L0049B17E mov ecx,[L007B9CF4] test ecx,ecx jz L0049B16C mov esi,[L007B9CF0] sub esi,00000004h cmp esi,ecx jc L0049B16C L0049B157: mov eax,[esi] test eax,eax jz L0049B165 call eax mov ecx,[L007B9CF4] L0049B165: sub esi,00000004h cmp esi,ecx jnc L0049B157 L0049B16C: push L004C40C0 push L004C40B8 call SUB_L0049B1E0 add esp,00000008h L0049B17E: push L004C40CC push L004C40C4 call SUB_L0049B1E0 add esp,00000008h test ebx,ebx jz L0049B19D call SUB_L0049B1D0 pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ L0049B19D: push ebp mov dword ptr [L007B8604],00000001h call [KERNEL32.dll!ExitProcess] pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ Align 16 SUB_L0049B1C0: push 0000000Dh call SUB_L0049C9A0 add esp,00000004h retn ;------------------------------------------------------------------------------ Align 8 SUB_L0049B1D0: push 0000000Dh call SUB_L0049CA20 add esp,00000004h retn ;------------------------------------------------------------------------------ Align 8 SUB_L0049B1E0: push esi mov esi,[esp+08h] push edi mov edi,[esp+10h] cmp esi,edi jnc L0049B1FD L0049B1EE: mov eax,[esi] test eax,eax jz L0049B1F6 call eax L0049B1F6: add esi,00000004h cmp esi,edi jc L0049B1EE L0049B1FD: pop edi pop esi retn ;------------------------------------------------------------------------------ SUB_L0049B200: mov ecx,[esp+0Ch] push edi test ecx,ecx jz L0049B283 push esi push ebx mov ebx,ecx mov esi,[esp+14h] test esi,00000003h mov edi,[esp+10h] jnz L0049B224 shr ecx,02h jnz L0049B291 jmp L0049B245 L0049B224: mov al,[esi] inc esi mov [edi],al inc edi dec ecx jz L0049B252 test al,al jz L0049B25A test esi,00000003h jnz L0049B224 mov ebx,ecx shr ecx,02h jnz L0049B291 L0049B240: and ebx,00000003h jz L0049B252 L0049B245: mov al,[esi] inc esi mov [edi],al inc edi test al,al jz L0049B27E dec ebx jnz L0049B245 L0049B252: mov eax,[esp+10h] pop ebx pop esi pop edi retn ;------------------------------------------------------------------------------ L0049B25A: test edi,00000003h jz L0049B274 L0049B262: mov [edi],al inc edi dec ecx jz L0049B2F6 test edi,00000003h jnz L0049B262 L0049B274: mov ebx,ecx shr ecx,02h jnz L0049B2E7 L0049B27B: mov [edi],al inc edi L0049B27E: dec ebx jnz L0049B27B pop ebx pop esi L0049B283: mov eax,[esp+08h] pop edi retn ;------------------------------------------------------------------------------ L0049B289: mov [edi],edx add edi,00000004h dec ecx jz L0049B240 L0049B291: mov edx,7EFEFEFFh mov eax,[esi] add edx,eax xor eax,FFFFFFFFh xor eax,edx mov edx,[esi] add esi,00000004h test eax,81010100h jz L0049B289 test dl,dl jz L0049B2DB test dh,dh jz L0049B2D1 test edx,00FF0000h jz L0049B2C7 test edx,FF000000h jnz L0049B289 mov [edi],edx jmp L0049B2DF L0049B2C7: and edx,0000FFFFh mov [edi],edx jmp L0049B2DF L0049B2D1: and edx,000000FFh mov [edi],edx jmp L0049B2DF L0049B2DB: xor edx,edx mov [edi],edx L0049B2DF: add edi,00000004h xor eax,eax dec ecx jz L0049B2F1 L0049B2E7: xor eax,eax L0049B2E9: mov [edi],eax add edi,00000004h dec ecx jnz L0049B2E9 L0049B2F1: and ebx,00000003h jnz L0049B27B L0049B2F6: mov eax,[esp+10h] pop ebx pop esi pop edi retn ;------------------------------------------------------------------------------ Align 4 SUB_L0049B300: push ebp mov ebp,esp push edi push esi push ebx mov esi,[ebp+0Ch] mov edi,[ebp+08h] lea eax,[L007B86B0] cmp dword ptr [eax+08h],00000000h jnz L0049B353 mov al,FFh mov eax,eax L0049B31C: or al,al jz L0049B34E mov al,[esi] inc esi mov ah,[edi] inc edi cmp ah,al jz L0049B31C sub al,41h cmp al,1Ah sbb cl,cl and cl,20h add al,cl add al,41h xchg ah,al sub al,41h cmp al,1Ah sbb cl,cl and cl,20h add al,cl add al,41h cmp al,ah jz L0049B31C sbb al,al sbb al,FFh L0049B34E: movsx eax,al jmp L0049B3CB L0049B353: lock inc [L007B9CE8] cmp dword ptr [L007B9CE4],00000000h jg L0049B367 push 00000000h jmp L0049B37C L0049B367: lock dec [L007B9CE8] push 00000013h call SUB_L0049C9A0 mov dword ptr [esp],00000001h L0049B37C: mov eax,000000FFh xor ebx,ebx nop L0049B384: or al,al jz L0049B3AF mov al,[esi] inc esi mov bl,[edi] inc edi cmp al,bl jz L0049B384 push eax push ebx call SUB_L0049ADB0 mov ebx,eax add esp,00000004h call SUB_L0049ADB0 add esp,00000004h cmp bl,al jz L0049B384 sbb eax,eax sbb eax,FFFFFFFFh L0049B3AF: mov ebx,eax pop eax or eax,eax jnz L0049B3BF lock dec [L007B9CE8] jmp L0049B3C9 L0049B3BF: push 00000013h call SUB_L0049CA20 add esp,00000004h L0049B3C9: mov eax,ebx L0049B3CB: pop ebx pop esi pop edi leave retn ;------------------------------------------------------------------------------ SUB_L0049B3D0: sub esp,00000020h push ebx push ebp mov ebp,[esp+30h] push esi push edi call SUB_L0049DFE0 mov edx,eax mov ecx,00000008h xor eax,eax lea edi,[esp+10h] mov [esp+38h],edx rep stosd L0049B3F3: mov al,[ebp+00h] mov bl,01h mov ecx,eax and ecx,000000FFh mov esi,ecx and ecx,00000007h shr esi,03h shl bl,cl mov cl,[esp+esi+10h] lea esi,[esp+esi+10h] or cl,bl inc ebp test al,al mov [esi],cl jnz L0049B3F3 mov esi,[esp+34h] test esi,esi jnz L0049B426 mov esi,[edx+18h] L0049B426: mov dl,[esi] mov eax,00000001h mov edi,edx and edi,000000FFh mov ecx,edi and ecx,00000007h shl eax,cl shr edi,03h mov cl,[esp+edi+10h] test cl,al jz L0049B46D L0049B447: test dl,dl jz L0049B46D mov dl,[esi+01h] inc esi mov eax,edx mov ebx,00000001h and eax,000000FFh mov ecx,eax and ecx,00000007h shl ebx,cl shr eax,03h mov al,[esp+eax+10h] test al,bl jnz L0049B447 L0049B46D: mov al,[esi] mov edi,esi test al,al jz L0049B49F L0049B475: and eax,000000FFh mov edx,00000001h mov ecx,eax and ecx,00000007h shl edx,cl shr eax,03h mov al,[esp+eax+10h] test al,dl jnz L0049B49B mov al,[esi+01h] inc esi test al,al jnz L0049B475 jmp L0049B49F L0049B49B: mov byte ptr [esi],00h inc esi L0049B49F: mov ecx,[esp+38h] mov eax,edi sub eax,esi neg eax sbb eax,eax mov [ecx+18h],esi and eax,edi pop edi pop esi pop ebp pop ebx add esp,00000020h retn ;------------------------------------------------------------------------------ Align 16 SUB_L0049B4C0: push esi mov esi,[esp+0Ch] push edi push esi call SUB_L0049CA40 mov eax,[esi+04h] add esp,00000004h dec eax mov [esi+04h],eax js L0049B4FA mov ecx,[esi] mov eax,[esp+0Ch] push esi mov [ecx],al and eax,000000FFh mov edi,eax mov eax,[esi] inc eax mov [esi],eax call SUB_L0049CAB0 add esp,00000004h mov eax,edi pop edi pop esi retn ;------------------------------------------------------------------------------ L0049B4FA: mov edx,[esp+0Ch] push esi push edx call SUB_L0049E230 add esp,00000008h mov edi,eax push esi call SUB_L0049CAB0 add esp,00000004h mov eax,edi pop edi pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L0049B520: push esi mov esi,[esp+14h] push edi push esi call SUB_L0049CA40 mov eax,[esp+18h] mov ecx,[esp+14h] mov edx,[esp+10h] add esp,00000004h push esi push eax push ecx push edx call SUB_L0049B560 add esp,00000010h mov edi,eax push esi call SUB_L0049CAB0 add esp,00000004h mov eax,edi pop edi pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L0049B560: push ecx push ebx push ebp mov ebp,[esp+18h] push esi imul ebp,[esp+18h] mov esi,[esp+14h] push edi test ebp,ebp mov [esp+18h],esi mov [esp+10h],ebp jnz L0049B586 xor eax,eax pop edi pop esi pop ebp pop ebx pop ecx retn ;------------------------------------------------------------------------------ L0049B586: mov ebx,[esp+24h] test dword ptr [ebx+0Ch],0000010Ch jz L0049B59C mov edi,[ebx+18h] mov [esp+24h],edi jmp L0049B5A8 L0049B59C: mov dword ptr [esp+24h],00001000h L0049B5A4: mov edi,[esp+24h] L0049B5A8: mov ecx,[ebx+0Ch] and ecx,00000108h jz L0049B5F0 mov eax,[ebx+04h] test eax,eax jz L0049B5F0 cmp ebp,eax jnc L0049B5C0 mov eax,ebp L0049B5C0: mov edi,[ebx] mov ecx,eax mov edx,ecx sub ebp,eax shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb mov esi,[ebx+04h] mov edx,[ebx] mov ecx,[esp+18h] sub esi,eax add edx,eax add ecx,eax mov [ebx+04h],esi mov [ebx],edx mov [esp+18h],ecx mov esi,ecx jmp L0049B667 L0049B5F0: cmp ebp,edi jc L0049B63C test ecx,ecx jz L0049B609 push ebx call SUB_L0049CCA0 add esp,00000004h test eax,eax jnz L0049B694 L0049B609: test edi,edi jz L0049B619 mov eax,ebp xor edx,edx div edi mov edi,ebp sub edi,edx jmp L0049B61B L0049B619: mov edi,ebp L0049B61B: mov eax,[ebx+10h] push edi push esi push eax call SUB_L0049F200 add esp,0000000Ch cmp eax,FFFFFFFFh jz L0049B679 sub ebp,eax add esi,eax cmp eax,edi mov [esp+18h],esi jc L0049B679 jmp L0049B667 L0049B63C: movsx ecx,[esi] push ebx push ecx call SUB_L0049E230 add esp,00000008h cmp eax,FFFFFFFFh jz L0049B694 mov eax,[ebx+18h] inc esi dec ebp mov [esp+18h],esi test eax,eax mov [esp+24h],eax jg L0049B667 mov dword ptr [esp+24h],00000001h L0049B667: test ebp,ebp jnz L0049B5A4 mov eax,[esp+20h] pop edi pop esi pop ebp pop ebx pop ecx retn ;------------------------------------------------------------------------------ L0049B679: mov edx,[ebx+0Ch] mov eax,[esp+10h] or edx,00000020h sub eax,ebp mov [ebx+0Ch],edx xor edx,edx div [esp+1Ch] pop edi pop esi pop ebp pop ebx pop ecx retn ;------------------------------------------------------------------------------ L0049B694: mov eax,[esp+10h] xor edx,edx sub eax,ebp div [esp+1Ch] pop edi pop esi pop ebp pop ebx pop ecx retn ;------------------------------------------------------------------------------ Align 16 SUB_L0049B6B0: push esi mov esi,[esp+08h] push edi push esi call SUB_L0049CA40 mov eax,[esp+18h] mov ecx,[esp+14h] add esp,00000004h push eax push ecx push esi call SUB_L0049B6F0 add esp,0000000Ch mov edi,eax push esi call SUB_L0049CAB0 add esp,00000004h mov eax,edi pop edi pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L0049B6F0: push esi mov esi,[esp+08h] push edi mov eax,[esi+0Ch] test al,83h jz L0049B776 mov edi,[esp+14h] test edi,edi jz L0049B70F cmp edi,00000001h jz L0049B70F cmp edi,00000002h jnz L0049B776 L0049B70F: and al,EFh cmp edi,00000001h mov [esi+0Ch],eax jnz L0049B72E push esi call SUB_L0049B810 mov ecx,[esp+14h] add esp,00000004h add ecx,eax xor edi,edi mov [esp+10h],ecx L0049B72E: push esi call SUB_L0049CCA0 mov eax,[esi+0Ch] add esp,00000004h test al,80h jz L0049B745 and al,FCh mov [esi+0Ch],eax jmp L0049B759 L0049B745: test al,01h jz L0049B759 test al,08h jz L0049B759 test ah,04h jnz L0049B759 mov dword ptr [esi+18h],00000200h L0049B759: mov eax,[esp+10h] mov ecx,[esi+10h] push edi push eax push ecx call SUB_L0049F490 add esp,0000000Ch inc eax neg eax sbb eax,eax neg eax dec eax pop edi pop esi retn ;------------------------------------------------------------------------------ L0049B776: call SUB_L0049BD30 mov dword ptr [eax],00000016h pop edi or eax,FFFFFFFFh pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L0049B790: push ebx push esi mov esi,[esp+0Ch] push edi push esi call SUB_L0049CA40 add esp,00000004h push esi call SUB_L0049F590 mov ecx,[esp+18h] add esp,00000004h mov edi,eax lea eax,[esp+18h] push eax push ecx push esi call SUB_L0049E360 add esp,0000000Ch mov ebx,eax push esi push edi call SUB_L0049F650 add esp,00000008h push esi call SUB_L0049CAB0 add esp,00000004h mov eax,ebx pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ Align 8 SUB_L0049B7E0: push esi mov esi,[esp+08h] push edi push esi call SUB_L0049CA40 add esp,00000004h push esi call SUB_L0049B810 add esp,00000004h mov edi,eax push esi call SUB_L0049CAB0 add esp,00000004h mov eax,edi pop edi pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L0049B810: sub esp,00000008h push ebx push ebp push esi mov esi,[esp+18h] push edi mov eax,[esi+04h] mov ebx,[esi+10h] test eax,eax jge L0049B82C mov dword ptr [esi+04h],00000000h L0049B82C: push 00000001h push 00000000h push ebx call SUB_L0049F490 mov ecx,eax add esp,0000000Ch test ecx,ecx mov [esp+14h],ecx jge L0049B84E or eax,FFFFFFFFh pop edi pop esi pop ebp pop ebx add esp,00000008h retn ;------------------------------------------------------------------------------ L0049B84E: mov eax,[esi+0Ch] test eax,00000108h jnz L0049B867 mov eax,ecx mov ecx,[esi+04h] sub eax,ecx pop edi pop esi pop ebp pop ebx add esp,00000008h retn ;------------------------------------------------------------------------------ L0049B867: mov ecx,[esi] mov edi,[esi+08h] mov edx,ecx sub edx,edi test al,03h mov [esp+10h],edx jz L0049B996 mov ebp,ebx mov eax,ebx sar ebp,05h and eax,0000001Fh mov ebp,[L007B9BE0+ebp*4] lea eax,[eax+eax*8] test byte ptr [ebp+eax*4+04h],80h jz L0049B8AC mov eax,edi cmp eax,ecx jnc L0049B8AC L0049B89D: cmp byte ptr [eax],0Ah jnz L0049B8A3 inc edx L0049B8A3: inc eax cmp eax,ecx jc L0049B89D mov [esp+10h],edx L0049B8AC: mov eax,[esp+14h] test eax,eax jnz L0049B8BE mov eax,edx pop edi pop esi pop ebp pop ebx add esp,00000008h retn ;------------------------------------------------------------------------------ L0049B8BE: test byte ptr [esi+0Ch],01h jz L0049B987 mov eax,[esi+04h] test eax,eax jnz L0049B8E4 mov ecx,[esp+14h] mov edx,eax mov [esp+10h],eax lea eax,[ecx+edx] pop edi pop esi pop ebp pop ebx add esp,00000008h retn ;------------------------------------------------------------------------------ L0049B8E4: lea esi,[ecx+eax] mov ecx,ebx mov eax,ebx sub esi,edi sar ecx,05h and eax,0000001Fh lea ebp,[L007B9BE0+ecx*4] lea edi,[eax+eax*8] mov eax,[ebp+00h] shl edi,02h test byte ptr [edi+eax+04h],80h jz L0049B983 push 00000002h push 00000000h push ebx call SUB_L0049F490 mov ecx,[esp+20h] add esp,0000000Ch cmp eax,ecx jnz L0049B942 mov edx,[esp+1Ch] mov eax,[edx+08h] lea ecx,[esi+eax] cmp eax,ecx jnc L0049B938 L0049B92D: cmp byte ptr [eax],0Ah jnz L0049B933 inc esi L0049B933: inc eax cmp eax,ecx jc L0049B92D L0049B938: mov eax,[edx+0Ch] test ah,20h jz L0049B97F jmp L0049B97E L0049B942: push 00000000h push ecx push ebx call SUB_L0049F490 add esp,0000000Ch cmp esi,00000200h ja L0049B96D mov ecx,[esp+1Ch] mov eax,[ecx+0Ch] test al,08h jz L0049B96D test ah,04h jnz L0049B96D mov esi,00000200h jmp L0049B974 L0049B96D: mov edx,[esp+1Ch] mov esi,[edx+18h] L0049B974: mov eax,[ebp+00h] test byte ptr [edi+eax+04h],04h jz L0049B97F L0049B97E: inc esi L0049B97F: mov edx,[esp+10h] L0049B983: sub [esp+14h],esi L0049B987: mov ecx,[esp+14h] lea eax,[ecx+edx] pop edi pop esi pop ebp pop ebx add esp,00000008h retn ;------------------------------------------------------------------------------ L0049B996: test al,80h jnz L0049B8AC call SUB_L0049BD30 pop edi pop esi mov dword ptr [eax],00000016h pop ebp or eax,FFFFFFFFh pop ebx add esp,00000008h retn ;------------------------------------------------------------------------------ Align 16 SUB_L0049B9C0: cmp dword ptr [L004D16BC],00000001h jle L0049B9D9 mov eax,[esp+04h] push 00000004h push eax call SUB_L0049F080 add esp,00000008h retn ;------------------------------------------------------------------------------ L0049B9D9: mov ecx,[esp+04h] mov edx,[L004D14B0] mov al,[edx+ecx*2] and eax,00000004h retn ;------------------------------------------------------------------------------ Align 8 SUB_L0049B9F0: cmp dword ptr [L004D16BC],00000001h jle L0049BA09 mov eax,[esp+04h] push 00000008h push eax call SUB_L0049F080 add esp,00000008h retn ;------------------------------------------------------------------------------ L0049BA09: mov ecx,[esp+04h] mov edx,[L004D14B0] mov al,[edx+ecx*2] and eax,00000008h retn ;------------------------------------------------------------------------------ Align 8 SUB_L0049BA20: sub esp,00000020h push edi mov edi,[esp+28h] or ecx,FFFFFFFFh xor eax,eax mov [esp+0Ch],edi mov [esp+04h],edi repne scasb not ecx dec ecx lea eax,[esp+30h] mov [esp+08h],ecx mov ecx,[esp+2Ch] push eax lea edx,[esp+08h] push ecx push edx mov dword ptr [esp+1Ch],00000049h call SUB_L0049F8A0 add esp,0000000Ch pop edi add esp,00000020h retn ;------------------------------------------------------------------------------ Align 16 SUB_L0049BA70: push ebx push ebp push esi push edi mov edi,[esp+14h] L0049BA78: cmp dword ptr [L004D16BC],00000001h jle L0049BA92 xor eax,eax push 00000008h mov al,[edi] push eax call SUB_L0049F080 add esp,00000008h jmp L0049BAA2 L0049BA92: mov edx,[L004D14B0] xor ecx,ecx mov cl,[edi] mov al,[edx+ecx*2] and eax,00000008h L0049BAA2: test eax,eax jz L0049BAA9 inc edi jmp L0049BA78 L0049BAA9: xor eax,eax mov al,[edi] inc edi mov esi,eax cmp esi,0000002Dh mov ebp,esi jz L0049BABC cmp esi,0000002Bh jnz L0049BAC3 L0049BABC: xor ecx,ecx mov cl,[edi] inc edi mov esi,ecx L0049BAC3: xor ebx,ebx L0049BAC5: cmp dword ptr [L004D16BC],00000001h jle L0049BADB push 00000004h push esi call SUB_L0049F080 add esp,00000008h jmp L0049BAE7 L0049BADB: mov edx,[L004D14B0] mov al,[edx+esi*2] and eax,00000004h L0049BAE7: test eax,eax jz L0049BAFB lea eax,[ebx+ebx*4] xor ecx,ecx mov cl,[edi] inc edi lea ebx,[esi+eax*2-30h] mov esi,ecx jmp L0049BAC5 L0049BAFB: cmp ebp,0000002Dh mov eax,ebx jnz L0049BB04 neg eax L0049BB04: pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ Align 8 SUB_L0049BB10: mov eax,[esp+04h] push eax call SUB_L0049BA70 add esp,00000004h retn ;------------------------------------------------------------------------------ Align 4 L0049BB20: call SUB_L0049BB40 call SUB_L004A0770 mov [L007B860C],eax call SUB_L004A0700 fnclex retn ;------------------------------------------------------------------------------ Align 16 SUB_L0049BB40: mov eax,L004A0C60 mov dword ptr [L004D1704],L004A0800 mov [L004D1700],eax mov dword ptr [L004D1708],L004A0890 mov dword ptr [L004D170C],L004A07A0 mov dword ptr [L004D1710],L004A0870 mov [L004D1714],eax retn ;------------------------------------------------------------------------------ Align 16 SUB_L0049BB80: push ebp mov ebp,esp add esp,FFFFFFF4h fstcw word ptr [ebp-02h] wait mov ax,[ebp-02h] or ah,0Ch mov [ebp-04h],ax fldcw word ptr [ebp-04h] fistp qword ptr [ebp-0Ch] fldcw word ptr [ebp-02h] mov eax,[ebp-0Ch] mov edx,[ebp-08h] leave retn ;------------------------------------------------------------------------------ Align 16 L0049BBB0: push 00000019h call SUB_L0049C910 add esp,00000004h retn ;------------------------------------------------------------------------------ Align 8 SUB_L0049BBC0: push esi call SUB_L0049B1C0 mov eax,[L007B9CF4] push eax call SUB_L004A0EB0 mov ecx,[L007B9CF0] mov edx,[L007B9CF4] mov esi,ecx add esp,00000004h sub esi,edx add esi,00000004h cmp eax,esi jnc L0049BC33 push edx call SUB_L004A0EB0 mov ecx,[L007B9CF4] add esp,00000004h add eax,00000010h push eax push ecx call SUB_L004A0D00 add esp,00000008h test eax,eax jnz L0049BC14 call SUB_L0049B1D0 xor eax,eax pop esi retn ;------------------------------------------------------------------------------ L0049BC14: mov edx,[L007B9CF0] mov esi,[L007B9CF4] sub edx,esi mov [L007B9CF4],eax sar edx,02h lea ecx,[eax+edx*4] mov [L007B9CF0],ecx L0049BC33: mov esi,[esp+08h] mov [ecx],esi mov eax,[L007B9CF0] add eax,00000004h mov [L007B9CF0],eax call SUB_L0049B1D0 mov eax,esi pop esi retn ;------------------------------------------------------------------------------ Align 4 SUB_L0049BC50: mov eax,[esp+04h] push eax call SUB_L0049BBC0 add esp,00000004h neg eax sbb eax,eax neg eax dec eax retn ;------------------------------------------------------------------------------ db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' push 00000080h call SUB_L0049D430 add esp,00000004h mov [L007B9CF4],eax test eax,eax jnz L0049BC95 push 00000018h call SUB_L0049C910 mov eax,[L007B9CF4] add esp,00000004h L0049BC95: mov dword ptr [eax],00000000h mov eax,[L007B9CF4] mov [L007B9CF0],eax retn ;------------------------------------------------------------------------------ Align 16 SUB_L0049BCB0: push esi call SUB_L0049BD40 mov ecx,[esp+08h] xor esi,esi mov [eax],ecx mov eax,L004D1108 L0049BCC3: cmp ecx,[eax] jz L0049BD13 add eax,00000008h inc esi cmp eax,L004D1270 jc L0049BCC3 cmp ecx,00000013h jc L0049BCE9 cmp ecx,00000024h ja L0049BCE9 call SUB_L0049BD30 mov dword ptr [eax],0000000Dh pop esi retn ;------------------------------------------------------------------------------ L0049BCE9: cmp ecx,000000BCh jc L0049BD06 cmp ecx,000000CAh ja L0049BD06 call SUB_L0049BD30 mov dword ptr [eax],00000008h pop esi retn ;------------------------------------------------------------------------------ L0049BD06: call SUB_L0049BD30 mov dword ptr [eax],00000016h pop esi retn ;------------------------------------------------------------------------------ L0049BD13: call SUB_L0049BD30 mov ecx,[L004D110C+esi*8] pop esi mov [eax],ecx retn ;------------------------------------------------------------------------------ Align 16 SUB_L0049BD30: call SUB_L0049DFE0 add eax,00000008h retn ;------------------------------------------------------------------------------ Align 8 SUB_L0049BD40: call SUB_L0049DFE0 add eax,0000000Ch retn ;------------------------------------------------------------------------------ Align 8 SUB_L0049BD50: mov ecx,[esp+08h] mov edx,[esp+04h] lea eax,[esp+0Ch] push 00000000h push eax push ecx push edx call SUB_L004A0F20 add esp,00000010h retn ;------------------------------------------------------------------------------ Align 8 SUB_L0049BD70: mov eax,[esp+08h] sub esp,00000100h cmp eax,00000002h push ebx push ebp push esi push edi jc L0049BE1D mov ebx,[esp+0000011Ch] test ebx,ebx jz L0049BE1D lea esi,[eax-01h] mov edi,[esp+00000114h] imul esi,ebx add esi,edi lea eax,[esp+20h] lea ecx,[esp+00000098h] mov dword ptr [esp+1Ch],00000000h mov [esp+10h],esi mov [esp+14h],eax mov [esp+18h],ecx L0049BDC4: mov eax,esi xor edx,edx sub eax,edi div ebx inc eax cmp eax,00000008h ja L0049BE28 mov edx,[esp+00000120h] push edx push ebx push esi push edi call SUB_L0049BF20 add esp,00000010h L0049BDE5: mov eax,[esp+1Ch] mov esi,[esp+18h] mov edx,[esp+14h] mov ecx,00000004h dec eax sub esi,ecx sub edx,ecx mov [esp+1Ch],eax test eax,eax mov [esp+18h],esi mov [esp+14h],edx jl L0049BE1D mov eax,[esp+14h] mov edx,esi mov ecx,[eax] mov edi,[edx] mov [esp+10h],ecx mov esi,ecx jmp L0049BDC4 L0049BE1D: pop edi pop esi pop ebp pop ebx add esp,00000100h retn ;------------------------------------------------------------------------------ L0049BE28: shr eax,1 imul eax,ebx push ebx add eax,edi push edi push eax call SUB_L0049BF80 add esp,0000000Ch mov ebp,edi add esi,ebx L0049BE3E: mov eax,[esp+10h] add ebp,ebx cmp ebp,eax ja L0049BE58 push edi push ebp call [esp+00000128h] add esp,00000008h test eax,eax jle L0049BE3E L0049BE58: sub esi,ebx cmp esi,edi jbe L0049BE6E push edi push esi call [esp+00000128h] add esp,00000008h test eax,eax jge L0049BE58 L0049BE6E: cmp esi,ebp push ebx push esi jc L0049BE7F push ebp call SUB_L0049BF80 add esp,0000000Ch jmp L0049BE3E L0049BE7F: push edi call SUB_L0049BF80 mov edx,[esp+1Ch] mov ecx,esi mov eax,edx sub ecx,edi add esp,0000000Ch sub eax,ebp dec ecx cmp ecx,eax jl L0049BED8 lea eax,[edi+ebx] cmp eax,esi jnc L0049BEC5 mov eax,[esp+18h] mov ecx,[esp+14h] sub esi,ebx mov [eax],edi mov edi,[esp+1Ch] mov [ecx],esi inc edi add eax,00000004h add ecx,00000004h mov [esp+1Ch],edi mov [esp+18h],eax mov [esp+14h],ecx L0049BEC5: cmp ebp,edx jnc L0049BDE5 mov esi,[esp+10h] mov edi,ebp jmp L0049BDC4 L0049BED8: cmp ebp,edx jnc L0049BEFF mov eax,[esp+18h] mov ecx,[esp+14h] mov [eax],ebp mov ebp,[esp+1Ch] mov [ecx],edx inc ebp add eax,00000004h add ecx,00000004h mov [esp+1Ch],ebp mov [esp+18h],eax mov [esp+14h],ecx L0049BEFF: lea ecx,[edi+ebx] cmp ecx,esi jnc L0049BDE5 sub esi,ebx mov [esp+10h],esi jmp L0049BDC4 Align 16 SUB_L0049BF20: push ebx mov ebx,[esp+08h] push edi mov edi,[esp+10h] cmp edi,ebx jbe L0049BF76 push esi push ebp mov ebp,[esp+1Ch] lea eax,[ebp+ebx+00h] mov [esp+18h],eax jmp L0049BF42 L0049BF3E: mov ebx,[esp+14h] L0049BF42: mov esi,[esp+18h] cmp esi,edi ja L0049BF5F L0049BF4A: push ebx push esi call [esp+28h] add esp,00000008h test eax,eax jle L0049BF59 mov ebx,esi L0049BF59: add esi,ebp cmp esi,edi jbe L0049BF4A L0049BF5F: push ebp push edi push ebx call SUB_L0049BF80 mov eax,[esp+20h] sub edi,ebp add esp,0000000Ch cmp edi,eax ja L0049BF3E pop ebp pop esi L0049BF76: pop edi pop ebx retn ;------------------------------------------------------------------------------ Align 8 SUB_L0049BF80: mov eax,[esp+04h] mov ecx,[esp+08h] cmp eax,ecx push esi jz L0049BFAA mov edx,[esp+10h] mov esi,edx dec edx test esi,esi jz L0049BFAA push ebx lea esi,[edx+01h] L0049BF9C: mov bl,[ecx] mov dl,[eax] mov [eax],bl inc eax mov [ecx],dl inc ecx dec esi jnz L0049BF9C pop ebx L0049BFAA: pop esi retn ;------------------------------------------------------------------------------ Align 8 SUB_L0049BFB0: push esi mov esi,[esp+0Ch] push edi push esi call SUB_L0049CA40 mov eax,[esp+10h] add esp,00000004h push esi push eax call SUB_L0049BFE0 add esp,00000008h mov edi,eax push esi call SUB_L0049CAB0 add esp,00000004h mov eax,edi pop edi pop esi retn ;------------------------------------------------------------------------------ Align 4 SUB_L0049BFE0: push ebx mov ebx,[esp+08h] cmp ebx,FFFFFFFFh push esi jz L0049C05D mov esi,[esp+10h] mov eax,[esi+0Ch] test al,01h jnz L0049BFFE test al,80h jz L0049C05D test al,02h jnz L0049C05D L0049BFFE: mov eax,[esi+08h] test eax,eax jnz L0049C00E push esi call SUB_L004A1190 add esp,00000004h L0049C00E: mov eax,[esi] mov ecx,[esi+08h] cmp eax,ecx jnz L0049C021 mov ecx,[esi+04h] test ecx,ecx jnz L0049C05D inc eax mov [esi],eax L0049C021: test byte ptr [esi+0Ch],40h jz L0049C03B mov edx,[esi] dec edx mov eax,edx mov [esi],edx cmp [eax],bl jz L0049C042 inc eax mov [esi],eax or eax,FFFFFFFFh pop esi pop ebx retn ;------------------------------------------------------------------------------ L0049C03B: mov eax,[esi] dec eax mov [esi],eax mov [eax],bl L0049C042: mov eax,[esi+0Ch] mov edx,[esi+04h] and al,EFh inc edx or al,01h mov [esi+04h],edx mov [esi+0Ch],eax mov eax,ebx and eax,000000FFh pop esi pop ebx retn ;------------------------------------------------------------------------------ L0049C05D: pop esi or eax,FFFFFFFFh pop ebx retn ;------------------------------------------------------------------------------ Align 16 SUB_L0049C070: push esi mov esi,[esp+08h] push edi push esi call SUB_L0049CA40 mov eax,[esi+04h] add esp,00000004h dec eax mov [esi+04h],eax js L0049C0A1 mov eax,[esi] xor ecx,ecx push esi mov cl,[eax] inc eax mov edi,ecx mov [esi],eax call SUB_L0049CAB0 add esp,00000004h mov eax,edi pop edi pop esi retn ;------------------------------------------------------------------------------ L0049C0A1: push esi call SUB_L0049CDE0 add esp,00000004h mov edi,eax push esi call SUB_L0049CAB0 add esp,00000004h mov eax,edi pop edi pop esi retn ;------------------------------------------------------------------------------ Align 8 L0049C0C0: lea eax,[edx-01h] pop ebx retn ;------------------------------------------------------------------------------ Align 16 SUB_L0049C0D0: xor eax,eax mov al,[esp+08h] L0049C0D6: push ebx mov ebx,eax shl eax,08h mov edx,[esp+08h] test edx,00000003h jz L0049C0FB L0049C0E8: mov cl,[edx] inc edx cmp cl,bl jz L0049C0C0 test cl,cl jz L0049C144 test edx,00000003h jnz L0049C0E8 L0049C0FB: or ebx,eax push edi mov eax,ebx shl ebx,10h push esi or ebx,eax L0049C106: mov ecx,[edx] mov edi,7EFEFEFFh mov eax,ecx mov esi,edi xor ecx,ebx add esi,eax add edi,ecx xor ecx,FFFFFFFFh xor eax,FFFFFFFFh xor ecx,edi xor eax,esi add edx,00000004h and ecx,81010100h jnz L0049C148 and eax,81010100h jz L0049C106 and eax,01010100h jnz L0049C142 and esi,80000000h jnz L0049C106 L0049C142: pop esi pop edi L0049C144: pop ebx xor eax,eax retn ;------------------------------------------------------------------------------ L0049C148: mov eax,[edx-04h] cmp al,bl jz L0049C185 test al,al jz L0049C142 cmp ah,bl jz L0049C17E test ah,ah jz L0049C142 shr eax,10h cmp al,bl jz L0049C177 test al,al jz L0049C142 cmp ah,bl jz L0049C170 test ah,ah jz L0049C142 jmp L0049C106 L0049C170: pop esi pop edi lea eax,[edx-01h] pop ebx retn ;------------------------------------------------------------------------------ L0049C177: lea eax,[edx-02h] pop esi pop edi pop ebx retn ;------------------------------------------------------------------------------ L0049C17E: lea eax,[edx-03h] pop esi pop edi pop ebx retn ;------------------------------------------------------------------------------ L0049C185: lea eax,[edx-04h] pop esi pop edi pop ebx retn ;------------------------------------------------------------------------------ Align 8 SUB_L0049C190: push esi push 00000009h call SUB_L0049C9A0 mov eax,[esp+0Ch] mov esi,[L007B8610] add esp,00000004h mov [L007B8610],eax push 00000009h call SUB_L0049CA20 add esp,00000004h mov eax,esi pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L0049C1C0: mov eax,[L007B8610] test eax,eax jz L0049C1DD mov ecx,[esp+04h] push ecx call eax add esp,00000004h test eax,eax jz L0049C1DD mov eax,00000001h retn ;------------------------------------------------------------------------------ L0049C1DD: xor eax,eax retn ;------------------------------------------------------------------------------ SUB_L0049C1E0: call SUB_L0049DFE0 mov ecx,[esp+04h] mov [eax+14h],ecx retn ;------------------------------------------------------------------------------ Align 4 SUB_L0049C1F0: call SUB_L0049DFE0 mov ecx,[eax+14h] lea edx,[ecx+ecx*2] lea edx,[ecx+edx*4] shl edx,04h add edx,ecx shl edx,08h sub edx,ecx lea ecx,[ecx+edx*4+00269EC3h] mov [eax+14h],ecx mov eax,ecx shr eax,10h and eax,00007FFFh retn ;------------------------------------------------------------------------------ Align 4 SUB_L0049C220: sub esp,000000CCh lea eax,[esp+10h] push eax call [KERNEL32.dll!GetLocalTime] lea ecx,[esp+00h] push ecx call [KERNEL32.dll!GetSystemTime] mov dx,[esp+0Ah] cmp dx,[L007B862A] jnz L0049C289 mov ax,[esp+08h] cmp ax,[L007B8628] jnz L0049C289 mov cx,[esp+06h] cmp cx,[L007B8626] jnz L0049C289 mov dx,[esp+02h] cmp dx,[L007B8622] jnz L0049C289 mov ax,[esp+00h] cmp ax,[L007B8620] jnz L0049C289 mov eax,[L007B8618] jmp L0049C2EF L0049C289: lea ecx,[esp+20h] push ecx call [KERNEL32.dll!GetTimeZoneInformation] cmp eax,FFFFFFFFh jz L0049C2BF cmp eax,00000002h jnz L0049C2BB cmp word ptr [esp+000000BAh],0000h jz L0049C2BB mov eax,[esp+000000C8h] test eax,eax jz L0049C2BB mov eax,00000001h jmp L0049C2C2 L0049C2BB: xor eax,eax jmp L0049C2C2 L0049C2BF: or eax,FFFFFFFFh L0049C2C2: mov edx,[esp+00h] mov ecx,[esp+04h] mov [L007B8620],edx mov edx,[esp+08h] mov [L007B8624],ecx mov ecx,[esp+0Ch] mov [L007B8618],eax mov [L007B8628],edx mov [L007B862C],ecx L0049C2EF: mov edx,[esp+1Ch] mov ecx,[esp+18h] push eax mov eax,[esp+1Eh] and edx,0000FFFFh and eax,0000FFFFh push edx mov edx,[esp+1Eh] and ecx,0000FFFFh push eax mov eax,[esp+1Eh] push ecx mov ecx,[esp+20h] and edx,0000FFFFh and eax,0000FFFFh push edx and ecx,0000FFFFh push eax push ecx call SUB_L004A11F0 mov ecx,[esp+000000ECh] add esp,0000001Ch test ecx,ecx jz L0049C345 mov [ecx],eax L0049C345: add esp,000000CCh retn ;------------------------------------------------------------------------------ Align 8 SUB_L0049C350: mov ecx,[esp+04h] push esi mov esi,[esp+0Ch] mov eax,ecx cdq idiv esi push edi mov edi,eax mov eax,ecx cdq idiv esi test ecx,ecx jge L0049C371 test edx,edx jle L0049C371 inc edi sub edx,esi L0049C371: mov eax,edi pop edi pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L0049C380: push ebx mov ebx,[esp+0Ch] imul ebx,[esp+08h] push ebp push esi cmp ebx,FFFFFFE0h push edi ja L0049C3A3 test ebx,ebx jbe L0049C39E add ebx,0000000Fh and ebx,FFFFFFF0h jmp L0049C3A3 L0049C39E: mov ebx,00000010h L0049C3A3: mov ebp,[KERNEL32.dll!HeapAlloc] L0049C3A9: xor esi,esi cmp ebx,FFFFFFE0h ja L0049C405 cmp ebx,[L004D3754] ja L0049C3F4 push 00000009h call SUB_L0049C9A0 mov eax,ebx add esp,00000004h shr eax,04h push eax call SUB_L004A1680 add esp,00000004h mov esi,eax push 00000009h call SUB_L0049CA20 add esp,00000004h test esi,esi jz L0049C3F8 mov ecx,ebx xor eax,eax mov edx,ecx mov edi,esi shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb L0049C3F4: test esi,esi jnz L0049C424 L0049C3F8: mov eax,[L007B9BC8] push ebx push 00000008h push eax call ebp mov esi,eax L0049C405: test esi,esi jnz L0049C424 mov eax,[L007B86E0] test eax,eax jz L0049C424 push ebx call SUB_L0049C1C0 add esp,00000004h test eax,eax jnz L0049C3A9 pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ L0049C424: mov eax,esi pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ Align 8 SUB_L0049C430: push ecx push esi mov esi,[esp+0Ch] test esi,esi jz L0049C495 push 00000009h call SUB_L0049C9A0 add esp,00000004h lea eax,[esp+0Ch] lea ecx,[esp+04h] push eax push ecx push esi call SUB_L004A15C0 add esp,0000000Ch test eax,eax jz L0049C47B mov edx,[esp+0Ch] push eax mov eax,[esp+08h] push edx push eax call SUB_L004A1620 add esp,0000000Ch push 00000009h call SUB_L0049CA20 add esp,00000004h pop esi pop ecx retn ;------------------------------------------------------------------------------ L0049C47B: push 00000009h call SUB_L0049CA20 mov ecx,[L007B9BC8] add esp,00000004h push esi push 00000000h push ecx call [KERNEL32.dll!HeapFree] L0049C495: pop esi pop ecx retn ;------------------------------------------------------------------------------ db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' mov eax,[esp+0Ch] push ebx test eax,eax jz L0049C4F3 mov edx,[esp+08h] xor ebx,ebx mov bl,[esp+0Ch] test edx,00000003h jz L0049C4CD L0049C4BB: mov cl,[edx] inc edx xor cl,bl jz L0049C52E dec eax jz L0049C4F3 test edx,00000003h jnz L0049C4BB L0049C4CD: sub eax,00000004h jc L0049C4E4 push edi mov edi,ebx shl ebx,08h add ebx,edi mov edi,ebx shl ebx,10h add ebx,edi jmp L0049C4FA L0049C4E3: pop edi L0049C4E4: add eax,00000004h jz L0049C4F3 L0049C4E9: mov cl,[edx] inc edx xor cl,bl jz L0049C52E dec eax jnz L0049C4E9 L0049C4F3: pop ebx retn ;------------------------------------------------------------------------------ L0049C4F5: sub eax,00000004h jc L0049C4E3 L0049C4FA: mov ecx,[edx] xor ecx,ebx mov edi,7EFEFEFFh add edi,ecx xor ecx,FFFFFFFFh xor ecx,edi add edx,00000004h and ecx,81010100h jz L0049C4F5 mov ecx,[edx-04h] xor cl,bl jz L0049C53F xor ch,bl jz L0049C539 shr ecx,10h xor cl,bl jz L0049C533 xor ch,bl jz L0049C52D jmp L0049C4F5 L0049C52D: pop edi L0049C52E: lea eax,[edx-01h] pop ebx retn ;------------------------------------------------------------------------------ L0049C533: lea eax,[edx-02h] pop edi pop ebx retn ;------------------------------------------------------------------------------ L0049C539: lea eax,[edx-03h] pop edi pop ebx retn ;------------------------------------------------------------------------------ L0049C53F: lea eax,[edx-04h] pop edi pop ebx retn ;------------------------------------------------------------------------------ Align 16 SUB_L0049C550: mov eax,[L007B86B8] test eax,eax jnz L0049C56B mov eax,[esp+04h] cmp eax,00000061h jl L0049C5D1 cmp eax,0000007Ah jg L0049C5D1 sub eax,00000020h retn ;------------------------------------------------------------------------------ L0049C56B: push edi push esi push ebx push L007B9CE8 call [KERNEL32.dll!InterlockedIncrement] mov eax,[L007B9CE4] mov edi,[KERNEL32.dll!InterlockedDecrement] test eax,eax jz L0049C5A0 push L007B9CE8 call edi push 00000013h call SUB_L0049C9A0 add esp,00000004h mov esi,00000001h jmp L0049C5A2 L0049C5A0: xor esi,esi L0049C5A2: mov eax,[esp+10h] push eax call SUB_L0049C5E0 add esp,00000004h mov ebx,eax test esi,esi jz L0049C5C5 push 00000013h call SUB_L0049CA20 add esp,00000004h mov eax,ebx pop ebx pop esi pop edi retn ;------------------------------------------------------------------------------ L0049C5C5: push L007B9CE8 call edi mov eax,ebx pop ebx pop esi pop edi L0049C5D1: retn ;------------------------------------------------------------------------------ Align 16 SUB_L0049C5E0: mov eax,[L007B86B8] sub esp,00000008h test eax,eax push ebx jnz L0049C60B mov eax,[esp+10h] cmp eax,00000061h jl L0049C6D9 cmp eax,0000007Ah jg L0049C6D9 sub eax,00000020h pop ebx add esp,00000008h retn ;------------------------------------------------------------------------------ L0049C60B: mov ebx,[esp+10h] cmp ebx,00000100h jge L0049C643 cmp dword ptr [L004D16BC],00000001h jle L0049C62D push 00000002h push ebx call SUB_L0049F080 add esp,00000008h jmp L0049C638 L0049C62D: mov eax,[L004D14B0] mov al,[eax+ebx*2] and eax,00000002h L0049C638: test eax,eax jnz L0049C643 mov eax,ebx pop ebx add esp,00000008h retn ;------------------------------------------------------------------------------ L0049C643: mov edx,[L004D14B0] mov eax,ebx sar eax,08h mov ecx,eax and ecx,000000FFh test byte ptr [edx+ecx*2+01h],80h jz L0049C671 mov [esp+10h],al mov [esp+11h],bl mov byte ptr [esp+12h],00h mov eax,00000002h jmp L0049C67F L0049C671: mov [esp+10h],bl mov byte ptr [esp+11h],00h mov eax,00000001h L0049C67F: push 00000001h push 00000000h lea ecx,[esp+0Ch] push 00000003h push ecx lea edx,[esp+20h] push eax mov eax,[L007B86B8] push edx push 00000200h push eax call SUB_L0049EE20 add esp,00000020h test eax,eax jnz L0049C6AE mov eax,ebx pop ebx add esp,00000008h retn ;------------------------------------------------------------------------------ L0049C6AE: cmp eax,00000001h jnz L0049C6C1 mov eax,[esp+04h] and eax,000000FFh pop ebx add esp,00000008h retn ;------------------------------------------------------------------------------ L0049C6C1: mov eax,[esp+05h] mov ecx,[esp+04h] and eax,000000FFh and ecx,000000FFh shl eax,08h or eax,ecx L0049C6D9: pop ebx add esp,00000008h retn ;------------------------------------------------------------------------------ Align 4 SUB_L0049C6E0: mov ecx,[esp+08h] push edi push ebx push esi mov dl,[ecx] mov edi,[esp+10h] test dl,dl jz L0049C75A mov dh,[ecx+01h] test dh,dh jz L0049C747 L0049C6F8: mov esi,edi mov ecx,[esp+14h] mov al,[edi] inc esi cmp al,dl jz L0049C71A test al,al jz L0049C714 L0049C709: mov al,[esi] inc esi L0049C70C: cmp al,dl jz L0049C71A test al,al jnz L0049C709 L0049C714: pop esi pop ebx pop edi xor eax,eax retn ;------------------------------------------------------------------------------ L0049C71A: mov al,[esi] inc esi cmp al,dh jnz L0049C70C lea edi,[esi-01h] L0049C724: mov ah,[ecx+02h] test ah,ah jz L0049C753 mov al,[esi] add esi,00000002h cmp al,ah jnz L0049C6F8 mov al,[ecx+03h] test al,al jz L0049C753 mov ah,[esi-01h] add ecx,00000002h cmp al,ah jz L0049C724 jmp L0049C6F8 L0049C747: xor eax,eax pop esi pop ebx pop edi mov al,dl jmp L0049C0D6 L0049C753: lea eax,[edi-01h] pop esi pop ebx pop edi retn ;------------------------------------------------------------------------------ L0049C75A: mov eax,edi pop esi pop ebx pop edi retn ;------------------------------------------------------------------------------ EntryPoint: push ebp mov ebp,esp push FFFFFFFFh push L004BD0A8 push L0049F128 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp add esp,FFFFFFA8h push ebx push esi push edi mov [ebp-18h],esp call [KERNEL32.dll!GetVersion] xor edx,edx mov dl,ah mov [L007B85D4],edx mov ecx,eax and ecx,000000FFh mov [L007B85D0],ecx shl ecx,08h add ecx,edx mov [L007B85CC],ecx shr eax,10h mov [L007B85C8],eax call SUB_L004A12E0 test eax,eax jnz L0049C7CA push 0000001Ch call SUB_L0049C940 add esp,00000004h L0049C7CA: call SUB_L0049DF60 test eax,eax jnz L0049C7DD push 00000010h call SUB_L0049C940 add esp,00000004h L0049C7DD: mov dword ptr [ebp-04h],00000000h call SUB_L0049F690 call SUB_L004A27C0 call [KERNEL32.dll!GetCommandLineA] mov [L007B9CEC],eax call SUB_L004A2160 mov [L007B8630],eax test eax,eax jz L0049C810 mov eax,[L007B9CEC] test eax,eax jnz L0049C81A L0049C810: push FFFFFFFFh call SUB_L0049B0C0 add esp,00000004h L0049C81A: call SUB_L004A1EB0 call SUB_L004A1DC0 call SUB_L0049B090 mov esi,[L007B9CEC] mov [ebp-64h],esi cmp byte ptr [esi],22h jnz L0049C8F9 L0049C83B: inc esi mov [ebp-64h],esi mov al,[esi] cmp al,22h jz L0049C861 test al,al jz L0049C861 and eax,000000FFh push eax call SUB_L004A1D60 add esp,00000004h test eax,eax jz L0049C83B inc esi mov [ebp-64h],esi jmp L0049C83B L0049C861: cmp byte ptr [esi],22h jnz L0049C86A inc esi mov [ebp-64h],esi L0049C86A: mov al,[esi] test al,al jz L0049C87A cmp al,20h ja L0049C87A inc esi mov [ebp-64h],esi jmp L0049C86A L0049C87A: mov dword ptr [ebp-30h],00000000h lea eax,[ebp-5Ch] push eax call [KERNEL32.dll!GetStartupInfoA] test byte ptr [ebp-30h],01h jz L0049C89B mov eax,[ebp-2Ch] and eax,0000FFFFh jmp L0049C8A0 L0049C89B: mov eax,0000000Ah L0049C8A0: push eax push esi push 00000000h push 00000000h call [KERNEL32.dll!GetModuleHandleA] push eax call SUB_L00497F60 mov [ebp-60h],eax push eax call SUB_L0049B0C0 jmp L0049C8DE mov eax,[ebp-14h] mov ecx,[eax] mov ecx,[ecx] mov [ebp-68h],ecx push eax push ecx call SUB_L004A1B10 add esp,00000008h retn ;------------------------------------------------------------------------------ mov esp,[ebp-18h] mov edx,[ebp-68h] push edx call SUB_L0049B0E0 L0049C8DE: add esp,00000004h mov dword ptr [ebp-04h],FFFFFFFFh mov ecx,[ebp-10h] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L0049C8F9: cmp byte ptr [esi],20h jbe L0049C86A inc esi mov [ebp-64h],esi jmp L0049C8F9 Align 16 SUB_L0049C910: cmp dword ptr [L007B8638],00000001h jnz L0049C91E call SUB_L004A27D0 L0049C91E: mov eax,[esp+04h] push eax call SUB_L004A2810 add esp,00000004h push 000000FFh call [L004D1270] add esp,00000004h retn ;------------------------------------------------------------------------------ Align 8 SUB_L0049C940: cmp dword ptr [L007B8638],00000001h jnz L0049C94E call SUB_L004A27D0 L0049C94E: mov eax,[esp+04h] push eax call SUB_L004A2810 add esp,00000004h push 000000FFh call [KERNEL32.dll!ExitProcess] retn ;------------------------------------------------------------------------------ Align 16 SUB_L0049C970: mov eax,[L004D12BC] push esi mov esi,[KERNEL32.dll!InitializeCriticalSection] push eax call esi mov ecx,[L004D12AC] push ecx call esi mov edx,[L004D129C] push edx call esi mov eax,[L004D127C] push eax call esi pop esi retn ;------------------------------------------------------------------------------ Align 8 SUB_L0049C9A0: push ebp mov ebp,esp push edi mov edi,[ebp+08h] mov eax,[L004D1278+edi*4] test eax,eax jnz L0049CA05 push esi push 00000018h call SUB_L0049D430 mov esi,eax add esp,00000004h test esi,esi jnz L0049C9CD push 00000011h call SUB_L0049C910 add esp,00000004h L0049C9CD: push 00000011h call SUB_L0049C9A0 mov eax,[L004D1278+edi*4] add esp,00000004h test eax,eax push esi jnz L0049C9F2 call [KERNEL32.dll!InitializeCriticalSection] mov [L004D1278+edi*4],esi jmp L0049C9FA L0049C9F2: call SUB_L0049C430 add esp,00000004h L0049C9FA: push 00000011h call SUB_L0049CA20 add esp,00000004h pop esi L0049CA05: mov eax,[L004D1278+edi*4] push eax call [KERNEL32.dll!EnterCriticalSection] pop edi pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L0049CA20: push ebp mov ebp,esp mov eax,[ebp+08h] mov ecx,[L004D1278+eax*4] push ecx call [KERNEL32.dll!LeaveCriticalSection] pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L0049CA40: push ebp mov ebp,esp mov eax,[ebp+08h] cmp eax,L004D3968 jc L0049CA6A cmp eax,L004D3BC8 ja L0049CA6A sub eax,L004D3968 sar eax,05h add eax,0000001Ch push eax call SUB_L0049C9A0 add esp,00000004h pop ebp retn ;------------------------------------------------------------------------------ L0049CA6A: add eax,00000020h push eax call [KERNEL32.dll!EnterCriticalSection] pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L0049CA80: push ebp mov ebp,esp mov eax,[ebp+08h] cmp eax,00000014h jge L0049CA99 add eax,0000001Ch push eax call SUB_L0049C9A0 add esp,00000004h pop ebp retn ;------------------------------------------------------------------------------ L0049CA99: mov eax,[ebp+0Ch] add eax,00000020h push eax call [KERNEL32.dll!EnterCriticalSection] pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L0049CAB0: push ebp mov ebp,esp mov eax,[ebp+08h] cmp eax,L004D3968 jc L0049CADA cmp eax,L004D3BC8 ja L0049CADA sub eax,L004D3968 sar eax,05h add eax,0000001Ch push eax call SUB_L0049CA20 add esp,00000004h pop ebp retn ;------------------------------------------------------------------------------ L0049CADA: add eax,00000020h push eax call [KERNEL32.dll!LeaveCriticalSection] pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L0049CAF0: push ebp mov ebp,esp mov eax,[ebp+08h] cmp eax,00000014h jge L0049CB09 add eax,0000001Ch push eax call SUB_L0049CA20 add esp,00000004h pop ebp retn ;------------------------------------------------------------------------------ L0049CB09: mov eax,[ebp+0Ch] add eax,00000020h push eax call [KERNEL32.dll!LeaveCriticalSection] pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L0049CB20: mov eax,[L007B9CE0] push esi mov esi,[esp+08h] push edi cmp esi,eax jnc L0049CB6C mov eax,esi mov ecx,esi and eax,0000001Fh sar ecx,05h lea edx,[eax+eax*8] mov eax,[L007B9BE0+ecx*4] test byte ptr [eax+edx*4+04h],01h jz L0049CB6C push esi call SUB_L004A2DE0 add esp,00000004h push esi call SUB_L0049CB90 add esp,00000004h mov edi,eax push esi call SUB_L004A2E50 add esp,00000004h mov eax,edi pop edi pop esi retn ;------------------------------------------------------------------------------ L0049CB6C: call SUB_L0049BD30 mov dword ptr [eax],00000009h call SUB_L0049BD40 mov dword ptr [eax],00000000h pop edi or eax,FFFFFFFFh pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L0049CB90: push esi mov esi,[esp+08h] push edi push esi call SUB_L004A2D90 add esp,00000004h cmp eax,FFFFFFFFh jz L0049CBE6 cmp esi,00000001h jz L0049CBAE cmp esi,00000002h jnz L0049CBC8 L0049CBAE: push 00000001h call SUB_L004A2D90 add esp,00000004h mov edi,eax push 00000002h call SUB_L004A2D90 add esp,00000004h cmp edi,eax jz L0049CBE6 L0049CBC8: push esi call SUB_L004A2D90 add esp,00000004h push eax call [KERNEL32.dll!CloseHandle] test eax,eax jnz L0049CBE6 call [KERNEL32.dll!GetLastError] mov edi,eax jmp L0049CBE8 L0049CBE6: xor edi,edi L0049CBE8: push esi call SUB_L004A2CF0 mov eax,esi and esi,0000001Fh sar eax,05h lea ecx,[esi+esi*8] add esp,00000004h mov edx,[L007B9BE0+eax*4] test edi,edi mov byte ptr [edx+ecx*4+04h],00h jz L0049CC1B push edi call SUB_L0049BCB0 add esp,00000004h or eax,FFFFFFFFh pop edi pop esi retn ;------------------------------------------------------------------------------ L0049CC1B: pop edi xor eax,eax pop esi retn ;------------------------------------------------------------------------------ SUB_L0049CC20: push esi mov esi,[esp+08h] mov eax,[esi+0Ch] test al,83h jz L0049CC51 test al,08h jz L0049CC51 mov eax,[esi+08h] push eax call SUB_L0049C430 mov eax,[esi+0Ch] add esp,00000004h and eax,FFFFFBF7h mov [esi+0Ch],eax xor eax,eax mov [esi],eax mov [esi+08h],eax mov [esi+04h],eax L0049CC51: pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L0049CC60: push esi mov esi,[esp+08h] push esi call SUB_L0049CCA0 add esp,00000004h test eax,eax jz L0049CC77 or eax,FFFFFFFFh pop esi retn ;------------------------------------------------------------------------------ L0049CC77: mov eax,[esi+0Ch] test ah,40h jz L0049CC91 mov eax,[esi+10h] push eax call SUB_L004A2E80 add esp,00000004h neg eax sbb eax,eax pop esi retn ;------------------------------------------------------------------------------ L0049CC91: xor eax,eax pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L0049CCA0: push ebx push esi mov esi,[esp+0Ch] xor ebx,ebx push edi mov eax,[esi+0Ch] mov ecx,eax and ecx,00000003h cmp cl,02h jnz L0049CCFC test eax,00000108h jz L0049CCFC mov eax,[esi+08h] mov edi,[esi] sub edi,eax test edi,edi jle L0049CCFC mov edx,[esi+10h] push edi push eax push edx call SUB_L0049F200 add esp,0000000Ch cmp eax,edi mov eax,[esi+0Ch] jnz L0049CCF4 test al,80h jz L0049CCFC and al,FDh mov [esi+04h],ebx mov [esi+0Ch],eax mov eax,[esi+08h] mov [esi],eax mov eax,ebx pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ L0049CCF4: or al,20h or ebx,FFFFFFFFh mov [esi+0Ch],eax L0049CCFC: mov eax,[esi+08h] mov dword ptr [esi+04h],00000000h mov [esi],eax pop edi mov eax,ebx pop esi pop ebx retn ;------------------------------------------------------------------------------ Align 4 SUB_L0049CD10: push 00000001h call SUB_L0049CD20 add esp,00000004h retn ;------------------------------------------------------------------------------ Align 8 SUB_L0049CD20: push ecx push ebx push ebp push esi push edi xor esi,esi push 00000002h mov [esp+14h],esi xor ebp,ebp call SUB_L0049C9A0 mov eax,[L007B9BC0] mov edi,[esp+1Ch] add esp,00000004h cmp eax,esi jle L0049CDC0 mov bl,83h L0049CD46: mov eax,[L007B8BA8] mov eax,[eax+esi*4] test eax,eax jz L0049CDB6 test [eax+0Ch],bl jz L0049CDB6 push eax push esi call SUB_L0049CA80 mov ecx,[L007B8BA8] add esp,00000008h mov eax,[ecx+esi*4] mov ecx,[eax+0Ch] test bl,cl jz L0049CDA3 cmp edi,00000001h jnz L0049CD8A push eax call SUB_L0049CC60 add esp,00000004h cmp eax,FFFFFFFFh jz L0049CDA3 inc [esp+10h] jmp L0049CDA3 L0049CD8A: test edi,edi jnz L0049CDA3 test cl,02h jz L0049CDA3 push eax call SUB_L0049CC60 add esp,00000004h cmp eax,FFFFFFFFh jnz L0049CDA3 or ebp,eax L0049CDA3: mov edx,[L007B8BA8] mov eax,[edx+esi*4] push eax push esi call SUB_L0049CAF0 add esp,00000008h L0049CDB6: mov eax,[L007B9BC0] inc esi cmp esi,eax jl L0049CD46 L0049CDC0: push 00000002h call SUB_L0049CA20 mov eax,[esp+14h] add esp,00000004h cmp edi,00000001h jz L0049CDD5 mov eax,ebp L0049CDD5: pop edi pop esi pop ebp pop ebx pop ecx retn ;------------------------------------------------------------------------------ Align 8 SUB_L0049CDE0: push esi mov esi,[esp+08h] push edi mov eax,[esi+0Ch] test al,83h jz L0049CEC9 test al,40h jnz L0049CEC9 test al,02h jz L0049CE08 or al,20h mov [esi+0Ch],eax or eax,FFFFFFFFh pop edi pop esi retn ;------------------------------------------------------------------------------ L0049CE08: or al,01h test eax,0000010Ch mov [esi+0Ch],eax jnz L0049CE1F push esi call SUB_L004A1190 add esp,00000004h jmp L0049CE24 L0049CE1F: mov eax,[esi+08h] mov [esi],eax L0049CE24: mov ecx,[esi+18h] mov edx,[esi+08h] mov eax,[esi+10h] push ecx push edx push eax call SUB_L0049CED0 add esp,0000000Ch mov [esi+04h],eax test eax,eax jz L0049CEB0 cmp eax,FFFFFFFFh jz L0049CEB0 mov edx,[esi+0Ch] test dl,82h jnz L0049CE81 mov ecx,[esi+10h] cmp ecx,FFFFFFFFh jz L0049CE6B mov edi,ecx sar edi,05h and ecx,0000001Fh mov edi,[L007B9BE0+edi*4] lea ecx,[ecx+ecx*8] lea ecx,[edi+ecx*4] jmp L0049CE70 L0049CE6B: mov ecx,L004D16C8 L0049CE70: mov cl,[ecx+04h] and cl,82h cmp cl,82h jnz L0049CE81 or dh,20h mov [esi+0Ch],edx L0049CE81: cmp dword ptr [esi+18h],00000200h jnz L0049CE9E mov ecx,[esi+0Ch] test cl,08h jz L0049CE9E test ch,04h jnz L0049CE9E mov dword ptr [esi+18h],00001000h L0049CE9E: dec eax xor edx,edx mov [esi+04h],eax mov eax,[esi] mov dl,[eax] inc eax mov [esi],eax mov eax,edx pop edi pop esi retn ;------------------------------------------------------------------------------ L0049CEB0: mov ecx,[esi+0Ch] mov dword ptr [esi+04h],00000000h neg eax sbb eax,eax and eax,00000010h add eax,00000010h or ecx,eax mov [esi+0Ch],ecx L0049CEC9: pop edi or eax,FFFFFFFFh pop esi retn ;------------------------------------------------------------------------------ Align 4 SUB_L0049CED0: mov eax,[L007B9CE0] push esi mov esi,[esp+08h] push edi cmp esi,eax jnc L0049CF26 mov eax,esi mov ecx,esi and eax,0000001Fh sar ecx,05h lea edx,[eax+eax*8] mov eax,[L007B9BE0+ecx*4] test byte ptr [eax+edx*4+04h],01h jz L0049CF26 push esi call SUB_L004A2DE0 mov ecx,[esp+18h] mov edx,[esp+14h] add esp,00000004h push ecx push edx push esi call SUB_L0049CF50 add esp,0000000Ch mov edi,eax push esi call SUB_L004A2E50 add esp,00000004h mov eax,edi pop edi pop esi retn ;------------------------------------------------------------------------------ L0049CF26: call SUB_L0049BD30 mov dword ptr [eax],00000009h call SUB_L0049BD40 mov dword ptr [eax],00000000h pop edi or eax,FFFFFFFFh pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L0049CF50: mov eax,[esp+0Ch] sub esp,0000000Ch push ebx push ebp push esi push edi mov edi,[esp+24h] xor ebp,ebp test eax,eax mov edx,edi jz L0049D16B mov eax,[esp+20h] mov ecx,eax and eax,0000001Fh sar ecx,05h lea ebx,[eax+eax*8] mov eax,[L007B9BE0+ecx*4] lea esi,[L007B9BE0+ecx*4] shl ebx,02h mov [esp+18h],esi lea ecx,[ebx+eax] mov al,[ebx+eax+04h] test al,02h jnz L0049D16B test al,48h jz L0049CFC3 mov al,[ecx+05h] cmp al,0Ah jz L0049CFC3 mov [edi],al mov eax,[esp+28h] mov ecx,[esi] dec eax lea edx,[edi+01h] mov ebp,00000001h mov [esp+28h],eax mov byte ptr [ebx+ecx+05h],0Ah L0049CFC3: mov ecx,[esp+28h] lea eax,[esp+14h] push 00000000h push eax push ecx push edx mov edx,[esi] mov eax,[ebx+edx] push eax call [KERNEL32.dll!ReadFile] test eax,eax jnz L0049D029 call [KERNEL32.dll!GetLastError] cmp eax,00000005h jnz L0049D00C call SUB_L0049BD30 mov dword ptr [eax],00000009h call SUB_L0049BD40 mov dword ptr [eax],00000005h or eax,FFFFFFFFh pop edi pop esi pop ebp pop ebx add esp,0000000Ch retn ;------------------------------------------------------------------------------ L0049D00C: cmp eax,0000006Dh jz L0049D16B push eax call SUB_L0049BCB0 add esp,00000004h or eax,FFFFFFFFh pop edi pop esi pop ebp pop ebx add esp,0000000Ch retn ;------------------------------------------------------------------------------ L0049D029: mov ecx,[esi] mov edx,[esp+14h] add ebp,edx mov al,[ebx+ecx+04h] lea ecx,[ebx+ecx+04h] test al,80h jz L0049D161 test edx,edx jz L0049D04E cmp byte ptr [edi],0Ah jnz L0049D04E or al,04h jmp L0049D050 L0049D04E: and al,FBh L0049D050: mov [ecx],al mov eax,[esp+24h] add ebp,eax mov esi,edi cmp eax,ebp mov [esp+28h],ebp jnc L0049D15B L0049D066: mov al,[edi] cmp al,1Ah jz L0049D145 cmp al,0Dh jz L0049D07D mov [esi],al inc esi inc edi jmp L0049D129 L0049D07D: dec ebp cmp edi,ebp jnc L0049D09D cmp byte ptr [edi+01h],0Ah jnz L0049D093 add edi,00000002h mov byte ptr [esi],0Ah jmp L0049D128 L0049D093: mov byte ptr [esi],0Dh inc esi inc edi jmp L0049D129 L0049D09D: mov ecx,[esp+18h] xor ebp,ebp lea edx,[esp+14h] push ebp push edx mov edx,[ecx] lea eax,[esp+1Bh] push 00000001h push eax mov eax,[ebx+edx] push eax inc edi call [KERNEL32.dll!ReadFile] test eax,eax jnz L0049D0C9 call [KERNEL32.dll!GetLastError] mov ebp,eax L0049D0C9: test ebp,ebp jnz L0049D125 mov eax,[esp+14h] test eax,eax jz L0049D125 mov ecx,[esp+18h] mov edx,[ecx] test byte ptr [ebx+edx+04h],48h jz L0049D0FA mov al,[esp+13h] cmp al,0Ah jnz L0049D0EE mov [esi],al jmp L0049D128 L0049D0EE: mov byte ptr [esi],0Dh mov ecx,[ecx] inc esi mov [ebx+ecx+05h],al jmp L0049D129 L0049D0FA: cmp esi,[esp+24h] jnz L0049D10C cmp byte ptr [esp+13h],0Ah jnz L0049D10C mov byte ptr [esi],0Ah jmp L0049D128 L0049D10C: mov edx,[esp+20h] push 00000001h push FFFFFFFFh push edx call SUB_L0049F510 mov al,[esp+1Fh] add esp,0000000Ch cmp al,0Ah jz L0049D129 L0049D125: mov byte ptr [esi],0Dh L0049D128: inc esi L0049D129: mov ebp,[esp+28h] cmp edi,ebp jc L0049D066 sub esi,[esp+24h] mov ebp,esi mov eax,ebp pop edi pop esi pop ebp pop ebx add esp,0000000Ch retn ;------------------------------------------------------------------------------ L0049D145: mov eax,[esp+18h] mov ecx,[eax] mov al,[ebx+ecx+04h] test al,40h lea ebx,[ebx+ecx+04h] jnz L0049D15B or al,02h mov [ebx],al L0049D15B: sub esi,[esp+24h] mov ebp,esi L0049D161: mov eax,ebp pop edi pop esi pop ebp pop ebx add esp,0000000Ch retn ;------------------------------------------------------------------------------ L0049D16B: pop edi pop esi pop ebp xor eax,eax pop ebx add esp,0000000Ch retn ;------------------------------------------------------------------------------ Align 16 SUB_L0049D180: mov ecx,[esp+08h] push ebx push ebp push esi mov al,[ecx] xor edx,edx xor ebp,ebp push edi mov edi,[L007B8A20] cmp al,61h jz L0049D1B5 cmp al,72h jz L0049D1AE cmp al,77h jz L0049D1A7 xor eax,eax pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ L0049D1A7: mov eax,00000301h jmp L0049D1BA L0049D1AE: xor eax,eax or edi,00000001h jmp L0049D1BD L0049D1B5: mov eax,00000109h L0049D1BA: or edi,00000002h L0049D1BD: inc ecx mov esi,00000001h mov [esp+18h],ecx mov cl,[ecx] test cl,cl jz L0049D281 L0049D1D1: test esi,esi jz L0049D281 movsx ecx,cl add ecx,FFFFFFD5h cmp ecx,00000049h ja CASE_0049D2DC_PROC0009 xor ebx,ebx mov bl,[ecx+CASE_0049D304] jmp [CASE_PROCTABLE_0049D2DC+ebx*4] CASE_0049D2DC_PROC0000: test al,02h jnz CASE_0049D2DC_PROC0009 and al,FEh and edi,FFFFFFFCh or al,02h or edi,00000080h jmp L0049D26E CASE_0049D2DC_PROC0005: test ah,C0h jnz CASE_0049D2DC_PROC0009 or ah,80h jmp L0049D26E CASE_0049D2DC_PROC0008: test ah,C0h jnz CASE_0049D2DC_PROC0009 or ah,40h jmp L0049D26E CASE_0049D2DC_PROC0006: test edx,edx jnz CASE_0049D2DC_PROC0009 mov edx,00000001h or edi,00004000h jmp L0049D26E CASE_0049D2DC_PROC0007: test edx,edx jnz CASE_0049D2DC_PROC0009 mov edx,00000001h and edi,FFFFBFFFh jmp L0049D26E CASE_0049D2DC_PROC0003: test ebp,ebp jnz CASE_0049D2DC_PROC0009 mov ebp,00000001h or al,20h jmp L0049D26E CASE_0049D2DC_PROC0002: test ebp,ebp jnz CASE_0049D2DC_PROC0009 mov ebp,00000001h or al,10h jmp L0049D26E CASE_0049D2DC_PROC0004: test ah,10h jnz CASE_0049D2DC_PROC0009 or ah,10h jmp L0049D26E CASE_0049D2DC_PROC0001: test al,40h jnz CASE_0049D2DC_PROC0009 or al,40h jmp L0049D26E CASE_0049D2DC_PROC0009: xor esi,esi L0049D26E: mov ecx,[esp+18h] inc ecx mov [esp+18h],ecx mov cl,[ecx] test cl,cl jnz L0049D1D1 L0049D281: mov ecx,[esp+1Ch] mov edx,[esp+14h] push 000001A4h push ecx push eax push edx call SUB_L004A2F20 mov ecx,eax add esp,00000010h test ecx,ecx jge L0049D2A6 xor eax,eax pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ L0049D2A6: mov eax,[L007B8A1C] inc eax mov [L007B8A1C],eax mov eax,[esp+20h] mov [eax+0Ch],edi pop edi pop esi pop ebp mov dword ptr [eax+04h],00000000h mov dword ptr [eax],00000000h mov dword ptr [eax+08h],00000000h mov dword ptr [eax+1Ch],00000000h mov [eax+10h],ecx pop ebx retn ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_0049D2DC: dd CASE_0049D2DC_PROC0000 dd CASE_0049D2DC_PROC0001 dd CASE_0049D2DC_PROC0002 dd CASE_0049D2DC_PROC0003 dd CASE_0049D2DC_PROC0004 dd CASE_0049D2DC_PROC0005 dd CASE_0049D2DC_PROC0006 dd CASE_0049D2DC_PROC0007 dd CASE_0049D2DC_PROC0008 dd CASE_0049D2DC_PROC0009 CASE_0049D304: db 00h, 09h, 09h, 09h, 09h, 09h, 09h, 09h, 09h, 09h, 09h, 09h, 09h, 09h, 09h, 09h db 09h, 09h, 09h, 09h, 09h, 09h, 09h, 09h, 09h, 01h, 09h, 09h, 09h, 09h, 09h, 09h db 09h, 09h, 09h, 09h, 09h, 09h, 09h, 02h, 03h, 04h, 09h, 09h, 09h, 09h, 09h, 09h db 09h, 09h, 09h, 09h, 09h, 09h, 09h, 05h, 06h, 09h, 09h, 09h, 09h, 09h, 09h, 09h db 09h, 09h, 09h, 07h, 09h, 09h, 09h, 09h, 09h, 08h Align 4 SUB_L0049D350: push ebx push ebp push esi push edi push 00000002h xor ebp,ebp xor edi,edi call SUB_L0049C9A0 mov eax,[L007B9BC0] add esp,00000004h xor esi,esi cmp eax,ebp jle L0049D3FF mov bl,83h L0049D373: mov eax,[L007B8BA8] mov eax,[eax+esi*4] cmp eax,ebp jz L0049D3B7 test [eax+0Ch],bl jnz L0049D3A6 push eax push esi call SUB_L0049CA80 mov ecx,[L007B8BA8] add esp,00000008h mov eax,[ecx+esi*4] test [eax+0Ch],bl jz L0049D3B2 push eax push esi call SUB_L0049CAF0 add esp,00000008h L0049D3A6: mov eax,[L007B9BC0] inc esi cmp esi,eax jl L0049D373 jmp L0049D3FF L0049D3B2: mov edi,[ecx+esi*4] jmp L0049D3FF L0049D3B7: push 00000038h shl esi,02h call SUB_L0049D430 mov ecx,[L007B8BA8] add esp,00000004h mov [ecx+esi],eax mov edx,[L007B8BA8] mov eax,[edx+esi] cmp eax,ebp jz L0049D3FF add eax,00000020h push eax call [KERNEL32.dll!InitializeCriticalSection] mov eax,[L007B8BA8] mov ecx,[eax+esi] add ecx,00000020h push ecx call [KERNEL32.dll!EnterCriticalSection] mov edx,[L007B8BA8] mov edi,[edx+esi] L0049D3FF: cmp edi,ebp jz L0049D418 mov [edi+04h],ebp mov [edi+0Ch],ebp mov [edi+08h],ebp mov [edi],ebp mov [edi+1Ch],ebp mov dword ptr [edi+10h],FFFFFFFFh L0049D418: push 00000002h call SUB_L0049CA20 add esp,00000004h mov eax,edi pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ Align 8 SUB_L0049D430: mov eax,[L007B86E0] mov ecx,[esp+04h] push eax push ecx call SUB_L0049D450 add esp,00000008h retn ;------------------------------------------------------------------------------ Align 16 SUB_L0049D450: push esi mov esi,[esp+08h] cmp esi,FFFFFFE0h push edi ja L0049D48F test esi,esi jnz L0049D464 mov esi,00000001h L0049D464: mov edi,[esp+10h] L0049D468: cmp esi,FFFFFFE0h ja L0049D478 push esi call SUB_L0049D4A0 add esp,00000004h jmp L0049D47A L0049D478: xor eax,eax L0049D47A: test eax,eax jnz L0049D491 test edi,edi jz L0049D491 push esi call SUB_L0049C1C0 add esp,00000004h test eax,eax jnz L0049D468 L0049D48F: xor eax,eax L0049D491: pop edi pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L0049D4A0: mov eax,[esp+04h] push esi push edi lea esi,[eax+0Fh] mov eax,[L004D3754] and esi,FFFFFFF0h cmp esi,eax ja L0049D4E2 push 00000009h call SUB_L0049C9A0 mov ecx,esi add esp,00000004h shr ecx,04h push ecx call SUB_L004A1680 add esp,00000004h mov edi,eax push 00000009h call SUB_L0049CA20 add esp,00000004h test edi,edi jz L0049D4E2 mov eax,edi pop edi pop esi retn ;------------------------------------------------------------------------------ L0049D4E2: mov edx,[L007B9BC8] push esi push 00000000h push edx call [KERNEL32.dll!HeapAlloc] pop edi pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L0049D500: push esi mov esi,[esp+18h] cmp dword ptr [esi],19930520h jz L0049D512 call SUB_L0049E1A0 L0049D512: mov eax,[esp+08h] test byte ptr [eax+04h],66h jz L0049D54F mov eax,[esi+04h] test eax,eax jz L0049D5C6 mov eax,[esp+1Ch] test eax,eax jnz L0049D5C6 mov eax,[esp+14h] mov ecx,[esp+0Ch] push FFFFFFFFh push esi push eax push ecx call SUB_L0049D970 add esp,00000010h mov eax,00000001h pop esi retn ;------------------------------------------------------------------------------ L0049D54F: mov ecx,[esi+0Ch] test ecx,ecx jz L0049D5C6 cmp dword ptr [eax],E06D7363h jnz L0049D59E cmp dword ptr [eax+14h],19930520h jbe L0049D59E mov edx,[eax+1Ch] mov ecx,[edx+08h] test ecx,ecx jz L0049D59E mov edx,[esp+24h] and edx,000000FFh push edx mov edx,[esp+24h] push edx mov edx,[esp+24h] push edx mov edx,[esp+20h] push esi push edx mov edx,[esp+24h] push edx mov edx,[esp+24h] push edx push eax call ecx add esp,00000020h pop esi retn ;------------------------------------------------------------------------------ L0049D59E: mov ecx,[esp+20h] mov edx,[esp+1Ch] push ecx mov ecx,[esp+28h] push edx mov edx,[esp+1Ch] push ecx mov ecx,[esp+1Ch] push esi push edx mov edx,[esp+20h] push ecx push edx push eax call SUB_L0049D5D0 add esp,00000020h L0049D5C6: mov eax,00000001h pop esi retn ;------------------------------------------------------------------------------ Align 4 SUB_L0049D5D0: sub esp,00000024h mov eax,[esp+2Ch] push ebx push ebp push esi mov ebp,[eax+08h] push edi cmp ebp,FFFFFFFFh mov [esp+24h],ebp jl L0049D5F0 mov ecx,[esp+48h] cmp ebp,[ecx+04h] jl L0049D5F5 L0049D5F0: call SUB_L0049E1A0 L0049D5F5: mov ebx,[esp+38h] mov esi,00000003h mov edi,19930520h cmp dword ptr [ebx],E06D7363h jnz L0049D846 cmp [ebx+10h],esi jnz L0049D67E cmp [ebx+14h],edi jnz L0049D67E mov eax,[ebx+1Ch] test eax,eax jnz L0049D67E call SUB_L0049DFE0 mov ecx,[eax+6Ch] test ecx,ecx jz L0049D883 call SUB_L0049DFE0 mov ebx,[eax+6Ch] mov [esp+38h],ebx call SUB_L0049DFE0 mov edx,[eax+70h] push 00000001h push ebx mov [esp+48h],edx call SUB_L004A3350 add esp,00000008h test eax,eax jnz L0049D65C call SUB_L0049E1A0 L0049D65C: cmp dword ptr [ebx],E06D7363h jnz L0049D846 cmp [ebx+10h],esi jnz L0049D67E cmp [ebx+14h],edi jnz L0049D67E mov eax,[ebx+1Ch] test eax,eax jnz L0049D67E call SUB_L0049E1A0 L0049D67E: cmp dword ptr [ebx],E06D7363h jnz L0049D846 cmp [ebx+10h],esi jnz L0049D846 cmp [ebx+14h],edi jnz L0049D846 mov edx,[esp+50h] lea eax,[esp+28h] lea ecx,[esp+14h] push eax mov eax,[esp+4Ch] push ecx push ebp push edx push eax call SUB_L0049AB10 mov ecx,[esp+28h] mov edx,[esp+3Ch] add esp,00000014h cmp ecx,edx mov [esp+18h],eax jnc L0049D82B L0049D6CD: cmp [eax],ebp jg L0049D80F cmp ebp,[eax+04h] jg L0049D80F mov ecx,[eax+0Ch] mov esi,[eax+10h] test ecx,ecx mov [esp+10h],esi mov [esp+20h],ecx jle L0049D80B mov eax,[ebx+1Ch] mov eax,[eax+0Ch] lea edx,[eax+04h] mov eax,[eax] mov [esp+2Ch],edx mov [esp+30h],eax L0049D707: mov eax,[esp+30h] mov ebp,[esp+2Ch] test eax,eax mov [esp+1Ch],eax jle L0049D7C0 mov edx,[esi+04h] L0049D71E: mov edi,[ebp+00h] test edx,edx jz L0049D79F mov cl,[edx+08h] lea eax,[edx+08h] test cl,cl jz L0049D79F mov ecx,[edi+04h] cmp edx,ecx jz L0049D77A lea esi,[ecx+08h] L0049D739: mov bl,[eax] mov cl,bl cmp bl,[esi] jnz L0049D75D test cl,cl jz L0049D759 mov bl,[eax+01h] mov cl,bl cmp bl,[esi+01h] jnz L0049D75D add eax,00000002h add esi,00000002h test cl,cl jnz L0049D739 L0049D759: xor eax,eax jmp L0049D762 L0049D75D: sbb eax,eax sbb eax,FFFFFFFFh L0049D762: test eax,eax jz L0049D772 mov ebx,[esp+38h] mov esi,[esp+10h] xor eax,eax jmp L0049D7A4 L0049D772: mov ebx,[esp+38h] mov esi,[esp+10h] L0049D77A: test byte ptr [edi],02h jz L0049D784 test byte ptr [esi],08h jz L0049D79B L0049D784: mov eax,[ebx+1Ch] mov eax,[eax] test al,01h jz L0049D792 test byte ptr [esi],01h jz L0049D79B L0049D792: test al,02h jz L0049D79F test byte ptr [esi],02h jnz L0049D79F L0049D79B: xor eax,eax jmp L0049D7A4 L0049D79F: mov eax,00000001h L0049D7A4: test eax,eax jnz L0049D7D6 mov eax,[esp+1Ch] add ebp,00000004h dec eax test eax,eax mov [esp+1Ch],eax jg L0049D71E mov ecx,[esp+20h] L0049D7C0: dec ecx add esi,00000010h test ecx,ecx mov [esp+20h],ecx mov [esp+10h],esi jg L0049D707 jmp L0049D807 L0049D7D6: mov ecx,[esp+54h] mov edx,[esp+50h] mov eax,[esp+18h] push ecx mov ecx,[ebp+00h] push edx mov edx,[esp+50h] push eax mov eax,[esp+50h] push ecx mov ecx,[esp+50h] push esi push edx mov edx,[esp+54h] push eax push ecx push edx push ebx call SUB_L0049DA30 add esp,00000028h L0049D807: mov ebp,[esp+24h] L0049D80B: mov eax,[esp+18h] L0049D80F: mov ecx,[esp+14h] mov edx,[esp+28h] inc ecx add eax,00000014h cmp ecx,edx mov [esp+14h],ecx mov [esp+18h],eax jc L0049D6CD L0049D82B: mov al,[esp+4Ch] test al,al jz L0049D883 push 00000001h push ebx call SUB_L0049DE60 add esp,00000008h pop edi pop esi pop ebp pop ebx add esp,00000024h retn ;------------------------------------------------------------------------------ L0049D846: mov al,[esp+4Ch] test al,al jnz L0049D87E mov eax,[esp+54h] mov ecx,[esp+50h] mov edx,[esp+48h] push eax mov eax,[esp+48h] push ecx mov ecx,[esp+48h] push ebp push edx mov edx,[esp+4Ch] push eax push ecx push edx push ebx call SUB_L0049D890 add esp,00000020h pop edi pop esi pop ebp pop ebx add esp,00000024h retn ;------------------------------------------------------------------------------ L0049D87E: call SUB_L0049E110 L0049D883: pop edi pop esi pop ebp pop ebx add esp,00000024h retn ;------------------------------------------------------------------------------ Align 8 SUB_L0049D890: sub esp,00000008h push ebx push ebp push esi push edi call SUB_L0049DFE0 mov ecx,[eax+68h] mov ebp,[esp+38h] mov edi,[esp+34h] mov ebx,[esp+2Ch] test ecx,ecx jz L0049D8D6 mov eax,[esp+28h] mov ecx,[esp+24h] mov edx,[esp+20h] push ebp push edi push ebx push eax mov eax,[esp+2Ch] push ecx push edx push eax call SUB_L0049A9B0 add esp,0000001Ch test eax,eax jnz L0049D95F L0049D8D6: mov eax,[esp+30h] lea ecx,[esp+14h] lea edx,[esp+10h] push ecx push edx push eax push edi push ebx call SUB_L0049AB10 mov ecx,[esp+24h] mov esi,eax mov eax,[esp+28h] add esp,00000014h cmp ecx,eax jnc L0049D95F L0049D8FD: mov eax,[esp+30h] mov ecx,[esi] cmp eax,ecx jl L0049D94B cmp eax,[esi+04h] jg L0049D94B mov edx,[esi+0Ch] mov eax,[esi+10h] shl edx,04h add eax,edx mov ecx,[eax-0Ch] test ecx,ecx jz L0049D925 mov dl,[ecx+08h] test dl,dl jnz L0049D94B L0049D925: mov ecx,[esp+28h] mov edx,[esp+24h] push ebp push edi push esi add eax,FFFFFFF0h push 00000000h push eax mov eax,[esp+34h] push ebx push ecx mov ecx,[esp+38h] push edx push eax push ecx call SUB_L0049DA30 add esp,00000028h L0049D94B: mov eax,[esp+10h] mov ecx,[esp+14h] inc eax add esi,00000014h cmp eax,ecx mov [esp+10h],eax jc L0049D8FD L0049D95F: pop edi pop esi pop ebp pop ebx add esp,00000008h retn ;------------------------------------------------------------------------------ Align 16 SUB_L0049D970: push ebp mov ebp,esp push FFFFFFFFh push L004BD0B8 push L0049F128 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp add esp,FFFFFFF4h push ebx push esi push edi mov [ebp-18h],esp mov ebx,[ebp+08h] mov esi,[ebx+08h] mov [ebp-1Ch],esi mov edi,[ebp+10h] L0049D9A2: cmp esi,[ebp+14h] jz L0049DA11 cmp esi,FFFFFFFFh jle L0049D9B1 cmp esi,[edi+04h] jl L0049D9B6 L0049D9B1: call SUB_L0049E1A0 L0049D9B6: mov dword ptr [ebp-04h],00000000h mov eax,[edi+08h] mov eax,[eax+esi*8+04h] test eax,eax jz L0049D9D4 push 00000103h push ebx push eax call SUB_L0049DF10 L0049D9D4: mov dword ptr [ebp-04h],FFFFFFFFh mov edx,[edi+08h] mov esi,[edx+esi*8] mov [ebp-1Ch],esi jmp L0049D9A2 mov ecx,[ebp-14h] push ecx call SUB_L0049AFD0 add esp,00000004h retn ;------------------------------------------------------------------------------ mov esp,[ebp-18h] mov dword ptr [ebp-04h],FFFFFFFFh mov edi,[ebp+10h] mov ebx,[ebp+08h] mov esi,[ebp-1Ch] mov edx,[edi+08h] mov esi,[edx+esi*8] mov [ebp-1Ch],esi jmp L0049D9A2 L0049DA11: mov [ebx+08h],esi mov ecx,[ebp-10h] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L0049DA30: mov eax,[esp+1Ch] push ebx push ebp mov ebp,[esp+0Ch] push esi mov esi,[esp+14h] test eax,eax push edi jz L0049DA54 push eax mov eax,[esp+2Ch] push eax push esi push ebp call SUB_L0049DC50 add esp,00000010h L0049DA54: mov eax,[esp+38h] push ebp test eax,eax jnz L0049DA60 push esi jmp L0049DA61 L0049DA60: push eax L0049DA61: call SUB_L0049A880 mov edi,[esp+30h] mov ebx,[esp+24h] mov edx,[esp+20h] mov ecx,[edi] push ecx push ebx push edx push esi call SUB_L0049D970 mov eax,[edi+04h] mov edx,[esp+38h] mov ecx,[esp+44h] add esp,00000010h inc eax mov [esi+08h],eax mov eax,[edx+0Ch] push 00000100h push ecx mov ecx,[esp+24h] push eax push ebx push ecx push esi push ebp call SUB_L0049DAC0 add esp,0000001Ch test eax,eax jz L0049DAB4 push esi push eax call SUB_L0049A830 L0049DAB4: pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ Align 8 SUB_L0049DAC0: push ebp mov ebp,esp push FFFFFFFFh push L004BD0C8 push L0049F128 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp add esp,FFFFFFE4h push ebx push esi push edi mov [ebp-18h],esp mov ebx,[ebp+18h] mov [ebp-2Ch],ebx mov dword ptr [ebp-24h],00000000h mov esi,[ebp+0Ch] mov eax,[esi-04h] mov [ebp-28h],eax call SUB_L0049DFE0 mov ecx,[eax+6Ch] mov [ebp-1Ch],ecx call SUB_L0049DFE0 mov edx,[eax+70h] mov [ebp-20h],edx call SUB_L0049DFE0 mov edi,[ebp+08h] mov [eax+6Ch],edi call SUB_L0049DFE0 mov ecx,[ebp+10h] mov [eax+70h],ecx mov dword ptr [ebp-04h],00000000h mov dword ptr [ebp-04h],00000001h mov edx,[ebp+20h] push edx mov eax,[ebp+1Ch] push eax push ebx mov ecx,[ebp+14h] push ecx push esi call SUB_L0049A920 add esp,00000014h mov ebx,eax mov [ebp-2Ch],ebx mov dword ptr [ebp-04h],00000000h mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L0049DBB8 mov eax,ebx mov ecx,[ebp-10h] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ mov edx,[ebp-14h] push edx call SUB_L0049DC20 add esp,00000004h retn ;------------------------------------------------------------------------------ mov esp,[ebp-18h] mov dword ptr [ebp-2Ch],00000000h push FFFFFFFFh lea eax,[ebp-10h] push eax call SUB_L0049ABD2 add esp,00000008h xor eax,eax mov ecx,[ebp-10h] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ mov esi,[ebp+0Ch] mov edi,[ebp+08h] mov ebx,[ebp-2Ch] SUB_L0049DBB8: mov ecx,[ebp-28h] mov [esi-04h],ecx call SUB_L0049DFE0 mov edx,[ebp-1Ch] mov [eax+6Ch],edx call SUB_L0049DFE0 mov ecx,[ebp-20h] mov [eax+70h],ecx cmp dword ptr [edi],E06D7363h jnz L0049DC05 cmp dword ptr [edi+10h],00000003h jnz L0049DC05 cmp dword ptr [edi+14h],19930520h jnz L0049DC05 mov eax,[ebp-24h] test eax,eax jnz L0049DC05 test ebx,ebx jz L0049DC05 call SUB_L0049AC3A push eax push edi call SUB_L0049DE60 add esp,00000008h L0049DC05: retn ;------------------------------------------------------------------------------ mov eax,ebx mov ecx,[ebp-10h] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 SUB_L0049DC20: mov eax,[esp+04h] mov eax,[eax] cmp dword ptr [eax],E06D7363h jnz L0049DC4A cmp dword ptr [eax+10h],00000003h jnz L0049DC4A cmp dword ptr [eax+14h],19930520h jnz L0049DC4A mov ecx,[eax+1Ch] test ecx,ecx jnz L0049DC4A mov eax,00000001h retn ;------------------------------------------------------------------------------ L0049DC4A: xor eax,eax retn ;------------------------------------------------------------------------------ Align 4 SUB_L0049DC50: push ebp mov ebp,esp push FFFFFFFFh push L004BD0E0 push L0049F128 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp add esp,FFFFFFF4h push ebx push esi push edi mov [ebp-18h],esp mov ecx,[ebp+10h] mov eax,[ecx+04h] test eax,eax jz L0049DE40 mov dl,[eax+08h] test dl,dl jz L0049DE40 mov eax,[ecx+08h] test eax,eax jz L0049DE40 mov edx,[ebp+0Ch] lea esi,[edx+eax+0Ch] mov dword ptr [ebp-04h],00000000h test byte ptr [ecx],08h jz L0049DCF5 mov edi,[ebp+08h] push 00000001h mov eax,[edi+18h] push eax call SUB_L004A3350 add esp,00000008h test eax,eax jz L0049DE24 push 00000001h push esi call SUB_L004A3370 add esp,00000008h test eax,eax jz L0049DE24 mov eax,[edi+18h] mov [esi],eax mov ecx,[ebp+14h] add ecx,00000008h push ecx push eax call SUB_L0049DEE0 add esp,00000008h mov [esi],eax jmp L0049DE39 L0049DCF5: mov edi,[ebp+14h] test byte ptr [edi],01h jz L0049DD62 mov ebx,[ebp+08h] push 00000001h mov edx,[ebx+18h] push edx call SUB_L004A3350 add esp,00000008h test eax,eax jz L0049DE24 push 00000001h push esi call SUB_L004A3370 add esp,00000008h test eax,eax jz L0049DE24 mov eax,[edi+14h] push eax mov ecx,[ebx+18h] push ecx push esi call SUB_L004A33B0 add esp,0000000Ch cmp dword ptr [edi+14h],00000004h jnz L0049DE39 mov eax,[esi] test eax,eax jz L0049DE39 add edi,00000008h push edi push eax call SUB_L0049DEE0 add esp,00000008h mov [esi],eax jmp L0049DE39 L0049DD62: mov eax,[edi+18h] test eax,eax mov ebx,[ebp+08h] push 00000001h mov edx,[ebx+18h] push edx jnz L0049DDB8 call SUB_L004A3350 add esp,00000008h test eax,eax jz L0049DE24 push 00000001h push esi call SUB_L004A3370 add esp,00000008h test eax,eax jz L0049DE24 mov eax,[edi+14h] push eax add edi,00000008h push edi mov ecx,[ebx+18h] push ecx call SUB_L0049DEE0 add esp,00000008h push eax push esi call SUB_L004A33B0 add esp,0000000Ch jmp L0049DE39 L0049DDB8: call SUB_L004A3350 add esp,00000008h test eax,eax jz L0049DE24 push 00000001h push esi call SUB_L004A3370 add esp,00000008h test eax,eax jz L0049DE24 mov eax,[edi+18h] push eax call SUB_L004A3390 add esp,00000004h test eax,eax jz L0049DE24 test byte ptr [edi],04h jz L0049DE07 push 00000001h lea ecx,[edi+08h] push ecx mov edx,[ebx+18h] push edx call SUB_L0049DEE0 add esp,00000008h push eax mov eax,[edi+18h] push eax push esi call SUB_L0049A870 jmp L0049DE39 L0049DE07: lea ecx,[edi+08h] push ecx mov edx,[ebx+18h] push edx call SUB_L0049DEE0 add esp,00000008h push eax mov eax,[edi+18h] push eax push esi call SUB_L0049A870 jmp L0049DE39 L0049DE24: call SUB_L0049E1A0 jmp L0049DE39 mov eax,00000001h retn ;------------------------------------------------------------------------------ mov esp,[ebp-18h] call SUB_L0049E110 L0049DE39: mov dword ptr [ebp-04h],FFFFFFFFh L0049DE40: mov ecx,[ebp-10h] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L0049DE60: push ebp mov ebp,esp push FFFFFFFFh push L004BD0F0 push L0049F128 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000008h push ebx push esi push edi mov [ebp-18h],esp mov ecx,[ebp+08h] test ecx,ecx jz L0049DEC4 mov eax,[ecx+1Ch] mov eax,[eax+04h] test eax,eax jz L0049DEC4 mov dword ptr [ebp-04h],00000000h push eax mov ecx,[ecx+18h] push ecx call SUB_L0049A870 jmp L0049DEBD xor eax,eax mov cl,[ebp+0Ch] test cl,cl setnz al retn ;------------------------------------------------------------------------------ mov esp,[ebp-18h] call SUB_L0049E110 L0049DEBD: mov dword ptr [ebp-04h],FFFFFFFFh L0049DEC4: mov ecx,[ebp-10h] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L0049DEE0: mov edx,[esp+08h] push esi mov esi,[esp+08h] mov ecx,[edx] mov eax,esi add eax,ecx mov ecx,[edx+04h] test ecx,ecx jl L0049DF03 mov esi,[esi+ecx] mov edx,[edx+08h] mov edx,[esi+edx] add edx,ecx add eax,edx L0049DF03: pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L0049DF10: push ebp mov ebp,esp sub esp,00000004h push ebx push ecx mov eax,[ebp+0Ch] add eax,0000000Ch mov [ebp-04h],eax mov eax,[ebp+08h] push ebp push [ebp+10h] mov ecx,[ebp+10h] mov ebp,[ebp-04h] call SUB_L0049AC5D push esi push edi call eax pop edi pop esi mov ebx,ebp pop ebp mov ecx,[ebp+10h] push ebp mov ebp,ebx cmp ecx,00000100h jnz L0049DF4F mov ecx,00000002h L0049DF4F: push ecx call SUB_L0049AC5D pop ebp pop ecx pop ebx leave retn 000Ch ;------------------------------------------------------------------------------ Align 8 SUB_L0049DF60: push esi call SUB_L0049C970 call [KERNEL32.dll!TlsAlloc] cmp eax,FFFFFFFFh mov [L004D1340],eax jz L0049DFB8 push 00000074h push 00000001h call SUB_L0049C380 mov esi,eax add esp,00000008h test esi,esi jz L0049DFB8 mov eax,[L004D1340] push esi push eax call [KERNEL32.dll!TlsSetValue] test eax,eax jz L0049DFB8 push esi call SUB_L0049DFC0 add esp,00000004h call [KERNEL32.dll!GetCurrentThreadId] mov [esi],eax mov dword ptr [esi+04h],FFFFFFFFh mov eax,00000001h pop esi retn ;------------------------------------------------------------------------------ L0049DFB8: xor eax,eax pop esi retn ;------------------------------------------------------------------------------ Align 8 SUB_L0049DFC0: mov eax,[esp+04h] mov dword ptr [eax+50h],L004D3758 mov dword ptr [eax+14h],00000001h retn ;------------------------------------------------------------------------------ Align 16 SUB_L0049DFE0: push esi push edi call [KERNEL32.dll!GetLastError] mov edi,eax mov eax,[L004D1340] push eax call [KERNEL32.dll!TlsGetValue] mov esi,eax test esi,esi jnz L0049E04E push 00000074h push 00000001h call SUB_L0049C380 mov esi,eax add esp,00000008h test esi,esi jz L0049E044 mov ecx,[L004D1340] push esi push ecx call [KERNEL32.dll!TlsSetValue] test eax,eax jz L0049E044 push esi call SUB_L0049DFC0 add esp,00000004h call [KERNEL32.dll!GetCurrentThreadId] push edi mov [esi],eax mov dword ptr [esi+04h],FFFFFFFFh call [KERNEL32.dll!SetLastError] mov eax,esi pop edi pop esi retn ;------------------------------------------------------------------------------ L0049E044: push 00000010h call SUB_L0049C910 add esp,00000004h L0049E04E: push edi call [KERNEL32.dll!SetLastError] mov eax,esi pop edi pop esi retn ;------------------------------------------------------------------------------ Align 8 SUB_L0049E060: mov eax,[L004D1340] cmp eax,FFFFFFFFh jz L0049E10F push esi mov esi,[esp+08h] test esi,esi jnz L0049E084 push eax call [KERNEL32.dll!TlsGetValue] mov esi,eax test esi,esi jz L0049E100 L0049E084: mov eax,[esi+24h] test eax,eax jz L0049E094 push eax call SUB_L0049C430 add esp,00000004h L0049E094: mov eax,[esi+28h] test eax,eax jz L0049E0A4 push eax call SUB_L0049C430 add esp,00000004h L0049E0A4: mov eax,[esi+30h] test eax,eax jz L0049E0B4 push eax call SUB_L0049C430 add esp,00000004h L0049E0B4: mov eax,[esi+38h] test eax,eax jz L0049E0C4 push eax call SUB_L0049C430 add esp,00000004h L0049E0C4: mov eax,[esi+40h] test eax,eax jz L0049E0D4 push eax call SUB_L0049C430 add esp,00000004h L0049E0D4: mov eax,[esi+44h] test eax,eax jz L0049E0E4 push eax call SUB_L0049C430 add esp,00000004h L0049E0E4: mov eax,[esi+50h] cmp eax,L004D3758 jz L0049E0F7 push eax call SUB_L0049C430 add esp,00000004h L0049E0F7: push esi call SUB_L0049C430 add esp,00000004h L0049E100: mov eax,[L004D1340] push 00000000h push eax call [KERNEL32.dll!TlsSetValue] pop esi L0049E10F: retn ;------------------------------------------------------------------------------ SUB_L0049E110: push ebp mov ebp,esp push FFFFFFFFh push L004BD100 push L0049F128 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000008h push ebx push esi push edi mov [ebp-18h],esp mov dword ptr [ebp-04h],00000000h call SUB_L0049DFE0 mov ecx,[eax+60h] test ecx,ecx jz L0049E16A mov dword ptr [ebp-04h],00000001h call SUB_L0049DFE0 call [eax+60h] jmp L0049E163 L0049E15A: mov eax,00000001h retn ;------------------------------------------------------------------------------ L0049E160: mov esp,[ebp-18h] L0049E163: mov dword ptr [ebp-04h],00000000h L0049E16A: mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L0049E187 mov ecx,[ebp-10h] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ SUB_L0049E187: call SUB_L004A36F0 retn ;------------------------------------------------------------------------------ mov ecx,[ebp-10h] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 4 SUB_L0049E1A0: push ebp mov ebp,esp push FFFFFFFFh push L004BD118 push L0049F128 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000008h push ebx push esi push edi mov [ebp-18h],esp mov dword ptr [ebp-04h],00000000h mov eax,[L004D1344] test eax,eax jz L0049E1F1 mov dword ptr [ebp-04h],00000001h call eax jmp L0049E1EA mov eax,00000001h retn ;------------------------------------------------------------------------------ mov esp,[ebp-18h] L0049E1EA: mov dword ptr [ebp-04h],00000000h L0049E1F1: mov dword ptr [ebp-04h],FFFFFFFFh call SUB_L0049E20E mov ecx,[ebp-10h] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ SUB_L0049E20E: call SUB_L0049E110 retn ;------------------------------------------------------------------------------ mov ecx,[ebp-10h] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L0049E230: push ebx push ebp push esi mov esi,[esp+14h] push edi mov eax,[esi+0Ch] mov ebp,[esi+10h] test al,82h jz L0049E353 test al,40h jnz L0049E353 xor ebx,ebx test al,01h jz L0049E269 test al,10h mov [esi+04h],ebx jz L0049E353 mov ecx,[esi+08h] and al,FEh mov [esi],ecx mov [esi+0Ch],eax L0049E269: mov eax,[esi+0Ch] mov [esi+04h],ebx and al,EFh or al,02h test eax,0000010Ch mov [esi+0Ch],eax jnz L0049E2A3 cmp esi,L004D3988 jz L0049E28D cmp esi,L004D39A8 jnz L0049E29A L0049E28D: push ebp call SUB_L004A3710 add esp,00000004h test eax,eax jnz L0049E2A3 L0049E29A: push esi call SUB_L004A1190 add esp,00000004h L0049E2A3: test dword ptr [esi+0Ch],00000108h jz L0049E31B mov eax,[esi+08h] mov edi,[esi] mov ecx,[esi+18h] sub edi,eax lea edx,[eax+01h] dec ecx cmp edi,ebx mov [esi],edx mov [esi+04h],ecx jle L0049E2DB push edi push eax push ebp call SUB_L0049F200 mov edx,[esi+08h] mov ebx,eax mov al,[esp+20h] add esp,0000000Ch mov [edx],al jmp L0049E331 L0049E2DB: cmp ebp,FFFFFFFFh jz L0049E2F9 mov edx,ebp mov eax,ebp sar edx,05h and eax,0000001Fh mov ecx,[L007B9BE0+edx*4] lea eax,[eax+eax*8] lea eax,[ecx+eax*4] jmp L0049E2FE L0049E2F9: mov eax,L004D16C8 L0049E2FE: test byte ptr [eax+04h],20h jz L0049E310 push 00000002h push ebx push ebp call SUB_L0049F490 add esp,0000000Ch L0049E310: mov edx,[esi+08h] mov al,[esp+14h] mov [edx],al jmp L0049E331 L0049E31B: mov edi,00000001h lea ecx,[esp+14h] push edi push ecx push ebp call SUB_L0049F200 add esp,0000000Ch mov ebx,eax L0049E331: cmp ebx,edi jz L0049E345 mov eax,[esi+0Ch] or al,20h mov [esi+0Ch],eax or eax,FFFFFFFFh pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ L0049E345: mov eax,[esp+14h] and eax,000000FFh pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ L0049E353: or al,20h pop edi mov [esi+0Ch],eax pop esi pop ebp or eax,FFFFFFFFh pop ebx retn ;------------------------------------------------------------------------------ SUB_L0049E360: sub esp,0000024Ch push ebx push ebp push esi push edi mov edi,[esp+00000264h] xor ecx,ecx xor ebp,ebp mov [esp+1Ch],ecx mov bl,[edi] inc edi test bl,bl mov [esp+40h],bl mov [esp+00000264h],edi jz L0049EBB7 mov esi,[esp+28h] jmp L0049E39D L0049E395: mov esi,[esp+28h] mov ecx,[esp+3Ch] L0049E39D: mov eax,[esp+1Ch] xor edx,edx cmp eax,edx jl L0049EBB7 cmp bl,20h jl L0049E3C3 cmp bl,78h jg L0049E3C3 movsx eax,bl mov al,[eax+L004BD110] and eax,0000000Fh jmp L0049E3C5 L0049E3C3: xor eax,eax L0049E3C5: movsx eax,[ecx+eax*8+L004BD130] sar eax,04h cmp eax,00000007h mov [esp+3Ch],eax ja CASE_0049EBFC_PROC0005 jmp [CASE_PROCTABLE_0049EBDC+eax*4] CASE_0049EBDC_PROC0001: mov [esp+44h],edx mov [esp+34h],edx mov [esp+28h],edx mov [esp+24h],edx mov [esp+10h],edx mov dword ptr [esp+18h],FFFFFFFFh mov [esp+2Ch],edx jmp CASE_0049EBFC_PROC0005 CASE_0049EBDC_PROC0002: movsx eax,bl add eax,FFFFFFE0h cmp eax,00000010h ja CASE_0049EBFC_PROC0005 xor ecx,ecx mov cl,[eax+CASE_0049EC14] jmp [CASE_PROCTABLE_0049EBFC+ecx*4] CASE_0049EBFC_PROC0003: mov eax,[esp+10h] or al,04h mov [esp+10h],eax jmp CASE_0049EBFC_PROC0005 CASE_0049EBFC_PROC0002: mov eax,[esp+10h] or al,01h mov [esp+10h],eax jmp CASE_0049EBFC_PROC0005 CASE_0049EBFC_PROC0000: mov eax,[esp+10h] or al,02h mov [esp+10h],eax jmp CASE_0049EBFC_PROC0005 CASE_0049EBFC_PROC0001: mov eax,[esp+10h] or al,80h mov [esp+10h],eax jmp CASE_0049EBFC_PROC0005 CASE_0049EBFC_PROC0004: mov eax,[esp+10h] or al,08h mov [esp+10h],eax jmp CASE_0049EBFC_PROC0005 CASE_0049EBDC_PROC0003: cmp bl,2Ah jnz L0049E4A9 lea edx,[esp+00000268h] push edx call SUB_L0049EDC0 add esp,00000004h mov [esp+28h],eax test eax,eax jge CASE_0049EBFC_PROC0005 mov edx,[esp+10h] or edx,00000004h neg eax mov [esp+10h],edx mov [esp+28h],eax jmp CASE_0049EBFC_PROC0005 L0049E4A9: movsx ecx,bl lea eax,[esi+esi*4] lea edx,[ecx+eax*2-30h] mov [esp+28h],edx jmp CASE_0049EBFC_PROC0005 CASE_0049EBDC_PROC0004: mov [esp+18h],edx jmp CASE_0049EBFC_PROC0005 CASE_0049EBDC_PROC0005: cmp bl,2Ah jnz L0049E4F3 lea eax,[esp+00000268h] push eax call SUB_L0049EDC0 add esp,00000004h mov [esp+18h],eax test eax,eax jge CASE_0049EBFC_PROC0005 mov dword ptr [esp+18h],FFFFFFFFh jmp CASE_0049EBFC_PROC0005 L0049E4F3: mov eax,[esp+18h] movsx edx,bl lea ecx,[eax+eax*4] lea eax,[edx+ecx*2-30h] mov [esp+18h],eax jmp CASE_0049EBFC_PROC0005 CASE_0049EBDC_PROC0006: movsx eax,bl add eax,FFFFFFB7h cmp eax,0000002Eh ja CASE_0049EBFC_PROC0005 xor ecx,ecx mov cl,[eax+CASE_0049EC3C] jmp [CASE_PROCTABLE_0049EC28+ecx*4] CASE_0049EC28_PROC0002: mov eax,[esp+10h] or al,10h mov [esp+10h],eax jmp CASE_0049EBFC_PROC0005 CASE_0049EC28_PROC0000: cmp byte ptr [edi],36h jnz L0049E55C cmp byte ptr [edi+01h],34h jnz L0049E55C mov eax,[esp+10h] add edi,00000002h or ah,80h mov [esp+00000264h],edi mov [esp+10h],eax jmp CASE_0049EBFC_PROC0005 L0049E55C: mov [esp+3Ch],edx CASE_0049EBDC_PROC0000: mov eax,[L004D14B0] mov [esp+2Ch],edx mov edx,[esp+40h] and edx,000000FFh test byte ptr [eax+edx*2+01h],80h jz L0049E59D mov edx,[esp+00000260h] lea ecx,[esp+1Ch] movsx eax,bl push ecx push edx push eax call SUB_L0049ECF0 mov bl,[edi] add esp,0000000Ch inc edi mov [esp+00000264h],edi L0049E59D: mov edx,[esp+00000260h] lea ecx,[esp+1Ch] movsx eax,bl push ecx push edx push eax call SUB_L0049ECF0 add esp,0000000Ch jmp CASE_0049EBFC_PROC0005 CASE_0049EC28_PROC0001: mov eax,[esp+10h] or al,20h mov [esp+10h],eax jmp CASE_0049EBFC_PROC0005 CASE_0049EC28_PROC0003: mov eax,[esp+10h] or ah,08h mov [esp+10h],eax jmp CASE_0049EBFC_PROC0005 CASE_0049EBDC_PROC0007: movsx eax,bl add eax,FFFFFFBDh cmp eax,00000035h ja CASE_0049EC6C_PROC0010 xor ecx,ecx mov cl,[eax+CASE_0049ECB0] jmp [CASE_PROCTABLE_0049EC6C+ecx*4] CASE_0049EC6C_PROC0000: mov eax,[esp+10h] test eax,00000830h jnz CASE_0049EC6C_PROC0006 or ah,08h mov [esp+10h],eax CASE_0049EC6C_PROC0006: test dword ptr [esp+10h],00000810h jz L0049E64D lea edx,[esp+00000268h] push edx call SUB_L0049EE00 add esp,00000004h push eax lea eax,[esp+60h] push eax call SUB_L004A3740 mov ebp,eax add esp,00000008h test ebp,ebp jge L0049E666 lea edx,[esp+5Ch] mov dword ptr [esp+34h],00000001h mov [esp+14h],edx jmp CASE_0049EC6C_PROC0010 L0049E64D: lea ecx,[esp+00000268h] push ecx call SUB_L0049EDC0 add esp,00000004h mov [esp+5Ch],al mov ebp,00000001h L0049E666: lea edx,[esp+5Ch] mov [esp+14h],edx jmp CASE_0049EC6C_PROC0010 CASE_0049EC6C_PROC0005: lea eax,[esp+00000268h] push eax call SUB_L0049EDC0 add esp,00000004h test eax,eax jz L0049E6C1 mov ecx,[eax+04h] test ecx,ecx jz L0049E6C1 mov edx,[esp+10h] test dh,08h jz L0049E6AD movsx ebp,[eax] mov [esp+14h],ecx mov dword ptr [esp+2Ch],00000001h shr ebp,1 jmp CASE_0049EC6C_PROC0010 L0049E6AD: movsx ebp,[eax] mov dword ptr [esp+2Ch],00000000h mov [esp+14h],ecx jmp CASE_0049EC6C_PROC0010 L0049E6C1: mov edi,[L004D1348] or ecx,FFFFFFFFh xor eax,eax mov [esp+14h],edi repne scasb not ecx dec ecx mov ebp,ecx jmp CASE_0049EC6C_PROC0010 CASE_0049EC6C_PROC0003: mov eax,[esp+10h] test eax,00000830h jnz CASE_0049EC6C_PROC000D or ah,08h mov [esp+10h],eax CASE_0049EC6C_PROC000D: mov eax,[esp+18h] mov esi,7FFFFFFFh cmp eax,FFFFFFFFh jz L0049E6FE mov esi,eax L0049E6FE: lea ecx,[esp+00000268h] push ecx call SUB_L0049EDC0 mov ecx,eax mov eax,[esp+14h] add esp,00000004h mov [esp+14h],ecx test eax,00000810h jz L0049E759 test ecx,ecx jnz L0049E72D mov ecx,[L004D134C] mov [esp+14h],ecx L0049E72D: mov edx,esi dec esi test edx,edx mov dword ptr [esp+2Ch],00000001h mov eax,ecx jz L0049E74E L0049E73E: cmp word ptr [eax],0000h jz L0049E74E add eax,00000002h mov edx,esi dec esi test edx,edx jnz L0049E73E L0049E74E: sub eax,ecx sar eax,1 mov ebp,eax jmp CASE_0049EC6C_PROC0010 L0049E759: test ecx,ecx jnz L0049E767 mov ecx,[L004D1348] mov [esp+14h],ecx L0049E767: mov edx,esi dec esi test edx,edx mov eax,ecx jz L0049E77D L0049E770: cmp byte ptr [eax],00h jz L0049E77D inc eax mov edx,esi dec esi test edx,edx jnz L0049E770 L0049E77D: sub eax,ecx mov ebp,eax jmp CASE_0049EC6C_PROC0010 CASE_0049EC6C_PROC000A: lea eax,[esp+00000268h] push eax call SUB_L0049EDC0 mov cl,[esp+14h] add esp,00000004h test cl,20h jz L0049E7B4 mov cx,[esp+1Ch] mov dword ptr [esp+34h],00000001h mov [eax],cx jmp CASE_0049EC6C_PROC0010 L0049E7B4: mov edx,[esp+1Ch] mov dword ptr [esp+34h],00000001h mov [eax],edx jmp CASE_0049EC6C_PROC0010 CASE_0049EC6C_PROC0001: mov dword ptr [esp+44h],00000001h add bl,20h CASE_0049EC6C_PROC0008: mov edx,[esp+10h] lea eax,[esp+5Ch] mov [esp+14h],eax mov eax,[esp+18h] or edx,00000040h test eax,eax mov [esp+10h],edx jge L0049E7F7 mov dword ptr [esp+18h],00000006h jmp L0049E806 L0049E7F7: jnz L0049E806 cmp bl,67h jnz L0049E806 mov dword ptr [esp+18h],00000001h L0049E806: mov eax,[esp+00000268h] mov edi,[esp+18h] add eax,00000008h mov [esp+00000268h],eax mov ecx,[eax-08h] mov [esp+4Ch],ecx mov edx,[eax-04h] mov eax,[esp+44h] mov [esp+50h],edx movsx ecx,bl push eax push edi lea edx,[esp+64h] push ecx lea eax,[esp+58h] push edx push eax call [L004D1700] mov esi,[esp+24h] add esp,00000014h and esi,00000080h jz L0049E864 test edi,edi jnz L0049E864 lea ecx,[esp+5Ch] push ecx call [L004D170C] add esp,00000004h L0049E864: cmp bl,67h jnz L0049E87B test esi,esi jnz L0049E87B lea edx,[esp+5Ch] push edx call [L004D1704] add esp,00000004h L0049E87B: cmp byte ptr [esp+5Ch],2Dh jnz L0049E895 mov eax,[esp+10h] or ah,01h mov [esp+10h],eax lea eax,[esp+5Dh] mov [esp+14h],eax L0049E895: mov edi,[esp+14h] or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx mov ebp,ecx jmp CASE_0049EC6C_PROC0010 CASE_0049EC6C_PROC0007: mov eax,[esp+10h] mov dword ptr [esp+30h],0000000Ah or al,40h mov [esp+10h],eax jmp L0049E927 CASE_0049EC6C_PROC000E: mov dword ptr [esp+30h],0000000Ah jmp L0049E927 CASE_0049EC6C_PROC000C: mov dword ptr [esp+18h],00000008h CASE_0049EC6C_PROC0004: mov dword ptr [esp+38h],00000007h jmp L0049E8E2 CASE_0049EC6C_PROC000F: mov dword ptr [esp+38h],00000027h L0049E8E2: mov al,[esp+10h] mov dword ptr [esp+30h],00000010h test al,80h jz L0049E927 mov cl,[esp+38h] mov byte ptr [esp+22h],30h add cl,51h mov dword ptr [esp+24h],00000002h mov [esp+23h],cl jmp L0049E927 CASE_0049EC6C_PROC000B: mov al,[esp+10h] mov dword ptr [esp+30h],00000008h test al,80h jz L0049E927 mov eax,[esp+10h] or ah,02h mov [esp+10h],eax L0049E927: mov ebx,[esp+10h] test bh,80h jz L0049E942 lea edx,[esp+00000268h] push edx call SUB_L0049EDE0 add esp,00000004h jmp L0049E9A4 L0049E942: test bl,20h jz L0049E97A test bl,40h jz L0049E962 lea eax,[esp+00000268h] push eax call SUB_L0049EDC0 movsx eax,ax add esp,00000004h cdq jmp L0049E9A4 L0049E962: lea ecx,[esp+00000268h] push ecx call SUB_L0049EDC0 add esp,00000004h and eax,0000FFFFh cdq jmp L0049E9A4 L0049E97A: test bl,40h jz L0049E992 lea edx,[esp+00000268h] push edx call SUB_L0049EDC0 add esp,00000004h cdq jmp L0049E9A4 L0049E992: lea eax,[esp+00000268h] push eax call SUB_L0049EDC0 add esp,00000004h xor edx,edx L0049E9A4: test bl,40h jz L0049E9C7 test edx,edx jg L0049E9C7 jl L0049E9B3 test eax,eax jnc L0049E9C7 L0049E9B3: neg eax adc edx,00000000h mov esi,eax neg edx or bh,01h mov edi,edx mov [esp+10h],ebx jmp L0049E9CB L0049E9C7: mov esi,eax mov edi,edx L0049E9CB: test bh,80h jnz L0049E9D3 and edi,00000000h L0049E9D3: mov ecx,[esp+18h] test ecx,ecx jge L0049E9E2 mov ecx,00000001h jmp L0049E9E9 L0049E9E2: and ebx,FFFFFFF7h mov [esp+10h],ebx L0049E9E9: mov edx,esi or edx,edi jnz L0049E9F7 mov dword ptr [esp+24h],00000000h L0049E9F7: lea eax,[esp+0000025Bh] mov [esp+14h],eax L0049EA02: mov edx,ecx dec ecx test edx,edx mov [esp+18h],ecx jg L0049EA13 mov ecx,esi or ecx,edi jz L0049EA57 L0049EA13: mov eax,[esp+30h] cdq mov ebp,eax push edx push ebp push edi push esi mov [esp+68h],edx call SUB_L004A38A0 mov edx,[esp+58h] mov ebx,eax push edx push ebp push edi push esi add ebx,00000030h call SUB_L004A3830 cmp ebx,00000039h mov esi,eax mov edi,edx jle L0049EA46 add ebx,[esp+38h] L0049EA46: mov eax,[esp+14h] mov ecx,[esp+18h] mov [eax],bl dec eax mov [esp+14h],eax jmp L0049EA02 L0049EA57: mov ecx,[esp+10h] lea ebp,[esp+0000025Bh] sub ebp,eax inc eax test ch,02h mov [esp+14h],eax jz CASE_0049EC6C_PROC0010 cmp byte ptr [eax],30h jnz L0049EA77 test ebp,ebp jnz CASE_0049EC6C_PROC0010 L0049EA77: dec eax inc ebp mov [esp+14h],eax mov byte ptr [eax],30h CASE_0049EC6C_PROC0010: mov eax,[esp+34h] test eax,eax jnz CASE_0049EBFC_PROC0005 mov ebx,[esp+10h] test bl,40h jz L0049EABF test bh,01h jz L0049EAA1 mov byte ptr [esp+22h],2Dh jmp L0049EAB7 L0049EAA1: test bl,01h jz L0049EAAD mov byte ptr [esp+22h],2Bh jmp L0049EAB7 L0049EAAD: test bl,02h jz L0049EABF mov byte ptr [esp+22h],20h L0049EAB7: mov dword ptr [esp+24h],00000001h L0049EABF: mov edi,[esp+28h] mov ecx,[esp+24h] sub edi,ebp sub edi,ecx test bl,0Ch jnz L0049EAEA mov esi,[esp+00000260h] lea eax,[esp+1Ch] push eax push esi push edi push 00000020h call SUB_L0049ED40 add esp,00000010h jmp L0049EAF1 L0049EAEA: mov esi,[esp+00000260h] L0049EAF1: mov edx,[esp+24h] lea ecx,[esp+1Ch] push ecx push esi lea eax,[esp+2Ah] push edx push eax call SUB_L0049ED80 add esp,00000010h test bl,08h jz L0049EB24 test bl,04h jnz L0049EB24 lea ecx,[esp+1Ch] push ecx push esi push edi push 00000030h call SUB_L0049ED40 add esp,00000010h L0049EB24: mov eax,[esp+2Ch] test eax,eax jz L0049EBC6 test ebp,ebp jle L0049EBC6 mov esi,[esp+14h] lea ebx,[ebp-01h] L0049EB3F: mov ax,[esi] lea edx,[esp+48h] push eax push edx add esi,00000002h call SUB_L004A3740 add esp,00000008h test eax,eax jle L0049EB79 mov edx,[esp+00000260h] lea ecx,[esp+1Ch] push ecx push edx push eax lea eax,[esp+54h] push eax call SUB_L0049ED80 add esp,00000010h mov ecx,ebx dec ebx test ecx,ecx jnz L0049EB3F L0049EB79: mov ebx,[esp+10h] L0049EB7D: test bl,04h jz CASE_0049EBFC_PROC0005 mov edx,[esp+00000260h] lea ecx,[esp+1Ch] push ecx push edx push edi push 00000020h call SUB_L0049ED40 add esp,00000010h CASE_0049EBFC_PROC0005: mov edi,[esp+00000264h] mov bl,[edi] inc edi test bl,bl mov [esp+40h],bl mov [esp+00000264h],edi jnz L0049E395 L0049EBB7: mov eax,[esp+1Ch] pop edi pop esi pop ebp pop ebx add esp,0000024Ch retn ;------------------------------------------------------------------------------ L0049EBC6: mov eax,[esp+14h] lea edx,[esp+1Ch] push edx push esi push ebp push eax call SUB_L0049ED80 add esp,00000010h jmp L0049EB7D CASE_PROCTABLE_0049EBDC: dd CASE_0049EBDC_PROC0000 dd CASE_0049EBDC_PROC0001 dd CASE_0049EBDC_PROC0002 dd CASE_0049EBDC_PROC0003 dd CASE_0049EBDC_PROC0004 dd CASE_0049EBDC_PROC0005 dd CASE_0049EBDC_PROC0006 dd CASE_0049EBDC_PROC0007 CASE_PROCTABLE_0049EBFC: dd CASE_0049EBFC_PROC0000 dd CASE_0049EBFC_PROC0001 dd CASE_0049EBFC_PROC0002 dd CASE_0049EBFC_PROC0003 dd CASE_0049EBFC_PROC0004 dd CASE_0049EBFC_PROC0005 CASE_0049EC14: db 00h, 05h, 05h, 01h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 02h, 05h, 03h, 05h, 05h db 04h Align 4 CASE_PROCTABLE_0049EC28: dd CASE_0049EC28_PROC0000 dd CASE_0049EC28_PROC0001 dd CASE_0049EC28_PROC0002 dd CASE_0049EC28_PROC0003 dd CASE_0049EBFC_PROC0005 CASE_0049EC3C: db 00h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h db 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 01h db 04h, 04h, 04h, 02h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 03h Align 4 CASE_PROCTABLE_0049EC6C: dd CASE_0049EC6C_PROC0000 dd CASE_0049EC6C_PROC0001 dd CASE_0049EC6C_PROC0001 dd CASE_0049EC6C_PROC0003 dd CASE_0049EC6C_PROC0004 dd CASE_0049EC6C_PROC0005 dd CASE_0049EC6C_PROC0006 dd CASE_0049EC6C_PROC0007 dd CASE_0049EC6C_PROC0008 dd CASE_0049EC6C_PROC0007 dd CASE_0049EC6C_PROC000A dd CASE_0049EC6C_PROC000B dd CASE_0049EC6C_PROC000C dd CASE_0049EC6C_PROC000D dd CASE_0049EC6C_PROC000E dd CASE_0049EC6C_PROC000F dd CASE_0049EC6C_PROC0010 CASE_0049ECB0: db 00h, 10h, 01h, 10h, 02h, 10h, 10h, 10h, 10h, 10h, 10h, 10h, 10h, 10h, 10h, 10h db 03h, 10h, 10h, 10h, 10h, 04h, 10h, 05h, 10h, 10h, 10h, 10h, 10h, 10h, 10h, 10h db 06h, 07h, 08h, 08h, 08h, 10h, 09h, 10h, 10h, 10h, 10h, 0Ah, 0Bh, 0Ch, 10h, 10h db 0Dh, 10h, 0Eh, 10h, 10h, 0Fh Align 16 SUB_L0049ECF0: mov ecx,[esp+08h] mov eax,[ecx+04h] dec eax mov [ecx+04h],eax js L0049ED11 mov edx,[ecx] mov eax,[esp+04h] mov [edx],al mov edx,[ecx] and eax,000000FFh inc edx mov [ecx],edx jmp L0049ED1F L0049ED11: mov eax,[esp+04h] push ecx push eax call SUB_L0049E230 add esp,00000008h L0049ED1F: cmp eax,FFFFFFFFh jnz L0049ED2B mov ecx,[esp+0Ch] mov [ecx],eax retn ;------------------------------------------------------------------------------ L0049ED2B: mov eax,[esp+0Ch] inc [eax] retn ;------------------------------------------------------------------------------ Align 16 SUB_L0049ED40: push ebx push ebp mov ebp,[esp+10h] push esi mov eax,ebp dec ebp test eax,eax push edi jle L0049ED74 mov esi,[esp+20h] mov edi,[esp+1Ch] mov ebx,[esp+14h] L0049ED5B: push esi push edi push ebx call SUB_L0049ECF0 mov eax,[esi] add esp,0000000Ch cmp eax,FFFFFFFFh jz L0049ED74 mov ecx,ebp dec ebp test ecx,ecx jg L0049ED5B L0049ED74: pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ Align 8 SUB_L0049ED80: push ebx push ebp mov ebp,[esp+10h] push esi mov eax,ebp dec ebp test eax,eax push edi jle L0049EDB8 mov edi,[esp+20h] mov ebx,[esp+1Ch] mov esi,[esp+14h] L0049ED9B: movsx eax,[esi] push edi push ebx push eax inc esi call SUB_L0049ECF0 mov eax,[edi] add esp,0000000Ch cmp eax,FFFFFFFFh jz L0049EDB8 mov ecx,ebp dec ebp test ecx,ecx jg L0049ED9B L0049EDB8: pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ Align 4 SUB_L0049EDC0: mov eax,[esp+04h] mov ecx,[eax] add ecx,00000004h mov [eax],ecx mov eax,ecx mov eax,[eax-04h] retn ;------------------------------------------------------------------------------ Align 16 SUB_L0049EDE0: mov eax,[esp+04h] mov ecx,[eax] add ecx,00000008h mov [eax],ecx mov eax,[ecx-08h] mov edx,[ecx-04h] retn ;------------------------------------------------------------------------------ Align 16 SUB_L0049EE00: mov eax,[esp+04h] mov ecx,[eax] add ecx,00000004h mov [eax],ecx mov eax,ecx mov ax,[eax-04h] retn ;------------------------------------------------------------------------------ Align 16 SUB_L0049EE20: mov eax,[L007B86D0] push ebx mov ebx,[KERNEL32.dll!LCMapStringA] push ebp push esi push edi test eax,eax jnz L0049EE7C push 00000000h push 00000000h push 00000001h push L004BD1E0 push 00000100h push 00000000h call [KERNEL32.dll!LCMapStringW] test eax,eax jz L0049EE56 mov eax,00000001h jmp L0049EE77 L0049EE56: push 00000000h push 00000000h push 00000001h push L004BD1DC push 00000100h push 00000000h call ebx test eax,eax jz L0049F03E mov eax,00000002h L0049EE77: mov [L007B86D0],eax L0049EE7C: mov esi,[esp+20h] test esi,esi jle L0049EE9B mov edi,[esp+1Ch] push esi push edi call SUB_L0049F050 mov esi,eax mov eax,[L007B86D0] add esp,00000008h jmp L0049EE9F L0049EE9B: mov edi,[esp+1Ch] L0049EE9F: cmp eax,00000002h jnz L0049EEC1 mov eax,[esp+28h] mov ecx,[esp+24h] mov edx,[esp+18h] push eax mov eax,[esp+18h] push ecx push esi push edi push edx push eax call ebx pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ L0049EEC1: cmp eax,00000001h jnz L0049EFA7 mov ebp,[esp+2Ch] mov dword ptr [esp+20h],00000000h test ebp,ebp jnz L0049EEE6 mov ecx,[L007B86C8] mov [esp+2Ch],ecx mov ebp,ecx L0049EEE6: mov edx,[esp+30h] push 00000000h neg edx sbb edx,edx push 00000000h and edx,00000008h push esi inc edx push edi push edx push ebp call [KERNEL32.dll!MultiByteToWideChar] mov edi,eax test edi,edi jnz L0049EF0B pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ L0049EF0B: lea eax,[edi+edi] push eax call SUB_L0049D430 mov ebx,eax add esp,00000004h test ebx,ebx jnz L0049EF22 pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ L0049EF22: mov ecx,[esp+1Ch] push edi push ebx push esi push ecx push 00000001h push ebp call [KERNEL32.dll!MultiByteToWideChar] test eax,eax jz L0049F028 mov ebp,[esp+18h] mov edx,[esp+14h] push 00000000h push 00000000h push edi push ebx push ebp push edx call [KERNEL32.dll!LCMapStringW] mov esi,eax test esi,esi jz L0049F028 test ebp,00000400h jz L0049EFAC mov eax,[esp+28h] test eax,eax jz L0049EF8F cmp esi,eax jg L0049F028 mov ecx,[esp+14h] push eax mov eax,[esp+28h] push eax push edi push ebx push ebp push ecx call [KERNEL32.dll!LCMapStringW] test eax,eax jz L0049F028 L0049EF8F: push ebx call SUB_L0049C430 mov edx,[esp+24h] add esp,00000004h push edx call SUB_L0049C430 add esp,00000004h mov eax,esi L0049EFA7: pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ L0049EFAC: lea edx,[esi+esi] push edx call SUB_L0049D430 add esp,00000004h mov [esp+20h],eax test eax,eax jz L0049F028 mov ecx,[esp+14h] push esi push eax push edi push ebx push ebp push ecx call [KERNEL32.dll!LCMapStringW] test eax,eax jz L0049F028 mov eax,[esp+28h] push 00000000h test eax,eax push 00000000h jnz L0049F002 mov edx,[esp+28h] mov eax,[esp+34h] push 00000000h push 00000000h push esi push edx push 00000220h push eax call [KERNEL32.dll!WideCharToMultiByte] mov esi,eax test esi,esi jz L0049F028 jmp L0049EF8F L0049F002: mov ecx,[esp+2Ch] mov edx,[esp+28h] push eax mov eax,[esp+38h] push ecx push esi push edx push 00000220h push eax call [KERNEL32.dll!WideCharToMultiByte] mov esi,eax test esi,esi jnz L0049EF8F L0049F028: push ebx call SUB_L0049C430 mov ecx,[esp+24h] add esp,00000004h push ecx call SUB_L0049C430 add esp,00000004h L0049F03E: pop edi pop esi pop ebp xor eax,eax pop ebx retn ;------------------------------------------------------------------------------ Align 16 SUB_L0049F050: mov edx,[esp+08h] push esi mov esi,[esp+08h] test edx,edx push edi mov eax,esi lea ecx,[edx-01h] jz L0049F070 L0049F063: cmp byte ptr [eax],00h jz L0049F070 inc eax mov edi,ecx dec ecx test edi,edi jnz L0049F063 L0049F070: cmp byte ptr [eax],00h jnz L0049F07A sub eax,esi pop edi pop esi retn ;------------------------------------------------------------------------------ L0049F07A: pop edi pop esi mov eax,edx retn ;------------------------------------------------------------------------------ Align 4 SUB_L0049F080: push ecx mov ecx,[esp+08h] push esi lea eax,[ecx+01h] cmp eax,00000100h ja L0049F0A5 mov edx,[L004D14B0] xor eax,eax mov ax,[edx+ecx*2] mov ecx,[esp+10h] and eax,ecx pop esi pop ecx retn ;------------------------------------------------------------------------------ L0049F0A5: mov esi,[L004D14B0] mov eax,ecx sar eax,08h mov edx,eax and edx,000000FFh test byte ptr [esi+edx*2+01h],80h jz L0049F0D3 mov [esp+0Ch],al mov [esp+0Dh],cl mov byte ptr [esp+0Eh],00h mov eax,00000002h jmp L0049F0E1 L0049F0D3: mov [esp+0Ch],cl mov byte ptr [esp+0Dh],00h mov eax,00000001h L0049F0E1: push 00000001h push 00000000h lea ecx,[esp+0Ch] push 00000000h push ecx lea edx,[esp+1Ch] push eax push edx push 00000001h call SUB_L004A4A90 add esp,0000001Ch test eax,eax jnz L0049F103 pop esi pop ecx retn ;------------------------------------------------------------------------------ L0049F103: mov eax,[esp+04h] mov ecx,[esp+10h] and eax,0000FFFFh pop esi and eax,ecx pop ecx retn ;------------------------------------------------------------------------------ db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 56h; 'V' db 43h; 'C' db 32h; '2' db 30h; '0' db 58h; 'X' db 43h; 'C' db 30h; '0' db 30h; '0' L0049F128: push ebp mov ebp,esp sub esp,00000008h push ebx push esi push edi push ebp cld mov ebx,[ebp+0Ch] mov eax,[ebp+08h] test dword ptr [eax+04h],00000006h jnz L0049F1C8 mov [ebp-08h],eax mov eax,[ebp+10h] mov [ebp-04h],eax lea eax,[ebp-08h] mov [ebx-04h],eax mov esi,[ebx+0Ch] mov edi,[ebx+08h] L0049F15B: cmp esi,FFFFFFFFh jz L0049F1C1 lea ecx,[esi+esi*2] cmp dword ptr [edi+ecx*4+04h],00000000h jz L0049F1AF push esi push ebp lea ebp,[ebx+10h] call [edi+ecx*4+04h] pop ebp pop esi mov ebx,[ebp+0Ch] or eax,eax jz L0049F1AF js L0049F1BA mov edi,[ebx+08h] push ebx call SUB_L0049AB90 add esp,00000004h lea ebp,[ebx+10h] push esi push ebx call SUB_L0049ABD2 add esp,00000008h lea ecx,[esi+esi*2] push 00000001h mov eax,[edi+ecx*4+08h] call SUB_L0049AC66 mov eax,[edi+ecx*4] mov [ebx+0Ch],eax call [edi+ecx*4+08h] L0049F1AF: mov edi,[ebx+08h] lea ecx,[esi+esi*2] mov esi,[edi+ecx*4] jmp L0049F15B L0049F1BA: mov eax,00000000h jmp L0049F1DD L0049F1C1: mov eax,00000001h jmp L0049F1DD L0049F1C8: push ebp lea ebp,[ebx+10h] push FFFFFFFFh push ebx call SUB_L0049ABD2 add esp,00000008h pop ebp mov eax,00000001h L0049F1DD: pop ebp pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ push ebp mov ecx,[esp+08h] mov ebp,[ecx] mov eax,[ecx+1Ch] push eax mov eax,[ecx+18h] push eax call SUB_L0049ABD2 add esp,00000008h pop ebp retn 0004h ;------------------------------------------------------------------------------ SUB_L0049F200: mov eax,[L007B9CE0] push esi mov esi,[esp+08h] push edi cmp esi,eax jnc L0049F256 mov eax,esi mov ecx,esi and eax,0000001Fh sar ecx,05h lea edx,[eax+eax*8] mov eax,[L007B9BE0+ecx*4] test byte ptr [eax+edx*4+04h],01h jz L0049F256 push esi call SUB_L004A2DE0 mov ecx,[esp+18h] mov edx,[esp+14h] add esp,00000004h push ecx push edx push esi call SUB_L0049F280 add esp,0000000Ch mov edi,eax push esi call SUB_L004A2E50 add esp,00000004h mov eax,edi pop edi pop esi retn ;------------------------------------------------------------------------------ L0049F256: call SUB_L0049BD30 mov dword ptr [eax],00000009h call SUB_L0049BD40 mov dword ptr [eax],00000000h pop edi or eax,FFFFFFFFh pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L0049F280: sub esp,0000041Ch push ebx mov ebx,[esp+0000042Ch] push ebp xor ebp,ebp push esi cmp ebx,ebp push edi mov [esp+10h],ebp mov [esp+20h],ebp jnz L0049F2AC xor eax,eax pop edi pop esi pop ebp pop ebx add esp,0000041Ch retn ;------------------------------------------------------------------------------ L0049F2AC: mov ecx,[esp+00000430h] mov eax,ecx sar eax,05h lea edi,[L007B9BE0+eax*4] mov eax,ecx and eax,0000001Fh mov [esp+24h],edi mov edx,[edi] lea esi,[eax+eax*8] shl esi,02h mov [esp+14h],esi test byte ptr [esi+edx+04h],20h jz L0049F2E7 push 00000002h push ebp push ecx call SUB_L0049F510 add esp,0000000Ch L0049F2E7: mov eax,[edi] add eax,esi test byte ptr [eax+04h],80h jz L0049F449 mov ebp,[esp+00000434h] mov dword ptr [esp+18h],00000000h test ebx,ebx mov edi,ebp jbe L0049F391 L0049F30E: lea eax,[esp+28h] L0049F312: mov ecx,edi sub ecx,ebp cmp ecx,ebx jnc L0049F342 mov cl,[edi] inc edi cmp cl,0Ah jnz L0049F32F mov esi,[esp+20h] mov byte ptr [eax],0Dh inc esi inc eax mov [esp+20h],esi L0049F32F: mov [eax],cl inc eax mov edx,eax lea ecx,[esp+28h] sub edx,ecx cmp edx,00000400h jl L0049F312 L0049F342: mov esi,eax lea edx,[esp+28h] lea eax,[esp+1Ch] sub esi,edx mov edx,[esp+24h] push 00000000h push eax lea ecx,[esp+30h] mov eax,[edx] push esi push ecx mov ecx,[esp+24h] mov edx,[ecx+eax] push edx call [KERNEL32.dll!WriteFile] test eax,eax jz L0049F43A mov eax,[esp+1Ch] mov edx,[esp+10h] add edx,eax cmp eax,esi mov [esp+10h],edx jl L0049F38D mov eax,edi sub eax,ebp cmp eax,ebx jc L0049F30E L0049F38D: mov esi,[esp+14h] L0049F391: mov eax,[esp+10h] test eax,eax jnz L0049F429 mov eax,[esp+18h] test eax,eax jz L0049F3E5 cmp eax,00000005h jnz L0049F3CE call SUB_L0049BD30 mov dword ptr [eax],00000009h call SUB_L0049BD40 mov dword ptr [eax],00000005h or eax,FFFFFFFFh pop edi pop esi pop ebp pop ebx add esp,0000041Ch retn ;------------------------------------------------------------------------------ L0049F3CE: push eax call SUB_L0049BCB0 add esp,00000004h or eax,FFFFFFFFh pop edi pop esi pop ebp pop ebx add esp,0000041Ch retn ;------------------------------------------------------------------------------ L0049F3E5: mov ecx,[esp+24h] mov edx,[ecx] test byte ptr [esi+edx+04h],40h jz L0049F405 cmp byte ptr [ebp+00h],1Ah jnz L0049F405 xor eax,eax pop edi pop esi pop ebp pop ebx add esp,0000041Ch retn ;------------------------------------------------------------------------------ L0049F405: call SUB_L0049BD30 mov dword ptr [eax],0000001Ch call SUB_L0049BD40 mov dword ptr [eax],00000000h or eax,FFFFFFFFh pop edi pop esi pop ebp pop ebx add esp,0000041Ch retn ;------------------------------------------------------------------------------ L0049F429: mov ecx,[esp+20h] pop edi pop esi pop ebp sub eax,ecx pop ebx add esp,0000041Ch retn ;------------------------------------------------------------------------------ L0049F43A: call [KERNEL32.dll!GetLastError] mov [esp+18h],eax jmp L0049F38D L0049F449: mov edx,[eax] lea ecx,[esp+1Ch] push ebp mov ebp,[esp+00000438h] push ecx push ebx push ebp push edx call [KERNEL32.dll!WriteFile] test eax,eax jz L0049F47A mov eax,[esp+1Ch] mov dword ptr [esp+18h],00000000h mov [esp+10h],eax jmp L0049F391 L0049F47A: call [KERNEL32.dll!GetLastError] mov [esp+18h],eax jmp L0049F391 Align 8 SUB_L0049F490: mov eax,[L007B9CE0] push esi mov esi,[esp+08h] push edi cmp esi,eax jnc L0049F4E6 mov eax,esi mov ecx,esi and eax,0000001Fh sar ecx,05h lea edx,[eax+eax*8] mov eax,[L007B9BE0+ecx*4] test byte ptr [eax+edx*4+04h],01h jz L0049F4E6 push esi call SUB_L004A2DE0 mov ecx,[esp+18h] mov edx,[esp+14h] add esp,00000004h push ecx push edx push esi call SUB_L0049F510 add esp,0000000Ch mov edi,eax push esi call SUB_L004A2E50 add esp,00000004h mov eax,edi pop edi pop esi retn ;------------------------------------------------------------------------------ L0049F4E6: call SUB_L0049BD30 mov dword ptr [eax],00000009h call SUB_L0049BD40 mov dword ptr [eax],00000000h pop edi or eax,FFFFFFFFh pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L0049F510: push esi mov esi,[esp+08h] push edi push esi call SUB_L004A2D90 add esp,00000004h cmp eax,FFFFFFFFh jnz L0049F535 call SUB_L0049BD30 mov dword ptr [eax],00000009h or eax,FFFFFFFFh pop edi pop esi retn ;------------------------------------------------------------------------------ L0049F535: mov ecx,[esp+14h] mov edx,[esp+10h] push ecx push 00000000h push edx push eax call [KERNEL32.dll!SetFilePointer] mov edi,eax cmp edi,FFFFFFFFh jnz L0049F557 call [KERNEL32.dll!GetLastError] jmp L0049F559 L0049F557: xor eax,eax L0049F559: test eax,eax jz L0049F56C push eax call SUB_L0049BCB0 add esp,00000004h or eax,FFFFFFFFh pop edi pop esi retn ;------------------------------------------------------------------------------ L0049F56C: mov eax,esi and esi,0000001Fh sar eax,05h lea ecx,[esi+esi*8] mov edx,[L007B9BE0+eax*4] lea eax,[edx+ecx*4+04h] mov cl,[edx+ecx*4+04h] and cl,FDh mov [eax],cl mov eax,edi pop edi pop esi retn ;------------------------------------------------------------------------------ SUB_L0049F590: push esi mov esi,[esp+08h] push edi mov eax,[esi+10h] push eax call SUB_L004A3710 add esp,00000004h test eax,eax jz L0049F643 cmp esi,L004D3988 jnz L0049F5B6 xor edi,edi jmp L0049F5C7 L0049F5B6: cmp esi,L004D39A8 jnz L0049F643 mov edi,00000001h L0049F5C7: mov ecx,[L007B8A1C] inc ecx mov [L007B8A1C],ecx mov eax,[esi+0Ch] test eax,0000010Ch jnz L0049F643 mov eax,[L007B86D8+edi*4] test eax,eax jnz L0049F616 push 00001000h call SUB_L0049D430 add esp,00000004h mov [L007B86D8+edi*4],eax test eax,eax jnz L0049F616 lea eax,[esi+14h] mov [esi+08h],eax mov [esi],eax mov eax,00000002h mov [esi+18h],eax mov [esi+04h],eax jmp L0049F630 L0049F616: mov edi,[L007B86D8+edi*4] mov dword ptr [esi+18h],00001000h mov [esi+08h],edi mov [esi],edi mov dword ptr [esi+04h],00001000h L0049F630: mov eax,[esi+0Ch] or eax,00001102h mov [esi+0Ch],eax mov eax,00000001h pop edi pop esi retn ;------------------------------------------------------------------------------ L0049F643: pop edi xor eax,eax pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L0049F650: mov eax,[esp+04h] push esi test eax,eax jz L0049F68B mov esi,[esp+0Ch] mov eax,[esi+0Ch] test ah,10h jz L0049F68B push esi call SUB_L0049CCA0 mov eax,[esi+0Ch] add esp,00000004h and ah,EEh mov dword ptr [esi+18h],00000000h mov [esi+0Ch],eax mov dword ptr [esi],00000000h mov dword ptr [esi+08h],00000000h L0049F68B: pop esi retn ;------------------------------------------------------------------------------ Align 4 SUB_L0049F690: sub esp,00000048h push ebx push ebp push esi push edi push 00000480h call SUB_L0049D430 mov esi,eax xor edi,edi add esp,00000004h cmp esi,edi jnz L0049F6B6 push 0000001Bh call SUB_L0049C910 add esp,00000004h L0049F6B6: lea eax,[esi+00000480h] mov [L007B9BE0],esi cmp esi,eax mov dword ptr [L007B9CE0],00000020h mov bl,0Ah jnc L0049F6F5 L0049F6D2: mov byte ptr [esi+04h],00h mov dword ptr [esi],FFFFFFFFh mov [esi+05h],bl mov [esi+08h],edi mov ecx,[L007B9BE0] add esi,00000024h add ecx,00000480h cmp esi,ecx jc L0049F6D2 L0049F6F5: lea edx,[esp+14h] push edx call [KERNEL32.dll!GetStartupInfoA] cmp [esp+46h],di jz L0049F808 mov eax,[esp+48h] cmp eax,edi jz L0049F808 mov ecx,[eax] lea edi,[eax+04h] cmp ecx,00000800h mov [esp+10h],ecx lea ebp,[edi+ecx] jl L0049F733 mov dword ptr [esp+10h],00000800h L0049F733: mov eax,[esp+10h] mov ecx,[L007B9CE0] cmp ecx,eax jge L0049F7B1 mov esi,L007B9BE4 L0049F746: push 00000480h call SUB_L0049D430 xor ecx,ecx add esp,00000004h cmp eax,ecx jz L0049F7A5 mov edx,[L007B9CE0] mov [esi],eax add edx,00000020h mov [L007B9CE0],edx lea edx,[eax+00000480h] cmp eax,edx jnc L0049F793 L0049F774: mov byte ptr [eax+04h],00h mov dword ptr [eax],FFFFFFFFh mov [eax+05h],bl mov [eax+08h],ecx mov edx,[esi] add eax,00000024h add edx,00000480h cmp eax,edx jc L0049F774 L0049F793: mov eax,[L007B9CE0] mov edx,[esp+10h] add esi,00000004h cmp eax,edx jl L0049F746 jmp L0049F7B3 L0049F7A5: mov edx,[L007B9CE0] mov [esp+10h],edx jmp L0049F7B3 L0049F7B1: xor ecx,ecx L0049F7B3: mov eax,[esp+10h] xor esi,esi cmp eax,ecx jle L0049F808 L0049F7BD: mov ecx,[ebp+00h] cmp ecx,FFFFFFFFh jz L0049F7FB mov al,[edi] test al,01h jz L0049F7FB test al,08h jnz L0049F7DA push ecx call [KERNEL32.dll!GetFileType] test eax,eax jz L0049F7FB L0049F7DA: mov ecx,esi mov eax,esi sar ecx,05h and eax,0000001Fh lea edx,[eax+eax*8] mov eax,[L007B9BE0+ecx*4] mov ecx,[ebp+00h] lea eax,[eax+edx*4] mov [eax],ecx mov dl,[edi] mov [eax+04h],dl L0049F7FB: mov eax,[esp+10h] inc esi inc edi add ebp,00000004h cmp esi,eax jl L0049F7BD L0049F808: mov ebx,[KERNEL32.dll!GetStdHandle] xor ebp,ebp L0049F810: mov ecx,[L007B9BE0] lea eax,[ebp+ebp*8+00h] lea esi,[ecx+eax*4] mov eax,[ecx+eax*4] cmp eax,FFFFFFFFh jnz L0049F879 test ebp,ebp mov byte ptr [esi+04h],81h jnz L0049F834 mov eax,FFFFFFF6h jmp L0049F83E L0049F834: mov eax,ebp dec eax neg eax sbb eax,eax add eax,FFFFFFF5h L0049F83E: push eax call ebx mov edi,eax cmp edi,FFFFFFFFh jz L0049F872 push edi call [KERNEL32.dll!GetFileType] test eax,eax jz L0049F872 and eax,000000FFh mov [esi],edi cmp eax,00000002h jnz L0049F866 mov al,[esi+04h] or al,40h jmp L0049F87E L0049F866: cmp eax,00000003h jnz L0049F881 mov al,[esi+04h] or al,08h jmp L0049F87E L0049F872: mov al,[esi+04h] or al,40h jmp L0049F87E L0049F879: mov al,[esi+04h] or al,80h L0049F87E: mov [esi+04h],al L0049F881: inc ebp cmp ebp,00000003h jl L0049F810 mov edx,[L007B9CE0] push edx call [KERNEL32.dll!SetHandleCount] pop edi pop esi pop ebp pop ebx add esp,00000048h retn ;------------------------------------------------------------------------------ Align 8 SUB_L0049F8A0: sub esp,000001D0h xor eax,eax push ebx mov [esp+15h],al mov [esp+08h],eax mov [esp+28h],eax mov eax,[esp+000001DCh] push ebp push esi mov al,[eax] push edi test al,al jz L004A04F2 mov ebp,[esp+000001E4h] mov ebx,[esp+54h] mov esi,[esp+000001E8h] xor edi,edi L0049F8DD: cmp dword ptr [L004D16BC],00000001h jle L0049F8F8 and eax,000000FFh push 00000008h push eax call SUB_L0049F080 add esp,00000008h jmp L0049F909 L0049F8F8: mov ecx,[L004D14B0] and eax,000000FFh mov al,[ecx+eax*2] and eax,00000008h L0049F909: cmp eax,edi jz L0049F960 mov eax,[esp+14h] push ebp lea edx,[esp+18h] dec eax push ebp push edx mov [esp+20h],eax call SUB_L004A0670 add esp,00000008h push eax call SUB_L004A0650 add esp,00000008h inc esi xor eax,eax mov [esp+000001E8h],esi mov al,[esi] push eax call SUB_L0049B9F0 add esp,00000004h test eax,eax jz L0049F960 L0049F947: inc esi xor ecx,ecx mov [esp+000001E8h],esi mov cl,[esi] push ecx call SUB_L0049B9F0 add esp,00000004h test eax,eax jnz L0049F947 L0049F960: cmp byte ptr [esi],25h jnz L004A0447 mov ecx,[esp+000001E8h] mov [esp+3Ch],edi mov byte ptr [esp+2Ch],00h mov [esp+38h],edi mov [esp+30h],edi mov [esp+1Ch],edi mov byte ptr [esp+23h],00h mov byte ptr [esp+22h],00h mov byte ptr [esp+1Bh],00h mov byte ptr [esp+13h],00h mov byte ptr [esp+20h],00h mov byte ptr [esp+19h],00h mov byte ptr [esp+1Ah],01h mov [esp+58h],edi L0049F9AC: mov eax,[L004D16BC] inc ecx xor edx,edx cmp eax,00000001h mov dl,[ecx] mov [esp+000001E8h],ecx mov esi,edx jle L0049F9DF mov eax,esi push 00000004h and eax,000000FFh push eax call SUB_L0049F080 mov ecx,[esp+000001F0h] add esp,00000008h jmp L0049F9F2 L0049F9DF: mov eax,[L004D14B0] mov edx,esi and edx,000000FFh mov al,[eax+edx*2] and eax,00000004h L0049F9F2: test eax,eax jz L0049FA10 mov eax,[esp+30h] inc eax mov [esp+30h],eax mov eax,[esp+1Ch] lea edx,[eax+eax*4] lea eax,[esi+edx*2-30h] mov [esp+1Ch],eax jmp CASE_004A051C_PROC0001 L0049FA10: lea eax,[esi-2Ah] cmp eax,0000004Dh ja CASE_004A051C_PROC0008 xor edx,edx mov dl,[eax+CASE_004A0540] jmp [CASE_PROCTABLE_004A051C+edx*4] CASE_004A051C_PROC0005: mov dl,[esp+1Ah] mov al,[esp+19h] dec dl dec al mov [esp+1Ah],dl mov [esp+19h],al jmp CASE_004A051C_PROC0001 CASE_004A051C_PROC0002: cmp byte ptr [ecx+01h],36h jnz CASE_004A051C_PROC0008 cmp byte ptr [ecx+02h],34h jnz CASE_004A051C_PROC0008 add ecx,00000002h inc edi xor eax,eax mov [esp+000001E8h],ecx mov [esp+44h],eax mov [esp+48h],eax jmp CASE_004A051C_PROC0001 CASE_004A051C_PROC0003: inc [esp+1Ah] jmp CASE_004A051C_PROC0001 CASE_004A051C_PROC0006: inc [esp+1Ah] CASE_004A051C_PROC0007: inc [esp+19h] jmp CASE_004A051C_PROC0001 CASE_004A051C_PROC0000: inc [esp+1Bh] jmp CASE_004A051C_PROC0001 CASE_004A051C_PROC0008: inc [esp+13h] CASE_004A051C_PROC0001: mov al,[esp+13h] test al,al jz L0049F9AC mov al,[esp+1Bh] mov [esp+58h],edi test al,al jnz L0049FAAE mov eax,[esp+000001ECh] mov [esp+54h],eax add eax,00000004h mov [esp+000001ECh],eax mov eax,[eax-04h] mov [esp+28h],eax L0049FAAE: mov al,[esp+19h] mov byte ptr [esp+13h],00h test al,al jnz L0049FACF mov al,[ecx] cmp al,53h jz L0049FACA cmp al,43h mov byte ptr [esp+19h],FFh jnz L0049FACF L0049FACA: mov byte ptr [esp+19h],01h L0049FACF: xor eax,eax mov al,[ecx] or al,20h cmp eax,0000006Eh mov [esp+24h],eax jz L0049FB0C cmp eax,00000063h jz L0049FAF8 cmp eax,0000007Bh jz L0049FAF8 lea ecx,[esp+14h] push ebp push ecx call SUB_L004A0670 add esp,00000008h jmp L0049FB0A L0049FAF8: mov esi,[esp+14h] push ebp inc esi mov [esp+18h],esi call SUB_L004A0620 add esp,00000004h L0049FB0A: mov ebx,eax L0049FB0C: mov ecx,[esp+30h] test ecx,ecx jz L0049FB20 mov eax,[esp+1Ch] test eax,eax jz L004A04DD L0049FB20: mov esi,[esp+24h] lea eax,[esi-63h] cmp eax,00000018h ja CASE_004A0590_PROC000B xor edx,edx mov dl,[eax+CASE_004A05C0] jmp [CASE_PROCTABLE_004A0590+edx*4] CASE_004A0590_PROC0000: test ecx,ecx jnz L0049FB54 mov eax,[esp+1Ch] mov dword ptr [esp+30h],00000001h inc eax mov [esp+1Ch],eax L0049FB54: mov al,[esp+19h] test al,al jle L0049FB61 mov byte ptr [esp+20h],01h L0049FB61: mov edx,L004D16F4 jmp L0049FB9E CASE_004A0590_PROC0007: mov al,[esp+19h] test al,al jle L0049FB75 mov byte ptr [esp+20h],01h L0049FB75: mov edx,SSZ004D16EC______ jmp L0049FB9E CASE_004A0590_PROC000A: mov al,[esp+19h] test al,al jle L0049FB89 mov byte ptr [esp+20h],01h L0049FB89: mov edx,[esp+000001E8h] inc edx mov [esp+000001E8h],edx cmp byte ptr [edx],5Eh jnz L0049FBA3 inc edx L0049FB9E: mov byte ptr [esp+23h],FFh L0049FBA3: mov ecx,00000008h xor eax,eax lea edi,[esp+60h] cmp esi,0000007Bh rep stosd jnz L0049FBC5 cmp byte ptr [edx],5Dh jnz L0049FBC5 mov byte ptr [esp+2Ch],5Dh inc edx mov byte ptr [esp+6Bh],20h L0049FBC5: mov al,[edx] cmp al,5Dh jz L0049FC73 L0049FBCF: mov cl,al inc edx cmp cl,2Dh mov [esp+5Ch],cl jnz L0049FC49 mov al,[esp+2Ch] test al,al jz L0049FC49 mov al,[edx] cmp al,5Dh jz L0049FC49 mov cl,[esp+2Ch] inc edx cmp cl,al jnc L0049FBF8 mov [esp+4Ch],al jmp L0049FC02 L0049FBF8: mov [esp+4Ch],cl mov [esp+2Ch],al mov cl,al L0049FC02: cmp cl,[esp+4Ch] ja L0049FC3B mov esi,[esp+2Ch] mov ebp,[esp+4Ch] and esi,000000FFh and ebp,000000FFh sub ebp,esi inc ebp L0049FC1F: mov eax,esi mov ecx,esi shr eax,03h and ecx,00000007h lea edi,[esp+eax+60h] mov al,01h shl al,cl mov cl,[edi] or cl,al inc esi dec ebp mov [edi],cl jnz L0049FC1F L0049FC3B: mov ebp,[esp+000001E4h] mov byte ptr [esp+2Ch],00h jmp L0049FC69 L0049FC49: mov [esp+2Ch],cl mov ecx,[esp+5Ch] and ecx,000000FFh mov eax,ecx and ecx,00000007h shr eax,03h lea esi,[esp+eax+60h] mov al,01h shl al,cl or [esi],al L0049FC69: mov al,[edx] cmp al,5Dh jnz L0049FBCF L0049FC73: cmp byte ptr [edx],00h jz L004A04F6 cmp dword ptr [esp+24h],0000007Bh jnz L0049FC8A mov [esp+000001E8h],edx L0049FC8A: mov eax,[esp+14h] mov edi,[esp+28h] dec eax push ebp push ebx mov esi,edi mov [esp+1Ch],eax call SUB_L004A0650 add esp,00000008h L0049FCA3: mov eax,[esp+30h] test eax,eax jz L0049FCBE mov eax,[esp+1Ch] mov ecx,eax dec eax test ecx,ecx mov [esp+1Ch],eax jz L0049FD88 L0049FCBE: mov ebx,[esp+14h] push ebp inc ebx mov [esp+18h],ebx call SUB_L004A0620 mov ebx,eax add esp,00000004h cmp ebx,FFFFFFFFh jz L0049FD6F mov ecx,ebx mov edx,00000001h and ecx,00000007h sar eax,03h shl edx,cl movsx ecx,[esp+eax+60h] movsx eax,[esp+23h] xor ecx,eax test ecx,edx jz L0049FD6F mov al,[esp+1Bh] test al,al jnz L0049FD69 mov al,[esp+20h] test al,al jz L0049FD61 mov edx,[L004D14B0] mov ecx,ebx and ecx,000000FFh mov [esp+42h],bl test byte ptr [edx+ecx*2+01h],80h jz L0049FD39 mov eax,[esp+14h] push ebp inc eax mov [esp+18h],eax call SUB_L004A0620 add esp,00000004h mov [esp+43h],al L0049FD39: mov eax,[L004D16BC] lea ecx,[esp+42h] push eax lea edx,[esp+56h] push ecx push edx call SUB_L004A4BD0 mov ax,[esp+5Eh] add esp,0000000Ch mov [edi],ax add edi,00000002h jmp L0049FCA3 L0049FD61: mov [edi],bl inc edi jmp L0049FCA3 L0049FD69: inc esi jmp L0049FCA3 L0049FD6F: mov eax,[esp+14h] push ebp dec eax push ebx mov [esp+30h],edi mov [esp+1Ch],eax call SUB_L004A0650 add esp,00000008h jmp L0049FD8C L0049FD88: mov [esp+28h],edi L0049FD8C: cmp esi,edi jz L004A04F6 mov al,[esp+1Bh] test al,al jnz L004A0428 mov ecx,[esp+34h] mov eax,[esp+24h] inc ecx cmp eax,00000063h mov [esp+34h],ecx jz L004A0428 mov al,[esp+20h] test al,al jz L0049FDCC mov ecx,[esp+28h] mov word ptr [ecx],0000h jmp L004A0428 L0049FDCC: mov edx,[esp+28h] mov byte ptr [edx],00h jmp L004A0428 CASE_004A0590_PROC0003: mov esi,00000064h mov [esp+24h],esi CASE_004A0590_PROC0009: cmp ebx,0000002Dh jnz L0049FDED mov byte ptr [esp+22h],01h jmp L0049FDF2 L0049FDED: cmp ebx,0000002Bh jnz L0049FE1C L0049FDF2: mov eax,[esp+1Ch] dec eax mov [esp+1Ch],eax jnz L0049FE08 test ecx,ecx jz L0049FE08 mov byte ptr [esp+13h],01h jmp L0049FE1C L0049FE08: mov ebx,[esp+14h] push ebp inc ebx mov [esp+18h],ebx call SUB_L004A0620 add esp,00000004h mov ebx,eax L0049FE1C: cmp ebx,00000030h jnz L0049FED4 mov ebx,[esp+14h] push ebp inc ebx mov [esp+18h],ebx call SUB_L004A0620 mov ebx,eax add esp,00000004h cmp bl,78h jz L0049FE75 cmp bl,58h jz L0049FE75 cmp esi,00000078h mov dword ptr [esp+38h],00000001h jz L0049FE5B mov esi,0000006Fh mov [esp+24h],esi jmp L0049FED4 L0049FE5B: mov eax,[esp+14h] push ebp dec eax push ebx mov [esp+1Ch],eax call SUB_L004A0650 add esp,00000008h mov ebx,00000030h jmp L0049FED4 L0049FE75: mov esi,[esp+14h] push ebp inc esi mov [esp+18h],esi call SUB_L004A0620 mov esi,00000078h add esp,00000004h mov ebx,eax mov [esp+24h],esi jmp L0049FED4 CASE_004A0590_PROC0006: mov byte ptr [esp+1Ah],01h CASE_004A0590_PROC0001: cmp ebx,0000002Dh jnz L0049FEA5 mov byte ptr [esp+22h],01h jmp L0049FEAA L0049FEA5: cmp ebx,0000002Bh jnz L0049FED4 L0049FEAA: mov eax,[esp+1Ch] dec eax mov [esp+1Ch],eax jnz L0049FEC0 test ecx,ecx jz L0049FEC0 mov byte ptr [esp+13h],01h jmp L0049FED4 L0049FEC0: mov ebx,[esp+14h] push ebp inc ebx mov [esp+18h],ebx call SUB_L004A0620 add esp,00000004h mov ebx,eax L0049FED4: mov al,[esp+13h] test edi,edi jz L004A0039 test al,al jnz L004A0011 mov ebp,[esp+000001E4h] mov esi,[esp+44h] mov edi,[esp+48h] L0049FEF7: mov eax,[esp+24h] cmp eax,00000078h mov eax,[L004D16BC] jnz L0049FF4A cmp eax,00000001h jle L0049FF1A push 00000080h push ebx call SUB_L0049F080 add esp,00000008h jmp L0049FF27 L0049FF1A: mov eax,[L004D14B0] mov al,[eax+ebx*2] and eax,00000080h L0049FF27: test eax,eax jz L0049FF9D mov ecx,00000004h mov eax,esi mov edx,edi call SUB_L004A4D50 push ebx mov esi,eax mov edi,edx call SUB_L004A05E0 add esp,00000004h mov ebx,eax jmp L0049FFA1 L0049FF4A: cmp eax,00000001h jle L0049FF5C push 00000004h push ebx call SUB_L0049F080 add esp,00000008h jmp L0049FF68 L0049FF5C: mov ecx,[L004D14B0] mov al,[ecx+ebx*2] and eax,00000004h L0049FF68: test eax,eax jz L0049FF9D cmp dword ptr [esp+24h],0000006Fh jnz L0049FF8C cmp ebx,00000038h jge L0049FF9D mov ecx,00000003h mov eax,esi mov edx,edi call SUB_L004A4D50 mov esi,eax mov edi,edx jmp L0049FFA1 L0049FF8C: push 00000000h push 0000000Ah push edi push esi call SUB_L004A06C0 mov esi,eax mov edi,edx jmp L0049FFA1 L0049FF9D: inc [esp+13h] L0049FFA1: mov al,[esp+13h] test al,al jnz L0049FFEA mov edx,[esp+38h] lea eax,[ebx-30h] inc edx mov [esp+38h],edx cdq add esi,eax mov eax,[esp+30h] adc edi,edx test eax,eax jz L0049FFD4 mov eax,[esp+1Ch] dec eax mov [esp+1Ch],eax jnz L0049FFD4 mov byte ptr [esp+13h],01h jmp L0049FFFD L0049FFD4: mov ebx,[esp+14h] push ebp inc ebx mov [esp+18h],ebx call SUB_L004A0620 add esp,00000004h mov ebx,eax jmp L0049FFFD L0049FFEA: mov eax,[esp+14h] push ebp dec eax push ebx mov [esp+1Ch],eax call SUB_L004A0650 add esp,00000008h L0049FFFD: mov al,[esp+13h] test al,al jz L0049FEF7 mov [esp+48h],edi mov [esp+44h],esi L004A0011: mov al,[esp+22h] test al,al jz L004A0140 mov edx,[esp+44h] mov eax,[esp+48h] neg edx adc eax,00000000h mov [esp+44h],edx neg eax mov [esp+48h],eax jmp L004A0140 L004A0039: mov edi,[esp+3Ch] test al,al jnz L004A0132 L004A0045: cmp esi,00000078h jz L004A008B cmp esi,00000070h jz L004A008B cmp dword ptr [L004D16BC],00000001h jle L004A0065 push 00000004h push ebx call SUB_L0049F080 add esp,00000008h jmp L004A0071 L004A0065: mov ecx,[L004D14B0] mov al,[ecx+ebx*2] and eax,00000004h L004A0071: test eax,eax jz L004A00C6 cmp esi,0000006Fh jnz L004A0084 cmp ebx,00000038h jge L004A00C6 shl edi,03h jmp L004A00CA L004A0084: lea edi,[edi+edi*4] shl edi,1 jmp L004A00CA L004A008B: cmp dword ptr [L004D16BC],00000001h jle L004A00A4 push 00000080h push ebx call SUB_L0049F080 add esp,00000008h jmp L004A00B2 L004A00A4: mov edx,[L004D14B0] mov al,[edx+ebx*2] and eax,00000080h L004A00B2: test eax,eax jz L004A00C6 push ebx shl edi,04h call SUB_L004A05E0 add esp,00000004h mov ebx,eax jmp L004A00CA L004A00C6: inc [esp+13h] L004A00CA: mov al,[esp+13h] test al,al jnz L004A010F mov ecx,[esp+38h] mov eax,[esp+30h] inc ecx lea edi,[edi+ebx-30h] test eax,eax mov [esp+38h],ecx jz L004A00F9 mov eax,[esp+1Ch] dec eax mov [esp+1Ch],eax jnz L004A00F9 mov byte ptr [esp+13h],01h jmp L004A0122 L004A00F9: mov ebx,[esp+14h] push ebp inc ebx mov [esp+18h],ebx call SUB_L004A0620 add esp,00000004h mov ebx,eax jmp L004A0122 L004A010F: mov eax,[esp+14h] push ebp dec eax push ebx mov [esp+1Ch],eax call SUB_L004A0650 add esp,00000008h L004A0122: mov al,[esp+13h] test al,al jz L004A0045 mov [esp+3Ch],edi L004A0132: mov al,[esp+22h] test al,al jz L004A0140 neg edi mov [esp+3Ch],edi L004A0140: cmp dword ptr [esp+24h],00000046h jnz L004A014B xor eax,eax jmp L004A014F L004A014B: mov eax,[esp+38h] L004A014F: test eax,eax jz L004A04F6 mov al,[esp+1Bh] test al,al jnz L004A0421 mov eax,[esp+34h] mov ebp,[esp+000001E4h] mov ecx,[esp+28h] mov edi,[esp+58h] inc eax mov [esp+34h],eax mov eax,[esp+3Ch] jmp L004A0195 CASE_004A0590_PROC0004: mov cl,[esp+1Bh] mov eax,[esp+14h] test cl,cl jnz L004A0428 mov ecx,[esp+28h] L004A0195: test edi,edi jz L004A01AB mov eax,[esp+44h] mov edx,[esp+48h] mov [ecx],eax mov [ecx+04h],edx jmp L004A0428 L004A01AB: mov dl,[esp+1Ah] test dl,dl jz L004A01BA mov [ecx],eax jmp L004A0428 L004A01BA: mov [ecx],ax jmp L004A0428 CASE_004A0590_PROC0002: cmp ebx,0000002Dh lea esi,[esp+00000080h] jnz L004A01DE mov [esp+00000080h],bl lea esi,[esp+00000081h] jmp L004A01E3 L004A01DE: cmp ebx,0000002Bh jnz L004A0200 L004A01E3: mov ebx,[esp+1Ch] mov edi,[esp+14h] dec ebx inc edi push ebp mov [esp+20h],ebx mov [esp+18h],edi call SUB_L004A0620 add esp,00000004h mov ebx,eax L004A0200: mov eax,[esp+30h] test eax,eax jz L004A0212 cmp dword ptr [esp+1Ch],0000015Dh jle L004A021A L004A0212: mov dword ptr [esp+1Ch],0000015Dh L004A021A: mov edi,[esp+38h] L004A021E: cmp dword ptr [L004D16BC],00000001h jle L004A0234 push 00000004h push ebx call SUB_L0049F080 add esp,00000008h jmp L004A023F L004A0234: mov eax,[L004D14B0] mov al,[eax+ebx*2] and eax,00000004h L004A023F: test eax,eax jz L004A026C mov eax,[esp+1Ch] mov ecx,eax dec eax test ecx,ecx mov [esp+1Ch],eax jz L004A026C mov [esi],bl mov ebx,[esp+14h] inc edi inc esi inc ebx push ebp mov [esp+18h],ebx call SUB_L004A0620 add esp,00000004h mov ebx,eax jmp L004A021E L004A026C: cmp [L004D16C0],bl jnz L004A02EE mov eax,[esp+1Ch] mov edx,eax dec eax test edx,edx mov [esp+1Ch],eax jz L004A02EE mov ebx,[esp+14h] push ebp inc ebx mov [esp+18h],ebx call SUB_L004A0620 mov ebx,eax mov al,[L004D16C0] add esp,00000004h mov [esi],al inc esi L004A029F: cmp dword ptr [L004D16BC],00000001h jle L004A02B5 push 00000004h push ebx call SUB_L0049F080 add esp,00000008h jmp L004A02C1 L004A02B5: mov ecx,[L004D14B0] mov al,[ecx+ebx*2] and eax,00000004h L004A02C1: test eax,eax jz L004A02EE mov eax,[esp+1Ch] mov edx,eax dec eax test edx,edx mov [esp+1Ch],eax jz L004A02EE mov [esi],bl mov ebx,[esp+14h] inc edi inc esi inc ebx push ebp mov [esp+18h],ebx call SUB_L004A0620 add esp,00000004h mov ebx,eax jmp L004A029F L004A02EE: test edi,edi jz L004A03A1 cmp ebx,00000065h jz L004A0304 cmp ebx,00000045h jnz L004A03A1 L004A0304: mov eax,[esp+1Ch] mov ecx,eax dec eax test ecx,ecx mov [esp+1Ch],eax jz L004A03A1 mov ebx,[esp+14h] mov byte ptr [esi],65h inc esi inc ebx push ebp mov [esp+18h],ebx call SUB_L004A0620 mov ebx,eax add esp,00000004h cmp ebx,0000002Dh jnz L004A0339 mov [esi],al inc esi jmp L004A033E L004A0339: cmp ebx,0000002Bh jnz L004A0367 L004A033E: mov eax,[esp+1Ch] mov edx,eax dec eax test edx,edx mov [esp+1Ch],eax jnz L004A0353 mov [esp+1Ch],edx jmp L004A0367 L004A0353: mov ebx,[esp+14h] push ebp inc ebx mov [esp+18h],ebx call SUB_L004A0620 add esp,00000004h mov ebx,eax L004A0367: cmp dword ptr [L004D16BC],00000001h jle L004A037D push 00000004h push ebx call SUB_L0049F080 add esp,00000008h jmp L004A0388 L004A037D: mov eax,[L004D14B0] mov al,[eax+ebx*2] and eax,00000004h L004A0388: test eax,eax jz L004A03A1 mov eax,[esp+1Ch] mov ecx,eax dec eax test ecx,ecx mov [esp+1Ch],eax jz L004A03A1 inc edi mov [esi],bl inc esi jmp L004A0353 L004A03A1: mov ecx,[esp+14h] push ebp dec ecx push ebx mov [esp+1Ch],ecx call SUB_L004A0650 add esp,00000008h test edi,edi jz L004A04F6 mov al,[esp+1Bh] test al,al jnz L004A0428 mov ecx,[esp+34h] mov eax,[esp+28h] inc ecx lea edx,[esp+00000080h] mov [esp+34h],ecx push edx movsx ecx,[esp+1Eh] dec ecx push eax push ecx mov byte ptr [esi],00h call [L004D1708] add esp,0000000Ch jmp L004A0428 CASE_004A0590_PROC000B: mov eax,[esp+000001E8h] xor edx,edx mov dl,[eax] cmp edx,ebx jnz L004A04DD mov cl,[esp+21h] mov al,[esp+1Bh] dec cl test al,al mov [esp+21h],cl jnz L004A0428 mov ecx,[esp+54h] mov [esp+000001ECh],ecx jmp L004A0428 L004A0421: mov ebp,[esp+000001E4h] L004A0428: mov cl,[esp+21h] mov eax,[esp+000001E8h] inc cl inc eax mov [esp+21h],cl mov [esp+000001E8h],eax xor edi,edi mov esi,eax jmp L004A04A3 L004A0447: mov eax,[esp+14h] push ebp inc eax mov [esp+18h],eax call SUB_L004A0620 xor edx,edx add esp,00000004h mov dl,[esi] mov ebx,eax inc esi cmp edx,ebx mov [esp+000001E8h],esi jnz L004A04DD mov ecx,[L004D14B0] and eax,000000FFh test byte ptr [ecx+eax*2+01h],80h jz L004A04A3 mov ecx,[esp+14h] push ebp inc ecx mov [esp+18h],ecx call SUB_L004A0620 xor edx,edx add esp,00000004h mov dl,[esi] inc esi cmp edx,eax mov [esp+000001E8h],esi jnz L004A04CA dec [esp+14h] L004A04A3: cmp ebx,FFFFFFFFh jnz L004A04BE cmp byte ptr [esi],25h jnz L004A04F6 mov eax,[esp+000001E8h] cmp byte ptr [eax+01h],6Eh jnz L004A04F6 xor edi,edi mov esi,eax L004A04BE: mov al,[esi] test al,al jnz L0049F8DD jmp L004A04F6 L004A04CA: mov esi,[esp+14h] push ebp dec esi push eax mov [esp+1Ch],esi call SUB_L004A0650 add esp,00000008h L004A04DD: mov esi,[esp+14h] push ebp dec esi push ebx mov [esp+1Ch],esi call SUB_L004A0650 add esp,00000008h jmp L004A04F6 L004A04F2: mov ebx,[esp+54h] L004A04F6: mov eax,[esp+34h] cmp ebx,FFFFFFFFh jnz L004A050E test eax,eax jnz L004A050E mov cl,[esp+21h] test cl,cl jnz L004A050E or eax,FFFFFFFFh L004A050E: pop edi pop esi pop ebp pop ebx add esp,000001D0h retn ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_004A051C: dd CASE_004A051C_PROC0000 dd CASE_004A051C_PROC0001 dd CASE_004A051C_PROC0002 dd CASE_004A051C_PROC0003 dd CASE_004A051C_PROC0001 dd CASE_004A051C_PROC0005 dd CASE_004A051C_PROC0006 dd CASE_004A051C_PROC0007 dd CASE_004A051C_PROC0008 CASE_004A0540: db 00h, 08h, 08h, 08h, 08h, 08h, 08h, 08h, 08h, 08h, 08h, 08h, 08h, 08h, 08h, 08h db 08h, 08h, 08h, 08h, 08h, 08h, 08h, 08h, 08h, 08h, 08h, 08h, 01h, 08h, 08h, 02h db 08h, 08h, 03h, 08h, 04h, 08h, 08h, 08h, 08h, 08h, 08h, 08h, 08h, 08h, 08h, 08h db 08h, 08h, 08h, 08h, 08h, 08h, 08h, 08h, 08h, 08h, 08h, 08h, 08h, 08h, 05h, 08h db 08h, 08h, 06h, 08h, 08h, 08h, 08h, 08h, 08h, 08h, 08h, 08h, 08h, 07h Align 4 CASE_PROCTABLE_004A0590: dd CASE_004A0590_PROC0000 dd CASE_004A0590_PROC0001 dd CASE_004A0590_PROC0002 dd CASE_004A0590_PROC0003 dd CASE_004A0590_PROC0004 dd CASE_004A0590_PROC0001 dd CASE_004A0590_PROC0006 dd CASE_004A0590_PROC0007 dd CASE_004A0590_PROC0001 dd CASE_004A0590_PROC0009 dd CASE_004A0590_PROC000A dd CASE_004A0590_PROC000B CASE_004A05C0: db 00h, 01h, 02h, 02h, 02h, 0Bh, 03h, 0Bh, 0Bh, 0Bh, 0Bh, 04h, 05h, 06h, 0Bh, 0Bh db 07h, 0Bh, 08h, 0Bh, 0Bh, 09h, 0Bh, 0Bh, 0Ah Align 8 SUB_L004A05E0: mov eax,[L004D16BC] push esi cmp eax,00000001h jle L004A05FC mov esi,[esp+08h] push 00000004h push esi call SUB_L0049F080 add esp,00000008h jmp L004A060B L004A05FC: mov esi,[esp+08h] mov eax,[L004D14B0] mov al,[eax+esi*2] and eax,00000004h L004A060B: test eax,eax jnz L004A0615 and esi,FFFFFFDFh sub esi,00000007h L004A0615: mov eax,esi pop esi retn ;------------------------------------------------------------------------------ Align 8 SUB_L004A0620: mov ecx,[esp+04h] mov eax,[ecx+04h] dec eax mov [ecx+04h],eax js L004A0637 mov edx,[ecx] xor eax,eax mov al,[edx] inc edx mov [ecx],edx retn ;------------------------------------------------------------------------------ L004A0637: push ecx call SUB_L0049CDE0 add esp,00000004h retn ;------------------------------------------------------------------------------ Align 16 SUB_L004A0650: mov eax,[esp+04h] cmp eax,FFFFFFFFh jz L004A0667 mov ecx,[esp+08h] push ecx push eax call SUB_L0049BFE0 add esp,00000008h L004A0667: retn ;------------------------------------------------------------------------------ Align 16 SUB_L004A0670: push ebx mov ebx,[esp+0Ch] push esi push edi mov edi,[esp+10h] push ebx inc [edi] call SUB_L004A0620 add esp,00000004h mov esi,eax push esi call SUB_L0049B9F0 add esp,00000004h test eax,eax jz L004A06B2 L004A0695: mov esi,[edi] push ebx inc esi mov [edi],esi call SUB_L004A0620 add esp,00000004h mov esi,eax push esi call SUB_L0049B9F0 add esp,00000004h test eax,eax jnz L004A0695 L004A06B2: mov eax,esi pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ Align 16 SUB_L004A06C0: mov eax,[esp+08h] mov ecx,[esp+10h] or ecx,eax mov ecx,[esp+0Ch] jnz L004A06D9 mov eax,[esp+04h] mul ecx retn 0010h ;------------------------------------------------------------------------------ L004A06D9: push ebx mul ecx mov ebx,eax mov eax,[esp+08h] mul [esp+14h] add ebx,eax mov eax,[esp+08h] mul ecx add edx,ebx pop ebx retn 0010h ;------------------------------------------------------------------------------ Align 16 SUB_L004A0700: push 00030000h push 00010000h call SUB_L004A4DB0 add esp,00000008h retn ;------------------------------------------------------------------------------ Align 16 L004A0720: push ebp mov ebp,esp sub esp,00000018h mov dword ptr [ebp-08h],80000000h mov dword ptr [ebp-04h],4147FFFFh mov dword ptr [ebp-10h],C0000000h mov dword ptr [ebp-0Ch],4150017Eh fld qword ptr [ebp-10h] fdiv qword ptr [ebp-08h] fmul qword ptr [ebp-08h] fsubr qword ptr [ebp-10h] fstp qword ptr [ebp-18h] fld qword ptr [ebp-18h] fcomp qword ptr [L004BD1E8] fnstsw ax test ah,41h jnz L004A076A mov eax,00000001h mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L004A076A: xor eax,eax mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ SUB_L004A0770: push SSZ004BD20C_KERNEL32 call [KERNEL32.dll!GetModuleHandleA] test eax,eax jz L004A0794 push SSZ004BD1F0_IsProcessorFeaturePresent push eax call [KERNEL32.dll!GetProcAddress] test eax,eax jz L004A0794 push 00000000h call eax retn ;------------------------------------------------------------------------------ L004A0794: jmp L004A0720 Align 8 L004A07A0: push esi mov esi,[esp+08h] movsx eax,[esi] push eax call SUB_L0049AD20 add esp,00000004h cmp eax,00000065h jz L004A07E3 L004A07B6: mov eax,[L004D16BC] inc esi cmp eax,00000001h jle L004A07D1 movsx ecx,[esi] push 00000004h push ecx call SUB_L0049F080 add esp,00000008h jmp L004A07DF L004A07D1: movsx edx,[esi] mov eax,[L004D14B0] mov al,[eax+edx*2] and eax,00000004h L004A07DF: test eax,eax jnz L004A07B6 L004A07E3: mov cl,[L004D16C0] mov al,[esi] mov [esi],cl inc esi L004A07EE: mov cl,[esi] mov [esi],al mov dl,[esi] inc esi test dl,dl mov al,cl jnz L004A07EE pop esi retn ;------------------------------------------------------------------------------ Align 4 L004A0800: mov eax,[esp+04h] push ebx mov bl,[L004D16C0] mov cl,[eax] test cl,cl jz L004A081D L004A0811: cmp cl,bl jz L004A081D mov cl,[eax+01h] inc eax test cl,cl jnz L004A0811 L004A081D: mov cl,[eax] inc eax test cl,cl jz L004A0869 mov cl,[eax] test cl,cl jz L004A083C L004A082A: cmp cl,65h jz L004A083C cmp cl,45h jz L004A083C mov cl,[eax+01h] inc eax test cl,cl jnz L004A082A L004A083C: mov cl,[eax-01h] mov edx,eax dec eax cmp cl,30h jnz L004A0850 L004A0847: mov cl,[eax-01h] dec eax cmp cl,30h jz L004A0847 L004A0850: cmp [eax],bl jnz L004A0855 dec eax L004A0855: mov cl,[edx] inc eax inc edx test cl,cl mov [eax],cl jz L004A0869 L004A085F: mov cl,[edx] inc eax inc edx test cl,cl mov [eax],cl jnz L004A085F L004A0869: pop ebx retn ;------------------------------------------------------------------------------ Align 8 L004A0870: mov eax,[esp+04h] fld qword ptr [eax] fcomp qword ptr [L004BD218] fnstsw ax test ah,01h jnz L004A0889 mov eax,00000001h retn ;------------------------------------------------------------------------------ L004A0889: xor eax,eax retn ;------------------------------------------------------------------------------ Align 8 L004A0890: mov eax,[esp+04h] sub esp,00000008h test eax,eax jz L004A08C2 mov eax,[esp+14h] lea ecx,[esp+00h] push eax push ecx call SUB_L004A53A0 mov eax,[esp+18h] mov edx,[esp+08h] mov ecx,[esp+0Ch] add esp,00000008h mov [eax],edx mov [eax+04h],ecx add esp,00000008h retn ;------------------------------------------------------------------------------ L004A08C2: mov edx,[esp+14h] lea eax,[esp+14h] push edx push eax call SUB_L004A53E0 mov ecx,[esp+18h] mov edx,[esp+1Ch] add esp,00000008h mov [ecx],edx add esp,00000008h retn ;------------------------------------------------------------------------------ Align 16 SUB_L004A08F0: sub esp,00000028h lea eax,[esp+10h] lea ecx,[esp+00h] push esi push edi push eax mov eax,[esp+38h] push ecx mov edx,[eax+04h] mov eax,[eax] push edx push eax call SUB_L004A54C0 mov esi,[esp+4Ch] mov edi,[esp+48h] add esp,00000010h lea ecx,[esp+08h] lea edx,[esi+01h] xor eax,eax push ecx push edx mov edx,[esp+10h] test esi,esi setg al xor ecx,ecx cmp edx,0000002Dh mov edx,edi setz cl add edx,eax add ecx,edx push ecx call SUB_L004A5420 mov ecx,[esp+4Ch] add esp,0000000Ch lea eax,[esp+08h] push 00000000h push eax push ecx push esi push edi call SUB_L004A0970 add esp,00000014h mov eax,edi pop edi pop esi add esp,00000028h retn ;------------------------------------------------------------------------------ Align 16 SUB_L004A0970: push ebx mov bl,[esp+18h] push ebp mov ebp,[esp+0Ch] push esi mov esi,[esp+14h] push edi mov edi,[esp+20h] test bl,bl jz L004A09A5 mov edx,[edi] xor eax,eax cmp edx,0000002Dh setz al add eax,ebp xor ecx,ecx test esi,esi setg cl push ecx push eax call SUB_L004A0CD0 add esp,00000008h L004A09A5: mov ecx,[edi] mov eax,ebp cmp ecx,0000002Dh jnz L004A09B5 mov byte ptr [ebp+00h],2Dh lea eax,[ebp+01h] L004A09B5: test esi,esi jle L004A09C7 mov dl,[eax+01h] mov [eax],dl mov cl,[L004D16C0] inc eax mov [eax],cl L004A09C7: xor edx,edx mov ecx,[L004BD220] test bl,bl setz dl add edx,eax add esi,edx mov eax,esi mov [eax],ecx mov dx,[L004BD224] mov [eax+04h],dx mov eax,[esp+1Ch] test eax,eax jz L004A09F2 mov byte ptr [esi],45h L004A09F2: mov eax,[edi+0Ch] inc esi cmp byte ptr [eax],30h jz L004A0A5B mov ecx,[edi+04h] dec ecx jns L004A0A06 neg ecx mov byte ptr [esi],2Dh L004A0A06: inc esi cmp ecx,00000064h jl L004A0A2F mov eax,51EB851Fh imul ecx sar edx,05h mov eax,edx shr eax,1Fh add edx,eax mov al,[esi] add al,dl mov [esi],al mov eax,ecx cdq mov ecx,00000064h idiv ecx mov ecx,edx L004A0A2F: inc esi cmp ecx,0000000Ah jl L004A0A58 mov eax,66666667h imul ecx sar edx,02h mov eax,edx shr eax,1Fh add edx,eax mov al,[esi] add al,dl mov [esi],al mov eax,ecx cdq mov ecx,0000000Ah idiv ecx mov ecx,edx L004A0A58: add [esi+01h],cl L004A0A5B: pop edi mov eax,ebp pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ Align 16 SUB_L004A0A70: sub esp,00000028h lea eax,[esp+10h] lea ecx,[esp+00h] push esi push edi push eax mov eax,[esp+38h] push ecx mov edx,[eax+04h] mov eax,[eax] push edx push eax call SUB_L004A54C0 mov edi,[esp+4Ch] mov edx,[esp+1Ch] mov esi,[esp+18h] add esp,00000010h add edx,edi xor eax,eax cmp esi,0000002Dh mov esi,[esp+38h] lea ecx,[esp+08h] setz al push ecx add eax,esi push edx push eax call SUB_L004A5420 add esp,0000000Ch lea ecx,[esp+08h] push 00000000h push ecx push edi push esi call SUB_L004A0AE0 add esp,00000010h mov eax,esi pop edi pop esi add esp,00000028h retn ;------------------------------------------------------------------------------ Align 16 SUB_L004A0AE0: mov cl,[esp+10h] push ebx push ebp push esi mov esi,[esp+18h] mov ebp,[esp+14h] mov ebx,[esp+10h] push edi mov eax,[esi+04h] dec eax test cl,cl jz L004A0B15 mov edx,[esi] xor ecx,ecx cmp edx,0000002Dh setz cl add ecx,ebx cmp eax,ebp jnz L004A0B15 mov byte ptr [eax+ecx],30h mov byte ptr [eax+ecx+01h],00h L004A0B15: mov eax,[esi] mov edi,ebx cmp eax,0000002Dh jnz L004A0B24 mov byte ptr [ebx],2Dh lea edi,[ebx+01h] L004A0B24: mov eax,[esi+04h] test eax,eax jg L004A0B3C push 00000001h push edi call SUB_L004A0CD0 add esp,00000008h mov byte ptr [edi],30h inc edi jmp L004A0B3E L004A0B3C: add edi,eax L004A0B3E: test ebp,ebp jle L004A0B8F push 00000001h push edi call SUB_L004A0CD0 mov al,[L004D16C0] add esp,00000008h mov [edi],al mov esi,[esi+04h] inc edi test esi,esi jge L004A0B8F mov al,[esp+20h] test al,al jz L004A0B68 neg esi jmp L004A0B6E L004A0B68: neg esi cmp ebp,esi jl L004A0B70 L004A0B6E: mov ebp,esi L004A0B70: push ebp push edi call SUB_L004A0CD0 mov ecx,ebp mov eax,30303030h mov edx,ecx add esp,00000008h shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb L004A0B8F: pop edi pop esi mov eax,ebx pop ebp pop ebx retn ;------------------------------------------------------------------------------ Align 16 SUB_L004A0BA0: sub esp,00000028h lea eax,[esp+10h] lea ecx,[esp+00h] push ebx push ebp push esi push edi push eax mov eax,[esp+40h] push ecx mov edx,[eax+04h] mov eax,[eax] push edx push eax call SUB_L004A54C0 mov ecx,[esp+24h] mov ebp,[esp+50h] mov ebx,[esp+54h] add esp,00000010h lea edi,[ecx-01h] mov ecx,[esp+10h] xor edx,edx cmp ecx,0000002Dh setz dl add edx,ebp lea eax,[esp+10h] mov esi,edx push eax push ebx push esi call SUB_L004A5420 mov ecx,[esp+20h] add esp,0000000Ch lea eax,[ecx-01h] xor ecx,ecx cmp edi,eax setl cl cmp eax,FFFFFFFCh jl L004A0C38 cmp eax,ebx jge L004A0C38 test cl,cl jz L004A0C1F mov dl,[esi] inc esi test dl,dl jz L004A0C1B L004A0C14: mov al,[esi] inc esi test al,al jnz L004A0C14 L004A0C1B: mov byte ptr [esi-02h],00h L004A0C1F: lea ecx,[esp+10h] push 00000001h push ecx push ebx push ebp call SUB_L004A0AE0 add esp,00000010h pop edi pop esi pop ebp pop ebx add esp,00000028h retn ;------------------------------------------------------------------------------ L004A0C38: mov eax,[esp+48h] lea edx,[esp+10h] push 00000001h push edx push eax push ebx push ebp call SUB_L004A0970 add esp,00000014h pop edi pop esi pop ebp pop ebx add esp,00000028h retn ;------------------------------------------------------------------------------ Align 16 L004A0C60: mov eax,[esp+0Ch] cmp eax,00000065h jz L004A0CA8 cmp eax,00000045h jz L004A0CA8 cmp eax,00000066h jnz L004A0C8B mov eax,[esp+10h] mov ecx,[esp+08h] mov edx,[esp+04h] push eax push ecx push edx call SUB_L004A0A70 add esp,0000000Ch retn ;------------------------------------------------------------------------------ L004A0C8B: mov eax,[esp+14h] mov ecx,[esp+10h] mov edx,[esp+08h] push eax mov eax,[esp+08h] push ecx push edx push eax call SUB_L004A0BA0 add esp,00000010h retn ;------------------------------------------------------------------------------ L004A0CA8: mov ecx,[esp+14h] mov edx,[esp+10h] mov eax,[esp+08h] push ecx mov ecx,[esp+08h] push edx push eax push ecx call SUB_L004A08F0 add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 SUB_L004A0CD0: push esi mov esi,[esp+0Ch] test esi,esi jz L004A0CF7 mov edx,[esp+08h] push edi mov edi,edx or ecx,FFFFFFFFh xor eax,eax add esi,edx repne scasb not ecx push ecx push edx push esi call SUB_L004A33B0 add esp,0000000Ch pop edi L004A0CF7: pop esi retn ;------------------------------------------------------------------------------ Align 8 SUB_L004A0D00: sub esp,00000008h push ebx push ebp push esi mov esi,[esp+18h] test esi,esi push edi jnz L004A0D24 mov eax,[esp+20h] push eax call SUB_L0049D430 add esp,00000004h pop edi pop esi pop ebp pop ebx add esp,00000008h retn ;------------------------------------------------------------------------------ L004A0D24: mov edi,[esp+20h] test edi,edi jnz L004A0D3F push esi call SUB_L0049C430 add esp,00000004h xor eax,eax pop edi pop esi pop ebp pop ebx add esp,00000008h retn ;------------------------------------------------------------------------------ L004A0D3F: cmp edi,FFFFFFE0h ja L004A0D60 test edi,edi jbe L004A0D54 add edi,0000000Fh and edi,FFFFFFF0h mov [esp+20h],edi jmp L004A0D5C L004A0D54: mov dword ptr [esp+20h],00000010h L004A0D5C: mov edi,[esp+20h] L004A0D60: xor ebx,ebx cmp edi,FFFFFFE0h ja L004A0E80 push 00000009h call SUB_L0049C9A0 add esp,00000004h lea ecx,[esp+10h] lea edx,[esp+14h] push ecx push edx push esi call SUB_L004A15C0 mov ebp,eax add esp,0000000Ch test ebp,ebp jz L004A0E64 cmp edi,[L004D3754] jnc L004A0E05 mov eax,[esp+10h] mov ecx,[esp+14h] mov ebx,edi shr ebx,04h push ebx push ebp push eax push ecx call SUB_L004A1A40 add esp,00000010h test eax,eax jz L004A0DBB mov ebx,esi jmp L004A0E05 L004A0DBB: push ebx call SUB_L004A1680 mov ebx,eax add esp,00000004h test ebx,ebx jz L004A0E09 xor eax,eax mov al,[ebp+00h] shl eax,04h cmp eax,edi jc L004A0DD8 mov eax,edi L004A0DD8: mov ecx,eax mov edi,ebx mov edx,ecx push ebp shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb mov eax,[esp+14h] mov ecx,[esp+18h] push eax push ecx call SUB_L004A1620 mov edi,[esp+2Ch] mov esi,[esp+28h] add esp,0000000Ch L004A0E05: test ebx,ebx jnz L004A0E58 L004A0E09: mov edx,[L007B9BC8] push edi push 00000000h push edx call [KERNEL32.dll!HeapAlloc] mov ebx,eax test ebx,ebx jz L004A0E58 xor eax,eax mov al,[ebp+00h] shl eax,04h cmp eax,edi jc L004A0E2D mov eax,edi L004A0E2D: mov ecx,eax mov edi,ebx shr ecx,02h rep movsd mov ecx,eax push ebp and ecx,00000003h rep movsb mov ecx,[esp+14h] mov edx,[esp+18h] push ecx push edx call SUB_L004A1620 mov edi,[esp+2Ch] mov esi,[esp+28h] add esp,0000000Ch L004A0E58: push 00000009h call SUB_L0049CA20 add esp,00000004h jmp L004A0E80 L004A0E64: push 00000009h call SUB_L0049CA20 mov eax,[L007B9BC8] add esp,00000004h push edi push esi push 00000000h push eax call [KERNEL32.dll!HeapReAlloc] mov ebx,eax L004A0E80: test ebx,ebx jnz L004A0EA6 mov eax,[L007B86E0] test eax,eax jz L004A0EA6 push edi call SUB_L0049C1C0 add esp,00000004h test eax,eax jnz L004A0D60 pop edi pop esi pop ebp pop ebx add esp,00000008h retn ;------------------------------------------------------------------------------ L004A0EA6: pop edi pop esi mov eax,ebx pop ebp pop ebx add esp,00000008h retn ;------------------------------------------------------------------------------ SUB_L004A0EB0: sub esp,00000008h push esi push 00000009h call SUB_L0049C9A0 mov esi,[esp+14h] add esp,00000004h lea eax,[esp+04h] lea ecx,[esp+08h] push eax push ecx push esi call SUB_L004A15C0 add esp,0000000Ch test eax,eax jz L004A0EF3 xor edx,edx push 00000009h mov dl,[eax] mov esi,edx shl esi,04h call SUB_L0049CA20 add esp,00000004h mov eax,esi pop esi add esp,00000008h retn ;------------------------------------------------------------------------------ L004A0EF3: push 00000009h call SUB_L0049CA20 mov eax,[L007B9BC8] add esp,00000004h push esi push 00000000h push eax call [KERNEL32.dll!HeapSize] mov esi,eax pop esi add esp,00000008h retn ;------------------------------------------------------------------------------ Align 16 SUB_L004A0F20: sub esp,0000000Ch push ebx push ebp mov ebp,[esp+1Ch] push esi push edi mov ebx,ebp push 0000005Ch push ebp mov [esp+18h],ebx call SUB_L004A5740 add esp,00000008h mov esi,eax push 0000002Fh push ebp call SUB_L004A5740 add esp,00000008h test eax,eax jnz L004A0FD9 test esi,esi jnz L004A0FE3 push 0000003Ah push ebp call SUB_L004A5670 mov esi,eax add esp,00000008h test esi,esi jnz L004A0FE3 mov edi,ebp or ecx,FFFFFFFFh repne scasb not ecx add ecx,00000002h push ecx call SUB_L0049D430 mov edx,eax add esp,00000004h test edx,edx mov [esp+10h],edx jnz L004A0F94 or eax,FFFFFFFFh pop edi pop esi pop ebp pop ebx add esp,0000000Ch retn ;------------------------------------------------------------------------------ L004A0F94: mov cx,[L004BD248] mov eax,edx mov edi,ebp mov [eax],cx mov cl,[L004BD24A] mov [eax+02h],cl or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx mov esi,edi mov ebx,ecx mov edi,edx or ecx,FFFFFFFFh repne scasb mov ecx,ebx dec edi shr ecx,02h rep movsd mov ecx,ebx mov ebx,[esp+10h] and ecx,00000003h rep movsb lea esi,[edx+02h] jmp L004A0FE3 L004A0FD9: test esi,esi jz L004A0FE1 cmp eax,esi jbe L004A0FE3 L004A0FE1: mov esi,eax L004A0FE3: push 0000002Eh push esi mov dword ptr [esp+1Ch],FFFFFFFFh call SUB_L004A5740 add esp,00000008h test eax,eax jz L004A102F push 00000000h push ebx call SUB_L004A5620 add esp,00000008h cmp eax,FFFFFFFFh jz L004A10FC mov edx,[esp+2Ch] mov eax,[esp+28h] mov ecx,[esp+20h] push edx push eax push ebx push ecx call SUB_L004A1120 add esp,00000010h mov [esp+14h],eax jmp L004A10FC L004A102F: mov edi,ebx or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx add ecx,00000004h push ecx call SUB_L0049D430 mov ebp,eax add esp,00000004h test ebp,ebp jnz L004A1057 or eax,FFFFFFFFh pop edi pop esi pop ebp pop ebx add esp,0000000Ch retn ;------------------------------------------------------------------------------ L004A1057: mov edi,ebx or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx mov edx,ecx mov esi,edi mov edi,ebp shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb mov edi,ebx or ecx,FFFFFFFFh repne scasb not ecx dec ecx mov ebx,L004D1724 mov edx,ecx add edx,ebp mov [esp+18h],edx jmp L004A1093 L004A108F: mov edx,[esp+18h] L004A1093: mov edi,[ebx] or ecx,FFFFFFFFh xor eax,eax push 00000000h repne scasb not ecx sub edi,ecx push ebp mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb call SUB_L004A5620 add esp,00000008h cmp eax,FFFFFFFFh jnz L004A10CF sub ebx,00000004h cmp ebx,L004D1718 jge L004A108F jmp L004A10EB L004A10CF: mov ecx,[esp+2Ch] mov edx,[esp+28h] mov eax,[esp+20h] push ecx push edx push ebp push eax call SUB_L004A1120 add esp,00000010h mov [esp+14h],eax L004A10EB: push ebp call SUB_L0049C430 mov ebx,[esp+14h] mov ebp,[esp+28h] add esp,00000004h L004A10FC: cmp ebx,ebp jz L004A1109 push ebx call SUB_L0049C430 add esp,00000004h L004A1109: mov eax,[esp+14h] pop edi pop esi pop ebp pop ebx add esp,0000000Ch retn ;------------------------------------------------------------------------------ Align 16 SUB_L004A1120: mov edx,[esp+10h] push esi mov esi,[esp+0Ch] lea eax,[esp+14h] push esi lea ecx,[esp+10h] push eax mov eax,[esp+18h] push ecx push edx push eax call SUB_L004A5A60 add esp,00000014h cmp eax,FFFFFFFFh jnz L004A114B or eax,eax pop esi retn ;------------------------------------------------------------------------------ L004A114B: mov ecx,[esp+14h] mov edx,[esp+0Ch] mov eax,[esp+08h] push ecx push edx push esi push eax call SUB_L004A57D0 mov ecx,[esp+1Ch] add esp,00000010h mov esi,eax push ecx call SUB_L0049C430 mov edx,[esp+18h] add esp,00000004h push edx call SUB_L0049C430 add esp,00000004h mov eax,esi pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L004A1190: mov eax,[L007B8A1C] push 00001000h inc eax mov [L007B8A1C],eax call SUB_L0049D430 mov ecx,[esp+08h] add esp,00000004h test eax,eax mov [ecx+08h],eax mov eax,[ecx+0Ch] jz L004A11CF mov edx,[ecx+08h] or al,08h mov [ecx+0Ch],eax mov dword ptr [ecx+18h],00001000h mov [ecx],edx mov dword ptr [ecx+04h],00000000h retn ;------------------------------------------------------------------------------ L004A11CF: or al,04h mov dword ptr [ecx+18h],00000002h mov [ecx+0Ch],eax lea eax,[ecx+14h] mov edx,eax mov [ecx+08h],eax mov [ecx],edx mov dword ptr [ecx+04h],00000000h retn ;------------------------------------------------------------------------------ Align 4 SUB_L004A11F0: sub esp,00000024h push ebx mov ebx,[esp+2Ch] sub ebx,0000076Ch push ebp push esi cmp ebx,00000046h push edi jl L004A12C7 cmp ebx,0000008Ah jg L004A12C7 mov edi,[esp+3Ch] mov ecx,[esp+40h] mov esi,[L004D4494+edi*4] add esi,ecx test bl,03h jnz L004A1232 cmp edi,00000002h jle L004A1232 inc esi L004A1232: call SUB_L004A5D10 lea eax,[ebx+ebx*8] mov [esp+2Ch],esi mov [esp+24h],ebx lea ecx,[ebx+eax*8] lea eax,[ebx-01h] mov edx,ecx add edx,esi sar eax,02h lea ecx,[edx+ecx*4] add eax,ecx mov ecx,[esp+44h] mov [esp+18h],ecx lea edx,[eax+eax*2] lea eax,[ecx+edx*8] mov edx,eax shl edx,04h sub edx,eax mov eax,[esp+48h] lea eax,[eax+edx*4] mov edx,eax shl edx,04h sub edx,eax mov eax,[esp+4Ch] dec edi lea edx,[eax+edx*4] mov eax,[L004D43A8] mov [esp+20h],edi lea ebp,[edx+eax+7C558180h] mov eax,[esp+50h] cmp eax,00000001h jz L004A12B7 cmp eax,FFFFFFFFh jnz L004A12BD mov eax,[L004D43AC] test eax,eax jz L004A12BD lea ecx,[esp+10h] push ecx call SUB_L004A6030 add esp,00000004h test eax,eax jz L004A12BD L004A12B7: add ebp,[L004D43B0] L004A12BD: mov eax,ebp pop edi pop esi pop ebp pop ebx add esp,00000024h retn ;------------------------------------------------------------------------------ L004A12C7: pop edi pop esi pop ebp or eax,FFFFFFFFh pop ebx add esp,00000024h retn ;------------------------------------------------------------------------------ Align 16 SUB_L004A12E0: push 00000000h push 00001000h push 00000000h call [KERNEL32.dll!HeapCreate] test eax,eax mov [L007B9BC8],eax jnz L004A12F9 retn ;------------------------------------------------------------------------------ L004A12F9: call SUB_L004A1320 test eax,eax jnz L004A1311 mov eax,[L007B9BC8] push eax call [KERNEL32.dll!HeapDestroy] xor eax,eax retn ;------------------------------------------------------------------------------ L004A1311: mov eax,00000001h retn ;------------------------------------------------------------------------------ Align 16 SUB_L004A1320: mov eax,[L004D1740] push ebp push esi cmp eax,FFFFFFFFh push edi jnz L004A1334 mov ebp,L004D1730 jmp L004A1351 L004A1334: mov eax,[L007B9BC8] push 00002020h push 00000000h push eax call [KERNEL32.dll!HeapAlloc] mov ebp,eax test ebp,ebp jz L004A147C L004A1351: mov edi,[KERNEL32.dll!VirtualAlloc] push 00000004h push 00002000h push 00400000h push 00000000h call edi mov esi,eax test esi,esi jz L004A1465 push 00000004h push 00001000h push 00010000h push esi call edi test eax,eax jz L004A1457 cmp ebp,L004D1730 jnz L004A13B8 mov eax,[L004D1730] test eax,eax jnz L004A13A3 mov dword ptr [L004D1730],L004D1730 L004A13A3: mov eax,[L004D1734] test eax,eax jnz L004A13D3 mov dword ptr [L004D1734],L004D1730 jmp L004A13D3 L004A13B8: mov dword ptr [ebp+00h],L004D1730 mov ecx,[L004D1734] mov [ebp+04h],ecx mov [L004D1734],ebp mov edx,[ebp+04h] mov [edx],ebp L004A13D3: lea eax,[esi+00400000h] lea ecx,[ebp+18h] lea edx,[ebp+00000098h] mov [ebp+14h],eax mov [ebp+10h],esi mov [ebp+08h],ecx mov [ebp+0Ch],edx xor eax,eax mov edi,000000F1h L004A13F5: xor edx,edx cmp eax,00000010h setge dl dec edx add ecx,00000008h and edx,edi dec edx inc eax mov [ecx-08h],edx mov [ecx-04h],edi cmp eax,00000400h jl L004A13F5 mov ecx,00004000h xor eax,eax mov edi,esi rep stosd mov eax,[ebp+10h] add eax,00010000h cmp esi,eax jnc L004A1451 mov ecx,000000F0h mov al,FFh L004A1430: lea edx,[esi+08h] mov [esi+04h],ecx mov [esi],edx mov [esi+000000F8h],al mov edx,[ebp+10h] add esi,00001000h add edx,00010000h cmp esi,edx jc L004A1430 L004A1451: mov eax,ebp pop edi pop esi pop ebp retn ;------------------------------------------------------------------------------ L004A1457: push 00008000h push 00000000h push esi call [KERNEL32.dll!VirtualFree] L004A1465: cmp ebp,L004D1730 jz L004A147C mov eax,[L007B9BC8] push ebp push 00000000h push eax call [KERNEL32.dll!HeapFree] L004A147C: pop edi pop esi xor eax,eax pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L004A1490: push esi mov esi,[esp+08h] push 00008000h push 00000000h mov eax,[esi+10h] push eax call [KERNEL32.dll!VirtualFree] cmp [L004D3750],esi jnz L004A14B7 mov ecx,[esi+04h] mov [L004D3750],ecx L004A14B7: cmp esi,L004D1730 jz L004A14DF mov edx,[esi+04h] mov eax,[esi] push esi push 00000000h mov [edx],eax mov ecx,[esi] mov edx,[esi+04h] mov [ecx+04h],edx mov eax,[L007B9BC8] push eax call [KERNEL32.dll!HeapFree] pop esi retn ;------------------------------------------------------------------------------ L004A14DF: mov dword ptr [L004D1740],FFFFFFFFh pop esi retn ;------------------------------------------------------------------------------ Align 8 SUB_L004A14F0: push ebx push ebp push esi push edi mov edi,[L004D1734] L004A14FA: cmp dword ptr [edi+10h],FFFFFFFFh jz L004A15A4 xor ebp,ebp lea esi,[edi+00002010h] mov ebx,003FF000h L004A1511: cmp dword ptr [esi],000000F0h jnz L004A1560 mov eax,[edi+10h] push 00004000h add eax,ebx push 00001000h push eax call [KERNEL32.dll!VirtualFree] test eax,eax jz L004A1560 mov dword ptr [esi],FFFFFFFFh mov edx,[L007B86E4] dec edx mov [L007B86E4],edx mov eax,[edi+0Ch] test eax,eax jz L004A1551 cmp eax,esi jbe L004A1554 L004A1551: mov [edi+0Ch],esi L004A1554: mov eax,[esp+14h] inc ebp dec eax mov [esp+14h],eax jz L004A156D L004A1560: sub ebx,00001000h sub esi,00000008h test ebx,ebx jge L004A1511 L004A156D: mov edx,edi mov edi,[edi+04h] test ebp,ebp jz L004A15A4 cmp dword ptr [edx+18h],FFFFFFFFh jnz L004A15A4 mov eax,00000001h lea ecx,[edx+20h] L004A1584: cmp dword ptr [ecx],FFFFFFFFh jnz L004A1594 inc eax add ecx,00000008h cmp eax,00000400h jl L004A1584 L004A1594: cmp eax,00000400h jnz L004A15A4 push edx call SUB_L004A1490 add esp,00000004h L004A15A4: cmp edi,[L004D1734] jz L004A15B8 mov eax,[esp+14h] test eax,eax jg L004A14FA L004A15B8: pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ Align 4 SUB_L004A15C0: mov ecx,[esp+04h] mov eax,L004D1730 L004A15C9: cmp ecx,[eax+10h] jbe L004A15D3 cmp ecx,[eax+14h] jc L004A15DE L004A15D3: mov eax,[eax] cmp eax,L004D1730 jz L004A1616 jmp L004A15C9 L004A15DE: test cl,0Fh jnz L004A1616 mov edx,ecx and edx,00000FFFh cmp edx,00000100h jc L004A1616 mov edx,[esp+08h] mov [edx],eax mov edx,[esp+0Ch] mov eax,ecx and eax,FFFFF000h sub ecx,eax mov [edx],eax sub ecx,00000100h sar ecx,04h lea eax,[ecx+eax+08h] retn ;------------------------------------------------------------------------------ L004A1616: xor eax,eax retn ;------------------------------------------------------------------------------ Align 8 SUB_L004A1620: mov eax,[esp+04h] mov ecx,[esp+08h] push esi xor edx,edx sub ecx,[eax+10h] sar ecx,0Ch mov esi,[eax+ecx*8+18h] lea eax,[eax+ecx*8+18h] mov ecx,[esp+10h] mov dl,[ecx] add esi,edx mov [eax],esi mov byte ptr [ecx],00h mov ecx,[eax] mov dword ptr [eax+04h],000000F1h cmp ecx,000000F0h jnz L004A1671 mov eax,[L007B86E4] inc eax cmp eax,00000020h mov [L007B86E4],eax jnz L004A1671 push 00000010h call SUB_L004A14F0 add esp,00000004h L004A1671: pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L004A1680: push ecx mov ecx,[L004D3750] push ebx mov ebx,[esp+0Ch] push ebp push esi push edi mov [esp+10h],ecx L004A1693: mov eax,[ecx+10h] cmp eax,FFFFFFFFh jz L004A1724 mov edi,[ecx+08h] lea ebp,[ecx+00002018h] mov esi,edi sub esi,ecx sub esi,00000018h sar esi,03h shl esi,0Ch add esi,eax cmp edi,ebp jnc L004A16E9 L004A16BB: mov eax,[edi] cmp eax,ebx jl L004A16DC cmp [edi+04h],ebx jbe L004A16DC push ebx push eax push esi call SUB_L004A18C0 add esp,0000000Ch test eax,eax jnz L004A1738 mov ecx,[esp+10h] mov [edi+04h],ebx L004A16DC: add edi,00000008h add esi,00001000h cmp edi,ebp jc L004A16BB L004A16E9: mov ebp,[ecx+08h] mov edi,[ecx+10h] lea esi,[ecx+18h] cmp esi,ebp jnc L004A1724 L004A16F6: mov eax,[esi] cmp eax,ebx jl L004A1717 cmp [esi+04h],ebx jbe L004A1717 push ebx push eax push edi call SUB_L004A18C0 add esp,0000000Ch test eax,eax jnz L004A1751 mov ecx,[esp+10h] mov [esi+04h],ebx L004A1717: add esi,00000008h add edi,00001000h cmp esi,ebp jc L004A16F6 L004A1724: mov ecx,[ecx] mov eax,[L004D3750] cmp ecx,eax mov [esp+10h],ecx jz L004A176A jmp L004A1693 L004A1738: mov ecx,[esp+10h] mov [L004D3750],ecx mov edx,[edi] sub edx,ebx mov [edi],edx mov [ecx+08h],edi pop edi pop esi pop ebp pop ebx pop ecx retn ;------------------------------------------------------------------------------ L004A1751: mov ecx,[esp+10h] mov [L004D3750],ecx mov edx,[esi] sub edx,ebx mov [esi],edx mov [ecx+08h],esi pop edi pop esi pop ebp pop ebx pop ecx retn ;------------------------------------------------------------------------------ L004A176A: mov ebp,L004D1730 or ecx,FFFFFFFFh L004A1772: cmp [ebp+10h],ecx jz L004A177E mov eax,[ebp+0Ch] test eax,eax jnz L004A178F L004A177E: mov ebp,[ebp+00h] cmp ebp,L004D1730 jz L004A186D jmp L004A1772 L004A178F: mov eax,[ebp+0Ch] mov esi,[ebp+10h] mov edi,eax mov [esp+18h],eax sub edi,ebp mov edx,[eax] sub edi,00000018h sar edi,03h shl edi,0Ch add edi,esi xor esi,esi cmp edx,ecx jnz L004A17C0 L004A17B0: cmp esi,00000010h jge L004A17C0 mov edx,[eax+08h] add eax,00000008h inc esi cmp edx,ecx jz L004A17B0 L004A17C0: mov eax,esi push 00000004h shl eax,0Ch push 00001000h push eax push edi mov [esp+20h],eax call [KERNEL32.dll!VirtualAlloc] cmp eax,edi jnz L004A18AB mov edx,[esp+18h] mov eax,[esp+10h] xor ecx,ecx test esi,esi mov ecx,edx jle L004A1822 lea eax,[edi+04h] L004A17F3: lea edx,[eax+04h] mov dword ptr [eax],000000F0h mov [eax-04h],edx mov byte ptr [eax+000000F4h],FFh mov dword ptr [ecx],000000F0h mov dword ptr [ecx+04h],000000F1h add eax,00001000h add ecx,00000008h dec esi jnz L004A17F3 mov edx,[esp+18h] L004A1822: lea eax,[ebp+00002018h] mov [L004D3750],ebp cmp ecx,eax jnc L004A1840 L004A1832: cmp dword ptr [ecx],FFFFFFFFh jz L004A183E add ecx,00000008h cmp ecx,eax jc L004A1832 L004A183E: cmp ecx,eax L004A1840: sbb eax,eax and eax,ecx mov [ebp+0Ch],eax mov [edi+08h],bl mov [ebp+08h],edx mov ecx,[edx] sub ecx,ebx mov [edx],ecx mov eax,[edi+04h] sub eax,ebx lea ecx,[edi+ebx+08h] mov [edi+04h],eax mov [edi],ecx lea eax,[edi+00000100h] pop edi pop esi pop ebp pop ebx pop ecx retn ;------------------------------------------------------------------------------ L004A186D: call SUB_L004A1320 test eax,eax jz L004A18AB mov ecx,[eax+10h] mov [ecx+08h],bl lea edx,[ecx+ebx+08h] mov [L004D3750],eax mov [ecx],edx mov edx,000000F0h sub edx,ebx and ebx,000000FFh mov [ecx+04h],edx mov edx,[eax+18h] sub edx,ebx mov [eax+18h],edx lea eax,[ecx+00000100h] pop edi pop esi pop ebp pop ebx pop ecx retn ;------------------------------------------------------------------------------ L004A18AB: pop edi pop esi pop ebp xor eax,eax pop ebx pop ecx retn ;------------------------------------------------------------------------------ Align 16 SUB_L004A18C0: mov edx,[esp+0Ch] push ebx push ebp push esi push edi mov edi,[esp+14h] mov eax,[edi+04h] mov ecx,[edi] cmp eax,edx mov [esp+14h],ecx mov esi,ecx lea ebx,[edi+000000F8h] jc L004A191B lea eax,[ecx+edx] mov [ecx],dl cmp eax,ebx jnc L004A18FA mov esi,[edi] mov eax,[edi+04h] add esi,edx sub eax,edx mov [edi],esi mov [edi+04h],eax jmp L004A1906 L004A18FA: lea edx,[edi+08h] mov dword ptr [edi+04h],00000000h mov [edi],edx L004A1906: lea eax,[edi+edi*2] lea eax,[eax+eax*4] mov edx,eax lea eax,[ecx+08h] shl eax,04h sub eax,edx pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ L004A191B: add eax,ecx cmp byte ptr [eax],00h jz L004A1924 mov esi,eax L004A1924: lea eax,[esi+edx] cmp eax,ebx mov ebx,[esp+18h] jnc L004A19A4 L004A192F: mov al,[esi] test al,al jnz L004A1971 cmp byte ptr [esi+01h],00h lea eax,[esi+01h] mov ecx,00000001h jnz L004A194A L004A1943: inc eax inc ecx cmp byte ptr [eax],00h jz L004A1943 L004A194A: cmp ecx,edx jnc L004A1987 mov ebp,[esp+14h] cmp esi,ebp jnz L004A195F mov [edi+04h],ecx mov esi,eax mov ecx,ebp jmp L004A1978 L004A195F: sub ebx,ecx cmp ebx,edx jc L004A1A2B mov ecx,[esp+14h] mov esi,eax jmp L004A1978 L004A1971: and eax,000000FFh add esi,eax L004A1978: lea ebp,[esi+edx] lea eax,[edi+000000F8h] cmp ebp,eax jc L004A192F jmp L004A19A4 L004A1987: lea eax,[esi+edx] lea ebx,[edi+000000F8h] cmp eax,ebx jnc L004A199D sub ecx,edx mov [edi],eax mov [edi+04h],ecx jmp L004A1A16 L004A199D: lea ecx,[edi+08h] mov [edi],ecx jmp L004A1A0F L004A19A4: lea ebp,[edi+08h] mov esi,ebp cmp esi,ecx jnc L004A1A2B L004A19AD: lea ecx,[esi+edx] lea eax,[edi+000000F8h] cmp ecx,eax jnc L004A1A2B mov al,[esi] test al,al jnz L004A19E3 cmp byte ptr [esi+01h],00h lea eax,[esi+01h] mov ecx,00000001h jnz L004A19D5 L004A19CE: inc eax inc ecx cmp byte ptr [eax],00h jz L004A19CE L004A19D5: cmp ecx,edx jnc L004A19F7 sub ebx,ecx cmp ebx,edx jc L004A1A2B mov esi,eax jmp L004A19EA L004A19E3: and eax,000000FFh add esi,eax L004A19EA: cmp esi,[esp+14h] jc L004A19AD xor eax,eax pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ L004A19F7: lea eax,[esi+edx] lea ebx,[edi+000000F8h] cmp eax,ebx jnc L004A1A0D sub ecx,edx mov [edi],eax mov [edi+04h],ecx jmp L004A1A16 L004A1A0D: mov [edi],ebp L004A1A0F: mov dword ptr [edi+04h],00000000h L004A1A16: lea eax,[edi+edi*2] mov [esi],dl lea edx,[eax+eax*4] lea eax,[esi+08h] shl eax,04h sub eax,edx pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ L004A1A2B: pop edi pop esi pop ebp xor eax,eax pop ebx retn ;------------------------------------------------------------------------------ Align 16 SUB_L004A1A40: mov ecx,[esp+04h] push ebx push ebp mov ebp,[esp+10h] push esi push edi mov edi,[ecx+10h] mov edx,ebp sub edx,edi mov edi,[esp+1Ch] sar edx,0Ch mov ebx,[esp+20h] xor eax,eax lea ecx,[ecx+edx*8+18h] xor edx,edx mov dl,[edi] mov [esp+18h],ecx mov esi,edx cmp esi,ebx jbe L004A1A8D mov [edi],bl mov eax,[ecx] sub esi,ebx mov dword ptr [ecx+04h],000000F1h add eax,esi mov [ecx],eax mov eax,00000001h pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ L004A1A8D: jnc L004A1AFF lea ecx,[ebx+edi] lea edx,[ebp+000000F8h] cmp ecx,edx ja L004A1AFF lea edx,[esi+edi] cmp edx,ecx jnc L004A1AAF L004A1AA3: cmp byte ptr [edx],00h jnz L004A1AAD inc edx cmp edx,ecx jc L004A1AA3 L004A1AAD: cmp edx,ecx L004A1AAF: jnz L004A1AFF mov [edi],bl mov eax,[ebp+00h] cmp edi,eax ja L004A1AEE cmp ecx,eax jbe L004A1AEE lea eax,[ebp+000000F8h] cmp ecx,eax jnc L004A1AE1 mov [ebp+00h],ecx mov dl,[ecx] xor eax,eax test dl,dl jnz L004A1ADC L004A1AD3: mov dl,[eax+ecx+01h] inc eax test dl,dl jz L004A1AD3 L004A1ADC: mov [ebp+04h],eax jmp L004A1AEE L004A1AE1: lea eax,[ebp+08h] mov dword ptr [ebp+04h],00000000h mov [ebp+00h],eax L004A1AEE: mov eax,[esp+18h] sub esi,ebx mov ecx,[eax] add ecx,esi mov [eax],ecx mov eax,00000001h L004A1AFF: pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ Align 16 SUB_L004A1B10: push ecx push ebx push ebp push esi push edi call SUB_L0049DFE0 mov ecx,[esp+18h] mov esi,eax mov eax,[esi+50h] push eax push ecx call SUB_L004A1D20 xor edi,edi add esp,00000008h cmp eax,edi jz L004A1D0C mov edx,[eax+08h] cmp edx,edi mov [esp+18h],edx jz L004A1D0C cmp edx,00000005h jnz L004A1B59 mov [eax+08h],edi mov eax,00000001h pop edi pop esi pop ebp pop ebx pop ecx retn ;------------------------------------------------------------------------------ L004A1B59: cmp edx,00000001h jnz L004A1B67 or eax,FFFFFFFFh pop edi pop esi pop ebp pop ebx pop ecx retn ;------------------------------------------------------------------------------ L004A1B67: mov ecx,[esi+54h] mov [esp+10h],ecx mov ecx,[esp+1Ch] mov [esi+54h],ecx mov ecx,[eax+04h] cmp ecx,00000008h jnz L004A1CF3 mov ecx,[L004D37D0] mov ebx,[L004D37D4] add ebx,ecx cmp ecx,ebx jge L004A1BBA lea edx,[ecx+ecx*2] shl edx,02h L004A1B99: mov ebx,[esi+50h] inc ecx mov [ebx+edx+08h],edi mov ebx,[L004D37D0] mov ebp,[L004D37D4] add edx,0000000Ch add ebp,ebx cmp ecx,ebp jl L004A1B99 mov edx,[esp+18h] L004A1BBA: mov eax,[eax] mov edi,[esi+58h] cmp eax,C000008Eh jnz L004A1BEB mov dword ptr [esi+58h],00000083h mov eax,[esi+58h] push eax push 00000008h call edx mov ecx,[esp+18h] add esp,00000008h mov [esi+58h],edi mov [esi+54h],ecx or eax,FFFFFFFFh pop edi pop esi pop ebp pop ebx pop ecx retn ;------------------------------------------------------------------------------ L004A1BEB: cmp eax,C0000090h jnz L004A1C17 mov dword ptr [esi+58h],00000081h mov eax,[esi+58h] push eax push 00000008h call edx mov ecx,[esp+18h] add esp,00000008h mov [esi+58h],edi mov [esi+54h],ecx or eax,FFFFFFFFh pop edi pop esi pop ebp pop ebx pop ecx retn ;------------------------------------------------------------------------------ L004A1C17: cmp eax,C0000091h jnz L004A1C43 mov dword ptr [esi+58h],00000084h mov eax,[esi+58h] push eax push 00000008h call edx mov ecx,[esp+18h] add esp,00000008h mov [esi+58h],edi mov [esi+54h],ecx or eax,FFFFFFFFh pop edi pop esi pop ebp pop ebx pop ecx retn ;------------------------------------------------------------------------------ L004A1C43: cmp eax,C0000093h jnz L004A1C6F mov dword ptr [esi+58h],00000085h mov eax,[esi+58h] push eax push 00000008h call edx mov ecx,[esp+18h] add esp,00000008h mov [esi+58h],edi mov [esi+54h],ecx or eax,FFFFFFFFh pop edi pop esi pop ebp pop ebx pop ecx retn ;------------------------------------------------------------------------------ L004A1C6F: cmp eax,C000008Dh jnz L004A1C9B mov dword ptr [esi+58h],00000082h mov eax,[esi+58h] push eax push 00000008h call edx mov ecx,[esp+18h] add esp,00000008h mov [esi+58h],edi mov [esi+54h],ecx or eax,FFFFFFFFh pop edi pop esi pop ebp pop ebx pop ecx retn ;------------------------------------------------------------------------------ L004A1C9B: cmp eax,C000008Fh jnz L004A1CC7 mov dword ptr [esi+58h],00000086h mov eax,[esi+58h] push eax push 00000008h call edx mov ecx,[esp+18h] add esp,00000008h mov [esi+58h],edi mov [esi+54h],ecx or eax,FFFFFFFFh pop edi pop esi pop ebp pop ebx pop ecx retn ;------------------------------------------------------------------------------ L004A1CC7: cmp eax,C0000092h jnz L004A1CD5 mov dword ptr [esi+58h],0000008Ah L004A1CD5: mov eax,[esi+58h] push eax push 00000008h call edx mov ecx,[esp+18h] add esp,00000008h mov [esi+58h],edi mov [esi+54h],ecx or eax,FFFFFFFFh pop edi pop esi pop ebp pop ebx pop ecx retn ;------------------------------------------------------------------------------ L004A1CF3: push ecx mov [eax+08h],edi call edx mov ecx,[esp+14h] add esp,00000004h mov [esi+54h],ecx or eax,FFFFFFFFh pop edi pop esi pop ebp pop ebx pop ecx retn ;------------------------------------------------------------------------------ L004A1D0C: mov edx,[esp+1Ch] push edx call [KERNEL32.dll!UnhandledExceptionFilter] pop edi pop esi pop ebp pop ebx pop ecx retn ;------------------------------------------------------------------------------ Align 4 SUB_L004A1D20: mov edx,[esp+04h] push esi mov esi,[esp+0Ch] push edi mov edi,[L004D37DC] mov ecx,[esi] mov eax,esi cmp ecx,edx jz L004A1D49 lea ecx,[edi+edi*2] lea ecx,[esi+ecx*4] L004A1D3E: add eax,0000000Ch cmp eax,ecx jnc L004A1D49 cmp [eax],edx jnz L004A1D3E L004A1D49: lea ecx,[edi+edi*2] lea ecx,[esi+ecx*4] cmp eax,ecx jnc L004A1D57 cmp [eax],edx jz L004A1D59 L004A1D57: xor eax,eax L004A1D59: pop edi pop esi retn ;------------------------------------------------------------------------------ Align 8 SUB_L004A1D60: mov eax,[esp+04h] push 00000004h push 00000000h push eax call SUB_L004A1D80 add esp,0000000Ch retn ;------------------------------------------------------------------------------ Align 16 SUB_L004A1D80: mov eax,[esp+04h] mov cl,[esp+0Ch] and eax,000000FFh test [eax+L007B87F9],cl jnz L004A1DB4 mov ecx,[esp+08h] test ecx,ecx jz L004A1DAD xor edx,edx mov dx,[L004D14BA+eax*2] mov eax,edx and eax,ecx jmp L004A1DAF L004A1DAD: xor eax,eax L004A1DAF: test eax,eax jnz L004A1DB4 retn ;------------------------------------------------------------------------------ L004A1DB4: mov eax,00000001h retn ;------------------------------------------------------------------------------ Align 8 SUB_L004A1DC0: push ecx mov edx,[L007B8630] push ebx push ebp push esi mov al,[edx] xor esi,esi test al,al push edi jz L004A1DF0 L004A1DD3: cmp al,3Dh jz L004A1DD8 inc esi L004A1DD8: mov edi,edx or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx mov al,[edx+ecx+01h] lea edx,[edx+ecx+01h] test al,al jnz L004A1DD3 L004A1DF0: lea eax,[00000004h+esi*4] push eax call SUB_L0049D430 mov esi,eax add esp,00000004h test esi,esi mov [esp+10h],esi mov [L007B85E4],esi jnz L004A1E1A push 00000009h call SUB_L0049C910 add esp,00000004h L004A1E1A: mov ebp,[L007B8630] mov dl,[ebp+00h] test dl,dl jz L004A1E8A L004A1E27: mov edi,ebp or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx mov ebx,ecx inc ebx cmp dl,3Dh jz L004A1E80 push ebx call SUB_L0049D430 add esp,00000004h mov [esi],eax test eax,eax jnz L004A1E54 push 00000009h call SUB_L0049C910 add esp,00000004h L004A1E54: mov edi,ebp or ecx,FFFFFFFFh xor eax,eax repne scasb mov eax,[esp+10h] not ecx sub edi,ecx mov edx,ecx mov esi,edi mov edi,[eax] shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h add eax,00000004h rep movsb mov [esp+10h],eax mov esi,eax L004A1E80: mov dl,[ebp+ebx+00h] add ebp,ebx test dl,dl jnz L004A1E27 L004A1E8A: mov eax,[L007B8630] push eax call SUB_L0049C430 add esp,00000004h mov dword ptr [L007B8630],00000000h mov dword ptr [esi],00000000h pop edi pop esi pop ebp pop ebx pop ecx retn ;------------------------------------------------------------------------------ Align 4 SUB_L004A1EB0: sub esp,00000008h push esi push edi push 00000104h push L007B86E8 push 00000000h call [KERNEL32.dll!GetModuleFileNameA] mov edi,[L007B9CEC] mov dword ptr [L007B85F4],L007B86E8 cmp byte ptr [edi],00h jnz L004A1EE1 mov edi,L007B86E8 L004A1EE1: lea eax,[esp+0Ch] lea ecx,[esp+08h] push eax push ecx push 00000000h push 00000000h push edi call SUB_L004A1F50 mov edx,[esp+20h] mov eax,[esp+1Ch] add esp,00000014h lea ecx,[edx+eax*4] push ecx call SUB_L0049D430 mov esi,eax add esp,00000004h test esi,esi jnz L004A1F1C push 00000008h call SUB_L0049C910 add esp,00000004h L004A1F1C: mov ecx,[esp+08h] lea edx,[esp+0Ch] push edx lea eax,[esp+0Ch] lea edx,[esi+ecx*4] push eax push edx push esi push edi call SUB_L004A1F50 mov eax,[esp+1Ch] add esp,00000014h dec eax mov [L007B85DC],esi pop edi mov [L007B85D8],eax pop esi add esp,00000008h retn ;------------------------------------------------------------------------------ Align 4 SUB_L004A1F50: mov eax,[esp+10h] push ebx push ebp mov ebp,[esp+10h] push esi mov esi,[esp+18h] push edi mov edi,[esp+24h] test ebp,ebp mov dword ptr [edi],00000000h mov dword ptr [eax],00000001h mov eax,[esp+14h] mov ebx,00000004h jz L004A1F86 mov [ebp+00h],esi add ebp,ebx mov [esp+18h],ebp L004A1F86: cmp byte ptr [eax],22h jnz L004A1FE1 mov cl,[eax+01h] inc eax cmp cl,22h jz L004A1FCC L004A1F94: test cl,cl jz L004A1FCC and ecx,000000FFh test [ecx+L007B87F9],bl jz L004A1FB5 mov edx,[edi] inc edx test esi,esi mov [edi],edx jz L004A1FB5 mov cl,[eax] mov [esi],cl inc esi inc eax L004A1FB5: mov edx,[edi] inc edx test esi,esi mov [edi],edx jz L004A1FC3 mov dl,[eax] mov [esi],dl inc esi L004A1FC3: mov cl,[eax+01h] inc eax cmp cl,22h jnz L004A1F94 L004A1FCC: mov edx,[edi] inc edx test esi,esi mov [edi],edx jz L004A1FD9 mov byte ptr [esi],00h inc esi L004A1FD9: cmp byte ptr [eax],22h jnz L004A2034 inc eax jmp L004A2034 L004A1FE1: mov edx,[edi] inc edx test esi,esi mov [edi],edx jz L004A1FEF mov cl,[eax] mov [esi],cl inc esi L004A1FEF: mov cl,[eax] inc eax mov [esp+24h],cl mov edx,[esp+24h] and edx,000000FFh test [edx+L007B87F9],bl jz L004A2017 mov edx,[edi] inc edx test esi,esi mov [edi],edx jz L004A2016 mov dl,[eax] mov [esi],dl inc esi L004A2016: inc eax L004A2017: cmp cl,20h jz L004A2025 test cl,cl jz L004A2029 cmp cl,09h jnz L004A1FE1 L004A2025: test cl,cl jnz L004A202C L004A2029: dec eax jmp L004A2034 L004A202C: test esi,esi jz L004A2034 mov byte ptr [esi-01h],00h L004A2034: xor edx,edx mov [esp+24h],edx L004A203A: cmp byte ptr [eax],00h jz L004A2146 L004A2043: mov cl,[eax] cmp cl,20h jz L004A204F cmp cl,09h jnz L004A2052 L004A204F: inc eax jmp L004A2043 L004A2052: cmp byte ptr [eax],00h jz L004A2146 test ebp,ebp jz L004A2068 mov [ebp+00h],esi add ebp,ebx mov [esp+18h],ebp L004A2068: mov ecx,[esp+20h] inc [ecx] L004A206E: mov bl,[eax] xor ecx,ecx cmp bl,5Ch mov ebp,00000001h jnz L004A2086 L004A207C: mov bl,[eax+01h] inc eax inc ecx cmp bl,5Ch jz L004A207C L004A2086: cmp byte ptr [eax],22h jnz L004A20B0 test cl,01h jnz L004A20AE test edx,edx jz L004A209D cmp byte ptr [eax+01h],22h jnz L004A209D inc eax jmp L004A209F L004A209D: xor ebp,ebp L004A209F: mov ebx,[esp+24h] xor edx,edx test ebx,ebx setz dl mov [esp+24h],edx L004A20AE: shr ecx,1 L004A20B0: mov ebx,ecx dec ecx test ebx,ebx jz L004A20C8 inc ecx L004A20B8: test esi,esi jz L004A20C0 mov byte ptr [esi],5Ch inc esi L004A20C0: mov ebx,[edi] inc ebx dec ecx mov [edi],ebx jnz L004A20B8 L004A20C8: mov cl,[eax] test cl,cl jz L004A212B test edx,edx jnz L004A20DC cmp cl,20h jz L004A212B cmp cl,09h jz L004A212B L004A20DC: test ebp,ebp jz L004A2125 test esi,esi jz L004A210E mov ebx,ecx and ebx,000000FFh test byte ptr [ebx+L007B87F9],04h jz L004A20FE mov [esi],cl mov ecx,[edi] inc esi inc eax inc ecx mov [edi],ecx L004A20FE: mov cl,[eax] mov [esi],cl mov ecx,[edi] inc esi inc ecx mov [edi],ecx inc eax jmp L004A206E L004A210E: and ecx,000000FFh test byte ptr [ecx+L007B87F9],04h jz L004A2123 mov ecx,[edi] inc eax inc ecx mov [edi],ecx L004A2123: inc [edi] L004A2125: inc eax jmp L004A206E L004A212B: test esi,esi jz L004A2133 mov byte ptr [esi],00h inc esi L004A2133: mov ecx,[edi] mov ebp,[esp+18h] inc ecx mov ebx,00000004h mov [edi],ecx jmp L004A203A L004A2146: test ebp,ebp jz L004A2151 mov dword ptr [ebp+00h],00000000h L004A2151: mov eax,[esp+20h] pop edi pop esi pop ebp mov ecx,[eax] pop ebx inc ecx mov [eax],ecx retn ;------------------------------------------------------------------------------ Align 4 SUB_L004A2160: mov eax,[L007B87F0] push ebx push ebp mov ebp,[KERNEL32.dll!GetEnvironmentStrings] push esi xor esi,esi xor ebx,ebx push edi mov edi,[KERNEL32.dll!GetEnvironmentStringsW] test eax,eax jnz L004A21A2 call edi mov esi,eax test esi,esi jz L004A218C mov eax,00000001h jmp L004A219D L004A218C: call ebp mov ebx,eax test ebx,ebx jz L004A22AF mov eax,00000002h L004A219D: mov [L007B87F0],eax L004A21A2: cmp eax,00000001h jnz L004A2242 test esi,esi jnz L004A21BB call edi mov esi,eax test esi,esi jz L004A22AF L004A21BB: cmp word ptr [esi],0000h mov eax,esi jz L004A21D5 L004A21C3: add eax,00000002h cmp word ptr [eax],0000h jnz L004A21C3 add eax,00000002h cmp word ptr [eax],0000h jnz L004A21C3 L004A21D5: sub eax,esi push 00000000h sar eax,1 inc eax push 00000000h mov ebp,eax push 00000000h push 00000000h push ebp push esi push 00000000h push 00000000h call [KERNEL32.dll!WideCharToMultiByte] mov edi,eax test edi,edi jz L004A2234 push edi call SUB_L0049D430 mov ebx,eax add esp,00000004h test ebx,ebx jz L004A2234 push 00000000h push 00000000h push edi push ebx push ebp push esi push 00000000h push 00000000h call [KERNEL32.dll!WideCharToMultiByte] test eax,eax jnz L004A2226 push ebx call SUB_L0049C430 add esp,00000004h xor ebx,ebx L004A2226: push esi call [KERNEL32.dll!FreeEnvironmentStringsW] mov eax,ebx pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ L004A2234: push esi call [KERNEL32.dll!FreeEnvironmentStringsW] xor eax,eax pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ L004A2242: cmp eax,00000002h jnz L004A22AF test ebx,ebx jnz L004A2253 call ebp mov ebx,eax test ebx,ebx jz L004A22AF L004A2253: mov cl,[ebx] mov eax,ebx test cl,cl jz L004A226B L004A225B: mov cl,[eax+01h] inc eax test cl,cl jnz L004A225B mov cl,[eax+01h] inc eax test cl,cl jnz L004A225B L004A226B: sub eax,ebx inc eax mov esi,eax push esi call SUB_L0049D430 mov ebp,eax add esp,00000004h test ebp,ebp jnz L004A228D push ebx call [KERNEL32.dll!FreeEnvironmentStringsA] xor eax,eax pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ L004A228D: mov ecx,esi mov esi,ebx mov eax,ecx mov edi,ebp shr ecx,02h rep movsd mov ecx,eax push ebx and ecx,00000003h rep movsb call [KERNEL32.dll!FreeEnvironmentStringsA] mov eax,ebp pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ L004A22AF: pop edi pop esi pop ebp xor eax,eax pop ebx retn ;------------------------------------------------------------------------------ Align 16 SUB_L004A22C0: sub esp,00000014h push ebx push ebp push esi push edi push 00000019h call SUB_L0049C9A0 mov eax,[esp+2Ch] add esp,00000004h push eax call SUB_L004A24F0 mov ecx,eax mov eax,[L007B8A00] add esp,00000004h cmp ecx,eax mov [esp+28h],ecx jnz L004A2301 push 00000019h call SUB_L0049CA20 add esp,00000004h xor eax,eax pop edi pop esi pop ebp pop ebx add esp,00000014h retn ;------------------------------------------------------------------------------ L004A2301: test ecx,ecx jnz L004A2323 call SUB_L004A25A0 call SUB_L004A25E0 push 00000019h call SUB_L0049CA20 add esp,00000004h xor eax,eax pop edi pop esi pop ebp pop ebx add esp,00000014h retn ;------------------------------------------------------------------------------ L004A2323: xor edx,edx mov eax,L004D37E8 L004A232A: cmp [eax],ecx jz L004A2440 add eax,00000030h inc edx cmp eax,L004D38D8 jc L004A232A lea edx,[esp+10h] push edx push ecx call [KERNEL32.dll!GetCPInfo] mov esi,00000001h cmp eax,esi jnz L004A2404 mov ecx,00000040h xor eax,eax mov edi,L007B87F8 rep stosd mov ecx,[esp+10h] stosb mov edi,[esp+28h] xor eax,eax cmp ecx,esi mov [L007B8A00],edi mov [L007B8A04],eax jbe L004A23EC mov al,[esp+16h] test al,al jz L004A23BD lea edx,[esp+17h] L004A238A: mov cl,[edx] test cl,cl jz L004A23BD xor eax,eax and ecx,000000FFh mov al,[edx-01h] cmp eax,ecx ja L004A23B3 L004A239F: mov bl,[eax+L007B87F9] or bl,04h mov [eax+L007B87F9],bl inc eax cmp eax,ecx jbe L004A239F L004A23B3: mov al,[edx+01h] add edx,00000002h test al,al jnz L004A238A L004A23BD: mov eax,esi L004A23BF: mov bl,[eax+L007B87F9] or bl,08h mov [eax+L007B87F9],bl inc eax cmp eax,000000FFh jc L004A23BF push edi call SUB_L004A2540 add esp,00000004h mov [L007B8A04],eax mov [L007B9BC4],esi jmp L004A23F1 L004A23EC: mov [L007B9BC4],eax L004A23F1: xor eax,eax mov [L007B8A08],eax mov [L007B8A0C],eax mov [L007B8A10],eax jmp L004A2412 L004A2404: mov eax,[L007B8A14] test eax,eax jz L004A242B call SUB_L004A25A0 L004A2412: call SUB_L004A25E0 push 00000019h call SUB_L0049CA20 add esp,00000004h xor eax,eax pop edi pop esi pop ebp pop ebx add esp,00000014h retn ;------------------------------------------------------------------------------ L004A242B: push 00000019h call SUB_L0049CA20 add esp,00000004h or eax,FFFFFFFFh pop edi pop esi pop ebp pop ebx add esp,00000014h retn ;------------------------------------------------------------------------------ L004A2440: mov ecx,00000040h xor eax,eax mov edi,L007B87F8 lea ebx,[edx+edx*2] rep stosd stosb xor edi,edi shl ebx,04h lea ebp,[ebx+L004D37F8] L004A245D: mov al,[ebp+00h] mov esi,ebp test al,al jz L004A2496 L004A2466: mov cl,[esi+01h] test cl,cl jz L004A2496 xor eax,eax and ecx,000000FFh mov al,[esi] cmp eax,ecx ja L004A248C mov dl,[edi+L004D37E0] L004A2481: or [eax+L007B87F9],dl inc eax cmp eax,ecx jbe L004A2481 L004A248C: mov al,[esi+02h] add esi,00000002h test al,al jnz L004A2466 L004A2496: inc edi add ebp,00000008h cmp edi,00000004h jc L004A245D mov eax,[esp+28h] mov dword ptr [L007B9BC4],00000001h push eax mov [L007B8A00],eax call SUB_L004A2540 mov ecx,[ebx+L004D37EC] mov edx,[ebx+L004D37F0] mov [L007B8A04],eax lea eax,[ebx+L004D37EC] add esp,00000004h mov [L007B8A08],ecx mov eax,[eax+08h] mov [L007B8A0C],edx mov [L007B8A10],eax jmp L004A2412 Align 8 SUB_L004A24F0: mov eax,[esp+04h] mov dword ptr [L007B8A14],00000000h cmp eax,FFFFFFFEh jnz L004A2513 mov dword ptr [L007B8A14],00000001h jmp_KERNEL32.dll!GetOEMCP: jmp [KERNEL32.dll!GetOEMCP] L004A2513: cmp eax,FFFFFFFDh jnz L004A2528 mov dword ptr [L007B8A14],00000001h jmp_KERNEL32.dll!GetACP: jmp [KERNEL32.dll!GetACP] L004A2528: cmp eax,FFFFFFFCh jnz L004A253C mov eax,[L007B86C8] mov dword ptr [L007B8A14],00000001h L004A253C: retn ;------------------------------------------------------------------------------ Align 4 SUB_L004A2540: mov eax,[esp+04h] add eax,FFFFFC5Ch cmp eax,00000012h ja CASE_004A2578_PROC0004 xor ecx,ecx mov cl,[eax+CASE_004A258C] jmp [CASE_PROCTABLE_004A2578+ecx*4] CASE_004A2578_PROC0000: mov eax,00000411h retn ;------------------------------------------------------------------------------ CASE_004A2578_PROC0001: mov eax,00000804h retn ;------------------------------------------------------------------------------ CASE_004A2578_PROC0002: mov eax,00000412h retn ;------------------------------------------------------------------------------ CASE_004A2578_PROC0003: mov eax,00000404h retn ;------------------------------------------------------------------------------ CASE_004A2578_PROC0004: xor eax,eax retn ;------------------------------------------------------------------------------ CASE_PROCTABLE_004A2578: dd CASE_004A2578_PROC0000 dd CASE_004A2578_PROC0001 dd CASE_004A2578_PROC0002 dd CASE_004A2578_PROC0003 dd CASE_004A2578_PROC0004 CASE_004A258C: db 00h, 04h, 04h, 04h, 01h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h db 04h, 02h, 03h Align 4 SUB_L004A25A0: push edi mov ecx,00000040h xor eax,eax mov edi,L007B87F8 rep stosd stosb xor eax,eax pop edi mov [L007B8A00],eax mov [L007B9BC4],eax mov [L007B8A04],eax mov [L007B8A08],eax mov [L007B8A0C],eax mov [L007B8A10],eax retn ;------------------------------------------------------------------------------ Align 16 SUB_L004A25E0: mov ecx,[L007B8A00] sub esp,00000514h lea eax,[esp+00h] push ebx push eax push ecx call [KERNEL32.dll!GetCPInfo] cmp eax,00000001h jnz L004A2754 push edi push esi xor eax,eax L004A2606: mov [esp+eax+20h],al inc eax cmp eax,00000100h jc L004A2606 mov al,[esp+12h] mov byte ptr [esp+20h],20h test al,al jz L004A2654 lea edx,[esp+13h] L004A2623: xor ecx,ecx and eax,000000FFh mov cl,[edx] cmp eax,ecx ja L004A264A sub ecx,eax lea edi,[esp+eax+20h] inc ecx mov eax,20202020h mov esi,ecx shr ecx,02h rep stosd mov ecx,esi and ecx,00000003h rep stosb L004A264A: mov al,[edx+01h] add edx,00000002h test al,al jnz L004A2623 L004A2654: mov edx,[L007B8A04] mov eax,[L007B8A00] push 00000000h push edx lea ecx,[esp+00000328h] push eax push ecx lea edx,[esp+30h] push 00000100h push edx push 00000001h call SUB_L004A4A90 mov eax,[L007B8A00] add esp,0000001Ch lea ecx,[esp+00000120h] lea edx,[esp+20h] push 00000000h push eax mov eax,[L007B8A04] push 00000100h push ecx push 00000100h push edx push 00000100h push eax call SUB_L0049EE20 mov ecx,[L007B8A00] add esp,00000020h lea edx,[esp+00000220h] lea eax,[esp+20h] push 00000000h push ecx mov ecx,[L007B8A04] push 00000100h push edx push 00000100h push eax push 00000200h push ecx call SUB_L0049EE20 add esp,00000020h xor eax,eax lea edx,[esp+00000320h] mov bl,10h L004A26F0: mov cx,[edx] test cl,01h jz L004A2715 mov cl,[eax+L007B87F9] or cl,bl mov [eax+L007B87F9],cl mov cl,[esp+eax+00000120h] mov [eax+L007B8900],cl jmp L004A273F L004A2715: test cl,02h jz L004A2738 mov cl,[eax+L007B87F9] or cl,20h mov [eax+L007B87F9],cl mov cl,[esp+eax+00000220h] mov [eax+L007B8900],cl jmp L004A273F L004A2738: mov byte ptr [eax+L007B8900],00h L004A273F: inc eax add edx,00000002h cmp eax,00000100h jc L004A26F0 pop esi pop edi pop ebx add esp,00000514h retn ;------------------------------------------------------------------------------ L004A2754: xor eax,eax mov bl,10h L004A2758: cmp eax,00000041h jc L004A277D cmp eax,0000005Ah ja L004A277D mov dl,[eax+L007B87F9] or dl,bl mov [eax+L007B87F9],dl mov dl,al add dl,20h mov [eax+L007B8900],dl jmp L004A27AA L004A277D: cmp eax,00000061h jc L004A27A3 cmp eax,0000007Ah ja L004A27A3 mov cl,[eax+L007B87F9] or cl,20h mov [eax+L007B87F9],cl mov cl,al sub cl,20h mov [eax+L007B8900],cl jmp L004A27AA L004A27A3: mov byte ptr [eax+L007B8900],00h L004A27AA: inc eax cmp eax,00000100h jc L004A2758 pop ebx add esp,00000514h retn ;------------------------------------------------------------------------------ Align 8 SUB_L004A27C0: push FFFFFFFDh call SUB_L004A22C0 add esp,00000004h retn ;------------------------------------------------------------------------------ Align 8 SUB_L004A27D0: mov eax,[L007B8638] cmp eax,00000001h jz L004A27E7 test eax,eax jnz L004A280C cmp dword ptr [L004D1274],00000001h jnz L004A280C L004A27E7: push 000000FCh call SUB_L004A2810 mov eax,[L007B8A18] add esp,00000004h test eax,eax jz L004A27FF call eax L004A27FF: push 000000FFh call SUB_L004A2810 add esp,00000004h L004A280C: retn ;------------------------------------------------------------------------------ Align 4 SUB_L004A2810: mov ecx,[esp+04h] sub esp,000001A8h mov eax,L004D38D8 push ebx push ebp push esi push edi xor ebp,ebp L004A2825: cmp ecx,[eax] jz L004A2834 add eax,00000008h inc ebp cmp eax,L004D3968 jc L004A2825 L004A2834: cmp ecx,[L004D38D8+ebp*8] jnz L004A29DB mov eax,[L007B8638] cmp eax,00000001h jz L004A299D test eax,eax jnz L004A2860 cmp dword ptr [L004D1274],00000001h jz L004A299D L004A2860: cmp ecx,000000FCh jz L004A29DB lea eax,[esp+000000B4h] push 00000104h push eax push 00000000h call [KERNEL32.dll!GetModuleFileNameA] test eax,eax jnz L004A289B mov ecx,00000005h mov esi,SSZ004BD524__program_name_unknown_ lea edi,[esp+000000B4h] rep movsd movsw movsb L004A289B: lea edi,[esp+000000B4h] or ecx,FFFFFFFFh xor eax,eax lea ebx,[esp+000000B4h] repne scasb not ecx cmp ecx,0000003Ch jbe L004A28E4 lea edi,[esp+000000B4h] or ecx,FFFFFFFFh repne scasb not ecx dec ecx push 00000003h mov ebx,ecx lea ecx,[esp+000000B8h] sub ecx,0000003Bh push L004BD520 add ebx,ecx push ebx call SUB_L0049B200 add esp,0000000Ch L004A28E4: mov ecx,00000006h mov esi,SSZ004BD504_Runtime_Error___Program__ lea edi,[esp+14h] xor eax,eax rep movsd movsw or ecx,FFFFFFFFh mov edi,ebx repne scasb not ecx sub edi,ecx lea edx,[esp+14h] mov ebx,ecx mov esi,edi or ecx,FFFFFFFFh mov edi,edx repne scasb mov ecx,ebx dec edi shr ecx,02h rep movsd mov ecx,ebx lea edx,[esp+14h] and ecx,00000003h push 00012010h rep movsb mov edi,L004BD500 or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx push SSZ004BD4D8_Microsoft_Visual_C___Runtime_Lib mov esi,edi mov ebx,ecx mov edi,edx or ecx,FFFFFFFFh repne scasb mov ecx,ebx dec edi shr ecx,02h rep movsd mov ecx,ebx lea edx,[esp+1Ch] and ecx,00000003h rep movsb mov edi,[L004D38DC+ebp*8] or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov esi,edi mov ebx,ecx mov edi,edx or ecx,FFFFFFFFh repne scasb mov ecx,ebx dec edi shr ecx,02h rep movsd mov ecx,ebx lea eax,[esp+1Ch] and ecx,00000003h push eax rep movsb call SUB_L004A6490 add esp,0000000Ch pop edi pop esi pop ebp pop ebx add esp,000001A8h retn ;------------------------------------------------------------------------------ L004A299D: mov eax,[L007B9BE0] test eax,eax jz L004A29AE mov esi,[eax+48h] cmp esi,FFFFFFFFh jnz L004A29B8 L004A29AE: push FFFFFFF4h call [KERNEL32.dll!GetStdHandle] mov esi,eax L004A29B8: mov edx,[L004D38DC+ebp*8] lea ecx,[esp+10h] push 00000000h push ecx mov edi,edx or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx push ecx push edx push esi call [KERNEL32.dll!WriteFile] L004A29DB: pop edi pop esi pop ebp pop ebx add esp,000001A8h retn ;------------------------------------------------------------------------------ db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' mov eax,[L007B9BC0] push esi test eax,eax jnz L004A2A01 mov eax,00000200h jmp L004A2A0B L004A2A01: cmp eax,00000014h jge L004A2A10 mov eax,00000014h L004A2A0B: mov [L007B9BC0],eax L004A2A10: push 00000004h push eax call SUB_L0049C380 add esp,00000008h mov [L007B8BA8],eax test eax,eax jnz L004A2A52 push 00000004h push 00000014h mov dword ptr [L007B9BC0],00000014h call SUB_L0049C380 add esp,00000008h mov [L007B8BA8],eax test eax,eax jnz L004A2A52 push 0000001Ah call SUB_L0049C910 mov eax,[L007B8BA8] add esp,00000004h L004A2A52: xor edx,edx mov ecx,L004D3968 jmp L004A2A60 L004A2A5B: mov eax,[L007B8BA8] L004A2A60: mov [eax+edx],ecx add ecx,00000020h add edx,00000004h cmp ecx,L004D3BE8 jl L004A2A5B xor ecx,ecx mov edx,L004D3978 L004A2A78: mov esi,ecx mov eax,ecx sar esi,05h and eax,0000001Fh mov esi,[L007B9BE0+esi*4] lea eax,[eax+eax*8] mov eax,[esi+eax*4] cmp eax,FFFFFFFFh jz L004A2A98 test eax,eax jnz L004A2A9E L004A2A98: mov dword ptr [edx],FFFFFFFFh L004A2A9E: add edx,00000020h inc ecx cmp edx,L004D39D8 jl L004A2A78 pop esi retn ;------------------------------------------------------------------------------ db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' call SUB_L0049CD10 mov al,[L007B85FC] test al,al jz L004A2AC3 jmp L004A6520 L004A2AC3: retn ;------------------------------------------------------------------------------ Align 16 SUB_L004A2AD0: sub esp,00000008h push ebx push ebp push esi push edi push 00000012h mov dword ptr [esp+14h],FFFFFFFFh call SUB_L0049C9A0 xor edi,edi add esp,00000004h mov [esp+14h],edi xor ebx,ebx mov ebp,L007B9BE0 L004A2AF6: mov esi,[ebp+00h] test esi,esi jz L004A2BB7 lea eax,[esi+00000480h] cmp esi,eax jnc L004A2B8F L004A2B0F: test byte ptr [esi+04h],01h jnz L004A2B5B mov eax,[esi+08h] test eax,eax jnz L004A2B44 push 00000011h call SUB_L0049C9A0 mov eax,[esi+08h] add esp,00000004h test eax,eax jnz L004A2B3A lea ecx,[esi+0Ch] push ecx call [KERNEL32.dll!InitializeCriticalSection] inc [esi+08h] L004A2B3A: push 00000011h call SUB_L0049CA20 add esp,00000004h L004A2B44: lea edi,[esi+0Ch] push edi call [KERNEL32.dll!EnterCriticalSection] test byte ptr [esi+04h],01h jz L004A2B6D push edi call [KERNEL32.dll!LeaveCriticalSection] L004A2B5B: mov edx,[ebp+00h] add esi,00000024h add edx,00000480h cmp esi,edx jc L004A2B0F jmp L004A2B8F L004A2B6D: mov dword ptr [esi],FFFFFFFFh mov eax,[ebp+00h] sub esi,eax mov eax,38E38E39h imul esi sar edx,03h mov eax,edx shr eax,1Fh add edx,eax add edx,ebx mov [esp+10h],edx L004A2B8F: cmp dword ptr [esp+10h],FFFFFFFFh jnz L004A2C22 mov edi,[esp+14h] add ebp,00000004h inc edi add ebx,00000020h cmp ebp,L007B9CE0 mov [esp+14h],edi jl L004A2AF6 jmp L004A2C22 L004A2BB7: push 00000480h call SUB_L0049D430 xor edx,edx add esp,00000004h cmp eax,edx jz L004A2C22 mov ebx,[L007B9CE0] lea ecx,[eax+00000480h] add ebx,00000020h cmp eax,ecx mov [L007B9BE0+edi*4],eax mov [L007B9CE0],ebx jnc L004A2C10 mov cl,0Ah L004A2BEC: mov byte ptr [eax+04h],00h mov dword ptr [eax],FFFFFFFFh mov [eax+05h],cl mov [eax+08h],edx mov esi,[L007B9BE0+edi*4] add eax,00000024h add esi,00000480h cmp eax,esi jc L004A2BEC L004A2C10: shl edi,05h mov eax,edi push eax mov [esp+14h],eax call SUB_L004A2DE0 add esp,00000004h L004A2C22: push 00000012h call SUB_L0049CA20 mov eax,[esp+14h] add esp,00000004h pop edi pop esi pop ebp pop ebx add esp,00000008h retn ;------------------------------------------------------------------------------ Align 16 SUB_L004A2C40: mov ecx,[esp+04h] mov eax,[L007B9CE0] push ebx push esi cmp ecx,eax push edi jnc L004A2CC4 mov eax,ecx sar eax,05h lea edi,[L007B9BE0+eax*4] mov eax,ecx and eax,0000001Fh mov edx,[edi] lea esi,[eax+eax*8] shl esi,02h cmp dword ptr [edx+esi],FFFFFFFFh jnz L004A2CC4 mov eax,[L004D1274] mov ebx,[esp+14h] cmp eax,00000001h jnz L004A2CB9 sub ecx,00000000h jz L004A2CB0 dec ecx jz L004A2C9C dec ecx jnz L004A2CB9 push ebx push FFFFFFF4h call [KERNEL32.dll!SetStdHandle] mov eax,[edi] mov [eax+esi],ebx xor eax,eax pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ L004A2C9C: push ebx push FFFFFFF5h call [KERNEL32.dll!SetStdHandle] mov eax,[edi] mov [eax+esi],ebx xor eax,eax pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ L004A2CB0: push ebx push FFFFFFF6h call [KERNEL32.dll!SetStdHandle] L004A2CB9: mov eax,[edi] mov [eax+esi],ebx xor eax,eax pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ L004A2CC4: call SUB_L0049BD30 mov dword ptr [eax],00000009h call SUB_L0049BD40 pop edi mov dword ptr [eax],00000000h pop esi or eax,FFFFFFFFh pop ebx retn ;------------------------------------------------------------------------------ Align 16 SUB_L004A2CF0: mov ecx,[esp+04h] mov eax,[L007B9CE0] push ebx push esi cmp ecx,eax push edi jnc L004A2D66 mov eax,ecx sar eax,05h lea edi,[L007B9BE0+eax*4] mov eax,ecx and eax,0000001Fh mov edx,[edi] lea esi,[eax+eax*8] shl esi,02h mov bl,[edx+esi+04h] lea eax,[edx+esi] mov edx,00000001h test dl,bl jz L004A2D66 cmp dword ptr [eax],FFFFFFFFh jz L004A2D66 cmp [L004D1274],edx jnz L004A2D57 sub ecx,00000000h jz L004A2D4D dec ecx jz L004A2D47 dec ecx jnz L004A2D57 push 00000000h push FFFFFFF4h jmp L004A2D51 L004A2D47: push 00000000h push FFFFFFF5h jmp L004A2D51 L004A2D4D: push 00000000h push FFFFFFF6h L004A2D51: call [KERNEL32.dll!SetStdHandle] L004A2D57: mov eax,[edi] mov dword ptr [eax+esi],FFFFFFFFh xor eax,eax pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ L004A2D66: call SUB_L0049BD30 mov dword ptr [eax],00000009h call SUB_L0049BD40 pop edi mov dword ptr [eax],00000000h pop esi or eax,FFFFFFFFh pop ebx retn ;------------------------------------------------------------------------------ Align 16 SUB_L004A2D90: mov eax,[esp+04h] mov ecx,[L007B9CE0] cmp eax,ecx jnc L004A2DBF mov ecx,eax and eax,0000001Fh sar ecx,05h lea edx,[eax+eax*8] mov eax,[L007B9BE0+ecx*4] mov cl,[eax+edx*4+04h] lea eax,[eax+edx*4] test cl,01h jz L004A2DBF mov eax,[eax] retn ;------------------------------------------------------------------------------ L004A2DBF: call SUB_L0049BD30 mov dword ptr [eax],00000009h call SUB_L0049BD40 mov dword ptr [eax],00000000h or eax,FFFFFFFFh retn ;------------------------------------------------------------------------------ Align 8 SUB_L004A2DE0: mov eax,[esp+04h] push ebx mov ecx,eax and eax,0000001Fh sar ecx,05h push esi push edi mov esi,[L007B9BE0+ecx*4] lea ebx,[L007B9BE0+ecx*4] lea edi,[eax+eax*8] shl edi,02h add esi,edi mov eax,[esi+08h] test eax,eax jnz L004A2E34 push 00000011h call SUB_L0049C9A0 mov eax,[esi+08h] add esp,00000004h test eax,eax jnz L004A2E2A lea edx,[esi+0Ch] push edx call [KERNEL32.dll!InitializeCriticalSection] inc [esi+08h] L004A2E2A: push 00000011h call SUB_L0049CA20 add esp,00000004h L004A2E34: mov eax,[ebx] lea ecx,[eax+edi+0Ch] push ecx call [KERNEL32.dll!EnterCriticalSection] pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ Align 16 SUB_L004A2E50: mov eax,[esp+04h] mov ecx,eax and eax,0000001Fh sar ecx,05h lea edx,[eax+eax*8] mov eax,[L007B9BE0+ecx*4] lea ecx,[eax+edx*4+0Ch] push ecx call [KERNEL32.dll!LeaveCriticalSection] retn ;------------------------------------------------------------------------------ Align 16 SUB_L004A2E80: mov eax,[L007B9CE0] push ebp push esi push edi mov edi,[esp+10h] cmp edi,eax jnc L004A2F0C mov eax,edi sar eax,05h lea ebp,[L007B9BE0+eax*4] mov eax,edi and eax,0000001Fh mov ecx,[ebp+00h] lea esi,[eax+eax*8] shl esi,02h test byte ptr [ecx+esi+04h],01h jz L004A2F0C push edi call SUB_L004A2DE0 mov edx,[ebp+00h] add esp,00000004h test byte ptr [edx+esi+04h],01h jz L004A2EEF push edi call SUB_L004A2D90 add esp,00000004h push eax call [KERNEL32.dll!FlushFileBuffers] test eax,eax jnz L004A2EE2 call [KERNEL32.dll!GetLastError] mov esi,eax jmp L004A2EE4 L004A2EE2: xor esi,esi L004A2EE4: test esi,esi jz L004A2EFD call SUB_L0049BD40 mov [eax],esi L004A2EEF: call SUB_L0049BD30 mov dword ptr [eax],00000009h or esi,FFFFFFFFh L004A2EFD: push edi call SUB_L004A2E50 add esp,00000004h mov eax,esi pop edi pop esi pop ebp retn ;------------------------------------------------------------------------------ L004A2F0C: call SUB_L0049BD30 pop edi mov dword ptr [eax],00000009h pop esi or eax,FFFFFFFFh pop ebp retn ;------------------------------------------------------------------------------ Align 4 SUB_L004A2F20: sub esp,00000014h mov ecx,[esp+1Ch] push ebx push ebp push esi mov dl,80h xor esi,esi test dl,cl push edi mov dword ptr [esp+18h],0000000Ch mov [esp+1Ch],esi jz L004A2F4A mov [esp+20h],esi mov byte ptr [esp+13h],10h jmp L004A2F57 L004A2F4A: mov dword ptr [esp+20h],00000001h mov byte ptr [esp+13h],00h L004A2F57: test ch,80h jnz L004A2F71 test ch,40h jnz L004A2F6D cmp dword ptr [L007B8B60],00008000h jz L004A2F71 L004A2F6D: or [esp+13h],dl L004A2F71: mov eax,ecx and eax,00000003h sub eax,esi jz L004A2F98 dec eax jz L004A2F8E dec eax jnz CASE_004A3274_PROC0004 mov dword ptr [esp+14h],C0000000h jmp L004A2FA0 L004A2F8E: mov dword ptr [esp+14h],40000000h jmp L004A2FA0 L004A2F98: mov dword ptr [esp+14h],80000000h L004A2FA0: mov eax,[esp+30h] add eax,FFFFFFF0h cmp eax,00000030h ja CASE_004A3274_PROC0004 xor ebx,ebx mov bl,[eax+CASE_004A3288] jmp [CASE_PROCTABLE_004A3274+ebx*4] CASE_004A3274_PROC0000: xor ebx,ebx jmp L004A2FD6 CASE_004A3274_PROC0001: mov ebx,00000001h jmp L004A2FD6 CASE_004A3274_PROC0002: mov ebx,00000002h jmp L004A2FD6 CASE_004A3274_PROC0003: mov ebx,00000003h L004A2FD6: mov eax,ecx and eax,00000700h cmp eax,00000100h jg L004A2FF6 jz L004A2FEF cmp eax,esi jz L004A3026 jmp CASE_004A3274_PROC0004 L004A2FEF: mov ebp,00000004h jmp L004A304B L004A2FF6: cmp eax,00000300h jg L004A3012 jz L004A300B cmp eax,00000200h jz L004A3046 jmp CASE_004A3274_PROC0004 L004A300B: mov ebp,00000002h jmp L004A304B L004A3012: cmp eax,00000500h jg L004A302D jz L004A303F cmp eax,00000400h jnz CASE_004A3274_PROC0004 L004A3026: mov ebp,00000003h jmp L004A304B L004A302D: cmp eax,00000600h jz L004A3046 cmp eax,00000700h jnz CASE_004A3274_PROC0004 L004A303F: mov ebp,00000001h jmp L004A304B L004A3046: mov ebp,00000005h L004A304B: test ch,01h mov edi,00000080h jz L004A306C mov esi,[L007B85C4] mov eax,[esp+34h] not esi and eax,esi test dl,al jnz L004A306C mov edi,00000001h L004A306C: test cl,40h jz L004A3084 mov eax,[esp+14h] or edi,04000000h or eax,00010000h mov [esp+14h],eax L004A3084: test ch,10h jz L004A308F or edi,00000100h L004A308F: test cl,20h jz L004A309C or edi,08000000h jmp L004A30A7 L004A309C: test cl,10h jz L004A30A7 or edi,10000000h L004A30A7: call SUB_L004A2AD0 mov esi,eax cmp esi,FFFFFFFFh jnz L004A30D3 call SUB_L0049BD30 mov dword ptr [eax],00000018h call SUB_L0049BD40 mov dword ptr [eax],00000000h or eax,esi pop edi pop esi pop ebp pop ebx add esp,00000014h retn ;------------------------------------------------------------------------------ L004A30D3: mov edx,[esp+14h] mov eax,[esp+28h] push 00000000h push edi lea ecx,[esp+20h] push ebp push ecx push ebx push edx push eax call [KERNEL32.dll!CreateFileA] mov edi,eax cmp edi,FFFFFFFFh jz L004A3106 push edi call [KERNEL32.dll!GetFileType] test eax,eax jnz L004A3129 push edi call [KERNEL32.dll!CloseHandle] L004A3106: call [KERNEL32.dll!GetLastError] push eax call SUB_L0049BCB0 add esp,00000004h push esi call SUB_L004A2E50 add esp,00000004h or eax,FFFFFFFFh pop edi pop esi pop ebp pop ebx add esp,00000014h retn ;------------------------------------------------------------------------------ L004A3129: cmp eax,00000002h jnz L004A3136 mov al,[esp+13h] or al,40h jmp L004A3141 L004A3136: cmp eax,00000003h jnz L004A3145 mov al,[esp+13h] or al,08h L004A3141: mov [esp+13h],al L004A3145: push edi push esi call SUB_L004A2C40 mov bl,[esp+1Bh] mov eax,esi mov ecx,esi or bl,01h and eax,0000001Fh mov [esp+1Bh],bl sar ecx,05h lea edi,[eax+eax*8] mov al,[esp+1Bh] mov edx,[L007B9BE0+ecx*4] lea ebx,[L007B9BE0+ecx*4] mov cl,al add esp,00000008h shl edi,02h and cl,48h mov [edi+edx+04h],al mov [esp+28h],cl jnz L004A3223 test al,80h jz L004A3223 test byte ptr [esp+2Ch],02h jz L004A3223 push 00000002h push FFFFFFFFh push esi call SUB_L0049F510 mov ebp,eax add esp,0000000Ch cmp ebp,FFFFFFFFh jnz L004A31C5 call SUB_L0049BD40 cmp dword ptr [eax],00000083h jz L004A3223 jmp L004A3206 L004A31C5: lea eax,[esp+30h] push 00000001h push eax push esi mov byte ptr [esp+3Ch],00h call SUB_L0049CF50 add esp,0000000Ch test eax,eax jnz L004A31F4 cmp byte ptr [esp+30h],1Ah jnz L004A31F4 push ebp push esi call SUB_L004A65C0 add esp,00000008h cmp eax,FFFFFFFFh jz L004A3206 L004A31F4: push 00000000h push 00000000h push esi call SUB_L0049F510 add esp,0000000Ch cmp eax,FFFFFFFFh jnz L004A3223 L004A3206: push esi call SUB_L0049CB20 add esp,00000004h push esi call SUB_L004A2E50 add esp,00000004h or eax,FFFFFFFFh pop edi pop esi pop ebp pop ebx add esp,00000014h retn ;------------------------------------------------------------------------------ L004A3223: mov al,[esp+28h] test al,al jnz L004A3241 test byte ptr [esp+2Ch],08h jz L004A3241 mov ecx,[ebx] lea eax,[edi+ecx+04h] mov cl,[edi+ecx+04h] or cl,20h mov [eax],cl L004A3241: push esi call SUB_L004A2E50 add esp,00000004h mov eax,esi pop edi pop esi pop ebp pop ebx add esp,00000014h retn ;------------------------------------------------------------------------------ CASE_004A3274_PROC0004: call SUB_L0049BD30 mov dword ptr [eax],00000016h call SUB_L0049BD40 mov [eax],esi pop edi pop esi pop ebp or eax,FFFFFFFFh pop ebx add esp,00000014h retn ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_004A3274: dd CASE_004A3274_PROC0000 dd CASE_004A3274_PROC0001 dd CASE_004A3274_PROC0002 dd CASE_004A3274_PROC0003 dd CASE_004A3274_PROC0004 CASE_004A3288: db 00h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h db 01h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h db 02h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h db 03h Align 8 L004A32C0: push esi mov esi,[esp+08h] mov eax,[esi] cmp dword ptr [eax],E06D7363h jnz L004A32EC cmp dword ptr [eax+10h],00000003h jnz L004A32EC cmp dword ptr [eax+14h],19930520h jnz L004A32EC call SUB_L0049E110 mov eax,00000001h pop esi retn 0004h ;------------------------------------------------------------------------------ L004A32EC: mov eax,[L007B8A24] test eax,eax jz L004A330D push eax call SUB_L004A3390 add esp,00000004h test eax,eax jz L004A330D push esi call [L007B8A24] pop esi retn 0004h ;------------------------------------------------------------------------------ L004A330D: xor eax,eax pop esi retn 0004h ;------------------------------------------------------------------------------ db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' push L004A32C0 call [KERNEL32.dll!SetUnhandledExceptionFilter] mov [L007B8A24],eax retn ;------------------------------------------------------------------------------ db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' mov eax,[L007B8A24] push eax call [KERNEL32.dll!SetUnhandledExceptionFilter] retn ;------------------------------------------------------------------------------ Align 4 SUB_L004A3350: mov eax,[esp+08h] mov ecx,[esp+04h] push esi push eax push ecx mov esi,00000001h call [KERNEL32.dll!IsBadReadPtr] test eax,eax jz L004A336C xor esi,esi L004A336C: mov eax,esi pop esi retn ;------------------------------------------------------------------------------ SUB_L004A3370: mov eax,[esp+08h] mov ecx,[esp+04h] push esi push eax push ecx mov esi,00000001h call [KERNEL32.dll!IsBadWritePtr] test eax,eax jz L004A338C xor esi,esi L004A338C: mov eax,esi pop esi retn ;------------------------------------------------------------------------------ SUB_L004A3390: mov eax,[esp+04h] push esi push eax mov esi,00000001h call [KERNEL32.dll!IsBadCodePtr] test eax,eax jz L004A33A7 xor esi,esi L004A33A7: mov eax,esi pop esi retn ;------------------------------------------------------------------------------ Align 8 SUB_L004A33B0: push ebp mov ebp,esp push edi push esi mov esi,[ebp+0Ch] mov ecx,[ebp+10h] mov edi,[ebp+08h] mov eax,ecx mov edx,ecx add eax,esi cmp edi,esi jbe L004A33D0 cmp edi,eax jc L004A3548 L004A33D0: test edi,00000003h jnz L004A33EC shr ecx,02h and edx,00000003h cmp ecx,00000008h jc L004A340C rep movsd jmp [L004A34F8+edx*4] L004A33EC: mov eax,edi mov edx,00000003h sub ecx,00000004h jc L004A3404 and eax,00000003h add ecx,eax jmp [L004A3410+eax*4] L004A3404: jmp [L004A3508+ecx*4] Align 4 L004A340C: jmp [L004A348C+ecx*4] db 90h; '?' dd L004A3420 dd L004A344C dd L004A3470 L004A3420: and edx,ecx mov al,[esi] mov [edi],al mov al,[esi+01h] mov [edi+01h],al mov al,[esi+02h] shr ecx,02h mov [edi+02h],al add esi,00000003h add edi,00000003h cmp ecx,00000008h jc L004A340C rep movsd jmp [L004A34F8+edx*4] Align 4 L004A344C: and edx,ecx mov al,[esi] mov [edi],al mov al,[esi+01h] shr ecx,02h mov [edi+01h],al add esi,00000002h add edi,00000002h cmp ecx,00000008h jc L004A340C rep movsd jmp [L004A34F8+edx*4] Align 4 L004A3470: and edx,ecx mov al,[esi] mov [edi],al inc esi shr ecx,02h inc edi cmp ecx,00000008h jc L004A340C rep movsd jmp [L004A34F8+edx*4] Align 4 L004A348C: dd L004A34EF dd L004A34DC dd L004A34D4 dd L004A34CC dd L004A34C4 dd L004A34BC dd L004A34B4 dd L004A34AC L004A34AC: mov eax,[esi+ecx*4-1Ch] mov [edi+ecx*4-1Ch],eax L004A34B4: mov eax,[esi+ecx*4-18h] mov [edi+ecx*4-18h],eax L004A34BC: mov eax,[esi+ecx*4-14h] mov [edi+ecx*4-14h],eax L004A34C4: mov eax,[esi+ecx*4-10h] mov [edi+ecx*4-10h],eax L004A34CC: mov eax,[esi+ecx*4-0Ch] mov [edi+ecx*4-0Ch],eax L004A34D4: mov eax,[esi+ecx*4-08h] mov [edi+ecx*4-08h],eax L004A34DC: mov eax,[esi+ecx*4-04h] mov [edi+ecx*4-04h],eax lea eax,[00000000h+ecx*4] add esi,eax add edi,eax L004A34EF: jmp [L004A34F8+edx*4] Align 4 L004A34F8: dd L004A3508 dd L004A3510 dd L004A351C dd L004A3530 L004A3508: mov eax,[ebp+08h] pop esi pop edi leave retn ;------------------------------------------------------------------------------ Align 4 L004A3510: mov al,[esi] mov [edi],al mov eax,[ebp+08h] pop esi pop edi leave retn ;------------------------------------------------------------------------------ Align 4 L004A351C: mov al,[esi] mov [edi],al mov al,[esi+01h] mov [edi+01h],al mov eax,[ebp+08h] pop esi pop edi leave retn ;------------------------------------------------------------------------------ Align 4 L004A3530: mov al,[esi] mov [edi],al mov al,[esi+01h] mov [edi+01h],al mov al,[esi+02h] mov [edi+02h],al mov eax,[ebp+08h] pop esi pop edi leave retn ;------------------------------------------------------------------------------ Align 4 L004A3548: lea esi,[ecx+esi-04h] lea edi,[ecx+edi-04h] test edi,00000003h jnz L004A357C shr ecx,02h and edx,00000003h cmp ecx,00000008h jc L004A3570 std rep movsd cld jmp [L004A3690+edx*4] Align 4 L004A3570: neg ecx jmp [L004A3640+ecx*4] Align 4 L004A357C: mov eax,edi mov edx,00000003h cmp ecx,00000004h jc L004A3594 and eax,00000003h sub ecx,eax jmp [L004A3598+eax*4] L004A3594: jmp [L004A3690+ecx*4] db 90h; '?' dd L004A35A8 dd L004A35C8 dd L004A35F0 L004A35A8: mov al,[esi+03h] and edx,ecx mov [edi+03h],al dec esi shr ecx,02h dec edi cmp ecx,00000008h jc L004A3570 std rep movsd cld jmp [L004A3690+edx*4] Align 4 L004A35C8: mov al,[esi+03h] and edx,ecx mov [edi+03h],al mov al,[esi+02h] shr ecx,02h mov [edi+02h],al sub esi,00000002h sub edi,00000002h cmp ecx,00000008h jc L004A3570 std rep movsd cld jmp [L004A3690+edx*4] Align 4 L004A35F0: mov al,[esi+03h] and edx,ecx mov [edi+03h],al mov al,[esi+02h] mov [edi+02h],al mov al,[esi+01h] shr ecx,02h mov [edi+01h],al sub esi,00000003h sub edi,00000003h cmp ecx,00000008h jc L004A3570 std rep movsd cld jmp [L004A3690+edx*4] Align 4 dd L004A3644 dd L004A364C dd L004A3654 dd L004A365C dd L004A3664 dd L004A366C dd L004A3674 L004A3640: dd L004A3687 L004A3644: mov eax,[esi+ecx*4+1Ch] mov [edi+ecx*4+1Ch],eax L004A364C: mov eax,[esi+ecx*4+18h] mov [edi+ecx*4+18h],eax L004A3654: mov eax,[esi+ecx*4+14h] mov [edi+ecx*4+14h],eax L004A365C: mov eax,[esi+ecx*4+10h] mov [edi+ecx*4+10h],eax L004A3664: mov eax,[esi+ecx*4+0Ch] mov [edi+ecx*4+0Ch],eax L004A366C: mov eax,[esi+ecx*4+08h] mov [edi+ecx*4+08h],eax L004A3674: mov eax,[esi+ecx*4+04h] mov [edi+ecx*4+04h],eax lea eax,[00000000h+ecx*4] add esi,eax add edi,eax L004A3687: jmp [L004A3690+edx*4] Align 4 L004A3690: dd L004A36A0 dd L004A36A8 dd L004A36B8 dd L004A36CC L004A36A0: mov eax,[ebp+08h] pop esi pop edi leave retn ;------------------------------------------------------------------------------ Align 4 L004A36A8: mov al,[esi+03h] mov [edi+03h],al mov eax,[ebp+08h] pop esi pop edi leave retn ;------------------------------------------------------------------------------ Align 4 L004A36B8: mov al,[esi+03h] mov [edi+03h],al mov al,[esi+02h] mov [edi+02h],al mov eax,[ebp+08h] pop esi pop edi leave retn ;------------------------------------------------------------------------------ Align 4 L004A36CC: mov al,[esi+03h] mov [edi+03h],al mov al,[esi+02h] mov [edi+02h],al mov al,[esi+01h] mov [edi+01h],al mov eax,[ebp+08h] pop esi pop edi leave retn ;------------------------------------------------------------------------------ Align 16 SUB_L004A36F0: push 0000000Ah call SUB_L004A2810 add esp,00000004h push 00000016h call SUB_L004A6710 add esp,00000004h push 00000003h call SUB_L0049B0E0 add esp,00000004h retn ;------------------------------------------------------------------------------ Align 4 SUB_L004A3710: mov eax,[esp+04h] mov ecx,[L007B9CE0] cmp eax,ecx jc L004A3721 xor eax,eax retn ;------------------------------------------------------------------------------ L004A3721: mov ecx,eax and eax,0000001Fh sar ecx,05h lea edx,[eax+eax*8] mov eax,[L007B9BE0+ecx*4] mov al,[eax+edx*4+04h] and eax,00000040h retn ;------------------------------------------------------------------------------ Align 8 SUB_L004A3740: push ebx push esi push edi push L007B9CE8 call [KERNEL32.dll!InterlockedIncrement] mov eax,[L007B9CE4] mov edi,[KERNEL32.dll!InterlockedDecrement] test eax,eax jz L004A3775 push L007B9CE8 call edi push 00000013h call SUB_L0049C9A0 add esp,00000004h mov esi,00000001h jmp L004A3777 L004A3775: xor esi,esi L004A3777: mov eax,[esp+14h] mov ecx,[esp+10h] push eax push ecx call SUB_L004A37B0 add esp,00000008h mov ebx,eax test esi,esi jz L004A379F push 00000013h call SUB_L0049CA20 add esp,00000004h mov eax,ebx pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ L004A379F: push L007B9CE8 call edi pop edi mov eax,ebx pop esi pop ebx retn ;------------------------------------------------------------------------------ Align 8 SUB_L004A37B0: mov eax,[esp+04h] test eax,eax jnz L004A37B9 retn ;------------------------------------------------------------------------------ L004A37B9: mov ecx,[L007B86B8] test ecx,ecx jnz L004A37D7 mov cx,[esp+08h] cmp cx,00FFh ja L004A3813 mov [eax],cl mov eax,00000001h retn ;------------------------------------------------------------------------------ L004A37D7: mov edx,[L004D16BC] lea ecx,[esp+04h] push ecx mov ecx,[L007B86C8] push 00000000h push edx push eax lea eax,[esp+18h] push 00000001h push eax push 00000220h push ecx mov dword ptr [esp+24h],00000000h call [KERNEL32.dll!WideCharToMultiByte] test eax,eax jz L004A3813 mov ecx,[esp+04h] test ecx,ecx jz L004A3821 L004A3813: call SUB_L0049BD30 mov dword ptr [eax],0000002Ah or eax,FFFFFFFFh L004A3821: retn ;------------------------------------------------------------------------------ Align 16 SUB_L004A3830: push ebx push esi mov eax,[esp+18h] or eax,eax jnz L004A3852 mov ecx,[esp+14h] mov eax,[esp+10h] xor edx,edx div ecx mov ebx,eax mov eax,[esp+0Ch] div ecx mov edx,ebx jmp L004A3893 L004A3852: mov ecx,eax mov ebx,[esp+14h] mov edx,[esp+10h] mov eax,[esp+0Ch] L004A3860: shr ecx,1 rcr ebx,1 shr edx,1 rcr eax,1 or ecx,ecx jnz L004A3860 div ebx mov esi,eax mul [esp+18h] mov ecx,eax mov eax,[esp+14h] mul esi add edx,ecx jc L004A388E cmp edx,[esp+10h] ja L004A388E jc L004A388F cmp eax,[esp+0Ch] jbe L004A388F L004A388E: dec esi L004A388F: xor edx,edx mov eax,esi L004A3893: pop esi pop ebx retn 0010h ;------------------------------------------------------------------------------ Align 16 SUB_L004A38A0: push ebx mov eax,[esp+14h] or eax,eax jnz L004A38C1 mov ecx,[esp+10h] mov eax,[esp+0Ch] xor edx,edx div ecx mov eax,[esp+08h] div ecx mov eax,edx xor edx,edx jmp L004A3911 L004A38C1: mov ecx,eax mov ebx,[esp+10h] mov edx,[esp+0Ch] mov eax,[esp+08h] L004A38CF: shr ecx,1 rcr ebx,1 shr edx,1 rcr eax,1 or ecx,ecx jnz L004A38CF div ebx mov ecx,eax mul [esp+14h] xchg eax,ecx mul [esp+10h] add edx,ecx jc L004A38FA cmp edx,[esp+0Ch] ja L004A38FA jc L004A3902 cmp eax,[esp+08h] jbe L004A3902 L004A38FA: sub eax,[esp+10h] sbb edx,[esp+14h] L004A3902: sub eax,[esp+08h] sbb edx,[esp+0Ch] neg edx neg eax sbb edx,00000000h L004A3911: pop ebx retn 0010h ;------------------------------------------------------------------------------ db CCh; 'Œ' db CCh; 'Œ' db CCh; 'Œ' db CCh; 'Œ' db CCh; 'Œ' db CCh; 'Œ' db CCh; 'Œ' db CCh; 'Œ' db CCh; 'Œ' db CCh; 'Œ' db CCh; 'Œ' mov eax,[L007B86C4] push esi test eax,eax jz L004A3999 push 000000ACh push 00000001h call SUB_L0049C380 mov esi,eax add esp,00000008h test esi,esi jnz L004A3946 mov eax,00000001h pop esi retn ;------------------------------------------------------------------------------ L004A3946: push esi call SUB_L004A39D0 add esp,00000004h test eax,eax jz L004A396C push esi call SUB_L004A3D50 add esp,00000004h push esi call SUB_L0049C430 add esp,00000004h mov eax,00000001h pop esi retn ;------------------------------------------------------------------------------ L004A396C: mov eax,[L007B8A28] mov [L004D457C],esi push eax call SUB_L004A3D50 mov ecx,[L007B8A28] add esp,00000004h push ecx call SUB_L0049C430 add esp,00000004h mov [L007B8A28],esi xor eax,eax pop esi retn ;------------------------------------------------------------------------------ L004A3999: mov edx,[L007B8A28] mov dword ptr [L004D457C],L004D44D0 push edx call SUB_L004A3D50 mov eax,[L007B8A28] add esp,00000004h push eax call SUB_L0049C430 add esp,00000004h mov dword ptr [L007B8A28],00000000h xor eax,eax pop esi retn ;------------------------------------------------------------------------------ Align 4 SUB_L004A39D0: push ebx push ebp push edi mov edi,[esp+10h] xor ebx,ebx xor ebp,ebp mov bx,[L007B8A66] mov bp,[L007B8A68] test edi,edi jnz L004A39F4 or eax,FFFFFFFFh pop edi pop ebp pop ebx retn ;------------------------------------------------------------------------------ L004A39F4: lea eax,[edi+04h] push esi push eax push 00000031h push ebx push 00000001h call SUB_L004A6960 add esp,00000010h lea ecx,[edi+08h] mov esi,eax push ecx push 00000032h push ebx push 00000001h call SUB_L004A6960 add esp,00000010h lea edx,[edi+0Ch] or esi,eax push edx push 00000033h push ebx push 00000001h call SUB_L004A6960 add esp,00000010h or esi,eax lea eax,[edi+10h] push eax push 00000034h push ebx push 00000001h call SUB_L004A6960 add esp,00000010h lea ecx,[edi+14h] or esi,eax push ecx push 00000035h push ebx push 00000001h call SUB_L004A6960 add esp,00000010h lea edx,[edi+18h] or esi,eax push edx push 00000036h push ebx push 00000001h call SUB_L004A6960 add esp,00000010h or esi,eax push edi push 00000037h push ebx push 00000001h call SUB_L004A6960 add esp,00000010h or esi,eax lea eax,[edi+20h] push eax push 0000002Ah push ebx push 00000001h call SUB_L004A6960 add esp,00000010h lea ecx,[edi+24h] or esi,eax push ecx push 0000002Bh push ebx push 00000001h call SUB_L004A6960 add esp,00000010h lea edx,[edi+28h] or esi,eax push edx push 0000002Ch push ebx push 00000001h call SUB_L004A6960 add esp,00000010h or esi,eax lea eax,[edi+2Ch] push eax push 0000002Dh push ebx push 00000001h call SUB_L004A6960 add esp,00000010h lea ecx,[edi+30h] or esi,eax push ecx push 0000002Eh push ebx push 00000001h call SUB_L004A6960 add esp,00000010h lea edx,[edi+34h] or esi,eax push edx push 0000002Fh push ebx push 00000001h call SUB_L004A6960 add esp,00000010h or esi,eax lea eax,[edi+1Ch] push eax push 00000030h push ebx push 00000001h call SUB_L004A6960 add esp,00000010h lea ecx,[edi+38h] or esi,eax push ecx push 00000044h push ebx push 00000001h call SUB_L004A6960 add esp,00000010h lea edx,[edi+3Ch] or esi,eax push edx push 00000045h push ebx push 00000001h call SUB_L004A6960 add esp,00000010h or esi,eax lea eax,[edi+40h] push eax push 00000046h push ebx push 00000001h call SUB_L004A6960 add esp,00000010h lea ecx,[edi+44h] or esi,eax push ecx push 00000047h push ebx push 00000001h call SUB_L004A6960 add esp,00000010h lea edx,[edi+48h] or esi,eax push edx push 00000048h push ebx push 00000001h call SUB_L004A6960 add esp,00000010h or esi,eax lea eax,[edi+4Ch] push eax push 00000049h push ebx push 00000001h call SUB_L004A6960 add esp,00000010h lea ecx,[edi+50h] or esi,eax push ecx push 0000004Ah push ebx push 00000001h call SUB_L004A6960 add esp,00000010h lea edx,[edi+54h] or esi,eax push edx push 0000004Bh push ebx push 00000001h call SUB_L004A6960 add esp,00000010h or esi,eax lea eax,[edi+58h] push eax push 0000004Ch push ebx push 00000001h call SUB_L004A6960 add esp,00000010h lea ecx,[edi+5Ch] or esi,eax push ecx push 0000004Dh push ebx push 00000001h call SUB_L004A6960 add esp,00000010h lea edx,[edi+60h] or esi,eax push edx push 0000004Eh push ebx push 00000001h call SUB_L004A6960 add esp,00000010h or esi,eax lea eax,[edi+64h] push eax push 0000004Fh push ebx push 00000001h call SUB_L004A6960 add esp,00000010h lea ecx,[edi+68h] or esi,eax push ecx push 00000038h push ebx push 00000001h call SUB_L004A6960 add esp,00000010h lea edx,[edi+6Ch] or esi,eax push edx push 00000039h push ebx push 00000001h call SUB_L004A6960 add esp,00000010h or esi,eax lea eax,[edi+70h] push eax push 0000003Ah push ebx push 00000001h call SUB_L004A6960 add esp,00000010h lea ecx,[edi+74h] or esi,eax push ecx push 0000003Bh push ebx push 00000001h call SUB_L004A6960 add esp,00000010h lea edx,[edi+78h] or esi,eax push edx push 0000003Ch push ebx push 00000001h call SUB_L004A6960 add esp,00000010h or esi,eax lea eax,[edi+7Ch] push eax push 0000003Dh push ebx push 00000001h call SUB_L004A6960 add esp,00000010h lea ecx,[edi+00000080h] or esi,eax push ecx push 0000003Eh push ebx push 00000001h call SUB_L004A6960 add esp,00000010h lea edx,[edi+00000084h] or esi,eax push edx push 0000003Fh push ebx push 00000001h call SUB_L004A6960 add esp,00000010h or esi,eax lea eax,[edi+00000088h] push eax push 00000040h push ebx push 00000001h call SUB_L004A6960 add esp,00000010h lea ecx,[edi+0000008Ch] or esi,eax push ecx push 00000041h push ebx push 00000001h call SUB_L004A6960 add esp,00000010h lea edx,[edi+00000090h] or esi,eax push edx push 00000042h push ebx push 00000001h call SUB_L004A6960 add esp,00000010h or esi,eax lea eax,[edi+00000094h] push eax push 00000043h push ebx push 00000001h call SUB_L004A6960 add esp,00000010h lea ecx,[edi+00000098h] or esi,eax push ecx push 00000028h push ebx push 00000001h call SUB_L004A6960 add esp,00000010h lea edx,[edi+0000009Ch] or esi,eax push edx push 00000029h push ebx push 00000001h call SUB_L004A6960 add esp,00000010h or esi,eax lea eax,[edi+000000A0h] push eax push 0000001Fh push ebp push 00000001h call SUB_L004A6960 add esp,00000010h lea ecx,[edi+000000A4h] or esi,eax push ecx push 00000020h push ebp push 00000001h call SUB_L004A6960 add esp,00000010h or esi,eax push edi push ebp call SUB_L004A3F90 add esp,00000008h or esi,eax mov eax,esi pop esi pop edi pop ebp pop ebx retn ;------------------------------------------------------------------------------ Align 16 SUB_L004A3D50: push esi mov esi,[esp+08h] test esi,esi jz L004A3F81 mov eax,[esi+04h] push eax call SUB_L0049C430 mov ecx,[esi+08h] add esp,00000004h push ecx call SUB_L0049C430 mov edx,[esi+0Ch] add esp,00000004h push edx call SUB_L0049C430 mov eax,[esi+10h] add esp,00000004h push eax call SUB_L0049C430 mov ecx,[esi+14h] add esp,00000004h push ecx call SUB_L0049C430 mov edx,[esi+18h] add esp,00000004h push edx call SUB_L0049C430 mov eax,[esi] add esp,00000004h push eax call SUB_L0049C430 mov ecx,[esi+20h] add esp,00000004h push ecx call SUB_L0049C430 mov edx,[esi+24h] add esp,00000004h push edx call SUB_L0049C430 mov eax,[esi+28h] add esp,00000004h push eax call SUB_L0049C430 mov ecx,[esi+2Ch] add esp,00000004h push ecx call SUB_L0049C430 mov edx,[esi+30h] add esp,00000004h push edx call SUB_L0049C430 mov eax,[esi+34h] add esp,00000004h push eax call SUB_L0049C430 mov ecx,[esi+1Ch] add esp,00000004h push ecx call SUB_L0049C430 mov edx,[esi+38h] add esp,00000004h push edx call SUB_L0049C430 mov eax,[esi+3Ch] add esp,00000004h push eax call SUB_L0049C430 mov ecx,[esi+40h] add esp,00000004h push ecx call SUB_L0049C430 mov edx,[esi+44h] add esp,00000004h push edx call SUB_L0049C430 mov eax,[esi+48h] add esp,00000004h push eax call SUB_L0049C430 mov ecx,[esi+4Ch] add esp,00000004h push ecx call SUB_L0049C430 mov edx,[esi+50h] add esp,00000004h push edx call SUB_L0049C430 mov eax,[esi+54h] add esp,00000004h push eax call SUB_L0049C430 mov ecx,[esi+58h] add esp,00000004h push ecx call SUB_L0049C430 mov edx,[esi+5Ch] add esp,00000004h push edx call SUB_L0049C430 mov eax,[esi+60h] add esp,00000004h push eax call SUB_L0049C430 mov ecx,[esi+64h] add esp,00000004h push ecx call SUB_L0049C430 mov edx,[esi+68h] add esp,00000004h push edx call SUB_L0049C430 mov eax,[esi+6Ch] add esp,00000004h push eax call SUB_L0049C430 mov ecx,[esi+70h] add esp,00000004h push ecx call SUB_L0049C430 mov edx,[esi+74h] add esp,00000004h push edx call SUB_L0049C430 mov eax,[esi+78h] add esp,00000004h push eax call SUB_L0049C430 mov ecx,[esi+7Ch] add esp,00000004h push ecx call SUB_L0049C430 mov edx,[esi+00000080h] add esp,00000004h push edx call SUB_L0049C430 mov eax,[esi+00000084h] add esp,00000004h push eax call SUB_L0049C430 mov ecx,[esi+00000088h] add esp,00000004h push ecx call SUB_L0049C430 mov edx,[esi+0000008Ch] add esp,00000004h push edx call SUB_L0049C430 mov eax,[esi+00000090h] add esp,00000004h push eax call SUB_L0049C430 mov ecx,[esi+00000094h] add esp,00000004h push ecx call SUB_L0049C430 mov edx,[esi+00000098h] add esp,00000004h push edx call SUB_L0049C430 mov eax,[esi+0000009Ch] add esp,00000004h push eax call SUB_L0049C430 mov ecx,[esi+000000A0h] add esp,00000004h push ecx call SUB_L0049C430 mov edx,[esi+000000A4h] add esp,00000004h push edx call SUB_L0049C430 mov eax,[esi+000000A8h] add esp,00000004h push eax call SUB_L0049C430 add esp,00000004h L004A3F81: pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L004A3F90: sub esp,00000008h push esi lea eax,[esp+08h] push edi mov edi,[esp+14h] push eax push 00000023h push edi push 00000000h mov dword ptr [esp+1Ch],00000000h mov dword ptr [esp+18h],00000000h call SUB_L004A6960 add esp,00000010h lea ecx,[esp+08h] mov esi,eax push ecx push 00000025h push edi push 00000000h call SUB_L004A6960 add esp,00000010h lea edx,[esp+14h] or esi,eax push edx push 0000001Eh push edi push 00000001h call SUB_L004A6960 add esp,00000010h or esi,eax jz L004A3FEF mov eax,esi pop edi pop esi add esp,00000008h retn ;------------------------------------------------------------------------------ L004A3FEF: push 0000000Dh call SUB_L0049D430 mov ecx,[esp+1Ch] add esp,00000004h mov [ecx+000000A8h],eax mov ecx,[esp+0Ch] test ecx,ecx jz L004A401C mov byte ptr [eax],48h mov ecx,[esp+08h] inc eax test ecx,ecx jz L004A402C mov byte ptr [eax],48h jmp L004A402B L004A401C: mov byte ptr [eax],68h mov ecx,[esp+08h] inc eax test ecx,ecx jz L004A402C mov byte ptr [eax],68h L004A402B: inc eax L004A402C: mov edx,[esp+14h] mov cl,[edx] test cl,cl jz L004A4041 L004A4036: mov [eax],cl mov cl,[edx+01h] inc eax inc edx test cl,cl jnz L004A4036 L004A4041: mov byte ptr [eax],6Dh mov ecx,[esp+08h] inc eax test ecx,ecx jz L004A4051 mov byte ptr [eax],6Dh inc eax L004A4051: mov edx,[esp+14h] mov cl,[edx] test cl,cl jz L004A4066 L004A405B: mov [eax],cl mov cl,[edx+01h] inc eax inc edx test cl,cl jnz L004A405B L004A4066: mov byte ptr [eax],73h inc eax mov byte ptr [eax],73h mov byte ptr [eax+01h],00h mov edx,[esp+14h] push edx call SUB_L0049C430 add esp,00000004h xor eax,eax pop edi pop esi add esp,00000008h retn ;------------------------------------------------------------------------------ db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' mov eax,[L007B86C0] push ebx push esi xor ebx,ebx xor esi,esi cmp eax,ebx mov si,[L007B8A62] push edi jz L004A41A9 push L007B8A2C push 0000000Eh push esi push 00000001h call SUB_L004A6960 add esp,00000010h mov edi,eax push L007B8A30 push 0000000Fh push esi push 00000001h call SUB_L004A6960 add esp,00000010h or edi,eax push L007B8A34 push 00000010h push esi push 00000001h call SUB_L004A6960 add esp,00000010h or edi,eax mov eax,[L007B8A34] push eax call SUB_L004A4290 add esp,00000004h cmp edi,ebx jz L004A413E mov ecx,[L007B8A2C] push ecx call SUB_L0049C430 mov edx,[L007B8A30] add esp,00000004h push edx call SUB_L0049C430 mov eax,[L007B8A34] add esp,00000004h push eax call SUB_L0049C430 add esp,00000004h mov [L007B8A2C],ebx mov [L007B8A30],ebx mov [L007B8A34],ebx or eax,FFFFFFFFh pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ L004A413E: mov ecx,[L004D45B8] mov eax,[ecx] cmp eax,L004D4580 jz L004A417A push eax call SUB_L0049C430 mov edx,[L004D45B8] add esp,00000004h mov eax,[edx+04h] push eax call SUB_L0049C430 mov ecx,[L004D45B8] add esp,00000004h mov edx,[ecx+08h] push edx call SUB_L0049C430 add esp,00000004h L004A417A: mov ecx,[L004D45B8] mov eax,[L007B8A2C] mov [ecx],eax mov edx,[L004D45B8] mov eax,[L007B8A30] mov [edx+04h],eax mov ecx,[L004D45B8] mov edx,[L007B8A34] mov [ecx+08h],edx jmp L004A4267 L004A41A9: mov eax,[L007B8A2C] push eax call SUB_L0049C430 mov ecx,[L007B8A30] add esp,00000004h push ecx call SUB_L0049C430 mov edx,[L007B8A34] add esp,00000004h push edx call SUB_L0049C430 add esp,00000004h mov [L007B8A2C],ebx mov [L007B8A30],ebx mov [L007B8A34],ebx push 00000002h call SUB_L0049D430 mov ecx,[L004D45B8] add esp,00000004h mov [ecx],eax mov edx,[L004D45B8] mov eax,[edx] cmp eax,ebx jnz L004A420C or eax,FFFFFFFFh pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ L004A420C: mov cx,[L004C773C] push 00000002h mov [eax],cx call SUB_L0049D430 mov edx,[L004D45B8] add esp,00000004h mov [edx+04h],eax mov eax,[L004D45B8] mov eax,[eax+04h] cmp eax,ebx jnz L004A423C or eax,FFFFFFFFh pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ L004A423C: push 00000002h mov [eax],bl call SUB_L0049D430 mov ecx,[L004D45B8] add esp,00000004h mov [ecx+08h],eax mov edx,[L004D45B8] mov eax,[edx+08h] cmp eax,ebx jnz L004A4265 or eax,FFFFFFFFh pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ L004A4265: mov [eax],bl L004A4267: mov eax,[L004D45B8] pop edi pop esi pop ebx mov ecx,[eax] xor eax,eax mov dl,[ecx] mov dword ptr [L004D16C4],00000001h mov [L004D16C0],dl retn ;------------------------------------------------------------------------------ Align 16 SUB_L004A4290: mov ecx,[esp+04h] mov al,[ecx] test al,al jz L004A42AD L004A429A: cmp al,30h jl L004A42AE cmp al,39h jg L004A42AE sub al,30h mov [ecx],al L004A42A6: inc ecx L004A42A7: mov al,[ecx] test al,al jnz L004A429A L004A42AD: retn ;------------------------------------------------------------------------------ L004A42AE: cmp al,3Bh jnz L004A42A6 mov eax,ecx L004A42B4: mov dl,[eax+01h] mov [eax],dl mov dl,[eax+01h] inc eax test dl,dl jnz L004A42B4 jmp L004A42A7 db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' mov eax,[L007B86BC] push esi test eax,eax jz L004A436B push 00000030h push 00000001h call SUB_L0049C380 mov esi,eax add esp,00000008h test esi,esi jnz L004A42F7 mov eax,00000001h pop esi retn ;------------------------------------------------------------------------------ L004A42F7: push esi call SUB_L004A43C0 add esp,00000004h test eax,eax jz L004A431D push esi call SUB_L004A4510 add esp,00000004h push esi call SUB_L0049C430 add esp,00000004h mov eax,00000001h pop esi retn ;------------------------------------------------------------------------------ L004A431D: mov eax,[L004D45B8] mov ecx,[eax] mov [esi],ecx mov edx,[L004D45B8] mov eax,[edx+04h] mov [esi+04h],eax mov ecx,[L004D45B8] mov edx,[ecx+08h] mov [esi+08h],edx mov eax,[L007B8A38] push eax mov [L004D45B8],esi call SUB_L004A4510 mov ecx,[L007B8A38] add esp,00000004h push ecx call SUB_L0049C430 add esp,00000004h mov [L007B8A38],esi xor eax,eax pop esi retn ;------------------------------------------------------------------------------ L004A436B: mov eax,[L004D45B8] mov edx,[eax] mov [L004D4588],edx mov ecx,[eax+04h] mov [L004D458C],ecx mov edx,[eax+08h] mov eax,[L007B8A38] mov [L004D4590],edx push eax mov dword ptr [L004D45B8],L004D4588 call SUB_L004A4510 mov ecx,[L007B8A38] add esp,00000004h push ecx call SUB_L0049C430 add esp,00000004h mov dword ptr [L007B8A38],00000000h xor eax,eax pop esi retn ;------------------------------------------------------------------------------ Align 4 SUB_L004A43C0: push ebx mov ebx,[esp+08h] push esi xor esi,esi mov si,[L007B8A5C] test ebx,ebx jnz L004A43D9 or eax,FFFFFFFFh pop esi pop ebx retn ;------------------------------------------------------------------------------ L004A43D9: push edi lea eax,[ebx+0Ch] push ebp push eax push 00000015h push esi push 00000001h call SUB_L004A6960 add esp,00000010h lea ecx,[ebx+10h] mov edi,eax push ecx push 00000014h push esi push 00000001h call SUB_L004A6960 add esp,00000010h lea edx,[ebx+14h] or edi,eax push edx push 00000016h push esi push 00000001h call SUB_L004A6960 add esp,00000010h or edi,eax lea eax,[ebx+18h] push eax push 00000017h push esi push 00000001h call SUB_L004A6960 add esp,00000010h lea ebp,[ebx+1Ch] or edi,eax push ebp push 00000018h push esi push 00000001h call SUB_L004A6960 mov ecx,[ebp+00h] add esp,00000010h or edi,eax push ecx call SUB_L004A4290 add esp,00000004h lea edx,[ebx+20h] push edx push 00000050h push esi push 00000001h call SUB_L004A6960 add esp,00000010h or edi,eax lea eax,[ebx+24h] push eax push 00000051h push esi push 00000001h call SUB_L004A6960 add esp,00000010h lea ecx,[ebx+28h] or edi,eax push ecx push 0000001Ah push esi push 00000000h call SUB_L004A6960 add esp,00000010h lea edx,[ebx+29h] or edi,eax push edx push 00000019h push esi push 00000000h call SUB_L004A6960 add esp,00000010h or edi,eax lea eax,[ebx+2Ah] push eax push 00000054h push esi push 00000000h call SUB_L004A6960 add esp,00000010h lea ecx,[ebx+2Bh] or edi,eax push ecx push 00000055h push esi push 00000000h call SUB_L004A6960 add esp,00000010h lea edx,[ebx+2Ch] or edi,eax push edx push 00000056h push esi push 00000000h call SUB_L004A6960 add esp,00000010h or edi,eax lea eax,[ebx+2Dh] push eax push 00000057h push esi push 00000000h call SUB_L004A6960 add esp,00000010h lea ecx,[ebx+2Eh] or edi,eax push ecx push 00000052h push esi push 00000000h call SUB_L004A6960 add esp,00000010h add ebx,0000002Fh or edi,eax push ebx push 00000053h push esi push 00000000h call SUB_L004A6960 add esp,00000010h or edi,eax mov eax,edi pop ebp pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ Align 8 SUB_L004A4510: push esi mov esi,[esp+08h] test esi,esi jz L004A4574 mov eax,[esi+0Ch] cmp eax,L007B8B88 jz L004A4574 push eax call SUB_L0049C430 mov eax,[esi+10h] add esp,00000004h push eax call SUB_L0049C430 mov ecx,[esi+14h] add esp,00000004h push ecx call SUB_L0049C430 mov edx,[esi+18h] add esp,00000004h push edx call SUB_L0049C430 mov eax,[esi+1Ch] add esp,00000004h push eax call SUB_L0049C430 mov ecx,[esi+20h] add esp,00000004h push ecx call SUB_L0049C430 mov edx,[esi+24h] add esp,00000004h push edx call SUB_L0049C430 add esp,00000004h L004A4574: pop esi retn ;------------------------------------------------------------------------------ db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' mov eax,[L007B86B8] sub esp,00000020h push ebx push ebp push esi push edi xor ebp,ebp xor edi,edi xor ebx,ebx cmp eax,ebp jz L004A47F9 cmp [L007B86C8],ebp jnz L004A45C3 xor eax,eax push L007B86C8 mov ax,[L007B8A54] push 0000000Bh push eax push ebp call SUB_L004A6960 add esp,00000010h test eax,eax jnz L004A47BA L004A45C3: push 00000202h call SUB_L0049D430 add esp,00000004h mov esi,eax mov [esp+18h],esi push 00000202h call SUB_L0049D430 add esp,00000004h mov ebx,eax mov [esp+14h],ebx push 00000101h call SUB_L0049D430 add esp,00000004h mov edi,eax push 00000202h call SUB_L0049D430 add esp,00000004h cmp esi,ebp mov [esp+10h],eax jz L004A47C0 cmp ebx,ebp jz L004A47C0 cmp edi,ebp jz L004A47C0 cmp eax,ebp jz L004A47C0 xor eax,eax L004A462B: mov [eax+edi],al inc eax cmp eax,00000100h jl L004A462B mov edx,[L007B86C8] lea ecx,[esp+1Ch] push ecx push edx call [KERNEL32.dll!GetCPInfo] test eax,eax jz L004A47C0 mov eax,[esp+1Ch] cmp eax,00000002h ja L004A47C0 and eax,0000FFFFh cmp eax,00000001h mov [L004D16BC],eax jle L004A46A4 mov al,[esp+22h] test al,al jz L004A46A4 lea ecx,[esp+23h] L004A4678: mov dl,[ecx] test dl,dl jz L004A46A4 xor eax,eax and edx,000000FFh mov al,[ecx-01h] cmp eax,edx jg L004A469A L004A468D: xor edx,edx mov byte ptr [eax+edi],00h mov dl,[ecx] inc eax cmp eax,edx jle L004A468D L004A469A: mov al,[ecx+01h] add ecx,00000002h test al,al jnz L004A4678 L004A46A4: push ebp lea ebx,[esi+02h] push ebp push ebp push ebx push 00000100h push edi push 00000001h call SUB_L004A4A90 add esp,0000001Ch test eax,eax jz L004A47C0 mov edx,[esp+10h] mov [esi],bp mov ecx,edx xor eax,eax L004A46CE: mov [ecx],ax add ecx,00000002h inc eax cmp eax,00000100h jl L004A46CE mov eax,[esp+14h] push 00000000h push 00000000h lea ebp,[eax+02h] push ebp push 00000100h push edx push 00000001h call SUB_L004A4900 add esp,00000018h test eax,eax jz L004A47C0 mov ecx,[esp+14h] mov word ptr [ecx],0000h mov eax,[L004D16BC] cmp eax,00000001h jle L004A475B mov al,[esp+22h] test al,al jz L004A475B lea esi,[esp+23h] L004A471F: mov cl,[esi] test cl,cl jz L004A4757 xor eax,eax and ecx,000000FFh mov al,[esi-01h] cmp eax,ecx jg L004A474D mov edx,[esp+18h] lea ecx,[edx+eax*2+02h] L004A473C: xor edx,edx mov word ptr [ecx],8000h mov dl,[esi] inc eax add ecx,00000002h cmp eax,edx jle L004A473C L004A474D: mov al,[esi+01h] add esi,00000002h test al,al jnz L004A471F L004A4757: mov esi,[esp+18h] L004A475B: mov eax,[L007B8A3C] mov [L004D14B0],ebx test eax,eax mov [L004D14B4],ebp jz L004A4779 push eax call SUB_L0049C430 add esp,00000004h L004A4779: mov eax,[L007B8A40] mov [L007B8A3C],esi test eax,eax jz L004A4791 push eax call SUB_L0049C430 add esp,00000004h L004A4791: mov eax,[esp+14h] push edi mov [L007B8A40],eax call SUB_L0049C430 mov ecx,[esp+14h] add esp,00000004h push ecx call SUB_L0049C430 add esp,00000004h xor eax,eax pop edi pop esi pop ebp pop ebx add esp,00000020h retn ;------------------------------------------------------------------------------ L004A47BA: mov esi,[esp+18h] jmp L004A47C4 L004A47C0: mov ebx,[esp+10h] L004A47C4: push esi call SUB_L0049C430 mov edx,[esp+18h] add esp,00000004h push edx call SUB_L0049C430 add esp,00000004h push edi call SUB_L0049C430 add esp,00000004h push ebx call SUB_L0049C430 add esp,00000004h mov eax,00000001h pop edi pop esi pop ebp pop ebx add esp,00000020h retn ;------------------------------------------------------------------------------ L004A47F9: mov eax,L004D14BA mov [L004D14B0],eax mov [L004D14B4],eax mov eax,[L007B8A3C] push eax call SUB_L0049C430 mov ecx,[L007B8A40] add esp,00000004h push ecx call SUB_L0049C430 add esp,00000004h mov [L007B8A3C],ebp mov [L007B8A40],ebp xor eax,eax pop edi pop esi pop ebp pop ebx add esp,00000020h retn ;------------------------------------------------------------------------------ db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' push ebp mov ebp,esp push esi xor eax,eax push eax push eax push eax push eax push eax push eax push eax push eax mov edx,[ebp+0Ch] mov eax,eax L004A4854: mov al,[edx] or al,al jz L004A4861 inc edx bts [esp],eax jmp L004A4854 L004A4861: mov esi,[ebp+08h] or ecx,FFFFFFFFh nop L004A4868: inc ecx mov al,[esi] or al,al jz L004A4876 inc esi bt [esp],eax jnc L004A4868 L004A4876: mov eax,ecx add esp,00000020h pop esi leave retn ;------------------------------------------------------------------------------ db CCh; 'Œ' db CCh; 'Œ' push ebp mov ebp,esp push edi push esi push ebx mov ecx,[ebp+10h] jecxz L004A48B1 mov ebx,ecx mov edi,[ebp+08h] mov esi,edi xor eax,eax repne scasb neg ecx add ecx,ebx mov edi,esi mov esi,[ebp+0Ch] repe cmpsb mov al,[esi-01h] xor ecx,ecx cmp al,[edi-01h] ja L004A48AF jz L004A48B1 dec ecx dec ecx L004A48AF: not ecx L004A48B1: mov eax,ecx pop ebx pop esi pop edi leave retn ;------------------------------------------------------------------------------ Align 16 SUB_L004A48C0: push ebp mov ebp,esp push esi xor eax,eax push eax push eax push eax push eax push eax push eax push eax push eax mov edx,[ebp+0Ch] mov eax,eax L004A48D4: mov al,[edx] or al,al jz L004A48E1 inc edx bts [esp],eax jmp L004A48D4 L004A48E1: mov esi,[ebp+08h] L004A48E4: mov al,[esi] or al,al jz L004A48F4 inc esi bt [esp],eax jnc L004A48E4 lea eax,[esi-01h] L004A48F4: add esp,00000020h pop esi leave retn ;------------------------------------------------------------------------------ Align 8 SUB_L004A4900: push ecx mov eax,[L007B8A90] push ebx xor ebx,ebx push ebp push esi mov esi,[KERNEL32.dll!GetStringTypeW] cmp eax,ebx push edi jnz L004A4958 lea eax,[esp+10h] push eax push 00000001h push L004BD1E0 push 00000001h call esi test eax,eax jz L004A4931 mov eax,00000001h jmp L004A4953 L004A4931: lea ecx,[esp+10h] push ecx push 00000001h push L004BD1DC push 00000001h push ebx call [KERNEL32.dll!GetStringTypeA] test eax,eax jz L004A49D4 mov eax,00000002h L004A4953: mov [L007B8A90],eax L004A4958: cmp eax,00000001h jnz L004A4979 mov edx,[esp+24h] mov eax,[esp+20h] mov ecx,[esp+1Ch] push edx mov edx,[esp+1Ch] push eax push ecx push edx call esi pop edi pop esi pop ebp pop ebx pop ecx retn ;------------------------------------------------------------------------------ L004A4979: cmp eax,00000002h jnz L004A4A7E mov eax,[esp+28h] mov [esp+10h],ebx cmp eax,ebx jnz L004A4997 mov eax,[L007B86C8] mov [esp+28h],eax L004A4997: mov edi,[esp+20h] mov ecx,[esp+1Ch] mov edx,[esp+28h] push ebx push ebx push ebx push ebx push edi push ecx push 00000220h push edx call [KERNEL32.dll!WideCharToMultiByte] mov esi,eax cmp esi,ebx jnz L004A49C3 xor eax,eax pop edi pop esi pop ebp pop ebx pop ecx retn ;------------------------------------------------------------------------------ L004A49C3: push esi push 00000001h call SUB_L0049C380 mov ebp,eax add esp,00000008h test ebp,ebp jnz L004A49DC L004A49D4: xor eax,eax pop edi pop esi pop ebp pop ebx pop ecx retn ;------------------------------------------------------------------------------ L004A49DC: mov eax,[esp+1Ch] mov ecx,[esp+28h] push 00000000h push 00000000h push esi push ebp push edi push eax push 00000220h push ecx call [KERNEL32.dll!WideCharToMultiByte] test eax,eax jz L004A4A68 lea edx,[esi+esi+02h] push edx call SUB_L0049D430 mov ebx,eax add esp,00000004h test ebx,ebx jz L004A4A68 mov eax,[esp+2Ch] test eax,eax jnz L004A4A1C mov eax,[L007B86B8] L004A4A1C: mov ecx,[esp+18h] push ebx add edi,edi push esi push ebp push ecx mov word ptr [ebx+edi],FFFFh push eax mov word ptr [ebx+edi-02h],FFFFh call [KERNEL32.dll!GetStringTypeA] cmp word ptr [ebx+edi-02h],FFFFh mov [esp+10h],eax jz L004A4A60 cmp word ptr [ebx+edi],FFFFh jnz L004A4A60 mov edx,[esp+24h] push edi push ebx push edx call SUB_L004A33B0 add esp,0000000Ch jmp L004A4A68 L004A4A60: mov dword ptr [esp+10h],00000000h L004A4A68: push ebp call SUB_L0049C430 add esp,00000004h push ebx call SUB_L0049C430 mov eax,[esp+14h] add esp,00000004h L004A4A7E: pop edi pop esi pop ebp pop ebx pop ecx retn ;------------------------------------------------------------------------------ Align 16 SUB_L004A4A90: push ecx mov eax,[L007B8A94] push ebx push ebp push esi mov esi,[KERNEL32.dll!GetStringTypeA] push edi xor edi,edi cmp eax,edi jnz L004A4ACC lea eax,[esp+12h] push eax push 00000001h push L004BD1E0 push 00000001h call [KERNEL32.dll!GetStringTypeW] test eax,eax jz L004A4B9C mov eax,00000001h mov [L007B8A94],eax L004A4ACC: cmp eax,00000002h jnz L004A4AFB mov eax,[esp+2Ch] cmp eax,edi jnz L004A4ADE mov eax,[L007B86B8] L004A4ADE: mov edx,[esp+24h] mov ecx,[esp+20h] push edx mov edx,[esp+20h] push ecx mov ecx,[esp+20h] push edx push ecx push eax call esi pop edi pop esi pop ebp pop ebx pop ecx retn ;------------------------------------------------------------------------------ L004A4AFB: cmp eax,00000001h jnz L004A4B96 mov ebx,[esp+28h] mov [esp+2Ch],edi cmp ebx,edi jnz L004A4B16 mov ebx,[L007B86C8] L004A4B16: mov eax,[esp+30h] mov ebp,[esp+20h] mov edx,[esp+1Ch] push edi neg eax sbb eax,eax push edi and eax,00000008h push ebp inc eax push edx push eax push ebx call [KERNEL32.dll!MultiByteToWideChar] mov esi,eax test esi,esi jz L004A4B87 push esi push 00000002h call SUB_L0049C380 mov edi,eax add esp,00000008h test edi,edi jz L004A4B87 mov ecx,[esp+1Ch] push esi push edi push ebp push ecx push 00000001h push ebx call [KERNEL32.dll!MultiByteToWideChar] test eax,eax jz L004A4B87 mov edx,[esp+24h] push edx push eax mov eax,[esp+20h] push edi push eax call [KERNEL32.dll!GetStringTypeW] push edi mov esi,eax call SUB_L0049C430 add esp,00000004h mov eax,esi pop edi pop esi pop ebp pop ebx pop ecx retn ;------------------------------------------------------------------------------ L004A4B87: mov esi,[esp+2Ch] push edi call SUB_L0049C430 add esp,00000004h mov eax,esi L004A4B96: pop edi pop esi pop ebp pop ebx pop ecx retn ;------------------------------------------------------------------------------ L004A4B9C: lea ecx,[esp+12h] push ecx push 00000001h push L004BD1DC push 00000001h push edi call esi test eax,eax jz L004A4BC0 mov eax,00000002h mov [L007B8A94],eax jmp L004A4ACC L004A4BC0: pop edi pop esi pop ebp xor eax,eax pop ebx pop ecx retn ;------------------------------------------------------------------------------ Align 16 SUB_L004A4BD0: push ebx push esi push edi push L007B9CE8 call [KERNEL32.dll!InterlockedIncrement] mov eax,[L007B9CE4] mov edi,[KERNEL32.dll!InterlockedDecrement] test eax,eax jz L004A4C05 push L007B9CE8 call edi push 00000013h call SUB_L0049C9A0 add esp,00000004h mov esi,00000001h jmp L004A4C07 L004A4C05: xor esi,esi L004A4C07: mov eax,[esp+18h] mov ecx,[esp+14h] mov edx,[esp+10h] push eax push ecx push edx call SUB_L004A4C50 add esp,0000000Ch mov ebx,eax test esi,esi jz L004A4C34 push 00000013h call SUB_L0049CA20 add esp,00000004h mov eax,ebx pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ L004A4C34: push L007B9CE8 call edi pop edi mov eax,ebx pop esi pop ebx retn ;------------------------------------------------------------------------------ Align 16 SUB_L004A4C50: push esi mov esi,[esp+0Ch] test esi,esi push edi jz L004A4D49 mov edi,[esp+14h] test edi,edi jz L004A4D49 mov al,[esi] test al,al jnz L004A4C86 mov eax,[esp+0Ch] test eax,eax jz L004A4D49 mov word ptr [eax],0000h xor eax,eax pop edi pop esi retn ;------------------------------------------------------------------------------ L004A4C86: mov ecx,[L007B86B8] test ecx,ecx jnz L004A4CAB mov ecx,[esp+0Ch] test ecx,ecx jz L004A4D41 movzx ax,al mov [ecx],ax mov eax,00000001h pop edi pop esi retn ;------------------------------------------------------------------------------ L004A4CAB: mov ecx,[L004D14B0] and eax,000000FFh test byte ptr [ecx+eax*2+01h],80h jz L004A4D0D mov eax,[L004D16BC] cmp eax,00000001h jle L004A4CF1 cmp edi,eax jl L004A4CF3 mov ecx,[esp+0Ch] xor edx,edx test ecx,ecx setnz dl push edx push ecx push eax mov eax,[L007B86C8] push esi push 00000009h push eax call [KERNEL32.dll!MultiByteToWideChar] test eax,eax mov eax,[L004D16BC] jnz L004A4D4B L004A4CF1: cmp edi,eax L004A4CF3: jc L004A4D30 mov cl,[esi+01h] test cl,cl jnz L004A4D4B call SUB_L0049BD30 mov dword ptr [eax],0000002Ah or eax,FFFFFFFFh pop edi pop esi retn ;------------------------------------------------------------------------------ L004A4D0D: mov eax,[esp+0Ch] xor ecx,ecx mov edx,[L007B86C8] test eax,eax setnz cl push ecx push eax push 00000001h push esi push 00000009h push edx call [KERNEL32.dll!MultiByteToWideChar] test eax,eax jnz L004A4D41 L004A4D30: call SUB_L0049BD30 mov dword ptr [eax],0000002Ah or eax,FFFFFFFFh pop edi pop esi retn ;------------------------------------------------------------------------------ L004A4D41: mov eax,00000001h pop edi pop esi retn ;------------------------------------------------------------------------------ L004A4D49: xor eax,eax L004A4D4B: pop edi pop esi retn ;------------------------------------------------------------------------------ Align 4 SUB_L004A4D50: cmp cl,40h jnc L004A4D6A cmp cl,20h jnc L004A4D60 shld edx,eax,cl shl eax,cl retn ;------------------------------------------------------------------------------ L004A4D60: mov edx,eax xor eax,eax and cl,1Fh shl edx,cl retn ;------------------------------------------------------------------------------ L004A4D6A: xor eax,eax xor edx,edx retn ;------------------------------------------------------------------------------ Align 4 SUB_L004A4D70: push ebp mov ebp,esp push ecx push esi fstcw word ptr [ebp-04h] mov eax,[ebp-04h] push eax call SUB_L004A4DD0 mov ecx,[ebp+0Ch] mov edx,[ebp+08h] mov esi,ecx add esp,00000004h not ecx and esi,edx and ecx,eax or esi,ecx push esi call SUB_L004A4E70 add esp,00000004h mov [ebp+0Ch],eax fldcw word ptr [ebp+0Ch] mov eax,esi pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 8 SUB_L004A4DB0: mov eax,[esp+08h] mov ecx,[esp+04h] and eax,FFF7FFFFh push eax push ecx call SUB_L004A4D70 add esp,00000008h retn ;------------------------------------------------------------------------------ Align 16 SUB_L004A4DD0: push ebx mov ebx,[esp+08h] xor eax,eax test bl,01h jz L004A4DE1 mov eax,00000010h L004A4DE1: test bl,04h jz L004A4DE8 or al,08h L004A4DE8: test bl,08h jz L004A4DEF or al,04h L004A4DEF: test bl,10h jz L004A4DF6 or al,02h L004A4DF6: test bl,20h jz L004A4DFD or al,01h L004A4DFD: test bl,02h jz L004A4E07 or eax,00080000h L004A4E07: mov edx,ebx and edx,0000FFFFh mov ecx,edx and ecx,00000C00h cmp ecx,00000400h jg L004A4E26 jnz L004A4E3E or ah,01h jmp L004A4E3E L004A4E26: cmp ecx,00000800h jz L004A4E3B cmp ecx,00000C00h jnz L004A4E3E or ah,03h jmp L004A4E3E L004A4E3B: or ah,02h L004A4E3E: and edx,00000300h jz L004A4E55 cmp edx,00000200h jnz L004A4E5A or eax,00010000h jmp L004A4E5A L004A4E55: or eax,00020000h L004A4E5A: test bh,10h jz L004A4E64 or eax,00040000h L004A4E64: pop ebx retn ;------------------------------------------------------------------------------ Align 16 SUB_L004A4E70: mov edx,[esp+04h] xor eax,eax test dl,10h jz L004A4E80 mov eax,00000001h L004A4E80: test dl,08h jz L004A4E87 or al,04h L004A4E87: test dl,04h jz L004A4E8E or al,08h L004A4E8E: test dl,02h jz L004A4E95 or al,10h L004A4E95: test dl,01h jz L004A4E9C or al,20h L004A4E9C: test edx,00080000h jz L004A4EA6 or al,02h L004A4EA6: mov ecx,edx and ecx,00000300h cmp ecx,00000100h ja L004A4EBD jnz L004A4ED5 or ah,04h jmp L004A4ED5 L004A4EBD: cmp ecx,00000200h jz L004A4ED2 cmp ecx,00000300h jnz L004A4ED5 or ah,0Ch jmp L004A4ED5 L004A4ED2: or ah,08h L004A4ED5: mov ecx,edx and ecx,00030000h jz L004A4EEC cmp ecx,00010000h jnz L004A4EEF or ah,02h jmp L004A4EEF L004A4EEC: or ah,03h L004A4EEF: test edx,00040000h jz L004A4EFA or ah,10h L004A4EFA: retn ;------------------------------------------------------------------------------ Align 8 SUB_L004A4F00: mov ecx,[esp+08h] push esi mov eax,ecx cdq and edx,0000001Fh add eax,edx mov esi,eax mov eax,ecx cdq xor eax,edx mov ecx,0000001Fh sub eax,edx and eax,0000001Fh xor eax,edx sub eax,edx or edx,FFFFFFFFh sub ecx,eax mov eax,[esp+08h] shl edx,cl sar esi,05h mov ecx,[eax+esi*4] not edx test ecx,edx jz L004A4F3D xor eax,eax pop esi retn ;------------------------------------------------------------------------------ L004A4F3D: inc esi cmp esi,00000003h jge L004A4F5F lea eax,[eax+esi*4] L004A4F46: cmp dword ptr [eax],00000000h jnz L004A4F5B inc esi add eax,00000004h cmp esi,00000003h jl L004A4F46 mov eax,00000001h pop esi retn ;------------------------------------------------------------------------------ L004A4F5B: xor eax,eax pop esi retn ;------------------------------------------------------------------------------ L004A4F5F: mov eax,00000001h pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L004A4F70: mov ecx,[esp+08h] push ebx mov eax,ecx push esi cdq and edx,0000001Fh mov ebx,[esp+0Ch] add eax,edx push edi mov esi,eax mov eax,ecx cdq xor eax,edx mov ecx,0000001Fh sub eax,edx and eax,0000001Fh xor eax,edx sub eax,edx sub ecx,eax mov eax,00000001h sar esi,05h shl eax,cl mov ecx,[ebx+esi*4] lea edi,[ebx+esi*4] push edi push eax push ecx call SUB_L004A6C20 add esp,0000000Ch dec esi js L004A4FD5 lea edi,[ebx+esi*4] L004A4FBB: test eax,eax jz L004A4FD5 mov edx,[edi] push edi push 00000001h push edx call SUB_L004A6C20 add esp,0000000Ch dec esi sub edi,00000004h test esi,esi jge L004A4FBB L004A4FD5: pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ Align 8 SUB_L004A4FE0: push ecx mov eax,[esp+0Ch] push ebx push ebp push esi lea ebp,[eax-01h] mov ebx,[esp+14h] mov [esp+18h],ebp inc ebp mov eax,ebp push edi cdq and edx,0000001Fh mov edi,0000001Fh add eax,edx mov dword ptr [esp+10h],00000000h mov esi,eax mov eax,ebp cdq xor eax,edx sub eax,edx and eax,0000001Fh xor eax,edx sub eax,edx mov edx,00000001h sub edi,eax mov ecx,edi sar esi,05h shl edx,cl test [ebx+esi*4],edx jz L004A504E inc ebp push ebp push ebx call SUB_L004A4F00 add esp,00000008h test eax,eax jnz L004A504E mov eax,[esp+1Ch] push eax push ebx call SUB_L004A4F70 add esp,00000008h mov edx,eax jmp L004A5052 L004A504E: mov edx,[esp+10h] L004A5052: or eax,FFFFFFFFh mov ecx,edi shl eax,cl mov ecx,[ebx+esi*4] and ecx,eax mov [ebx+esi*4],ecx inc esi cmp esi,00000003h jge L004A5075 mov ecx,00000003h lea edi,[ebx+esi*4] sub ecx,esi xor eax,eax rep stosd L004A5075: pop edi pop esi pop ebp mov eax,edx pop ebx pop ecx retn ;------------------------------------------------------------------------------ Align 4 SUB_L004A5080: mov eax,[esp+08h] mov ecx,[esp+04h] push esi sub ecx,eax mov edx,00000003h L004A5090: mov esi,[eax] mov [eax+ecx],esi add eax,00000004h dec edx jnz L004A5090 pop esi retn ;------------------------------------------------------------------------------ Align 4 SUB_L004A50A0: mov ecx,[esp+04h] xor eax,eax mov [ecx],eax mov [ecx+04h],eax mov [ecx+08h],eax retn ;------------------------------------------------------------------------------ Align 4 SUB_L004A50B0: mov ecx,[esp+04h] xor eax,eax L004A50B6: cmp dword ptr [ecx],00000000h jnz L004A50CA inc eax add ecx,00000004h cmp eax,00000003h jl L004A50B6 mov eax,00000001h retn ;------------------------------------------------------------------------------ L004A50CA: xor eax,eax retn ;------------------------------------------------------------------------------ Align 4 SUB_L004A50D0: sub esp,00000008h mov ecx,[esp+10h] push ebx mov eax,ecx push ebp cdq and edx,0000001Fh push esi add eax,edx push edi sar eax,05h mov [esp+14h],eax mov eax,ecx cdq xor eax,edx mov esi,[esp+1Ch] sub eax,edx or edi,FFFFFFFFh and eax,0000001Fh mov ebp,00000020h xor eax,edx xor ebx,ebx sub eax,edx mov dword ptr [esp+20h],00000003h mov ecx,eax shl edi,cl sub ebp,eax not edi L004A5116: mov edx,[esi] mov ecx,edi and ecx,edx add esi,00000004h mov [esp+10h],ecx mov ecx,eax shr edx,cl mov ecx,ebp or edx,ebx mov ebx,[esp+10h] shl ebx,cl mov ecx,[esp+20h] mov [esi-04h],edx dec ecx mov [esp+20h],ecx jnz L004A5116 mov ebx,[esp+14h] mov esi,00000002h mov ecx,00000008h lea edi,[00000000h+ebx*4] L004A5154: cmp esi,ebx jl L004A5168 mov edx,[esp+1Ch] mov eax,ecx sub eax,edi mov eax,[edx+eax] mov [edx+ecx],eax jmp L004A5173 L004A5168: mov edx,[esp+1Ch] mov dword ptr [edx+ecx],00000000h L004A5173: dec esi sub ecx,00000004h jns L004A5154 pop edi pop esi pop ebp pop ebx add esp,00000008h retn ;------------------------------------------------------------------------------ Align 16 SUB_L004A5190: sub esp,00000018h mov ecx,[esp+1Ch] xor eax,eax push ebx push ebp mov ax,[ecx+0Ah] mov edx,[ecx+02h] mov ebx,eax and eax,00008000h mov ebp,eax mov eax,[ecx+06h] mov [esp+08h],eax xor eax,eax mov ax,[ecx] and ebx,00007FFFh sub ebx,00003FFFh push esi shl eax,10h push edi mov edi,[esp+34h] cmp ebx,FFFFC001h mov [esp+14h],edx mov [esp+18h],eax jnz L004A520A lea ecx,[esp+10h] xor esi,esi push ecx call SUB_L004A50B0 add esp,00000004h test eax,eax jnz L004A530F lea edx,[esp+10h] push edx call SUB_L004A50A0 add esp,00000004h mov eax,00000002h jmp L004A5311 L004A520A: lea eax,[esp+10h] lea ecx,[esp+1Ch] push eax push ecx call SUB_L004A5080 mov edx,[edi+08h] add esp,00000008h lea eax,[esp+10h] push edx push eax call SUB_L004A4FE0 add esp,00000008h test eax,eax jz L004A5232 inc ebx L004A5232: mov eax,[edi+04h] mov esi,[edi+08h] mov ecx,eax sub ecx,esi cmp ebx,ecx jge L004A5259 lea edx,[esp+10h] push edx call SUB_L004A50A0 add esp,00000004h xor esi,esi mov eax,00000002h jmp L004A5311 L004A5259: cmp ebx,eax jg L004A52AD sub eax,ebx lea ecx,[esp+10h] mov esi,eax lea eax,[esp+1Ch] push eax push ecx call SUB_L004A5080 add esp,00000008h lea edx,[esp+10h] push esi push edx call SUB_L004A50D0 mov eax,[edi+08h] add esp,00000008h lea ecx,[esp+10h] push eax push ecx call SUB_L004A4FE0 mov edx,[edi+0Ch] add esp,00000008h inc edx lea eax,[esp+10h] push edx push eax call SUB_L004A50D0 add esp,00000008h xor esi,esi mov eax,00000002h jmp L004A5311 L004A52AD: cmp ebx,[edi] jl L004A52EB lea ecx,[esp+10h] push ecx call SUB_L004A50A0 mov ebx,[esp+14h] mov edx,[edi+0Ch] add esp,00000004h lea eax,[esp+10h] or ebx,80000000h push edx push eax mov [esp+18h],ebx call SUB_L004A50D0 mov esi,[edi+14h] mov eax,[edi] add esp,00000008h add esi,eax mov eax,00000001h jmp L004A5311 L004A52EB: mov esi,[edi+14h] mov ecx,[edi+0Ch] add esi,ebx mov ebx,[esp+10h] lea edx,[esp+10h] and ebx,7FFFFFFFh push ecx push edx mov [esp+18h],ebx call SUB_L004A50D0 add esp,00000008h L004A530F: xor eax,eax L004A5311: mov edx,[edi+0Ch] mov ecx,0000001Fh sub ecx,edx mov edx,[esp+10h] shl esi,cl mov edi,[edi+10h] neg ebp sbb ebp,ebp and ebp,80000000h or esi,ebp or esi,edx cmp edi,00000040h jnz L004A534C mov ecx,[esp+30h] mov edx,[esp+14h] mov [ecx+04h],esi mov [ecx],edx pop edi pop esi pop ebp pop ebx add esp,00000018h retn ;------------------------------------------------------------------------------ L004A534C: cmp edi,00000020h jnz L004A5357 mov ecx,[esp+30h] mov [ecx],esi L004A5357: pop edi pop esi pop ebp pop ebx add esp,00000018h retn ;------------------------------------------------------------------------------ Align 4 SUB_L004A5360: mov eax,[esp+08h] mov ecx,[esp+04h] push L004D4370 push eax push ecx call SUB_L004A5190 add esp,0000000Ch retn ;------------------------------------------------------------------------------ Align 16 SUB_L004A5380: mov eax,[esp+08h] mov ecx,[esp+04h] push L004D4388 push eax push ecx call SUB_L004A5190 add esp,0000000Ch retn ;------------------------------------------------------------------------------ Align 16 SUB_L004A53A0: mov eax,[esp+08h] sub esp,0000000Ch lea ecx,[esp+14h] lea edx,[esp+00h] push 00000000h push 00000000h push 00000000h push 00000000h push eax push ecx push edx call SUB_L004A6E20 mov eax,[esp+2Ch] add esp,0000001Ch lea ecx,[esp+00h] push eax push ecx call SUB_L004A5360 add esp,00000008h add esp,0000000Ch retn ;------------------------------------------------------------------------------ Align 16 SUB_L004A53E0: mov eax,[esp+08h] sub esp,0000000Ch lea ecx,[esp+14h] lea edx,[esp+00h] push 00000000h push 00000000h push 00000000h push 00000000h push eax push ecx push edx call SUB_L004A6E20 mov eax,[esp+2Ch] add esp,0000001Ch lea ecx,[esp+00h] push eax push ecx call SUB_L004A5380 add esp,00000008h add esp,0000000Ch retn ;------------------------------------------------------------------------------ Align 16 SUB_L004A5420: mov ecx,[esp+0Ch] push ebx push ebp mov ebp,[esp+0Ch] mov edx,[ecx+0Ch] push esi mov esi,[esp+14h] push edi lea edi,[ebp+01h] mov byte ptr [ebp+00h],30h test esi,esi mov eax,edi jle L004A545E mov ebx,esi L004A5442: mov cl,[edx] test cl,cl jz L004A544E movsx ecx,cl inc edx jmp L004A5453 L004A544E: mov ecx,00000030h L004A5453: mov [eax],cl inc eax dec esi dec ebx jnz L004A5442 mov ecx,[esp+1Ch] L004A545E: test esi,esi mov byte ptr [eax],00h jl L004A5481 cmp byte ptr [edx],35h jl L004A5481 mov dl,[eax-01h] dec eax cmp dl,39h jnz L004A547F L004A5473: mov byte ptr [eax],30h mov dl,[eax-01h] dec eax cmp dl,39h jz L004A5473 L004A547F: inc [eax] L004A5481: cmp byte ptr [ebp+00h],31h jnz L004A548F inc [ecx+04h] pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ L004A548F: or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,ebp shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ Align 16 SUB_L004A54C0: sub esp,00000028h lea eax,[esp+2Ch] lea ecx,[esp+00h] push ebx push esi push edi push eax push ecx call SUB_L004A5550 add esp,00000008h lea edx,[esp+18h] mov ecx,[esp+0Ch] push edx push 00000000h push 00000011h mov edx,[esp+1Ch] sub esp,0000000Ch mov eax,esp mov [eax],ecx mov cx,[esp+2Ch] mov [eax+04h],edx mov [eax+08h],cx call SUB_L004A75B0 mov edx,[esp+58h] lea edi,[esp+34h] movsx ecx,[esp+30h] mov [edx+08h],eax mov [edx+04h],ecx movsx eax,[esp+32h] mov [edx],eax or ecx,FFFFFFFFh xor eax,eax add esp,00000018h repne scasb mov eax,[esp+44h] not ecx sub edi,ecx mov ebx,ecx mov esi,edi mov edi,eax shr ecx,02h rep movsd mov ecx,ebx and ecx,00000003h rep movsb pop edi mov [edx+0Ch],eax pop esi mov eax,edx pop ebx add esp,00000028h retn ;------------------------------------------------------------------------------ Align 8 SUB_L004A5550: push ebx push ebp push esi mov esi,[esp+14h] push edi mov ebx,80000000h mov cx,[esi+06h] mov edx,[esi+04h] mov eax,ecx mov edi,[esi] shr eax,04h and ecx,00008000h and eax,000007FFh mov ebp,ecx mov ecx,eax and edx,000FFFFFh and ecx,0000FFFFh jz L004A559F cmp ecx,000007FFh jz L004A5598 lea esi,[eax+00003C00h] jmp L004A55C1 L004A5598: mov esi,00007FFFh jmp L004A55C1 L004A559F: xor ebx,ebx cmp edx,ebx jnz L004A55BB cmp edi,ebx jnz L004A55BB mov eax,[esp+14h] mov [eax+04h],ebx mov [eax],ebx mov [eax+08h],bx pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ L004A55BB: lea esi,[eax+00003C01h] L004A55C1: mov eax,[esp+14h] mov ecx,edi shr ecx,15h shl edx,0Bh or ecx,edx or ecx,ebx shl edi,0Bh test ecx,80000000h mov [eax+04h],ecx mov [eax],edi jnz L004A5603 L004A55E1: mov edx,[eax] add ecx,ecx mov edi,edx add edx,edx shr edi,1Fh or edi,ecx add esi,0000FFFFh mov ecx,edi mov [eax+04h],edi test ecx,80000000h mov [eax],edx jz L004A55E1 L004A5603: or esi,ebp pop edi mov [eax+08h],si pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ Align 4 L004A5610: push 00000002h call SUB_L0049C910 add esp,00000004h retn ;------------------------------------------------------------------------------ Align 8 SUB_L004A5620: mov eax,[esp+04h] push eax call [KERNEL32.dll!GetFileAttributesA] cmp eax,FFFFFFFFh jnz L004A5643 call [KERNEL32.dll!GetLastError] push eax call SUB_L0049BCB0 add esp,00000004h or eax,FFFFFFFFh retn ;------------------------------------------------------------------------------ L004A5643: test al,01h jz L004A5668 test byte ptr [esp+08h],02h jz L004A5668 call SUB_L0049BD30 mov dword ptr [eax],0000000Dh call SUB_L0049BD40 mov dword ptr [eax],00000005h or eax,FFFFFFFFh retn ;------------------------------------------------------------------------------ L004A5668: xor eax,eax retn ;------------------------------------------------------------------------------ Align 8 SUB_L004A5670: mov eax,[L007B8A00] push ebx push esi push edi test eax,eax jnz L004A5692 mov eax,[esp+14h] mov ecx,[esp+10h] push eax push ecx call SUB_L0049C0D0 add esp,00000008h pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ L004A5692: push 00000019h call SUB_L0049C9A0 mov edi,[esp+14h] mov ebx,[esp+18h] add esp,00000004h movzx si,[edi] test si,si jz L004A56F3 mov cl,04h L004A56AF: mov edx,esi and edx,000000FFh test [edx+L007B87F9],cl jz L004A56DD mov al,[edi+01h] inc edi test al,al jz L004A5711 and esi,0000FFFFh and eax,000000FFh shl esi,08h or esi,eax cmp ebx,esi jz L004A5721 jmp L004A56E8 L004A56DD: mov eax,esi and eax,0000FFFFh cmp ebx,eax jz L004A56F3 L004A56E8: movzx si,[edi+01h] inc edi test si,si jnz L004A56AF L004A56F3: push 00000019h call SUB_L0049CA20 and esi,0000FFFFh add esp,00000004h xor eax,eax cmp ebx,esi setnz al dec eax and eax,edi pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ L004A5711: push 00000019h call SUB_L0049CA20 add esp,00000004h xor eax,eax pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ L004A5721: push 00000019h call SUB_L0049CA20 add esp,00000004h lea eax,[edi-01h] pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ Align 16 SUB_L004A5740: mov eax,[L007B8A00] push esi xor esi,esi test eax,eax jnz L004A5760 mov eax,[esp+0Ch] mov ecx,[esp+08h] push eax push ecx call SUB_L004A7940 add esp,00000008h pop esi retn ;------------------------------------------------------------------------------ L004A5760: push edi push ebp push ebx push 00000019h call SUB_L0049C9A0 mov edi,[esp+1Ch] mov edx,[esp+18h] add esp,00000004h mov bl,04h L004A5777: mov cl,[edx] mov eax,ecx and eax,000000FFh mov ebp,eax and ebp,000000FFh test [ebp+L007B87F9],bl jz L004A57B4 mov cl,[edx+01h] inc edx test cl,cl jz L004A57AE mov ebp,ecx shl eax,08h and ebp,000000FFh or eax,ebp cmp edi,eax jnz L004A57BA lea esi,[edx-01h] jmp L004A57BA L004A57AE: test esi,esi jnz L004A57BA jmp L004A57B8 L004A57B4: cmp edi,eax jnz L004A57BA L004A57B8: mov esi,edx L004A57BA: inc edx test cl,cl jnz L004A5777 push 00000019h call SUB_L0049CA20 add esp,00000004h mov eax,esi pop ebx pop ebp pop edi pop esi retn ;------------------------------------------------------------------------------ SUB_L004A57D0: sub esp,0000005Ch mov eax,[esp+60h] push ebx push ebp xor ebx,ebx push esi cmp eax,00000004h push edi mov [esp+13h],bl ja L004A5A20 jmp [CASE_PROCTABLE_004A5A44+eax*4] CASE_004A5A44_PROC0004: mov byte ptr [esp+13h],01h CASE_004A5A44_PROC0000: mov eax,[esp+78h] mov [esp+14h],eax mov cl,[eax] test cl,cl jz L004A581D L004A5804: mov cl,[eax+01h] inc eax test cl,cl jnz L004A5804 mov cl,[eax+01h] test cl,cl jz L004A5817 mov byte ptr [eax],20h inc eax L004A5817: mov cl,[eax] test cl,cl jnz L004A5804 L004A581D: mov esi,[L007B9CE0] mov ecx,00000011h xor eax,eax lea edi,[esp+28h] rep stosd test esi,esi mov dword ptr [esp+28h],00000044h jz L004A5860 L004A583C: lea ecx,[esi-01h] mov edx,ecx mov eax,ecx sar edx,05h and eax,0000001Fh mov edx,[L007B9BE0+edx*4] lea eax,[eax+eax*8] cmp byte ptr [edx+eax*4+04h],00h jnz L004A5860 mov esi,ecx test esi,esi jnz L004A583C L004A5860: lea eax,[esi+esi*4+04h] push 00000001h mov [esp+5Eh],ax mov ecx,[esp+5Eh] and ecx,0000FFFFh push ecx call SUB_L0049C380 mov [esp+64h],eax mov [eax],esi mov edx,[esp+64h] add esp,00000008h xor ecx,ecx test esi,esi lea edi,[edx+04h] lea ebp,[esi+edx+04h] jle L004A58D4 L004A5895: mov edx,ecx mov eax,ecx sar edx,05h and eax,0000001Fh mov edx,[L007B9BE0+edx*4] lea eax,[eax+eax*8] lea eax,[edx+eax*4] mov dl,[eax+04h] test dl,10h jnz L004A58BD mov [edi],dl mov eax,[eax] mov [ebp+00h],eax jmp L004A58C7 L004A58BD: mov byte ptr [edi],00h mov dword ptr [ebp+00h],FFFFFFFFh L004A58C7: inc ecx inc edi add ebp,00000004h cmp ecx,esi jl L004A5895 mov edx,[esp+5Ch] L004A58D4: mov al,[esp+13h] test al,al jz L004A590A xor edi,edi lea eax,[edx+04h] lea ecx,[esi+edx+04h] L004A58E5: cmp esi,00000003h mov edx,esi jl L004A58F1 mov edx,00000003h L004A58F1: cmp edi,edx jge L004A5905 mov byte ptr [eax],00h inc edi mov dword ptr [ecx],FFFFFFFFh inc eax add ecx,00000004h jmp L004A58E5 L004A5905: mov ebx,00000008h L004A590A: call SUB_L0049BD30 mov dword ptr [eax],00000000h call SUB_L0049BD40 lea ecx,[esp+18h] lea edx,[esp+28h] mov dword ptr [eax],00000000h mov eax,[esp+7Ch] push ecx mov ecx,[esp+18h] push edx mov edx,[esp+7Ch] push 00000000h push eax push ebx push 00000001h push 00000000h push 00000000h push ecx push edx call [KERNEL32.dll!CreateProcessA] mov esi,eax call [KERNEL32.dll!GetLastError] mov edi,eax mov eax,[esp+5Ch] push eax call SUB_L0049C430 add esp,00000004h test esi,esi jnz L004A5977 push edi call SUB_L0049BCB0 add esp,00000004h or eax,FFFFFFFFh pop edi pop esi pop ebp pop ebx add esp,0000005Ch retn ;------------------------------------------------------------------------------ L004A5977: mov eax,[esp+70h] mov esi,[KERNEL32.dll!CloseHandle] cmp eax,00000002h jnz L004A59A3 push 00000000h call SUB_L0049B0E0 mov ecx,[esp+20h] add esp,00000004h push ecx call esi mov eax,[esp+78h] pop edi pop esi pop ebp pop ebx add esp,0000005Ch retn ;------------------------------------------------------------------------------ L004A59A3: test eax,eax jnz L004A59DE mov ecx,[esp+18h] push FFFFFFFFh push ecx call [KERNEL32.dll!WaitForSingleObject] mov eax,[esp+18h] lea edx,[esp+78h] push edx push eax call [KERNEL32.dll!GetExitCodeProcess] mov ecx,[esp+18h] push ecx call esi mov ecx,[esp+1Ch] push ecx call esi mov eax,[esp+78h] pop edi pop esi pop ebp pop ebx add esp,0000005Ch retn ;------------------------------------------------------------------------------ L004A59DE: cmp eax,00000004h jnz L004A5A05 mov edx,[esp+18h] push edx call esi mov ecx,[esp+1Ch] mov dword ptr [esp+78h],00000000h push ecx call esi mov eax,[esp+78h] pop edi pop esi pop ebp pop ebx add esp,0000005Ch retn ;------------------------------------------------------------------------------ L004A5A05: mov ecx,[esp+1Ch] mov eax,[esp+18h] push ecx mov [esp+7Ch],eax call esi mov eax,[esp+78h] pop edi pop esi pop ebp pop ebx add esp,0000005Ch retn ;------------------------------------------------------------------------------ L004A5A20: call SUB_L0049BD30 mov dword ptr [eax],00000016h call SUB_L0049BD40 pop edi pop esi mov dword ptr [eax],00000000h pop ebp or eax,FFFFFFFFh pop ebx add esp,0000005Ch retn ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_004A5A44: dd CASE_004A5A44_PROC0000 dd CASE_004A5A44_PROC0000 dd CASE_004A5A44_PROC0000 dd CASE_004A5A44_PROC0000 dd CASE_004A5A44_PROC0004 Align 16 SUB_L004A5A60: push ecx push ebx push ebp mov ebp,[esp+10h] push esi push edi mov edx,ebp mov edi,[ebp+00h] mov esi,00000002h test edi,edi jz L004A5A8E L004A5A77: or ecx,FFFFFFFFh xor eax,eax add edx,00000004h repne scasb mov edi,[edx] not ecx dec ecx test edi,edi lea esi,[esi+ecx+01h] jnz L004A5A77 L004A5A8E: push esi call SUB_L0049D430 mov ecx,[esp+24h] add esp,00000004h test eax,eax mov [ecx],eax jnz L004A5AAC mov edx,[esp+24h] mov [edx],eax jmp L004A5BAC L004A5AAC: mov edx,[esp+1Ch] test edx,edx jz L004A5AD6 mov edi,[edx] mov esi,00000002h test edi,edi jz L004A5AD6 L004A5ABF: or ecx,FFFFFFFFh xor eax,eax add edx,00000004h repne scasb mov edi,[edx] not ecx dec ecx test edi,edi lea esi,[esi+ecx+01h] jnz L004A5ABF L004A5AD6: mov eax,[esp+1Ch] test eax,eax jnz L004A5AF1 mov eax,[esp+24h] mov ebx,[esp+24h] mov dword ptr [eax],00000000h jmp L004A5BCF L004A5AF1: mov ebp,[L007B8630] test ebp,ebp jnz L004A5B15 call SUB_L004A2160 mov ebp,eax test ebp,ebp mov [L007B8630],ebp jnz L004A5B15 or eax,FFFFFFFFh pop edi pop esi pop ebp pop ebx pop ecx retn ;------------------------------------------------------------------------------ L004A5B15: mov al,[ebp+00h] xor edx,edx test al,al mov [esp+10h],edx jz L004A5B48 mov edi,ebp mov al,[edi] L004A5B26: cmp al,3Dh jz L004A5B48 or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx lea edi,[edx+ecx+01h] mov [esp+10h],edi add edi,ebp mov edx,[esp+10h] mov al,[edi] test al,al jnz L004A5B26 L004A5B48: mov al,[edx+ebp] mov ebx,edx cmp al,3Dh jnz L004A5B7F L004A5B51: mov al,[ebx+ebp+01h] test al,al jz L004A5B7F cmp byte ptr [ebx+ebp+02h],3Ah jnz L004A5B7F cmp byte ptr [ebx+ebp+03h],3Dh jnz L004A5B7F lea edi,[ebx+ebp+04h] or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx lea ebx,[ebx+ecx+05h] cmp byte ptr [ebx+ebp],3Dh jz L004A5B51 L004A5B7F: lea ecx,[ebx+esi] sub ecx,edx push ecx call SUB_L0049D430 mov edx,[esp+28h] add esp,00000004h test eax,eax mov [edx],eax jnz L004A5BCB mov esi,[esp+20h] mov eax,[esi] push eax call SUB_L0049C430 add esp,00000004h mov dword ptr [esi],00000000h L004A5BAC: call SUB_L0049BD30 mov dword ptr [eax],0000000Ch call SUB_L0049BD40 mov dword ptr [eax],00000008h or eax,FFFFFFFFh pop edi pop esi pop ebp pop ebx pop ecx retn ;------------------------------------------------------------------------------ L004A5BCB: mov ebp,[esp+18h] L004A5BCF: mov eax,[esp+18h] mov ecx,[esp+20h] mov edi,[eax] mov edx,[ecx] test edi,edi jnz L004A5BE2 inc edx jmp L004A5C16 L004A5BE2: or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax mov eax,[esp+18h] and ecx,00000003h rep movsb mov edi,[eax] lea ebp,[eax+04h] or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx lea edx,[edx+ecx+01h] L004A5C16: mov edi,[ebp+00h] test edi,edi jz L004A5C57 L004A5C1D: or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx add ebp,00000004h mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax xor eax,eax and ecx,00000003h rep movsb mov edi,[ebp-04h] or ecx,FFFFFFFFh repne scasb not ecx dec ecx add edx,ecx mov byte ptr [edx],20h mov edi,[ebp+00h] inc edx test edi,edi jnz L004A5C1D L004A5C57: mov ecx,[esp+24h] mov eax,[esp+1Ch] mov byte ptr [edx-01h],00h mov byte ptr [edx],00h mov edx,[ecx] test eax,eax jz L004A5CD3 mov eax,[esp+10h] mov esi,[L007B8630] mov ecx,ebx add esi,eax sub ecx,eax mov edi,edx mov eax,ecx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb sub ebx,[esp+10h] add edx,ebx mov ebx,[esp+1Ch] mov edi,[ebx] test edi,edi jz L004A5CD3 L004A5C9C: or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx add ebx,00000004h mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax xor eax,eax and ecx,00000003h rep movsb mov edi,[ebx-04h] or ecx,FFFFFFFFh repne scasb mov edi,[ebx] not ecx dec ecx test edi,edi lea edx,[edx+ecx+01h] jnz L004A5C9C L004A5CD3: test edx,edx jz L004A5CE6 mov ecx,[esp+24h] cmp edx,[ecx] jnz L004A5CE3 mov byte ptr [edx],00h inc edx L004A5CE3: mov byte ptr [edx],00h L004A5CE6: mov edx,[L007B8630] push edx call SUB_L0049C430 add esp,00000004h mov dword ptr [L007B8630],00000000h xor eax,eax pop edi pop esi pop ebp pop ebx pop ecx retn ;------------------------------------------------------------------------------ Align 16 SUB_L004A5D10: mov eax,[L007B8B50] test eax,eax jnz L004A5D41 push 0000000Bh call SUB_L0049C9A0 mov eax,[L007B8B50] add esp,00000004h test eax,eax jnz L004A5D37 call SUB_L004A5D50 inc [L007B8B50] L004A5D37: push 0000000Bh call SUB_L0049CA20 add esp,00000004h L004A5D41: retn ;------------------------------------------------------------------------------ Align 16 SUB_L004A5D50: push ecx push ebp push esi push edi xor esi,esi push 0000000Ch mov [esp+10h],esi call SUB_L0049C9A0 add esp,00000004h mov [L007B8A98],esi mov dword ptr [L004D4450],FFFFFFFFh mov dword ptr [L004D4440],FFFFFFFFh push L004BDBF8 call SUB_L004A7C20 mov ebp,eax add esp,00000004h cmp ebp,esi jnz L004A5E6B push 0000000Ch call SUB_L0049CA20 add esp,00000004h push L007B8AA0 call [KERNEL32.dll!GetTimeZoneInformation] cmp eax,FFFFFFFFh jz L004A6023 mov eax,[L007B8AA0] mov ecx,[L007B8AF4] xor edi,edi mov esi,00000001h lea eax,[eax+eax*2] mov [L007B8A98],esi lea eax,[eax+eax*4] shl eax,02h cmp [L007B8AE6],di mov [L004D43A8],eax jz L004A5DF0 lea edx,[ecx+ecx*2] lea edx,[edx+edx*4] lea eax,[eax+edx*4] mov [L004D43A8],eax L004A5DF0: cmp [L007B8B3A],di jz L004A5E1B mov eax,[L007B8B48] cmp eax,edi jz L004A5E1B sub eax,ecx mov [L004D43AC],esi lea eax,[eax+eax*2] lea ecx,[eax+eax*4] shl ecx,02h mov [L004D43B0],ecx jmp L004A5E27 L004A5E1B: mov [L004D43AC],edi mov [L004D43B0],edi L004A5E27: mov edx,[L004D4438] push 00000040h push L007B8AA4 push edx call SUB_L004A7970 mov eax,[L004D443C] add esp,0000000Ch push 00000040h push L007B8AF8 push eax call SUB_L004A7970 mov ecx,[L004D443C] add esp,0000000Ch mov byte ptr [ecx+3Fh],00h mov edx,[L004D4438] mov byte ptr [edx+3Fh],00h pop edi pop esi pop ebp pop ecx retn ;------------------------------------------------------------------------------ L004A5E6B: cmp byte ptr [ebp+00h],00h jz L004A6019 mov edi,[L007B8B4C] cmp edi,esi jz L004A5EB4 mov esi,edi mov eax,ebp L004A5E83: mov dl,[eax] mov cl,dl cmp dl,[esi] jnz L004A5EA7 test cl,cl jz L004A5EA3 mov dl,[eax+01h] mov cl,dl cmp dl,[esi+01h] jnz L004A5EA7 add eax,00000002h add esi,00000002h test cl,cl jnz L004A5E83 L004A5EA3: xor eax,eax jmp L004A5EAC L004A5EA7: sbb eax,eax sbb eax,FFFFFFFFh L004A5EAC: test eax,eax jz L004A6019 L004A5EB4: push edi call SUB_L0049C430 mov edi,ebp or ecx,FFFFFFFFh xor eax,eax add esp,00000004h repne scasb not ecx push ecx call SUB_L0049D430 mov edx,eax add esp,00000004h test edx,edx mov [L007B8B4C],edx jz L004A6019 mov edi,ebp or ecx,FFFFFFFFh xor eax,eax push 0000000Ch repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb call SUB_L0049CA20 mov ecx,[L004D4438] add esp,00000004h push 00000003h push ebp push ecx call SUB_L0049B200 mov edx,[L004D4438] add ebp,00000003h add esp,0000000Ch mov byte ptr [edx+03h],00h mov al,[ebp+00h] cmp al,2Dh jnz L004A5F38 mov esi,00000001h inc ebp jmp L004A5F3C L004A5F38: mov esi,[esp+0Ch] L004A5F3C: push ebp call SUB_L0049BA70 lea eax,[eax+eax*4] add esp,00000004h lea eax,[eax+eax*4] lea ecx,[eax+eax*8] shl ecx,04h mov [L004D43A8],ecx L004A5F57: mov al,[ebp+00h] cmp al,2Bh jz L004A5F66 cmp al,30h jl L004A5F69 cmp al,39h jg L004A5F69 L004A5F66: inc ebp jmp L004A5F57 L004A5F69: cmp byte ptr [ebp+00h],3Ah jnz L004A5FD2 inc ebp push ebp call SUB_L0049BA70 mov ecx,[L004D43A8] lea eax,[eax+eax*2] add esp,00000004h lea eax,[eax+eax*4] lea ecx,[ecx+eax*4] mov [L004D43A8],ecx mov al,[ebp+00h] cmp al,30h jl L004A5FA1 L004A5F95: cmp al,39h jg L004A5FA1 mov al,[ebp+01h] inc ebp cmp al,30h jge L004A5F95 L004A5FA1: cmp byte ptr [ebp+00h],3Ah jnz L004A5FD2 inc ebp push ebp call SUB_L0049BA70 mov ecx,[L004D43A8] add esp,00000004h add ecx,eax mov [L004D43A8],ecx mov al,[ebp+00h] cmp al,30h jl L004A5FD2 L004A5FC6: cmp al,39h jg L004A5FD2 mov al,[ebp+01h] inc ebp cmp al,30h jge L004A5FC6 L004A5FD2: test esi,esi jz L004A5FDE neg ecx mov [L004D43A8],ecx L004A5FDE: movsx eax,[ebp+00h] test eax,eax mov [L004D43AC],eax jz L004A600B mov edx,[L004D443C] push 00000003h push ebp push edx call SUB_L0049B200 mov eax,[L004D443C] add esp,0000000Ch mov byte ptr [eax+03h],00h pop edi pop esi pop ebp pop ecx retn ;------------------------------------------------------------------------------ L004A600B: mov ecx,[L004D443C] mov byte ptr [ecx],00h pop edi pop esi pop ebp pop ecx retn ;------------------------------------------------------------------------------ L004A6019: push 0000000Ch call SUB_L0049CA20 add esp,00000004h L004A6023: pop edi pop esi pop ebp pop ecx retn ;------------------------------------------------------------------------------ Align 16 SUB_L004A6030: push esi push 0000000Bh call SUB_L0049C9A0 mov eax,[esp+0Ch] add esp,00000004h push eax call SUB_L004A6060 add esp,00000004h mov esi,eax push 0000000Bh call SUB_L0049CA20 add esp,00000004h mov eax,esi pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L004A6060: mov eax,[L004D43AC] push esi test eax,eax push edi jnz L004A6070 xor eax,eax pop edi pop esi retn ;------------------------------------------------------------------------------ L004A6070: mov esi,[esp+0Ch] mov ecx,[L004D4440] mov eax,[esi+14h] cmp eax,ecx jnz L004A608D cmp eax,[L004D4450] jz L004A6234 L004A608D: mov ecx,[L007B8A98] test ecx,ecx jz L004A61F7 cmp word ptr [L007B8B38],0000h jnz L004A60FB mov edx,[L007B8B44] xor ecx,ecx mov cx,[L007B8B46] and edx,0000FFFFh push ecx xor ecx,ecx mov cx,[L007B8B42] push edx mov edx,[L007B8B40] push ecx mov ecx,[L007B8B3C] and edx,0000FFFFh push edx and ecx,0000FFFFh push 00000000h push ecx xor edx,edx xor ecx,ecx mov dx,[L007B8B3E] mov cx,[L007B8B3A] push edx push ecx push eax push 00000001h jmp L004A6144 L004A60FB: mov ecx,[L007B8B44] xor edx,edx mov dx,[L007B8B46] and ecx,0000FFFFh push edx xor edx,edx mov dx,[L007B8B42] push ecx mov ecx,[L007B8B40] push edx and ecx,0000FFFFh xor edx,edx mov dx,[L007B8B3E] push ecx xor ecx,ecx push edx mov cx,[L007B8B3A] push 00000000h push 00000000h push ecx push eax push 00000000h L004A6144: push 00000001h call SUB_L004A62D0 add esp,0000002Ch cmp word ptr [L007B8AE4],0000h jnz L004A61AB mov eax,[L007B8AF0] xor edx,edx mov dx,[L007B8AF2] and eax,0000FFFFh push edx mov edx,[L007B8AEC] xor ecx,ecx push eax mov cx,[L007B8AEE] mov eax,[L007B8AE8] and edx,0000FFFFh push ecx push edx and eax,0000FFFFh xor ecx,ecx xor edx,edx mov cx,[L007B8AEA] mov dx,[L007B8AE6] push 00000000h push eax mov eax,[esi+14h] push ecx push edx push eax jmp L004A6228 L004A61AB: mov edx,[L007B8AF0] xor ecx,ecx mov cx,[L007B8AF2] and edx,0000FFFFh push ecx mov ecx,[L007B8AEC] xor eax,eax push edx mov ax,[L007B8AEE] xor edx,edx mov dx,[L007B8AEA] and ecx,0000FFFFh push eax push ecx mov ecx,[esi+14h] xor eax,eax mov ax,[L007B8AE6] push edx push 00000000h push 00000000h push eax push ecx push 00000000h jmp L004A622A L004A61F7: push 00000000h push 00000000h push 00000000h push 00000002h push 00000000h push 00000000h push 00000001h push 00000004h push eax push 00000001h push 00000001h call SUB_L004A62D0 add esp,0000002Ch mov edx,[esi+14h] push 00000000h push 00000000h push 00000000h push 00000002h push 00000000h push 00000000h push 00000005h push 0000000Ah push edx L004A6228: push 00000001h L004A622A: push 00000000h call SUB_L004A62D0 add esp,0000002Ch L004A6234: mov edx,[L004D4444] mov eax,[L004D4454] mov ecx,[esi+1Ch] cmp edx,eax jge L004A625E cmp ecx,edx jl L004A626E cmp ecx,eax jg L004A626E cmp ecx,edx jle L004A6273 cmp ecx,eax jge L004A6273 mov eax,00000001h pop edi pop esi retn ;------------------------------------------------------------------------------ L004A625E: cmp ecx,eax jl L004A62C1 cmp ecx,edx jg L004A62C1 cmp ecx,eax jle L004A6273 cmp ecx,edx jge L004A6273 L004A626E: xor eax,eax pop edi pop esi retn ;------------------------------------------------------------------------------ L004A6273: mov eax,[esi+08h] mov edi,[esi+04h] mov esi,[esi] lea eax,[eax+eax*2] lea eax,[eax+eax*4] lea eax,[edi+eax*4] lea eax,[eax+eax*2] lea eax,[eax+eax*4] lea eax,[esi+eax*4] lea eax,[eax+eax*4] lea eax,[eax+eax*4] lea eax,[eax+eax*4] shl eax,03h cmp ecx,edx jnz L004A62AF mov edx,[L004D4448] xor ecx,ecx cmp eax,edx setge cl mov eax,ecx pop edi pop esi retn ;------------------------------------------------------------------------------ L004A62AF: mov ecx,[L004D4458] xor edx,edx cmp eax,ecx setl dl mov eax,edx pop edi pop esi retn ;------------------------------------------------------------------------------ L004A62C1: pop edi mov eax,00000001h pop esi retn ;------------------------------------------------------------------------------ Align 8 SUB_L004A62D0: mov eax,[esp+08h] push ebx mov ebx,[esp+10h] push ebp push esi cmp eax,00000001h push edi jnz L004A6385 mov eax,ebx and eax,00000003h mov [esp+1Ch],eax jnz L004A6303 mov eax,[esp+20h] lea edi,[00000000h+eax*4] mov eax,[edi+L004D445C] jmp L004A6314 L004A6303: mov ecx,[esp+20h] lea edi,[00000000h+ecx*4] mov eax,[edi+L004D4494] L004A6314: lea edx,[ebx+ebx*8] lea ecx,[eax+01h] lea esi,[ebx-01h] lea eax,[ebx+edx*8] mov edx,eax add edx,ecx sar esi,02h lea eax,[edx+eax*4] lea eax,[esi+eax-000063DBh] mov esi,00000007h cdq idiv esi mov esi,[esp+28h] mov eax,[esp+24h] mov ebp,eax cmp edx,esi jge L004A6356 shl ebp,03h sub ebp,eax sub ebp,edx add ebp,esi lea ecx,[ecx+ebp-07h] jmp L004A6361 L004A6356: shl ebp,03h sub ebp,eax sub ebp,edx add ebp,esi add ecx,ebp L004A6361: cmp eax,00000005h jnz L004A63A6 mov eax,[esp+1Ch] test eax,eax jnz L004A6376 mov edi,[edi+L004D4460] jmp L004A637C L004A6376: mov edi,[edi+L004D4498] L004A637C: cmp ecx,edi jle L004A63A6 sub ecx,00000007h jmp L004A63A6 L004A6385: test bl,03h jnz L004A6397 mov ecx,[esp+20h] mov ecx,[L004D445C+ecx*4] jmp L004A63A2 L004A6397: mov edx,[esp+20h] mov ecx,[L004D4494+edx*4] L004A63A2: add ecx,[esp+2Ch] L004A63A6: cmp dword ptr [esp+14h],00000001h jnz L004A63F4 mov eax,[esp+30h] mov edx,[esp+34h] mov [L004D4444],ecx mov ecx,eax shl ecx,04h sub ecx,eax mov [L004D4440],ebx lea eax,[edx+ecx*4] mov edx,[esp+38h] mov ecx,eax shl ecx,04h sub ecx,eax lea eax,[edx+ecx*4] mov ecx,[esp+3Ch] lea eax,[eax+eax*4] lea eax,[eax+eax*4] lea eax,[eax+eax*4] lea edx,[ecx+eax*8] mov [L004D4448],edx pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ L004A63F4: mov eax,[esp+30h] mov edx,[esp+34h] mov [L004D4454],ecx mov ecx,eax shl ecx,04h sub ecx,eax lea eax,[edx+ecx*4] mov edx,[esp+38h] mov ecx,eax shl ecx,04h sub ecx,eax lea eax,[edx+ecx*4] mov edx,[L004D43B0] add eax,edx mov ecx,[esp+3Ch] lea eax,[eax+eax*4] lea eax,[eax+eax*4] lea eax,[eax+eax*4] lea eax,[ecx+eax*8] test eax,eax mov [L004D4458],eax jge L004A6450 add eax,05265BFFh mov [L004D4450],ebx mov [L004D4458],eax pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ L004A6450: cmp eax,05265C00h jl L004A6461 sub eax,05265BFFh mov [L004D4458],eax L004A6461: pop edi pop esi mov [L004D4450],ebx pop ebp pop ebx retn ;------------------------------------------------------------------------------ Align 8 SUB_L004A6470: mov ecx,[esp+04h] cmp word ptr [ecx],0000h lea eax,[ecx+02h] jz L004A6488 L004A647D: mov dx,[eax] add eax,00000002h test dx,dx jnz L004A647D L004A6488: sub eax,ecx sar eax,1 dec eax retn ;------------------------------------------------------------------------------ Align 4 SUB_L004A6490: mov eax,[L007B8B54] push ebx xor ebx,ebx push esi test eax,eax push edi jnz L004A64E0 push SSZ004BDC2C_user32_dll call [KERNEL32.dll!LoadLibraryA] mov esi,eax test esi,esi jz L004A6519 mov edi,[KERNEL32.dll!GetProcAddress] push SSZ004BDC20_MessageBoxA push esi call edi test eax,eax mov [L007B8B54],eax jz L004A6519 push SSZ004BDC10_GetActiveWindow push esi call edi push SSZ004BDBFC_GetLastActivePopup push esi mov [L007B8B58],eax call edi mov [L007B8B5C],eax L004A64E0: mov eax,[L007B8B58] test eax,eax jz L004A64ED call eax mov ebx,eax L004A64ED: test ebx,ebx jz L004A64FF mov eax,[L007B8B5C] test eax,eax jz L004A64FF push ebx call eax mov ebx,eax L004A64FF: mov eax,[esp+18h] mov ecx,[esp+14h] mov edx,[esp+10h] push eax push ecx push edx push ebx call [L007B8B54] pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ L004A6519: pop edi pop esi xor eax,eax pop ebx retn ;------------------------------------------------------------------------------ Align 4 L004A6520: push ebp push esi push 00000002h xor ebp,ebp call SUB_L0049C9A0 mov eax,[L007B9BC0] mov esi,00000003h add esp,00000004h cmp eax,esi jle L004A65A4 push edi mov edi,[KERNEL32.dll!DeleteCriticalSection] push ebx mov bl,83h L004A6546: mov eax,[L007B8BA8] mov eax,[eax+esi*4] test eax,eax jz L004A6598 test [eax+0Ch],bl jz L004A6566 push eax call SUB_L0049A580 add esp,00000004h cmp eax,FFFFFFFFh jz L004A6566 inc ebp L004A6566: cmp esi,00000014h jl L004A6598 mov ecx,[L007B8BA8] mov edx,[ecx+esi*4] add edx,00000020h push edx call edi mov eax,[L007B8BA8] mov ecx,[eax+esi*4] push ecx call SUB_L0049C430 mov edx,[L007B8BA8] add esp,00000004h mov dword ptr [edx+esi*4],00000000h L004A6598: mov eax,[L007B9BC0] inc esi cmp esi,eax jl L004A6546 pop ebx pop edi L004A65A4: push 00000002h call SUB_L0049CA20 add esp,00000004h mov eax,ebp pop esi pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L004A65C0: mov eax,00001004h call SUB_L0049ACF0 push ebx mov ebx,[esp+0000100Ch] push ebp push esi push edi xor ebp,ebp push 00000001h push ebp push ebx call SUB_L0049F510 mov edi,eax add esp,0000000Ch cmp edi,FFFFFFFFh mov [esp+10h],edi jz L004A6700 push 00000002h push ebp push ebx call SUB_L0049F510 add esp,0000000Ch cmp eax,FFFFFFFFh jz L004A6700 mov ecx,[esp+0000101Ch] mov esi,ecx sub esi,eax test esi,esi jle L004A66A1 mov ecx,00000400h xor eax,eax lea edi,[esp+14h] push 00008000h rep stosd push ebx call SUB_L004A7CB0 add esp,00000008h mov edi,eax L004A6637: cmp esi,00001000h mov eax,00001000h jge L004A6646 mov eax,esi L004A6646: push eax lea eax,[esp+18h] push eax push ebx call SUB_L0049F280 add esp,0000000Ch cmp eax,FFFFFFFFh jz L004A6662 sub esi,eax test esi,esi jle L004A667A jmp L004A6637 L004A6662: call SUB_L0049BD40 cmp dword ptr [eax],00000005h jnz L004A6677 call SUB_L0049BD30 mov dword ptr [eax],0000000Dh L004A6677: or ebp,FFFFFFFFh L004A667A: push edi push ebx call SUB_L004A7CB0 mov edi,[esp+18h] add esp,00000008h push 00000000h push edi push ebx call SUB_L0049F510 add esp,0000000Ch mov eax,ebp pop edi pop esi pop ebp pop ebx add esp,00001004h retn ;------------------------------------------------------------------------------ L004A66A1: jge L004A66E7 push 00000000h push ecx push ebx call SUB_L0049F510 add esp,0000000Ch push ebx call SUB_L004A2D90 add esp,00000004h push eax call [KERNEL32.dll!SetEndOfFile] mov ebp,eax neg ebp sbb ebp,ebp neg ebp dec ebp cmp ebp,FFFFFFFFh jnz L004A66E7 call SUB_L0049BD30 mov dword ptr [eax],0000000Dh call [KERNEL32.dll!GetLastError] mov esi,eax call SUB_L0049BD40 mov [eax],esi L004A66E7: push 00000000h push edi push ebx call SUB_L0049F510 add esp,0000000Ch mov eax,ebp pop edi pop esi pop ebp pop ebx add esp,00001004h retn ;------------------------------------------------------------------------------ L004A6700: pop edi pop esi pop ebp or eax,FFFFFFFFh pop ebx add esp,00001004h retn ;------------------------------------------------------------------------------ Align 4 SUB_L004A6710: sub esp,00000008h push ebx push ebp mov ebp,[esp+14h] push esi push edi mov dword ptr [esp+10h],00000000h lea eax,[ebp-02h] cmp eax,00000014h ja CASE_004A68E8_PROC0007 xor ecx,ecx mov cl,[eax+CASE_004A6908] jmp [CASE_PROCTABLE_004A68E8+ecx*4] CASE_004A68E8_PROC0000: mov ebx,[L007B8B64] mov esi,[esp+1Ch] mov edi,L007B8B64 mov dword ptr [esp+10h],00000001h jmp L004A67BD CASE_004A68E8_PROC0005: mov ebx,[L007B8B68] mov esi,[esp+1Ch] mov edi,L007B8B68 mov dword ptr [esp+10h],00000001h jmp L004A67BD CASE_004A68E8_PROC0006: mov ebx,[L007B8B6C] mov esi,[esp+1Ch] mov edi,L007B8B6C mov dword ptr [esp+10h],00000001h jmp L004A67BD CASE_004A68E8_PROC0004: mov ebx,[L007B8B70] mov esi,[esp+1Ch] mov edi,L007B8B70 mov dword ptr [esp+10h],00000001h jmp L004A67BD CASE_004A68E8_PROC0001: call SUB_L0049DFE0 mov esi,eax mov edx,[esi+50h] push edx push ebp call SUB_L004A6920 mov edi,eax add esp,00000008h add edi,00000008h mov ebx,[edi] L004A67BD: mov eax,[esp+10h] test eax,eax jz L004A67CF push 00000001h call SUB_L0049C9A0 add esp,00000004h L004A67CF: cmp ebx,00000001h jnz L004A67F3 mov eax,[esp+10h] test eax,eax jz L004A68D3 push ebx call SUB_L0049CA20 add esp,00000004h xor eax,eax pop edi pop esi pop ebp pop ebx add esp,00000008h retn ;------------------------------------------------------------------------------ L004A67F3: test ebx,ebx jnz L004A6813 mov eax,[esp+10h] test eax,eax jz L004A6809 push 00000001h call SUB_L0049CA20 add esp,00000004h L004A6809: push 00000003h call SUB_L0049B0E0 add esp,00000004h L004A6813: cmp ebp,00000008h jz L004A6822 cmp ebp,0000000Bh jz L004A6822 cmp ebp,00000004h jnz L004A6843 L004A6822: mov eax,[esi+54h] cmp ebp,00000008h mov [esp+1Ch],eax mov dword ptr [esi+54h],00000000h jnz L004A6882 mov ecx,[esi+58h] mov dword ptr [esi+58h],0000008Ch mov [esp+14h],ecx L004A6843: cmp ebp,00000008h jnz L004A6882 mov eax,[L004D37D0] mov edx,[L004D37D4] add edx,eax cmp eax,edx jge L004A6888 lea ecx,[eax+eax*2] shl ecx,02h L004A685F: mov edx,[esi+50h] inc eax mov dword ptr [edx+ecx+08h],00000000h mov edx,[L004D37D0] mov edi,[L004D37D4] add ecx,0000000Ch add edi,edx cmp eax,edi jl L004A685F jmp L004A6888 L004A6882: mov dword ptr [edi],00000000h L004A6888: mov eax,[esp+10h] test eax,eax jz L004A689A push 00000001h call SUB_L0049CA20 add esp,00000004h L004A689A: cmp ebp,00000008h jnz L004A68AB mov eax,[esi+58h] push eax push ebp call ebx add esp,00000008h jmp L004A68B1 L004A68AB: push ebp call ebx add esp,00000004h L004A68B1: cmp ebp,00000008h jz L004A68C0 cmp ebp,0000000Bh jz L004A68C0 cmp ebp,00000004h jnz L004A68D3 L004A68C0: mov ecx,[esp+1Ch] cmp ebp,00000008h mov [esi+54h],ecx jnz L004A68D3 mov edx,[esp+14h] mov [esi+58h],edx L004A68D3: xor eax,eax pop edi pop esi pop ebp pop ebx add esp,00000008h retn ;------------------------------------------------------------------------------ CASE_004A68E8_PROC0007: pop edi pop esi pop ebp or eax,FFFFFFFFh pop ebx add esp,00000008h retn ;------------------------------------------------------------------------------ CASE_PROCTABLE_004A68E8: dd CASE_004A68E8_PROC0000 dd CASE_004A68E8_PROC0001 dd CASE_004A68E8_PROC0001 dd CASE_004A68E8_PROC0001 dd CASE_004A68E8_PROC0004 dd CASE_004A68E8_PROC0005 dd CASE_004A68E8_PROC0006 dd CASE_004A68E8_PROC0007 CASE_004A6908: db 00h, 07h, 01h, 07h, 07h, 07h, 02h, 07h, 07h, 03h, 07h, 07h, 07h, 04h, 07h, 07h db 07h, 07h, 07h, 05h, 06h Align 4 SUB_L004A6920: mov edx,[esp+04h] push esi mov esi,[esp+0Ch] push edi mov edi,[L004D37DC] mov ecx,[esi+04h] mov eax,esi cmp ecx,edx jz L004A694B lea ecx,[edi+edi*2] lea ecx,[esi+ecx*4] L004A693F: add eax,0000000Ch cmp eax,ecx jnc L004A694B cmp [eax+04h],edx jnz L004A693F L004A694B: lea ecx,[edi+edi*2] lea ecx,[esi+ecx*4] cmp eax,ecx jnc L004A695A cmp [eax+04h],edx jz L004A695C L004A695A: xor eax,eax L004A695C: pop edi pop esi retn ;------------------------------------------------------------------------------ Align 4 SUB_L004A6960: mov eax,[esp+04h] sub esp,00000084h push ebx push ebp mov ebp,00000001h push esi cmp eax,ebp push edi jnz L004A6A60 mov ebx,[esp+000000A0h] mov ebp,[esp+0000009Ch] push 00000000h lea eax,[esp+18h] push 00000080h push eax push ebx push ebp lea edi,[esp+28h] mov dword ptr [esp+24h],00000000h call SUB_L004A7E50 mov esi,eax add esp,00000014h test esi,esi jnz L004A69FA call [KERNEL32.dll!GetLastError] cmp eax,0000007Ah jnz L004A6A10 push esi push esi push esi push ebx push ebp call SUB_L004A7E50 mov esi,eax add esp,00000014h test esi,esi jz L004A6A10 push esi call SUB_L0049D430 mov edi,eax add esp,00000004h test edi,edi jz L004A6A10 push 00000000h push esi push edi push ebx push ebp mov dword ptr [esp+24h],00000001h call SUB_L004A7E50 mov esi,eax add esp,00000014h test esi,esi jz L004A6A10 L004A69FA: push esi call SUB_L0049D430 mov ecx,[esp+000000A8h] add esp,00000004h test eax,eax mov [ecx],eax jnz L004A6A33 L004A6A10: mov eax,[esp+10h] test eax,eax jz L004A6AFE push edi call SUB_L0049C430 add esp,00000004h or eax,FFFFFFFFh pop edi pop esi pop ebp pop ebx add esp,00000084h retn ;------------------------------------------------------------------------------ L004A6A33: push esi push edi push eax call SUB_L0049B200 mov eax,[esp+1Ch] add esp,0000000Ch test eax,eax jz L004A6AF1 push edi call SUB_L0049C430 add esp,00000004h xor eax,eax pop edi pop esi pop ebp pop ebx add esp,00000084h retn ;------------------------------------------------------------------------------ L004A6A60: test eax,eax jnz L004A6AFE mov edx,[esp+000000A0h] push eax mov eax,[esp+000000A0h] push 00000004h push L007B8B80 push edx push eax call SUB_L004A7D20 add esp,00000014h test eax,eax jz L004A6AFE mov edi,[esp+000000A4h] mov esi,L007B8B80 mov byte ptr [edi],00h L004A6A9B: mov eax,[L004D16BC] mov bl,[esi] cmp eax,ebp mov [esp+10h],bl jle L004A6AC1 mov ecx,[esp+10h] push 00000004h and ecx,000000FFh push ecx call SUB_L0049F080 add esp,00000008h jmp L004A6AD6 L004A6AC1: mov edx,[esp+10h] mov eax,[L004D14B0] and edx,000000FFh mov al,[eax+edx*2] and eax,00000004h L004A6AD6: test eax,eax jz L004A6AF1 mov al,[edi] mov cl,0Ah imul cl add al,bl add esi,00000002h sub al,30h cmp esi,L007B8B88 mov [edi],al jl L004A6A9B L004A6AF1: xor eax,eax pop edi pop esi pop ebp pop ebx add esp,00000084h retn ;------------------------------------------------------------------------------ L004A6AFE: pop edi pop esi pop ebp or eax,FFFFFFFFh pop ebx add esp,00000084h retn ;------------------------------------------------------------------------------ db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' push ebp mov ebp,esp push edi push esi push ebx mov ecx,[ebp+10h] or ecx,ecx jz L004A6C0A mov esi,[ebp+08h] mov edi,[ebp+0Ch] lea eax,[L007B86B0] cmp dword ptr [eax+08h],00000000h jnz L004A6B81 mov bh,41h mov bl,5Ah mov dh,20h mov eax,eax L004A6B3C: mov ah,[esi] or ah,ah mov al,[edi] jz L004A6B65 or al,al jz L004A6B65 inc esi inc edi cmp ah,bh jc L004A6B54 cmp ah,bl ja L004A6B54 add ah,dh L004A6B54: cmp al,bh jc L004A6B5E cmp al,bl ja L004A6B5E add al,dh L004A6B5E: cmp ah,al jnz L004A6B6F dec ecx jnz L004A6B3C L004A6B65: xor ecx,ecx cmp ah,al jz L004A6C0A L004A6B6F: mov ecx,FFFFFFFFh jc L004A6C0A neg ecx jmp L004A6C0A L004A6B81: lock inc [L007B9CE8] cmp dword ptr [L007B9CE4],00000000h jg L004A6B95 push 00000000h jmp L004A6BAE L004A6B95: lock dec [L007B9CE8] mov ebx,ecx push 00000013h call SUB_L0049C9A0 mov dword ptr [esp],00000001h mov ecx,ebx L004A6BAE: xor eax,eax xor ebx,ebx mov eax,eax L004A6BB4: mov al,[esi] or eax,eax mov bl,[edi] jz L004A6BDF or ebx,ebx jz L004A6BDF inc esi inc edi push ecx push eax push ebx call SUB_L0049ADB0 mov ebx,eax add esp,00000004h call SUB_L0049ADB0 add esp,00000004h pop ecx cmp eax,ebx jnz L004A6BE5 dec ecx jnz L004A6BB4 L004A6BDF: xor ecx,ecx cmp eax,ebx jz L004A6BEE L004A6BE5: mov ecx,FFFFFFFFh jc L004A6BEE neg ecx L004A6BEE: pop eax or eax,eax jnz L004A6BFC lock dec [L007B9CE8] jmp L004A6C0A L004A6BFC: mov ebx,ecx push 00000013h call SUB_L0049CA20 add esp,00000004h mov ecx,ebx L004A6C0A: mov eax,ecx pop ebx pop esi pop edi leave retn ;------------------------------------------------------------------------------ Align 16 SUB_L004A6C20: mov edx,[esp+04h] push esi mov esi,[esp+0Ch] xor eax,eax lea ecx,[esi+edx] cmp ecx,edx jc L004A6C36 cmp ecx,esi jnc L004A6C3B L004A6C36: mov eax,00000001h L004A6C3B: mov edx,[esp+10h] pop esi mov [edx],ecx retn ;------------------------------------------------------------------------------ Align 16 SUB_L004A6C50: push esi mov esi,[esp+08h] push edi mov edi,[esp+10h] mov ecx,[esi] push esi mov eax,[edi] push eax push ecx call SUB_L004A6C20 add esp,0000000Ch test eax,eax jz L004A6C86 mov edx,[esi+04h] lea eax,[esi+04h] push eax push 00000001h push edx call SUB_L004A6C20 add esp,0000000Ch test eax,eax jz L004A6C86 inc [esi+08h] L004A6C86: mov ecx,[edi+04h] mov edx,[esi+04h] lea eax,[esi+04h] push eax push ecx push edx call SUB_L004A6C20 add esp,0000000Ch test eax,eax jz L004A6CA1 inc [esi+08h] L004A6CA1: mov ecx,[edi+08h] mov edx,[esi+08h] lea eax,[esi+08h] push eax push ecx push edx call SUB_L004A6C20 add esp,0000000Ch pop edi pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L004A6CC0: mov eax,[esp+04h] push esi push edi mov esi,[eax] mov edi,[eax+04h] mov ecx,esi add esi,esi mov [eax],esi lea esi,[edi+edi] shr ecx,1Fh or esi,ecx mov ecx,[eax+08h] mov edx,edi mov [eax+04h],esi shr edx,1Fh shl ecx,1 or ecx,edx pop edi mov [eax+08h],ecx pop esi retn ;------------------------------------------------------------------------------ Align 4 SUB_L004A6CF0: mov eax,[esp+04h] push esi push edi mov edx,[eax+08h] mov ecx,[eax+04h] mov esi,edx mov edi,ecx shl esi,1Fh shr ecx,1 or ecx,esi mov [eax+04h],ecx mov ecx,[eax] shl edi,1Fh shr ecx,1 shr edx,1 or ecx,edi pop edi mov [eax+08h],edx mov [eax],ecx pop esi retn ;------------------------------------------------------------------------------ Align 4 SUB_L004A6D20: mov eax,[esp+08h] sub esp,0000000Ch push ebx push ebp push esi mov esi,[esp+24h] xor ebp,ebp push edi cmp eax,ebp mov edi,0000404Eh mov [esi],ebp mov [esi+04h],ebp mov [esi+08h],ebp jbe L004A6DB2 mov ebx,[esp+20h] mov [esp+28h],eax L004A6D4A: mov eax,esi push esi mov ecx,[eax] mov [esp+14h],ecx mov edx,[eax+04h] mov [esp+18h],edx mov eax,[eax+08h] mov [esp+1Ch],eax call SUB_L004A6CC0 add esp,00000004h push esi call SUB_L004A6CC0 add esp,00000004h lea ecx,[esp+10h] push ecx push esi call SUB_L004A6C50 add esp,00000008h push esi call SUB_L004A6CC0 movsx edx,[ebx] add esp,00000004h lea eax,[esp+10h] mov [esp+10h],edx mov [esp+14h],ebp push eax push esi mov [esp+20h],ebp call SUB_L004A6C50 mov eax,[esp+30h] add esp,00000008h inc ebx dec eax mov [esp+28h],eax jnz L004A6D4A L004A6DB2: cmp [esi+08h],ebp jnz L004A6DE3 L004A6DB7: mov eax,[esi+04h] add edi,0000FFF0h mov ecx,eax shr ecx,10h mov [esi+08h],ecx mov ecx,[esi] mov edx,ecx shr edx,10h shl eax,10h or edx,eax mov eax,[esi+08h] shl ecx,10h cmp eax,ebp mov [esi+04h],edx mov [esi],ecx jz L004A6DB7 L004A6DE3: mov eax,[esi+08h] mov ebx,00008000h test ebx,eax jnz L004A6E05 L004A6DEF: push esi call SUB_L004A6CC0 mov eax,[esi+08h] add esp,00000004h add edi,0000FFFFh test ebx,eax jz L004A6DEF L004A6E05: mov [esi+0Ah],di pop edi pop esi pop ebp pop ebx add esp,0000000Ch retn ;------------------------------------------------------------------------------ Align 16 SUB_L004A6E20: sub esp,00000060h mov ecx,[esp+6Ch] push ebx lea eax,[esp+48h] push ebp push esi mov [esp+10h],eax push edi xor eax,eax xor esi,esi xor edx,edx mov edi,ecx mov [esp+34h],eax mov dword ptr [esp+24h],00000001h mov [esp+1Ch],esi mov [esp+18h],eax mov [esp+30h],eax mov [esp+2Ch],eax mov [esp+38h],eax mov [esp+3Ch],eax mov [esp+28h],eax mov [esp+10h],edx mov [esp+40h],eax mov ebp,ecx mov [esp+20h],edi L004A6E71: mov cl,[ebp+00h] cmp cl,20h jz L004A6E88 cmp cl,09h jz L004A6E88 cmp cl,0Ah jz L004A6E88 cmp cl,0Dh jnz L004A6E8B L004A6E88: inc ebp jmp L004A6E71 L004A6E8B: mov ecx,00000001h jmp L004A6E96 L004A6E92: mov edx,[esp+10h] L004A6E96: mov bl,[ebp+00h] inc ebp cmp eax,0000000Bh mov [esp+7Ch],bl ja CASE_004A7480_PROC000A jmp [CASE_PROCTABLE_004A7480+eax*4] CASE_004A7480_PROC0000: cmp bl,31h jl L004A6EC2 cmp bl,39h jg L004A6EC2 mov eax,00000003h jmp L004A72F2 L004A6EC2: cmp bl,[L004D16C0] jnz L004A6ED4 mov eax,00000005h jmp CASE_004A7480_PROC000A L004A6ED4: movsx eax,bl sub eax,0000002Bh jz L004A6F03 sub eax,00000002h jz L004A6EF1 sub eax,00000003h jnz CASE_004A74B0_PROC0005 mov eax,ecx jmp CASE_004A7480_PROC000A L004A6EF1: mov eax,00000002h mov dword ptr [esp+34h],00008000h jmp CASE_004A7480_PROC000A L004A6F03: mov eax,00000002h mov dword ptr [esp+34h],00000000h jmp CASE_004A7480_PROC000A CASE_004A7480_PROC0001: cmp bl,31h mov [esp+18h],ecx jl L004A6F2D cmp bl,39h jg L004A6F2D mov eax,00000003h jmp L004A72F2 L004A6F2D: cmp bl,[L004D16C0] jnz L004A6F3F mov eax,00000004h jmp CASE_004A7480_PROC000A L004A6F3F: movsx eax,bl add eax,FFFFFFD5h cmp eax,0000003Ah ja CASE_004A74B0_PROC0005 xor edx,edx mov dl,[eax+CASE_004A74C8] jmp [CASE_PROCTABLE_004A74B0+edx*4] CASE_004A7480_PROC0002: cmp bl,31h jl L004A6F71 cmp bl,39h jg L004A6F71 mov eax,00000003h jmp L004A72F2 L004A6F71: cmp bl,[L004D16C0] jnz L004A6F83 mov eax,00000005h jmp CASE_004A7480_PROC000A L004A6F83: cmp bl,30h jz CASE_004A74B0_PROC0002 mov eax,0000000Ah mov ebp,edi jmp CASE_004A7480_PROC000A CASE_004A74B0_PROC0002: mov eax,ecx jmp CASE_004A7480_PROC000A CASE_004A7480_PROC0003: mov [esp+18h],ecx L004A6F9F: cmp [L004D16BC],ecx jle L004A6FC2 mov eax,[esp+7Ch] push 00000004h and eax,000000FFh push eax call SUB_L0049F080 add esp,00000008h mov ecx,00000001h jmp L004A6FD7 L004A6FC2: mov edx,[esp+7Ch] mov eax,[L004D14B0] and edx,000000FFh mov al,[eax+edx*2] and eax,00000004h L004A6FD7: test eax,eax jz L004A700C cmp esi,00000019h jnc L004A6FF9 mov eax,[esp+14h] sub bl,30h inc esi mov [eax],bl mov bl,[ebp+00h] inc eax mov [esp+7Ch],bl mov [esp+14h],eax inc ebp jmp L004A6F9F L004A6FF9: mov eax,[esp+10h] mov bl,[ebp+00h] inc eax mov [esp+7Ch],bl mov [esp+10h],eax inc ebp jmp L004A6F9F L004A700C: mov al,[L004D16C0] mov [esp+1Ch],esi cmp bl,al jnz L004A7023 mov eax,00000004h jmp CASE_004A7480_PROC000A L004A7023: movsx eax,bl add eax,FFFFFFD5h cmp eax,0000003Ah ja CASE_004A74B0_PROC0005 xor edx,edx mov dl,[eax+CASE_004A7518] jmp [CASE_PROCTABLE_004A7504+edx*4] CASE_004A7480_PROC0004: test esi,esi mov [esp+18h],ecx mov [esp+30h],ecx jnz L004A7064 cmp bl,30h jnz L004A7064 L004A7052: mov bl,[ebp+00h] dec edx inc ebp cmp bl,30h mov [esp+7Ch],bl jz L004A7052 mov [esp+10h],edx L004A7064: cmp [L004D16BC],ecx jle L004A7087 mov eax,[esp+7Ch] push 00000004h and eax,000000FFh push eax call SUB_L0049F080 add esp,00000008h mov ecx,00000001h jmp L004A709C L004A7087: mov edx,[esp+7Ch] mov eax,[L004D14B0] and edx,000000FFh mov al,[eax+edx*2] and eax,00000004h L004A709C: test eax,eax jz L004A70C7 cmp esi,00000019h jnc L004A70BD mov eax,[esp+14h] sub bl,30h inc esi mov [eax],bl inc eax mov [esp+14h],eax mov eax,[esp+10h] dec eax mov [esp+10h],eax L004A70BD: mov bl,[ebp+00h] inc ebp mov [esp+7Ch],bl jmp L004A7064 L004A70C7: movsx eax,bl add eax,FFFFFFD5h mov [esp+1Ch],esi cmp eax,0000003Ah ja CASE_004A74B0_PROC0005 xor edx,edx mov dl,[eax+CASE_004A7568] jmp [CASE_PROCTABLE_004A7554+edx*4] CASE_004A74B0_PROC0003: mov eax,00000006h jmp CASE_004A7480_PROC000A CASE_004A74B0_PROC0000: dec ebp mov eax,0000000Bh jmp CASE_004A7480_PROC000A CASE_004A7480_PROC0005: mov eax,[L004D16BC] mov [esp+30h],ecx cmp eax,ecx jle L004A7121 mov eax,[esp+7Ch] push 00000004h and eax,000000FFh push eax call SUB_L0049F080 add esp,00000008h jmp L004A7137 L004A7121: mov ecx,[esp+7Ch] mov edx,[L004D14B0] and ecx,000000FFh mov al,[edx+ecx*2] and eax,00000004h L004A7137: test eax,eax jz L004A714B mov eax,00000004h dec ebp mov ecx,00000001h jmp CASE_004A7480_PROC000A L004A714B: mov eax,0000000Ah mov ebp,edi mov ecx,00000001h jmp CASE_004A7480_PROC000A CASE_004A7480_PROC0006: lea edi,[ebp-02h] cmp bl,31h mov [esp+20h],edi jl L004A7177 cmp bl,39h jg L004A7177 mov eax,00000009h jmp L004A72F2 L004A7177: movsx eax,bl sub eax,0000002Bh jz L004A72E6 sub eax,00000002h jz L004A72D7 sub eax,00000003h jmp L004A71D6 CASE_004A7480_PROC0008: cmp bl,30h mov [esp+2Ch],ecx jnz L004A71A3 L004A719A: mov bl,[ebp+00h] inc ebp cmp bl,30h jz L004A719A L004A71A3: cmp bl,31h jl CASE_004A74B0_PROC0005 cmp bl,39h jg CASE_004A74B0_PROC0005 mov eax,00000009h jmp L004A72F2 CASE_004A7480_PROC0007: cmp bl,31h jl L004A71D3 cmp bl,39h jg L004A71D3 mov eax,00000009h jmp L004A72F2 L004A71D3: cmp bl,30h L004A71D6: jz L004A71E4 mov eax,0000000Ah mov ebp,edi jmp CASE_004A7480_PROC000A L004A71E4: mov eax,00000008h jmp CASE_004A7480_PROC000A CASE_004A7480_PROC0009: mov [esp+2Ch],ecx xor edi,edi L004A71F4: cmp [L004D16BC],ecx jle L004A7214 mov esi,[esp+7Ch] push 00000004h mov eax,esi and eax,000000FFh push eax call SUB_L0049F080 add esp,00000008h jmp L004A722C L004A7214: mov esi,[esp+7Ch] mov edx,[L004D14B0] mov ecx,esi and ecx,000000FFh mov al,[edx+ecx*2] and eax,00000004h L004A722C: test eax,eax jz L004A7256 movsx ecx,bl lea eax,[edi+edi*4] lea edi,[ecx+eax*2-30h] cmp edi,00001450h jg L004A7251 mov bl,[ebp+00h] inc ebp mov [esp+7Ch],bl mov ecx,00000001h jmp L004A71F4 L004A7251: mov edi,00001451h L004A7256: mov [esp+28h],edi L004A725A: cmp dword ptr [L004D16BC],00000001h jle L004A7276 and esi,000000FFh push 00000004h push esi call SUB_L0049F080 add esp,00000008h jmp L004A7288 L004A7276: mov edx,[L004D14B0] and esi,000000FFh mov al,[edx+esi*2] and eax,00000004h L004A7288: test eax,eax jz L004A729A mov al,[ebp+00h] inc ebp mov [esp+7Ch],al mov esi,[esp+7Ch] jmp L004A725A L004A729A: mov esi,[esp+1Ch] mov edi,[esp+20h] mov eax,0000000Ah dec ebp mov ecx,00000001h jmp CASE_004A7480_PROC000A CASE_004A7480_PROC000B: mov eax,[esp+0000008Ch] test eax,eax jz CASE_004A74B0_PROC0005 movsx eax,bl lea edi,[ebp-01h] sub eax,0000002Bh mov [esp+20h],edi jz L004A72E6 sub eax,00000002h jz L004A72D7 mov eax,0000000Ah mov ebp,edi jmp CASE_004A7480_PROC000A L004A72D7: mov eax,00000007h mov dword ptr [esp+24h],FFFFFFFFh jmp CASE_004A7480_PROC000A L004A72E6: mov eax,00000007h jmp CASE_004A7480_PROC000A CASE_004A74B0_PROC0005: mov eax,0000000Ah L004A72F2: dec ebp CASE_004A7480_PROC000A: cmp eax,0000000Ah jnz L004A6E92 mov ecx,[esp+78h] mov eax,[esp+18h] test eax,eax mov [ecx],ebp jz L004A73B4 cmp esi,00000018h jbe L004A7336 mov al,[esp+6Bh] cmp al,05h jl L004A7321 inc al mov [esp+6Bh],al L004A7321: mov eax,[esp+14h] mov ecx,[esp+10h] dec eax inc ecx mov esi,00000018h mov [esp+10h],ecx jmp L004A733E L004A7336: mov eax,[esp+14h] mov ecx,[esp+10h] L004A733E: test esi,esi jbe L004A7473 mov dl,[eax-01h] dec eax test dl,dl jnz L004A735C L004A734E: mov dl,[eax-01h] dec esi inc ecx dec eax test dl,dl jz L004A734E mov [esp+10h],ecx L004A735C: lea edx,[esp+44h] lea eax,[esp+54h] push edx push esi push eax call SUB_L004A6D20 mov eax,[esp+30h] add esp,0000000Ch test eax,eax mov eax,[esp+28h] jge L004A737D neg eax L004A737D: mov edx,[esp+10h] mov ecx,[esp+2Ch] add eax,edx test ecx,ecx jnz L004A7392 add eax,[esp+00000084h] L004A7392: mov ecx,[esp+30h] test ecx,ecx jnz L004A73A1 sub eax,[esp+00000088h] L004A73A1: cmp eax,00001450h jle L004A7434 mov dword ptr [esp+38h],00000001h L004A73B4: mov esi,[esp+7Ch] mov edx,[esp+7Ch] mov eax,[esp+7Ch] mov ecx,[esp+7Ch] L004A73C4: mov edi,[esp+18h] test edi,edi jnz L004A73DB xor ecx,ecx xor eax,eax xor edx,edx xor esi,esi mov ebx,00000004h jmp L004A7413 L004A73DB: mov edi,[esp+38h] test edi,edi jz L004A73F8 xor esi,esi mov eax,00007FFFh mov edx,80000000h xor ecx,ecx mov ebx,00000002h jmp L004A7413 L004A73F8: mov edi,[esp+3Ch] test edi,edi jz L004A740F xor ecx,ecx xor eax,eax xor edx,edx xor esi,esi mov ebx,00000001h jmp L004A7413 L004A740F: mov ebx,[esp+40h] L004A7413: mov edi,[esp+74h] mov [edi],cx mov ecx,[esp+34h] or eax,ecx mov [edi+02h],esi mov [edi+06h],edx mov [edi+0Ah],ax pop edi pop esi mov eax,ebx pop ebp pop ebx add esp,00000060h retn ;------------------------------------------------------------------------------ L004A7434: cmp eax,FFFFEBB0h jge L004A7448 mov dword ptr [esp+3Ch],00000001h jmp L004A73B4 L004A7448: mov ecx,[esp+00000080h] lea edx,[esp+44h] push ecx push eax push edx call SUB_L004A8250 mov ecx,[esp+50h] mov esi,[esp+52h] mov edx,[esp+56h] mov eax,[esp+5Ah] add esp,0000000Ch jmp L004A73C4 L004A7473: xor ecx,ecx xor eax,eax xor edx,edx xor esi,esi jmp L004A73C4 CASE_PROCTABLE_004A7480: dd CASE_004A7480_PROC0000 dd CASE_004A7480_PROC0001 dd CASE_004A7480_PROC0002 dd CASE_004A7480_PROC0003 dd CASE_004A7480_PROC0004 dd CASE_004A7480_PROC0005 dd CASE_004A7480_PROC0006 dd CASE_004A7480_PROC0007 dd CASE_004A7480_PROC0008 dd CASE_004A7480_PROC0009 dd CASE_004A7480_PROC000A dd CASE_004A7480_PROC000B CASE_PROCTABLE_004A74B0: dd CASE_004A74B0_PROC0000 dd CASE_004A74B0_PROC0000 dd CASE_004A74B0_PROC0002 dd CASE_004A74B0_PROC0003 dd CASE_004A74B0_PROC0003 dd CASE_004A74B0_PROC0005 CASE_004A74C8: db 00h, 05h, 01h, 05h, 05h, 02h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h db 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 03h, 03h, 05h, 05h, 05h, 05h, 05h db 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h db 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 04h, 04h Align 4 CASE_PROCTABLE_004A7504: dd CASE_004A74B0_PROC0000 dd CASE_004A74B0_PROC0000 dd CASE_004A74B0_PROC0003 dd CASE_004A74B0_PROC0003 dd CASE_004A74B0_PROC0005 CASE_004A7518: db 00h, 04h, 01h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h db 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 02h, 02h, 04h, 04h, 04h, 04h, 04h db 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h db 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 03h, 03h Align 4 CASE_PROCTABLE_004A7554: dd CASE_004A74B0_PROC0000 dd CASE_004A74B0_PROC0000 dd CASE_004A74B0_PROC0003 dd CASE_004A74B0_PROC0003 dd CASE_004A74B0_PROC0005 CASE_004A7568: db 00h, 04h, 01h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h db 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 02h, 02h, 04h, 04h, 04h, 04h, 04h db 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h db 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 04h, 03h, 03h Align 16 SUB_L004A75B0: sub esp,00000020h mov ecx,[esp+2Ch] mov al,CCh mov [esp+04h],al mov [esp+05h],al mov [esp+06h],al mov [esp+07h],al mov [esp+08h],al mov [esp+09h],al mov [esp+0Ah],al mov [esp+0Bh],al mov [esp+0Ch],al mov [esp+0Dh],al mov eax,ecx push ebx and eax,00008000h push ebp and ecx,00007FFFh push esi test ax,ax push edi mov byte ptr [esp+1Eh],FBh mov byte ptr [esp+1Fh],3Fh mov dword ptr [esp+10h],00000001h jz L004A7613 mov edi,[esp+48h] mov byte ptr [edi+02h],2Dh jmp L004A761D L004A7613: mov edx,[esp+48h] mov edi,edx mov byte ptr [edx+02h],20h L004A761D: mov edx,[esp+38h] mov ebx,[esp+34h] test cx,cx jnz L004A763A test edx,edx jnz L004A763A test ebx,ebx jnz L004A763A mov [edi],bx jmp L004A77BF L004A763A: cmp cx,7FFFh jnz L004A771D cmp edx,80000000h mov word ptr [edi],0001h jnz L004A7656 test ebx,ebx jz L004A768C L004A7656: test edx,40000000h jnz L004A768C mov ecx,[L004BDD74] lea eax,[edi+04h] mov [edi+04h],ecx mov dx,[L004BDD78] mov [eax+04h],dx mov cl,[L004BDD7A] mov byte ptr [edi+03h],06h mov [eax+06h],cl xor eax,eax pop edi pop esi pop ebp pop ebx add esp,00000020h retn ;------------------------------------------------------------------------------ L004A768C: test ax,ax jz L004A76C1 cmp edx,C0000000h jnz L004A76C1 test ebx,ebx jnz L004A76C1 mov eax,[L004BDD6C] lea edx,[edi+04h] mov [edi+04h],eax mov cx,[L004BDD70] mov byte ptr [edi+03h],05h xor eax,eax mov [edx+04h],cx pop edi pop esi pop ebp pop ebx add esp,00000020h retn ;------------------------------------------------------------------------------ L004A76C1: cmp edx,80000000h jnz L004A76F1 test ebx,ebx jnz L004A76F1 mov eax,[L004BDD64] lea edx,[edi+04h] mov [edi+04h],eax mov cx,[L004BDD68] mov byte ptr [edi+03h],05h xor eax,eax mov [edx+04h],cx pop edi pop esi pop ebp pop ebx add esp,00000020h retn ;------------------------------------------------------------------------------ L004A76F1: mov eax,[L004BDD5C] lea edx,[edi+04h] mov [edi+04h],eax mov cx,[L004BDD60] mov [edx+04h],cx mov al,[L004BDD62] mov byte ptr [edi+03h],06h mov [edx+06h],al xor eax,eax pop edi pop esi pop ebp pop ebx add esp,00000020h retn ;------------------------------------------------------------------------------ L004A771D: mov eax,edx mov esi,ecx shr eax,18h and esi,0000FFFFh and eax,0000FFFFh shr esi,08h mov [esp+2Ah],cx mov [esp+26h],edx lea eax,[esi+eax*2] mov [esp+22h],ebx push 00000001h lea edx,[esp+24h] lea esi,[eax+eax*8] xor ebx,ebx mov [esp+24h],bx lea esi,[eax+esi*2] lea esi,[eax+esi*4] mov eax,ecx and eax,0000FFFFh mov ebp,eax shl ebp,04h add ebp,eax lea eax,[eax+ebp*8] lea eax,[eax+eax*8] shl eax,04h lea esi,[esi+eax-134312F4h] sar esi,10h movsx ecx,si neg ecx push ecx push edx call SUB_L004A8250 add esp,0000000Ch cmp word ptr [esp+2Ah],3FFFh jc L004A77A4 lea eax,[esp+14h] lea ecx,[esp+20h] push eax push ecx inc esi call SUB_L004A7F90 add esp,00000008h L004A77A4: mov al,[esp+44h] mov [edi],si test al,01h jz L004A77DC mov ebp,[esp+40h] movsx edx,si add ebp,edx cmp ebp,ebx jg L004A77E0 mov [edi],bx L004A77BF: mov byte ptr [edi+02h],20h mov byte ptr [edi+03h],01h mov byte ptr [edi+04h],30h mov byte ptr [edi+05h],00h mov eax,00000001h pop edi pop esi pop ebp pop ebx add esp,00000020h retn ;------------------------------------------------------------------------------ L004A77DC: mov ebp,[esp+40h] L004A77E0: cmp ebp,00000015h jle L004A77EA mov ebp,00000015h L004A77EA: mov esi,[esp+2Ah] mov [esp+2Ah],bx and esi,0000FFFFh mov ebx,00000008h sub esi,00003FFEh L004A7804: lea eax,[esp+20h] push eax call SUB_L004A6CC0 add esp,00000004h dec ebx jnz L004A7804 test esi,esi jge L004A7832 neg esi and esi,000000FFh jle L004A7832 L004A7822: lea ecx,[esp+20h] push ecx call SUB_L004A6CF0 add esp,00000004h dec esi jnz L004A7822 L004A7832: lea esi,[edi+04h] lea edi,[ebp+01h] test edi,edi mov ebx,esi jle L004A78A1 L004A783E: mov edx,[esp+20h] mov eax,[esp+24h] mov ecx,[esp+28h] mov [esp+34h],edx lea edx,[esp+20h] mov [esp+38h],eax push edx mov [esp+40h],ecx call SUB_L004A6CC0 add esp,00000004h lea eax,[esp+20h] push eax call SUB_L004A6CC0 add esp,00000004h lea ecx,[esp+34h] lea edx,[esp+20h] push ecx push edx call SUB_L004A6C50 add esp,00000008h lea eax,[esp+20h] push eax call SUB_L004A6CC0 mov cl,[esp+2Fh] add esp,00000004h add cl,30h mov byte ptr [esp+2Bh],00h mov [ebx],cl inc ebx dec edi jnz L004A783E L004A78A1: mov al,[ebx-01h] dec ebx dec ebx cmp al,35h jl L004A78DB cmp ebx,esi jc L004A78BF L004A78AE: cmp byte ptr [ebx],39h jnz L004A78BB mov byte ptr [ebx],30h dec ebx cmp ebx,esi jnc L004A78AE L004A78BB: cmp ebx,esi jnc L004A78CF L004A78BF: mov eax,[esp+48h] inc ebx inc word ptr [eax] mov cl,[ebx] inc cl mov [ebx],cl jmp L004A7916 L004A78CF: mov cl,[ebx] mov eax,[esp+48h] inc cl mov [ebx],cl jmp L004A7916 L004A78DB: cmp ebx,esi jc L004A78ED L004A78DF: cmp byte ptr [ebx],30h jnz L004A78E9 dec ebx cmp ebx,esi jnc L004A78DF L004A78E9: cmp ebx,esi jnc L004A7912 L004A78ED: mov eax,[esp+48h] mov byte ptr [esi],30h mov word ptr [eax],0000h mov byte ptr [eax+02h],20h mov byte ptr [eax+03h],01h mov byte ptr [eax+05h],00h mov eax,00000001h pop edi pop esi pop ebp pop ebx add esp,00000020h retn ;------------------------------------------------------------------------------ L004A7912: mov eax,[esp+48h] L004A7916: sub bl,al pop edi sub bl,03h pop esi movsx edx,bl mov [eax+03h],bl pop ebp mov byte ptr [eax+edx+04h],00h mov eax,[esp+04h] pop ebx add esp,00000020h retn ;------------------------------------------------------------------------------ Align 16 SUB_L004A7940: push ebp mov ebp,esp push edi mov edi,[ebp+08h] xor eax,eax or ecx,FFFFFFFFh repne scasb inc ecx neg ecx dec edi mov al,[ebp+0Ch] std repne scasb inc edi cmp [edi],al jz L004A7961 xor eax,eax jmp L004A7963 L004A7961: mov eax,edi L004A7963: cld pop edi leave retn ;------------------------------------------------------------------------------ Align 16 SUB_L004A7970: push ebx push esi push edi push L007B9CE8 call [KERNEL32.dll!InterlockedIncrement] mov eax,[L007B9CE4] mov edi,[KERNEL32.dll!InterlockedDecrement] test eax,eax jz L004A79A5 push L007B9CE8 call edi push 00000013h call SUB_L0049C9A0 add esp,00000004h mov esi,00000001h jmp L004A79A7 L004A79A5: xor esi,esi L004A79A7: mov eax,[esp+18h] mov ecx,[esp+14h] mov edx,[esp+10h] push eax push ecx push edx call SUB_L004A79F0 add esp,0000000Ch mov ebx,eax test esi,esi jz L004A79D4 push 00000013h call SUB_L0049CA20 add esp,00000004h mov eax,ebx pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ L004A79D4: push L007B9CE8 call edi pop edi mov eax,ebx pop esi pop ebx retn ;------------------------------------------------------------------------------ Align 16 SUB_L004A79F0: push ecx push ebx push ebp mov ebp,[esp+18h] push esi push edi mov edi,[esp+18h] xor eax,eax test edi,edi mov [esp+10h],eax jz L004A7A11 test ebp,ebp jnz L004A7A11 pop edi pop esi pop ebp pop ebx pop ecx retn ;------------------------------------------------------------------------------ L004A7A11: test edi,edi jz L004A7B74 mov ecx,[L007B86B8] test ecx,ecx jnz L004A7A5A test ebp,ebp jbe L004A7BD4 mov ecx,[esp+1Ch] L004A7A2F: cmp word ptr [ecx],00FFh ja L004A7BC6 mov dl,[ecx] add ecx,00000002h mov [eax+edi],dl mov dx,[ecx-02h] test dx,dx jz L004A7BD4 inc eax cmp eax,ebp jc L004A7A2F pop edi pop esi pop ebp pop ebx pop ecx retn ;------------------------------------------------------------------------------ L004A7A5A: cmp dword ptr [L004D16BC],00000001h jnz L004A7ABB mov esi,[esp+1Ch] test ebp,ebp jbe L004A7A77 push ebp push esi call SUB_L004A7BE0 add esp,00000008h mov ebp,eax L004A7A77: mov ecx,[L007B86C8] lea eax,[esp+10h] push eax push 00000000h push ebp push edi push ebp push esi push 00000220h push ecx call [KERNEL32.dll!WideCharToMultiByte] test eax,eax jz L004A7BC6 mov ecx,[esp+10h] test ecx,ecx jnz L004A7BC6 mov cl,[eax+edi-01h] test cl,cl jnz L004A7BD4 dec eax pop edi pop esi pop ebp pop ebx pop ecx retn ;------------------------------------------------------------------------------ L004A7ABB: mov ebx,[esp+1Ch] mov eax,[L007B86C8] lea edx,[esp+10h] push edx push 00000000h push ebp push edi push FFFFFFFFh push ebx push 00000220h push eax call [KERNEL32.dll!WideCharToMultiByte] mov esi,eax mov eax,[esp+10h] test esi,esi jz L004A7AF7 test eax,eax jnz L004A7BC6 lea eax,[esi-01h] pop edi pop esi pop ebp pop ebx pop ecx retn ;------------------------------------------------------------------------------ L004A7AF7: test eax,eax jnz L004A7BC6 call [KERNEL32.dll!GetLastError] cmp eax,0000007Ah jnz L004A7BC6 cmp esi,ebp jnc L004A7B6C L004A7B12: mov edx,[L004D16BC] lea ecx,[esp+10h] push ecx mov ecx,[L007B86C8] push 00000000h lea eax,[esp+24h] push edx push eax push 00000001h push ebx push 00000000h push ecx call [KERNEL32.dll!WideCharToMultiByte] test eax,eax jz L004A7BC6 mov ecx,[esp+10h] test ecx,ecx jnz L004A7BC6 lea edx,[eax+esi] cmp edx,ebp ja L004A7B6C xor edx,edx test eax,eax jle L004A7B65 L004A7B54: mov cl,[esp+edx+1Ch] test cl,cl mov [esi+edi],cl jz L004A7B6C inc edx inc esi cmp edx,eax jl L004A7B54 L004A7B65: add ebx,00000002h cmp esi,ebp jc L004A7B12 L004A7B6C: mov eax,esi pop edi pop esi pop ebp pop ebx pop ecx retn ;------------------------------------------------------------------------------ L004A7B74: mov eax,[L007B86B8] test eax,eax jnz L004A7B90 mov eax,[esp+1Ch] push eax call SUB_L004A6470 add esp,00000004h pop edi pop esi pop ebp pop ebx pop ecx retn ;------------------------------------------------------------------------------ L004A7B90: mov edx,[esp+1Ch] mov eax,[L007B86C8] lea ecx,[esp+10h] push ecx push 00000000h push 00000000h push 00000000h push FFFFFFFFh push edx push 00000220h push eax call [KERNEL32.dll!WideCharToMultiByte] test eax,eax jz L004A7BC6 mov ecx,[esp+10h] test ecx,ecx jnz L004A7BC6 dec eax pop edi pop esi pop ebp pop ebx pop ecx retn ;------------------------------------------------------------------------------ L004A7BC6: call SUB_L0049BD30 mov dword ptr [eax],0000002Ah or eax,FFFFFFFFh L004A7BD4: pop edi pop esi pop ebp pop ebx pop ecx retn ;------------------------------------------------------------------------------ Align 8 SUB_L004A7BE0: mov edx,[esp+04h] push esi mov esi,[esp+0Ch] mov eax,edx mov ecx,esi test ecx,ecx jz L004A7C0E L004A7BF1: cmp word ptr [eax],0000h jz L004A7BFD add eax,00000002h dec ecx jnz L004A7BF1 L004A7BFD: test ecx,ecx jz L004A7C0E cmp word ptr [eax],0000h jnz L004A7C0E sub eax,edx sar eax,1 inc eax pop esi retn ;------------------------------------------------------------------------------ L004A7C0E: mov eax,esi pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L004A7C20: push ebx mov ebx,[L007B85E4] push ebp push esi test ebx,ebx push edi jnz L004A7C4A mov eax,[L007B85EC] test eax,eax jz L004A7C46 call SUB_L004A8320 test eax,eax jnz L004A7CA7 mov ebx,[L007B85E4] L004A7C46: test ebx,ebx jz L004A7CA7 L004A7C4A: mov ebp,[esp+14h] test ebp,ebp jz L004A7CA7 mov edi,ebp or ecx,FFFFFFFFh xor eax,eax mov edx,[ebx] repne scasb not ecx dec ecx test edx,edx mov esi,ecx jz L004A7CA7 L004A7C66: mov edi,edx or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx cmp ecx,esi jbe L004A7C8B cmp byte ptr [esi+edx],3Dh jnz L004A7C8B push esi push ebp push edx call SUB_L004A82E0 add esp,0000000Ch test eax,eax jz L004A7C9C L004A7C8B: mov edx,[ebx+04h] add ebx,00000004h test edx,edx jnz L004A7C66 xor eax,eax pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ L004A7C9C: mov eax,[ebx] lea eax,[eax+esi+01h] pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ L004A7CA7: pop edi pop esi pop ebp xor eax,eax pop ebx retn ;------------------------------------------------------------------------------ Align 4 SUB_L004A7CB0: mov eax,[esp+04h] push esi mov ecx,eax and eax,0000001Fh sar ecx,05h lea edx,[eax+eax*8] mov esi,[esp+0Ch] mov eax,[L007B9BE0+ecx*4] mov cl,[eax+edx*4+04h] lea edx,[eax+edx*4+04h] mov al,cl and eax,00000080h cmp esi,00008000h jnz L004A7CE7 and cl,7Fh jmp L004A7CF2 L004A7CE7: cmp esi,00004000h jnz L004A7D04 or cl,80h L004A7CF2: neg eax sbb eax,eax mov [edx],cl and eax,FFFFC000h add eax,00008000h pop esi retn ;------------------------------------------------------------------------------ L004A7D04: call SUB_L0049BD30 mov dword ptr [eax],00000016h or eax,FFFFFFFFh pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L004A7D20: mov eax,[L007B8B8C] push ebx push ebp push esi mov esi,[KERNEL32.dll!GetLocaleInfoW] push edi test eax,eax jnz L004A7D68 push 00000000h push 00000000h push 00000001h push 00000000h call esi test eax,eax jz L004A7D48 mov eax,00000001h jmp L004A7D63 L004A7D48: push 00000000h push 00000000h push 00000001h push 00000000h call [KERNEL32.dll!GetLocaleInfoA] test eax,eax jz L004A7E39 mov eax,00000002h L004A7D63: mov [L007B8B8C],eax L004A7D68: cmp eax,00000001h jnz L004A7D88 mov eax,[esp+20h] mov ecx,[esp+1Ch] mov edx,[esp+18h] push eax mov eax,[esp+18h] push ecx push edx push eax call esi pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ L004A7D88: cmp eax,00000002h jnz L004A7E4B mov eax,[esp+24h] test eax,eax jnz L004A7DA3 mov ecx,[L007B86C8] mov [esp+24h],ecx L004A7DA3: mov ebx,[esp+18h] mov ebp,[esp+14h] push 00000000h push 00000000h push ebx push ebp call [KERNEL32.dll!GetLocaleInfoA] mov esi,eax test esi,esi jnz L004A7DC2 pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ L004A7DC2: push esi call SUB_L0049D430 mov edi,eax add esp,00000004h test edi,edi jnz L004A7DD6 pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ L004A7DD6: push esi push edi push ebx push ebp call [KERNEL32.dll!GetLocaleInfoA] test eax,eax jz L004A7E30 mov eax,[esp+20h] test eax,eax jnz L004A7E14 mov edx,[esp+24h] push eax push eax push FFFFFFFFh push edi push 00000001h push edx call [KERNEL32.dll!MultiByteToWideChar] mov esi,eax test esi,esi jz L004A7E30 push edi call SUB_L0049C430 add esp,00000004h mov eax,esi pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ L004A7E14: mov ecx,[esp+24h] push eax mov eax,[esp+20h] push eax push FFFFFFFFh push edi push 00000001h push ecx call [KERNEL32.dll!MultiByteToWideChar] mov esi,eax test esi,esi jnz L004A7E40 L004A7E30: push edi call SUB_L0049C430 add esp,00000004h L004A7E39: xor eax,eax pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ L004A7E40: push edi call SUB_L0049C430 add esp,00000004h mov eax,esi L004A7E4B: pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ SUB_L004A7E50: mov eax,[L007B8B90] push ebx push ebp push esi mov esi,[KERNEL32.dll!GetLocaleInfoA] push edi test eax,eax jnz L004A7E98 push 00000000h push 00000000h push 00000001h push 00000000h call [KERNEL32.dll!GetLocaleInfoW] test eax,eax jz L004A7E7C mov eax,00000001h jmp L004A7E93 L004A7E7C: push 00000000h push 00000000h push 00000001h push 00000000h call esi test eax,eax jz L004A7F78 mov eax,00000002h L004A7E93: mov [L007B8B90],eax L004A7E98: cmp eax,00000002h jnz L004A7EB8 mov eax,[esp+20h] mov ecx,[esp+1Ch] mov edx,[esp+18h] push eax mov eax,[esp+18h] push ecx push edx push eax call esi pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ L004A7EB8: cmp eax,00000001h jnz L004A7F8A mov eax,[esp+24h] test eax,eax jnz L004A7ED3 mov ecx,[L007B86C8] mov [esp+24h],ecx L004A7ED3: mov ebx,[esp+18h] mov ebp,[esp+14h] push 00000000h push 00000000h push ebx push ebp call [KERNEL32.dll!GetLocaleInfoW] mov edi,eax test edi,edi jnz L004A7EF2 pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ L004A7EF2: lea edx,[edi+edi] push edx call SUB_L0049D430 mov esi,eax add esp,00000004h test esi,esi jnz L004A7F09 pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ L004A7F09: push edi push esi push ebx push ebp call [KERNEL32.dll!GetLocaleInfoW] test eax,eax jz L004A7F6F mov eax,[esp+20h] push 00000000h test eax,eax push 00000000h jnz L004A7F50 mov eax,[esp+2Ch] push 00000000h push 00000000h push FFFFFFFFh push esi push 00000220h push eax call [KERNEL32.dll!WideCharToMultiByte] mov edi,eax test edi,edi jz L004A7F6F push esi call SUB_L0049C430 add esp,00000004h mov eax,edi pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ L004A7F50: mov ecx,[esp+24h] mov edx,[esp+2Ch] push eax push ecx push FFFFFFFFh push esi push 00000220h push edx call [KERNEL32.dll!WideCharToMultiByte] mov edi,eax test edi,edi jnz L004A7F7F L004A7F6F: push esi call SUB_L0049C430 add esp,00000004h L004A7F78: xor eax,eax pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ L004A7F7F: push esi call SUB_L0049C430 add esp,00000004h mov eax,edi L004A7F8A: pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ Align 4 SUB_L004A7F90: sub esp,00000024h mov edx,[esp+28h] push ebx push ebp push esi mov ax,[edx+0Ah] push edi mov edi,[esp+3Ch] xor ebp,ebp mov [esp+20h],ebp mov [esp+28h],ebp mov cx,[edi+0Ah] mov [esp+2Ch],ebp mov esi,ecx and ecx,00007FFFh xor esi,eax and eax,00007FFFh and esi,00008000h cmp ax,7FFFh lea ebx,[ecx+eax] mov [esp+30h],ebp mov [esp+18h],esi mov [esp+10h],ebx jnc L004A8227 cmp cx,7FFFh jnc L004A8227 cmp bx,BFFDh ja L004A8227 cmp bx,3FBFh ja L004A8010 mov [edx+08h],ebp mov [edx+04h],ebp mov [edx],ebp pop edi pop esi pop ebp pop ebx add esp,00000024h retn ;------------------------------------------------------------------------------ L004A8010: cmp ax,bp jnz L004A8039 mov eax,[edx+08h] inc ebx test eax,7FFFFFFFh mov [esp+10h],ebx jnz L004A8039 cmp [edx+04h],ebp jnz L004A8039 cmp [edx],ebp jnz L004A8039 mov [edx+0Ah],bp pop edi pop esi pop ebp pop ebx add esp,00000024h retn ;------------------------------------------------------------------------------ L004A8039: cmp cx,bp jnz L004A8066 mov eax,[edi+08h] inc ebx test eax,7FFFFFFFh mov [esp+10h],ebx jnz L004A8066 cmp [edi+04h],ebp jnz L004A8066 cmp [edi],ebp jnz L004A8066 mov [edx+08h],ebp mov [edx+04h],ebp mov [edx],ebp pop edi pop esi pop ebp pop ebx add esp,00000024h retn ;------------------------------------------------------------------------------ L004A8066: lea eax,[esp+2Ch] mov [esp+1Ch],ebp mov [esp+14h],eax mov ebp,00000005h L004A8077: mov ecx,[esp+1Ch] test ebp,ebp lea eax,[ecx+ecx] jle L004A80D9 mov ecx,[esp+14h] add edi,00000008h lea esi,[eax+edx] mov [esp+24h],ebp lea ebx,[ecx-04h] L004A8093: xor edx,edx xor eax,eax mov dx,[edi] mov ax,[esi] imul edx,eax mov ecx,[ebx] push ebx push edx push ecx call SUB_L004A6C20 add esp,0000000Ch test eax,eax jz L004A80B8 mov eax,[esp+14h] inc word ptr [eax] L004A80B8: mov eax,[esp+24h] add esi,00000002h sub edi,00000002h dec eax mov [esp+24h],eax jnz L004A8093 mov edi,[esp+3Ch] mov edx,[esp+38h] mov ebx,[esp+10h] mov esi,[esp+18h] L004A80D9: mov ecx,[esp+14h] mov eax,[esp+1Ch] add ecx,00000002h inc eax dec ebp mov [esp+14h],ecx test ebp,ebp mov [esp+1Ch],eax jg L004A8077 add ebx,0000C002h mov ebp,80000000h test bx,bx mov [esp+10h],ebx jle L004A8135 L004A8106: test [esp+30h],ebp jnz L004A8135 lea edx,[esp+28h] push edx call SUB_L004A6CC0 mov eax,[esp+14h] mov edx,[esp+3Ch] mov esi,[esp+1Ch] add eax,0000FFFFh add esp,00000004h mov [esp+10h],eax test ax,ax mov ebx,eax jg L004A8106 L004A8135: xor ecx,ecx cmp bx,cx jg L004A818A add ebx,0000FFFFh cmp bx,cx jge L004A817B movsx eax,bx neg eax add ebx,eax mov esi,eax mov [esp+10h],ebx L004A8154: test byte ptr [esp+28h],01h jz L004A815F inc [esp+20h] L004A815F: lea eax,[esp+28h] push eax call SUB_L004A6CF0 add esp,00000004h dec esi jnz L004A8154 mov edx,[esp+38h] mov ebx,[esp+10h] mov esi,[esp+18h] L004A817B: mov eax,[esp+20h] xor ecx,ecx cmp eax,ecx jz L004A818A or byte ptr [esp+28h],01h L004A818A: mov edi,00008000h cmp [esp+28h],di ja L004A81A6 mov eax,[esp+28h] and eax,0001FFFFh cmp eax,00018000h jnz L004A81DF L004A81A6: or eax,FFFFFFFFh cmp [esp+2Ah],eax jnz L004A81DB cmp [esp+2Eh],eax mov [esp+2Ah],ecx jnz L004A81D5 cmp word ptr [esp+32h],FFFFh mov [esp+2Eh],ecx jnz L004A81CE mov [esp+32h],di inc ebx jmp L004A81DF L004A81CE: inc word ptr [esp+32h] jmp L004A81DF L004A81D5: inc [esp+2Eh] jmp L004A81DF L004A81DB: inc [esp+2Ah] L004A81DF: cmp bx,7FFFh jc L004A8203 neg si sbb esi,esi mov [edx+04h],ecx and esi,ebp mov [edx],ecx add esi,7FFF8000h mov [edx+08h],esi pop edi pop esi pop ebp pop ebx add esp,00000024h retn ;------------------------------------------------------------------------------ L004A8203: mov cx,[esp+2Ah] mov eax,[esp+2Ch] mov [edx],cx mov ecx,[esp+30h] or ebx,esi mov [edx+02h],eax mov [edx+06h],ecx mov [edx+0Ah],bx pop edi pop esi pop ebp pop ebx add esp,00000024h retn ;------------------------------------------------------------------------------ L004A8227: neg si sbb esi,esi pop edi and esi,80000000h mov [edx+04h],ebp add esi,7FFF8000h mov [edx],ebp mov [edx+08h],esi pop esi pop ebp pop ebx add esp,00000024h retn ;------------------------------------------------------------------------------ Align 16 SUB_L004A8250: sub esp,0000000Ch push ebx push esi mov esi,[esp+1Ch] push edi mov edi,L004D45C0 sub edi,00000060h test esi,esi jz L004A82D3 jge L004A8272 mov edi,L004D4720 neg esi sub edi,00000060h L004A8272: mov eax,[esp+24h] mov ebx,[esp+1Ch] test eax,eax jnz L004A8283 mov word ptr [ebx],0000h L004A8283: test esi,esi jz L004A82D3 L004A8287: mov eax,esi add edi,00000054h and eax,00000007h sar esi,03h test eax,eax jz L004A82CF lea eax,[eax+eax*2] cmp word ptr [edi+eax*4],8000h lea eax,[edi+eax*4] jc L004A82C5 mov ecx,[eax] mov [esp+0Ch],ecx mov edx,[eax+04h] mov [esp+10h],edx mov eax,[eax+08h] mov [esp+14h],eax mov eax,[esp+0Eh] dec eax mov [esp+0Eh],eax lea eax,[esp+0Ch] L004A82C5: push eax push ebx call SUB_L004A7F90 add esp,00000008h L004A82CF: test esi,esi jnz L004A8287 L004A82D3: pop edi pop esi pop ebx add esp,0000000Ch retn ;------------------------------------------------------------------------------ Align 8 SUB_L004A82E0: mov eax,[esp+0Ch] test eax,eax jnz L004A82E9 retn ;------------------------------------------------------------------------------ L004A82E9: mov ecx,[L007B8A00] mov edx,[esp+08h] push ecx mov ecx,[L007B8A04] push eax push edx push eax mov eax,[esp+14h] push eax push 00000001h push ecx call SUB_L004A83A0 add esp,0000001Ch test eax,eax jnz L004A8317 mov eax,7FFFFFFFh retn ;------------------------------------------------------------------------------ L004A8317: add eax,FFFFFFFEh retn ;------------------------------------------------------------------------------ Align 8 SUB_L004A8320: push ebx mov ebx,[L007B85EC] push ebp push esi mov eax,[ebx] push edi test eax,eax jz L004A8393 mov ebp,[KERNEL32.dll!WideCharToMultiByte] L004A8336: push 00000000h push 00000000h push 00000000h push 00000000h push FFFFFFFFh push eax push 00000000h push 00000001h call ebp mov esi,eax test esi,esi jz L004A838B push esi call SUB_L0049D430 mov edi,eax add esp,00000004h test edi,edi jz L004A838B mov eax,[ebx] push 00000000h push 00000000h push esi push edi push FFFFFFFFh push eax push 00000000h push 00000001h call ebp test eax,eax jz L004A838B push 00000000h push edi call SUB_L004A8670 mov eax,[ebx+04h] add ebx,00000004h add esp,00000008h test eax,eax jnz L004A8336 pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ L004A838B: or eax,FFFFFFFFh pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ L004A8393: pop edi pop esi pop ebp xor eax,eax pop ebx retn ;------------------------------------------------------------------------------ Align 8 SUB_L004A83A0: mov eax,[L007B8B98] sub esp,00000018h test eax,eax push ebx mov ebx,[KERNEL32.dll!CompareStringA] push ebp push esi push edi jnz L004A8404 push 00000001h push L004BD1E0 push 00000001h push L004BD1E0 push 00000000h push 00000000h call [KERNEL32.dll!CompareStringW] test eax,eax jz L004A83DE mov dword ptr [L007B8B98],00000001h jmp L004A8404 L004A83DE: push 00000001h push L004BD1DC push 00000001h push L004BD1DC push 00000000h push 00000000h call ebx test eax,eax jz L004A85C0 mov dword ptr [L007B8B98],00000002h L004A8404: mov esi,[esp+38h] test esi,esi jle L004A841E mov ebp,[esp+34h] push esi push ebp call SUB_L0049F050 add esp,00000008h mov esi,eax jmp L004A8422 L004A841E: mov ebp,[esp+34h] L004A8422: mov edi,[esp+40h] test edi,edi jle L004A843E mov eax,[esp+3Ch] push edi push eax call SUB_L0049F050 add esp,00000008h mov [esp+40h],eax mov edi,eax L004A843E: mov eax,[L007B8B98] cmp eax,00000002h jnz L004A8464 mov ecx,[esp+3Ch] mov edx,[esp+30h] mov eax,[esp+2Ch] push edi push ecx push esi push ebp push edx push eax call ebx pop edi pop esi pop ebp pop ebx add esp,00000018h retn ;------------------------------------------------------------------------------ L004A8464: cmp eax,00000001h jnz L004A865D mov ebx,[esp+44h] xor eax,eax test ebx,ebx mov [esp+10h],eax mov [esp+38h],eax jnz L004A8485 mov ebx,[L007B86C8] L004A8485: test esi,esi jz L004A8491 test edi,edi jnz L004A858C L004A8491: cmp esi,edi jnz L004A84A2 mov eax,00000002h pop edi pop esi pop ebp pop ebx add esp,00000018h retn ;------------------------------------------------------------------------------ L004A84A2: cmp edi,00000001h jle L004A84B4 mov eax,00000001h pop edi pop esi pop ebp pop ebx add esp,00000018h retn ;------------------------------------------------------------------------------ L004A84B4: cmp esi,00000001h jle L004A84C6 mov eax,00000003h pop edi pop esi pop ebp pop ebx add esp,00000018h retn ;------------------------------------------------------------------------------ L004A84C6: lea ecx,[esp+14h] push ecx push ebx call [KERNEL32.dll!GetCPInfo] test eax,eax jnz L004A84DE pop edi pop esi pop ebp pop ebx add esp,00000018h retn ;------------------------------------------------------------------------------ L004A84DE: test esi,esi jle L004A852D cmp dword ptr [esp+14h],00000002h jnc L004A84F6 mov eax,00000003h pop edi pop esi pop ebp pop ebx add esp,00000018h retn ;------------------------------------------------------------------------------ L004A84F6: mov cl,[esp+1Ah] lea eax,[esp+1Ah] test cl,cl jz L004A8520 L004A8502: mov dl,[eax+01h] test dl,dl jz L004A8520 mov cl,[ebp+00h] mov bl,[eax] cmp cl,bl jc L004A8516 cmp cl,dl jbe L004A857F L004A8516: mov cl,[eax+02h] add eax,00000002h test cl,cl jnz L004A8502 L004A8520: mov eax,00000003h pop edi pop esi pop ebp pop ebx add esp,00000018h retn ;------------------------------------------------------------------------------ L004A852D: test edi,edi jle L004A858C cmp dword ptr [esp+14h],00000002h jnc L004A8545 mov eax,00000001h pop edi pop esi pop ebp pop ebx add esp,00000018h retn ;------------------------------------------------------------------------------ L004A8545: mov cl,[esp+1Ah] lea eax,[esp+1Ah] test cl,cl jz L004A8572 L004A8551: mov dl,[eax+01h] test dl,dl jz L004A8572 mov ecx,[esp+3Ch] mov bl,[eax] mov cl,[ecx] cmp cl,bl jc L004A8568 cmp cl,dl jbe L004A857F L004A8568: mov cl,[eax+02h] add eax,00000002h test cl,cl jnz L004A8551 L004A8572: mov eax,00000001h pop edi pop esi pop ebp pop ebx add esp,00000018h retn ;------------------------------------------------------------------------------ L004A857F: mov eax,00000002h pop edi pop esi pop ebp pop ebx add esp,00000018h retn ;------------------------------------------------------------------------------ L004A858C: mov edi,[KERNEL32.dll!MultiByteToWideChar] push 00000000h push 00000000h push esi push ebp push 00000009h push ebx call edi mov ebp,eax test ebp,ebp jnz L004A85AB pop edi pop esi pop ebp pop ebx add esp,00000018h retn ;------------------------------------------------------------------------------ L004A85AB: lea edx,[ebp+ebp+00h] push edx call SUB_L0049D430 add esp,00000004h mov [esp+44h],eax test eax,eax jnz L004A85CA L004A85C0: xor eax,eax pop edi pop esi pop ebp pop ebx add esp,00000018h retn ;------------------------------------------------------------------------------ L004A85CA: push ebp push eax mov eax,[esp+3Ch] push esi push eax push 00000001h push ebx call edi test eax,eax jz L004A863D mov ecx,[esp+40h] mov edx,[esp+3Ch] push 00000000h push 00000000h push ecx push edx push 00000009h push ebx call edi mov esi,eax test esi,esi jz L004A863D lea eax,[esi+esi] push eax call SUB_L0049D430 add esp,00000004h mov [esp+38h],eax test eax,eax jz L004A863D mov ecx,[esp+40h] mov edx,[esp+3Ch] push esi push eax push ecx push edx push 00000001h push ebx call edi test eax,eax jz L004A863D mov eax,[esp+38h] mov ecx,[esp+44h] mov edx,[esp+30h] push esi push eax mov eax,[esp+34h] push ebp push ecx push edx push eax call [KERNEL32.dll!CompareStringW] mov esi,eax jmp L004A8641 L004A863D: mov esi,[esp+10h] L004A8641: mov ecx,[esp+44h] push ecx call SUB_L0049C430 mov edx,[esp+3Ch] add esp,00000004h push edx call SUB_L0049C430 add esp,00000004h mov eax,esi L004A865D: pop edi pop esi pop ebp pop ebx add esp,00000018h retn ;------------------------------------------------------------------------------ Align 16 SUB_L004A8670: push ecx push ebx push ebp push esi push edi mov edi,[esp+18h] test edi,edi jz L004A882E push 0000003Dh push edi call SUB_L004A5670 mov esi,eax add esp,00000008h test esi,esi jz L004A882E cmp edi,esi jz L004A882E mov dl,[esi+01h] mov ecx,[L007B85E8] xor eax,eax test dl,dl setz al mov ebp,eax mov eax,[L007B85E4] cmp eax,ecx jnz L004A86C7 push eax call SUB_L004A8900 add esp,00000004h mov [L007B85E4],eax L004A86C7: test eax,eax jnz L004A8742 mov eax,[esp+1Ch] test eax,eax jz L004A86EE mov eax,[L007B85EC] test eax,eax jz L004A86EE call SUB_L004A8320 test eax,eax jz L004A873D or eax,FFFFFFFFh pop edi pop esi pop ebp pop ebx pop ecx retn ;------------------------------------------------------------------------------ L004A86EE: test ebp,ebp jz L004A86FA xor eax,eax pop edi pop esi pop ebp pop ebx pop ecx retn ;------------------------------------------------------------------------------ L004A86FA: push 00000004h call SUB_L0049D430 add esp,00000004h mov [L007B85E4],eax test eax,eax jz L004A882E mov dword ptr [eax],00000000h mov eax,[L007B85EC] test eax,eax jnz L004A873D push 00000004h call SUB_L0049D430 add esp,00000004h mov [L007B85EC],eax test eax,eax jz L004A882E mov dword ptr [eax],00000000h L004A873D: mov eax,[L007B85E4] L004A8742: mov ebx,eax mov eax,esi sub eax,edi push eax push edi mov [esp+18h],eax call SUB_L004A8880 mov esi,eax add esp,00000008h test esi,esi jl L004A883F cmp dword ptr [ebx],00000000h jz L004A883F test ebp,ebp jz L004A8837 mov ecx,[ebx+esi*4] lea edi,[ebx+esi*4] push ecx call SUB_L0049C430 mov eax,[edi] add esp,00000004h test eax,eax jz L004A8799 mov eax,edi L004A8788: mov edx,[eax+04h] add eax,00000004h mov [edi],edx inc esi mov ecx,[eax] mov edi,eax test ecx,ecx jnz L004A8788 L004A8799: lea eax,[00000000h+esi*4] push eax push ebx call SUB_L004A0D00 add esp,00000008h test eax,eax jz L004A87B3 mov [L007B85E4],eax L004A87B3: mov edi,[esp+18h] L004A87B7: mov eax,[esp+1Ch] test eax,eax jz L004A8826 or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx inc ecx push ecx call SUB_L0049D430 mov ebx,eax add esp,00000004h test ebx,ebx jz L004A8826 mov edi,[esp+18h] or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx mov eax,[esp+10h] mov edx,ecx mov esi,edi mov edi,ebx shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h neg ebp rep movsb sbb ebp,ebp mov byte ptr [ebx+eax],00h lea eax,[ebx+eax+01h] not ebp and ebp,eax push ebp push ebx call [KERNEL32.dll!SetEnvironmentVariableA] push ebx call SUB_L0049C430 add esp,00000004h xor eax,eax pop edi pop esi pop ebp pop ebx pop ecx retn ;------------------------------------------------------------------------------ L004A8826: xor eax,eax pop edi pop esi pop ebp pop ebx pop ecx retn ;------------------------------------------------------------------------------ L004A882E: pop edi pop esi pop ebp or eax,FFFFFFFFh pop ebx pop ecx retn ;------------------------------------------------------------------------------ L004A8837: mov [ebx+esi*4],edi jmp L004A87B7 L004A883F: test ebp,ebp jnz L004A8826 test esi,esi jge L004A8849 neg esi L004A8849: lea ecx,[00000008h+esi*4] push ecx push ebx call SUB_L004A0D00 add esp,00000008h test eax,eax jz L004A882E mov [eax+esi*4],edi mov dword ptr [eax+esi*4+04h],00000000h mov [L007B85E4],eax jmp L004A87B7 Align 16 SUB_L004A8880: push ebx push esi mov esi,[L007B85E4] push edi mov eax,[esi] test eax,eax jz L004A88E1 mov edi,[esp+14h] mov ebx,[esp+10h] L004A8897: push edi push eax push ebx call SUB_L004A82E0 add esp,0000000Ch test eax,eax jnz L004A88B3 mov eax,[esi] mov al,[eax+edi] cmp al,3Dh jz L004A88D0 test al,al jz L004A88D0 L004A88B3: mov eax,[esi+04h] add esi,00000004h test eax,eax jnz L004A8897 mov eax,esi mov esi,[L007B85E4] sub eax,esi sar eax,02h neg eax pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ L004A88D0: mov edx,[L007B85E4] mov eax,esi sub eax,edx sar eax,02h pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ L004A88E1: mov eax,esi mov esi,[L007B85E4] sub eax,esi pop edi sar eax,02h pop esi pop ebx neg eax retn ;------------------------------------------------------------------------------ Align 16 SUB_L004A8900: push edi mov edi,[esp+08h] xor ecx,ecx test edi,edi jnz L004A890F xor eax,eax pop edi retn ;------------------------------------------------------------------------------ L004A890F: mov edx,[edi] push esi test edx,edx push ebx lea eax,[edi+04h] jz L004A8924 L004A891A: mov edx,[eax] inc ecx add eax,00000004h test edx,edx jnz L004A891A L004A8924: lea eax,[00000004h+ecx*4] push eax call SUB_L0049D430 mov esi,eax add esp,00000004h test esi,esi mov ebx,esi jnz L004A8946 push 00000009h call SUB_L0049C910 add esp,00000004h L004A8946: mov eax,[edi] test eax,eax jz L004A8963 L004A894C: push eax add edi,00000004h call SUB_L004A8970 mov [esi],eax mov eax,[edi] add esp,00000004h add esi,00000004h test eax,eax jnz L004A894C L004A8963: mov eax,ebx mov dword ptr [esi],00000000h pop ebx pop esi pop edi retn ;------------------------------------------------------------------------------ Align 4 SUB_L004A8970: push ebx push esi mov esi,[esp+0Ch] push edi test esi,esi jz L004A89BA mov edi,esi or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx push ecx call SUB_L0049D430 mov edx,eax add esp,00000004h test edx,edx jz L004A89BA mov edi,esi or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx mov esi,edi mov ebx,ecx mov edi,edx mov eax,edi shr ecx,02h rep movsd mov ecx,ebx and ecx,00000003h rep movsb pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ L004A89BA: pop edi pop esi xor eax,eax pop ebx retn ;------------------------------------------------------------------------------ jmp_KERNEL32.dll!RtlUnwind: jmp [KERNEL32.dll!RtlUnwind] jmp_WSOCK32.dll!WSOCK32.14: jmp [WSOCK32.dll!WSOCK32.14] jmp_WSOCK32.dll!WSOCK32.116: jmp [WSOCK32.dll!WSOCK32.116] jmp_WSOCK32.dll!WSOCK32.52: jmp [WSOCK32.dll!WSOCK32.52] jmp_WSOCK32.dll!WSOCK32.115: jmp [WSOCK32.dll!WSOCK32.115] jmp_WSOCK32.dll!WSOCK32.15: jmp [WSOCK32.dll!WSOCK32.15] jmp_WSOCK32.dll!WSOCK32.3: jmp [WSOCK32.dll!WSOCK32.3] jmp_WSOCK32.dll!WSOCK32.16: jmp [WSOCK32.dll!WSOCK32.16] jmp_WSOCK32.dll!WSOCK32.12: jmp [WSOCK32.dll!WSOCK32.12] jmp_WSOCK32.dll!WSOCK32.4: jmp [WSOCK32.dll!WSOCK32.4] jmp_WSOCK32.dll!WSOCK32.21: jmp [WSOCK32.dll!WSOCK32.21] jmp_WSOCK32.dll!WSOCK32.23: jmp [WSOCK32.dll!WSOCK32.23] jmp_WSOCK32.dll!WSOCK32.9: jmp [WSOCK32.dll!WSOCK32.9] jmp_WSOCK32.dll!WSOCK32.8: jmp [WSOCK32.dll!WSOCK32.8] jmp_WSOCK32.dll!WSOCK32.17: jmp [WSOCK32.dll!WSOCK32.17] jmp_WSOCK32.dll!WSOCK32.20: jmp [WSOCK32.dll!WSOCK32.20] jmp_WSOCK32.dll!WSOCK32.2: jmp [WSOCK32.dll!WSOCK32.2] jmp_WSOCK32.dll!WSOCK32.111: jmp [WSOCK32.dll!WSOCK32.111] jmp_WSOCK32.dll!WSOCK32.19: jmp [WSOCK32.dll!WSOCK32.19] jmp_WSOCK32.dll!WSOCK32.13: jmp [WSOCK32.dll!WSOCK32.13] jmp_WSOCK32.dll!WSOCK32.1: jmp [WSOCK32.dll!WSOCK32.1] jmp_WSOCK32.dll!WSOCK32.57: jmp [WSOCK32.dll!WSOCK32.57] jmp_WSOCK32.dll!WSOCK32.151: jmp [WSOCK32.dll!WSOCK32.151] jmp_WSOCK32.dll!WSOCK32.18: jmp [WSOCK32.dll!WSOCK32.18] jmp_MSVFW32.dll!MCIWndCreateA: jmp [MSVFW32.dll!MCIWndCreateA] jmp_DDRAW.dll!DirectDrawCreate: jmp [DDRAW.dll!DirectDrawCreate] jmp_DSOUND.dll!DirectSoundCreate: jmp [DSOUND.dll!DirectSoundCreate] Align 16 SUB_L004A8A70: push esi mov esi,ecx cmp dword ptr [esi+00000374h],FFFFFFFFh jz CASE_004A8AF8_PROC0000 cmp dword ptr [esi+0000035Ch],00000016h jge CASE_004A8AF8_PROC0000 cmp dword ptr [esi+00000358h],00000016h jge CASE_004A8AF8_PROC0000 call SUB_L004A8B10 lea ecx,[eax+02h] mov [esi+00000378h],eax cmp ecx,00000004h ja CASE_004A8AF8_PROC0000 jmp [CASE_PROCTABLE_004A8AF8+ecx*4] CASE_004A8AF8_PROC0004: mov eax,[esi] mov ecx,[eax+74h] test ecx,ecx jz L004A8ABA cmp dword ptr [esi+0000035Ch],00000016h jge CASE_004A8AF8_PROC0000 L004A8ABA: mov ecx,esi call SUB_L004A8B10 mov [esi+00000374h],eax pop esi retn ;------------------------------------------------------------------------------ CASE_004A8AF8_PROC0003: mov ecx,[esi] mov eax,[ecx+70h] test eax,eax jz CASE_004A8AF8_PROC0000 mov ecx,esi call SUB_L004A8B10 cmp eax,00000001h mov [esi+00000374h],eax jnz CASE_004A8AF8_PROC0000 mov edx,[esi] mov dword ptr [edx+70h],00000000h pop esi retn ;------------------------------------------------------------------------------ CASE_004A8AF8_PROC0001: mov [esi+00000374h],eax CASE_004A8AF8_PROC0000: pop esi retn ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_004A8AF8: dd CASE_004A8AF8_PROC0000 dd CASE_004A8AF8_PROC0001 dd CASE_004A8AF8_PROC0000 dd CASE_004A8AF8_PROC0003 dd CASE_004A8AF8_PROC0004 Align 8 SUB_L004A8B10: mov eax,0000800Ch call SUB_L0049ACF0 lea eax,[esp+00h] push esi mov esi,ecx push edi mov edi,[WINMM.dll!mmioRead] mov ecx,[esi] push 00000008h push eax mov edx,[ecx+00000094h] push edx call edi test eax,eax jnz L004A8B50 mov dword ptr [esi+00000370h],00000001h or eax,FFFFFFFFh pop edi pop esi add esp,0000800Ch retn ;------------------------------------------------------------------------------ L004A8B50: cmp eax,FFFFFFFFh jz L004A8E3B cmp eax,00000008h jnz L004A8E3B mov edx,[esp+0Fh] mov eax,[esp+0Eh] mov ecx,[esp+0Dh] and edx,000000FFh shl edx,08h and eax,000000FFh and ecx,000000FFh or edx,eax mov eax,[esp+0Ch] shl edx,08h or edx,ecx mov ecx,[esp+0Ah] shl edx,08h and eax,000000FFh and ecx,000000FFh or edx,eax mov eax,[esp+0Bh] and eax,000000FFh sub edx,00000008h shl eax,08h or eax,ecx mov ecx,[esp+09h] shl eax,08h and ecx,000000FFh or eax,ecx mov ecx,[esp+08h] shl eax,08h and ecx,000000FFh or eax,ecx cmp eax,44414553h ja L004A8C4D jz L004A8BF2 cmp eax,43444E53h jz L004A8CB1 mov eax,FFFFFFFEh pop edi pop esi add esp,0000800Ch retn ;------------------------------------------------------------------------------ L004A8BF2: mov eax,[esi] push edx lea edx,[esp+18h] mov ecx,[eax+00000094h] push edx push ecx call edi test eax,eax jnz L004A8C1D mov dword ptr [esi+00000370h],00000001h or eax,FFFFFFFFh pop edi pop esi add esp,0000800Ch retn ;------------------------------------------------------------------------------ L004A8C1D: cmp eax,FFFFFFFFh jz L004A8E3B mov dword ptr [esi+34h],00000010h mov dword ptr [esi+2Ch],00000002h mov dword ptr [esi+30h],00005622h mov dword ptr [esi+38h],0000000Ah xor eax,eax pop edi pop esi add esp,0000800Ch retn ;------------------------------------------------------------------------------ L004A8C4D: cmp eax,5343436Ch ja L004A8C73 jz L004A8E00 cmp eax,444E4553h jz L004A8E2F mov eax,FFFFFFFEh pop edi pop esi add esp,0000800Ch retn ;------------------------------------------------------------------------------ L004A8C73: cmp eax,53434C6Ch ja L004A8C99 jz L004A8E00 cmp eax,5343486Ch jz L004A8E1F mov eax,FFFFFFFEh pop edi pop esi add esp,0000800Ch retn ;------------------------------------------------------------------------------ L004A8C99: cmp eax,54475170h ja L004A8CCE jz L004A8D6C cmp eax,534E4443h jnz L004A8E3B L004A8CB1: mov eax,[esi] mov ecx,[eax+70h] test ecx,ecx jz L004A8E3B mov ecx,esi call SUB_L004A8F30 pop edi pop esi add esp,0000800Ch retn ;------------------------------------------------------------------------------ L004A8CCE: cmp eax,5447566Bh ja L004A8CF0 jz L004A8DA2 cmp eax,54475666h jz L004A8D5A mov eax,FFFFFFFEh pop edi pop esi add esp,0000800Ch retn ;------------------------------------------------------------------------------ L004A8CF0: cmp eax,644E5331h ja L004A8D12 jz L004A8DD2 cmp eax,54514970h jz L004A8D34 mov eax,FFFFFFFEh pop edi pop esi add esp,0000800Ch retn ;------------------------------------------------------------------------------ L004A8D12: cmp eax,66325655h ja L004A8D46 jz L004A8D34 cmp eax,654E5331h jz L004A8E2F mov eax,FFFFFFFEh pop edi pop esi add esp,0000800Ch retn ;------------------------------------------------------------------------------ L004A8D34: push 00000004h mov ecx,esi call SUB_L004A8E50 pop edi pop esi add esp,0000800Ch retn ;------------------------------------------------------------------------------ L004A8D46: cmp eax,6656554Dh ja L004A8D7E jz L004A8D6C cmp eax,66564754h jnz L004A8E3B L004A8D5A: push 00000002h mov ecx,esi call SUB_L004A8E50 pop edi pop esi add esp,0000800Ch retn ;------------------------------------------------------------------------------ L004A8D6C: push 00000003h mov ecx,esi call SUB_L004A8E50 pop edi pop esi add esp,0000800Ch retn ;------------------------------------------------------------------------------ L004A8D7E: cmp eax,6B564754h ja L004A8DB4 jz L004A8DA2 cmp eax,684E5331h jnz L004A8E3B mov ecx,esi call SUB_L004A92C0 pop edi pop esi add esp,0000800Ch retn ;------------------------------------------------------------------------------ L004A8DA2: push 00000001h mov ecx,esi call SUB_L004A8E50 pop edi pop esi add esp,0000800Ch retn ;------------------------------------------------------------------------------ L004A8DB4: cmp eax,6C444353h ja L004A8DEB jz L004A8DD2 cmp eax,6C434353h jz L004A8E00 mov eax,FFFFFFFEh pop edi pop esi add esp,0000800Ch retn ;------------------------------------------------------------------------------ L004A8DD2: mov ecx,[esi] mov eax,[ecx+70h] test eax,eax jz L004A8E3B mov ecx,esi call SUB_L004A8F30 pop edi pop esi add esp,0000800Ch retn ;------------------------------------------------------------------------------ L004A8DEB: cmp eax,6C454353h jz L004A8E2F cmp eax,6C484353h jz L004A8E1F cmp eax,6C4C4353h jnz L004A8E3B L004A8E00: mov eax,[esi] push edx lea edx,[esp+18h] mov ecx,[eax+00000094h] push edx push ecx call edi mov eax,00000004h pop edi pop esi add esp,0000800Ch retn ;------------------------------------------------------------------------------ L004A8E1F: mov ecx,esi call SUB_L004A92C0 pop edi pop esi add esp,0000800Ch retn ;------------------------------------------------------------------------------ L004A8E2F: or eax,FFFFFFFFh pop edi pop esi add esp,0000800Ch retn ;------------------------------------------------------------------------------ L004A8E3B: pop edi mov eax,FFFFFFFEh pop esi add esp,0000800Ch retn ;------------------------------------------------------------------------------ Align 8 SUB_L004A8E50: push ecx push ebx push ebp push esi mov esi,ecx mov ecx,edx push edi mov eax,[esi+0Ch] mov ebp,[esi+14h] add ecx,ebp mov [esp+10h],edx lea edi,[eax+000AAE60h] cmp ecx,edi jc L004A8E72 mov [esi+14h],eax L004A8E72: mov eax,[esi] push edx mov edx,[esi+14h] mov ecx,[eax+00000094h] push edx push ecx call [WINMM.dll!mmioRead] test eax,eax jnz L004A8E9F mov dword ptr [esi+00000370h],00000001h or eax,FFFFFFFFh pop edi pop esi pop ebp pop ebx pop ecx retn 0004h ;------------------------------------------------------------------------------ L004A8E9F: cmp eax,FFFFFFFFh jnz L004A8EB1 mov eax,FFFFFFFEh pop edi pop esi pop ebp pop ebx pop ecx retn 0004h ;------------------------------------------------------------------------------ L004A8EB1: mov eax,[esi+00000354h] lea ecx,[esi+00000354h] cdq mov edi,00000018h mov ebp,00000018h idiv edi mov eax,[esi+14h] push ecx shl edx,04h mov [edx+esi+000001BCh],eax mov eax,[ecx] cdq idiv edi mov eax,[esp+1Ch] lea edi,[esi+00000360h] shl edx,04h mov [edx+esi+000001C8h],eax mov ebx,[edi] mov eax,[ecx] cdq idiv ebp shl edx,04h mov [edx+esi+000001C4h],ebx mov edx,[esp+14h] mov ebx,[esi+14h] add ebx,edx mov [esi+14h],ebx mov ebx,[KERNEL32.dll!InterlockedIncrement] call ebx add esi,00000358h push esi call ebx push edi call ebx mov eax,00000001h pop edi pop esi pop ebp pop ebx pop ecx retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L004A8F30: mov eax,00008008h call SUB_L0049ACF0 lea eax,[esp+08h] push ebx push ebp push esi mov esi,ecx mov ebx,edx push edi mov ecx,[esi] push ebx push eax mov edx,[ecx+00000094h] push edx call [WINMM.dll!mmioRead] xor ebp,ebp cmp eax,ebp jnz L004A8F75 mov dword ptr [esi+00000370h],00000001h or eax,FFFFFFFFh pop edi pop esi pop ebp pop ebx add esp,00008008h retn ;------------------------------------------------------------------------------ L004A8F75: cmp eax,FFFFFFFFh jnz L004A8F8A mov eax,FFFFFFFEh pop edi pop esi pop ebp pop ebx add esp,00008008h retn ;------------------------------------------------------------------------------ L004A8F8A: mov eax,[esi+38h] cmp eax,ebp jz L004A9126 cmp eax,00000007h jz L004A8FE6 cmp eax,0000000Ah jnz L004A9220 mov eax,[esi+10h] mov edx,[esi+18h] lea edi,[00000000h+ebx*4] mov ecx,edi add ecx,edx lea edx,[eax+000493E0h] cmp ecx,edx jc L004A8FC1 mov [esi+18h],eax L004A8FC1: mov edx,[esi+18h] lea eax,[esi+000003C0h] lea ecx,[esi+000003B8h] push eax push ecx push ebx lea eax,[esp+24h] push edx push eax call SUB_L004AAB93 add esp,00000014h jmp L004A9224 L004A8FE6: cmp dword ptr [esi+2Ch],00000002h jnz L004A9092 movsx eax,[esp+1Eh] movsx edx,[esp+1Ch] mov [esp+10h],ebp lea ebp,[esi+000003B0h] lea ecx,[esi+000003A8h] add ebx,FFFFFFF4h mov [ebp+00h],eax movsx eax,[esp+22h] mov [ecx],edx mov [esi+000003B4h],eax movsx edx,[esp+20h] mov eax,88888889h mov [esi+000003ACh],edx mul ebx shr edx,04h mov edi,edx mov eax,[esi+10h] mov ebx,[esi+18h] shl edi,03h sub edi,edx shl edi,04h mov edx,edi add edx,ebx lea ebx,[eax+000493E0h] cmp edx,ebx jc L004A9053 mov [esi+18h],eax L004A9053: mov eax,[esi+18h] lea edx,[esp+14h] mov [esp+14h],eax lea eax,[esp+24h] push edx push eax lea eax,[esi+000003B4h] push eax lea eax,[esi+000003ACh] push eax mov eax,edi cdq and edx,00000003h push ebp push ecx add eax,edx lea ecx,[esp+28h] sar eax,02h push ecx push eax call SUB_L004AA1E0 add esp,00000020h jmp L004A9224 L004A9092: movsx eax,[esp+1Eh] movsx edx,[esp+1Ch] mov [esp+14h],ebp lea ebp,[esi+000003B0h] lea ecx,[esi+000003A8h] add ebx,FFFFFFF4h mov [ebp+00h],eax movsx eax,[esp+22h] mov [ecx],edx mov [esi+000003B4h],eax movsx edx,[esp+20h] mov eax,88888889h mov [esi+000003ACh],edx mul ebx shr edx,03h mov edi,edx mov eax,[esi+10h] mov ebx,[esi+18h] shl edi,03h sub edi,edx shl edi,04h mov edx,edi add edx,ebx lea ebx,[eax+000493E0h] cmp edx,ebx jc L004A90F5 mov [esi+18h],eax L004A90F5: mov eax,[esi+18h] lea edx,[esp+10h] mov [esp+10h],eax lea eax,[esp+24h] push edx push eax mov eax,edi push ebp cdq and edx,00000003h push ecx add eax,edx lea ecx,[esp+24h] sar eax,02h push ecx push eax call SUB_L004AA060 add esp,00000018h jmp L004A9224 L004A9126: mov eax,[esi+2Ch] mov edi,[esp+1Bh] cmp eax,00000002h jnz L004A91A7 mov edx,[esp+1Ah] mov eax,[esp+19h] and edi,000000FFh mov ecx,[esp+18h] shl edi,08h and edx,000000FFh and eax,000000FFh or edi,edx and ecx,000000FFh shl edi,08h or edi,eax mov eax,[esi+10h] shl edi,08h or edi,ecx mov ecx,[esi+18h] shl edi,02h mov edx,edi add edx,ecx lea ecx,[eax+000493E0h] cmp edx,ecx jc L004A917E mov [esi+18h],eax L004A917E: mov eax,edi mov ecx,[esi+18h] cdq and edx,00000003h add eax,edx sar eax,02h cmp eax,ebp jle L004A9224 lea edx,[esp+1Ch] sub edx,ecx L004A919A: mov ebx,[edx+ecx] mov [ecx],ebx add ecx,00000004h dec eax jnz L004A919A jmp L004A9224 L004A91A7: mov edx,[esp+1Ah] mov eax,[esp+19h] and edi,000000FFh mov ecx,[esp+18h] shl edi,08h and edx,000000FFh and eax,000000FFh or edi,edx and ecx,000000FFh shl edi,08h or edi,eax mov eax,[esi+10h] shl edi,08h or edi,ecx mov ecx,[esi+18h] shl edi,02h mov edx,edi add edx,ecx lea ecx,[eax+000493E0h] cmp edx,ecx jc L004A91F3 mov [esi+18h],eax L004A91F3: mov eax,edi mov ecx,[esi+18h] cdq and edx,00000003h add eax,edx sar eax,02h cmp eax,ebp jle L004A9224 lea edx,[esp+1Ch] mov ebx,eax L004A920B: mov ax,[edx] add edx,00000002h mov [ecx+02h],ax mov [ecx],ax add ecx,00000004h dec ebx jnz L004A920B jmp L004A9224 L004A9220: mov edi,[esp+10h] L004A9224: cmp dword ptr [esi+00000374h],00000002h jnz L004A9236 mov edx,[esi] mov dword ptr [edx+74h],00000001h L004A9236: mov eax,[esi] mov ebx,[KERNEL32.dll!InterlockedIncrement] mov ecx,[eax+74h] test ecx,ecx jz L004A924E lea ecx,[esi+00000360h] push ecx call ebx L004A924E: mov eax,[esi+0000034Ch] lea ecx,[esi+0000034Ch] cdq mov ebp,00000018h push ecx idiv ebp mov ebp,[esi+18h] mov eax,edx add edx,00000004h shl eax,04h add eax,esi shl edx,04h mov [eax+3Ch],ebp lea ebp,[esi+00000364h] mov [edx+esi],edi mov edx,[esi+00000360h] mov [eax+44h],edx mov edx,[ebp+00h] mov [eax+48h],edx mov eax,[esi+18h] add eax,edi mov [esi+18h],eax call ebx add esi,0000035Ch push esi call ebx push ebp call ebx mov eax,00000002h pop edi pop esi pop ebp pop ebx add esp,00008008h retn ;------------------------------------------------------------------------------ Align 16 SUB_L004A92C0: mov eax,00008000h call SUB_L0049ACF0 lea eax,[esp+00h] push ebx push esi push edi mov edi,ecx push edx push eax mov ecx,[edi] mov edx,[ecx+00000094h] push edx call [WINMM.dll!mmioRead] test eax,eax jnz L004A92F5 or eax,FFFFFFFFh pop edi pop esi pop ebx add esp,00008000h retn ;------------------------------------------------------------------------------ L004A92F5: cmp eax,FFFFFFFFh jnz L004A9309 mov eax,FFFFFFFEh pop edi pop esi pop ebx add esp,00008000h retn ;------------------------------------------------------------------------------ L004A9309: mov cl,[esp+10h] mov dword ptr [edi+34h],00000010h cmp cl,FDh mov dword ptr [edi+2Ch],00000001h mov dword ptr [edi+30h],00005622h mov dword ptr [edi+38h],00000000h lea eax,[esp+10h] jz L004A9354 L004A9332: inc eax xor ecx,ecx xor edx,edx mov cl,[eax] inc eax mov esi,ecx dec ecx test esi,esi jz L004A934F inc ecx L004A9342: xor ebx,ebx mov bl,[eax] shl edx,08h add edx,ebx inc eax dec ecx jnz L004A9342 L004A934F: cmp byte ptr [eax],FDh jnz L004A9332 L004A9354: inc eax xor ecx,ecx mov cl,[eax] cmp ecx,0000008Ah jz L004A9553 L004A9365: add ecx,FFFFFF7Fh cmp ecx,00000003h ja L004A9526 jmp [CASE_PROCTABLE_004A9560+ecx*4] CASE_004A9560_PROC0000: inc eax xor edx,edx xor ecx,ecx mov dl,[eax] inc eax mov esi,edx mov ebx,edx dec edx test ebx,ebx jz L004A939A inc edx L004A938D: xor ebx,ebx mov bl,[eax] shl ecx,08h add ecx,ebx inc eax dec edx jnz L004A938D L004A939A: cmp esi,00000001h jnz L004A93B2 cmp ecx,0000007Fh jle L004A93B2 sub ecx,00000100h mov [edi+34h],ecx jmp L004A9543 L004A93B2: cmp esi,00000002h jnz L004A93CD cmp ecx,00007FFFh jle L004A93CD sub ecx,00010000h mov [edi+34h],ecx jmp L004A9543 L004A93CD: cmp esi,00000003h jnz L004A93E0 cmp ecx,007FFFFFh jle L004A93E0 sub ecx,01000000h L004A93E0: mov [edi+34h],ecx jmp L004A9543 CASE_004A9560_PROC0001: inc eax xor edx,edx xor ecx,ecx mov dl,[eax] inc eax mov esi,edx mov ebx,edx dec edx test ebx,ebx jz L004A9407 inc edx L004A93FA: xor ebx,ebx mov bl,[eax] shl ecx,08h add ecx,ebx inc eax dec edx jnz L004A93FA L004A9407: cmp esi,00000001h jnz L004A941F cmp ecx,0000007Fh jle L004A941F sub ecx,00000100h mov [edi+2Ch],ecx jmp L004A9543 L004A941F: cmp esi,00000002h jnz L004A943A cmp ecx,00007FFFh jle L004A943A sub ecx,00010000h mov [edi+2Ch],ecx jmp L004A9543 L004A943A: cmp esi,00000003h jnz L004A944D cmp ecx,007FFFFFh jle L004A944D sub ecx,01000000h L004A944D: mov [edi+2Ch],ecx jmp L004A9543 CASE_004A9560_PROC0003: inc eax xor edx,edx xor ecx,ecx mov dl,[eax] inc eax mov esi,edx mov ebx,edx dec edx test ebx,ebx jz L004A9474 inc edx L004A9467: xor ebx,ebx mov bl,[eax] shl ecx,08h add ecx,ebx inc eax dec edx jnz L004A9467 L004A9474: cmp esi,00000001h jnz L004A948C cmp ecx,0000007Fh jle L004A948C sub ecx,00000100h mov [edi+30h],ecx jmp L004A9543 L004A948C: cmp esi,00000002h jnz L004A94A7 cmp ecx,00007FFFh jle L004A94A7 sub ecx,00010000h mov [edi+30h],ecx jmp L004A9543 L004A94A7: cmp esi,00000003h jnz L004A94BA cmp ecx,007FFFFFh jle L004A94BA sub ecx,01000000h L004A94BA: mov [edi+30h],ecx jmp L004A9543 CASE_004A9560_PROC0002: inc eax xor edx,edx xor ecx,ecx mov dl,[eax] inc eax mov esi,edx mov ebx,edx dec edx test ebx,ebx jz L004A94E1 inc edx L004A94D4: xor ebx,ebx mov bl,[eax] shl ecx,08h add ecx,ebx inc eax dec edx jnz L004A94D4 L004A94E1: cmp esi,00000001h jnz L004A94F6 cmp ecx,0000007Fh jle L004A94F6 sub ecx,00000100h mov [edi+38h],ecx jmp L004A9543 L004A94F6: cmp esi,00000002h jnz L004A950E cmp ecx,00007FFFh jle L004A950E sub ecx,00010000h mov [edi+38h],ecx jmp L004A9543 L004A950E: cmp esi,00000003h jnz L004A9521 cmp ecx,007FFFFFh jle L004A9521 sub ecx,01000000h L004A9521: mov [edi+38h],ecx jmp L004A9543 L004A9526: inc eax xor ecx,ecx xor edx,edx mov cl,[eax] inc eax mov esi,ecx dec ecx test esi,esi jz L004A9543 inc ecx L004A9536: xor ebx,ebx mov bl,[eax] shl edx,08h add edx,ebx inc eax dec ecx jnz L004A9536 L004A9543: xor ecx,ecx mov cl,[eax] cmp ecx,0000008Ah jnz L004A9365 L004A9553: pop edi pop esi xor eax,eax pop ebx add esp,00008000h retn ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_004A9560: dd CASE_004A9560_PROC0000 dd CASE_004A9560_PROC0001 dd CASE_004A9560_PROC0002 dd CASE_004A9560_PROC0003 SUB_L004A9570: sub esp,00000088h push ebx push esi mov ebx,ecx push edi mov ecx,0000001Bh xor eax,eax lea edi,[esp+28h] lea edx,[esp+28h] rep stosd mov eax,[ebx] mov dword ptr [esp+28h],0000006Ch push edx mov eax,[eax+0Ch] push eax mov ecx,[eax] call [ecx+58h] test eax,eax jnz L004A967C mov eax,[ebx] xor esi,esi push esi lea edx,[esp+2Ch] mov eax,[eax+18h] push 00000001h push edx push esi mov ecx,[eax] push eax call [ecx+64h] test eax,eax jnz L004A967C mov ecx,[L007B8BA4] mov edi,[esp+38h] push ebp mov ebp,[esp+50h] test ecx,ecx mov [esp+18h],esi mov [esp+14h],esi mov dword ptr [esp+1Ch],0000027Fh mov dword ptr [esp+20h],000001D5h jz L004A9618 mov edx,[ebx] lea eax,[esp+10h] push eax mov eax,[edx+00000084h] push eax call SUB_L0044C8D0 test eax,eax jz L004A9618 cmp dword ptr [esp+10h],FFFFFFFFh jz L004A9618 mov ecx,eax call SUB_L00493EC0 mov esi,eax L004A9618: mov eax,[L007B8B9C] test eax,eax jz L004A966B mov ecx,[L007B8BA0] test ecx,ecx jz L004A966B test esi,esi jz L004A966B lea ecx,[esp+28h] lea edx,[esp+24h] push ecx push edx lea edx,[esp+18h] mov ecx,esi call eax lea eax,[esp+14h] mov ecx,ebp mov edx,[esp+10h] push eax mov eax,00000280h push 0000001Fh sub eax,edx push 000000C8h cdq sub eax,edx mov edx,edi sar eax,1 push eax push esi shr edx,1 call [L007B8BA0] L004A966B: mov ecx,[ebx] push 00000000h mov eax,[ecx+18h] push eax mov edx,[eax] call [edx+00000080h] pop ebp L004A967C: pop edi pop esi pop ebx add esp,00000088h retn ;------------------------------------------------------------------------------ Align 16 SUB_L004A9690: push esi mov esi,ecx mov eax,[esi] test dword ptr [eax],00080000h jnz L004A96B0 mov eax,[eax+00000094h] test eax,eax jz L004A96B0 push 00000000h push eax call [WINMM.dll!mmioClose] L004A96B0: mov eax,[esi+0Ch] test eax,eax jz L004A96C0 push eax call SUB_L0049C430 add esp,00000004h L004A96C0: mov eax,[esi+10h] test eax,eax jz L004A96D0 push eax call SUB_L0049C430 add esp,00000004h L004A96D0: lea eax,[esi+000001BCh] mov ecx,00000018h L004A96DB: mov dword ptr [eax],00000000h add eax,00000010h dec ecx jnz L004A96DB mov eax,[esi] mov ecx,[eax+70h] test ecx,ecx jz L004A9704 lea eax,[esi+3Ch] mov ecx,00000018h L004A96F8: mov dword ptr [eax],00000000h add eax,00000010h dec ecx jnz L004A96F8 L004A9704: xor eax,eax pop esi retn ;------------------------------------------------------------------------------ Align 16 L004A9710: mov eax,[esp+04h] sub esp,00000008h push ebx push ebp push esi mov esi,[eax+04h] push edi mov eax,[esi] mov ecx,[eax] and ecx,00030000h cmp ecx,00030000h jnz L004A9744 mov edx,[eax+00000098h] push edx call [KERNEL32.dll!GetCurrentThread] push eax call [KERNEL32.dll!SetThreadPriority] L004A9744: mov ecx,esi call SUB_L004AA770 test eax,eax jnz L004A997A mov eax,[esi] mov dword ptr [eax+00000088h],00000000h call [KERNEL32.dll!GetTickCount] mov ecx,[esi] push 00000001h add ecx,0000008Ch mov [esi+000003E0h],eax push ecx call [KERNEL32.dll!InterlockedExchange] mov ebp,[KERNEL32.dll!Sleep] L004A9782: mov edx,[esi] push 00000002h add edx,0000008Ch push edx call [KERNEL32.dll!InterlockedExchange] mov edi,eax mov eax,[esi+00000350h] cdq mov ecx,00000018h idiv ecx shl edx,04h cmp edi,00000003h lea ebx,[edx+esi+000001BCh] jnz L004A97ED mov edx,[esi] push edi add edx,0000008Ch push edx call [KERNEL32.dll!InterlockedExchange] L004A97C2: push 00000014h call ebp mov eax,[esi] push 00000003h add eax,0000008Ch push eax call [KERNEL32.dll!InterlockedExchange] mov edi,eax cmp edi,00000003h jz L004A97C2 mov ecx,[esi] push edi add ecx,0000008Ch push ecx call [KERNEL32.dll!InterlockedExchange] L004A97ED: cmp edi,00000004h jz L004A9963 cmp edi,00000002h jnz L004A9782 xor edi,edi push edi call ebp mov ecx,esi call SUB_L004A8A70 cmp [esi+0000033Ch],edi jnz L004A9823 mov edx,[esi] cmp [edx+70h],edi jz L004A9823 mov ecx,esi call SUB_L004AA970 mov [esi+00000368h],edi L004A9823: cmp [ebx],edi jz L004A98A5 mov eax,[esi] cmp dword ptr [eax+00000088h],00000001h jg L004A984B mov edx,ebx mov ecx,esi call SUB_L004AC370 mov ecx,esi call SUB_L004A9570 mov ecx,esi call SUB_L004AAD10 jmp L004A9861 L004A984B: mov eax,[ebx+0Ch] cmp eax,00000002h jz L004A9858 cmp eax,00000001h jnz L004A9861 L004A9858: mov edx,ebx mov ecx,esi call SUB_L004AC370 L004A9861: mov eax,[esi] test dword ptr [eax],00040000h jz L004A987F mov eax,[eax+000000A0h] cmp eax,edi jz L004A987F call eax test eax,eax jnz L004A9965 L004A987F: lea eax,[esi+00000350h] mov [ebx],edi push eax mov [ebx+04h],edi call [KERNEL32.dll!InterlockedIncrement] lea ecx,[esi+00000358h] push ecx call [KERNEL32.dll!InterlockedDecrement] mov ecx,esi call SUB_L004AB8A0 L004A98A5: mov edx,[esi] add edx,00000084h push edx call [KERNEL32.dll!InterlockedIncrement] cmp [esi+00000358h],edi jnz L004A98D3 mov eax,[esi] cmp [eax+70h],edi jz L004A9965 cmp [esi+0000035Ch],edi jz L004A9965 L004A98D3: mov eax,[esi] cmp [eax+70h],edi jz L004A9782 mov ecx,[esi+00000368h] xor edi,edi sub ecx,00000005h mov [esp+10h],ecx mov edx,[eax+00000084h] mov [esp+14h],edx mov eax,[esp+10h] mov ecx,[esp+14h] sub ecx,eax cmp ecx,00000001h jl L004A9932 L004A9906: push 00000000h call ebp push 00000003h call ebp mov edx,[esi+00000368h] mov eax,edi sub edx,00000005h inc edi cmp eax,00000064h mov [esp+10h],edx jg L004A9932 mov ecx,[esp+10h] mov edx,[esp+14h] sub edx,ecx cmp edx,00000001h jge L004A9906 L004A9932: mov eax,[esp+10h] mov ecx,[esp+14h] mov edx,[esi] sub eax,ecx mov [edx+00000088h],eax mov eax,[esi] mov ecx,[eax+00000088h] test ecx,ecx jge L004A9782 mov dword ptr [eax+00000088h],00000000h jmp L004A9782 L004A9963: xor edi,edi L004A9965: call [KERNEL32.dll!GetTickCount] mov ecx,esi mov [esi+000003E4h],eax call SUB_L004AA7B0 jmp L004A997C L004A997A: xor edi,edi L004A997C: mov ecx,esi call SUB_L004AAAD0 mov eax,[esi] mov ebx,[KERNEL32.dll!InterlockedExchange] add eax,0000008Ch push 00000005h push eax call ebx cmp [esi+000003A4h],edi jz L004A99EA mov ecx,[esp+1Ch] mov esi,[ecx+04h] mov edx,[esi+000003E4h] mov ecx,[esi+000003E0h] mov eax,[esi] sub edx,ecx mov ecx,esi mov [eax+00000080h],edx call SUB_L004A9690 mov ecx,esi call SUB_L004AA910 mov ecx,esi call SUB_L004AC290 mov ecx,[esi] push 00000006h add ecx,0000008Ch push ecx call ebx mov edx,[esi] push esi mov [edx+04h],edi call SUB_L0049C430 add esp,00000004h L004A99EA: pop edi pop esi pop ebp pop ebx add esp,00000008h retn ;------------------------------------------------------------------------------ Align 16 SUB_L004A9A00: push ebx push ebp push esi push edi push 00000B2Ch push 00000001h call SUB_L0049C380 mov ebp,[KERNEL32.dll!InterlockedExchange] mov esi,eax xor edi,edi add esp,00000008h cmp esi,edi jz L004A9A5F mov ebx,[esp+1Ch] mov eax,[esp+18h] mov [esi],ebx mov [ebx+00000090h],eax mov ecx,[esi] mov [ecx+18h],edi mov edx,[esi] mov ecx,[esp+14h] mov [edx+1Ch],edi mov eax,[esi] mov edx,esi mov [eax+00000084h],edi call SUB_L004A9BC0 test eax,eax jz L004A9B91 push esi call SUB_L0049C430 add esp,00000004h L004A9A5F: xor ebx,ebx L004A9A61: cmp ebx,edi jz L004A9B8A mov edx,[ebx+04h] mov dword ptr [edx+000003A4h],00000001h mov eax,[ebx] test eax,00010000h jz L004A9ACD push ebx push edi push L004A9710 call SUB_L004B05E0 add esp,0000000Ch cmp eax,FFFFFFFFh mov [ebx+0000009Ch],eax jz L004A9B8A lea esi,[ebx+0000008Ch] push 00000001h push esi call ebp cmp eax,00000002h jz L004A9AC1 mov edi,[KERNEL32.dll!Sleep] L004A9AB3: push 00000014h call edi push 00000001h push esi call ebp cmp eax,00000002h jnz L004A9AB3 L004A9AC1: push 00000002h push esi call ebp mov eax,ebx pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ L004A9ACD: mov esi,[ebx+04h] mov ecx,ebx call SUB_L004A9DA0 cmp [esi+000003A4h],edi jz L004A9B8A mov esi,[ebx+04h] mov eax,[esi+000003E4h] mov edx,[esi+000003E0h] mov ecx,[esi] sub eax,edx mov [ecx+00000080h],eax mov eax,[esi] test dword ptr [eax],00080000h jnz L004A9B18 mov eax,[eax+00000094h] cmp eax,edi jz L004A9B18 push edi push eax call [WINMM.dll!mmioClose] L004A9B18: mov eax,[esi+0Ch] cmp eax,edi jz L004A9B28 push eax call SUB_L0049C430 add esp,00000004h L004A9B28: mov eax,[esi+10h] cmp eax,edi jz L004A9B38 push eax call SUB_L0049C430 add esp,00000004h L004A9B38: lea eax,[esi+000001BCh] mov ecx,00000018h L004A9B43: mov [eax],edi add eax,00000010h dec ecx jnz L004A9B43 mov edx,[esi] cmp [edx+70h],edi jz L004A9B62 lea eax,[esi+3Ch] mov ecx,00000018h L004A9B5A: mov [eax],edi add eax,00000010h dec ecx jnz L004A9B5A L004A9B62: mov ecx,esi call SUB_L004AA910 mov ecx,esi call SUB_L004AC290 mov eax,[esi] push 00000006h add eax,0000008Ch push eax call ebp mov ecx,[esi] push esi mov [ecx+04h],edi call SUB_L0049C430 add esp,00000004h L004A9B8A: pop edi pop esi pop ebp xor eax,eax pop ebx retn ;------------------------------------------------------------------------------ L004A9B91: mov ecx,esi mov [ebx+04h],esi call SUB_L004AA800 mov ecx,esi call SUB_L004AC0B0 mov ecx,[esi] push edi add ecx,0000008Ch push ecx call ebp jmp L004A9A61 Align 16 SUB_L004A9BC0: push ecx push ebx push esi mov esi,edx xor ebx,ebx push edi mov eax,[esi] mov [esi+00000370h],ebx test dword ptr [eax],00080000h jnz L004A9BE9 push ebx push ebx push ecx call [WINMM.dll!mmioOpenA] mov ecx,[esi] mov [ecx+00000094h],eax L004A9BE9: mov edx,[esi] mov eax,[edx+00000094h] cmp eax,ebx jnz L004A9BFF mov eax,00000001h pop edi pop esi pop ebx pop ecx retn ;------------------------------------------------------------------------------ L004A9BFF: push ebx push 00004000h push ebx push eax call [WINMM.dll!mmioSetBuffer] test eax,eax jz L004A9C1B mov eax,00000001h pop edi pop esi pop ebx pop ecx retn ;------------------------------------------------------------------------------ L004A9C1B: mov ecx,[esi] lea eax,[esp+0Ch] push 00000004h push eax mov edx,[ecx+00000094h] push edx call [WINMM.dll!mmioRead] mov eax,[esi] push 00000001h push FFFFFFFCh mov ecx,[eax+00000094h] push ecx call [WINMM.dll!mmioSeek] mov [esi+0000037Ch],eax mov eax,[esp+0Ch] cmp eax,44414553h jz L004A9C67 cmp eax,6C484353h jz L004A9C67 cmp eax,684E5331h jz L004A9C67 xor eax,eax jmp L004A9C6C L004A9C67: mov eax,00000001h L004A9C6C: mov edx,[esi] mov ecx,00000018h mov [edx+70h],eax lea eax,[esi+3Ch] L004A9C79: mov [eax],ebx add eax,00000010h dec ecx jnz L004A9C79 lea eax,[esi+000001BCh] mov ecx,00000018h L004A9C8C: mov [eax],ebx add eax,00000010h dec ecx jnz L004A9C8C push 000AAE60h push 00000001h call SUB_L0049C380 add esp,00000008h cmp eax,ebx mov [esi+0Ch],eax mov [esi+14h],eax jnz L004A9CB7 mov eax,00000002h pop edi pop esi pop ebx pop ecx retn ;------------------------------------------------------------------------------ L004A9CB7: push 000493E0h push 00000001h call SUB_L0049C380 add esp,00000008h cmp eax,ebx mov [esi+10h],eax mov [esi+18h],eax jnz L004A9CDA mov eax,00000002h pop edi pop esi pop ebx pop ecx retn ;------------------------------------------------------------------------------ L004A9CDA: mov edx,00000004h L004A9CDF: mov edi,[esi+0Ch] mov ecx,0002AB98h xor eax,eax dec edx rep stosd mov edi,[esi+10h] mov ecx,000124F8h rep stosd jnz L004A9CDF mov eax,[esi] mov [esi+00000360h],ebx mov [esi+00000364h],ebx mov [esi+00000350h],ebx mov [esi+00000354h],ebx mov [esi+00000358h],ebx mov [esi+0000035Ch],ebx mov dword ptr [esi+00000374h],00000004h cmp [eax+70h],ebx jz L004A9D5E mov eax,[esi+0000035Ch] mov edi,00000015h cmp eax,edi jge L004A9D81 L004A9D3C: mov ecx,esi call SUB_L004A8B10 cmp eax,FFFFFFFFh jz L004A9D81 mov ecx,esi call SUB_L004A8B10 cmp eax,FFFFFFFFh jz L004A9D81 cmp [esi+0000035Ch],edi jl L004A9D3C jmp L004A9D81 L004A9D5E: mov eax,[esi+00000358h] mov edi,00000014h cmp eax,edi jge L004A9D81 L004A9D6D: mov ecx,esi call SUB_L004A8B10 cmp eax,FFFFFFFFh jz L004A9D81 cmp [esi+00000358h],edi jl L004A9D6D L004A9D81: mov eax,[esi+00000360h] mov edx,[esi] xor ecx,ecx cmp eax,ebx setz cl pop edi pop esi mov [edx+74h],ecx xor eax,eax pop ebx pop ecx retn ;------------------------------------------------------------------------------ Align 8 SUB_L004A9DA0: sub esp,00000008h push ebx push ebp push esi mov esi,[ecx+04h] push edi mov eax,[esi] mov ecx,[eax] and ecx,00030000h cmp ecx,00030000h jnz L004A9DD0 mov edx,[eax+00000098h] push edx call [KERNEL32.dll!GetCurrentThread] push eax call [KERNEL32.dll!SetThreadPriority] L004A9DD0: mov ecx,esi call SUB_L004AA770 test eax,eax jnz L004AA002 mov eax,[esi] mov dword ptr [eax+00000088h],00000000h call [KERNEL32.dll!GetTickCount] mov ecx,[esi] mov [esi+000003E0h],eax add ecx,0000008Ch push 00000001h push ecx call [KERNEL32.dll!InterlockedExchange] mov ebp,[KERNEL32.dll!Sleep] L004A9E0E: mov edx,[esi] push 00000002h add edx,0000008Ch push edx call [KERNEL32.dll!InterlockedExchange] mov edi,eax mov eax,[esi+00000350h] cdq mov ecx,00000018h idiv ecx shl edx,04h cmp edi,00000003h lea ebx,[edx+esi+000001BCh] jnz L004A9E79 mov edx,[esi] push edi add edx,0000008Ch push edx call [KERNEL32.dll!InterlockedExchange] L004A9E4E: push 00000014h call ebp mov eax,[esi] add eax,0000008Ch push 00000003h push eax call [KERNEL32.dll!InterlockedExchange] mov edi,eax cmp edi,00000003h jz L004A9E4E mov ecx,[esi] push edi add ecx,0000008Ch push ecx call [KERNEL32.dll!InterlockedExchange] L004A9E79: cmp edi,00000004h jz L004A9FEF cmp edi,00000002h jnz L004A9E0E xor edi,edi push edi call ebp mov ecx,esi call SUB_L004A8A70 cmp [esi+0000033Ch],edi jnz L004A9EAF mov edx,[esi] cmp [edx+70h],edi jz L004A9EAF mov ecx,esi call SUB_L004AA970 mov [esi+00000368h],edi L004A9EAF: cmp [ebx],edi jz L004A9F31 mov eax,[esi] cmp dword ptr [eax+00000088h],00000001h jg L004A9ED7 mov edx,ebx mov ecx,esi call SUB_L004AC370 mov ecx,esi call SUB_L004A9570 mov ecx,esi call SUB_L004AAD10 jmp L004A9EED L004A9ED7: mov eax,[ebx+0Ch] cmp eax,00000002h jz L004A9EE4 cmp eax,00000001h jnz L004A9EED L004A9EE4: mov edx,ebx mov ecx,esi call SUB_L004AC370 L004A9EED: mov eax,[esi] test dword ptr [eax],00040000h jz L004A9F0B mov eax,[eax+000000A0h] cmp eax,edi jz L004A9F0B call eax test eax,eax jnz L004A9FEF L004A9F0B: lea eax,[esi+00000350h] mov [ebx],edi push eax mov [ebx+04h],edi call [KERNEL32.dll!InterlockedIncrement] lea ecx,[esi+00000358h] push ecx call [KERNEL32.dll!InterlockedDecrement] mov ecx,esi call SUB_L004AB8A0 L004A9F31: mov edx,[esi] add edx,00000084h push edx call [KERNEL32.dll!InterlockedIncrement] cmp [esi+00000358h],edi jnz L004A9F5F mov eax,[esi] cmp [eax+70h],edi jz L004A9FEF cmp [esi+0000035Ch],edi jz L004A9FEF L004A9F5F: mov eax,[esi] cmp [eax+70h],edi jz L004A9E0E mov ecx,[esi+00000368h] xor edi,edi sub ecx,00000005h mov [esp+10h],ecx mov edx,[eax+00000084h] mov [esp+14h],edx mov eax,[esp+10h] mov ecx,[esp+14h] sub ecx,eax cmp ecx,00000001h jl L004A9FBE L004A9F92: push 00000000h call ebp push 00000003h call ebp mov edx,[esi+00000368h] mov eax,edi sub edx,00000005h inc edi cmp eax,00000064h mov [esp+10h],edx jg L004A9FBE mov ecx,[esp+10h] mov edx,[esp+14h] sub edx,ecx cmp edx,00000001h jge L004A9F92 L004A9FBE: mov eax,[esp+10h] mov ecx,[esp+14h] mov edx,[esi] sub eax,ecx mov [edx+00000088h],eax mov eax,[esi] mov ecx,[eax+00000088h] test ecx,ecx jge L004A9E0E mov dword ptr [eax+00000088h],00000000h jmp L004A9E0E L004A9FEF: call [KERNEL32.dll!GetTickCount] mov ecx,esi mov [esi+000003E4h],eax call SUB_L004AA7B0 L004AA002: mov ecx,esi call SUB_L004AAAD0 mov eax,[esi] add eax,0000008Ch push 00000005h push eax call [KERNEL32.dll!InterlockedExchange] pop edi pop esi pop ebp pop ebx add esp,00000008h retn ;------------------------------------------------------------------------------ Align 16 SUB_L004AA030: mov eax,[esp+04h] mov [L007B8BA0],eax retn ;------------------------------------------------------------------------------ Align 8 SUB_L004AA040: mov eax,[esp+04h] mov [L007B8B9C],eax retn ;------------------------------------------------------------------------------ Align 8 SUB_L004AA050: mov eax,[esp+04h] mov [L007B8BA4],eax retn ;------------------------------------------------------------------------------ Align 8 SUB_L004AA060: mov ecx,[esp+08h] sub esp,00000008h mov eax,[ecx] push ebx push ebp push esi lea eax,[eax+eax*2] mov ebx,[esp+28h] push edi lea esi,[eax+eax*4] mov eax,92492493h imul esi add edx,esi sar edx,04h mov eax,edx shr eax,1Fh add edx,eax mov eax,[esp+24h] add ebx,edx mov edx,[esp+30h] mov esi,[eax] mov eax,[esp+1Ch] mov edi,[edx] mov edx,[esp+28h] test eax,eax mov ebp,[edx] jle L004AA1BA lea edx,[eax+1Bh] mov eax,24924925h mov [esp+2Ch],edx mul edx mov eax,[esp+2Ch] sub eax,edx shr eax,1 add eax,edx shr eax,04h mov [esp+10h],eax jmp L004AA0CF L004AA0CB: mov ecx,[esp+20h] L004AA0CF: mov eax,[ecx] add eax,0000001Ch mov [ecx],eax xor eax,eax mov al,[ebx] mov ecx,eax and eax,0000000Fh shr ecx,04h add eax,00000008h inc ebx mov edx,[L004D5F20+ecx*4] mov ecx,[L004D5F30+ecx*4] mov [esp+1Ch],eax lea eax,[edi+70h] cmp edi,eax mov [esp+2Ch],ecx mov [esp+14h],eax jnc L004AA1AB L004AA10B: imul ebp,[esp+2Ch] mov eax,esi xor ecx,ecx imul eax,edx mov cl,[ebx] add eax,ebp mov ebp,ecx mov ecx,[esp+1Ch] shr ebp,04h shl ebp,1Ch sar ebp,cl lea eax,[eax+ebp+00000080h] sar eax,08h cmp eax,FFFF8000h jge L004AA141 mov eax,FFFF8000h jmp L004AA14D L004AA141: cmp eax,00007FFFh jle L004AA14D mov eax,00007FFFh L004AA14D: imul esi,[esp+2Ch] mov [edi],ax mov [edi+02h],ax mov ebp,eax imul eax,edx mov ecx,[esp+1Ch] add esi,eax xor eax,eax mov al,[ebx] shl eax,1Ch sar eax,cl lea eax,[esi+eax+00000080h] sar eax,08h cmp eax,FFFF8000h jge L004AA185 mov eax,FFFF8000h jmp L004AA191 L004AA185: cmp eax,00007FFFh jle L004AA191 mov eax,00007FFFh L004AA191: mov [edi+04h],ax mov [edi+06h],ax mov esi,eax mov eax,[esp+14h] add edi,00000008h inc ebx cmp edi,eax jc L004AA10B L004AA1AB: mov eax,[esp+10h] dec eax mov [esp+10h],eax jnz L004AA0CB L004AA1BA: mov ecx,[esp+24h] mov edx,[esp+28h] mov eax,[esp+30h] mov [ecx],esi mov [edx],ebp mov [eax],edi pop edi pop esi pop ebp pop ebx add esp,00000008h retn ;------------------------------------------------------------------------------ Align 16 SUB_L004AA1E0: sub esp,00000028h mov ecx,[esp+30h] push ebx push ebp push esi mov eax,[ecx] mov ebx,[esp+50h] push edi lea eax,[eax+eax*2] lea esi,[eax+eax*4] mov eax,92492493h shl esi,1 imul esi add edx,esi sar edx,04h mov eax,edx shr eax,1Fh add edx,eax mov eax,[esp+44h] add ebx,edx mov edx,[esp+58h] mov edi,[eax] mov esi,[edx] mov edx,[esp+48h] mov [esp+2Ch],esi mov eax,[edx] mov edx,[esp+4Ch] mov [esp+10h],eax mov eax,[esp+50h] mov ebp,[edx] mov edx,[eax] mov eax,[esp+3Ch] test eax,eax mov [esp+14h],edx jle L004AA435 lea edx,[eax+1Bh] mov eax,24924925h mov [esp+54h],edx mul edx mov eax,[esp+54h] sub eax,edx shr eax,1 add eax,edx shr eax,04h mov [esp+30h],eax jmp L004AA269 L004AA265: mov ecx,[esp+40h] L004AA269: mov eax,[ecx] add ebx,00000002h add eax,0000001Ch mov [esp+54h],ebx mov [ecx],eax xor eax,eax mov al,[ebx-02h] mov ecx,eax and eax,0000000Fh shr ecx,04h mov edx,[L004D5F20+ecx*4] mov ecx,[L004D5F30+ecx*4] mov [esp+18h],edx mov edx,[L004D5F20+eax*4] mov eax,[L004D5F30+eax*4] mov [esp+1Ch],ecx mov [esp+28h],eax xor eax,eax mov al,[ebx-01h] mov [esp+24h],edx mov ecx,eax and eax,0000000Fh add eax,00000008h shr ecx,04h mov [esp+20h],eax lea eax,[esi+70h] add ecx,00000008h cmp esi,eax mov [esp+3Ch],ecx mov [esp+34h],eax jnc L004AA426 jmp L004AA2E0 L004AA2DC: mov ecx,[esp+3Ch] L004AA2E0: xor edx,edx mov eax,[esp+10h] mov dl,[ebx] imul eax,[esp+1Ch] mov ebx,edx and ebx,FFFFFFF0h shl ebx,18h sar ebx,cl mov ecx,edi imul ecx,[esp+18h] add ebx,ecx mov ecx,[esp+20h] shl edx,1Ch sar edx,cl mov ecx,[esp+14h] lea eax,[ebx+eax+00000080h] imul ecx,[esp+28h] add edx,ecx mov ecx,ebp imul ecx,[esp+24h] sar eax,08h lea edx,[edx+ecx+00000080h] sar edx,08h cmp eax,FFFF8000h jge L004AA33D mov eax,FFFF8000h jmp L004AA349 L004AA33D: cmp eax,00007FFFh jle L004AA349 mov eax,00007FFFh L004AA349: cmp edx,FFFF8000h jge L004AA358 mov edx,FFFF8000h jmp L004AA365 L004AA358: cmp edx,00007FFFh jle L004AA365 mov edx,00007FFFh L004AA365: mov [esi],ax mov [esi+02h],dx mov esi,[esp+54h] xor ecx,ecx imul edi,[esp+1Ch] imul ebp,[esp+28h] mov cl,[esi+01h] mov [esp+10h],eax imul eax,[esp+18h] mov esi,ecx mov ecx,[esp+3Ch] mov ebx,esi mov [esp+14h],edx imul edx,[esp+24h] and ebx,FFFFFFF0h shl ebx,18h sar ebx,cl mov ecx,[esp+20h] shl esi,1Ch sar esi,cl add ebx,eax lea eax,[ebx+edi+00000080h] add esi,edx sar eax,08h lea ecx,[esi+ebp+00000080h] sar ecx,08h cmp eax,FFFF8000h jge L004AA3D0 mov eax,FFFF8000h jmp L004AA3DC L004AA3D0: cmp eax,00007FFFh jle L004AA3DC mov eax,00007FFFh L004AA3DC: cmp ecx,FFFF8000h jge L004AA3EB mov ecx,FFFF8000h jmp L004AA3F8 L004AA3EB: cmp ecx,00007FFFh jle L004AA3F8 mov ecx,00007FFFh L004AA3F8: mov esi,[esp+2Ch] mov ebx,[esp+54h] mov edi,eax add ebx,00000002h mov [esi+04h],ax mov eax,[esp+34h] mov [esi+06h],cx add esi,00000008h cmp esi,eax mov ebp,ecx mov [esp+54h],ebx mov [esp+2Ch],esi jc L004AA2DC L004AA426: mov eax,[esp+30h] dec eax mov [esp+30h],eax jnz L004AA265 L004AA435: mov edx,[esp+44h] mov ecx,[esp+48h] mov eax,[esp+10h] mov [edx],edi mov edx,[esp+4Ch] mov [ecx],eax mov ecx,[esp+50h] mov eax,[esp+14h] mov [edx],ebp mov edx,[esp+58h] mov [ecx],eax pop edi mov [edx],esi pop esi pop ebp pop ebx add esp,00000028h retn ;------------------------------------------------------------------------------ Align 16 L004AA470: sub esp,00000014h push ebx push 0000000Fh call [KERNEL32.dll!Sleep] mov ebx,[esp+1Ch] push 00000001h lea eax,[ebx+00000384h] push eax call [KERNEL32.dll!InterlockedExchange] test eax,eax jz L004AA768 push edi push esi push ebp L004AA49A: mov eax,[ebx+0000033Ch] test eax,eax jz L004AA739 mov eax,[ebx+00000390h] test eax,eax jz L004AA4F1 mov eax,[ebx+0000038Ch] add eax,00000372h mov [ebx+0000038Ch],eax mov ecx,[ebx+00000340h] cmp [ebx+0000038Ch],ecx jl L004AA4E5 mov edx,[ebx+00000340h] mov eax,[ebx+0000038Ch] sub eax,edx mov [ebx+0000038Ch],eax L004AA4E5: mov eax,[ebx+0000038Ch] mov [esp+1Ch],eax jmp L004AA50A L004AA4F1: mov ecx,[ebx] mov eax,[ecx+50h] lea ecx,[esp+20h] push ecx lea ecx,[esp+20h] mov edx,[eax] push ecx push eax call [edx+10h] mov eax,[esp+1Ch] L004AA50A: cmp [ebx+00000344h],eax jg L004AA51C mov edx,[ebx+00000344h] sub eax,edx jmp L004AA52C L004AA51C: mov ecx,[ebx+00000344h] mov edx,[ebx+00000340h] sub eax,ecx add eax,edx L004AA52C: mov esi,eax mov eax,[ebx+00000348h] cdq mov ecx,00000018h idiv ecx add edx,00000004h shl edx,04h cmp esi,[edx+ebx] jl L004AA739 mov eax,[ebx+00000348h] cdq idiv ecx mov eax,[ebx+0000035Ch] shl edx,04h test eax,eax mov eax,[ebx+00000390h] lea ebp,[edx+ebx+3Ch] jz L004AA693 test eax,eax jnz L004AA63D mov edx,[ebx] push 00000000h mov eax,[edx+50h] lea edx,[esp+14h] push edx lea edx,[esp+1Ch] push edx lea edx,[esp+34h] push edx mov ecx,[eax] lea edx,[esp+28h] push edx mov edx,[ebp+04h] push edx mov edx,[ebx+00000344h] push edx push eax call [ecx+2Ch] test eax,eax jz L004AA5E2 L004AA5A7: mov eax,[ebx] mov eax,[eax+50h] push eax mov ecx,[eax] call [ecx+50h] mov edx,[ebx] push 00000000h mov eax,[edx+50h] lea edx,[esp+14h] push edx lea edx,[esp+1Ch] push edx lea edx,[esp+34h] push edx mov ecx,[eax] lea edx,[esp+28h] push edx mov edx,[ebp+04h] push edx mov edx,[ebx+00000344h] push edx push eax call [ecx+2Ch] test eax,eax jnz L004AA5A7 L004AA5E2: mov ecx,[esp+28h] mov esi,[ebp+00h] mov edi,[esp+18h] mov eax,ecx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov ecx,[esp+10h] test ecx,ecx jz L004AA622 mov esi,[ebp+00h] mov edx,[esp+28h] mov edi,[esp+14h] add esi,edx mov edx,ecx shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb mov ecx,[esp+10h] L004AA622: mov eax,[ebx] push ecx mov ecx,[esp+18h] mov eax,[eax+50h] push ecx mov ecx,[esp+30h] mov edx,[eax] push ecx mov ecx,[esp+24h] push ecx push eax call [edx+4Ch] L004AA63D: mov eax,[ebx+00000344h] mov ecx,[ebp+04h] add eax,ecx cdq idiv [ebx+00000340h] lea eax,[ebx+00000348h] push eax mov [ebx+00000344h],edx call [KERNEL32.dll!InterlockedIncrement] mov edx,[ebp+08h] lea eax,[ebx+00000368h] push edx push eax call [KERNEL32.dll!InterlockedExchange] lea eax,[ebx+0000035Ch] push eax call [KERNEL32.dll!InterlockedDecrement] mov dword ptr [ebp+00h],00000000h mov dword ptr [ebp+04h],00000000h jmp L004AA739 L004AA693: test eax,eax jnz L004AA715 mov ecx,[ebx] push 00000000h mov eax,[ecx+50h] lea ecx,[esp+14h] push ecx lea ecx,[esp+1Ch] push ecx mov edx,[eax] lea ecx,[esp+34h] push ecx lea ecx,[esp+28h] push ecx mov ecx,[ebx+00000344h] push esi push ecx push eax call [edx+2Ch] test eax,eax jnz L004AA715 mov ecx,[esp+28h] mov edi,[esp+18h] mov edx,ecx shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov ecx,[esp+10h] test ecx,ecx jz L004AA6FA mov edi,[esp+14h] mov edx,ecx xor eax,eax shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov ecx,[esp+10h] L004AA6FA: mov eax,[ebx] push ecx mov ecx,[esp+18h] mov eax,[eax+50h] push ecx mov ecx,[esp+30h] mov edx,[eax] push ecx mov ecx,[esp+24h] push ecx push eax call [edx+4Ch] L004AA715: mov edx,[ebx+00000344h] mov eax,esi add eax,edx cdq idiv [ebx+00000340h] lea eax,[ebx+00000368h] push eax mov [ebx+00000344h],edx call [KERNEL32.dll!InterlockedIncrement] L004AA739: lea ecx,[ebx+00000380h] push ecx call [KERNEL32.dll!InterlockedIncrement] push 0000000Fh call [KERNEL32.dll!Sleep] lea eax,[ebx+00000384h] push 00000001h push eax call [KERNEL32.dll!InterlockedExchange] test eax,eax jnz L004AA49A pop ebp pop esi pop edi L004AA768: xor eax,eax pop ebx add esp,00000014h retn ;------------------------------------------------------------------------------ Align 4 SUB_L004AA770: push ecx push esi mov esi,ecx push 00000001h lea eax,[esi+00000384h] push eax call [KERNEL32.dll!InterlockedExchange] lea ecx,[esp+04h] push ecx push 00000000h push esi push L004AA470 push 00000000h push 00000000h call [KERNEL32.dll!CreateThread] xor edx,edx mov [esi+00000388h],eax test eax,eax setz dl mov eax,edx pop esi pop ecx retn ;------------------------------------------------------------------------------ Align 8 SUB_L004AA7B0: mov eax,[ecx+00000388h] test eax,eax jz L004AA7F0 push edi mov edi,[KERNEL32.dll!InterlockedExchange] push esi lea esi,[ecx+00000384h] push 00000000h push esi call edi push 00000000h push esi call edi test eax,eax jnz L004AA7EB push ebx mov ebx,[KERNEL32.dll!Sleep] L004AA7DD: push 0000000Ah call ebx push 00000000h push esi call edi test eax,eax jz L004AA7DD pop ebx L004AA7EB: pop esi xor eax,eax pop edi retn ;------------------------------------------------------------------------------ L004AA7F0: mov eax,00000001h retn ;------------------------------------------------------------------------------ Align 16 SUB_L004AA800: sub esp,00000074h push ebx mov ebx,ecx push esi push edi mov eax,[ebx] test dword ptr [eax],00800000h jz L004AA902 mov ecx,[eax+48h] lea esi,[eax+48h] test ecx,ecx jnz L004AA85B push 00000000h push esi mov dword ptr [ebx+000003A0h],00000001h mov edi,[eax+00000090h] push 00000000h call jmp_DSOUND.dll!DirectSoundCreate test eax,eax jnz L004AA855 mov eax,[esi] push 00000002h push edi push eax mov ecx,[eax] call [ecx+18h] test eax,eax jz L004AA85B mov eax,[esi] push eax mov edx,[eax] call [edx+08h] L004AA855: mov dword ptr [esi],00000000h L004AA85B: mov edx,[ebx] mov eax,[edx+48h] test eax,eax jz L004AA8FB mov ecx,00000018h xor eax,eax lea edi,[esp+20h] rep stosd mov dword ptr [esp+20h],00000060h mov eax,[edx+48h] lea edx,[esp+20h] mov ecx,[eax] push edx push eax call [ecx+10h] mov eax,[esp+24h] shr eax,05h and eax,00000001h mov [ebx+00000394h],eax mov eax,[ebx] test dword ptr [eax],00400000h jz L004AA8E8 mov eax,[eax+4Ch] test eax,eax jz L004AA8E8 xor ecx,ecx mov edx,[eax] mov [esp+0Ch],ecx mov dword ptr [esp+0Ch],00000014h mov [esp+10h],ecx mov [esp+14h],ecx mov [esp+18h],ecx mov [esp+1Ch],ecx lea ecx,[esp+0Ch] push ecx push eax call [edx+0Ch] xor eax,eax mov edx,[esp+14h] mov [ebx+00000398h],edx pop edi pop esi pop ebx add esp,00000074h retn ;------------------------------------------------------------------------------ L004AA8E8: mov dword ptr [ebx+00000398h],00008000h xor eax,eax pop edi pop esi pop ebx add esp,00000074h retn ;------------------------------------------------------------------------------ L004AA8FB: mov dword ptr [edx+4Ch],00000000h L004AA902: pop edi pop esi xor eax,eax pop ebx add esp,00000074h retn ;------------------------------------------------------------------------------ Align 8 SUB_L004AA910: push esi mov esi,ecx mov eax,[esi] test dword ptr [eax],00800000h jz L004AA95E mov ecx,[esi+0000039Ch] test ecx,ecx jz L004AA93D mov eax,[eax+4Ch] test eax,eax jz L004AA93D mov ecx,[eax] push eax call [ecx+08h] mov edx,[esi] mov dword ptr [edx+4Ch],00000000h L004AA93D: mov eax,[esi+000003A0h] test eax,eax jz L004AA95E mov esi,[esi] add esi,00000048h mov eax,[esi] test eax,eax jz L004AA95E mov ecx,[eax] push eax call [ecx+08h] mov dword ptr [esi],00000000h L004AA95E: xor eax,eax pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L004AA970: sub esp,0000003Ch push ebx push ebp push esi mov esi,ecx xor ebx,ebx mov ebp,00000001h mov eax,[esi] cmp [eax+48h],ebx jz L004AAA93 mov edx,[esi+00000398h] xor ecx,ecx mov [esp+20h],ecx mov dword ptr [esp+20h],00000014h mov [esp+24h],ecx mov dword ptr [esp+24h],000100E0h mov [esp+28h],ecx mov [esp+28h],edx mov [esp+2Ch],ecx xor edx,edx mov [esp+30h],ecx lea ecx,[esp+0Ch] mov [esp+0Ch],edx mov [esp+30h],ecx mov ecx,[esi+30h] mov [esp+10h],edx mov [esp+14h],edx mov [esp+10h],ecx mov [esp+18h],edx mov [esp+0Ch],bp shl ecx,02h mov [esp+1Ch],dx mov word ptr [esp+0Eh],0002h mov word ptr [esp+18h],0004h mov [esp+14h],ecx mov word ptr [esp+1Ah],0010h mov ecx,[eax+48h] add eax,00000050h push ebx mov edx,[ecx] push eax lea eax,[esp+28h] push eax push ecx call [edx+0Ch] test eax,eax jnz L004AAA93 mov ecx,[esi] mov eax,[ecx+50h] mov ecx,[esi+30h] push ecx push eax mov edx,[eax] call [edx+44h] xor edx,edx mov eax,[esi] mov [esp+34h],edx mov dword ptr [esp+34h],00000014h mov [esp+38h],edx mov [esp+3Ch],edx mov [esp+40h],edx mov [esp+44h],edx mov eax,[eax+50h] lea edx,[esp+34h] mov ecx,[eax] push edx push eax call [ecx+0Ch] test eax,eax jnz L004AAA88 mov eax,[esp+3Ch] mov ecx,[esi] mov [esi+00000340h],eax mov [esi+00000390h],ebx mov [esi+00000344h],ebx mov eax,[ecx+50h] push ebp push ebx mov edx,[eax] push ebx push eax call [edx+30h] test eax,eax jz L004AAAB4 mov eax,[esi] mov eax,[eax+50h] jmp L004AAA8D L004AAA88: mov edx,[esi] mov eax,[edx+50h] L004AAA8D: mov ecx,[eax] push eax call [ecx+08h] L004AAA93: mov edx,[esi] mov [edx+50h],ebx mov [esi+0000038Ch],ebx mov dword ptr [esi+00000340h],00008000h mov [esi+00000390h],ebp mov [esi+00000344h],ebx L004AAAB4: mov [esi+0000033Ch],ebp pop esi pop ebp xor eax,eax pop ebx add esp,0000003Ch retn ;------------------------------------------------------------------------------ Align 16 SUB_L004AAAD0: push esi mov esi,ecx mov eax,[esi] mov eax,[eax+50h] test eax,eax jz L004AAAEB mov ecx,[eax] push eax call [ecx+08h] mov edx,[esi] mov dword ptr [edx+50h],00000000h L004AAAEB: xor eax,eax pop esi retn ;------------------------------------------------------------------------------ db 90h; '?' push ebp mov ebp,esp pushad xor ecx,ecx add ecx,[ebp+08h] mov eax,[ebp+08h] add [ebp+14h],eax mov eax,[ebp+1Ch] mov eax,[eax] mov edx,[ebp+18h] mov edx,[edx] movsx edx,dx mov esi,[ebp+0Ch] mov edi,[ebp+10h] xor ebx,ebx L004AAB14: mov bl,[esi] test ecx,00000001h jnz L004AAB23 shr bl,04h jmp L004AAB27 L004AAB23: and bl,0Fh inc esi L004AAB27: add edx,[eax+ebx*4+L004D5F40] cmp edx,00007FFFh jg L004AAB85 cmp edx,FFFF8000h jl L004AAB8C L004AAB3E: mov [edi],dx add edi,00000002h inc ecx and bl,07h add eax,[L004D7580+ebx*4] cmp eax,00001600h jg L004AAB6D cmp eax,00000000h jl L004AAB79 cmp ecx,[ebp+14h] jl L004AAB14 L004AAB60: mov ecx,[ebp+18h] mov [ecx],edx mov ecx,[ebp+1Ch] mov [ecx],eax popad leave retn ;------------------------------------------------------------------------------ L004AAB6D: mov eax,00001600h cmp ecx,[ebp+14h] jl L004AAB14 jmp L004AAB60 L004AAB79: mov eax,00000000h cmp ecx,[ebp+14h] jl L004AAB14 jmp L004AAB60 L004AAB85: mov edx,00007FFFh jmp L004AAB3E L004AAB8C: mov edx,FFFF8000h jmp L004AAB3E SUB_L004AAB93: push ebp mov ebp,esp pushad xor ecx,ecx mov edx,[ebp+18h] mov edx,[edx] movsx eax,dx mov [L004D75A8],eax shr edx,10h movsx eax,dx mov [L004D75AC],eax mov edx,[ebp+14h] mov edx,[edx] movsx eax,dx mov [L004D75A0],eax shr edx,10h movsx eax,dx mov [L004D75A4],eax mov esi,[ebp+08h] mov edi,[ebp+0Ch] xor ebx,ebx L004AABD1: mov bl,[esi] shr bl,04h mov eax,[L004D75A8] mov edx,[L004D75A0] add edx,[eax+ebx*4+L004D5F40] cmp edx,00007FFFh jg L004AACD4 cmp edx,FFFF8000h jl L004AACDE L004AAC00: mov [edi+ecx*4],dx mov [L004D75A0],edx and bl,07h add eax,[L004D7580+ebx*4] cmp eax,00001600h jg L004AACC0 cmp eax,00000000h jl L004AACCA L004AAC28: mov [L004D75A8],eax mov bl,[esi] and bl,0Fh mov eax,[L004D75AC] mov edx,[L004D75A4] add edx,[eax+ebx*4+L004D5F40] cmp edx,00007FFFh jg L004AACF6 cmp edx,FFFF8000h jl L004AAD00 L004AAC5C: mov [edi+ecx*4+02h],dx mov [L004D75A4],edx and bl,07h add eax,[L004D7580+ebx*4] cmp eax,00001600h jg L004AACE8 cmp eax,00000000h jl L004AACEF L004AAC7D: mov [L004D75AC],eax add ecx,00000001h inc esi cmp ecx,[ebp+10h] jl L004AABD1 mov edx,[L004D75A4] shl edx,10h mov ecx,[L004D75A0] mov dx,cx mov ecx,[ebp+14h] mov [ecx],edx mov edx,[L004D75AC] shl edx,10h mov ecx,[L004D75A8] mov dx,cx mov ecx,[ebp+18h] mov [ecx],edx popad leave retn ;------------------------------------------------------------------------------ L004AACC0: mov eax,00001600h jmp L004AAC28 L004AACCA: mov eax,00000000h jmp L004AAC28 L004AACD4: mov edx,00007FFFh jmp L004AAC00 L004AACDE: mov edx,FFFF8000h jmp L004AAC00 L004AACE8: mov eax,00001600h jmp L004AAC7D L004AACEF: mov eax,00000000h jmp L004AAC7D L004AACF6: mov edx,00007FFFh jmp L004AAC5C L004AAD00: mov edx,FFFF8000h jmp L004AAC5C Align 8 SUB_L004AAD10: sub esp,00000034h push ebx push ebp push esi push edi mov edi,ecx xor edx,edx xor ebx,ebx mov [esp+1Ch],edx mov eax,[edi] mov ecx,[eax+58h] mov esi,[eax+54h] mov [esp+20h],ecx mov [esp+14h],ecx mov ecx,[eax] mov [esp+10h],esi test ch,08h mov [esp+18h],esi jnz L004AAF88 cmp dword ptr [eax+3Ch],00000008h jnz L004AADA5 mov ebp,[eax+14h] lea ecx,[edi+0000042Dh] mov esi,00000100h lea eax,[ebp+02h] L004AAD5B: mov dl,[ecx-01h] add ecx,00000003h mov [eax-02h],dl mov dl,[ecx-03h] mov [eax-01h],dl mov dl,[ecx-02h] mov [eax],dl mov byte ptr [eax+01h],00h add eax,00000004h dec esi jnz L004AAD5B mov eax,[edi] push 00000000h push 00000001h mov eax,[eax+08h] push eax mov ecx,[eax] call [ecx+58h] mov edx,[edi] push ebp push 00000100h mov eax,[edx+10h] push 00000000h push 00000000h push eax mov ecx,[eax] call [ecx+18h] mov esi,[esp+10h] mov edx,[esp+1Ch] L004AADA5: mov eax,[edi] mov ecx,[eax] test cl,80h jz L004AADB5 mov ebp,[eax+64h] mov [esp+14h],ebp L004AADB5: test ch,01h jz L004AADC1 mov ebp,[eax+68h] mov [esp+18h],ebp L004AADC1: test cl,40h jz L004AADDA mov ebp,[esp+20h] shl ebp,1 mov [esp+20h],ebp mov ebp,[esp+14h] shl ebp,1 mov [esp+14h],ebp L004AADDA: test cl,30h jz L004AADEF mov ebp,[esp+18h] shl esi,1 shl ebp,1 mov [esp+10h],esi mov [esp+18h],ebp L004AADEF: test cl,04h jz L004AAE03 mov edx,[edi+04h] mov ebp,[esp+14h] sub edx,ebp sar edx,1 mov [esp+1Ch],edx L004AAE03: test cl,08h jz L004AAE13 mov ebx,[edi+08h] mov ebp,[esp+18h] sub ebx,ebp sar ebx,1 L004AAE13: test cl,01h jz L004AAE1B add edx,[eax+5Ch] L004AAE1B: test cl,02h jz L004AAE23 add ebx,[eax+60h] L004AAE23: mov ecx,[esp+20h] mov [esp+24h],edx mov [esp+3Ch],ecx mov ecx,[esp+14h] add ecx,edx mov edx,[esp+18h] xor ebp,ebp add edx,ebx mov [esp+34h],ebp mov [esp+38h],ebp mov [esp+40h],esi mov [esp+28h],ebx mov [esp+2Ch],ecx mov [esp+30h],edx mov eax,[eax+0Ch] push eax mov ecx,[eax] call [ecx+60h] cmp eax,887601C2h jnz L004AAE70 mov edx,[edi] mov eax,[edx+0Ch] push eax mov ecx,[eax] call [ecx+6Ch] L004AAE70: mov eax,[edi] mov ecx,[eax] test cl,20h jz L004AAED4 mov eax,[esp+10h] xor esi,esi cmp eax,ebp jle L004AAF88 L004AAE87: lea eax,[esi+ebx+01h] lea edx,[esi+ebx] mov [esp+30h],eax mov eax,esi sar eax,1 mov [esp+38h],eax inc eax mov [esp+40h],eax mov eax,[edi] mov [esp+28h],edx push 00000000h mov ecx,[eax+0Ch] mov eax,[eax+18h] lea ebp,[esp+38h] push 01000000h mov edx,[ecx] push ebp push eax lea eax,[esp+34h] push eax push ecx call [edx+14h] add esi,00000002h cmp esi,[esp+10h] jl L004AAE87 pop edi pop esi pop ebp pop ebx add esp,00000034h retn ;------------------------------------------------------------------------------ L004AAED4: test cl,10h jz L004AAF6B cmp [esp+10h],ebp jle L004AAF88 or ebp,FFFFFFFFh lea esi,[ebx+01h] sub ebp,ebx L004AAEEF: lea eax,[ebp+esi+00h] lea ecx,[esi-01h] sar eax,1 mov [esp+38h],eax inc eax mov [esp+40h],eax mov eax,[edi] mov [esp+28h],ecx mov [esp+30h],esi mov ecx,[eax+0Ch] mov eax,[eax+18h] push 00000000h lea ebx,[esp+38h] mov edx,[ecx] push 01000000h push ebx push eax lea eax,[esp+34h] push eax push ecx call [edx+14h] mov eax,[edi] lea ecx,[esi+01h] mov [esp+28h],esi mov [esp+30h],ecx mov ecx,[eax+0Ch] mov eax,[eax+18h] push 00000000h lea ebx,[esp+38h] mov edx,[ecx] push 01000000h push ebx push eax lea eax,[esp+34h] push eax push ecx call [edx+14h] add esi,00000002h mov eax,[esp+10h] lea ecx,[ebp+esi+00h] cmp ecx,eax jl L004AAEEF pop edi pop esi pop ebp pop ebx add esp,00000034h retn ;------------------------------------------------------------------------------ L004AAF6B: mov ecx,[eax+0Ch] mov eax,[eax+18h] push ebp lea esi,[esp+38h] mov edx,[ecx] push 01000000h push esi push eax lea eax,[esp+34h] push eax push ecx call [edx+14h] L004AAF88: pop edi pop esi pop ebp pop ebx add esp,00000034h retn ;------------------------------------------------------------------------------ SUB_L004AAF90: push ebp mov ebp,esp sub esp,0000000Ch push esi mov esi,ecx mov [ebp-0Ch],esi mov [ebp-04h],edx push ecx mov eax,[ebp-04h] mov ecx,00000002h mov eax,[eax+ecx-04h] neg ecx lea ecx,[00000020h+ecx*8] shr eax,cl pop ecx mov ecx,[esi] mov [ecx+58h],eax lea eax,[edx+02h] mov [ebp-04h],eax push ecx mov eax,[ebp-04h] mov ecx,00000002h mov eax,[eax+ecx-04h] neg ecx lea ecx,[00000020h+ecx*8] shr eax,cl pop ecx mov ecx,[esi] mov [ecx+54h],eax lea eax,[edx+04h] mov [ebp-04h],eax push ecx mov eax,[ebp-04h] mov ecx,00000002h mov eax,[eax+ecx-04h] neg ecx lea ecx,[00000020h+ecx*8] shr eax,cl pop ecx lea ecx,[edx+06h] mov [esi+000003F0h],eax mov [ebp-04h],ecx push ecx mov eax,[ebp-04h] mov ecx,00000002h mov eax,[eax+ecx-04h] neg ecx lea ecx,[00000020h+ecx*8] shr eax,cl pop ecx test eax,eax mov [esi+000003F4h],eax mov dword ptr [ebp-04h],00000000h jle L004AB0E2 lea eax,[esi+0000042Dh] push edi push ebx mov [ebp-08h],eax lea edi,[edx+0Dh] jmp L004AB04D L004AB04A: mov esi,[ebp-0Ch] L004AB04D: mov ecx,[esi] xor edx,edx mov dl,[edi-01h] mov eax,51EB851Fh mov esi,[ecx+6Ch] imul edx,esi mul edx xor eax,eax mov ecx,edx mov al,[edi] mov edx,eax mov eax,51EB851Fh imul edx,esi mul edx xor eax,eax mov ebx,edx mov al,[edi+01h] mov edx,eax mov eax,51EB851Fh imul edx,esi mul edx shr ecx,05h shr ebx,05h shr edx,05h cmp ecx,000000FFh jbe L004AB09C mov ecx,000000FFh L004AB09C: cmp ebx,000000FFh jbe L004AB0A9 mov ebx,000000FFh L004AB0A9: cmp edx,000000FFh jbe L004AB0B6 mov edx,000000FFh L004AB0B6: mov eax,[ebp-08h] add edi,00000003h mov [eax-01h],cl mov ecx,[ebp-04h] mov [eax],bl mov [eax+01h],dl add eax,00000003h inc ecx mov [ebp-08h],eax mov eax,[ebp-0Ch] mov [ebp-04h],ecx cmp ecx,[eax+000003F4h] jl L004AB04A pop ebx pop edi L004AB0E2: pop esi mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L004AB0F0: push ecx push ebx push ebp mov ebp,[esp+1Ch] push esi cmp ebp,00000007h push edi mov [esp+10h],edx mov eax,ecx jle L004AB107 sub ebp,00000010h L004AB107: mov ecx,[esp+28h] cmp ecx,00000007h jle L004AB113 sub ecx,00000010h L004AB113: mov edi,[esp+20h] mov esi,[esp+1Ch] mov edx,edi mov ebx,[esp+18h] imul edx,esi sub esi,ecx mov ecx,[esp+10h] imul esi,edi add esi,ebx add edx,ebx sub esi,ebp lea eax,[eax+edx*2] mov edx,00000010h lea ecx,[ecx+esi*2] lea esi,[edi+edi] sub ecx,eax L004AB143: mov di,[eax+ecx] mov [eax],di mov di,[eax+ecx+02h] mov [eax+02h],di mov di,[eax+ecx+04h] mov [eax+04h],di mov di,[eax+ecx+06h] mov [eax+06h],di mov di,[eax+ecx+08h] mov [eax+08h],di mov di,[eax+ecx+0Ah] mov [eax+0Ah],di mov di,[eax+ecx+0Ch] mov [eax+0Ch],di mov di,[eax+ecx+0Eh] mov [eax+0Eh],di mov di,[eax+ecx+10h] mov [eax+10h],di mov di,[eax+ecx+12h] mov [eax+12h],di mov di,[eax+ecx+14h] mov [eax+14h],di mov di,[eax+ecx+16h] mov [eax+16h],di mov di,[eax+ecx+18h] mov [eax+18h],di mov di,[eax+ecx+1Ah] mov [eax+1Ah],di mov di,[eax+ecx+1Ch] mov [eax+1Ch],di mov di,[eax+ecx+1Eh] mov [eax+1Eh],di add eax,esi dec edx jnz L004AB143 pop edi pop esi pop ebp pop ebx pop ecx retn 0014h ;------------------------------------------------------------------------------ Align 16 SUB_L004AB1F0: push ecx push ebx push ebp mov ebp,[esp+1Ch] push esi cmp ebp,00000007h push edi mov [esp+10h],edx mov eax,ecx jle L004AB207 sub ebp,00000010h L004AB207: mov ecx,[esp+28h] cmp ecx,00000007h jle L004AB213 sub ecx,00000010h L004AB213: mov edi,[esp+20h] mov esi,[esp+1Ch] mov edx,edi mov ebx,[esp+18h] imul edx,esi sub esi,ecx mov ecx,[esp+10h] imul esi,edi add esi,ebx add edx,ebx sub esi,ebp lea eax,[eax+edx*4] mov edx,00000010h lea ecx,[ecx+esi*4] lea esi,[00000000h+edi*4] sub ecx,eax L004AB247: mov edi,[eax+ecx] mov [eax],edi mov edi,[eax+ecx+04h] mov [eax+04h],edi mov edi,[eax+ecx+08h] mov [eax+08h],edi mov edi,[eax+ecx+0Ch] mov [eax+0Ch],edi mov edi,[eax+ecx+10h] mov [eax+10h],edi mov edi,[eax+ecx+14h] mov [eax+14h],edi mov edi,[eax+ecx+18h] mov [eax+18h],edi mov edi,[eax+ecx+1Ch] mov [eax+1Ch],edi mov edi,[eax+ecx+20h] mov [eax+20h],edi mov edi,[eax+ecx+24h] mov [eax+24h],edi mov edi,[eax+ecx+28h] mov [eax+28h],edi mov edi,[eax+ecx+2Ch] mov [eax+2Ch],edi mov edi,[eax+ecx+30h] mov [eax+30h],edi mov edi,[eax+ecx+34h] mov [eax+34h],edi mov edi,[eax+ecx+38h] mov [eax+38h],edi mov edi,[eax+ecx+3Ch] mov [eax+3Ch],edi add eax,esi dec edx jnz L004AB247 pop edi pop esi pop ebp pop ebx pop ecx retn 0014h ;------------------------------------------------------------------------------ Align 16 SUB_L004AB2D0: sub esp,0000000Ch mov eax,[ecx] push esi mov esi,edx push edi mov edx,[eax+54h] mov edi,[esp+18h] test edx,edx mov [esp+10h],ecx mov [esp+08h],edi mov dword ptr [esp+0Ch],00000000h jbe L004AB3C8 push ebp mov ebp,[esp+24h] push ebx L004AB2FE: mov edx,[eax+58h] mov dword ptr [esp+20h],00000000h test edx,edx jbe L004AB39D L004AB311: xor ebx,ebx mov bl,[esi] inc esi cmp ebx,0000000Ch jle L004AB328 push ebp push edi push esi call SUB_L004ADA71 add esp,0000000Ch jmp L004AB37E L004AB328: cmp ebx,00000003h jz L004AB369 cmp ebx,00000006h jz L004AB350 cmp ebx,0000000Ch jnz L004AB37E mov al,[esi+0Ah] mov cl,[esi+08h] mov dl,[esi+06h] push ebp push edi push eax mov al,[esi+04h] push ecx mov cl,[esi] push edx mov dl,[esi+02h] push eax jmp L004AB379 L004AB350: mov cl,[esi+05h] mov dl,[esi+04h] mov al,[esi+03h] push ebp push edi push ecx mov cl,[esi+02h] push edx mov dl,[esi+01h] push eax push ecx mov cl,[esi] jmp L004AB379 L004AB369: mov dl,[esi+02h] mov al,[esi+01h] mov cl,[esi] push ebp push edi push edx push eax push ecx push ecx mov dl,cl L004AB379: call SUB_L004AB3D0 L004AB37E: mov ecx,[esp+18h] mov eax,[esp+20h] add esi,ebx add eax,00000010h mov edx,[ecx] add edi,00000020h mov [esp+20h],eax cmp eax,[edx+58h] jc L004AB311 L004AB39D: mov edi,[esp+10h] mov eax,ebp mov edx,[esp+14h] shr eax,1 shl eax,05h add edi,eax mov eax,[ecx] add edx,00000010h mov [esp+10h],edi mov ebx,[eax+54h] mov [esp+14h],edx cmp edx,ebx jc L004AB2FE pop ebx pop ebp L004AB3C8: pop edi pop esi add esp,0000000Ch retn 000Ch ;------------------------------------------------------------------------------ SUB_L004AB3D0: push ebp mov ebp,esp push ecx movsx eax,[ebp+10h] push ebx push esi push edi mov [ebp-01h],dl mov [ebp+10h],eax push edx mov edx,[ebp+10h] mov eax,[L007BC020] imul edx shl edx,10h shr eax,10h adc eax,edx pop edx movsx edx,[ebp+14h] mov esi,eax mov [ebp+10h],edx push edx mov edx,[ebp+10h] mov eax,[L007BC020] imul edx shl edx,10h shr eax,10h adc eax,edx pop edx sar eax,1 sar esi,1 and eax,0000007Fh and esi,0000007Fh mov edi,[L007BC52C+eax*4] mov ebx,[L007BC32C+esi*4] movsx eax,cl add edi,ebx mov [ebp+14h],eax mov [ebp+10h],edi push edx mov edx,[ebp+14h] mov eax,[L007BC020] imul edx shl edx,10h shr eax,10h adc eax,edx pop edx mov ecx,[ebp+1Ch] mov dword ptr [ebp+14h],00000008h sar eax,1 and eax,0000007Fh mov edx,[L007BC12C+eax*4] mov eax,[ebp+18h] add edx,edi shr ecx,1 lea ecx,[ecx+ecx-10h] L004AB46A: mov si,dx mov edi,eax mov bx,si add eax,00000010h shl ebx,10h mov bx,si add eax,ecx mov esi,ebx mov [edi],esi mov [edi+04h],esi mov [edi+08h],esi mov [edi+0Ch],esi mov esi,[ebp+14h] dec esi mov [ebp+14h],esi jnz L004AB46A movsx edx,[ebp-01h] mov [ebp+14h],edx push edx mov edx,[ebp+14h] mov eax,[L007BC020] imul edx shl edx,10h shr eax,10h adc eax,edx pop edx sar eax,1 and eax,0000007Fh mov dword ptr [ebp+14h],00000008h mov edx,[L007BC12C+eax*4] mov eax,[ebp+10h] add edx,eax mov eax,[ebp+18h] add eax,00000010h L004AB4CC: mov si,dx mov edi,eax mov bx,si add eax,00000010h shl ebx,10h mov bx,si add eax,ecx mov esi,ebx mov [edi],esi mov [edi+04h],esi mov [edi+08h],esi mov [edi+0Ch],esi mov esi,[ebp+14h] dec esi mov [ebp+14h],esi jnz L004AB4CC movsx edx,[ebp+08h] mov [ebp+14h],edx push edx mov edx,[ebp+14h] mov eax,[L007BC020] imul edx shl edx,10h shr eax,10h adc eax,edx pop edx sar eax,1 mov esi,[ebp+18h] and eax,0000007Fh mov dword ptr [ebp+14h],00000008h mov edx,[L007BC12C+eax*4] mov eax,[ebp+10h] add edx,eax mov eax,[ebp+1Ch] lea eax,[esi+eax*8] L004AB531: mov si,dx mov edi,eax mov bx,si add eax,00000010h shl ebx,10h mov bx,si add eax,ecx mov esi,ebx mov [edi],esi mov [edi+04h],esi mov [edi+08h],esi mov [edi+0Ch],esi mov esi,[ebp+14h] dec esi mov [ebp+14h],esi jnz L004AB531 movsx edx,[ebp+0Ch] mov [ebp+14h],edx push edx mov edx,[ebp+14h] mov eax,[L007BC020] imul edx shl edx,10h shr eax,10h adc eax,edx pop edx sar eax,1 mov esi,[ebp+1Ch] and eax,0000007Fh mov edx,[L007BC12C+eax*4] mov eax,[ebp+10h] add edx,eax mov eax,[ebp+18h] mov dword ptr [ebp+10h],00000008h lea eax,[eax+esi*8+10h] L004AB597: mov si,dx mov edi,eax mov bx,si add eax,00000010h shl ebx,10h mov bx,si add eax,ecx mov esi,ebx mov [edi],esi mov [edi+04h],esi mov [edi+08h],esi mov [edi+0Ch],esi mov esi,[ebp+10h] dec esi mov [ebp+10h],esi jnz L004AB597 pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0018h ;------------------------------------------------------------------------------ Align 8 SUB_L004AB5D0: sub esp,0000000Ch mov eax,[ecx] push esi mov esi,edx push edi mov edx,[eax+54h] mov edi,[esp+18h] test edx,edx mov [esp+10h],ecx mov [esp+08h],edi mov dword ptr [esp+0Ch],00000000h jbe L004AB6C9 push ebp mov ebp,[esp+24h] push ebx L004AB5FE: mov edx,[eax+58h] mov dword ptr [esp+20h],00000000h test edx,edx jbe L004AB69D L004AB611: xor ebx,ebx mov bl,[esi] inc esi cmp ebx,0000000Ch jle L004AB628 push ebp push edi push esi call SUB_L004AD292 add esp,0000000Ch jmp L004AB67E L004AB628: cmp ebx,00000003h jz L004AB669 cmp ebx,00000006h jz L004AB650 cmp ebx,0000000Ch jnz L004AB67E mov al,[esi+0Ah] mov cl,[esi+08h] mov dl,[esi+06h] push ebp push edi push eax mov al,[esi+04h] push ecx mov cl,[esi] push edx mov dl,[esi+02h] push eax jmp L004AB679 L004AB650: mov cl,[esi+05h] mov dl,[esi+04h] mov al,[esi+03h] push ebp push edi push ecx mov cl,[esi+02h] push edx mov dl,[esi+01h] push eax push ecx mov cl,[esi] jmp L004AB679 L004AB669: mov dl,[esi+02h] mov al,[esi+01h] mov cl,[esi] push ebp push edi push edx push eax push ecx push ecx mov dl,cl L004AB679: call SUB_L004AB6E0 L004AB67E: mov ecx,[esp+18h] mov eax,[esp+20h] add esi,ebx add eax,00000010h mov edx,[ecx] add edi,00000040h mov [esp+20h],eax cmp eax,[edx+58h] jc L004AB611 L004AB69D: mov edi,[esp+10h] mov eax,ebp mov edx,[esp+14h] shr eax,02h shl eax,06h add edi,eax mov eax,[ecx] add edx,00000010h mov [esp+10h],edi mov ebx,[eax+54h] mov [esp+14h],edx cmp edx,ebx jc L004AB5FE pop ebx pop ebp L004AB6C9: pop edi pop esi add esp,0000000Ch retn 000Ch ;------------------------------------------------------------------------------ Align 16 SUB_L004AB6E0: push ebp mov ebp,esp push ecx movsx eax,[ebp+10h] push esi push edi mov [ebp-01h],dl mov [ebp+10h],eax push edx mov edx,[ebp+10h] mov eax,[L007BC020] imul edx shl edx,10h shr eax,10h adc eax,edx pop edx movsx edx,[ebp+14h] mov esi,eax mov [ebp+10h],edx push edx mov edx,[ebp+10h] mov eax,[L007BC020] imul edx shl edx,10h shr eax,10h adc eax,edx pop edx sar eax,1 sar esi,1 and eax,0000007Fh and esi,0000007Fh mov edi,[L007BC52C+eax*4] mov eax,[L007BC32C+esi*4] add edi,eax movsx eax,cl mov [ebp+10h],edi mov [ebp+14h],eax push edx mov edx,[ebp+14h] mov eax,[L007BC020] imul edx shl edx,10h shr eax,10h adc eax,edx pop edx mov ecx,[ebp+1Ch] mov edx,[ebp+18h] sar eax,1 and eax,0000007Fh mov dword ptr [ebp+14h],00000008h mov eax,[L007BC12C+eax*4] add eax,edi shr ecx,02h lea esi,[FFFFFFE0h+ecx*4] L004AB77D: mov ecx,00000008h mov edi,edx rep stosd mov ecx,[ebp+14h] add edx,00000020h add edx,esi dec ecx mov [ebp+14h],ecx jnz L004AB77D movsx edx,[ebp-01h] mov [ebp+14h],edx push edx mov edx,[ebp+14h] mov eax,[L007BC020] imul edx shl edx,10h shr eax,10h adc eax,edx pop edx mov ecx,[ebp+10h] mov dword ptr [ebp+14h],00000008h sar eax,1 and eax,0000007Fh mov eax,[L007BC12C+eax*4] add eax,ecx mov ecx,[ebp+18h] lea edx,[ecx+20h] L004AB7CD: mov ecx,00000008h mov edi,edx rep stosd mov ecx,[ebp+14h] add edx,00000020h add edx,esi dec ecx mov [ebp+14h],ecx jnz L004AB7CD movsx edx,[ebp+08h] mov [ebp+14h],edx push edx mov edx,[ebp+14h] mov eax,[L007BC020] imul edx shl edx,10h shr eax,10h adc eax,edx pop edx mov ecx,[ebp+10h] mov edx,[ebp+18h] sar eax,1 and eax,0000007Fh mov dword ptr [ebp+14h],00000008h mov eax,[L007BC12C+eax*4] add eax,ecx mov ecx,[ebp+1Ch] lea edx,[edx+ecx*8] L004AB820: mov ecx,00000008h mov edi,edx rep stosd mov ecx,[ebp+14h] add edx,00000020h add edx,esi dec ecx mov [ebp+14h],ecx jnz L004AB820 movsx eax,[ebp+0Ch] mov [ebp+14h],eax push edx mov edx,[ebp+14h] mov eax,[L007BC020] imul edx shl edx,10h shr eax,10h adc eax,edx pop edx mov ecx,[ebp+10h] mov edx,[ebp+1Ch] sar eax,1 and eax,0000007Fh mov dword ptr [ebp+10h],00000008h mov eax,[L007BC12C+eax*4] add eax,ecx mov ecx,[ebp+18h] lea edx,[ecx+edx*8+20h] L004AB874: mov ecx,00000008h mov edi,edx rep stosd mov ecx,[ebp+10h] add edx,00000020h add edx,esi dec ecx mov [ebp+10h],ecx jnz L004AB874 pop edi pop esi mov esp,ebp pop ebp retn 0018h ;------------------------------------------------------------------------------ Align 16 SUB_L004AB8A0: mov eax,[ecx] push esi mov esi,[eax+1Ch] mov edx,[eax+18h] mov [eax+18h],esi mov eax,[ecx] mov [eax+1Ch],edx mov eax,[ecx] mov edx,[eax] test dh,08h jz L004AB8C8 mov esi,[eax+40h] mov edx,[eax+44h] mov [eax+44h],esi mov ecx,[ecx] mov [ecx+40h],edx L004AB8C8: pop esi retn ;------------------------------------------------------------------------------ Align 8 SUB_L004AB8D0: push ebp mov ebp,esp sub esp,00000020h mov eax,[ecx] mov [ebp-18h],ecx push ebx push esi mov ecx,[eax+3Ch] push edi cmp ecx,00000010h jz L004ABA69 cmp ecx,0000000Fh jz L004ABA69 xor ebx,ebx mov edi,L007BC12C L004AB8FA: mov al,bl mov esi,000000FFh shl al,1 inc al movsx ecx,al add ecx,00000080h mov edx,ecx mov eax,ecx jns L004AB917 lea edx,[ecx-01h] L004AB917: test edx,edx jge L004AB91E lea eax,[ecx-01h] L004AB91E: test eax,eax jge L004AB927 mov esi,000000FEh L004AB927: and eax,000000FFh and edx,000000FFh shl esi,08h or eax,esi and ecx,000000FFh shl eax,08h or eax,edx add edi,00000004h shl eax,08h or eax,ecx inc ebx mov [edi-04h],eax cmp edi,L007BC32C jl L004AB8FA mov dword ptr [ebp-0Ch],00000000h mov edi,L007BC32C L004AB962: mov cl,[ebp-0Ch] shl cl,1 inc cl movsx ecx,cl mov [ebp-1Ch],ecx push edx mov edx,FFFFA7EAh mov eax,[ebp-1Ch] imul edx shl edx,10h shr eax,10h adc eax,edx pop edx mov ebx,eax mov [ebp-1Ch],ecx push edx mov edx,0001C5A1h mov eax,[ebp-1Ch] imul edx shl edx,10h shr eax,10h adc eax,edx pop edx xor esi,esi xor ecx,ecx test eax,eax mov edx,ebx jge L004AB9A9 lea edx,[ebx-01h] L004AB9A9: test edx,edx jge L004AB9B0 or ecx,FFFFFFFFh L004AB9B0: test ecx,ecx jge L004AB9B7 or esi,FFFFFFFFh L004AB9B7: and ecx,000000FFh and edx,000000FFh shl esi,08h or ecx,esi and eax,000000FFh shl ecx,08h or ecx,edx mov edx,[ebp-0Ch] shl ecx,08h or ecx,eax inc edx mov [edi],ecx add edi,00000004h cmp edi,L007BC52C mov [ebp-0Ch],edx jl L004AB962 xor ebx,ebx mov edi,L007BC52C L004AB9F6: mov dl,bl shl dl,1 inc dl movsx esi,dl mov [ebp-1Ch],esi push edx mov edx,000166E9h mov eax,[ebp-1Ch] imul edx shl edx,10h shr eax,10h adc eax,edx pop edx mov ecx,eax mov [ebp-1Ch],esi push edx mov edx,FFFF4931h mov eax,[ebp-1Ch] imul edx shl edx,10h shr eax,10h adc eax,edx pop edx xor edx,edx test eax,eax jge L004ABA36 dec ecx L004ABA36: test ecx,ecx jge L004ABA3D or edx,FFFFFFFFh L004ABA3D: and ecx,000000FFh and eax,000000FFh shl edx,08h or ecx,edx add edi,00000004h shl ecx,08h or ecx,eax shl ecx,08h mov [edi-04h],ecx inc ebx cmp edi,L007BC72C jl L004AB9F6 jmp L004ABBCE L004ABA69: mov ecx,[eax+2Ch] mov edx,[eax+28h] mov edi,[eax+30h] mov ebx,[eax+34h] mov [ebp-0Ch],ecx mov ecx,[eax+24h] mov [ebp-08h],edx mov edx,[eax+20h] mov [ebp-1Ch],edi mov [ebp-10h],ecx mov [ebp-14h],edx mov dword ptr [ebp-04h],00000000h mov esi,L007BC12C L004ABA96: mov al,[ebp-04h] mov edx,[ebp-0Ch] shl al,1 inc al push ebx movsx ecx,al mov eax,[ebp-08h] push edi push edx mov edx,[ebp-10h] push eax mov eax,[ebp-14h] push edx add ecx,00000080h push eax push 000000FFh push ecx mov edx,ecx call SUB_L004ABE80 mov edx,[ebp-04h] mov [esi],eax add esi,00000004h inc edx cmp esi,L007BC32C mov [ebp-04h],edx jl L004ABA96 mov dword ptr [ebp-04h],00000000h mov esi,L007BC32C L004ABAE5: mov cl,[ebp-04h] shl cl,1 inc cl movsx ecx,cl mov [ebp-20h],ecx push edx mov edx,FFFFA7EAh mov eax,[ebp-20h] imul edx shl edx,10h shr eax,10h adc eax,edx pop edx mov edi,eax mov [ebp-20h],ecx push edx mov edx,0001C5A1h mov eax,[ebp-20h] imul edx shl edx,10h shr eax,10h adc eax,edx pop edx mov edx,[ebp-1Ch] mov ecx,[ebp-0Ch] push ebx push edx mov edx,[ebp-08h] push ecx mov ecx,[ebp-10h] push edx mov edx,[ebp-14h] push ecx push edx push 00000000h push eax mov edx,edi xor ecx,ecx call SUB_L004ABE80 mov edx,[ebp-04h] mov [esi],eax add esi,00000004h inc edx cmp esi,L007BC52C mov [ebp-04h],edx jl L004ABAE5 mov dword ptr [ebp-04h],00000000h mov esi,L007BC52C L004ABB60: mov al,[ebp-04h] shl al,1 inc al movsx edi,al mov [ebp-20h],edi push edx mov edx,000166E9h mov eax,[ebp-20h] imul edx shl edx,10h shr eax,10h adc eax,edx pop edx mov ecx,eax mov [ebp-20h],edi push edx mov edx,FFFF4931h mov eax,[ebp-20h] imul edx shl edx,10h shr eax,10h adc eax,edx pop edx mov edx,[ebp-1Ch] push ebx push edx mov edx,[ebp-0Ch] push edx mov edx,[ebp-08h] push edx mov edx,[ebp-10h] push edx mov edx,[ebp-14h] push edx push 00000000h push 00000000h mov edx,eax call SUB_L004ABE80 mov edx,[ebp-04h] mov [esi],eax add esi,00000004h inc edx cmp esi,L007BC72C mov [ebp-04h],edx jl L004ABB60 L004ABBCE: mov dword ptr [ebp-0Ch],00000000h L004ABBD5: mov eax,[ebp-0Ch] add eax,FFFFFE80h mov [ebp-20h],eax fild dword ptr [ebp-20h] fmul dword ptr [L004BDD80] call SUB_L0049BB80 mov edx,[ebp-18h] mov ecx,eax mov eax,51EB851Fh mov ebx,[edx] mov edx,ecx mov esi,[ebx+6Ch] imul edx,esi imul edx sar edx,05h mov eax,edx shr eax,1Fh add edx,eax mov eax,51EB851Fh mov edi,edx mov edx,ecx imul edx,esi imul ecx,esi imul edx sar edx,05h mov eax,edx shr eax,1Fh add edx,eax mov eax,51EB851Fh mov [ebp-04h],edx imul ecx sar edx,05h mov ecx,edx xor eax,eax shr ecx,1Fh add edx,ecx cmp edi,eax mov [ebp-08h],edx jge L004ABC4A xor edi,edi jmp L004ABC57 L004ABC4A: cmp edi,000000FFh jle L004ABC57 mov edi,000000FFh L004ABC57: mov ecx,[ebp-04h] cmp ecx,eax jge L004ABC63 mov [ebp-04h],eax jmp L004ABC72 L004ABC63: cmp ecx,000000FFh jle L004ABC72 mov dword ptr [ebp-04h],000000FFh L004ABC72: cmp edx,eax jge L004ABC7B mov [ebp-08h],eax jmp L004ABC8A L004ABC7B: cmp edx,000000FFh jle L004ABC8A mov dword ptr [ebp-08h],000000FFh L004ABC8A: mov eax,[ebp-0Ch] mov ecx,00000008h cdq sub eax,edx mov edx,[ebx+20h] sub ecx,edx mov edx,edi sar edx,cl mov ecx,[ebx+2Ch] mov ebx,[ebp-18h] sar eax,1 shl eax,02h shl edx,cl mov ecx,00000008h mov [eax+L007BA820],edx mov edx,[ebx] mov esi,[edx+24h] sub ecx,esi mov esi,[ebp-04h] sar esi,cl mov ecx,[edx+30h] shl esi,cl mov ecx,00000008h mov [eax+L007BB020],esi mov edx,[ebx] mov esi,[edx+28h] sub ecx,esi mov esi,[ebp-08h] sar esi,cl mov ecx,[edx+34h] shl esi,cl mov [eax+L007BB820],esi mov ebx,[ebx] test byte ptr [ebx],40h jz L004ABDB8 mov ecx,[ebx+20h] mov edx,00000001h neg ecx mov [ebp-20h],ecx add ecx,00000007h shl edx,cl mov ecx,00000007h mov esi,[ebx+28h] add edx,edi mov edi,[ebx+24h] sub ecx,edi mov edi,00000001h shl edi,cl mov ecx,[ebp-04h] add edi,ecx mov ecx,00000007h sub ecx,esi mov esi,00000001h shl esi,cl mov ecx,[ebp-08h] add esi,ecx cmp edx,000000FFh jle L004ABD41 mov edx,000000FFh L004ABD41: cmp edi,000000FFh jle L004ABD4E mov edi,000000FFh L004ABD4E: cmp esi,000000FFh jle L004ABD5B mov esi,000000FFh L004ABD5B: mov ecx,[ebp-20h] add ecx,00000008h sar edx,cl mov ecx,[ebx+2Ch] mov ebx,[eax+L007BA820] add ecx,00000010h shl edx,cl mov ecx,00000008h or ebx,edx mov [eax+L007BA820],ebx mov ebx,[ebp-18h] mov edx,[ebx] sub ecx,[edx+24h] sar edi,cl mov ecx,[edx+30h] add ecx,00000010h shl edi,cl mov ecx,[eax+L007BB020] or ecx,edi mov [eax+L007BB020],ecx mov edx,[ebx] mov ecx,00000008h sub ecx,[edx+28h] sar esi,cl mov ecx,[edx+34h] add ecx,00000010h shl esi,cl or [eax+L007BB820],esi L004ABDB8: mov eax,[ebp-0Ch] inc eax mov [ebp-0Ch],eax add eax,FFFFFE80h cmp eax,00000280h jl L004ABBD5 mov edi,FFFFFF80h mov [ebp-1Ch],edi L004ABDD7: fild dword ptr [ebp-1Ch] mov esi,edi and esi,000000FFh fld ST(0) fmul dword ptr [L004BDD84] shl esi,02h fmul qword ptr [L004BDD88] call SUB_L0049BB80 fld ST(0) fmul dword ptr [L004BDD90] shl eax,02h mov [esi+L007BCB2C],eax fmul qword ptr [L004BDD88] call SUB_L0049BB80 fld ST(0) fmul dword ptr [L004BDD94] shl eax,02h mov [esi+L007BC72C],eax fmul qword ptr [L004BDD88] call SUB_L0049BB80 fmul dword ptr [L004BDD98] shl eax,02h mov [esi+L007BCF2C],eax fmul qword ptr [L004BDD88] call SUB_L0049BB80 neg eax shl eax,02h mov edx,L007BB408 sub edx,eax inc edi cmp edi,00000080h mov [esi+L007BD32C],edx mov [ebp-1Ch],edi jl L004ABDD7 pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L004ABE80: sub esp,00000014h push ebx push ebp push esi mov esi,ecx push edi mov edi,[esp+30h] mov ecx,00000008h mov ebx,00000001h sub ecx,edi mov ebp,edx shl ebx,cl mov eax,esi mov ecx,00000007h cdq idiv ebx test esi,esi mov [esp+14h],eax jge L004ABEDB sub ecx,edi mov edx,00000001h shl edx,cl mov eax,esi mov ecx,edi sub eax,edx cdq idiv ebx mov edx,00000001h shl edx,cl mov [esp+1Ch],edx mov ebx,eax mov eax,00000001h sub eax,edx cmp ebx,eax jge L004ABEFF jmp L004ABEFD L004ABEDB: sub ecx,edi mov eax,00000001h shl eax,cl mov ecx,edi add eax,esi cdq idiv ebx mov ebx,eax mov eax,00000001h shl eax,cl mov [esp+1Ch],eax dec eax cmp ebx,eax jle L004ABEFF L004ABEFD: mov ebx,eax L004ABEFF: mov esi,[esp+34h] mov ecx,00000008h sub ecx,esi mov edi,00000001h shl edi,cl mov eax,ebp mov ecx,00000007h cdq idiv edi test ebp,ebp mov [esp+10h],eax jge L004ABF4F sub ecx,esi mov edx,00000001h shl edx,cl mov eax,ebp mov ecx,esi sub eax,edx cdq idiv edi mov edx,00000001h shl edx,cl mov [esp+20h],edx mov edi,eax mov eax,00000001h sub eax,edx cmp edi,eax jge L004ABF73 jmp L004ABF71 L004ABF4F: sub ecx,esi mov eax,00000001h shl eax,cl mov ecx,esi add eax,ebp cdq idiv edi mov edi,eax mov eax,00000001h shl eax,cl mov [esp+20h],eax dec eax cmp edi,eax jle L004ABF73 L004ABF71: mov edi,eax L004ABF73: mov ebp,[esp+38h] mov ecx,00000008h sub ecx,ebp mov esi,00000001h shl esi,cl mov ecx,[esp+28h] mov eax,ecx cdq idiv esi mov [esp+18h],esi test ecx,ecx mov ecx,00000007h mov esi,eax jge L004ABFC7 mov eax,[esp+28h] sub ecx,ebp mov edx,00000001h shl edx,cl mov ecx,ebp sub eax,edx cdq idiv [esp+18h] mov edx,00000001h shl edx,cl mov ecx,00000001h sub ecx,edx cmp eax,ecx jge L004ABFED jmp L004ABFEB L004ABFC7: sub ecx,ebp mov eax,00000001h shl eax,cl mov ecx,[esp+28h] add eax,ecx mov ecx,ebp cdq idiv [esp+18h] mov edx,00000001h shl edx,cl lea ecx,[edx-01h] cmp eax,ecx jle L004ABFED L004ABFEB: mov eax,ecx L004ABFED: test eax,eax jge L004ABFF2 dec edi L004ABFF2: test edi,edi jge L004ABFF7 dec ebx L004ABFF7: test ebx,ebx jge L004ABFFC dec esi L004ABFFC: test esi,esi jge L004AC004 dec [esp+10h] L004AC004: mov ecx,[esp+10h] test ecx,ecx jge L004AC010 dec [esp+14h] L004AC010: mov ecx,[esp+1Ch] lea ebp,[ecx-01h] mov ecx,[esp+20h] dec ecx dec edx mov [esp+20h],edx and esi,edx mov edx,[esp+44h] mov [esp+28h],ecx and ebx,ebp lea ecx,[edx+10h] mov edx,[esp+14h] shl esi,cl mov ecx,[esp+3Ch] and edx,ebp add ecx,00000010h shl edx,cl mov ecx,[esp+28h] or esi,edx mov edx,[esp+10h] and edx,ecx mov ecx,[esp+40h] add ecx,00000010h shl edx,cl mov ecx,[esp+20h] and eax,ecx mov ecx,[esp+44h] shl eax,cl mov ecx,[esp+40h] or esi,edx mov edx,[esp+38h] or esi,eax mov eax,[esp+28h] and edi,eax shl edi,cl mov ecx,[esp+3Ch] shl ebx,cl mov ecx,[esp+34h] or esi,edi add edx,ecx or esi,ebx mov eax,esi mov esi,[esp+30h] add edx,esi cmp edx,00000010h jz L004AC098 or eax,80008000h L004AC098: pop edi pop esi pop ebp pop ebx add esp,00000014h retn 0020h ;------------------------------------------------------------------------------ Align 16 SUB_L004AC0B0: sub esp,00000094h push ebx mov ebx,ecx push ebp xor ebp,ebp mov eax,[ebx] mov [esp+0Ch],ebx cmp [eax+74h],ebp jnz L004AC27E mov [eax+18h],ebp mov eax,[ebx] push edi push esi mov [eax+1Ch],ebp mov edx,[ebx] mov eax,[edx] test ah,08h jnz L004AC25D mov ecx,0000001Bh xor eax,eax lea edi,[esp+38h] rep stosd mov dword ptr [esp+38h],0000006Ch mov edx,[edx+0Ch] lea eax,[esp+38h] mov ecx,[edx] push eax push edx call [ecx+58h] test eax,eax jnz L004AC117 mov ecx,[esp+44h] mov edx,[esp+40h] mov [ebx+04h],ecx mov [ebx+08h],edx L004AC117: mov esi,[ebx] mov edx,[esi+0Ch] cmp edx,ebp jz L004AC207 mov ebp,00000008h xor eax,eax mov ecx,ebp lea edi,[esp+18h] rep stosd mov eax,[edx] lea ecx,[esp+18h] push ecx push edx mov dword ptr [esp+20h],00000020h call [eax+54h] cmp [esp+24h],ebp jnz L004AC154 mov [esi+3Ch],ebp jmp L004AC207 L004AC154: mov eax,[esp+28h] xor edx,edx mov [esp+10h],edx xor ecx,ecx L004AC160: mov edi,00000001h shl edi,cl test eax,edi jz L004AC16C inc edx L004AC16C: inc ecx cmp ecx,0000001Fh jl L004AC160 mov [esp+10h],edx mov [esi+20h],edx mov edx,[esp+2Ch] xor ebp,ebp xor ecx,ecx L004AC181: mov edi,00000001h shl edi,cl test edx,edi jz L004AC18D inc ebp L004AC18D: inc ecx cmp ecx,0000001Fh jl L004AC181 mov edx,[esp+30h] xor edi,edi mov [esi+24h],ebp xor ecx,ecx L004AC19E: mov ebx,00000001h shl ebx,cl test edx,ebx jz L004AC1AA inc edi L004AC1AA: inc ecx cmp ecx,0000001Fh jl L004AC19E xor ecx,ecx mov [esi+28h],edi test al,01h jnz L004AC1C0 L004AC1B9: sar eax,1 inc ecx test al,01h jz L004AC1B9 L004AC1C0: mov ebx,[esp+2Ch] mov [esi+2Ch],ecx xor ecx,ecx mov eax,ebx test bl,01h jnz L004AC1D7 L004AC1D0: sar eax,1 inc ecx test al,01h jz L004AC1D0 L004AC1D7: mov [esi+30h],ecx xor ecx,ecx test dl,01h mov eax,edx jnz L004AC1EA L004AC1E3: sar eax,1 inc ecx test al,01h jz L004AC1E3 L004AC1EA: mov eax,[esp+28h] add edi,ebp mov ebp,[esp+10h] or eax,ebx mov ebx,[esp+14h] add edi,ebp or eax,edx mov [esi+34h],ecx mov [esi+3Ch],edi mov [esi+38h],eax L004AC207: mov eax,[ebx] cmp dword ptr [eax+3Ch],00000008h jnz L004AC25D test dword ptr [eax],04000000h jnz L004AC24E push 00000400h call SUB_L0049D430 mov edx,[ebx] add esp,00000004h mov [edx+14h],eax mov eax,[ebx] push 00000000h mov ecx,[eax+08h] lea esi,[eax+10h] mov eax,[eax+14h] push esi mov edx,[ecx] push eax push 00000044h push ecx call [edx+14h] mov edx,[ebx] mov ecx,00000100h xor eax,eax mov edi,[edx+14h] rep stosd L004AC24E: mov eax,[ebx] mov ecx,[eax+0Ch] mov eax,[eax+10h] push eax push ecx mov edx,[ecx] call [edx+7Ch] L004AC25D: mov eax,[ebx] test dword ptr [eax],00100000h jnz L004AC26E mov dword ptr [eax+6Ch],00000064h L004AC26E: mov ecx,ebx call SUB_L004AB8D0 mov dword ptr [ebx+1Ch],00000001h pop esi pop edi L004AC27E: pop ebp pop ebx add esp,00000094h retn ;------------------------------------------------------------------------------ Align 16 SUB_L004AC290: push esi mov esi,ecx mov eax,[esi+1Ch] test eax,eax jz L004AC36D mov eax,[esi] mov ecx,[eax+18h] test ecx,ecx jz L004AC2B4 mov edx,[eax] test dh,08h jnz L004AC2B4 mov eax,[ecx] push ecx call [eax+08h] L004AC2B4: mov eax,[esi] mov ecx,[eax+1Ch] test ecx,ecx jz L004AC2CA mov edx,[eax] test dh,08h jnz L004AC2CA mov edx,[ecx] push ecx call [edx+08h] L004AC2CA: mov ecx,[esi] mov eax,[ecx+10h] test eax,eax jz L004AC2E1 test dword ptr [ecx],04000000h jnz L004AC2E1 mov ecx,[eax] push eax call [ecx+08h] L004AC2E1: mov eax,[esi+00000420h] test eax,eax jz L004AC2F4 push eax call SUB_L0049C430 add esp,00000004h L004AC2F4: mov eax,[esi+00000424h] test eax,eax jz L004AC307 push eax call SUB_L0049C430 add esp,00000004h L004AC307: mov eax,[esi+00000428h] test eax,eax jz L004AC31A push eax call SUB_L0049C430 add esp,00000004h L004AC31A: mov eax,[esi+00000410h] test eax,eax jz L004AC32D push eax call SUB_L0049C430 add esp,00000004h L004AC32D: mov eax,[esi+00000414h] test eax,eax jz L004AC340 push eax call SUB_L0049C430 add esp,00000004h L004AC340: mov eax,[esi+0000041Ch] test eax,eax jz L004AC353 push eax call SUB_L0049C430 add esp,00000004h L004AC353: mov eax,[esi+00000418h] test eax,eax jz L004AC366 push eax call SUB_L0049C430 add esp,00000004h L004AC366: mov dword ptr [esi+1Ch],00000000h L004AC36D: pop esi retn ;------------------------------------------------------------------------------ Align 4 SUB_L004AC370: push ebp mov ebp,esp sub esp,000000FCh push ebx mov ebx,[edx] mov edx,[edx+0Ch] push esi mov esi,ecx push edi mov ecx,0000001Bh xor eax,eax lea edi,[ebp-00000090h] mov [ebp-04h],ebx rep stosd mov eax,edx mov [ebp-20h],edx dec eax mov dword ptr [ebp-00000090h],0000006Ch jz L004AC3F7 sub eax,00000002h jz L004AC3DC dec eax jnz L004AC400 movsx eax,[ebx] mov ecx,[esi] mov [ecx+58h],eax mov eax,[esi] movsx edx,[ebx+02h] xor ecx,ecx mov [eax+54h],edx mov cl,[ebx+04h] mov [esi+28h],ecx mov dl,[ebx+07h] and edx,00000002h mov [esi+20h],edx mov al,[ebx+07h] and eax,00000001h mov [esi+24h],eax jmp L004AC400 L004AC3DC: movsx ecx,[ebx] mov edx,[esi] mov [edx+58h],ecx mov ecx,[esi] movsx eax,[ebx+02h] xor edx,edx mov [ecx+54h],eax mov dl,[ebx+04h] mov [esi+28h],edx jmp L004AC400 L004AC3F7: mov edx,ebx mov ecx,esi call SUB_L004AAF90 L004AC400: mov edx,[esi] mov eax,[edx] test ah,08h jnz L004AC4AA mov eax,[edx+18h] lea ebx,[edx+18h] test eax,eax jnz L004AC4A7 mov ecx,0000001Bh xor eax,eax lea edi,[ebp-000000FCh] rep stosd mov dword ptr [ebp-000000FCh],0000006Ch mov dword ptr [ebp-000000F8h],00000007h mov dword ptr [ebp-00000094h],00000040h mov eax,[edx] test eax,00000180h jz L004AC45B mov dword ptr [ebp-00000094h],00000840h L004AC45B: mov eax,[edx+58h] mov [ebp-000000F0h],eax mov ecx,[edx+54h] mov [ebp-000000F4h],ecx mov cl,[edx] test cl,40h jz L004AC47C add eax,eax mov [ebp-000000F0h],eax L004AC47C: mov edx,[edx+08h] push 00000000h lea eax,[ebp-000000FCh] push ebx mov ecx,[edx] push eax push edx call [ecx+18h] mov eax,[esi] push 00000000h mov ecx,[eax+08h] add eax,0000001Ch push eax lea eax,[ebp-000000FCh] mov edx,[ecx] push eax push ecx call [edx+18h] L004AC4A7: mov ebx,[ebp-04h] L004AC4AA: mov eax,[esi] mov ecx,[eax] test ch,08h jnz L004AC543 mov eax,[eax+18h] push eax mov ecx,[eax] call [ecx+60h] cmp eax,887601C2h jnz L004AC4D2 mov edx,[esi] mov eax,[edx+18h] push eax mov ecx,[eax] call [ecx+6Ch] L004AC4D2: mov edx,[esi] push 00000000h push 00000001h mov eax,[edx+18h] lea edx,[ebp-00000090h] push edx push 00000000h mov ecx,[eax] push eax call [ecx+64h] test eax,eax jnz L004AC945 mov eax,[ebp-6Ch] mov edx,[esi] mov ecx,[ebp-80h] mov [ebp-14h],eax mov eax,[edx+1Ch] mov [ebp-10h],ecx push eax mov ecx,[eax] call [ecx+60h] cmp eax,887601C2h jnz L004AC51B mov edx,[esi] mov eax,[edx+1Ch] push eax mov ecx,[eax] call [ecx+6Ch] L004AC51B: mov edx,[esi] push 00000000h push 00000001h mov eax,[edx+1Ch] lea edx,[ebp-00000090h] push edx push 00000000h mov ecx,[eax] push eax call [ecx+64h] test eax,eax jnz L004AC945 mov eax,[ebp-6Ch] mov [ebp-18h],eax jmp L004AC561 L004AC543: mov edx,[eax+40h] mov [ebp-14h],edx mov edx,[eax+44h] mov eax,[eax+58h] mov [ebp-18h],edx shl eax,1 test cl,40h mov [ebp-10h],eax jz L004AC561 shl eax,1 mov [ebp-10h],eax L004AC561: mov eax,[ebp-20h] dec eax cmp eax,00000003h ja L004AC91E jmp [CASE_PROCTABLE_004AC94C+eax*4] CASE_004AC94C_PROC0002: mov eax,[esi+28h] mov ecx,00000064h sub ecx,eax mov eax,51EB851Fh lea edx,[ecx+ecx*4] lea edx,[ecx+edx*2] shl edx,1 imul edx sar edx,05h mov eax,edx shr eax,1Fh lea edi,[edx+eax+08h] lea eax,[ecx+ecx*4] mov [ebp-24h],edi lea ecx,[eax+eax*4] mov eax,51EB851Fh shl ecx,1 imul ecx sar edx,05h mov ecx,edx shr ecx,1Fh lea ebx,[edx+ecx+0Ah] sub ebx,edi xor ecx,ecx mov [ebp-0Ch],ecx L004AC5BF: mov edi,[ebp-0Ch] mov dword ptr [ebp-20h],00000008h L004AC5C9: mov edx,[ecx+L004D75B0] mov eax,92492493h mov [ebp-1Ch],edx imul edi add edx,edi sar edx,03h mov eax,edx shr eax,1Fh add edx,eax mov eax,[ebp-24h] add edx,eax shl edx,10h mov [ebp-08h],edx push edx mov edx,[ebp-08h] mov eax,[ebp-1Ch] imul edx shl edx,10h shr eax,10h adc eax,edx pop edx mov [ecx+L007BC020],eax mov eax,[ebp-20h] add edi,ebx add ecx,00000004h dec eax mov [ebp-20h],eax jnz L004AC5C9 mov edx,[ebp-0Ch] add edx,ebx cmp ecx,00000100h mov [ebp-0Ch],edx jl L004AC5BF mov ecx,[esi] test byte ptr [ecx],40h jz L004AC64B mov edx,[ebp-10h] mov eax,[ebp-18h] mov ecx,[ebp-14h] push edx mov edx,[ebp-04h] push eax push ecx add edx,00000008h mov ecx,esi call SUB_L004AB5D0 jmp L004AC91E L004AC64B: mov eax,[ebp-10h] mov ecx,[ebp-18h] mov edx,[ebp-14h] push eax mov eax,[ebp-04h] push ecx push edx mov ecx,esi lea edx,[eax+08h] call SUB_L004AB2D0 jmp L004AC91E CASE_004AC94C_PROC0003: mov eax,[esi+28h] cmp eax,00000064h mov [ebp-08h],eax jnz L004AC6AE xor ecx,ecx L004AC676: mov edi,00000008h L004AC67B: mov edx,[ecx+L004D75B0] mov [ebp-08h],edx push edx mov edx,00080000h mov eax,[ebp-08h] imul edx shl edx,10h shr eax,10h adc eax,edx pop edx mov [ecx+L007BC020],eax add ecx,00000004h dec edi jnz L004AC67B cmp ecx,00000100h jl L004AC676 jmp L004AC72B L004AC6AE: fild dword ptr [ebp-08h] xor edi,edi fsubr qword ptr [L004BDDA0] fmul dword ptr [L004BDDA8] fstp dword ptr [ebp-08h] L004AC6C2: mov ebx,00000008h L004AC6C7: fild dword ptr [edi+L004D76B0] mov eax,[edi+L004D75B0] mov [ebp-1Ch],eax fmul dword ptr [ebp-08h] fmul dword ptr [L004BDDAC] call SUB_L0049BB80 mov [ebp-24h],eax push edx mov edx,[ebp-24h] mov eax,[ebp-1Ch] imul edx shl edx,10h shr eax,10h adc eax,edx pop edx mov [edi+L007BC020],eax add edi,00000004h dec ebx jnz L004AC6C7 cmp edi,00000100h jl L004AC6C2 push edx mov edx,00080000h mov eax,[L004D75B0] imul edx shl edx,10h shr eax,10h adc eax,edx pop edx mov ebx,[ebp-04h] mov [L007BC020],eax L004AC72B: mov ecx,[esi] mov edx,[ebp-14h] test byte ptr [ecx],40h jz L004AC813 add ebx,00000008h mov [ebp-0Ch],edx push ebx call SUB_L004AC960 mov eax,[esi] xor ecx,ecx mov [esi+000003D0h],ecx mov [esi+000003CCh],ecx mov [esi+000003C8h],ecx mov edx,[eax+54h] add esp,00000004h cmp edx,ecx mov [ebp-04h],ecx jbe L004AC91E L004AC76C: mov ecx,[eax+58h] xor edi,edi test ecx,ecx jbe L004AC7E7 mov ebx,[ebp-0Ch] L004AC778: mov eax,[esi+24h] test eax,eax jnz L004AC7B3 lea eax,[ebp-08h] lea ecx,[ebp-1Ch] push eax push ecx call SUB_L004AE652 add esp,00000008h test eax,eax jz L004AC7B3 mov edx,[ebp-08h] mov ecx,[esi] mov eax,[ebp-1Ch] push edx mov edx,[ecx+58h] mov ecx,[ebp-14h] push eax mov eax,[ebp-04h] push edx mov edx,[ebp-18h] push eax push edi call SUB_L004AB1F0 jmp L004AC7DA L004AC7B3: mov eax,[esi+20h] test eax,eax lea eax,[esi+000003C8h] push eax jz L004AC7CD mov ecx,[ebp-10h] push ecx push ebx call SUB_L004AE4F2 jmp L004AC7D7 L004AC7CD: mov edx,[ebp-10h] push edx push ebx call SUB_L004AE250 L004AC7D7: add esp,0000000Ch L004AC7DA: mov eax,[esi] add edi,00000010h add ebx,00000040h cmp edi,[eax+58h] jc L004AC778 L004AC7E7: mov ecx,[ebp-10h] mov ebx,[ebp-0Ch] mov eax,[esi] shr ecx,02h mov edx,[eax+54h] shl ecx,06h add ebx,ecx mov ecx,[ebp-04h] add ecx,00000010h mov [ebp-0Ch],ebx cmp ecx,edx mov [ebp-04h],ecx jc L004AC76C jmp L004AC91E L004AC813: add ebx,00000008h mov [ebp-0Ch],edx push ebx call SUB_L004AC960 mov eax,[esi] xor ecx,ecx mov [esi+000003D0h],ecx mov [esi+000003CCh],ecx mov [esi+000003C8h],ecx mov edx,[eax+54h] add esp,00000004h cmp edx,ecx mov [ebp-04h],ecx jbe L004AC91E L004AC846: mov ecx,[eax+58h] xor edi,edi test ecx,ecx jbe L004AC8C1 mov ebx,[ebp-0Ch] L004AC852: mov eax,[esi+24h] test eax,eax jnz L004AC88D lea eax,[ebp-08h] lea ecx,[ebp-1Ch] push eax push ecx call SUB_L004AE652 add esp,00000008h test eax,eax jz L004AC88D mov edx,[ebp-08h] mov ecx,[esi] mov eax,[ebp-1Ch] push edx mov edx,[ecx+58h] mov ecx,[ebp-14h] push eax mov eax,[ebp-04h] push edx mov edx,[ebp-18h] push eax push edi call SUB_L004AB0F0 jmp L004AC8B4 L004AC88D: mov eax,[esi+20h] test eax,eax lea eax,[esi+000003C8h] push eax jz L004AC8A7 mov ecx,[ebp-10h] push ecx push ebx call SUB_L004AE392 jmp L004AC8B1 L004AC8A7: mov edx,[ebp-10h] push edx push ebx call SUB_L004AEC93 L004AC8B1: add esp,0000000Ch L004AC8B4: mov eax,[esi] add edi,00000010h add ebx,00000020h cmp edi,[eax+58h] jc L004AC852 L004AC8C1: mov ecx,[ebp-10h] mov ebx,[ebp-0Ch] mov eax,[esi] shr ecx,1 mov edx,[eax+54h] shl ecx,05h add ebx,ecx mov ecx,[ebp-04h] add ecx,00000010h mov [ebp-0Ch],ebx cmp ecx,edx mov [ebp-04h],ecx jc L004AC846 jmp L004AC91E CASE_004AC94C_PROC0000: mov edx,ebx mov ecx,esi call SUB_L004AFF00 mov edx,[esi] cmp dword ptr [edx+3Ch],00000008h jz L004AC901 mov ecx,esi call SUB_L004B0060 L004AC901: mov eax,[ebp-18h] push eax jmp L004AC914 CASE_004AC94C_PROC0001: mov edx,ebx mov ecx,esi call SUB_L004AFA80 mov ecx,[ebp-18h] push ecx L004AC914: mov edx,[ebp-14h] mov ecx,esi call SUB_L004B0120 L004AC91E: mov eax,[esi] mov ecx,[eax] test ch,08h jnz L004AC945 mov eax,[eax+1Ch] push 00000000h push eax mov edx,[eax] call [edx+00000080h] mov eax,[esi] push 00000000h mov eax,[eax+18h] push eax mov ecx,[eax] call [ecx+00000080h] L004AC945: pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ CASE_PROCTABLE_004AC94C: dd CASE_004AC94C_PROC0000 dd CASE_004AC94C_PROC0001 dd CASE_004AC94C_PROC0002 dd CASE_004AC94C_PROC0003 Align 8 SUB_L004AC960: push esi mov esi,[esp+08h] mov [L007BC120],esi mov dword ptr [L007BC124],00000000h pop esi retn ;------------------------------------------------------------------------------ SUB_L004AC977: mov eax,[L007BC128] mov esi,[L007BC120] shl eax,18h mov ebp,[L007BC128] sar eax,08h mov ecx,[L007BC124] imul [L007BC020] shl edx,10h xor ebx,ebx shr eax,10h mov edi,0000003Fh adc eax,edx mov [L007BA000],eax xor eax,eax shr ebp,08h mov al,[esi] inc esi sub ecx,00000008h shl eax,cl add ecx,00000008h or ebp,eax L004AC9C0: mov eax,ebp mov ebx,[L007BD740+edi*4] and eax,00000007h jmp [L007BDC40+eax*4] L004AC9D3: mov eax,[L007BC020+ebx*4] mov [L007BA000+ebx*4],eax jmp L004ACA20 L004AC9E3: mov eax,[L007BC020+ebx*4] neg eax mov [L007BA000+ebx*4],eax jmp L004ACA20 L004AC9F5: mov dword ptr [L007BA000+ebx*4],00000000h jmp L004ACA20 L004ACA02: mov dword ptr [L007BA000+ebx*4],00000000h mov ebx,[L007BD73C+edi*4] dec edi mov dword ptr [L007BA000+ebx*4],00000000h L004ACA20: shr ebp,03h sub ecx,00000003h cmp ecx,00000008h jge L004ACA37 xor eax,eax mov al,[esi] inc esi shl eax,cl add ecx,00000008h or ebp,eax L004ACA37: dec edi jg L004AC9C0 mov [L007BC120],esi mov [L007BC128],ebp mov [L007BC124],ecx retn ;------------------------------------------------------------------------------ L004ACA4D: mov dword ptr [L007BA000+ebx*4],00000000h mov ebx,[L007BD73C+edi*4] dec edi L004ACA60: mov eax,ebp xor edx,edx and eax,000000FFh shr eax,03h L004ACA6C: mov [L007BA000+ebx*4],edx mov ebx,[L007BD73C+edi*4] mov [L007BA000+ebx*4],edx mov ebx,[L007BD738+edi*4] sub edi,00000002h dec eax jnz L004ACA6C inc edi jmp L004ACAEB L004ACA91: mov eax,ebp and eax,000000FCh cmp eax,000000FCh jz L004ACABD shl eax,18h sar eax,0Ah imul [L007BC020+ebx*4] shl edx,10h shr eax,10h adc eax,edx mov [L007BA000+ebx*4],eax jmp L004ACAEB L004ACABD: shr ebp,08h mov al,[esi] inc esi sub ecx,00000008h shl eax,cl add ecx,00000008h or ebp,eax mov eax,ebp shl eax,18h sar eax,08h imul [L007BC020+ebx*4] shl edx,10h shr eax,10h adc eax,edx mov [L007BA000+ebx*4],eax L004ACAEB: shr ebp,08h xor eax,eax mov al,[esi] inc esi sub ecx,00000008h shl eax,cl add ecx,00000008h or ebp,eax dec edi jg L004AC9C0 mov [L007BC120],esi mov [L007BC128],ebp mov [L007BC124],ecx retn ;------------------------------------------------------------------------------ SUB_L004ACB17: imul [L007BC020] xor ebx,ebx mov [L007BA000],eax mov [L007BA004],ebx mov [L007BA008],ebx mov [L007BA00C],ebx mov [L007BA010],ebx mov [L007BA014],ebx mov [L007BA018],ebx mov [L007BA01C],ebx mov [L007BA020],ebx mov [L007BA024],ebx mov [L007BA028],ebx mov [L007BA02C],ebx mov [L007BA030],ebx mov [L007BA034],ebx mov [L007BA038],ebx mov [L007BA03C],ebx mov [L007BA040],ebx mov [L007BA044],ebx mov [L007BA048],ebx mov [L007BA04C],ebx mov [L007BA050],ebx mov [L007BA054],ebx mov [L007BA058],ebx mov [L007BA05C],ebx mov [L007BA060],ebx mov [L007BA064],ebx mov [L007BA068],ebx mov [L007BA06C],ebx mov [L007BA070],ebx mov [L007BA074],ebx mov [L007BA078],ebx mov [L007BA07C],ebx mov [L007BA080],ebx mov [L007BA084],ebx mov [L007BA088],ebx mov [L007BA08C],ebx mov [L007BA090],ebx mov [L007BA094],ebx mov [L007BA098],ebx mov [L007BA09C],ebx mov [L007BA0A0],ebx mov [L007BA0A4],ebx mov [L007BA0A8],ebx mov [L007BA0AC],ebx mov [L007BA0B0],ebx mov [L007BA0B4],ebx mov [L007BA0B8],ebx mov [L007BA0BC],ebx mov [L007BA0C0],ebx mov [L007BA0C4],ebx mov [L007BA0C8],ebx mov [L007BA0CC],ebx mov [L007BA0D0],ebx mov [L007BA0D4],ebx mov [L007BA0D8],ebx mov [L007BA0DC],ebx mov [L007BA0E0],ebx mov [L007BA0E4],ebx mov [L007BA0E8],ebx mov [L007BA0EC],ebx mov [L007BA0F0],ebx mov [L007BA0F4],ebx mov [L007BA0F8],ebx mov [L007BA0FC],ebx mov ebx,0000003Fh L004ACCA3: mov edx,edi mov ecx,edi shr edx,05h mov eax,[ebp+edx*4+00h] mov edx,[ebp+edx*4+04h] shld eax,edx,cl shr eax,0Fh cmp eax,00008000h jl L004ACD11 mov ecx,eax shr eax,0Dh mov eax,[L007BD830+eax*4] L004ACCCB: mov edx,eax sar eax,10h add edi,eax cmp dh,41h jz L004ACD0A ja L004ACDA3 sub bl,dh and edx,000000FFh neg eax add eax,00000010h inc edi bt ecx,eax jnc L004ACCF2 neg edx L004ACCF2: mov ecx,[L007BD744+ebx*4] imul edx,[L007BC020+ecx*4] mov [L007BA000+ecx*4],edx jmp L004ACCA3 L004ACD0A: mov [L007BC124],edi retn ;------------------------------------------------------------------------------ L004ACD11: mov ecx,eax shr eax,1 cmp eax,00000400h jl L004ACD28 shr eax,08h mov eax,[L007BD860+eax*4] jmp L004ACCCB L004ACD28: cmp eax,00000200h jl L004ACD3B shr eax,06h mov eax,[L007BD940+eax*4] jmp L004ACCCB L004ACD3B: cmp eax,00000100h jl L004ACD51 shr eax,04h mov eax,[L007BD940+eax*4] jmp L004ACCCB L004ACD51: cmp eax,00000080h jl L004ACD67 shr eax,03h mov eax,[L007BD980+eax*4] jmp L004ACCCB L004ACD67: cmp eax,00000040h jl L004ACD7B shr eax,02h mov eax,[L007BD9C0+eax*4] jmp L004ACCCB L004ACD7B: cmp eax,00000020h jl L004ACD8E shr eax,1 mov eax,[L007BDA00+eax*4] jmp L004ACCCB L004ACD8E: cmp eax,00000010h jl L004ACD0A mov eax,[L007BDA40+eax*4] jmp L004ACCCB L004ACDA3: mov edx,edi mov ecx,edi shr edx,05h mov eax,[ebp+edx*4+00h] mov edx,[ebp+edx*4+04h] shld eax,edx,cl shr eax,12h add edi,0000000Eh mov edx,eax shr edx,08h sub ebx,edx and eax,000000FFh jnz L004ACDE3 mov edx,edi mov ecx,edi shr edx,05h mov eax,[ebp+edx*4+00h] mov edx,[ebp+edx*4+04h] shld eax,edx,cl shr eax,18h add edi,00000008h jmp L004ACE10 L004ACDE3: cmp eax,00000080h jnz L004ACE09 mov edx,edi mov ecx,edi shr edx,05h mov eax,[ebp+edx*4+00h] mov edx,[ebp+edx*4+04h] shld eax,edx,cl shr eax,18h add edi,00000008h sub eax,00000100h jmp L004ACE10 L004ACE09: jle L004ACE10 sub eax,00000100h L004ACE10: mov ecx,[L007BD740+ebx*4] imul eax,[L007BC020+ecx*4] mov [L007BA000+ecx*4],eax dec ebx jmp L004ACCA3 SUB_L004ACE2C: mov ecx,[edi] mov eax,[esi] mov edx,[esi+04h] mov ecx,[ebx] mov ebp,[ebx+00000100h] and eax,0000007Fh and edx,0000007Fh and ecx,0000007Fh and ebp,0000007Fh mov eax,[L007BC12C+eax*4] mov edx,[L007BC12C+edx*4] mov ecx,[L007BC32C+ecx*4] mov ebp,[L007BC52C+ebp*4] add eax,ecx add edx,ecx add eax,ebp add edx,ebp mov [edi],eax mov [edi+04h],edx mov eax,[esi+08h] mov edx,[esi+0Ch] mov ecx,[ebx+04h] mov ebp,[ebx+00000104h] and eax,0000007Fh and edx,0000007Fh and ecx,0000007Fh and ebp,0000007Fh mov eax,[L007BC12C+eax*4] mov edx,[L007BC12C+edx*4] mov ecx,[L007BC32C+ecx*4] mov ebp,[L007BC52C+ebp*4] add eax,ecx add edx,ecx add eax,ebp add edx,ebp mov [edi+08h],eax mov [edi+0Ch],edx mov eax,[esi+10h] mov edx,[esi+14h] mov ecx,[ebx+08h] mov ebp,[ebx+00000108h] and eax,0000007Fh and edx,0000007Fh and ecx,0000007Fh and ebp,0000007Fh mov eax,[L007BC12C+eax*4] mov edx,[L007BC12C+edx*4] mov ecx,[L007BC32C+ecx*4] mov ebp,[L007BC52C+ebp*4] add eax,ecx add edx,ecx add eax,ebp add edx,ebp mov [edi+10h],eax mov [edi+14h],edx mov eax,[esi+18h] mov edx,[esi+1Ch] mov ecx,[ebx+0Ch] mov ebp,[ebx+0000010Ch] and eax,0000007Fh and edx,0000007Fh and ecx,0000007Fh and ebp,0000007Fh mov eax,[L007BC12C+eax*4] mov edx,[L007BC12C+edx*4] mov ecx,[L007BC32C+ecx*4] mov ebp,[L007BC52C+ebp*4] add eax,ecx add edx,ecx add eax,ebp add edx,ebp mov [edi+18h],eax mov [edi+1Ch],edx mov ecx,[edi+20h] mov eax,[esi+20h] mov edx,[esi+24h] mov ecx,[ebx+10h] mov ebp,[ebx+00000110h] and eax,0000007Fh and edx,0000007Fh and ecx,0000007Fh and ebp,0000007Fh mov eax,[L007BC12C+eax*4] mov edx,[L007BC12C+edx*4] mov ecx,[L007BC32C+ecx*4] mov ebp,[L007BC52C+ebp*4] add eax,ecx add edx,ecx add eax,ebp add edx,ebp mov [edi+20h],eax mov [edi+24h],edx mov eax,[esi+28h] mov edx,[esi+2Ch] mov ecx,[ebx+14h] mov ebp,[ebx+00000114h] and eax,0000007Fh and edx,0000007Fh and ecx,0000007Fh and ebp,0000007Fh mov eax,[L007BC12C+eax*4] mov edx,[L007BC12C+edx*4] mov ecx,[L007BC32C+ecx*4] mov ebp,[L007BC52C+ebp*4] add eax,ecx add edx,ecx add eax,ebp add edx,ebp mov [edi+28h],eax mov [edi+2Ch],edx mov eax,[esi+30h] mov edx,[esi+34h] mov ecx,[ebx+18h] mov ebp,[ebx+00000118h] and eax,0000007Fh and edx,0000007Fh and ecx,0000007Fh and ebp,0000007Fh mov eax,[L007BC12C+eax*4] mov edx,[L007BC12C+edx*4] mov ecx,[L007BC32C+ecx*4] mov ebp,[L007BC52C+ebp*4] add eax,ecx add edx,ecx add eax,ebp add edx,ebp mov [edi+30h],eax mov [edi+34h],edx mov eax,[esi+38h] mov edx,[esi+3Ch] mov ecx,[ebx+1Ch] mov ebp,[ebx+0000011Ch] and eax,0000007Fh and edx,0000007Fh and ecx,0000007Fh and ebp,0000007Fh mov eax,[L007BC12C+eax*4] mov edx,[L007BC12C+edx*4] mov ecx,[L007BC32C+ecx*4] mov ebp,[L007BC52C+ebp*4] add eax,ecx add edx,ecx add eax,ebp add edx,ebp mov [edi+38h],eax mov [edi+3Ch],edx retn ;------------------------------------------------------------------------------ SUB_L004AD057: mov ecx,[edi] mov eax,[esi] mov edx,[esi+04h] mov ecx,[ebx] mov ebp,[ebx+00000100h] and eax,0000007Fh and edx,0000007Fh and ecx,0000007Fh and ebp,0000007Fh mov eax,[L007BC12C+eax*4] mov edx,[L007BC12C+edx*4] mov ecx,[L007BC32C+ecx*4] mov ebp,[L007BC52C+ebp*4] add eax,ecx add edx,ecx add eax,ebp add edx,ebp mov [edi],ax mov [edi+02h],dx mov eax,[esi+08h] mov edx,[esi+0Ch] mov ecx,[ebx+04h] mov ebp,[ebx+00000104h] and eax,0000007Fh and edx,0000007Fh and ecx,0000007Fh and ebp,0000007Fh mov eax,[L007BC12C+eax*4] mov edx,[L007BC12C+edx*4] mov ecx,[L007BC32C+ecx*4] mov ebp,[L007BC52C+ebp*4] add eax,ecx add edx,ecx add eax,ebp add edx,ebp mov [edi+04h],ax mov [edi+06h],dx mov eax,[esi+10h] mov edx,[esi+14h] mov ecx,[ebx+08h] mov ebp,[ebx+00000108h] and eax,0000007Fh and edx,0000007Fh and ecx,0000007Fh and ebp,0000007Fh mov eax,[L007BC12C+eax*4] mov edx,[L007BC12C+edx*4] mov ecx,[L007BC32C+ecx*4] mov ebp,[L007BC52C+ebp*4] add eax,ecx add edx,ecx add eax,ebp add edx,ebp mov [edi+08h],ax mov [edi+0Ah],dx mov eax,[esi+18h] mov edx,[esi+1Ch] mov ecx,[ebx+0Ch] mov ebp,[ebx+0000010Ch] and eax,0000007Fh and edx,0000007Fh and ecx,0000007Fh and ebp,0000007Fh mov eax,[L007BC12C+eax*4] mov edx,[L007BC12C+edx*4] mov ecx,[L007BC32C+ecx*4] mov ebp,[L007BC52C+ebp*4] add eax,ecx add edx,ecx add eax,ebp add edx,ebp mov [edi+0Ch],ax mov [edi+0Eh],dx mov ecx,[edi+20h] mov eax,[esi+20h] mov edx,[esi+24h] mov ecx,[ebx+10h] mov ebp,[ebx+00000110h] and eax,0000007Fh and edx,0000007Fh and ecx,0000007Fh and ebp,0000007Fh mov eax,[L007BC12C+eax*4] mov edx,[L007BC12C+edx*4] mov ecx,[L007BC32C+ecx*4] mov ebp,[L007BC52C+ebp*4] add eax,ecx add edx,ecx add eax,ebp add edx,ebp mov [edi+10h],ax mov [edi+12h],dx mov eax,[esi+28h] mov edx,[esi+2Ch] mov ecx,[ebx+14h] mov ebp,[ebx+00000114h] and eax,0000007Fh and edx,0000007Fh and ecx,0000007Fh and ebp,0000007Fh mov eax,[L007BC12C+eax*4] mov edx,[L007BC12C+edx*4] mov ecx,[L007BC32C+ecx*4] mov ebp,[L007BC52C+ebp*4] add eax,ecx add edx,ecx add eax,ebp add edx,ebp mov [edi+14h],ax mov [edi+16h],dx mov eax,[esi+30h] mov edx,[esi+34h] mov ecx,[ebx+18h] mov ebp,[ebx+00000118h] and eax,0000007Fh and edx,0000007Fh and ecx,0000007Fh and ebp,0000007Fh mov eax,[L007BC12C+eax*4] mov edx,[L007BC12C+edx*4] mov ecx,[L007BC32C+ecx*4] mov ebp,[L007BC52C+ebp*4] add eax,ecx add edx,ecx add eax,ebp add edx,ebp mov [edi+18h],ax mov [edi+1Ah],dx mov eax,[esi+38h] mov edx,[esi+3Ch] mov ecx,[ebx+1Ch] mov ebp,[ebx+0000011Ch] and eax,0000007Fh and edx,0000007Fh and ecx,0000007Fh and ebp,0000007Fh mov eax,[L007BC12C+eax*4] mov edx,[L007BC12C+edx*4] mov ecx,[L007BC32C+ecx*4] mov ebp,[L007BC52C+ebp*4] add eax,ecx add edx,ecx add eax,ebp add edx,ebp mov [edi+1Ch],ax mov [edi+1Eh],dx retn ;------------------------------------------------------------------------------ SUB_L004AD292: push ebx push ecx push edx push esi push edi push ebp sub esp,00000014h mov esi,[esp+30h] xor eax,eax mov al,[esi] inc esi mov [L007BC120],esi mov [L007BC128],eax mov dword ptr [L007BC124],00000008h call SUB_L004AC977 mov esi,L007BA000 mov dword ptr [esp],L007BA100 call SUB_L004AF742 mov esi,L007BA020 mov dword ptr [esp],L007BA104 call SUB_L004AF742 mov esi,L007BA040 mov dword ptr [esp],L007BA108 call SUB_L004AF742 mov esi,L007BA060 mov dword ptr [esp],L007BA10C call SUB_L004AF742 mov esi,L007BA080 mov dword ptr [esp],L007BA110 call SUB_L004AF742 mov esi,L007BA0A0 mov dword ptr [esp],L007BA114 call SUB_L004AF742 mov esi,L007BA0C0 mov dword ptr [esp],L007BA118 call SUB_L004AF742 mov esi,L007BA0E0 mov dword ptr [esp],L007BA11C call SUB_L004AF742 mov esi,L007BA100 mov dword ptr [esp],L007BA220 call SUB_L004AF96F mov esi,L007BA124 mov dword ptr [esp],L007BA260 call SUB_L004AF96F mov esi,L007BA148 mov dword ptr [esp],L007BA2A0 call SUB_L004AF96F mov esi,L007BA16C mov dword ptr [esp],L007BA2E0 call SUB_L004AF96F mov esi,L007BA190 mov dword ptr [esp],L007BA320 call SUB_L004AF96F mov esi,L007BA1B4 mov dword ptr [esp],L007BA360 call SUB_L004AF96F mov esi,L007BA1D8 mov dword ptr [esp],L007BA3A0 call SUB_L004AF96F mov esi,L007BA1FC mov dword ptr [esp],L007BA3E0 call SUB_L004AF96F call SUB_L004AC977 mov esi,L007BA000 mov dword ptr [esp],L007BA100 call SUB_L004AF742 mov esi,L007BA020 mov dword ptr [esp],L007BA104 call SUB_L004AF742 mov esi,L007BA040 mov dword ptr [esp],L007BA108 call SUB_L004AF742 mov esi,L007BA060 mov dword ptr [esp],L007BA10C call SUB_L004AF742 mov esi,L007BA080 mov dword ptr [esp],L007BA110 call SUB_L004AF742 mov esi,L007BA0A0 mov dword ptr [esp],L007BA114 call SUB_L004AF742 mov esi,L007BA0C0 mov dword ptr [esp],L007BA118 call SUB_L004AF742 mov esi,L007BA0E0 mov dword ptr [esp],L007BA11C call SUB_L004AF742 mov esi,L007BA100 mov dword ptr [esp],L007BA240 call SUB_L004AF96F mov esi,L007BA124 mov dword ptr [esp],L007BA280 call SUB_L004AF96F mov esi,L007BA148 mov dword ptr [esp],L007BA2C0 call SUB_L004AF96F mov esi,L007BA16C mov dword ptr [esp],L007BA300 call SUB_L004AF96F mov esi,L007BA190 mov dword ptr [esp],L007BA340 call SUB_L004AF96F mov esi,L007BA1B4 mov dword ptr [esp],L007BA380 call SUB_L004AF96F mov esi,L007BA1D8 mov dword ptr [esp],L007BA3C0 call SUB_L004AF96F mov esi,L007BA1FC mov dword ptr [esp],L007BA400 call SUB_L004AF96F call SUB_L004AC977 mov esi,L007BA000 mov dword ptr [esp],L007BA100 call SUB_L004AF742 mov esi,L007BA020 mov dword ptr [esp],L007BA104 call SUB_L004AF742 mov esi,L007BA040 mov dword ptr [esp],L007BA108 call SUB_L004AF742 mov esi,L007BA060 mov dword ptr [esp],L007BA10C call SUB_L004AF742 mov esi,L007BA080 mov dword ptr [esp],L007BA110 call SUB_L004AF742 mov esi,L007BA0A0 mov dword ptr [esp],L007BA114 call SUB_L004AF742 mov esi,L007BA0C0 mov dword ptr [esp],L007BA118 call SUB_L004AF742 mov esi,L007BA0E0 mov dword ptr [esp],L007BA11C call SUB_L004AF742 mov esi,L007BA100 mov dword ptr [esp],L007BA420 call SUB_L004AF96F mov esi,L007BA124 mov dword ptr [esp],L007BA460 call SUB_L004AF96F mov esi,L007BA148 mov dword ptr [esp],L007BA4A0 call SUB_L004AF96F mov esi,L007BA16C mov dword ptr [esp],L007BA4E0 call SUB_L004AF96F mov esi,L007BA190 mov dword ptr [esp],L007BA520 call SUB_L004AF96F mov esi,L007BA1B4 mov dword ptr [esp],L007BA560 call SUB_L004AF96F mov esi,L007BA1D8 mov dword ptr [esp],L007BA5A0 call SUB_L004AF96F mov esi,L007BA1FC mov dword ptr [esp],L007BA5E0 call SUB_L004AF96F call SUB_L004AC977 mov esi,L007BA000 mov dword ptr [esp],L007BA100 call SUB_L004AF742 mov esi,L007BA020 mov dword ptr [esp],L007BA104 call SUB_L004AF742 mov esi,L007BA040 mov dword ptr [esp],L007BA108 call SUB_L004AF742 mov esi,L007BA060 mov dword ptr [esp],L007BA10C call SUB_L004AF742 mov esi,L007BA080 mov dword ptr [esp],L007BA110 call SUB_L004AF742 mov esi,L007BA0A0 mov dword ptr [esp],L007BA114 call SUB_L004AF742 mov esi,L007BA0C0 mov dword ptr [esp],L007BA118 call SUB_L004AF742 mov esi,L007BA0E0 mov dword ptr [esp],L007BA11C call SUB_L004AF742 mov esi,L007BA100 mov dword ptr [esp],L007BA440 call SUB_L004AF96F mov esi,L007BA124 mov dword ptr [esp],L007BA480 call SUB_L004AF96F mov esi,L007BA148 mov dword ptr [esp],L007BA4C0 call SUB_L004AF96F mov esi,L007BA16C mov dword ptr [esp],L007BA500 call SUB_L004AF96F mov esi,L007BA190 mov dword ptr [esp],L007BA540 call SUB_L004AF96F mov esi,L007BA1B4 mov dword ptr [esp],L007BA580 call SUB_L004AF96F mov esi,L007BA1D8 mov dword ptr [esp],L007BA5C0 call SUB_L004AF96F mov esi,L007BA1FC mov dword ptr [esp],L007BA600 call SUB_L004AF96F call SUB_L004AC977 mov esi,L007BA000 mov dword ptr [esp],L007BA100 call SUB_L004AF742 mov esi,L007BA020 mov dword ptr [esp],L007BA104 call SUB_L004AF742 mov esi,L007BA040 mov dword ptr [esp],L007BA108 call SUB_L004AF742 mov esi,L007BA060 mov dword ptr [esp],L007BA10C call SUB_L004AF742 mov esi,L007BA080 mov dword ptr [esp],L007BA110 call SUB_L004AF742 mov esi,L007BA0A0 mov dword ptr [esp],L007BA114 call SUB_L004AF742 mov esi,L007BA0C0 mov dword ptr [esp],L007BA118 call SUB_L004AF742 mov esi,L007BA0E0 mov dword ptr [esp],L007BA11C call SUB_L004AF742 mov esi,L007BA100 mov dword ptr [esp],L007BA620 call SUB_L004AF96F mov esi,L007BA124 mov dword ptr [esp],L007BA640 call SUB_L004AF96F mov esi,L007BA148 mov dword ptr [esp],L007BA660 call SUB_L004AF96F mov esi,L007BA16C mov dword ptr [esp],L007BA680 call SUB_L004AF96F mov esi,L007BA190 mov dword ptr [esp],L007BA6A0 call SUB_L004AF96F mov esi,L007BA1B4 mov dword ptr [esp],L007BA6C0 call SUB_L004AF96F mov esi,L007BA1D8 mov dword ptr [esp],L007BA6E0 call SUB_L004AF96F mov esi,L007BA1FC mov dword ptr [esp],L007BA700 call SUB_L004AF96F call SUB_L004AC977 mov esi,L007BA000 mov dword ptr [esp],L007BA100 call SUB_L004AF742 mov esi,L007BA020 mov dword ptr [esp],L007BA104 call SUB_L004AF742 mov esi,L007BA040 mov dword ptr [esp],L007BA108 call SUB_L004AF742 mov esi,L007BA060 mov dword ptr [esp],L007BA10C call SUB_L004AF742 mov esi,L007BA080 mov dword ptr [esp],L007BA110 call SUB_L004AF742 mov esi,L007BA0A0 mov dword ptr [esp],L007BA114 call SUB_L004AF742 mov esi,L007BA0C0 mov dword ptr [esp],L007BA118 call SUB_L004AF742 mov esi,L007BA0E0 mov dword ptr [esp],L007BA11C call SUB_L004AF742 mov esi,L007BA100 mov dword ptr [esp],L007BA720 call SUB_L004AF96F mov esi,L007BA124 mov dword ptr [esp],L007BA740 call SUB_L004AF96F mov esi,L007BA148 mov dword ptr [esp],L007BA760 call SUB_L004AF96F mov esi,L007BA16C mov dword ptr [esp],L007BA780 call SUB_L004AF96F mov esi,L007BA190 mov dword ptr [esp],L007BA7A0 call SUB_L004AF96F mov esi,L007BA1B4 mov dword ptr [esp],L007BA7C0 call SUB_L004AF96F mov esi,L007BA1D8 mov dword ptr [esp],L007BA7E0 call SUB_L004AF96F mov esi,L007BA1FC mov dword ptr [esp],L007BA800 call SUB_L004AF96F mov edi,[esp+34h] mov esi,L007BA220 mov ebx,L007BA620 call SUB_L004ACE2C add edi,[esp+38h] mov esi,L007BA260 mov ebx,L007BA620 call SUB_L004ACE2C add edi,[esp+38h] mov esi,L007BA2A0 mov ebx,L007BA640 call SUB_L004ACE2C add edi,[esp+38h] mov esi,L007BA2E0 mov ebx,L007BA640 call SUB_L004ACE2C add edi,[esp+38h] mov esi,L007BA320 mov ebx,L007BA660 call SUB_L004ACE2C add edi,[esp+38h] mov esi,L007BA360 mov ebx,L007BA660 call SUB_L004ACE2C add edi,[esp+38h] mov esi,L007BA3A0 mov ebx,L007BA680 call SUB_L004ACE2C add edi,[esp+38h] mov esi,L007BA3E0 mov ebx,L007BA680 call SUB_L004ACE2C add edi,[esp+38h] mov esi,L007BA420 mov ebx,L007BA6A0 call SUB_L004ACE2C add edi,[esp+38h] mov esi,L007BA460 mov ebx,L007BA6A0 call SUB_L004ACE2C add edi,[esp+38h] mov esi,L007BA4A0 mov ebx,L007BA6C0 call SUB_L004ACE2C add edi,[esp+38h] mov esi,L007BA4E0 mov ebx,L007BA6C0 call SUB_L004ACE2C add edi,[esp+38h] mov esi,L007BA520 mov ebx,L007BA6E0 call SUB_L004ACE2C add edi,[esp+38h] mov esi,L007BA560 mov ebx,L007BA6E0 call SUB_L004ACE2C add edi,[esp+38h] mov esi,L007BA5A0 mov ebx,L007BA700 call SUB_L004ACE2C add edi,[esp+38h] mov esi,L007BA5E0 mov ebx,L007BA700 call SUB_L004ACE2C add esp,00000014h pop ebp pop edi pop esi pop edx pop ecx pop ebx retn ;------------------------------------------------------------------------------ SUB_L004ADA71: push ebx push ecx push edx push esi push edi push ebp sub esp,00000014h mov esi,[esp+30h] xor eax,eax mov al,[esi] inc esi mov [L007BC120],esi mov [L007BC128],eax mov dword ptr [L007BC124],00000008h call SUB_L004AC977 mov esi,L007BA000 mov dword ptr [esp],L007BA100 call SUB_L004AF742 mov esi,L007BA020 mov dword ptr [esp],L007BA104 call SUB_L004AF742 mov esi,L007BA040 mov dword ptr [esp],L007BA108 call SUB_L004AF742 mov esi,L007BA060 mov dword ptr [esp],L007BA10C call SUB_L004AF742 mov esi,L007BA080 mov dword ptr [esp],L007BA110 call SUB_L004AF742 mov esi,L007BA0A0 mov dword ptr [esp],L007BA114 call SUB_L004AF742 mov esi,L007BA0C0 mov dword ptr [esp],L007BA118 call SUB_L004AF742 mov esi,L007BA0E0 mov dword ptr [esp],L007BA11C call SUB_L004AF742 mov esi,L007BA100 mov dword ptr [esp],L007BA220 call SUB_L004AF96F mov esi,L007BA124 mov dword ptr [esp],L007BA260 call SUB_L004AF96F mov esi,L007BA148 mov dword ptr [esp],L007BA2A0 call SUB_L004AF96F mov esi,L007BA16C mov dword ptr [esp],L007BA2E0 call SUB_L004AF96F mov esi,L007BA190 mov dword ptr [esp],L007BA320 call SUB_L004AF96F mov esi,L007BA1B4 mov dword ptr [esp],L007BA360 call SUB_L004AF96F mov esi,L007BA1D8 mov dword ptr [esp],L007BA3A0 call SUB_L004AF96F mov esi,L007BA1FC mov dword ptr [esp],L007BA3E0 call SUB_L004AF96F call SUB_L004AC977 mov esi,L007BA000 mov dword ptr [esp],L007BA100 call SUB_L004AF742 mov esi,L007BA020 mov dword ptr [esp],L007BA104 call SUB_L004AF742 mov esi,L007BA040 mov dword ptr [esp],L007BA108 call SUB_L004AF742 mov esi,L007BA060 mov dword ptr [esp],L007BA10C call SUB_L004AF742 mov esi,L007BA080 mov dword ptr [esp],L007BA110 call SUB_L004AF742 mov esi,L007BA0A0 mov dword ptr [esp],L007BA114 call SUB_L004AF742 mov esi,L007BA0C0 mov dword ptr [esp],L007BA118 call SUB_L004AF742 mov esi,L007BA0E0 mov dword ptr [esp],L007BA11C call SUB_L004AF742 mov esi,L007BA100 mov dword ptr [esp],L007BA240 call SUB_L004AF96F mov esi,L007BA124 mov dword ptr [esp],L007BA280 call SUB_L004AF96F mov esi,L007BA148 mov dword ptr [esp],L007BA2C0 call SUB_L004AF96F mov esi,L007BA16C mov dword ptr [esp],L007BA300 call SUB_L004AF96F mov esi,L007BA190 mov dword ptr [esp],L007BA340 call SUB_L004AF96F mov esi,L007BA1B4 mov dword ptr [esp],L007BA380 call SUB_L004AF96F mov esi,L007BA1D8 mov dword ptr [esp],L007BA3C0 call SUB_L004AF96F mov esi,L007BA1FC mov dword ptr [esp],L007BA400 call SUB_L004AF96F call SUB_L004AC977 mov esi,L007BA000 mov dword ptr [esp],L007BA100 call SUB_L004AF742 mov esi,L007BA020 mov dword ptr [esp],L007BA104 call SUB_L004AF742 mov esi,L007BA040 mov dword ptr [esp],L007BA108 call SUB_L004AF742 mov esi,L007BA060 mov dword ptr [esp],L007BA10C call SUB_L004AF742 mov esi,L007BA080 mov dword ptr [esp],L007BA110 call SUB_L004AF742 mov esi,L007BA0A0 mov dword ptr [esp],L007BA114 call SUB_L004AF742 mov esi,L007BA0C0 mov dword ptr [esp],L007BA118 call SUB_L004AF742 mov esi,L007BA0E0 mov dword ptr [esp],L007BA11C call SUB_L004AF742 mov esi,L007BA100 mov dword ptr [esp],L007BA420 call SUB_L004AF96F mov esi,L007BA124 mov dword ptr [esp],L007BA460 call SUB_L004AF96F mov esi,L007BA148 mov dword ptr [esp],L007BA4A0 call SUB_L004AF96F mov esi,L007BA16C mov dword ptr [esp],L007BA4E0 call SUB_L004AF96F mov esi,L007BA190 mov dword ptr [esp],L007BA520 call SUB_L004AF96F mov esi,L007BA1B4 mov dword ptr [esp],L007BA560 call SUB_L004AF96F mov esi,L007BA1D8 mov dword ptr [esp],L007BA5A0 call SUB_L004AF96F mov esi,L007BA1FC mov dword ptr [esp],L007BA5E0 call SUB_L004AF96F call SUB_L004AC977 mov esi,L007BA000 mov dword ptr [esp],L007BA100 call SUB_L004AF742 mov esi,L007BA020 mov dword ptr [esp],L007BA104 call SUB_L004AF742 mov esi,L007BA040 mov dword ptr [esp],L007BA108 call SUB_L004AF742 mov esi,L007BA060 mov dword ptr [esp],L007BA10C call SUB_L004AF742 mov esi,L007BA080 mov dword ptr [esp],L007BA110 call SUB_L004AF742 mov esi,L007BA0A0 mov dword ptr [esp],L007BA114 call SUB_L004AF742 mov esi,L007BA0C0 mov dword ptr [esp],L007BA118 call SUB_L004AF742 mov esi,L007BA0E0 mov dword ptr [esp],L007BA11C call SUB_L004AF742 mov esi,L007BA100 mov dword ptr [esp],L007BA440 call SUB_L004AF96F mov esi,L007BA124 mov dword ptr [esp],L007BA480 call SUB_L004AF96F mov esi,L007BA148 mov dword ptr [esp],L007BA4C0 call SUB_L004AF96F mov esi,L007BA16C mov dword ptr [esp],L007BA500 call SUB_L004AF96F mov esi,L007BA190 mov dword ptr [esp],L007BA540 call SUB_L004AF96F mov esi,L007BA1B4 mov dword ptr [esp],L007BA580 call SUB_L004AF96F mov esi,L007BA1D8 mov dword ptr [esp],L007BA5C0 call SUB_L004AF96F mov esi,L007BA1FC mov dword ptr [esp],L007BA600 call SUB_L004AF96F call SUB_L004AC977 mov esi,L007BA000 mov dword ptr [esp],L007BA100 call SUB_L004AF742 mov esi,L007BA020 mov dword ptr [esp],L007BA104 call SUB_L004AF742 mov esi,L007BA040 mov dword ptr [esp],L007BA108 call SUB_L004AF742 mov esi,L007BA060 mov dword ptr [esp],L007BA10C call SUB_L004AF742 mov esi,L007BA080 mov dword ptr [esp],L007BA110 call SUB_L004AF742 mov esi,L007BA0A0 mov dword ptr [esp],L007BA114 call SUB_L004AF742 mov esi,L007BA0C0 mov dword ptr [esp],L007BA118 call SUB_L004AF742 mov esi,L007BA0E0 mov dword ptr [esp],L007BA11C call SUB_L004AF742 mov esi,L007BA100 mov dword ptr [esp],L007BA620 call SUB_L004AF96F mov esi,L007BA124 mov dword ptr [esp],L007BA640 call SUB_L004AF96F mov esi,L007BA148 mov dword ptr [esp],L007BA660 call SUB_L004AF96F mov esi,L007BA16C mov dword ptr [esp],L007BA680 call SUB_L004AF96F mov esi,L007BA190 mov dword ptr [esp],L007BA6A0 call SUB_L004AF96F mov esi,L007BA1B4 mov dword ptr [esp],L007BA6C0 call SUB_L004AF96F mov esi,L007BA1D8 mov dword ptr [esp],L007BA6E0 call SUB_L004AF96F mov esi,L007BA1FC mov dword ptr [esp],L007BA700 call SUB_L004AF96F call SUB_L004AC977 mov esi,L007BA000 mov dword ptr [esp],L007BA100 call SUB_L004AF742 mov esi,L007BA020 mov dword ptr [esp],L007BA104 call SUB_L004AF742 mov esi,L007BA040 mov dword ptr [esp],L007BA108 call SUB_L004AF742 mov esi,L007BA060 mov dword ptr [esp],L007BA10C call SUB_L004AF742 mov esi,L007BA080 mov dword ptr [esp],L007BA110 call SUB_L004AF742 mov esi,L007BA0A0 mov dword ptr [esp],L007BA114 call SUB_L004AF742 mov esi,L007BA0C0 mov dword ptr [esp],L007BA118 call SUB_L004AF742 mov esi,L007BA0E0 mov dword ptr [esp],L007BA11C call SUB_L004AF742 mov esi,L007BA100 mov dword ptr [esp],L007BA720 call SUB_L004AF96F mov esi,L007BA124 mov dword ptr [esp],L007BA740 call SUB_L004AF96F mov esi,L007BA148 mov dword ptr [esp],L007BA760 call SUB_L004AF96F mov esi,L007BA16C mov dword ptr [esp],L007BA780 call SUB_L004AF96F mov esi,L007BA190 mov dword ptr [esp],L007BA7A0 call SUB_L004AF96F mov esi,L007BA1B4 mov dword ptr [esp],L007BA7C0 call SUB_L004AF96F mov esi,L007BA1D8 mov dword ptr [esp],L007BA7E0 call SUB_L004AF96F mov esi,L007BA1FC mov dword ptr [esp],L007BA800 call SUB_L004AF96F mov edi,[esp+34h] mov esi,L007BA220 mov ebx,L007BA620 call SUB_L004AD057 add edi,[esp+38h] mov esi,L007BA260 mov ebx,L007BA620 call SUB_L004AD057 add edi,[esp+38h] mov esi,L007BA2A0 mov ebx,L007BA640 call SUB_L004AD057 add edi,[esp+38h] mov esi,L007BA2E0 mov ebx,L007BA640 call SUB_L004AD057 add edi,[esp+38h] mov esi,L007BA320 mov ebx,L007BA660 call SUB_L004AD057 add edi,[esp+38h] mov esi,L007BA360 mov ebx,L007BA660 call SUB_L004AD057 add edi,[esp+38h] mov esi,L007BA3A0 mov ebx,L007BA680 call SUB_L004AD057 add edi,[esp+38h] mov esi,L007BA3E0 mov ebx,L007BA680 call SUB_L004AD057 add edi,[esp+38h] mov esi,L007BA420 mov ebx,L007BA6A0 call SUB_L004AD057 add edi,[esp+38h] mov esi,L007BA460 mov ebx,L007BA6A0 call SUB_L004AD057 add edi,[esp+38h] mov esi,L007BA4A0 mov ebx,L007BA6C0 call SUB_L004AD057 add edi,[esp+38h] mov esi,L007BA4E0 mov ebx,L007BA6C0 call SUB_L004AD057 add edi,[esp+38h] mov esi,L007BA520 mov ebx,L007BA6E0 call SUB_L004AD057 add edi,[esp+38h] mov esi,L007BA560 mov ebx,L007BA6E0 call SUB_L004AD057 add edi,[esp+38h] mov esi,L007BA5A0 mov ebx,L007BA700 call SUB_L004AD057 add edi,[esp+38h] mov esi,L007BA5E0 mov ebx,L007BA700 call SUB_L004AD057 add esp,00000014h pop ebp pop edi pop esi pop edx pop ecx pop ebx retn ;------------------------------------------------------------------------------ SUB_L004AE250: push ebx push ecx push edx push esi push edi push ebp call SUB_L004AEDD5 mov edi,[esp+1Ch] mov esi,L007BA220 mov ebx,L007BA620 call SUB_L004ACE2C add edi,[esp+20h] mov esi,L007BA260 mov ebx,L007BA620 call SUB_L004ACE2C add edi,[esp+20h] mov esi,L007BA2A0 mov ebx,L007BA640 call SUB_L004ACE2C add edi,[esp+20h] mov esi,L007BA2E0 mov ebx,L007BA640 call SUB_L004ACE2C add edi,[esp+20h] mov esi,L007BA320 mov ebx,L007BA660 call SUB_L004ACE2C add edi,[esp+20h] mov esi,L007BA360 mov ebx,L007BA660 call SUB_L004ACE2C add edi,[esp+20h] mov esi,L007BA3A0 mov ebx,L007BA680 call SUB_L004ACE2C add edi,[esp+20h] mov esi,L007BA3E0 mov ebx,L007BA680 call SUB_L004ACE2C add edi,[esp+20h] mov esi,L007BA420 mov ebx,L007BA6A0 call SUB_L004ACE2C add edi,[esp+20h] mov esi,L007BA460 mov ebx,L007BA6A0 call SUB_L004ACE2C add edi,[esp+20h] mov esi,L007BA4A0 mov ebx,L007BA6C0 call SUB_L004ACE2C add edi,[esp+20h] mov esi,L007BA4E0 mov ebx,L007BA6C0 call SUB_L004ACE2C add edi,[esp+20h] mov esi,L007BA520 mov ebx,L007BA6E0 call SUB_L004ACE2C add edi,[esp+20h] mov esi,L007BA560 mov ebx,L007BA6E0 call SUB_L004ACE2C add edi,[esp+20h] mov esi,L007BA5A0 mov ebx,L007BA700 call SUB_L004ACE2C add edi,[esp+20h] mov esi,L007BA5E0 mov ebx,L007BA700 call SUB_L004ACE2C pop ebp pop edi pop esi pop edx pop ecx pop ebx retn ;------------------------------------------------------------------------------ SUB_L004AE392: push ebx push ecx push edx push esi push edi push ebp call SUB_L004AEDD5 mov ebp,[esp+1Ch] mov esi,L007BA220 mov edi,L007BA620 call SUB_L004AE9C0 mov eax,[esp+20h] mov esi,L007BA260 mov edi,L007BA620 add ebp,eax call SUB_L004AE9C0 mov eax,[esp+20h] mov esi,L007BA2A0 mov edi,L007BA640 add ebp,eax call SUB_L004AE9C0 mov eax,[esp+20h] mov esi,L007BA2E0 mov edi,L007BA640 add ebp,eax call SUB_L004AE9C0 mov eax,[esp+20h] mov esi,L007BA320 mov edi,L007BA660 add ebp,eax call SUB_L004AE9C0 mov eax,[esp+20h] mov esi,L007BA360 mov edi,L007BA660 add ebp,eax call SUB_L004AE9C0 mov eax,[esp+20h] mov esi,L007BA3A0 mov edi,L007BA680 add ebp,eax call SUB_L004AE9C0 mov eax,[esp+20h] mov esi,L007BA3E0 mov edi,L007BA680 add ebp,eax call SUB_L004AE9C0 mov eax,[esp+20h] mov esi,L007BA420 mov edi,L007BA6A0 add ebp,eax call SUB_L004AE9C0 mov eax,[esp+20h] mov esi,L007BA460 mov edi,L007BA6A0 add ebp,eax call SUB_L004AE9C0 mov eax,[esp+20h] mov esi,L007BA4A0 mov edi,L007BA6C0 add ebp,eax call SUB_L004AE9C0 mov eax,[esp+20h] mov esi,L007BA4E0 mov edi,L007BA6C0 add ebp,eax call SUB_L004AE9C0 mov eax,[esp+20h] mov esi,L007BA520 mov edi,L007BA6E0 add ebp,eax call SUB_L004AE9C0 mov eax,[esp+20h] mov esi,L007BA560 mov edi,L007BA6E0 add ebp,eax call SUB_L004AE9C0 mov eax,[esp+20h] mov esi,L007BA5A0 mov edi,L007BA700 add ebp,eax call SUB_L004AE9C0 mov eax,[esp+20h] mov esi,L007BA5E0 mov edi,L007BA700 add ebp,eax call SUB_L004AE9C0 pop ebp pop edi pop esi pop edx pop ecx pop ebx retn ;------------------------------------------------------------------------------ SUB_L004AE4F2: push ebx push ecx push edx push esi push edi push ebp call SUB_L004AEDD5 mov ebp,[esp+1Ch] mov esi,L007BA220 mov edi,L007BA620 call SUB_L004AE6ED mov eax,[esp+20h] mov esi,L007BA260 mov edi,L007BA620 add ebp,eax call SUB_L004AE6ED mov eax,[esp+20h] mov esi,L007BA2A0 mov edi,L007BA640 add ebp,eax call SUB_L004AE6ED mov eax,[esp+20h] mov esi,L007BA2E0 mov edi,L007BA640 add ebp,eax call SUB_L004AE6ED mov eax,[esp+20h] mov esi,L007BA320 mov edi,L007BA660 add ebp,eax call SUB_L004AE6ED mov eax,[esp+20h] mov esi,L007BA360 mov edi,L007BA660 add ebp,eax call SUB_L004AE6ED mov eax,[esp+20h] mov esi,L007BA3A0 mov edi,L007BA680 add ebp,eax call SUB_L004AE6ED mov eax,[esp+20h] mov esi,L007BA3E0 mov edi,L007BA680 add ebp,eax call SUB_L004AE6ED mov eax,[esp+20h] mov esi,L007BA420 mov edi,L007BA6A0 add ebp,eax call SUB_L004AE6ED mov eax,[esp+20h] mov esi,L007BA460 mov edi,L007BA6A0 add ebp,eax call SUB_L004AE6ED mov eax,[esp+20h] mov esi,L007BA4A0 mov edi,L007BA6C0 add ebp,eax call SUB_L004AE6ED mov eax,[esp+20h] mov esi,L007BA4E0 mov edi,L007BA6C0 add ebp,eax call SUB_L004AE6ED mov eax,[esp+20h] mov esi,L007BA520 mov edi,L007BA6E0 add ebp,eax call SUB_L004AE6ED mov eax,[esp+20h] mov esi,L007BA560 mov edi,L007BA6E0 add ebp,eax call SUB_L004AE6ED mov eax,[esp+20h] mov esi,L007BA5A0 mov edi,L007BA700 add ebp,eax call SUB_L004AE6ED mov eax,[esp+20h] mov esi,L007BA5E0 mov edi,L007BA700 add ebp,eax call SUB_L004AE6ED pop ebp pop edi pop esi pop edx pop ecx pop ebx retn ;------------------------------------------------------------------------------ SUB_L004AE652: push ebx push ecx push edx push esi push edi push ebp mov ebp,[L007BC120] mov edi,[L007BC124] mov edx,edi mov ecx,edi shr edx,05h mov eax,[ebp+edx*4+00h] mov edx,[ebp+edx*4+04h] shld eax,edx,cl shr eax,1Fh add edi,00000001h cmp eax,00000001h jnz L004AE6DA mov edx,edi mov ecx,edi shr edx,05h mov eax,[ebp+edx*4+00h] mov edx,[ebp+edx*4+04h] shld eax,edx,cl shr eax,1Fh add edi,00000001h mov edx,edi mov ecx,edi shr edx,05h mov eax,[ebp+edx*4+00h] mov edx,[ebp+edx*4+04h] shld eax,edx,cl shr eax,1Ch add edi,00000004h mov ebx,[esp+1Ch] mov [ebx],eax mov edx,edi mov ecx,edi shr edx,05h mov eax,[ebp+edx*4+00h] mov edx,[ebp+edx*4+04h] shld eax,edx,cl shr eax,1Ch add edi,00000004h mov ebx,[esp+20h] mov [ebx],eax mov eax,00000001h L004AE6DA: mov [L007BC120],ebp mov [L007BC124],edi pop ebp pop edi pop esi pop edx pop ecx pop ebx retn ;------------------------------------------------------------------------------ SUB_L004AE6ED: push edi mov ecx,[edi+00000100h] mov edx,[edi] mov eax,[esi+04h] mov edi,[L007BD32C+ecx*4] mov ebx,[L007BCF2C+edx*4] sub edi,ebx mov ebx,[L007BCB2C+ecx*4] lea ecx,[ebx+L007BA9A0] mov ebx,[L007BC72C+edx*4] lea edx,[ebx+L007BB944] mov ebx,[ecx+eax*4] add ebx,[edx+eax*4] mov eax,[edi+eax*4] add ebx,eax mov eax,[esi] mov [ebp+04h],ebx mov ebx,[edx+eax*4] mov edx,[ecx+eax*4] mov ecx,[edi+eax*4] mov edi,[esp] add ebx,edx add ebx,ecx mov [ebp+00h],ebx mov ecx,[edi+00000104h] mov edx,[edi+04h] mov eax,[esi+0Ch] mov edi,[L007BD32C+ecx*4] mov ebx,[L007BCF2C+edx*4] sub edi,ebx mov ebx,[L007BCB2C+ecx*4] lea ecx,[ebx+L007BA9A0] mov ebx,[L007BC72C+edx*4] lea edx,[ebx+L007BB944] mov ebx,[ecx+eax*4] add ebx,[edx+eax*4] mov eax,[edi+eax*4] add ebx,eax mov eax,[esi+08h] mov [ebp+0Ch],ebx mov ebx,[edx+eax*4] mov edx,[ecx+eax*4] mov ecx,[edi+eax*4] mov edi,[esp] add ebx,edx add ebx,ecx mov [ebp+08h],ebx mov ecx,[edi+00000108h] mov edx,[edi+08h] mov eax,[esi+14h] mov edi,[L007BD32C+ecx*4] mov ebx,[L007BCF2C+edx*4] sub edi,ebx mov ebx,[L007BCB2C+ecx*4] lea ecx,[ebx+L007BA9A0] mov ebx,[L007BC72C+edx*4] lea edx,[ebx+L007BB944] mov ebx,[ecx+eax*4] add ebx,[edx+eax*4] mov eax,[edi+eax*4] add ebx,eax mov eax,[esi+10h] mov [ebp+14h],ebx mov ebx,[edx+eax*4] mov edx,[ecx+eax*4] mov ecx,[edi+eax*4] mov edi,[esp] add ebx,edx add ebx,ecx mov [ebp+10h],ebx mov ecx,[edi+0000010Ch] mov edx,[edi+0Ch] mov eax,[esi+1Ch] mov edi,[L007BD32C+ecx*4] mov ebx,[L007BCF2C+edx*4] sub edi,ebx mov ebx,[L007BCB2C+ecx*4] lea ecx,[ebx+L007BA9A0] mov ebx,[L007BC72C+edx*4] lea edx,[ebx+L007BB944] mov ebx,[ecx+eax*4] add ebx,[edx+eax*4] mov eax,[edi+eax*4] add ebx,eax mov eax,[esi+18h] mov [ebp+1Ch],ebx mov ebx,[edx+eax*4] mov edx,[ecx+eax*4] mov ecx,[edi+eax*4] mov edi,[esp] add ebx,edx add ebx,ecx mov [ebp+18h],ebx mov ecx,[edi+00000110h] mov edx,[edi+10h] mov eax,[esi+24h] mov edi,[L007BD32C+ecx*4] mov ebx,[L007BCF2C+edx*4] sub edi,ebx mov ebx,[L007BCB2C+ecx*4] lea ecx,[ebx+L007BA9A0] mov ebx,[L007BC72C+edx*4] lea edx,[ebx+L007BB944] mov ebx,[ecx+eax*4] add ebx,[edx+eax*4] mov eax,[edi+eax*4] add ebx,eax mov eax,[esi+20h] mov [ebp+24h],ebx mov ebx,[edx+eax*4] mov edx,[ecx+eax*4] mov ecx,[edi+eax*4] mov edi,[esp] add ebx,edx add ebx,ecx mov [ebp+20h],ebx mov ecx,[edi+00000114h] mov edx,[edi+14h] mov eax,[esi+2Ch] mov edi,[L007BD32C+ecx*4] mov ebx,[L007BCF2C+edx*4] sub edi,ebx mov ebx,[L007BCB2C+ecx*4] lea ecx,[ebx+L007BA9A0] mov ebx,[L007BC72C+edx*4] lea edx,[ebx+L007BB944] mov ebx,[ecx+eax*4] add ebx,[edx+eax*4] mov eax,[edi+eax*4] add ebx,eax mov eax,[esi+28h] mov [ebp+2Ch],ebx mov ebx,[edx+eax*4] mov edx,[ecx+eax*4] mov ecx,[edi+eax*4] mov edi,[esp] add ebx,edx add ebx,ecx mov [ebp+28h],ebx mov ecx,[edi+00000118h] mov edx,[edi+18h] mov eax,[esi+34h] mov edi,[L007BD32C+ecx*4] mov ebx,[L007BCF2C+edx*4] sub edi,ebx mov ebx,[L007BCB2C+ecx*4] lea ecx,[ebx+L007BA9A0] mov ebx,[L007BC72C+edx*4] lea edx,[ebx+L007BB944] mov ebx,[ecx+eax*4] add ebx,[edx+eax*4] mov eax,[edi+eax*4] add ebx,eax mov eax,[esi+30h] mov [ebp+34h],ebx mov ebx,[edx+eax*4] mov edx,[ecx+eax*4] mov ecx,[edi+eax*4] mov edi,[esp] add ebx,edx add ebx,ecx mov [ebp+30h],ebx mov ecx,[edi+0000011Ch] mov edx,[edi+1Ch] mov eax,[esi+3Ch] mov edi,[L007BD32C+ecx*4] mov ebx,[L007BCF2C+edx*4] sub edi,ebx mov ebx,[L007BCB2C+ecx*4] lea ecx,[ebx+L007BA9A0] mov ebx,[L007BC72C+edx*4] lea edx,[ebx+L007BB944] mov ebx,[ecx+eax*4] add ebx,[edx+eax*4] mov eax,[edi+eax*4] add ebx,eax mov eax,[esi+38h] mov [ebp+3Ch],ebx mov ebx,[edx+eax*4] mov edx,[ecx+eax*4] mov ecx,[edi+eax*4] mov edi,[esp] add ebx,edx add ebx,ecx mov [ebp+38h],ebx add esp,00000004h retn ;------------------------------------------------------------------------------ SUB_L004AE9C0: push edi mov ecx,[edi+00000100h] mov edx,[edi] mov eax,[esi+04h] mov edi,[L007BD32C+ecx*4] mov ebx,[L007BCF2C+edx*4] sub edi,ebx mov ebx,[L007BCB2C+ecx*4] lea ecx,[ebx+L007BA9A0] mov ebx,[L007BC72C+edx*4] lea edx,[ebx+L007BB944] mov ebx,[ecx+eax*4] add ebx,[edx+eax*4] mov eax,[edi+eax*4] add ebx,eax mov eax,[esi] shl ebx,10h mov edx,[edx+eax*4] add ebx,[ecx+eax*4] mov eax,[edi+eax*4] mov edi,[esp] add ebx,edx add ebx,eax mov [ebp+00h],ebx mov ecx,[edi+00000104h] mov edx,[edi+04h] mov eax,[esi+0Ch] mov edi,[L007BD32C+ecx*4] mov ebx,[L007BCF2C+edx*4] sub edi,ebx mov ebx,[L007BCB2C+ecx*4] lea ecx,[ebx+L007BA9A0] mov ebx,[L007BC72C+edx*4] lea edx,[ebx+L007BB944] mov ebx,[ecx+eax*4] add ebx,[edx+eax*4] mov eax,[edi+eax*4] add ebx,eax mov eax,[esi+08h] shl ebx,10h mov edx,[edx+eax*4] add ebx,[ecx+eax*4] mov eax,[edi+eax*4] mov edi,[esp] add ebx,edx add ebx,eax mov [ebp+04h],ebx mov ecx,[edi+00000108h] mov edx,[edi+08h] mov eax,[esi+14h] mov edi,[L007BD32C+ecx*4] mov ebx,[L007BCF2C+edx*4] sub edi,ebx mov ebx,[L007BCB2C+ecx*4] lea ecx,[ebx+L007BA9A0] mov ebx,[L007BC72C+edx*4] lea edx,[ebx+L007BB944] mov ebx,[ecx+eax*4] add ebx,[edx+eax*4] mov eax,[edi+eax*4] add ebx,eax mov eax,[esi+10h] shl ebx,10h mov edx,[edx+eax*4] add ebx,[ecx+eax*4] mov eax,[edi+eax*4] mov edi,[esp] add ebx,edx add ebx,eax mov [ebp+08h],ebx mov ecx,[edi+0000010Ch] mov edx,[edi+0Ch] mov eax,[esi+1Ch] mov edi,[L007BD32C+ecx*4] mov ebx,[L007BCF2C+edx*4] sub edi,ebx mov ebx,[L007BCB2C+ecx*4] lea ecx,[ebx+L007BA9A0] mov ebx,[L007BC72C+edx*4] lea edx,[ebx+L007BB944] mov ebx,[ecx+eax*4] add ebx,[edx+eax*4] mov eax,[edi+eax*4] add ebx,eax mov eax,[esi+18h] shl ebx,10h mov edx,[edx+eax*4] add ebx,[ecx+eax*4] mov eax,[edi+eax*4] mov edi,[esp] add ebx,edx add ebx,eax mov [ebp+0Ch],ebx mov ecx,[edi+00000110h] mov edx,[edi+10h] mov eax,[esi+24h] mov edi,[L007BD32C+ecx*4] mov ebx,[L007BCF2C+edx*4] sub edi,ebx mov ebx,[L007BCB2C+ecx*4] lea ecx,[ebx+L007BA9A0] mov ebx,[L007BC72C+edx*4] lea edx,[ebx+L007BB944] mov ebx,[ecx+eax*4] add ebx,[edx+eax*4] mov eax,[edi+eax*4] add ebx,eax mov eax,[esi+20h] shl ebx,10h mov edx,[edx+eax*4] add ebx,[ecx+eax*4] mov eax,[edi+eax*4] mov edi,[esp] add ebx,edx add ebx,eax mov [ebp+10h],ebx mov ecx,[edi+00000114h] mov edx,[edi+14h] mov eax,[esi+2Ch] mov edi,[L007BD32C+ecx*4] mov ebx,[L007BCF2C+edx*4] sub edi,ebx mov ebx,[L007BCB2C+ecx*4] lea ecx,[ebx+L007BA9A0] mov ebx,[L007BC72C+edx*4] lea edx,[ebx+L007BB944] mov ebx,[ecx+eax*4] add ebx,[edx+eax*4] mov eax,[edi+eax*4] add ebx,eax mov eax,[esi+28h] shl ebx,10h mov edx,[edx+eax*4] add ebx,[ecx+eax*4] mov eax,[edi+eax*4] mov edi,[esp] add ebx,edx add ebx,eax mov [ebp+14h],ebx mov ecx,[edi+00000118h] mov edx,[edi+18h] mov eax,[esi+34h] mov edi,[L007BD32C+ecx*4] mov ebx,[L007BCF2C+edx*4] sub edi,ebx mov ebx,[L007BCB2C+ecx*4] lea ecx,[ebx+L007BA9A0] mov ebx,[L007BC72C+edx*4] lea edx,[ebx+L007BB944] mov ebx,[ecx+eax*4] add ebx,[edx+eax*4] mov eax,[edi+eax*4] add ebx,eax mov eax,[esi+30h] shl ebx,10h mov edx,[edx+eax*4] add ebx,[ecx+eax*4] mov eax,[edi+eax*4] mov edi,[esp] add ebx,edx add ebx,eax mov [ebp+18h],ebx mov ecx,[edi+0000011Ch] mov edx,[edi+1Ch] mov eax,[esi+3Ch] mov edi,[L007BD32C+ecx*4] mov ebx,[L007BCF2C+edx*4] sub edi,ebx mov ebx,[L007BCB2C+ecx*4] lea ecx,[ebx+L007BA9A0] mov ebx,[L007BC72C+edx*4] lea edx,[ebx+L007BB944] mov ebx,[ecx+eax*4] add ebx,[edx+eax*4] mov eax,[edi+eax*4] add ebx,eax mov eax,[esi+38h] shl ebx,10h mov edx,[edx+eax*4] add ebx,[ecx+eax*4] mov eax,[edi+eax*4] mov edi,[esp] add ebx,edx add ebx,eax mov [ebp+1Ch],ebx add esp,00000004h retn ;------------------------------------------------------------------------------ SUB_L004AEC93: push ebx push ecx push edx push esi push edi push ebp call SUB_L004AEDD5 mov edi,[esp+1Ch] mov esi,L007BA220 mov ebx,L007BA620 call SUB_L004AD057 add edi,[esp+20h] mov esi,L007BA260 mov ebx,L007BA620 call SUB_L004AD057 add edi,[esp+20h] mov esi,L007BA2A0 mov ebx,L007BA640 call SUB_L004AD057 add edi,[esp+20h] mov esi,L007BA2E0 mov ebx,L007BA640 call SUB_L004AD057 add edi,[esp+20h] mov esi,L007BA320 mov ebx,L007BA660 call SUB_L004AD057 add edi,[esp+20h] mov esi,L007BA360 mov ebx,L007BA660 call SUB_L004AD057 add edi,[esp+20h] mov esi,L007BA3A0 mov ebx,L007BA680 call SUB_L004AD057 add edi,[esp+20h] mov esi,L007BA3E0 mov ebx,L007BA680 call SUB_L004AD057 add edi,[esp+20h] mov esi,L007BA420 mov ebx,L007BA6A0 call SUB_L004AD057 add edi,[esp+20h] mov esi,L007BA460 mov ebx,L007BA6A0 call SUB_L004AD057 add edi,[esp+20h] mov esi,L007BA4A0 mov ebx,L007BA6C0 call SUB_L004AD057 add edi,[esp+20h] mov esi,L007BA4E0 mov ebx,L007BA6C0 call SUB_L004AD057 add edi,[esp+20h] mov esi,L007BA520 mov ebx,L007BA6E0 call SUB_L004AD057 add edi,[esp+20h] mov esi,L007BA560 mov ebx,L007BA6E0 call SUB_L004AD057 add edi,[esp+20h] mov esi,L007BA5A0 mov ebx,L007BA700 call SUB_L004AD057 add edi,[esp+20h] mov esi,L007BA5E0 mov ebx,L007BA700 call SUB_L004AD057 pop ebp pop edi pop esi pop edx pop ecx pop ebx retn ;------------------------------------------------------------------------------ SUB_L004AEDD5: sub esp,00000014h mov ebp,[L007BC120] mov edi,[L007BC124] mov edx,edi mov ecx,edi shr edx,05h mov eax,[ebp+edx*4+00h] mov edx,[ebp+edx*4+04h] shld eax,edx,cl shr eax,19h movzx ebx,[eax+L007BDAC0] mov edx,ebx shr ebx,04h and edx,0000000Fh xor eax,eax add edi,edx cmp ebx,00000000h jz L004AEE40 mov edx,edi mov ecx,edi shr edx,05h mov eax,[ebp+edx*4+00h] mov edx,[ebp+edx*4+04h] shld eax,edx,cl mov ecx,00000020h sub ecx,ebx add edi,ebx shr eax,cl mov ecx,ebx dec ebx bt eax,ebx jc L004AEE40 mov edx,00000001h shl edx,cl dec edx sub eax,edx L004AEE40: mov edx,[esp+3Ch] mov ebx,[edx] add eax,ebx mov [edx],eax call SUB_L004ACB17 mov esi,L007BA000 mov dword ptr [esp],L007BA100 call SUB_L004AF742 mov esi,L007BA020 mov dword ptr [esp],L007BA104 call SUB_L004AF742 mov esi,L007BA040 mov dword ptr [esp],L007BA108 call SUB_L004AF742 mov esi,L007BA060 mov dword ptr [esp],L007BA10C call SUB_L004AF742 mov esi,L007BA080 mov dword ptr [esp],L007BA110 call SUB_L004AF742 mov esi,L007BA0A0 mov dword ptr [esp],L007BA114 call SUB_L004AF742 mov esi,L007BA0C0 mov dword ptr [esp],L007BA118 call SUB_L004AF742 mov esi,L007BA0E0 mov dword ptr [esp],L007BA11C call SUB_L004AF742 mov esi,L007BA100 mov dword ptr [esp],L007BA220 call SUB_L004AF96F mov esi,L007BA124 mov dword ptr [esp],L007BA260 call SUB_L004AF96F mov esi,L007BA148 mov dword ptr [esp],L007BA2A0 call SUB_L004AF96F mov esi,L007BA16C mov dword ptr [esp],L007BA2E0 call SUB_L004AF96F mov esi,L007BA190 mov dword ptr [esp],L007BA320 call SUB_L004AF96F mov esi,L007BA1B4 mov dword ptr [esp],L007BA360 call SUB_L004AF96F mov esi,L007BA1D8 mov dword ptr [esp],L007BA3A0 call SUB_L004AF96F mov esi,L007BA1FC mov dword ptr [esp],L007BA3E0 call SUB_L004AF96F mov ebp,[L007BC120] mov edi,[L007BC124] mov edx,edi mov ecx,edi shr edx,05h mov eax,[ebp+edx*4+00h] mov edx,[ebp+edx*4+04h] shld eax,edx,cl shr eax,19h movzx ebx,[eax+L007BDAC0] mov edx,ebx shr ebx,04h and edx,0000000Fh xor eax,eax add edi,edx cmp ebx,00000000h jz L004AEFC7 mov edx,edi mov ecx,edi shr edx,05h mov eax,[ebp+edx*4+00h] mov edx,[ebp+edx*4+04h] shld eax,edx,cl mov ecx,00000020h sub ecx,ebx add edi,ebx shr eax,cl mov ecx,ebx dec ebx bt eax,ebx jc L004AEFC7 mov edx,00000001h shl edx,cl dec edx sub eax,edx L004AEFC7: mov edx,[esp+3Ch] mov ebx,[edx] add eax,ebx mov [edx],eax call SUB_L004ACB17 mov esi,L007BA000 mov dword ptr [esp],L007BA100 call SUB_L004AF742 mov esi,L007BA020 mov dword ptr [esp],L007BA104 call SUB_L004AF742 mov esi,L007BA040 mov dword ptr [esp],L007BA108 call SUB_L004AF742 mov esi,L007BA060 mov dword ptr [esp],L007BA10C call SUB_L004AF742 mov esi,L007BA080 mov dword ptr [esp],L007BA110 call SUB_L004AF742 mov esi,L007BA0A0 mov dword ptr [esp],L007BA114 call SUB_L004AF742 mov esi,L007BA0C0 mov dword ptr [esp],L007BA118 call SUB_L004AF742 mov esi,L007BA0E0 mov dword ptr [esp],L007BA11C call SUB_L004AF742 mov esi,L007BA100 mov dword ptr [esp],L007BA240 call SUB_L004AF96F mov esi,L007BA124 mov dword ptr [esp],L007BA280 call SUB_L004AF96F mov esi,L007BA148 mov dword ptr [esp],L007BA2C0 call SUB_L004AF96F mov esi,L007BA16C mov dword ptr [esp],L007BA300 call SUB_L004AF96F mov esi,L007BA190 mov dword ptr [esp],L007BA340 call SUB_L004AF96F mov esi,L007BA1B4 mov dword ptr [esp],L007BA380 call SUB_L004AF96F mov esi,L007BA1D8 mov dword ptr [esp],L007BA3C0 call SUB_L004AF96F mov esi,L007BA1FC mov dword ptr [esp],L007BA400 call SUB_L004AF96F mov ebp,[L007BC120] mov edi,[L007BC124] mov edx,edi mov ecx,edi shr edx,05h mov eax,[ebp+edx*4+00h] mov edx,[ebp+edx*4+04h] shld eax,edx,cl shr eax,19h movzx ebx,[eax+L007BDAC0] mov edx,ebx shr ebx,04h and edx,0000000Fh xor eax,eax add edi,edx cmp ebx,00000000h jz L004AF14E mov edx,edi mov ecx,edi shr edx,05h mov eax,[ebp+edx*4+00h] mov edx,[ebp+edx*4+04h] shld eax,edx,cl mov ecx,00000020h sub ecx,ebx add edi,ebx shr eax,cl mov ecx,ebx dec ebx bt eax,ebx jc L004AF14E mov edx,00000001h shl edx,cl dec edx sub eax,edx L004AF14E: mov edx,[esp+3Ch] mov ebx,[edx] add eax,ebx mov [edx],eax call SUB_L004ACB17 mov esi,L007BA000 mov dword ptr [esp],L007BA100 call SUB_L004AF742 mov esi,L007BA020 mov dword ptr [esp],L007BA104 call SUB_L004AF742 mov esi,L007BA040 mov dword ptr [esp],L007BA108 call SUB_L004AF742 mov esi,L007BA060 mov dword ptr [esp],L007BA10C call SUB_L004AF742 mov esi,L007BA080 mov dword ptr [esp],L007BA110 call SUB_L004AF742 mov esi,L007BA0A0 mov dword ptr [esp],L007BA114 call SUB_L004AF742 mov esi,L007BA0C0 mov dword ptr [esp],L007BA118 call SUB_L004AF742 mov esi,L007BA0E0 mov dword ptr [esp],L007BA11C call SUB_L004AF742 mov esi,L007BA100 mov dword ptr [esp],L007BA420 call SUB_L004AF96F mov esi,L007BA124 mov dword ptr [esp],L007BA460 call SUB_L004AF96F mov esi,L007BA148 mov dword ptr [esp],L007BA4A0 call SUB_L004AF96F mov esi,L007BA16C mov dword ptr [esp],L007BA4E0 call SUB_L004AF96F mov esi,L007BA190 mov dword ptr [esp],L007BA520 call SUB_L004AF96F mov esi,L007BA1B4 mov dword ptr [esp],L007BA560 call SUB_L004AF96F mov esi,L007BA1D8 mov dword ptr [esp],L007BA5A0 call SUB_L004AF96F mov esi,L007BA1FC mov dword ptr [esp],L007BA5E0 call SUB_L004AF96F mov ebp,[L007BC120] mov edi,[L007BC124] mov edx,edi mov ecx,edi shr edx,05h mov eax,[ebp+edx*4+00h] mov edx,[ebp+edx*4+04h] shld eax,edx,cl shr eax,19h movzx ebx,[eax+L007BDAC0] mov edx,ebx shr ebx,04h and edx,0000000Fh xor eax,eax add edi,edx cmp ebx,00000000h jz L004AF2D5 mov edx,edi mov ecx,edi shr edx,05h mov eax,[ebp+edx*4+00h] mov edx,[ebp+edx*4+04h] shld eax,edx,cl mov ecx,00000020h sub ecx,ebx add edi,ebx shr eax,cl mov ecx,ebx dec ebx bt eax,ebx jc L004AF2D5 mov edx,00000001h shl edx,cl dec edx sub eax,edx L004AF2D5: mov edx,[esp+3Ch] mov ebx,[edx] add eax,ebx mov [edx],eax call SUB_L004ACB17 mov esi,L007BA000 mov dword ptr [esp],L007BA100 call SUB_L004AF742 mov esi,L007BA020 mov dword ptr [esp],L007BA104 call SUB_L004AF742 mov esi,L007BA040 mov dword ptr [esp],L007BA108 call SUB_L004AF742 mov esi,L007BA060 mov dword ptr [esp],L007BA10C call SUB_L004AF742 mov esi,L007BA080 mov dword ptr [esp],L007BA110 call SUB_L004AF742 mov esi,L007BA0A0 mov dword ptr [esp],L007BA114 call SUB_L004AF742 mov esi,L007BA0C0 mov dword ptr [esp],L007BA118 call SUB_L004AF742 mov esi,L007BA0E0 mov dword ptr [esp],L007BA11C call SUB_L004AF742 mov esi,L007BA100 mov dword ptr [esp],L007BA440 call SUB_L004AF96F mov esi,L007BA124 mov dword ptr [esp],L007BA480 call SUB_L004AF96F mov esi,L007BA148 mov dword ptr [esp],L007BA4C0 call SUB_L004AF96F mov esi,L007BA16C mov dword ptr [esp],L007BA500 call SUB_L004AF96F mov esi,L007BA190 mov dword ptr [esp],L007BA540 call SUB_L004AF96F mov esi,L007BA1B4 mov dword ptr [esp],L007BA580 call SUB_L004AF96F mov esi,L007BA1D8 mov dword ptr [esp],L007BA5C0 call SUB_L004AF96F mov esi,L007BA1FC mov dword ptr [esp],L007BA600 call SUB_L004AF96F mov ebp,[L007BC120] mov edi,[L007BC124] mov edx,edi mov ecx,edi shr edx,05h mov eax,[ebp+edx*4+00h] mov edx,[ebp+edx*4+04h] shld eax,edx,cl shr eax,18h movzx ebx,[eax+L007BDB40] mov edx,ebx shr ebx,04h and edx,0000000Fh xor eax,eax add edi,edx cmp ebx,00000000h jz L004AF45C mov edx,edi mov ecx,edi shr edx,05h mov eax,[ebp+edx*4+00h] mov edx,[ebp+edx*4+04h] shld eax,edx,cl mov ecx,00000020h sub ecx,ebx add edi,ebx shr eax,cl mov ecx,ebx dec ebx bt eax,ebx jc L004AF45C mov edx,00000001h shl edx,cl dec edx sub eax,edx L004AF45C: mov edx,[esp+3Ch] mov ebx,[edx+04h] add eax,ebx mov [edx+04h],eax call SUB_L004ACB17 mov esi,L007BA000 mov dword ptr [esp],L007BA100 call SUB_L004AF742 mov esi,L007BA020 mov dword ptr [esp],L007BA104 call SUB_L004AF742 mov esi,L007BA040 mov dword ptr [esp],L007BA108 call SUB_L004AF742 mov esi,L007BA060 mov dword ptr [esp],L007BA10C call SUB_L004AF742 mov esi,L007BA080 mov dword ptr [esp],L007BA110 call SUB_L004AF742 mov esi,L007BA0A0 mov dword ptr [esp],L007BA114 call SUB_L004AF742 mov esi,L007BA0C0 mov dword ptr [esp],L007BA118 call SUB_L004AF742 mov esi,L007BA0E0 mov dword ptr [esp],L007BA11C call SUB_L004AF742 mov esi,L007BA100 mov dword ptr [esp],L007BA620 call SUB_L004AF96F mov esi,L007BA124 mov dword ptr [esp],L007BA640 call SUB_L004AF96F mov esi,L007BA148 mov dword ptr [esp],L007BA660 call SUB_L004AF96F mov esi,L007BA16C mov dword ptr [esp],L007BA680 call SUB_L004AF96F mov esi,L007BA190 mov dword ptr [esp],L007BA6A0 call SUB_L004AF96F mov esi,L007BA1B4 mov dword ptr [esp],L007BA6C0 call SUB_L004AF96F mov esi,L007BA1D8 mov dword ptr [esp],L007BA6E0 call SUB_L004AF96F mov esi,L007BA1FC mov dword ptr [esp],L007BA700 call SUB_L004AF96F mov ebp,[L007BC120] mov edi,[L007BC124] mov edx,edi mov ecx,edi shr edx,05h mov eax,[ebp+edx*4+00h] mov edx,[ebp+edx*4+04h] shld eax,edx,cl shr eax,18h movzx ebx,[eax+L007BDB40] mov edx,ebx shr ebx,04h and edx,0000000Fh xor eax,eax add edi,edx cmp ebx,00000000h jz L004AF5E5 mov edx,edi mov ecx,edi shr edx,05h mov eax,[ebp+edx*4+00h] mov edx,[ebp+edx*4+04h] shld eax,edx,cl mov ecx,00000020h sub ecx,ebx add edi,ebx shr eax,cl mov ecx,ebx dec ebx bt eax,ebx jc L004AF5E5 mov edx,00000001h shl edx,cl dec edx sub eax,edx L004AF5E5: mov edx,[esp+3Ch] mov ebx,[edx+08h] add eax,ebx mov [edx+08h],eax call SUB_L004ACB17 mov esi,L007BA000 mov dword ptr [esp],L007BA100 call SUB_L004AF742 mov esi,L007BA020 mov dword ptr [esp],L007BA104 call SUB_L004AF742 mov esi,L007BA040 mov dword ptr [esp],L007BA108 call SUB_L004AF742 mov esi,L007BA060 mov dword ptr [esp],L007BA10C call SUB_L004AF742 mov esi,L007BA080 mov dword ptr [esp],L007BA110 call SUB_L004AF742 mov esi,L007BA0A0 mov dword ptr [esp],L007BA114 call SUB_L004AF742 mov esi,L007BA0C0 mov dword ptr [esp],L007BA118 call SUB_L004AF742 mov esi,L007BA0E0 mov dword ptr [esp],L007BA11C call SUB_L004AF742 mov esi,L007BA100 mov dword ptr [esp],L007BA720 call SUB_L004AF96F mov esi,L007BA124 mov dword ptr [esp],L007BA740 call SUB_L004AF96F mov esi,L007BA148 mov dword ptr [esp],L007BA760 call SUB_L004AF96F mov esi,L007BA16C mov dword ptr [esp],L007BA780 call SUB_L004AF96F mov esi,L007BA190 mov dword ptr [esp],L007BA7A0 call SUB_L004AF96F mov esi,L007BA1B4 mov dword ptr [esp],L007BA7C0 call SUB_L004AF96F mov esi,L007BA1D8 mov dword ptr [esp],L007BA7E0 call SUB_L004AF96F mov esi,L007BA1FC mov dword ptr [esp],L007BA800 call SUB_L004AF96F add esp,00000014h retn ;------------------------------------------------------------------------------ SUB_L004AF70A: push ebx push ecx push edx push esi push edi push ebp mov esi,[esp+1Ch] mov edi,[esp+20h] mov ecx,[esp+24h] L004AF71C: xor eax,eax mov al,[esi] mov ah,al xor ebx,ebx mov bl,[esi+01h] mov bh,bl add esi,00000002h shl ebx,10h or eax,ebx mov [edi],eax add edi,00000004h sub ecx,00000002h jnz L004AF71C pop ebp pop edi pop esi pop edx pop ecx pop ebx retn ;------------------------------------------------------------------------------ SUB_L004AF742: mov ebx,[esi+14h] mov eax,[esi+0Ch] mov ecx,[esi+04h] mov edx,[esi+1Ch] or ecx,ebx or edx,eax mov edi,[esi+08h] mov ebp,[esi+18h] or edx,ecx or edi,ebp mov ecx,[esi+10h] or edx,edi or edx,ecx jz L004AF859 mov ecx,[esi+04h] mov edx,[esi+1Ch] lea edi,[eax+ebx] sub ebx,eax lea eax,[edx+ecx] sub ecx,edx mov [esp+08h],ebx mov [esp+0Ch],ecx lea ebp,[edi+eax] sub eax,edi fild dword ptr [esp+08h] fild dword ptr [esp+0Ch] fld ST(0) fmul dword ptr [L007BD734] fxch ST(2) fadd ST(1),ST fmul dword ptr [L007BD730] fxch ST(1) fmul dword ptr [L007BD738] imul [L007BD72C] fadd ST(1),ST fsubp ST(2),ST fadd dword ptr [L007BD73C] fxch ST(1) fadd dword ptr [L007BD73C] mov eax,[esi+08h] mov ebx,[esi+18h] shl edx,1 fstp qword ptr [esp+10h] fstp qword ptr [esp+08h] mov ecx,[esp+08h] mov edi,[esp+10h] add ecx,edx add edx,edi add edi,ebp mov [esp+0Ch],ecx mov [esp+10h],edx mov [esp+14h],edi mov ecx,[esi] mov edx,[esi+10h] lea esi,[ebx+eax] sub eax,ebx lea ebx,[edx+ecx] sub ecx,edx imul [L007BD72C] shl edx,1 mov edi,[esp+04h] add esi,edx mov ebp,[esp+0Ch] lea eax,[edx+ecx] sub ecx,edx lea edx,[esi+ebx] sub ebx,esi lea esi,[ecx+ebp] sub ecx,ebp mov ebp,[esp+08h] mov [edi+48h],esi mov esi,[esp+10h] mov [edi+000000B4h],ecx lea ecx,[ebx+ebp] sub ebx,ebp mov ebp,[esp+14h] mov [edi+6Ch],ecx mov [edi+00000090h],ebx lea ebx,[esi+eax] sub eax,esi lea ecx,[edx+ebp] sub edx,ebp mov [edi],ecx mov [edi+24h],ebx mov [edi+000000D8h],eax mov [edi+000000FCh],edx retn ;------------------------------------------------------------------------------ L004AF859: mov edi,[esp+04h] mov eax,[esi] mov [edi],eax mov [edi+24h],eax mov [edi+48h],eax mov [edi+6Ch],eax mov [edi+00000090h],eax mov [edi+000000B4h],eax mov [edi+000000D8h],eax mov [edi+000000FCh],eax retn ;------------------------------------------------------------------------------ mov ebx,[esi+14h] mov edx,[edx] mov eax,[esi+0Ch] mov ecx,[esi+04h] mov edx,[esi+1Ch] lea edi,[eax+ebx] sub ebx,eax lea eax,[edx+ecx] sub ecx,edx mov [esp+08h],ebx mov [esp+0Ch],ecx lea ebp,[edi+eax] sub eax,edi fild dword ptr [esp+08h] fild dword ptr [esp+0Ch] fld ST(0) fmul dword ptr [L007BD734] fxch ST(2) fadd ST(1),ST fmul dword ptr [L007BD730] fxch ST(1) fmul dword ptr [L007BD738] imul [L007BD72C] fadd ST(1),ST fsubp ST(2),ST fadd dword ptr [L007BD73C] fxch ST(1) fadd dword ptr [L007BD73C] mov eax,[esi+08h] mov ebx,[esi+18h] shl edx,1 fstp qword ptr [esp+10h] fstp qword ptr [esp+08h] mov ecx,[esp+08h] mov edi,[esp+10h] add ecx,edx add edx,edi add edi,ebp mov [esp+0Ch],ecx mov [esp+10h],edx mov [esp+14h],edi mov ecx,[esi] mov edx,[esi+10h] lea esi,[ebx+eax] sub eax,ebx lea ebx,[edx+ecx] sub ecx,edx imul [L007BD72C] shl edx,1 mov edi,[esp+04h] add esi,edx mov ebp,[esp+0Ch] lea eax,[edx+ecx] sub ecx,edx lea edx,[esi+ebx] sub ebx,esi lea esi,[ecx+ebp] sub ecx,ebp mov ebp,[esp+08h] mov [edi+08h],esi mov esi,[esp+10h] mov [edi+14h],ecx lea ecx,[ebx+ebp] sub ebx,ebp mov ebp,[esp+14h] mov [edi+0Ch],ecx mov [edi+10h],ebx lea ebx,[esi+eax] sub eax,esi lea ecx,[edx+ebp] sub edx,ebp mov [edi],ecx mov [edi+04h],ebx mov [edi+18h],eax mov [edi+1Ch],edx retn ;------------------------------------------------------------------------------ SUB_L004AF96F: mov ebx,[esi+14h] mov eax,[esi+0Ch] mov ecx,[esi+04h] mov edx,[esi+1Ch] lea edi,[eax+ebx] sub ebx,eax lea eax,[edx+ecx] sub ecx,edx mov [esp+08h],ebx mov [esp+0Ch],ecx lea ebp,[edi+eax] sub eax,edi fild dword ptr [esp+08h] fild dword ptr [esp+0Ch] fld ST(0) fmul dword ptr [L007BD734] fxch ST(2) fadd ST(1),ST fmul dword ptr [L007BD730] fxch ST(1) fmul dword ptr [L007BD738] imul [L007BD72C] fadd ST(1),ST fsubp ST(2),ST fadd dword ptr [L007BD73C] fxch ST(1) fadd dword ptr [L007BD73C] mov eax,[esi+08h] mov ebx,[esi+18h] shl edx,1 fstp qword ptr [esp+10h] fstp qword ptr [esp+08h] mov ecx,[esp+08h] mov edi,[esp+10h] add ecx,edx add edx,edi add edi,ebp mov [esp+0Ch],ecx mov [esp+10h],edx mov [esp+14h],edi mov ecx,[esi] mov edx,[esi+10h] lea esi,[ebx+eax] sub eax,ebx lea ebx,[edx+ecx] sub ecx,edx imul [L007BD72C] shl edx,1 mov edi,[esp+04h] add esi,edx mov ebp,[esp+0Ch] lea eax,[edx+ecx] sub ecx,edx lea edx,[esi+ebx] sub ebx,esi lea esi,[ecx+ebp] sub ecx,ebp mov ebp,[esp+08h] sar esi,11h sar ecx,11h mov [edi+08h],esi mov esi,[esp+10h] mov [edi+14h],ecx lea ecx,[ebx+ebp] sub ebx,ebp mov ebp,[esp+14h] sar ecx,11h sar ebx,11h mov [edi+0Ch],ecx mov [edi+10h],ebx lea ebx,[esi+eax] sub eax,esi lea ecx,[edx+ebp] sub edx,ebp sar ecx,11h sar ebx,11h mov [edi],ecx mov [edi+04h],ebx sar eax,11h sar edx,11h mov [edi+18h],eax mov [edi+1Ch],edx retn ;------------------------------------------------------------------------------ Align 16 SUB_L004AFA80: push ebp mov ebp,esp sub esp,00000020h push ebx mov ebx,ecx push esi mov esi,edx mov eax,[ebx+00000414h] mov ecx,[ebx+00000410h] push edi mov dword ptr [ebp-04h],00000001h mov [ebp-0Ch],esi mov [ebx+00000414h],ecx mov [ebx+00000410h],eax push ecx mov eax,[ebp-0Ch] mov ecx,00000002h mov eax,[eax+ecx-04h] neg ecx lea ecx,[00000020h+ecx*8] shr eax,cl pop ecx mov edi,eax lea edx,[esi+02h] mov [ebx+000003F8h],edi mov [ebp-0Ch],edx push ecx mov eax,[ebp-0Ch] mov ecx,00000002h mov eax,[eax+ecx-04h] neg ecx lea ecx,[00000020h+ecx*8] shr eax,cl pop ecx mov [ebp-18h],eax mov [ebx+000003FCh],eax lea eax,[esi+04h] mov [ebp-0Ch],eax push ecx mov eax,[ebp-0Ch] mov ecx,00000002h mov eax,[eax+ecx-04h] neg ecx lea ecx,[00000020h+ecx*8] shr eax,cl pop ecx lea ecx,[esi+06h] mov [ebp-1Ch],eax mov [ebx+00000400h],eax mov [ebp-0Ch],ecx push ecx mov eax,[ebp-0Ch] mov ecx,00000002h mov eax,[eax+ecx-04h] neg ecx lea ecx,[00000020h+ecx*8] shr eax,cl pop ecx test edi,edi mov [ebp-20h],eax mov [ebx+00000404h],eax jz L004AFC04 cmp edi,[ebx+00000408h] jle L004AFB96 mov eax,[ebx+00000424h] test eax,eax jz L004AFB79 push eax call SUB_L0049C430 add esp,00000004h xor eax,eax mov [ebx+00000424h],eax mov [ebx+00000408h],eax L004AFB79: mov eax,[ebx+00000428h] test eax,eax jz L004AFB96 push eax call SUB_L0049C430 add esp,00000004h mov dword ptr [ebx+00000428h],00000000h L004AFB96: mov eax,[ebx+00000424h] test eax,eax jnz L004AFBBC lea edx,[00000000h+edi*8] push edx call SUB_L0049D430 add esp,00000004h mov [ebx+00000424h],eax mov [ebx+00000408h],edi L004AFBBC: mov eax,[ebx+00000428h] test eax,eax jnz L004AFBE2 lea eax,[00000000h+edi*4] push eax call SUB_L0049D430 add esp,00000004h mov [ebx+00000428h],eax mov [ebx+00000408h],edi L004AFBE2: mov eax,[ebx+00000424h] test eax,eax jnz L004AFBF3 mov dword ptr [ebp-04h],00000000h L004AFBF3: mov eax,[ebx+00000428h] test eax,eax jnz L004AFC04 mov dword ptr [ebp-04h],00000000h L004AFC04: mov ecx,[ebp-1Ch] mov edx,[ebp-18h] lea eax,[ecx+edx] test eax,eax mov [ebp-0Ch],eax jz L004AFC72 cmp eax,[ebx+0000040Ch] jle L004AFC3C mov ecx,[ebx+00000420h] test ecx,ecx jz L004AFC3C push ecx call SUB_L0049C430 mov eax,[ebp-0Ch] add esp,00000004h mov dword ptr [ebx+00000420h],00000000h L004AFC3C: mov ecx,[ebx+00000420h] test ecx,ecx jnz L004AFC61 shl eax,04h push eax call SUB_L0049D430 mov [ebx+00000420h],eax mov eax,[ebp-0Ch] add esp,00000004h mov [ebx+0000040Ch],eax L004AFC61: mov eax,[ebx+00000420h] test eax,eax jnz L004AFC72 mov dword ptr [ebp-04h],00000000h L004AFC72: mov eax,[ebp-04h] test eax,eax jz L004AFEED lea ecx,[edi+edi*4] lea edx,[esi+0Ch] mov [ebp-08h],edx lea eax,[0000001Fh+ecx*4] mov ecx,[ebx+00000424h] sar eax,03h and al,FCh mov [ebp-0Ch],eax lea eax,[edi+edi] test eax,eax lea esi,[eax+eax*4] lea ecx,[ecx+eax*4] mov [ebp-10h],ecx lea esi,[esi+esi-0Ah] jbe L004AFCE7 mov [ebp-14h],eax L004AFCB2: mov eax,esi mov ecx,esi shr eax,03h and ecx,00000007h sub esi,0000000Ah mov eax,[eax+edx] shr eax,cl and eax,000003FFh test ah,02h jz L004AFCD3 or eax,FFFFFC00h L004AFCD3: mov ecx,[ebp-10h] sub ecx,00000004h mov [ebp-10h],ecx mov [ecx],eax mov eax,[ebp-14h] dec eax mov [ebp-14h],eax jnz L004AFCB2 L004AFCE7: mov ecx,[ebx] mov eax,[ecx+54h] mov ecx,[ebx+0000041Ch] lea esi,[ecx+eax*4] xor eax,eax test edi,edi jle L004AFD1E L004AFCFB: mov edx,[ebx+00000424h] lea ecx,[edx+eax*8] mov edx,[edx+eax*8+04h] mov edx,[esi+edx*4] add edx,[ecx] mov ecx,[ebx+00000428h] mov [ecx+eax*4],edx inc eax cmp eax,edi jl L004AFCFB mov edx,[ebp-08h] L004AFD1E: mov ecx,[ebp-18h] mov edi,[ebp-0Ch] shl ecx,04h add edx,edi mov [ebp-18h],ecx test ecx,ecx jz L004AFD48 mov edi,[ebx+00000420h] mov eax,ecx mov esi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov ecx,eax L004AFD48: mov edi,[ebp-1Ch] add edx,ecx mov [ebp-08h],edx lea eax,[00000000h+edi*8] test eax,eax mov [ebp-0Ch],eax jz L004AFE75 mov esi,[ebx+00000420h] add esi,ecx mov ecx,edx test edi,edi jle L004AFE75 L004AFD74: mov eax,[ecx+04h] add ecx,00000008h mov edx,eax and edx,00000003h shr eax,02h mov dl,[edx+ecx-08h] mov [esi+0Fh],dl mov edx,eax and edx,00000003h shr eax,02h mov dl,[edx+ecx-08h] mov [esi+0Eh],dl mov edx,eax and edx,00000003h shr eax,02h mov dl,[edx+ecx-08h] mov [esi+0Dh],dl mov edx,eax and edx,00000003h shr eax,02h mov dl,[edx+ecx-08h] mov [esi+0Ch],dl mov edx,eax and edx,00000003h shr eax,02h mov dl,[edx+ecx-08h] mov [esi+0Bh],dl mov edx,eax and edx,00000003h shr eax,02h mov dl,[edx+ecx-08h] mov [esi+0Ah],dl mov edx,eax and edx,00000003h shr eax,02h mov dl,[edx+ecx-08h] mov [esi+09h],dl mov edx,eax and edx,00000003h shr eax,02h mov dl,[edx+ecx-08h] mov [esi+08h],dl mov edx,eax and edx,00000003h shr eax,02h mov dl,[edx+ecx-08h] mov [esi+07h],dl mov edx,eax and edx,00000003h shr eax,02h mov dl,[edx+ecx-08h] mov [esi+06h],dl mov edx,eax and edx,00000003h shr eax,02h mov dl,[edx+ecx-08h] mov [esi+05h],dl mov edx,eax and edx,00000003h shr eax,02h mov dl,[edx+ecx-08h] mov [esi+04h],dl mov edx,eax and edx,00000003h shr eax,02h mov dl,[edx+ecx-08h] mov [esi+03h],dl mov edx,eax and edx,00000003h shr eax,02h mov dl,[edx+ecx-08h] mov [esi+02h],dl mov edx,eax and edx,00000003h shr eax,02h mov dl,[edx+ecx-08h] and eax,00000003h mov [esi+01h],dl add esi,00000010h mov al,[eax+ecx-08h] mov [esi-10h],al dec edi jnz L004AFD74 mov edx,[ebp-08h] mov eax,[ebp-0Ch] L004AFE75: mov ecx,[ebx] add edx,eax mov eax,[ecx+58h] imul eax,[ecx+54h] mov ecx,[ebp-20h] shr eax,04h mov esi,ecx imul esi,eax add esi,0000001Fh test esi,FFFFFFE0h jz L004AFEA8 push ecx mov ecx,[ebx+00000418h] push eax push edx push ecx call SUB_L004B047F add esp,00000010h L004AFEA8: mov eax,[ebx] mov ecx,[eax+58h] mov edx,[eax+54h] mov eax,ecx shr edx,02h shr eax,02h push edx mov edx,[ebx+00000428h] push eax mov eax,[ebx+000003F8h] push ecx mov ecx,[ebx+00000420h] push ecx mov ecx,[ebx+00000410h] push edx mov edx,[ebx+00000414h] push eax mov eax,[ebx+00000418h] push ecx push edx push eax call SUB_L004B0528 add esp,00000024h L004AFEED: mov eax,[ebp-04h] pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L004AFF00: sub esp,00000008h push ebx push esi mov esi,ecx push edi xor ebx,ebx mov [esp+10h],edx mov eax,[esi+000003F4h] mov [esp+0Ch],eax mov eax,[esi] mov edi,[eax+58h] imul edi,[eax+54h] mov eax,[esi+00000410h] add edi,0000000Fh and edi,FFFFFFF0h cmp eax,ebx jz L004AFF40 push eax call SUB_L0049C430 add esp,00000004h mov [esi+00000410h],ebx L004AFF40: mov eax,[esi+00000414h] cmp eax,ebx jz L004AFF59 push eax call SUB_L0049C430 add esp,00000004h mov [esi+00000414h],ebx L004AFF59: mov eax,[esi+0000041Ch] cmp eax,ebx jz L004AFF72 push eax call SUB_L0049C430 add esp,00000004h mov [esi+0000041Ch],ebx L004AFF72: mov eax,[esi+00000418h] cmp eax,ebx jz L004AFF8B push eax call SUB_L0049C430 add esp,00000004h mov [esi+00000418h],ebx L004AFF8B: push edi call SUB_L0049D430 add esp,00000004h mov [esi+00000410h],eax push edi call SUB_L0049D430 mov ecx,[esi] mov [esi+00000414h],eax add esp,00000004h mov edx,[ecx+54h] shl edx,03h push edx call SUB_L0049D430 mov [esi+0000041Ch],eax mov eax,edi cdq and edx,0000000Fh add esp,00000004h add eax,edx sar eax,04h shl eax,02h push eax call SUB_L0049D430 mov ecx,[esi+00000410h] add esp,00000004h cmp ecx,ebx mov [esi+00000418h],eax jz L004B0051 cmp [esi+00000414h],ebx jz L004B0051 cmp [esi+0000041Ch],ebx jz L004B0051 cmp eax,ebx jz L004B0051 mov eax,[esi] xor ecx,ecx mov edx,[eax+54h] mov eax,[eax+58h] imul eax,edx add edx,edx neg eax test edx,edx jbe L004B002A L004B0010: mov edx,[esi+0000041Ch] mov [edx+ecx*4],eax mov edx,[esi] mov ebx,[edx+58h] mov edx,[edx+54h] add eax,ebx inc ecx shl edx,1 cmp ecx,edx jc L004B0010 L004B002A: mov eax,[esi+00000410h] mov ecx,[esp+0Ch] mov edx,[esp+10h] push 00000001h push eax lea eax,[ecx+04h] lea ecx,[edx+eax*2] add eax,ecx push eax call SUB_L004B035C add esp,0000000Ch mov ebx,00000001h L004B0051: pop edi mov eax,ebx pop esi pop ebx add esp,00000008h retn ;------------------------------------------------------------------------------ Align 8 SUB_L004B0060: sub esp,00000010h push ebx push ebp push esi push edi mov edi,ecx mov ebx,00000008h mov ecx,00000008h mov dword ptr [esp+14h],00000100h mov eax,[edi] mov esi,[eax+24h] mov ebp,[eax+20h] mov edx,[eax+28h] sub ecx,esi mov [esp+1Ch],ecx mov ecx,00000008h sub ebx,ebp sub ecx,edx lea eax,[edi+0000072Ch] mov [esp+18h],ecx mov [esp+10h],eax lea esi,[edi+0000042Dh] L004B00A9: mov edx,[edi] xor eax,eax mov al,[esi-01h] mov cl,bl shr eax,cl mov ecx,[edx+2Ch] shl eax,cl xor ecx,ecx mov cl,[esi+01h] mov ebp,ecx mov cl,[esp+18h] shr ebp,cl mov ecx,[edx+34h] shl ebp,cl xor ecx,ecx mov cl,[esi] or eax,ebp mov ebp,ecx mov cl,[esp+1Ch] shr ebp,cl mov ecx,[edx+30h] shl ebp,cl mov cl,[edx] or eax,ebp test cl,40h jz L004B00EE mov edx,eax shl edx,10h or eax,edx L004B00EE: mov ecx,[esp+10h] add esi,00000003h mov [ecx],eax mov eax,[esp+14h] add ecx,00000004h dec eax mov [esp+10h],ecx mov [esp+14h],eax jnz L004B00A9 pop edi pop esi pop ebp pop ebx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 SUB_L004B0120: sub esp,0000006Ch xor eax,eax push ebx push ebp mov ebx,ecx push esi push edi mov ecx,0000001Bh mov ebp,[ebx] mov esi,[ebx+00000410h] lea edi,[esp+10h] rep stosd mov eax,[ebp+3Ch] cmp eax,00000008h mov al,[ebp+00h] jnz L004B018A test al,40h jz L004B0169 mov eax,[ebp+58h] imul eax,[ebp+54h] push eax push edx push esi call SUB_L004AF70A add esp,0000000Ch pop edi pop esi pop ebp pop ebx add esp,0000006Ch retn 0004h ;------------------------------------------------------------------------------ L004B0169: mov ecx,[ebp+58h] mov edi,edx imul ecx,[ebp+54h] mov edx,ecx shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb pop edi pop esi pop ebp pop ebx add esp,0000006Ch retn 0004h ;------------------------------------------------------------------------------ L004B018A: test al,40h mov eax,edx jz L004B024F mov edx,[ebp+54h] xor ecx,ecx test edx,edx jbe L004B0310 L004B01A1: mov edx,[ebp+58h] xor edi,edi test edx,edx jbe L004B0239 L004B01AE: xor edx,edx add edi,00000008h mov dl,[esi] add esi,00000008h add eax,00000020h mov edx,[ebx+edx*4+0000072Ch] mov [eax-20h],edx xor edx,edx mov dl,[esi-07h] mov edx,[ebx+edx*4+0000072Ch] mov [eax-1Ch],edx xor edx,edx mov dl,[esi-06h] mov edx,[ebx+edx*4+0000072Ch] mov [eax-18h],edx xor edx,edx mov dl,[esi-05h] mov edx,[ebx+edx*4+0000072Ch] mov [eax-14h],edx xor edx,edx mov dl,[esi-04h] mov edx,[ebx+edx*4+0000072Ch] mov [eax-10h],edx xor edx,edx mov dl,[esi-03h] mov edx,[ebx+edx*4+0000072Ch] mov [eax-0Ch],edx xor edx,edx mov dl,[esi-02h] mov edx,[ebx+edx*4+0000072Ch] mov [eax-08h],edx xor edx,edx mov dl,[esi-01h] mov edx,[ebx+edx*4+0000072Ch] mov [eax-04h],edx mov edx,[ebx] cmp edi,[edx+58h] jc L004B01AE L004B0239: mov ebp,[ebx] inc ecx cmp ecx,[ebp+54h] jc L004B01A1 pop edi pop esi pop ebp pop ebx add esp,0000006Ch retn 0004h ;------------------------------------------------------------------------------ L004B024F: mov edx,[ebp+54h] xor ecx,ecx test edx,edx jbe L004B0310 L004B025C: mov edx,[ebp+58h] xor edi,edi test edx,edx jbe L004B0304 L004B0269: xor edx,edx add edi,00000008h mov dl,[esi] add esi,00000008h add eax,00000010h mov dx,[ebx+edx*4+0000072Ch] mov [eax-10h],dx xor edx,edx mov dl,[esi-07h] mov dx,[ebx+edx*4+0000072Ch] mov [eax-0Eh],dx xor edx,edx mov dl,[esi-06h] mov dx,[ebx+edx*4+0000072Ch] mov [eax-0Ch],dx xor edx,edx mov dl,[esi-05h] mov dx,[ebx+edx*4+0000072Ch] mov [eax-0Ah],dx xor edx,edx mov dl,[esi-04h] mov dx,[ebx+edx*4+0000072Ch] mov [eax-08h],dx xor edx,edx mov dl,[esi-03h] mov dx,[ebx+edx*4+0000072Ch] mov [eax-06h],dx xor edx,edx mov dl,[esi-02h] mov dx,[ebx+edx*4+0000072Ch] mov [eax-04h],dx xor edx,edx mov dl,[esi-01h] mov dx,[ebx+edx*4+0000072Ch] mov [eax-02h],dx mov edx,[ebx] cmp edi,[edx+58h] jc L004B0269 L004B0304: mov ebp,[ebx] inc ecx cmp ecx,[ebp+54h] jc L004B025C L004B0310: pop edi pop esi pop ebp pop ebx add esp,0000006Ch retn 0004h ;------------------------------------------------------------------------------ db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' push ebp mov ebp,esp push esi push edi pushad cli mov ebx,[ebp+08h] xor eax,eax mov edx,000003C8h out dx,al mov edx,000003C9h mov ecx,00000100h L004B033C: mov al,[ebx] shr al,02h out dx,al mov al,[ebx+01h] shr al,02h out dx,al mov al,[ebx+02h] shr al,02h out dx,al add ebx,00000004h dec ecx jnz L004B033C sti popad pop edi pop esi leave retn ;------------------------------------------------------------------------------ SUB_L004B035C: push ebp mov ebp,esp add esp,FFFFFFFCh push esi push edi pushad cld mov ecx,[ebp+10h] mov ebx,[ebp+08h] mov edi,[ebp+0Ch] mov dword ptr [ebp-04h],00000000h or ebx,ebx jz L004B0432 mov ax,[ebx] lea ebx,[ebx+02h] and al,01h jz L004B038B lea ebx,[ebx+03h] L004B038B: xor eax,eax mov al,[ebx] shl eax,10h mov ah,[ebx+01h] mov al,[ebx+02h] lea ebx,[ebx+03h] mov [ebp-04h],eax cmp ecx,00000000h jz L004B0432 xor ecx,ecx jmp L004B03CE Align 4 L004B03AC: and ecx,00000003h lea esi,[ebx+02h] rep movsb mov ebx,esi mov ch,dl mov cl,dh and edx,0000001Ch shr ch,05h shr edx,02h neg ecx lea esi,[ecx+edi-01h] lea ecx,[edx+03h] rep movsb L004B03CE: mov edx,[ebx] or cl,dl jns L004B03AC L004B03D4: add cl,cl js L004B0408 mov cl,dh shr ecx,06h and ecx,00000003h lea esi,[ebx+03h] rep movsb mov ebx,esi mov ecx,edx shr ecx,10h mov ch,dh and ch,3Fh neg ecx lea esi,[ecx+edi-01h] and edx,0000003Fh lea ecx,[edx+04h] rep movsb mov edx,[ebx] or cl,dl jns L004B03AC jmp L004B03D4 Align 4 L004B0408: add cl,cl jns L004B043C cmp dl,FCh jnc L004B0428 and edx,0000001Fh lea ecx,[edx+01h] lea esi,[ebx+01h] rep movsd mov ebx,esi mov edx,[ebx] or cl,dl jns L004B03AC jmp L004B03D4 Align 4 L004B0428: mov ecx,edx and ecx,00000003h lea esi,[ebx+01h] rep movsb L004B0432: mov eax,[ebp-04h] popad pop edi pop esi leave retn ;------------------------------------------------------------------------------ Align 4 L004B043C: mov ecx,edx and ecx,00000003h lea esi,[ebx+04h] rep movsb mov ebx,esi mov ecx,edx and ecx,00000010h shl ecx,0Ch mov eax,edx shr eax,08h mov cl,ah mov ch,al neg ecx lea esi,[ecx+edi-01h] rol edx,08h shr dh,02h and edx,000003FFh lea ecx,[edx+05h] rep movsb mov edx,[ebx] or cl,dl jns L004B03AC jmp L004B03D4 SUB_L004B047F: push esi push edi push ebp push ebx push ecx push edx mov ebx,00000000h mov ecx,[esp+28h] mov edx,[esp+24h] mov edi,[esp+1Ch] mov esi,[esp+20h] push ecx mov eax,00000001h shl eax,cl sub edx,00000004h lea ebp,[eax-01h] jl L004B04FA L004B04AA: mov eax,ebx mov ecx,ebx shr eax,03h and ecx,00000007h mov eax,[eax+esi] shrd eax,eax,cl mov ecx,eax and ecx,ebp mov [edi],ecx mov ecx,[esp] shrd eax,eax,cl and eax,ebp mov [edi+04h],eax lea eax,[ebx+ecx*2] lea ecx,[ebx+ecx*2] shr eax,03h and ecx,00000007h mov eax,[eax+esi] shrd eax,eax,cl mov ecx,eax and ecx,ebp mov [edi+08h],ecx mov ecx,[esp] shrd eax,eax,cl and eax,ebp mov [edi+0Ch],eax add edi,00000010h sub edx,00000004h lea ebx,[ebx+ecx*4] jge L004B04AA L004B04FA: add edx,00000003h jl L004B051E L004B04FF: mov eax,ebx mov ecx,ebx shr eax,03h and ecx,00000007h mov eax,[eax+esi] shrd eax,eax,cl and eax,ebp mov [edi],eax add ebx,[esp] sub edx,00000001h lea edi,[edi+04h] jge L004B04FF L004B051E: add esp,00000004h pop edx pop ecx pop ebx pop ebp pop edi pop esi retn ;------------------------------------------------------------------------------ SUB_L004B0528: push ebp mov ebp,esp add esp,FFFFFFF4h push ebx push esi push edi pushad mov eax,[ebp+24h] mov [ebp-04h],eax mov eax,[ebp+1Ch] mov ebx,[ebp+14h] shl ebx,04h sub eax,ebx mov [ebp-08h],eax mov eax,[ebp+0Ch] sub eax,[ebp+10h] mov [ebp-0Ch],eax mov edx,[ebp+20h] lea ecx,[edx+edx*2] mov esi,[ebp+08h] mov edi,[ebp+10h] L004B055B: mov eax,[ebp-04h] mov [ebp+24h],eax jmp L004B0564 Align 4 L004B0564: mov eax,[esi] add esi,00000004h cmp eax,[ebp+14h] jge L004B05A2 L004B056E: mov ebx,[ebp+18h] mov ebx,[ebx+eax*4] add ebx,[ebp-0Ch] add ebx,edi mov eax,[ebx] mov [edi],eax mov eax,[edx+ebx] mov [edx+edi],eax mov eax,[ebx+edx*2] mov [edi+edx*2],eax mov eax,[ecx+ebx] mov [ecx+edi],eax add edi,00000004h sub dword ptr [ebp+24h],00000001h jle L004B05CE mov eax,[esi] add esi,00000004h cmp eax,[ebp+14h] jl L004B056E L004B05A2: mov ebx,[ebp-08h] lea eax,[00000000h+eax*8] lea ebx,[ebx+eax*2] mov eax,[ebx] mov [edi],eax mov eax,[ebx+04h] mov [edx+edi],eax mov eax,[ebx+08h] mov [edi+edx*2],eax mov eax,[ebx+0Ch] mov [ecx+edi],eax add edi,00000004h sub dword ptr [ebp+24h],00000001h jg L004B0564 L004B05CE: add edi,ecx sub dword ptr [ebp+28h],00000001h jg L004B055B popad pop edi pop esi pop ebx leave retn ;------------------------------------------------------------------------------ Align 8 SUB_L004B05E0: push esi push edi push 00000074h push 00000001h xor edi,edi call SUB_L0049C380 mov esi,eax add esp,00000008h test esi,esi jz L004B063F push esi call SUB_L0049DFC0 mov edx,[esp+14h] mov eax,[esp+10h] mov ecx,[esp+18h] add esp,00000004h mov [esi+48h],eax mov [esi+4Ch],ecx push esi push 00000004h push esi push L004B0660 push edx push edi call [KERNEL32.dll!CreateThread] mov edi,eax test edi,edi mov [esi+04h],edi jz L004B0637 push edi call [KERNEL32.dll!ResumeThread] cmp eax,FFFFFFFFh jnz L004B065B L004B0637: call [KERNEL32.dll!GetLastError] mov edi,eax L004B063F: push esi call SUB_L0049C430 add esp,00000004h test edi,edi jz L004B0655 push edi call SUB_L0049BCB0 add esp,00000004h L004B0655: or eax,FFFFFFFFh pop edi pop esi retn ;------------------------------------------------------------------------------ L004B065B: mov eax,edi pop edi pop esi retn ;------------------------------------------------------------------------------ L004B0660: push ebp mov ebp,esp push FFFFFFFFh push L004BDDB0 push L0049F128 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp add esp,FFFFFFF4h push ebx push esi push edi mov [ebp-18h],esp mov esi,[ebp+08h] push esi mov eax,[L004D1340] push eax call [KERNEL32.dll!TlsSetValue] test eax,eax jnz L004B06A4 push 00000010h call SUB_L0049C910 add esp,00000004h L004B06A4: mov eax,[L004D10FC] test eax,eax jz L004B06AF call eax L004B06AF: mov dword ptr [ebp-04h],00000000h mov ecx,[esi+4Ch] push ecx call [esi+48h] add esp,00000004h call SUB_L004B0710 jmp L004B06EB mov eax,[ebp-14h] mov edx,[eax] mov ecx,[edx] mov [ebp-1Ch],ecx push eax push ecx call SUB_L004A1B10 add esp,00000008h retn ;------------------------------------------------------------------------------ mov esp,[ebp-18h] mov eax,[ebp-1Ch] push eax call SUB_L0049B0E0 add esp,00000004h L004B06EB: mov dword ptr [ebp-04h],FFFFFFFFh xor eax,eax mov ecx,[ebp-10h] mov fs:[00000000h],ecx pop edi pop esi pop ebx mov esp,ebp pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L004B0710: mov eax,[L004D1100] push esi test eax,eax jz L004B071C call eax L004B071C: call SUB_L0049DFE0 mov esi,eax test esi,esi jnz L004B0731 push 00000010h call SUB_L0049C910 add esp,00000004h L004B0731: mov eax,[esi+04h] cmp eax,FFFFFFFFh jz L004B0740 push eax call [KERNEL32.dll!CloseHandle] L004B0740: push esi call SUB_L0049E060 add esp,00000004h push 00000000h call [KERNEL32.dll!ExitThread] pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L004B0760: mov eax,[esp+04h] push ebx push esi mov esi,[esp+10h] and eax,000000FFh push edi mov dl,[esi+01h] mov ecx,esi cmp dl,3Ah jnz L004B077D lea ecx,[esi+02h] L004B077D: mov dl,[ecx] cmp dl,5Ch jz L004B0789 cmp dl,2Fh jnz L004B0790 L004B0789: mov bl,[ecx+01h] test bl,bl jz L004B079D L004B0790: test al,10h jnz L004B079D test dl,dl mov edi,00008000h jnz L004B07A2 L004B079D: mov edi,00004040h L004B07A2: not al and eax,00000001h push 0000002Eh or al,02h push esi shl eax,07h or edi,eax call SUB_L004A5740 mov esi,eax add esp,00000008h test esi,esi jz L004B080A push SSZ004BD230__exe push esi call SUB_L004B0BF0 add esp,00000008h test eax,eax jz L004B0807 push SSZ004BD240__cmd push esi call SUB_L004B0BF0 add esp,00000008h test eax,eax jz L004B0807 push SSZ004BD238__bat push esi call SUB_L004B0BF0 add esp,00000008h test eax,eax jz L004B0807 push SSZ004BD228__com push esi call SUB_L004B0BF0 add esp,00000008h test eax,eax jnz L004B080A L004B0807: or edi,00000040h L004B080A: mov eax,edi shr eax,03h and eax,00000038h or edi,eax mov eax,edi shr eax,06h and eax,00000007h or eax,edi pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ Align 16 SUB_L004B0830: sub esp,00000260h push ebx push ebp mov ebp,[esp+0000026Ch] push esi push edi push L004BDDC0 push ebp call SUB_L004B0F60 add esp,00000008h test eax,eax jnz L004B093C mov al,[ebp+01h] xor ebx,ebx cmp al,3Ah jnz L004B0881 mov al,[ebp+00h] cmp al,bl jz L004B0870 cmp [ebp+02h],bl jz L004B093C L004B0870: movsx eax,al push eax call SUB_L004B0EC0 add esp,00000004h sub eax,00000060h jmp L004B0886 L004B0881: call SUB_L004B0E70 L004B0886: lea ecx,[esp+2Ch] mov [esp+20h],eax push ecx push ebp call [KERNEL32.dll!FindFirstFileA] mov edi,eax cmp edi,FFFFFFFFh jnz L004B0960 push L004BDDBC push ebp call SUB_L004B0F60 add esp,00000008h test eax,eax jz L004B093C push 00000104h lea edx,[esp+00000170h] push ebp push edx call SUB_L004B0DA0 mov esi,eax add esp,0000000Ch cmp esi,ebx jz L004B093C mov edi,esi or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx cmp ecx,00000003h jz L004B08F1 push esi call SUB_L004B0B70 add esp,00000004h test eax,eax jz L004B093C L004B08F1: push esi call [KERNEL32.dll!GetDriveTypeA] cmp eax,00000001h jbe L004B093C push FFFFFFFFh push ebx push ebx push ebx push 00000001h push 00000001h push 000007BCh mov dword ptr [esp+48h],00000010h mov [esp+64h],ebx mov [esp+68h],ebx mov [esp+74h],bl call SUB_L004A11F0 mov esi,[esp+00000294h] add esp,0000001Ch mov [esi+1Ch],eax mov [esi+18h],eax mov [esi+20h],eax jmp L004B0B09 L004B093C: call SUB_L0049BD30 mov dword ptr [eax],00000002h call SUB_L0049BD40 mov dword ptr [eax],00000002h or eax,FFFFFFFFh pop edi pop esi pop ebp pop ebx add esp,00000260h retn ;------------------------------------------------------------------------------ L004B0960: lea eax,[esp+24h] lea ecx,[esp+40h] push eax push ecx call [KERNEL32.dll!FileTimeToLocalFileTime] test eax,eax jz L004B0B4B lea edx,[esp+10h] lea eax,[esp+24h] push edx push eax call [KERNEL32.dll!FileTimeToSystemTime] test eax,eax jz L004B0B4B mov ecx,[esp+1Ch] mov edx,[esp+1Ah] mov eax,[esp+18h] and ecx,0000FFFFh push FFFFFFFFh and edx,0000FFFFh push ecx mov ecx,[esp+1Eh] and eax,0000FFFFh push edx mov edx,[esp+1Eh] push eax mov eax,[esp+20h] and ecx,0000FFFFh and edx,0000FFFFh push ecx and eax,0000FFFFh push edx push eax call SUB_L004A11F0 mov esi,[esp+00000294h] mov ecx,[esp+54h] add esp,0000001Ch cmp ecx,ebx mov [esi+1Ch],eax jnz L004B09F2 cmp [esp+3Ch],ebx jz L004B0A6C L004B09F2: lea ecx,[esp+24h] lea edx,[esp+38h] push ecx push edx call [KERNEL32.dll!FileTimeToLocalFileTime] test eax,eax jz L004B0B4B lea eax,[esp+10h] lea ecx,[esp+24h] push eax push ecx call [KERNEL32.dll!FileTimeToSystemTime] test eax,eax jz L004B0B4B mov edx,[esp+1Ch] mov eax,[esp+1Ah] mov ecx,[esp+18h] and edx,0000FFFFh push FFFFFFFFh and eax,0000FFFFh push edx mov edx,[esp+1Eh] and ecx,0000FFFFh push eax mov eax,[esp+1Eh] push ecx mov ecx,[esp+20h] and edx,0000FFFFh and eax,0000FFFFh push edx and ecx,0000FFFFh push eax push ecx call SUB_L004A11F0 add esp,0000001Ch L004B0A6C: mov [esi+18h],eax mov eax,[esp+30h] cmp eax,ebx jnz L004B0A85 cmp [esp+34h],ebx jnz L004B0A85 mov edx,[esi+1Ch] mov [esi+20h],edx jmp L004B0B02 L004B0A85: lea eax,[esp+24h] lea ecx,[esp+30h] push eax push ecx call [KERNEL32.dll!FileTimeToLocalFileTime] test eax,eax jz L004B0B4B lea edx,[esp+10h] lea eax,[esp+24h] push edx push eax call [KERNEL32.dll!FileTimeToSystemTime] test eax,eax jz L004B0B4B mov ecx,[esp+1Ch] mov edx,[esp+1Ah] mov eax,[esp+18h] and ecx,0000FFFFh push FFFFFFFFh and edx,0000FFFFh push ecx mov ecx,[esp+1Eh] and eax,0000FFFFh push edx mov edx,[esp+1Eh] push eax mov eax,[esp+20h] and ecx,0000FFFFh and edx,0000FFFFh push ecx and eax,0000FFFFh push edx push eax call SUB_L004A11F0 add esp,0000001Ch mov [esi+20h],eax L004B0B02: push edi call [KERNEL32.dll!FindClose] L004B0B09: mov ecx,[esp+2Ch] push ebp push ecx call SUB_L004B0760 mov edx,[esp+54h] mov [esi+06h],ax mov eax,[esp+28h] add esp,00000008h dec eax mov word ptr [esi+08h],0001h mov [esi],eax mov [esi+10h],eax mov [esi+14h],edx mov [esi+04h],bx mov [esi+0Ch],bx mov [esi+0Ah],bx xor eax,eax pop edi pop esi pop ebp pop ebx add esp,00000260h retn ;------------------------------------------------------------------------------ L004B0B4B: call [KERNEL32.dll!GetLastError] push eax call SUB_L0049BCB0 add esp,00000004h push edi call [KERNEL32.dll!FindClose] pop edi pop esi pop ebp or eax,FFFFFFFFh pop ebx add esp,00000260h retn ;------------------------------------------------------------------------------ Align 4 SUB_L004B0B70: mov edx,[esp+04h] push edi mov edi,edx or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx cmp ecx,00000005h jc L004B0BEB mov al,[edx] cmp al,5Ch jz L004B0B90 cmp al,2Fh jnz L004B0BEB L004B0B90: mov al,[edx+01h] cmp al,5Ch jz L004B0B9B cmp al,2Fh jnz L004B0BEB L004B0B9B: mov al,[edx+03h] lea ecx,[edx+03h] test al,al jz L004B0BB5 L004B0BA5: cmp al,5Ch jz L004B0BB5 cmp al,2Fh jz L004B0BB5 mov al,[ecx+01h] inc ecx test al,al jnz L004B0BA5 L004B0BB5: cmp byte ptr [ecx],00h jz L004B0BEB mov al,[ecx+01h] inc ecx test al,al jz L004B0BEB mov al,[ecx] test al,al jz L004B0BD8 L004B0BC8: cmp al,5Ch jz L004B0BD8 cmp al,2Fh jz L004B0BD8 mov al,[ecx+01h] inc ecx test al,al jnz L004B0BC8 L004B0BD8: cmp byte ptr [ecx],00h jz L004B0BE4 mov al,[ecx+01h] test al,al jnz L004B0BEB L004B0BE4: mov eax,00000001h pop edi retn ;------------------------------------------------------------------------------ L004B0BEB: xor eax,eax pop edi retn ;------------------------------------------------------------------------------ Align 4 SUB_L004B0BF0: push ecx mov eax,[L007B8A00] push ebx push ebp push esi test eax,eax push edi jnz L004B0C16 mov eax,[esp+1Ch] mov ecx,[esp+18h] push eax push ecx call SUB_L0049B300 add esp,00000008h pop edi pop esi pop ebp pop ebx pop ecx retn ;------------------------------------------------------------------------------ L004B0C16: push 00000019h call SUB_L0049C9A0 mov ebp,[esp+20h] mov ebx,[esp+1Ch] add esp,00000004h L004B0C28: movzx ax,[ebx] mov edx,eax inc ebx and edx,000000FFh test byte ptr [edx+L007B87F9],04h jz L004B0C9B cmp byte ptr [ebx],00h jnz L004B0C47 xor edi,edi jmp L004B0CBA L004B0C47: mov eax,[L007B8A00] push 00000001h push eax mov eax,[L007B8A04] lea ecx,[esp+18h] push 00000002h push ecx lea edx,[ebx-01h] push 00000002h push edx push 00000200h push eax call SUB_L0049EE20 add esp,00000020h cmp eax,00000001h jnz L004B0C7D movzx di,[esp+10h] inc ebx jmp L004B0CBA L004B0C7D: cmp eax,00000002h jnz L004B0D55 mov eax,[esp+10h] xor cx,cx movzx di,al shl edi,08h mov cl,ah add edi,ecx inc ebx jmp L004B0CBA L004B0C9B: and eax,0000FFFFh mov dl,[eax+L007B87F9] and dl,10h cmp dl,10h jnz L004B0CB8 movzx di,[eax+L007B8900] jmp L004B0CBA L004B0CB8: mov edi,eax L004B0CBA: movzx si,[ebp+00h] mov eax,esi inc ebp and eax,000000FFh test byte ptr [eax+L007B87F9],04h jz L004B0D2C cmp byte ptr [ebp+00h],00h jnz L004B0CDA xor esi,esi jmp L004B0D46 L004B0CDA: mov ecx,[L007B8A00] push 00000001h push ecx mov ecx,[L007B8A04] lea edx,[esp+18h] push 00000002h push edx lea eax,[ebp-01h] push 00000002h push eax push 00000200h push ecx call SUB_L0049EE20 add esp,00000020h cmp eax,00000001h jnz L004B0D12 movzx si,[esp+10h] inc ebp jmp L004B0D46 L004B0D12: cmp eax,00000002h jnz L004B0D55 mov eax,[esp+10h] xor dx,dx movzx si,al shl esi,08h mov dl,ah add esi,edx inc ebp jmp L004B0D46 L004B0D2C: and esi,0000FFFFh mov al,[esi+L007B87F9] and al,10h cmp al,10h jnz L004B0D46 movzx si,[esi+L007B8900] L004B0D46: cmp di,si jnz L004B0D6A test di,di jz L004B0D83 jmp L004B0C28 L004B0D55: push 00000019h call SUB_L0049CA20 add esp,00000004h mov eax,7FFFFFFFh pop edi pop esi pop ebp pop ebx pop ecx retn ;------------------------------------------------------------------------------ L004B0D6A: push 00000019h call SUB_L0049CA20 add esp,00000004h cmp si,di sbb eax,eax and eax,00000002h dec eax pop edi pop esi pop ebp pop ebx pop ecx retn ;------------------------------------------------------------------------------ L004B0D83: push 00000019h call SUB_L0049CA20 add esp,00000004h xor eax,eax pop edi pop esi pop ebp pop ebx pop ecx retn ;------------------------------------------------------------------------------ Align 16 SUB_L004B0DA0: push ebx push ebp mov ebp,[esp+10h] push esi test ebp,ebp push edi jz L004B0E53 cmp byte ptr [ebp+00h],00h jz L004B0E53 mov ebx,[esp+14h] test ebx,ebx jnz L004B0DEE push 00000104h call SUB_L0049D430 mov esi,eax add esp,00000004h test esi,esi jnz L004B0DE7 call SUB_L0049BD30 mov dword ptr [eax],0000000Ch xor eax,eax pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ L004B0DE7: mov edi,00000104h jmp L004B0DF4 L004B0DEE: mov edi,[esp+1Ch] mov esi,ebx L004B0DF4: lea eax,[esp+1Ch] push eax push esi push edi push ebp call [KERNEL32.dll!GetFullPathNameA] cmp eax,edi jc L004B0E25 test ebx,ebx jnz L004B0E13 push esi call SUB_L0049C430 add esp,00000004h L004B0E13: call SUB_L0049BD30 mov dword ptr [eax],00000022h xor eax,eax pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ L004B0E25: test eax,eax jnz L004B0E4C test ebx,ebx jnz L004B0E36 push esi call SUB_L0049C430 add esp,00000004h L004B0E36: call [KERNEL32.dll!GetLastError] push eax call SUB_L0049BCB0 add esp,00000004h xor eax,eax pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ L004B0E4C: mov eax,esi pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ L004B0E53: mov ecx,[esp+1Ch] mov edx,[esp+14h] push ecx push edx call SUB_L004B1010 add esp,00000008h pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ Align 8 SUB_L004B0E70: sub esp,00000104h lea eax,[esp+00h] push esi push eax push 00000104h xor esi,esi call [KERNEL32.dll!GetCurrentDirectoryA] test eax,eax jz L004B0EA9 mov eax,[esp+04h] cmp ah,3Ah jnz L004B0EA9 and eax,000000FFh push eax call SUB_L0049C550 mov esi,eax add esp,00000004h sub esi,00000040h L004B0EA9: mov eax,esi pop esi add esp,00000104h retn ;------------------------------------------------------------------------------ Align 16 SUB_L004B0EC0: sub esp,00000008h push ebx mov ebx,[esp+10h] cmp ebx,000000FFh jbe L004B0F3C mov eax,ebx mov [esp+11h],bl shr eax,08h mov [esp+10h],al mov ecx,[esp+10h] and ecx,000000FFh test byte ptr [ecx+L007B87F9],04h jz L004B0F57 mov edx,[L007B8A00] push 00000001h push edx mov edx,[L007B8A04] lea eax,[esp+0Ch] push 00000002h push eax lea ecx,[esp+20h] push 00000002h push ecx push 00000100h push edx call SUB_L0049EE20 add esp,00000020h test eax,eax jz L004B0F57 mov eax,[esp+04h] mov ecx,[esp+05h] and eax,000000FFh and ecx,000000FFh shl eax,08h add eax,ecx pop ebx add esp,00000008h retn ;------------------------------------------------------------------------------ L004B0F3C: mov dl,[ebx+L007B87F9] and dl,10h cmp dl,10h jnz L004B0F57 xor eax,eax mov al,[ebx+L007B8900] pop ebx add esp,00000008h retn ;------------------------------------------------------------------------------ L004B0F57: mov eax,ebx pop ebx add esp,00000008h retn ;------------------------------------------------------------------------------ Align 4 SUB_L004B0F60: mov eax,[L007B8A00] test eax,eax jnz L004B0F7C mov eax,[esp+08h] mov ecx,[esp+04h] push eax push ecx call SUB_L004A48C0 add esp,00000008h retn ;------------------------------------------------------------------------------ L004B0F7C: push esi push 00000019h call SUB_L0049C9A0 mov esi,[esp+0Ch] add esp,00000004h cmp byte ptr [esi],00h jz L004B0FF9 push edi mov edi,[esp+10h] push ebp push ebx mov bl,[edi] mov dl,04h L004B0F9B: test bl,bl mov eax,edi jz L004B0FD5 L004B0FA1: mov cl,[eax] mov ebp,ecx and ebp,000000FFh test [ebp+L007B87F9],dl jz L004B0FC9 cmp cl,[esi] jnz L004B0FBF mov cl,[eax+01h] cmp cl,[esi+01h] jz L004B0FD5 L004B0FBF: mov cl,[eax+01h] test cl,cl jz L004B0FD5 inc eax jmp L004B0FCD L004B0FC9: cmp cl,[esi] jz L004B0FD5 L004B0FCD: mov cl,[eax+01h] inc eax test cl,cl jnz L004B0FA1 L004B0FD5: cmp byte ptr [eax],00h jnz L004B0FF6 xor eax,eax mov al,[esi] test [eax+L007B87F9],dl jz L004B0FEE mov al,[esi+01h] inc esi test al,al jz L004B0FF6 L004B0FEE: mov al,[esi+01h] inc esi test al,al jnz L004B0F9B L004B0FF6: pop ebx pop ebp pop edi L004B0FF9: push 00000019h call SUB_L0049CA20 mov al,[esi] add esp,00000004h neg al sbb eax,eax and eax,esi pop esi retn ;------------------------------------------------------------------------------ Align 4 SUB_L004B1010: push esi push 0000000Ch call SUB_L0049C9A0 mov eax,[esp+10h] mov ecx,[esp+0Ch] add esp,00000004h push eax push ecx push 00000000h call SUB_L004B1040 add esp,0000000Ch mov esi,eax push 0000000Ch call SUB_L0049CA20 add esp,00000004h mov eax,esi pop esi retn ;------------------------------------------------------------------------------ Align 4 SUB_L004B1040: sub esp,0000010Ch push ebx mov ebx,[esp+00000114h] push esi push edi test ebx,ebx jz L004B10B5 push ebx call SUB_L004B1170 add esp,00000004h test eax,eax jnz L004B1083 call SUB_L0049BD40 mov dword ptr [eax],0000000Fh call SUB_L0049BD30 mov dword ptr [eax],0000000Dh xor eax,eax pop edi pop esi pop ebx add esp,0000010Ch retn ;------------------------------------------------------------------------------ L004B1083: lea eax,[esp+10h] lea ecx,[esp+14h] push eax push ecx lea edx,[esp+14h] add bl,40h push 00000104h push edx mov [esp+1Ch],bl mov byte ptr [esp+1Dh],3Ah mov byte ptr [esp+1Eh],2Eh mov byte ptr [esp+1Fh],00h call [KERNEL32.dll!GetFullPathNameA] jmp L004B10C5 L004B10B5: lea eax,[esp+14h] push eax push 00000104h call [KERNEL32.dll!GetCurrentDirectoryA] L004B10C5: test eax,eax jz L004B115F inc eax cmp eax,00000104h ja L004B115F mov edx,[esp+00000120h] mov ecx,[esp+00000124h] test edx,edx jnz L004B1117 cmp eax,ecx jg L004B10F1 mov eax,ecx L004B10F1: push eax call SUB_L0049D430 mov edx,eax add esp,00000004h test edx,edx jnz L004B1132 call SUB_L0049BD30 mov dword ptr [eax],0000000Ch xor eax,eax pop edi pop esi pop ebx add esp,0000010Ch retn ;------------------------------------------------------------------------------ L004B1117: cmp eax,ecx jle L004B1132 call SUB_L0049BD30 mov dword ptr [eax],00000022h xor eax,eax pop edi pop esi pop ebx add esp,0000010Ch retn ;------------------------------------------------------------------------------ L004B1132: lea edi,[esp+14h] or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx mov esi,edi mov ebx,ecx mov edi,edx mov eax,edi shr ecx,02h rep movsd mov ecx,ebx and ecx,00000003h rep movsb pop edi pop esi pop ebx add esp,0000010Ch retn ;------------------------------------------------------------------------------ L004B115F: pop edi pop esi xor eax,eax pop ebx add esp,0000010Ch retn ;------------------------------------------------------------------------------ Align 8 SUB_L004B1170: mov eax,[esp+04h] test eax,eax jnz L004B117E mov eax,00000001h retn ;------------------------------------------------------------------------------ L004B117E: add al,40h mov byte ptr [esp+05h],3Ah mov [esp+04h],al lea eax,[esp+04h] push eax mov byte ptr [esp+0Ah],5Ch mov byte ptr [esp+0Bh],00h call [KERNEL32.dll!GetDriveTypeA] test eax,eax jz L004B11AD cmp eax,00000001h jz L004B11AD mov eax,00000001h retn ;------------------------------------------------------------------------------ L004B11AD: xor eax,eax retn ;------------------------------------------------------------------------------ L004B11B0: mov ecx,[ebp-2Ch] jmp SUB_L00441D50 L004B11B8: mov eax,L004BDDC8 jmp L0049A8E0 Align 16 L004B11D0: mov ecx,[ebp-10h] jmp SUB_L00441D50 L004B11D8: mov eax,L004BDDF0 jmp L0049A8E0 Align 16 L004B11F0: mov ecx,[ebp-10h] jmp SUB_L00441D50 L004B11F8: mov eax,L004BDE18 jmp L0049A8E0 Align 16 L004B1210: mov ecx,[ebp-10h] jmp SUB_L00441D50 L004B1218: mov eax,L004BDE40 jmp L0049A8E0 Align 16 L004B1230: mov ecx,[ebp-28h] jmp SUB_L004019F0 L004B1238: mov eax,L004BDE68 jmp L0049A8E0 Align 16 L004B1250: mov eax,[ebp-10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B125B: mov eax,L004BDE90 jmp L0049A8E0 Align 16 L004B1270: mov ecx,[ebp-1Ch] jmp SUB_L00441D50 L004B1278: mov eax,[ebp+08h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B1283: mov eax,[ebp+08h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B128E: mov eax,[ebp+08h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B1299: mov eax,[ebp+08h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B12A4: mov eax,L004BDEB8 jmp L0049A8E0 Align 4 L004B12B0: mov ecx,[ebp-10h] jmp SUB_L00441D50 L004B12B8: mov eax,L004BDF00 jmp L0049A8E0 Align 16 L004B12D0: mov eax,[ebp-10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B12DB: mov eax,[ebp-10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B12E6: mov eax,L004BDF28 jmp L0049A8E0 L004B12F0: mov eax,[ebp-14h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B12FB: mov eax,L004BDF58 jmp L0049A8E0 Align 16 L004B1310: mov ecx,[ebp-2Ch] jmp SUB_L00441D50 L004B1318: mov eax,L004BDF80 jmp L0049A8E0 Align 16 L004B1330: mov ecx,[ebp-10h] jmp SUB_L00441D50 L004B1338: mov eax,L004BDFA8 jmp L0049A8E0 Align 16 L004B1350: mov ecx,[ebp-2Ch] jmp SUB_L00441D50 L004B1358: mov eax,[ebp+2Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B1363: mov eax,[ebp+14h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B136E: mov eax,[ebp+14h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B1379: mov eax,[ebp+14h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B1384: mov eax,[ebp+14h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B138F: mov eax,[ebp+14h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B139A: mov eax,[ebp+14h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B13A5: mov eax,[ebp+14h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B13B0: mov eax,L004BDFD0 jmp L0049A8E0 Align 8 L004B13C0: mov ecx,[ebp-10h] jmp SUB_L00441D50 L004B13C8: mov eax,L004BE038 jmp L0049A8E0 Align 16 L004B13E0: mov ecx,[ebp-10h] jmp SUB_L0042FD20 L004B13E8: mov eax,L004BE060 jmp L0049A8E0 Align 16 L004B1400: mov ecx,[ebp-1Ch] jmp SUB_L00441D50 L004B1408: mov eax,[ebp+14h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B1413: mov eax,[ebp+14h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B141E: mov eax,L004BE088 jmp L0049A8E0 Align 16 L004B1430: mov ecx,[ebp-10h] jmp SUB_L00441D50 L004B1438: mov eax,L004BE0C0 jmp L0049A8E0 Align 16 L004B1450: mov ecx,[ebp-10h] jmp SUB_L00407380 L004B1458: mov eax,[ebp+10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B1463: mov eax,L004BE0E8 jmp L0049A8E0 Align 4 L004B1470: mov ecx,[ebp-10h] jmp SUB_L00407380 L004B1478: mov eax,L004BE118 jmp L0049A8E0 Align 16 L004B1490: mov eax,[ebp-10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B149B: mov eax,L004BE140 jmp L0049A8E0 Align 16 L004B14B0: mov ecx,[ebp-10h] jmp SUB_L00441D50 L004B14B8: mov eax,L004BE168 jmp L0049A8E0 Align 16 L004B14D0: mov ecx,[ebp-10h] jmp SUB_L00441D50 L004B14D8: mov eax,L004BE190 jmp L0049A8E0 Align 16 L004B14F0: mov eax,[ebp-1Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B14FB: mov eax,L004BE1B8 jmp L0049A8E0 Align 16 L004B1510: mov eax,[ebp-20h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B151B: mov eax,L004BE1E0 jmp L0049A8E0 Align 16 L004B1530: mov eax,[ebp+08h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B153B: mov eax,L004BE208 jmp L0049A8E0 Align 16 L004B1550: mov eax,[ebp-1Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B155B: mov eax,[ebp-1Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B1566: mov eax,L004BE230 jmp L0049A8E0 L004B1570: mov eax,[ebp-10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B157B: mov eax,L004BE260 jmp L0049A8E0 Align 16 L004B1590: mov eax,[ebp-10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B159B: mov eax,L004BE288 jmp L0049A8E0 Align 16 L004B15B0: mov eax,[ebp-10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B15BB: mov eax,L004BE2B0 jmp L0049A8E0 Align 16 L004B15D0: mov eax,[ebp-10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B15DB: mov eax,L004BE2D8 jmp L0049A8E0 Align 16 L004B15F0: mov eax,[ebp-10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B15FB: mov eax,L004BE300 jmp L0049A8E0 Align 16 L004B1610: mov eax,[ebp-10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B161B: mov eax,L004BE328 jmp L0049A8E0 Align 16 L004B1630: mov eax,[ebp-14h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B163B: mov eax,L004BE350 jmp L0049A8E0 Align 16 L004B1650: mov eax,[ebp-10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B165B: mov eax,L004BE378 jmp L0049A8E0 Align 16 L004B1670: mov eax,[ebp-10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B167B: mov eax,[ebp-10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B1686: mov eax,L004BE3A0 jmp L0049A8E0 L004B1690: mov eax,[ebp-10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B169B: mov eax,L004BE3D0 jmp L0049A8E0 Align 16 L004B16B0: mov eax,[ebp-10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B16BB: mov eax,L004BE3F8 jmp L0049A8E0 Align 16 L004B16D0: mov eax,[ebp-10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B16DB: mov eax,L004BE420 jmp L0049A8E0 Align 16 L004B16F0: mov eax,[ebp-10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B16FB: mov eax,L004BE448 jmp L0049A8E0 Align 16 L004B1710: mov eax,[ebp-10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B171B: mov eax,L004BE470 jmp L0049A8E0 Align 16 L004B1730: mov eax,[ebp-10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B173B: mov eax,L004BE498 jmp L0049A8E0 Align 16 L004B1750: lea ecx,[ebp-000000BCh] jmp SUB_L0042D080 L004B175B: mov eax,L004BE4C0 jmp L0049A8E0 Align 16 L004B1770: mov eax,[ebp-10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B177B: mov eax,[ebp-10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B1786: mov eax,L004BE4E8 jmp L0049A8E0 L004B1790: mov eax,[ebp-10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B179B: mov eax,L004BE518 jmp L0049A8E0 Align 16 L004B17B0: mov eax,[ebp-10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B17BB: mov eax,L004BE540 jmp L0049A8E0 Align 16 L004B17D0: mov eax,[ebp-10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B17DB: mov eax,L004BE568 jmp L0049A8E0 Align 16 L004B17F0: mov eax,[ebp-10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B17FB: mov eax,L004BE590 jmp L0049A8E0 Align 16 L004B1810: mov eax,[ebp-10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B181B: mov eax,L004BE5B8 jmp L0049A8E0 Align 16 L004B1830: mov eax,[ebp-10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B183B: mov eax,L004BE5E0 jmp L0049A8E0 Align 16 L004B1850: mov eax,[ebp-10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B185B: mov eax,L004BE608 jmp L0049A8E0 Align 16 L004B1870: mov eax,[ebp-10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B187B: mov eax,L004BE630 jmp L0049A8E0 Align 16 L004B1890: mov eax,[ebp-10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B189B: mov eax,L004BE658 jmp L0049A8E0 Align 16 L004B18B0: mov eax,[ebp-10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B18BB: mov eax,L004BE680 jmp L0049A8E0 Align 16 L004B18D0: mov eax,[ebp-10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B18DB: mov eax,L004BE6A8 jmp L0049A8E0 Align 16 L004B18F0: mov eax,[ebp-10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B18FB: mov eax,L004BE6D0 jmp L0049A8E0 Align 16 L004B1910: mov eax,[ebp-10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B191B: mov eax,L004BE6F8 jmp L0049A8E0 Align 16 L004B1930: mov eax,[ebp-10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B193B: mov eax,L004BE720 jmp L0049A8E0 Align 16 L004B1950: mov eax,[ebp-10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B195B: mov eax,L004BE748 jmp L0049A8E0 Align 16 L004B1970: mov eax,[ebp-10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B197B: mov eax,L004BE770 jmp L0049A8E0 Align 16 L004B1990: mov ecx,[ebp-10h] jmp SUB_L00441D50 L004B1998: mov eax,L004BE798 jmp L0049A8E0 Align 16 L004B19B0: mov ecx,[ebp-10h] jmp SUB_L00441D50 L004B19B8: mov eax,L004BE7C0 jmp L0049A8E0 Align 16 L004B19D0: mov ecx,[ebp-10h] jmp SUB_L00441D50 L004B19D8: mov eax,L004BE7E8 jmp L0049A8E0 Align 16 L004B19F0: mov ecx,[ebp-10h] jmp SUB_L00441D50 L004B19F8: mov eax,L004BE810 jmp L0049A8E0 Align 16 L004B1A10: mov ecx,[ebp-24h] jmp SUB_L00441D50 L004B1A18: mov eax,L004BE838 jmp L0049A8E0 Align 16 L004B1A30: mov ecx,[ebp-10h] jmp SUB_L00441D50 L004B1A38: mov eax,L004BE860 jmp L0049A8E0 Align 16 L004B1A50: mov ecx,[ebp-10h] jmp SUB_L00441D50 L004B1A58: mov eax,[ebp+18h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B1A63: mov eax,[ebp+18h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B1A6E: mov eax,L004BE888 jmp L0049A8E0 Align 16 L004B1A80: mov ecx,[ebp-10h] jmp SUB_L00441D50 L004B1A88: mov eax,L004BE8C0 jmp L0049A8E0 Align 16 L004B1AA0: mov eax,[ebp-10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B1AAB: mov eax,[ebp-10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B1AB6: mov eax,L004BE8E8 jmp L0049A8E0 L004B1AC0: mov ecx,[ebp-10h] jmp SUB_L00441D50 L004B1AC8: mov eax,[ebp+08h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B1AD3: mov eax,L004BE918 jmp L0049A8E0 Align 4 L004B1AE0: mov ecx,[ebp-10h] jmp SUB_L00441D50 L004B1AE8: mov eax,L004BE948 jmp L0049A8E0 Align 16 L004B1B00: mov eax,[ebp-18h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B1B0B: mov eax,[ebp-18h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B1B16: mov eax,L004BE970 jmp L0049A8E0 L004B1B20: mov eax,[ebp-28h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B1B2B: mov eax,[ebp-28h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B1B36: mov eax,[ebp+08h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B1B41: mov eax,[ebp+08h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B1B4C: mov eax,[ebp-28h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B1B57: mov eax,L004BE9B0 jmp L0049A8E0 Align 16 L004B1B70: mov ecx,[ebp-10h] jmp SUB_L00441D50 L004B1B78: mov eax,[ebp+08h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B1B83: mov eax,[ebp+08h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B1B8E: mov eax,L004BE9F8 jmp L0049A8E0 Align 16 L004B1BA0: mov ecx,[ebp-10h] jmp SUB_L00441D50 L004B1BA8: mov eax,L004BEA30 jmp L0049A8E0 Align 16 L004B1BC0: mov eax,[ebp+18h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B1BCB: mov eax,L004BEA58 jmp L0049A8E0 Align 16 L004B1BE0: mov ecx,[ebp-18h] jmp SUB_L00441D50 L004B1BE8: mov eax,[ebp-1Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B1BF3: mov eax,[ebp-1Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B1BFE: mov eax,[ebp-1Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B1C09: mov eax,[ebp-1Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B1C14: mov eax,[ebp-1Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B1C1F: mov eax,[ebp-1Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B1C2A: mov eax,[ebp-1Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B1C35: mov eax,[ebp-1Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B1C40: mov eax,[ebp-1Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B1C4B: mov eax,[ebp-1Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B1C56: mov eax,[ebp-1Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B1C61: mov eax,[ebp-1Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B1C6C: mov eax,[ebp-1Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B1C77: mov eax,[ebp-1Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B1C82: mov eax,[ebp-1Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B1C8D: mov eax,[ebp-1Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B1C98: mov eax,L004BEA80 jmp L0049A8E0 Align 16 L004B1CB0: mov ecx,[ebp-10h] jmp SUB_L00441D50 L004B1CB8: mov eax,L004BEB28 jmp L0049A8E0 Align 16 L004B1CD0: mov ecx,[ebp-18h] jmp SUB_L00441D50 L004B1CD8: mov eax,[ebp-1Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B1CE3: mov eax,[ebp-1Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B1CEE: mov eax,[ebp-1Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B1CF9: mov eax,[ebp-1Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B1D04: mov eax,[ebp-1Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B1D0F: mov eax,[ebp-1Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B1D1A: mov eax,[ebp-1Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B1D25: mov eax,[ebp-1Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B1D30: mov eax,[ebp-1Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B1D3B: mov eax,[ebp-1Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B1D46: mov eax,[ebp-1Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B1D51: mov eax,[ebp-1Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B1D5C: mov eax,[ebp-1Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B1D67: mov eax,[ebp-1Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B1D72: mov eax,[ebp-1Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B1D7D: mov eax,[ebp-1Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B1D88: mov eax,L004BEB50 jmp L0049A8E0 Align 16 L004B1DA0: mov ecx,[ebp-10h] jmp SUB_L00441D50 L004B1DA8: mov eax,L004BEBF8 jmp L0049A8E0 Align 16 L004B1DC0: mov ecx,[ebp-18h] jmp SUB_L00441D50 L004B1DC8: mov eax,[ebp-1Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B1DD3: mov eax,[ebp-1Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B1DDE: mov eax,[ebp-1Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B1DE9: mov eax,[ebp-1Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B1DF4: mov eax,[ebp-1Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B1DFF: mov eax,[ebp-1Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B1E0A: mov eax,[ebp-1Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B1E15: mov eax,[ebp-1Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B1E20: mov eax,[ebp-1Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B1E2B: mov eax,[ebp-1Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B1E36: mov eax,[ebp-1Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B1E41: mov eax,[ebp-1Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B1E4C: mov eax,[ebp-1Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B1E57: mov eax,[ebp-1Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B1E62: mov eax,[ebp-1Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B1E6D: mov eax,L004BEC20 jmp L0049A8E0 Align 16 L004B1E80: mov ecx,[ebp-10h] jmp SUB_L00441D50 L004B1E88: mov eax,L004BECC0 jmp L0049A8E0 Align 16 L004B1EA0: mov ecx,[ebp-10h] jmp SUB_L00441D50 L004B1EA8: mov eax,[ebp+14h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B1EB3: mov eax,[ebp+14h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B1EBE: mov eax,[ebp+14h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B1EC9: mov eax,[ebp+14h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B1ED4: mov eax,[ebp+14h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B1EDF: mov eax,[ebp+14h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B1EEA: mov eax,L004BECE8 jmp L0049A8E0 Align 16 L004B1F00: mov ecx,[ebp-14h] jmp SUB_L00441D50 L004B1F08: mov eax,[ebp+10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B1F13: mov eax,[ebp+10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B1F1E: mov eax,[ebp+10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B1F29: mov eax,[ebp+10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B1F34: mov eax,[ebp+10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B1F3F: mov eax,[ebp+10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B1F4A: mov eax,[ebp+10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B1F55: mov eax,[ebp+10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B1F60: mov eax,[ebp+10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B1F6B: mov eax,L004BED40 jmp L0049A8E0 Align 16 L004B1F80: mov ecx,[ebp-10h] jmp SUB_L00441D50 L004B1F88: mov eax,[ebp-14h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B1F93: mov eax,[ebp-14h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B1F9E: mov eax,L004BEDB0 jmp L0049A8E0 Align 16 L004B1FB0: mov ecx,[ebp-10h] jmp SUB_L00441D50 L004B1FB8: mov eax,L004BEDE8 jmp L0049A8E0 Align 16 L004B1FD0: mov ecx,[ebp-10h] jmp SUB_L00441D50 L004B1FD8: mov eax,L004BEE10 jmp L0049A8E0 Align 16 L004B1FF0: mov ecx,[ebp-10h] jmp SUB_L00441D50 L004B1FF8: mov eax,L004BEE38 jmp L0049A8E0 Align 16 L004B2010: mov ecx,[ebp-14h] jmp SUB_L00441D50 L004B2018: mov eax,L004BEE60 jmp L0049A8E0 Align 16 L004B2030: mov ecx,[ebp-10h] jmp SUB_L00441D50 L004B2038: mov eax,L004BEE88 jmp L0049A8E0 Align 16 L004B2050: mov ecx,[ebp-10h] jmp SUB_L00441D50 L004B2058: mov eax,[ebp-14h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B2063: mov eax,[ebp-14h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B206E: mov eax,[ebp-14h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B2079: mov eax,[ebp-14h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B2084: mov eax,[ebp-14h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B208F: mov eax,[ebp-14h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B209A: mov eax,[ebp-14h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B20A5: mov eax,[ebp-14h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B20B0: mov eax,[ebp-14h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B20BB: mov eax,[ebp-14h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B20C6: mov eax,L004BEEB0 jmp L0049A8E0 L004B20D0: mov ecx,[ebp-10h] jmp SUB_L00441D50 L004B20D8: mov eax,L004BEF28 jmp L0049A8E0 Align 16 L004B20F0: mov ecx,[ebp-10h] jmp SUB_L00441D50 L004B20F8: mov eax,[ebp-14h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B2103: mov eax,[ebp-14h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B210E: mov eax,[ebp-14h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B2119: mov eax,[ebp-14h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B2124: mov eax,[ebp-14h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B212F: mov eax,L004BEF50 jmp L0049A8E0 Align 8 L004B2140: mov ecx,[ebp-10h] jmp SUB_L00441D50 L004B2148: mov eax,L004BEFA0 jmp L0049A8E0 Align 16 L004B2160: mov ecx,[ebp-10h] jmp SUB_L00441D50 L004B2168: mov eax,[ebp+0Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B2173: mov eax,[ebp+0Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B217E: mov eax,[ebp+0Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B2189: mov eax,[ebp+0Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B2194: mov eax,[ebp+0Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B219F: mov eax,L004BEFC8 jmp L0049A8E0 Align 8 L004B21B0: mov ecx,[ebp-10h] jmp SUB_L00441D50 L004B21B8: mov eax,L004BF018 jmp L0049A8E0 Align 16 L004B21D0: mov ecx,[ebp-10h] jmp SUB_L00441D50 L004B21D8: mov eax,[ebp+08h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B21E3: mov eax,[ebp+08h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B21EE: mov eax,[ebp+08h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B21F9: mov eax,L004BF040 jmp L0049A8E0 Align 16 L004B2210: mov ecx,[ebp-10h] jmp SUB_L00441D50 L004B2218: mov eax,L004BF080 jmp L0049A8E0 Align 16 L004B2230: mov ecx,[ebp-10h] jmp SUB_L00441D50 L004B2238: mov eax,[ebp+08h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B2243: mov eax,[ebp+08h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B224E: mov eax,[ebp+08h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B2259: mov eax,L004BF0A8 jmp L0049A8E0 Align 16 L004B2270: mov ecx,[ebp-10h] jmp SUB_L00441D50 L004B2278: mov eax,L004BF0E8 jmp L0049A8E0 Align 16 L004B2290: mov ecx,[ebp-10h] jmp SUB_L00441D50 L004B2298: mov eax,[ebp+14h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B22A3: mov eax,[ebp+14h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B22AE: mov eax,L004BF110 jmp L0049A8E0 Align 16 L004B22C0: mov ecx,[ebp-10h] jmp SUB_L00441D50 L004B22C8: mov eax,L004BF148 jmp L0049A8E0 Align 16 L004B22E0: mov ecx,[ebp-10h] jmp SUB_L00441D50 L004B22E8: mov eax,[ebp-14h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B22F3: mov eax,[ebp-14h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B22FE: mov eax,[ebp-14h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B2309: mov eax,[ebp-14h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B2314: mov eax,[ebp-14h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B231F: mov eax,[ebp-14h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B232A: mov eax,[ebp-14h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B2335: mov eax,[ebp-14h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B2340: mov eax,L004BF170 jmp L0049A8E0 Align 8 L004B2350: mov ecx,[ebp-10h] jmp SUB_L00441D50 L004B2358: mov eax,L004BF1D8 jmp L0049A8E0 Align 16 L004B2370: mov ecx,[ebp-18h] jmp SUB_L00441D50 L004B2378: mov eax,[ebp-1Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B2383: mov eax,[ebp-1Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B238E: mov eax,[ebp-1Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B2399: mov eax,[ebp-1Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B23A4: mov eax,[ebp-1Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B23AF: mov eax,[ebp-1Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B23BA: mov eax,[ebp-1Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B23C5: mov eax,[ebp-1Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B23D0: mov eax,L004BF200 jmp L0049A8E0 Align 8 L004B23E0: mov ecx,[ebp-10h] jmp SUB_L00441D50 L004B23E8: mov eax,L004BF268 jmp L0049A8E0 Align 16 L004B2400: mov ecx,[ebp-10h] jmp SUB_L00441D50 L004B2408: mov eax,[ebp+08h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B2413: mov eax,[ebp+08h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B241E: mov eax,[ebp+08h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B2429: mov eax,L004BF290 jmp L0049A8E0 Align 16 L004B2440: mov ecx,[ebp-10h] jmp SUB_L00441D50 L004B2448: mov eax,L004BF2D0 jmp L0049A8E0 Align 16 L004B2460: mov ecx,[ebp-18h] jmp L004217B0 L004B2468: mov eax,[ebp+0Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B2473: mov eax,[ebp+0Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B247E: mov eax,[ebp+0Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B2489: mov eax,[ebp+0Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B2494: mov eax,[ebp+0Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B249F: mov eax,[ebp+0Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B24AA: mov eax,[ebp+0Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B24B5: mov eax,[ebp+0Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B24C0: mov eax,[ebp+0Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B24CB: mov eax,[ebp+0Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B24D6: mov eax,[ebp+0Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B24E1: mov eax,[ebp+0Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B24EC: mov eax,[ebp+0Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B24F7: mov eax,[ebp+18h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B2502: mov eax,L004BF2F8 jmp L0049A8E0 Align 8 L004B2510: mov ecx,[ebp-10h] jmp L004217B0 L004B2518: mov eax,L004BF390 jmp L0049A8E0 Align 16 L004B2530: mov eax,[ebp+08h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B253B: mov eax,[ebp+08h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B2546: mov eax,[ebp+08h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B2551: mov eax,L004BF3B8 jmp L0049A8E0 Align 8 L004B2560: mov ecx,[ebp-10h] jmp L004217B0 L004B2568: mov eax,[ebp+18h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B2573: mov eax,[ebp+18h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B257E: mov eax,[ebp+18h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B2589: mov eax,[ebp+18h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B2594: mov eax,[ebp+18h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B259F: mov eax,[ebp+18h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B25AA: mov eax,[ebp+18h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B25B5: mov eax,[ebp+18h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B25C0: mov eax,[ebp+18h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B25CB: mov eax,[ebp+18h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B25D6: mov eax,[ebp+18h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B25E1: mov eax,[ebp+18h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B25EC: mov eax,[ebp+18h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B25F7: mov eax,[ebp+18h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B2602: mov eax,[ebp+18h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B260D: mov eax,[ebp+18h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B2618: mov eax,[ebp+18h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B2623: mov eax,[ebp+18h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B262E: mov eax,[ebp+18h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B2639: mov eax,[ebp+18h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B2644: mov eax,[ebp+18h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B264F: mov eax,[ebp+18h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B265A: mov eax,L004BF3F0 jmp L0049A8E0 Align 16 L004B2670: mov ecx,[ebp-10h] jmp L004217B0 L004B2678: mov eax,L004BF4C8 jmp L0049A8E0 Align 16 L004B2690: mov eax,[ebp+08h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B269B: mov eax,[ebp+08h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B26A6: mov eax,L004BF4F0 jmp L0049A8E0 L004B26B0: mov eax,[ebp-18h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B26BB: mov eax,[ebp+08h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B26C6: mov eax,L004BF520 jmp L0049A8E0 L004B26D0: mov ecx,[ebp-10h] jmp L004217B0 L004B26D8: mov eax,L004BF550 jmp L0049A8E0 Align 16 L004B26F0: mov ecx,[ebp-10h] jmp L004217B0 L004B26F8: mov eax,L004BF578 jmp L0049A8E0 Align 16 L004B2710: mov ecx,[ebp-18h] jmp L004217B0 L004B2718: mov eax,[ebp+10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B2723: mov eax,[ebp+10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B272E: mov eax,[ebp+10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B2739: mov eax,[ebp+10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B2744: mov eax,[ebp+10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B274F: mov eax,[ebp+10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B275A: mov eax,L004BF5A0 jmp L0049A8E0 Align 16 L004B2770: mov ecx,[ebp-10h] jmp L004217B0 L004B2778: mov eax,L004BF5F8 jmp L0049A8E0 Align 16 L004B2790: mov ecx,[ebp-10h] jmp L004217B0 L004B2798: mov eax,[ebp-14h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B27A3: mov eax,[ebp-14h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B27AE: mov eax,[ebp-14h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B27B9: mov eax,L004BF620 jmp L0049A8E0 Align 16 L004B27D0: mov ecx,[ebp-10h] jmp L004217B0 L004B27D8: mov eax,L004BF660 jmp L0049A8E0 Align 16 L004B27F0: mov eax,[ebp+0Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B27FB: mov eax,L004BF688 jmp L0049A8E0 Align 16 L004B2810: mov ecx,[ebp-10h] jmp L004217B0 L004B2818: mov eax,L004BF6B0 jmp L0049A8E0 Align 16 L004B2830: mov ecx,[ebp-10h] jmp L004217B0 L004B2838: mov eax,L004BF6D8 jmp L0049A8E0 Align 16 L004B2850: lea ecx,[ebp-38h] jmp SUB_L004823F0 L004B2858: mov eax,L004BF700 jmp L0049A8E0 Align 16 L004B2870: mov ecx,[ebp-10h] jmp SUB_L00441D50 L004B2878: mov eax,[ebp+24h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B2883: mov eax,L004BF728 jmp L0049A8E0 Align 4 L004B2890: mov ecx,[ebp-14h] jmp SUB_L00441D50 L004B2898: mov eax,L004BF758 jmp L0049A8E0 Align 16 L004B28B0: mov ecx,[ebp-10h] jmp SUB_L00441D50 L004B28B8: mov ecx,[ebp-10h] add ecx,000000D0h jmp SUB_L0040CC60 L004B28C6: push SUB_L0040CC60 push 00000002h push 0000000Ch mov eax,[ebp-10h] add eax,000000E4h push eax call SUB_L0049AEB0 retn ;------------------------------------------------------------------------------ L004B28DE: mov eax,[ebp+18h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B28E9: mov eax,[ebp+18h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B28F4: mov eax,L004BF780 jmp L0049A8E0 Align 4 L004B2900: mov ecx,[ebp-10h] jmp SUB_L00441D50 L004B2908: mov ecx,[ebp-10h] add ecx,000000D0h jmp SUB_L0040CC60 L004B2916: push SUB_L0040CC60 push 00000002h push 0000000Ch mov eax,[ebp-10h] add eax,000000E4h push eax call SUB_L0049AEB0 retn ;------------------------------------------------------------------------------ L004B292E: mov eax,L004BF7C8 jmp L0049A8E0 Align 16 L004B2940: mov eax,[ebp-54h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B294B: mov eax,L004BF800 jmp L0049A8E0 Align 16 L004B2960: mov ecx,[ebp-10h] add ecx,0000000Ch jmp L0042DB50 L004B296B: mov eax,L004BF828 jmp L0049A8E0 Align 16 L004B2980: lea ecx,[ebp-00000088h] jmp SUB_L00493CF0 L004B298B: lea ecx,[ebp-44h] jmp SUB_L00493CF0 L004B2993: lea ecx,[ebp-00000088h] jmp SUB_L0042DB40 L004B299E: lea ecx,[ebp-24h] jmp L0042DC00 L004B29A6: lea ecx,[ebp-34h] jmp SUB_L00493CF0 L004B29AE: lea ecx,[ebp-54h] jmp SUB_L00493CF0 L004B29B6: mov eax,[ebp-18h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B29C1: lea ecx,[ebp-64h] jmp SUB_L00493CF0 L004B29C9: mov eax,[ebp-18h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B29D4: mov eax,L004BF850 jmp L0049A8E0 Align 4 L004B29E0: mov ecx,[ebp-10h] jmp SUB_L00493CF0 L004B29E8: lea ecx,[ebp-20h] jmp SUB_L00493CF0 L004B29F0: mov eax,L004BF8B8 jmp L0049A8E0 Align 8 L004B2A00: mov eax,[ebp-10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B2A0B: mov ecx,[ebp-10h] jmp SUB_L00493CF0 L004B2A13: mov eax,L004BF8E8 jmp L0049A8E0 Align 4 L004B2A20: mov ecx,[ebp-2Ch] jmp SUB_L00441D50 L004B2A28: mov eax,L004BF918 jmp L0049A8E0 Align 16 L004B2A40: mov ecx,[ebp-10h] jmp SUB_L00441D50 L004B2A48: mov eax,L004BF940 jmp L0049A8E0 Align 16 L004B2A60: lea ecx,[ebp-38h] jmp SUB_L0040CC60 L004B2A68: lea ecx,[ebp-24h] jmp SUB_L0040CC60 L004B2A70: lea ecx,[ebp-1Ch] jmp SUB_L0040CC60 L004B2A78: mov eax,L004BF968 jmp L0049A8E0 Align 16 L004B2A90: mov ecx,[ebp-10h] add ecx,00000020h jmp SUB_L0040CC60 L004B2A9B: mov eax,L004BF9A0 jmp L0049A8E0 Align 16 L004B2AB0: mov eax,[ebp-28h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B2ABB: mov eax,L004BF9C8 jmp L0049A8E0 Align 16 L004B2AD0: mov eax,[ebp-28h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B2ADB: mov eax,L004BF9F0 jmp L0049A8E0 Align 16 L004B2AF0: mov eax,[ebp-28h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B2AFB: mov eax,L004BFA18 jmp L0049A8E0 Align 16 L004B2B10: mov ecx,[ebp-10h] jmp SUB_L00441D50 L004B2B18: mov eax,[ebp+08h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B2B23: mov eax,[ebp+08h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B2B2E: mov eax,[ebp+08h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B2B39: mov eax,[ebp+08h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B2B44: mov eax,[ebp+08h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B2B4F: mov eax,[ebp+08h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B2B5A: mov eax,[ebp+08h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B2B65: mov eax,[ebp+08h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B2B70: mov eax,[ebp+08h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B2B7B: mov eax,[ebp+08h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B2B86: mov eax,[ebp+08h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B2B91: mov eax,[ebp+08h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B2B9C: mov eax,[ebp+08h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B2BA7: mov eax,L004BFA40 jmp L0049A8E0 Align 16 L004B2BC0: mov ecx,[ebp-10h] jmp SUB_L00441D50 L004B2BC8: mov eax,L004BFAD0 jmp L0049A8E0 Align 16 L004B2BE0: mov ecx,[ebp-2Ch] jmp SUB_L00441D50 L004B2BE8: mov eax,[ebp-58h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B2BF3: mov eax,L004BFAF8 jmp L0049A8E0 Align 4 L004B2C00: mov ecx,[ebp-10h] jmp SUB_L00441D50 L004B2C08: mov eax,L004BFB28 jmp L0049A8E0 Align 16 L004B2C20: mov eax,[ebp+10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B2C2B: mov eax,L004BFB50 jmp L0049A8E0 Align 16 L004B2C40: mov eax,[ebp+20h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B2C4B: mov eax,L004BFB78 jmp L0049A8E0 Align 16 L004B2C60: mov eax,[ebp-14h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B2C6B: mov eax,L004BFBA0 jmp L0049A8E0 Align 16 L004B2C80: mov eax,[ebp+14h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B2C8B: mov eax,L004BFBC8 jmp L0049A8E0 Align 16 L004B2CA0: mov eax,[ebp+28h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B2CAB: mov eax,L004BFBF0 jmp L0049A8E0 Align 16 L004B2CC0: mov eax,[ebp+10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B2CCB: mov eax,L004BFC18 jmp L0049A8E0 Align 16 L004B2CE0: mov eax,[ebp+10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B2CEB: mov eax,L004BFC40 jmp L0049A8E0 Align 16 L004B2D00: mov eax,[ebp+10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B2D0B: mov eax,L004BFC68 jmp L0049A8E0 Align 16 L004B2D20: mov eax,[ebp-10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B2D2B: mov eax,[ebp-10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B2D36: mov eax,L004BFC90 jmp L0049A8E0 L004B2D40: mov eax,[ebp-10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B2D4B: mov eax,[ebp-10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B2D56: mov eax,L004BFCC0 jmp L0049A8E0 L004B2D60: lea ecx,[ebp+20h] jmp SUB_L0040CC60 L004B2D68: lea ecx,[ebp+18h] jmp SUB_L0040CC60 L004B2D70: lea ecx,[ebp-14h] jmp SUB_L0040CC60 L004B2D78: lea ecx,[ebp-1Ch] jmp SUB_L0040CC60 L004B2D80: mov eax,[ebp+0Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B2D8B: lea ecx,[ebp-1Ch] jmp SUB_L0040CC60 L004B2D93: mov eax,[ebp+0Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B2D9E: lea ecx,[ebp-1Ch] jmp SUB_L0040CC60 L004B2DA6: mov eax,[ebp+0Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B2DB1: mov eax,[ebp+0Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B2DBC: mov eax,[ebp+28h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B2DC7: mov eax,[ebp+3Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B2DD2: mov eax,[ebp+3Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B2DDD: mov eax,L004BFCF0 jmp L0049A8E0 Align 16 L004B2DF0: lea ecx,[ebp+14h] jmp SUB_L0040CC60 L004B2DF8: lea ecx,[ebp+0Ch] jmp SUB_L0040CC60 L004B2E00: mov eax,[ebp-10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B2E0B: mov eax,L004BFD78 jmp L0049A8E0 Align 16 L004B2E20: lea ecx,[ebp+0Ch] jmp SUB_L0040CC60 L004B2E28: mov eax,[ebp-10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B2E33: mov eax,L004BFDB0 jmp L0049A8E0 Align 4 L004B2E40: lea ecx,[ebp+10h] jmp SUB_L0040CC60 L004B2E48: mov eax,[ebp-10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B2E53: mov eax,L004BFDE0 jmp L0049A8E0 Align 4 L004B2E60: mov eax,[ebp-10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B2E6B: mov eax,L004BFE10 jmp L0049A8E0 Align 16 L004B2E80: mov ecx,[ebp-10h] jmp SUB_L0042FD20 L004B2E88: mov eax,L004BFE38 jmp L0049A8E0 Align 16 L004B2EA0: lea ecx,[ebp+10h] jmp SUB_L0040CC60 L004B2EA8: lea ecx,[ebp+08h] jmp SUB_L0040CC60 L004B2EB0: mov ecx,[ebp-2Ch] jmp SUB_L00441D50 L004B2EB8: mov ecx,[ebp-2Ch] add ecx,00000094h jmp SUB_L0040CC60 L004B2EC6: mov eax,[ebp+20h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B2ED1: lea ecx,[ebp-24h] jmp SUB_L0040CC60 L004B2ED9: mov ecx,[ebp+20h] jmp SUB_L0042FD20 L004B2EE1: mov eax,L004BFE60 jmp L0049A8E0 Align 8 L004B2EF0: lea ecx,[ebp+08h] jmp SUB_L0040CC60 L004B2EF8: mov ecx,[ebp-20h] jmp SUB_L00441D50 L004B2F00: mov ecx,[ebp-20h] add ecx,00000094h jmp SUB_L0040CC60 L004B2F0E: mov eax,[ebp+1Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B2F19: lea ecx,[ebp-1Ch] jmp SUB_L0040CC60 L004B2F21: mov ecx,[ebp+1Ch] jmp SUB_L0042FD20 L004B2F29: mov eax,L004BFEB8 jmp L0049A8E0 Align 16 L004B2F40: lea ecx,[ebp+0Ch] jmp SUB_L0040CC60 L004B2F48: mov ecx,[ebp-24h] jmp SUB_L00441D50 L004B2F50: mov ecx,[ebp-24h] add ecx,00000094h jmp SUB_L0040CC60 L004B2F5E: lea ecx,[ebp-2Ch] jmp SUB_L0040CC60 L004B2F66: mov eax,[ebp+20h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B2F71: lea ecx,[ebp-18h] jmp SUB_L0040CC60 L004B2F79: mov ecx,[ebp+20h] jmp SUB_L0042FD20 L004B2F81: mov eax,L004BFF08 jmp L0049A8E0 Align 8 L004B2F90: mov ecx,[ebp-10h] jmp SUB_L00441D50 L004B2F98: mov ecx,[ebp-10h] add ecx,00000094h jmp SUB_L0040CC60 L004B2FA6: mov eax,[ebp+14h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B2FB1: lea ecx,[ebp-1Ch] jmp SUB_L0040CC60 L004B2FB9: mov ecx,[ebp+14h] jmp SUB_L0042FD20 L004B2FC1: mov eax,L004BFF60 jmp L0049A8E0 Align 8 L004B2FD0: lea ecx,[ebp+08h] jmp SUB_L0040CC60 L004B2FD8: mov ecx,[ebp-1Ch] jmp SUB_L00441D50 L004B2FE0: mov ecx,[ebp-1Ch] add ecx,00000094h jmp SUB_L0040CC60 L004B2FEE: mov eax,[ebp+18h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B2FF9: lea ecx,[ebp-24h] jmp SUB_L0040CC60 L004B3001: mov ecx,[ebp+18h] jmp SUB_L0042FD20 L004B3009: mov eax,L004BFFA8 jmp L0049A8E0 Align 16 L004B3020: mov ecx,[ebp-10h] jmp SUB_L00441D50 L004B3028: mov ecx,[ebp-10h] add ecx,00000094h jmp SUB_L0040CC60 L004B3036: mov eax,[ebp-14h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B3041: lea ecx,[ebp-1Ch] jmp SUB_L0040CC60 L004B3049: mov ecx,[ebp-14h] jmp SUB_L0042FD20 L004B3051: mov eax,L004BFFF8 jmp L0049A8E0 Align 8 L004B3060: mov ecx,[ebp-10h] jmp SUB_L00441D50 L004B3068: mov ecx,[ebp-10h] add ecx,00000094h jmp SUB_L0040CC60 L004B3076: mov eax,L004C0040 jmp L0049A8E0 L004B3080: lea ecx,[ebp-14h] jmp SUB_L0040CC60 L004B3088: mov eax,[ebp-18h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B3093: mov eax,[ebp-18h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B309E: mov eax,L004C0070 jmp L0049A8E0 Align 16 L004B30B0: mov eax,[ebp-10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B30BB: mov eax,L004C00A8 jmp L0049A8E0 Align 16 L004B30D0: mov eax,[ebp-10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B30DB: mov eax,L004C00D0 jmp L0049A8E0 Align 16 L004B30F0: mov eax,[ebp+14h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B30FB: mov eax,[ebp+14h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B3106: mov eax,[ebp+08h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B3111: mov eax,[ebp+14h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B311C: mov eax,[ebp-20h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B3127: mov eax,[ebp+14h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B3132: mov eax,[ebp+14h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B313D: mov eax,[ebp+14h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B3148: mov eax,[ebp+08h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B3153: mov eax,[ebp+08h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B315E: mov eax,L004C00F8 jmp L0049A8E0 Align 16 L004B3170: mov eax,[ebp-24h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B317B: mov eax,[ebp-24h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B3186: mov eax,[ebp-24h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B3191: mov eax,[ebp-24h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B319C: mov eax,L004C0168 jmp L0049A8E0 Align 16 L004B31B0: mov ecx,[ebp-10h] jmp SUB_L00441D50 L004B31B8: mov eax,L004C01A8 jmp L0049A8E0 Align 16 L004B31D0: mov ecx,[ebp-10h] jmp SUB_L00441D50 L004B31D8: mov eax,L004C01D0 jmp L0049A8E0 Align 16 L004B31F0: mov ecx,[ebp-18h] jmp SUB_L00441D50 L004B31F8: mov eax,L004C01F8 jmp L0049A8E0 Align 16 L004B3210: mov ecx,[ebp-10h] jmp SUB_L00441D50 L004B3218: mov eax,L004C0220 jmp L0049A8E0 Align 16 L004B3230: mov ecx,[ebp-10h] jmp SUB_L00441D50 L004B3238: mov eax,[ebp+24h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B3243: mov eax,[ebp+24h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B324E: mov eax,[ebp+24h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B3259: mov eax,[ebp+24h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B3264: mov eax,L004C0248 jmp L0049A8E0 Align 4 L004B3270: mov ecx,[ebp-10h] jmp SUB_L00441D50 L004B3278: mov eax,L004C0290 jmp L0049A8E0 Align 16 L004B3290: lea ecx,[ebp-2Ch] jmp SUB_L0040CC60 L004B3298: lea ecx,[ebp-20h] jmp SUB_L0040CC60 L004B32A0: lea ecx,[ebp-34h] jmp SUB_L0040CC60 L004B32A8: mov eax,[ebp-24h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B32B3: mov eax,[ebp-24h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B32BE: lea ecx,[ebp-3Ch] jmp SUB_L0040CC60 L004B32C6: lea ecx,[ebp-44h] jmp SUB_L0040CC60 L004B32CE: mov eax,[ebp-24h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B32D9: lea ecx,[ebp-44h] jmp SUB_L0040CC60 L004B32E1: mov eax,[ebp-24h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B32EC: lea ecx,[ebp-44h] jmp SUB_L0040CC60 L004B32F4: mov eax,[ebp-24h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B32FF: mov eax,[ebp+08h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B330A: mov eax,[ebp-24h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B3315: mov eax,L004C02B8 jmp L0049A8E0 Align 4 L004B3320: mov ecx,[ebp-14h] jmp SUB_L00441D50 L004B3328: mov eax,[ebp-20h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B3333: mov eax,[ebp-20h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B333E: mov eax,L004C0348 jmp L0049A8E0 Align 16 L004B3350: mov ecx,[ebp-10h] jmp SUB_L00441D50 L004B3358: mov eax,L004C0380 jmp L0049A8E0 Align 16 L004B3370: mov eax,[ebp-28h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B337B: mov eax,[ebp-24h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B3386: mov eax,L004C03A8 jmp L0049A8E0 L004B3390: mov eax,[ebp-10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B339B: mov eax,[ebp-1Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B33A6: mov eax,[ebp-10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B33B1: mov eax,[ebp-10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B33BC: mov eax,L004C03D8 jmp L0049A8E0 Align 16 L004B33D0: mov ecx,[ebp-1Ch] jmp L004217B0 L004B33D8: mov eax,[ebp+10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B33E3: mov eax,[ebp+10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B33EE: mov eax,[ebp+10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B33F9: mov eax,[ebp+10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B3404: mov eax,[ebp+10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B340F: mov eax,[ebp+10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B341A: mov eax,L004C0418 jmp L0049A8E0 Align 16 L004B3430: mov ecx,[ebp-10h] jmp SUB_L00441D50 L004B3438: mov eax,[ebp+08h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B3443: mov eax,[ebp+08h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B344E: mov eax,[ebp+08h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B3459: mov eax,[ebp+08h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B3464: mov eax,L004C0470 jmp L0049A8E0 Align 4 L004B3470: mov ecx,[ebp-10h] jmp SUB_L00441D50 L004B3478: mov eax,[ebp+0Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B3483: mov eax,[ebp+0Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B348E: mov eax,[ebp+0Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B3499: mov eax,[ebp+0Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B34A4: mov eax,L004C04B8 jmp L0049A8E0 Align 4 L004B34B0: mov ecx,[ebp-10h] jmp SUB_L00441D50 L004B34B8: mov eax,L004C0500 jmp L0049A8E0 Align 16 L004B34D0: mov eax,[ebp-10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B34DB: mov eax,L004C0528 jmp L0049A8E0 Align 16 L004B34F0: mov eax,[ebp+08h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B34FB: mov eax,L004C0550 jmp L0049A8E0 Align 16 L004B3510: mov eax,[ebp+08h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B351B: mov eax,L004C0578 jmp L0049A8E0 Align 16 L004B3530: mov eax,[ebp-18h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B353B: mov eax,[ebp-18h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B3546: mov eax,L004C05A0 jmp L0049A8E0 L004B3550: mov eax,[ebp-14h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B355B: mov eax,[ebp-14h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B3566: mov eax,[ebp-14h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B3571: mov eax,[ebp-14h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B357C: mov eax,[ebp-14h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B3587: mov eax,[ebp-14h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B3592: mov eax,[ebp-14h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B359D: mov eax,[ebp-14h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B35A8: mov eax,[ebp-14h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B35B3: mov eax,[ebp-14h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B35BE: mov eax,[ebp-14h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B35C9: mov eax,[ebp-14h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B35D4: mov eax,L004C05D0 jmp L0049A8E0 Align 4 L004B35E0: mov eax,[ebp-14h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B35EB: mov eax,L004C0650 jmp L0049A8E0 Align 16 L004B3600: mov eax,[ebp-30h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B360B: mov eax,[ebp-30h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B3616: lea ecx,[ebp-2Ch] jmp SUB_L00448AE0 L004B361E: mov eax,[ebp-30h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B3629: mov eax,L004C0678 jmp L0049A8E0 Align 16 L004B3640: mov eax,[ebp+0Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B364B: mov eax,L004C06B8 jmp L0049A8E0 Align 16 L004B3660: lea ecx,[ebp-2Ch] jmp SUB_L00448AE0 L004B3668: mov eax,[ebp-30h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B3673: mov eax,[ebp-30h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B367E: mov eax,L004C06E0 jmp L0049A8E0 Align 16 L004B3690: mov eax,[ebp+08h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B369B: mov eax,[ebp+08h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B36A6: mov eax,[ebp+08h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B36B1: mov eax,[ebp+08h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B36BC: mov eax,L004C0718 jmp L0049A8E0 Align 16 L004B36D0: mov eax,[ebp-10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B36DB: mov eax,L004C0758 jmp L0049A8E0 Align 16 L004B36F0: mov eax,[ebp-10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B36FB: mov eax,[ebp-10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B3706: mov eax,L004C0780 jmp L0049A8E0 L004B3710: mov ecx,[ebp-10h] jmp SUB_L00441D50 L004B3718: mov eax,L004C07B0 jmp L0049A8E0 Align 16 L004B3730: mov eax,[ebp-10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B373B: mov eax,L004C07D8 jmp L0049A8E0 Align 16 L004B3750: mov eax,[ebp-10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B375B: mov eax,[ebp-10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B3766: mov eax,L004C0800 jmp L0049A8E0 L004B3770: mov eax,[ebp+0Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B377B: mov eax,L004C0830 jmp L0049A8E0 Align 16 L004B3790: mov ecx,[ebp-20h] jmp SUB_L00441D50 L004B3798: mov eax,L004C0858 jmp L0049A8E0 Align 16 L004B37B0: mov ecx,[ebp-10h] jmp SUB_L00441D50 L004B37B8: mov eax,L004C0880 jmp L0049A8E0 Align 16 L004B37D0: mov eax,[ebp-10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B37DB: mov eax,L004C08A8 jmp L0049A8E0 Align 16 L004B37F0: lea ecx,[ebp-4Ch] jmp SUB_L0040CC60 L004B37F8: mov eax,L004C08D0 jmp L0049A8E0 Align 16 L004B3810: lea ecx,[ebp-18h] jmp SUB_L0040CC60 L004B3818: mov eax,L004C08F8 jmp L0049A8E0 Align 16 L004B3830: lea ecx,[ebp-1Ch] jmp SUB_L0040CC60 L004B3838: mov eax,L004C0920 jmp L0049A8E0 Align 16 L004B3850: lea ecx,[ebp+10h] jmp SUB_L0040CC60 L004B3858: lea ecx,[ebp+08h] jmp SUB_L0040CC60 L004B3860: lea ecx,[ebp-28h] jmp SUB_L0040CC60 L004B3868: mov eax,L004C0948 jmp L0049A8E0 Align 16 L004B3880: lea ecx,[ebp-28h] jmp SUB_L0040CC60 L004B3888: mov eax,L004C0980 jmp L0049A8E0 Align 16 L004B38A0: mov ecx,[ebp-18h] add ecx,00000418h jmp SUB_L004823F0 L004B38AE: mov ecx,[ebp-18h] add ecx,000022E4h jmp L004588A0 L004B38BC: mov eax,L004C09A8 jmp L0049A8E0 Align 16 L004B38D0: mov eax,[ebp-10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B38DB: mov eax,L004C09D8 jmp L0049A8E0 Align 16 L004B38F0: mov ecx,[ebp-10h] add ecx,00000418h jmp SUB_L004823F0 L004B38FE: mov ecx,[ebp-10h] add ecx,000022E4h jmp L004588A0 L004B390C: mov ecx,[ebp-44h] add ecx,00000004h jmp SUB_L00493CF0 L004B3917: mov eax,L004C0A00 jmp L0049A8E0 Align 16 L004B3930: mov eax,[ebp-20h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B393B: mov eax,L004C0A40 jmp L0049A8E0 Align 16 L004B3950: mov eax,[ebp-10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B395B: mov eax,L004C0A68 jmp L0049A8E0 Align 16 L004B3970: mov eax,[ebp-10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B397B: mov eax,L004C0A90 jmp L0049A8E0 Align 16 L004B3990: mov eax,[ebp-10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B399B: mov eax,L004C0AB8 jmp L0049A8E0 Align 16 L004B39B0: mov eax,[ebp-10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B39BB: mov ecx,[ebp-10h] add ecx,00000004h jmp SUB_L00493CF0 L004B39C6: mov ecx,[ebp-34h] add ecx,00000004h jmp SUB_L00493CF0 L004B39D1: mov eax,L004C0AE0 jmp L0049A8E0 Align 8 L004B39E0: lea ecx,[ebp-1Ch] jmp SUB_L004823F0 L004B39E8: mov eax,L004C0B18 jmp L0049A8E0 Align 16 L004B3A00: mov ecx,[ebp-10h] add ecx,00000004h jmp SUB_L00493CF0 L004B3A0B: mov eax,L004C0B40 jmp L0049A8E0 Align 16 L004B3A20: lea ecx,[ebp+08h] jmp SUB_L0040CC60 L004B3A28: lea ecx,[ebp-18h] jmp SUB_L0040CC60 L004B3A30: mov eax,L004C0B68 jmp L0049A8E0 Align 8 L004B3A40: lea ecx,[ebp-2Ch] jmp SUB_L0040CC60 L004B3A48: mov eax,[ebp-24h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B3A53: mov eax,L004C0B98 jmp L0049A8E0 Align 4 L004B3A60: mov eax,[ebp-10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B3A6B: mov eax,[ebp-10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B3A76: mov eax,L004C0BC8 jmp L0049A8E0 L004B3A80: mov eax,[ebp-10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B3A8B: mov eax,L004C0BF8 jmp L0049A8E0 Align 16 L004B3AA0: mov eax,[ebp-14h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B3AAB: mov eax,L004C0C20 jmp L0049A8E0 Align 16 L004B3AC0: mov eax,[ebp-14h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B3ACB: mov eax,L004C0C48 jmp L0049A8E0 Align 16 L004B3AE0: mov eax,[ebp-14h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B3AEB: mov eax,L004C0C70 jmp L0049A8E0 Align 16 L004B3B00: mov ecx,[ebp-10h] jmp SUB_L0042FD20 L004B3B08: mov eax,L004C0C98 jmp L0049A8E0 Align 16 L004B3B20: mov ecx,[ebp-10h] jmp SUB_L0045C1D0 L004B3B28: mov ecx,[ebp-10h] jmp SUB_L0042FD20 L004B3B30: mov eax,L004C0CC0 jmp L0049A8E0 Align 8 L004B3B40: lea ecx,[ebp+08h] jmp SUB_L0040CC60 L004B3B48: mov eax,L004C0CF0 jmp L0049A8E0 Align 16 L004B3B60: lea ecx,[ebp+0Ch] jmp SUB_L0040CC60 L004B3B68: mov eax,L004C0D18 jmp L0049A8E0 Align 16 L004B3B80: lea ecx,[ebp+0Ch] jmp SUB_L0040CC60 L004B3B88: mov eax,L004C0D40 jmp L0049A8E0 Align 16 L004B3BA0: lea ecx,[ebp+0Ch] jmp SUB_L0040CC60 L004B3BA8: mov eax,L004C0D68 jmp L0049A8E0 Align 16 L004B3BC0: lea ecx,[ebp+0Ch] jmp SUB_L0040CC60 L004B3BC8: mov eax,L004C0D90 jmp L0049A8E0 Align 16 L004B3BE0: lea ecx,[ebp-14h] jmp SUB_L0040CC60 L004B3BE8: lea ecx,[ebp-1Ch] jmp SUB_L0040CC60 L004B3BF0: mov eax,L004C0DB8 jmp L0049A8E0 Align 8 L004B3C00: lea ecx,[ebp-14h] jmp SUB_L0040CC60 L004B3C08: mov eax,L004C0DE8 jmp L0049A8E0 Align 16 L004B3C20: mov eax,[ebp-14h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B3C2B: mov eax,L004C0E10 jmp L0049A8E0 Align 16 L004B3C40: mov eax,[ebp-10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B3C4B: mov eax,L004C0E38 jmp L0049A8E0 Align 16 L004B3C60: mov ecx,[ebp-10h] jmp SUB_L0045C4D0 L004B3C68: mov eax,L004C0E60 jmp L0049A8E0 Align 16 L004B3C80: mov ecx,[ebp-10h] jmp SUB_L0045C4D0 L004B3C88: mov eax,L004C0E88 jmp L0049A8E0 Align 16 L004B3CA0: mov ecx,[ebp-10h] jmp SUB_L0045E200 L004B3CA8: mov eax,L004C0EB0 jmp L0049A8E0 Align 16 L004B3CC0: mov ecx,[ebp-10h] jmp SUB_L0045E200 L004B3CC8: mov eax,L004C0ED8 jmp L0049A8E0 Align 16 L004B3CE0: mov ecx,[ebp-10h] jmp SUB_L0045E200 L004B3CE8: mov eax,L004C0F00 jmp L0049A8E0 Align 16 L004B3D00: mov ecx,[ebp-10h] jmp SUB_L0045E200 L004B3D08: push SUB_L0040CC60 push 00000004h push 0000000Ah mov eax,[ebp-10h] add eax,00000154h push eax call SUB_L0049AEB0 retn ;------------------------------------------------------------------------------ L004B3D20: mov ecx,[ebp-10h] add ecx,0000017Ch jmp SUB_L0040CC60 L004B3D2E: mov eax,L004C0F28 jmp L0049A8E0 Align 16 L004B3D40: mov ecx,[ebp-10h] jmp SUB_L0045C1D0 L004B3D48: lea ecx,[ebp-18h] jmp SUB_L0040CC60 L004B3D50: mov eax,L004C0F60 jmp L0049A8E0 Align 8 L004B3D60: mov ecx,[ebp-10h] jmp SUB_L0045C1D0 L004B3D68: mov eax,L004C0F90 jmp L0049A8E0 Align 16 L004B3D80: mov ecx,[ebp-10h] add ecx,00000038h jmp SUB_L0040CC60 L004B3D8B: mov ecx,[ebp-10h] add ecx,00000074h jmp L00461D10 L004B3D96: mov eax,L004C0FB8 jmp L0049A8E0 L004B3DA0: mov ecx,[ebp-10h] add ecx,00000038h jmp SUB_L0040CC60 L004B3DAB: mov ecx,[ebp-10h] add ecx,00000074h jmp L00461D10 L004B3DB6: mov eax,L004C0FE8 jmp L0049A8E0 L004B3DC0: lea ecx,[ebp-24h] jmp SUB_L0040CC60 L004B3DC8: lea ecx,[ebp-14h] jmp SUB_L0040CC60 L004B3DD0: mov eax,[ebp+28h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B3DDB: mov eax,[ebp+08h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B3DE6: mov eax,[ebp+08h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B3DF1: mov eax,[ebp+08h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B3DFC: mov eax,L004C1018 jmp L0049A8E0 Align 16 L004B3E10: lea ecx,[ebp+08h] jmp SUB_L0040CC60 L004B3E18: mov eax,L004C1068 jmp L0049A8E0 Align 16 L004B3E30: mov eax,[ebp+0Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B3E3B: mov eax,L004C1090 jmp L0049A8E0 Align 16 L004B3E50: lea ecx,[ebp-14h] jmp SUB_L0040CC60 L004B3E58: mov eax,[ebp+10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B3E63: mov eax,[ebp+0Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B3E6E: mov eax,[ebp+0Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B3E79: mov eax,[ebp+08h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B3E84: mov eax,L004C10B8 jmp L0049A8E0 Align 4 L004B3E90: mov eax,[ebp-2Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B3E9B: mov ecx,[ebp-2Ch] add ecx,00000008h jmp SUB_L004823F0 L004B3EA6: mov eax,L004C1100 jmp L0049A8E0 L004B3EB0: mov ecx,[ebp-28h] jmp SUB_L00441D50 L004B3EB8: push SUB_L00493CF0 push 0000000Ah push 00000010h mov eax,[ebp-28h] add eax,000000A0h push eax call SUB_L0049AEB0 retn ;------------------------------------------------------------------------------ L004B3ED0: push SUB_L00493CF0 push 0000000Ah push 00000010h mov eax,[ebp-28h] add eax,00000140h push eax call SUB_L0049AEB0 retn ;------------------------------------------------------------------------------ L004B3EE8: mov ecx,[ebp-28h] add ecx,000001E0h jmp SUB_L00493CF0 L004B3EF6: mov eax,[ebp-2Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B3F01: mov eax,L004C1130 jmp L0049A8E0 Align 8 L004B3F10: mov ecx,[ebp-10h] jmp SUB_L00441D50 L004B3F18: push SUB_L00493CF0 push 0000000Ah push 00000010h mov eax,[ebp-10h] add eax,000000A0h push eax call SUB_L0049AEB0 retn ;------------------------------------------------------------------------------ L004B3F30: push SUB_L00493CF0 push 0000000Ah push 00000010h mov eax,[ebp-10h] add eax,00000140h push eax call SUB_L0049AEB0 retn ;------------------------------------------------------------------------------ L004B3F48: mov ecx,[ebp-10h] add ecx,000001E0h jmp SUB_L00493CF0 L004B3F56: mov eax,L004C1178 jmp L0049A8E0 L004B3F60: mov eax,[ebp-10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B3F6B: mov eax,[ebp-10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B3F76: mov eax,[ebp-10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B3F81: mov eax,[ebp-10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B3F8C: mov eax,L004C11B8 jmp L0049A8E0 Align 16 L004B3FA0: mov eax,[ebp-28h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B3FAB: mov eax,[ebp-28h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B3FB6: mov eax,[ebp-28h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B3FC1: mov eax,[ebp-28h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B3FCC: mov eax,[ebp-28h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B3FD7: mov eax,[ebp-28h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B3FE2: mov eax,[ebp-28h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B3FED: mov eax,[ebp-28h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B3FF8: mov eax,[ebp-28h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B4003: mov eax,[ebp-28h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B400E: mov eax,[ebp-28h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B4019: mov eax,[ebp-28h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B4024: mov eax,[ebp-28h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B402F: mov eax,[ebp-28h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B403A: mov eax,L004C11F8 jmp L0049A8E0 Align 16 L004B4050: mov eax,[ebp-30h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B405B: mov eax,[ebp-30h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B4066: mov eax,[ebp-30h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B4071: mov eax,[ebp-30h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B407C: mov eax,[ebp-30h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B4087: mov eax,[ebp-30h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B4092: mov eax,[ebp-30h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B409D: mov eax,[ebp-30h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B40A8: mov eax,[ebp-30h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B40B3: mov eax,[ebp-30h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B40BE: mov eax,L004C1288 jmp L0049A8E0 Align 16 L004B40D0: mov ecx,[ebp-10h] add ecx,00000008h jmp SUB_L00493CF0 L004B40DB: mov eax,L004C12F8 jmp L0049A8E0 Align 16 L004B40F0: lea ecx,[ebp-00000098h] jmp SUB_L00493CF0 L004B40FB: lea ecx,[ebp-000000A8h] jmp SUB_L00493CF0 L004B4106: lea ecx,[ebp-38h] jmp SUB_L00493CF0 L004B410E: mov eax,[ebp-1Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B4119: mov ecx,[ebp-1Ch] jmp SUB_L00464600 L004B4121: lea ecx,[ebp-00000088h] jmp SUB_L00493CF0 L004B412C: mov eax,[ebp-1Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B4137: lea ecx,[ebp-78h] jmp SUB_L00493CF0 L004B413F: mov eax,[ebp-1Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B414A: mov ecx,[ebp-1Ch] jmp SUB_L00464600 L004B4152: lea ecx,[ebp-58h] jmp SUB_L00493CF0 L004B415A: mov eax,[ebp-1Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B4165: lea ecx,[ebp-68h] jmp SUB_L00493CF0 L004B416D: mov eax,[ebp-1Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B4178: lea ecx,[ebp-48h] jmp SUB_L00493CF0 L004B4180: mov eax,[ebp-1Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B418B: mov ecx,[ebp-1Ch] jmp SUB_L00464600 L004B4193: mov eax,L004C1320 jmp L0049A8E0 Align 4 L004B41A0: mov ecx,[ebp-10h] add ecx,00000008h jmp SUB_L00493CF0 L004B41AB: mov eax,L004C13C8 jmp L0049A8E0 Align 16 L004B41C0: mov ecx,[ebp-10h] add ecx,00000008h jmp SUB_L00493CF0 L004B41CB: mov eax,L004C13F0 jmp L0049A8E0 Align 16 L004B41E0: lea ecx,[ebp-1Ch] jmp SUB_L00493CF0 L004B41E8: mov eax,L004C1418 jmp L0049A8E0 Align 16 L004B4200: mov ecx,[ebp-10h] add ecx,00000008h jmp SUB_L00493CF0 L004B420B: mov eax,L004C1440 jmp L0049A8E0 Align 16 L004B4220: mov eax,[ebp+08h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B422B: mov eax,L004C1468 jmp L0049A8E0 Align 16 L004B4240: mov ecx,[ebp-10h] add ecx,00000008h jmp SUB_L00493CF0 L004B424B: mov ecx,[ebp-10h] jmp SUB_L00464600 L004B4253: mov eax,L004C1490 jmp L0049A8E0 Align 4 L004B4260: mov ecx,[ebp-10h] add ecx,00000008h jmp SUB_L00493CF0 L004B426B: mov eax,L004C14C0 jmp L0049A8E0 Align 16 L004B4280: mov ecx,[ebp-10h] add ecx,00000008h jmp SUB_L00493CF0 L004B428B: mov ecx,[ebp-10h] jmp SUB_L00464600 L004B4293: mov eax,L004C14E8 jmp L0049A8E0 Align 4 L004B42A0: mov ecx,[ebp-10h] add ecx,00000008h jmp SUB_L00493CF0 L004B42AB: mov eax,L004C1518 jmp L0049A8E0 Align 16 L004B42C0: lea ecx,[ebp-34h] jmp SUB_L00493CF0 L004B42C8: mov eax,L004C1540 jmp L0049A8E0 Align 16 L004B42E0: mov ecx,[ebp-10h] add ecx,00000008h jmp SUB_L00493CF0 L004B42EB: mov eax,L004C1568 jmp L0049A8E0 Align 16 L004B4300: mov ecx,[ebp-10h] add ecx,00000008h jmp SUB_L00493CF0 L004B430B: mov ecx,[ebp-10h] jmp SUB_L00464600 L004B4313: mov ecx,[ebp-10h] add ecx,0000002Ch jmp SUB_L00493CF0 L004B431E: push SUB_L00493CF0 push 0000000Ch push 00000010h mov eax,[ebp-10h] add eax,0000003Ch push eax call SUB_L0049AEB0 retn ;------------------------------------------------------------------------------ L004B4334: lea ecx,[ebp-20h] jmp SUB_L00493CF0 L004B433C: mov eax,L004C1590 jmp L0049A8E0 Align 16 L004B4350: mov ecx,[ebp-10h] jmp SUB_L00464600 L004B4358: mov ecx,[ebp-10h] add ecx,0000002Ch jmp SUB_L00493CF0 L004B4363: mov ecx,[ebp-10h] add ecx,00000008h jmp SUB_L00493CF0 L004B436E: mov eax,L004C15D8 jmp L0049A8E0 Align 16 L004B4380: lea ecx,[ebp-1Ch] jmp SUB_L00493CF0 L004B4388: mov eax,L004C1610 jmp L0049A8E0 Align 16 L004B43A0: mov eax,[ebp-10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B43AB: mov eax,L004C1638 jmp L0049A8E0 Align 16 L004B43C0: lea ecx,[ebp-1Ch] jmp SUB_L00493CF0 L004B43C8: mov eax,L004C1660 jmp L0049A8E0 Align 16 L004B43E0: lea ecx,[ebp-1Ch] jmp SUB_L00493CF0 L004B43E8: mov eax,L004C1688 jmp L0049A8E0 Align 16 L004B4400: lea ecx,[ebp-1Ch] jmp SUB_L00493CF0 L004B4408: mov eax,L004C16B0 jmp L0049A8E0 Align 16 L004B4420: lea ecx,[ebp-20h] jmp SUB_L00493CF0 L004B4428: mov eax,L004C16D8 jmp L0049A8E0 Align 16 L004B4440: lea ecx,[ebp-1Ch] jmp SUB_L00493CF0 L004B4448: mov eax,L004C1700 jmp L0049A8E0 Align 16 L004B4460: lea ecx,[ebp-1Ch] jmp SUB_L00493CF0 L004B4468: mov eax,L004C1728 jmp L0049A8E0 Align 16 L004B4480: lea ecx,[ebp-1Ch] jmp SUB_L00493CF0 L004B4488: mov eax,L004C1750 jmp L0049A8E0 Align 16 L004B44A0: lea ecx,[ebp-1Ch] jmp SUB_L00493CF0 L004B44A8: mov eax,L004C1778 jmp L0049A8E0 Align 16 L004B44C0: lea ecx,[ebp-1Ch] jmp SUB_L00493CF0 L004B44C8: mov eax,L004C17A0 jmp L0049A8E0 Align 16 L004B44E0: lea ecx,[ebp-1Ch] jmp SUB_L00493CF0 L004B44E8: mov eax,L004C17C8 jmp L0049A8E0 Align 16 L004B4500: lea ecx,[ebp-1Ch] jmp SUB_L00493CF0 L004B4508: mov eax,L004C17F0 jmp L0049A8E0 Align 16 L004B4520: lea ecx,[ebp-1Ch] jmp SUB_L00493CF0 L004B4528: mov eax,L004C1818 jmp L0049A8E0 Align 16 L004B4540: lea ecx,[ebp-1Ch] jmp SUB_L00493CF0 L004B4548: mov eax,L004C1840 jmp L0049A8E0 Align 16 L004B4560: lea ecx,[ebp-1Ch] jmp SUB_L00493CF0 L004B4568: mov eax,L004C1868 jmp L0049A8E0 Align 16 L004B4580: lea ecx,[ebp-1Ch] jmp SUB_L00493CF0 L004B4588: mov eax,L004C1890 jmp L0049A8E0 Align 16 L004B45A0: lea ecx,[ebp-1Ch] jmp SUB_L00493CF0 L004B45A8: mov eax,L004C18B8 jmp L0049A8E0 Align 16 L004B45C0: lea ecx,[ebp-20h] jmp SUB_L00493CF0 L004B45C8: mov eax,L004C18E0 jmp L0049A8E0 Align 16 L004B45E0: lea ecx,[ebp-60h] jmp SUB_L00493CF0 L004B45E8: lea ecx,[ebp-50h] jmp SUB_L00493CF0 L004B45F0: lea ecx,[ebp-70h] jmp SUB_L00493CF0 L004B45F8: lea ecx,[ebp-80h] jmp SUB_L00493CF0 L004B4600: lea ecx,[ebp-40h] jmp SUB_L00493CF0 L004B4608: lea ecx,[ebp-30h] jmp SUB_L00493CF0 L004B4610: lea ecx,[ebp-40h] jmp SUB_L00493CF0 L004B4618: lea ecx,[ebp-30h] jmp SUB_L00493CF0 L004B4620: mov eax,L004C1908 jmp L0049A8E0 Align 8 L004B4630: mov ecx,[ebp-10h] jmp SUB_L00441D50 L004B4638: mov eax,[ebp-14h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B4643: mov eax,[ebp-14h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B464E: mov eax,[ebp-14h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B4659: mov eax,L004C1968 jmp L0049A8E0 Align 16 L004B4670: mov ecx,[ebp-10h] jmp SUB_L00441D50 L004B4678: mov eax,L004C19A8 jmp L0049A8E0 Align 16 L004B4690: mov eax,[ebp+10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B469B: mov eax,L004C19D0 jmp L0049A8E0 Align 16 L004B46B0: lea ecx,[ebp-1Ch] jmp SUB_L0040CC60 L004B46B8: mov eax,L004C19F8 jmp L0049A8E0 Align 16 L004B46D0: mov eax,[ebp-1Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B46DB: mov eax,L004C1A20 jmp L0049A8E0 Align 16 L004B46F0: mov eax,[ebp+08h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B46FB: mov eax,L004C1A48 jmp L0049A8E0 Align 16 L004B4710: mov eax,[ebp-24h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B471B: mov eax,L004C1A70 jmp L0049A8E0 Align 16 L004B4730: lea ecx,[ebp-24h] jmp SUB_L0040CC60 L004B4738: lea ecx,[ebp-30h] jmp SUB_L0040CC60 L004B4740: mov eax,L004C1A98 jmp L0049A8E0 Align 8 L004B4750: lea ecx,[ebp-14h] jmp SUB_L0040CC60 L004B4758: mov eax,[ebp-14h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B4763: mov eax,[ebp-14h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B476E: mov eax,[ebp-14h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B4779: mov eax,L004C1AC8 jmp L0049A8E0 Align 16 L004B4790: mov eax,[ebp-18h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B479B: mov eax,[ebp-1Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B47A6: mov eax,L004C1B08 jmp L0049A8E0 L004B47B0: mov eax,[ebp-14h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B47BB: mov eax,[ebp+08h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B47C6: mov eax,L004C1B38 jmp L0049A8E0 L004B47D0: lea ecx,[ebp-14h] jmp SUB_L0040CC60 L004B47D8: mov eax,L004C1B68 jmp L0049A8E0 Align 16 L004B47F0: mov eax,[ebp-1Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B47FB: mov eax,L004C1B90 jmp L0049A8E0 Align 16 L004B4810: mov eax,[ebp+08h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B481B: mov eax,L004C1BB8 jmp L0049A8E0 Align 16 L004B4830: mov eax,[ebp-10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B483B: mov eax,L004C1BE0 jmp L0049A8E0 Align 16 L004B4850: lea ecx,[ebp-3Ch] jmp SUB_L0040CC60 L004B4858: lea ecx,[ebp-44h] jmp SUB_L0040CC60 L004B4860: mov eax,L004C1C08 jmp L0049A8E0 Align 8 L004B4870: mov eax,[ebp-18h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B487B: mov eax,[ebp-14h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B4886: mov eax,L004C1C38 jmp L0049A8E0 L004B4890: mov eax,[ebp+08h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B489B: mov eax,L004C1C68 jmp L0049A8E0 Align 16 L004B48B0: mov eax,[ebp+08h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B48BB: mov eax,[ebp+08h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B48C6: mov eax,L004C1C90 jmp L0049A8E0 L004B48D0: mov eax,[ebp+08h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B48DB: mov eax,L004C1CC0 jmp L0049A8E0 Align 16 L004B48F0: mov eax,[ebp-24h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B48FB: mov eax,[ebp+08h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B4906: mov eax,[ebp+08h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B4911: mov eax,L004C1CE8 jmp L0049A8E0 Align 8 L004B4920: mov eax,[ebp+08h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B492B: mov eax,[ebp+08h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B4936: mov eax,L004C1D20 jmp L0049A8E0 L004B4940: mov eax,[ebp-30h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B494B: mov eax,L004C1D50 jmp L0049A8E0 Align 16 L004B4960: mov eax,[ebp-18h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B496B: mov eax,[ebp-18h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B4976: mov eax,L004C1D78 jmp L0049A8E0 L004B4980: mov eax,[ebp+08h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B498B: mov eax,L004C1DA8 jmp L0049A8E0 Align 16 L004B49A0: mov eax,[ebp+08h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B49AB: mov eax,[ebp+08h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B49B6: mov eax,[ebp-10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B49C1: mov eax,L004C1DD0 jmp L0049A8E0 Align 8 L004B49D0: mov eax,[ebp+08h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B49DB: mov eax,L004C1E08 jmp L0049A8E0 Align 16 L004B49F0: mov eax,[ebp-20h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B49FB: mov eax,L004C1E30 jmp L0049A8E0 Align 16 L004B4A10: mov eax,[ebp+08h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B4A1B: mov eax,L004C1E58 jmp L0049A8E0 Align 16 L004B4A30: lea ecx,[ebp-28h] jmp SUB_L00493CF0 L004B4A38: mov eax,[ebp-14h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B4A43: mov eax,L004C1E80 jmp L0049A8E0 Align 4 L004B4A50: mov ecx,[ebp-10h] jmp SUB_L00441D50 L004B4A58: mov eax,[ebp+08h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B4A63: mov eax,[ebp+28h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B4A6E: mov eax,[ebp+28h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B4A79: mov eax,[ebp+28h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B4A84: mov eax,[ebp+28h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B4A8F: mov eax,[ebp+28h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B4A9A: mov eax,[ebp+28h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B4AA5: mov eax,[ebp+28h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B4AB0: mov eax,[ebp+28h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B4ABB: mov eax,[ebp+28h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B4AC6: mov eax,L004C1EB0 jmp L0049A8E0 L004B4AD0: mov ecx,[ebp-14h] jmp SUB_L00441D50 L004B4AD8: mov eax,L004C1F28 jmp L0049A8E0 Align 16 L004B4AF0: mov eax,[ebp-10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B4AFB: mov eax,L004C1F50 jmp L0049A8E0 Align 16 L004B4B10: mov ecx,[ebp-1Ch] jmp SUB_L00441D50 L004B4B18: mov eax,[ebp+08h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B4B23: mov eax,L004C1F78 jmp L0049A8E0 Align 4 L004B4B30: mov ecx,[ebp-10h] jmp SUB_L00441D50 L004B4B38: mov eax,L004C1FA8 jmp L0049A8E0 Align 16 L004B4B50: mov eax,[ebp-10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B4B5B: mov eax,L004C1FD0 jmp L0049A8E0 Align 16 L004B4B70: mov ecx,[ebp-10h] jmp SUB_L00441D50 L004B4B78: mov eax,[ebp+08h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B4B83: mov eax,[ebp+08h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B4B8E: mov eax,L004C1FF8 jmp L0049A8E0 Align 16 L004B4BA0: mov ecx,[ebp-10h] jmp SUB_L00441D50 L004B4BA8: mov eax,L004C2030 jmp L0049A8E0 Align 16 L004B4BC0: mov ecx,[ebp-14h] jmp SUB_L00441D50 L004B4BC8: mov eax,[ebp+0Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B4BD3: mov eax,[ebp+0Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B4BDE: mov eax,[ebp+0Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B4BE9: mov eax,L004C2058 jmp L0049A8E0 Align 16 L004B4C00: mov ecx,[ebp-14h] jmp SUB_L00441D50 L004B4C08: mov eax,L004C2098 jmp L0049A8E0 Align 16 L004B4C20: mov eax,[ebp-1Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B4C2B: mov eax,L004C20C0 jmp L0049A8E0 Align 16 L004B4C40: mov ecx,[ebp-10h] jmp SUB_L00441D50 L004B4C48: mov eax,L004C20E8 jmp L0049A8E0 Align 16 L004B4C60: mov ecx,[ebp-10h] jmp SUB_L00441D50 L004B4C68: mov eax,L004C2110 jmp L0049A8E0 Align 16 L004B4C80: lea ecx,[ebp-000000FCh] jmp SUB_L004823F0 L004B4C8B: mov eax,L004C2138 jmp L0049A8E0 Align 16 L004B4CA0: mov ecx,[ebp-10h] jmp SUB_L00441D50 L004B4CA8: mov eax,[ebp+08h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B4CB3: mov eax,[ebp+08h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B4CBE: mov eax,[ebp+08h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B4CC9: mov eax,[ebp+08h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B4CD4: mov eax,L004C2160 jmp L0049A8E0 Align 4 L004B4CE0: mov ecx,[ebp-18h] jmp SUB_L00441D50 L004B4CE8: mov eax,[ebp+14h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B4CF3: mov eax,[ebp+14h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B4CFE: mov eax,[ebp+14h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B4D09: mov eax,[ebp+14h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B4D14: mov eax,L004C21A8 jmp L0049A8E0 Align 4 L004B4D20: mov ecx,[ebp-10h] jmp SUB_L00441D50 L004B4D28: mov eax,L004C21F0 jmp L0049A8E0 Align 16 L004B4D40: mov ecx,[ebp-10h] jmp SUB_L00441D50 L004B4D48: mov eax,[ebp+14h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B4D53: mov eax,[ebp+14h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B4D5E: mov eax,[ebp+14h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B4D69: mov eax,[ebp+14h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B4D74: mov eax,[ebp+14h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B4D7F: mov eax,L004C2218 jmp L0049A8E0 Align 8 L004B4D90: mov ecx,[ebp-10h] jmp SUB_L00441D50 L004B4D98: mov eax,L004C2268 jmp L0049A8E0 Align 16 L004B4DB0: mov eax,[ebp-1Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B4DBB: mov eax,[ebp-1Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B4DC6: mov eax,L004C2290 jmp L0049A8E0 L004B4DD0: mov ecx,[ebp-1Ch] jmp SUB_L00441D50 L004B4DD8: mov eax,[ebp+18h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B4DE3: mov eax,[ebp+18h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B4DEE: mov eax,[ebp+18h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B4DF9: mov eax,L004C22C0 jmp L0049A8E0 Align 16 L004B4E10: mov ecx,[ebp-10h] jmp SUB_L00441D50 L004B4E18: mov eax,L004C2300 jmp L0049A8E0 Align 16 L004B4E30: mov ecx,[ebp-20h] jmp SUB_L00441D50 L004B4E38: mov eax,[ebp+14h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B4E43: mov eax,[ebp+10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B4E4E: mov eax,[ebp+10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B4E59: mov eax,L004C2328 jmp L0049A8E0 Align 16 L004B4E70: mov ecx,[ebp-10h] jmp SUB_L00441D50 L004B4E78: mov eax,L004C2368 jmp L0049A8E0 Align 16 L004B4E90: mov ecx,[ebp-10h] jmp SUB_L00441D50 L004B4E98: mov eax,[ebp+18h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B4EA3: mov eax,[ebp+18h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B4EAE: mov eax,[ebp+18h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B4EB9: mov eax,[ebp+18h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B4EC4: mov eax,[ebp+18h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B4ECF: mov eax,L004C2390 jmp L0049A8E0 Align 8 L004B4EE0: mov ecx,[ebp-10h] jmp SUB_L00441D50 L004B4EE8: mov eax,L004C23E0 jmp L0049A8E0 Align 16 L004B4F00: mov ecx,[ebp-20h] jmp SUB_L00441D50 L004B4F08: mov eax,[ebp+08h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B4F13: mov eax,[ebp+08h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B4F1E: mov eax,[ebp+08h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B4F29: mov eax,[ebp+08h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B4F34: mov eax,[ebp+08h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B4F3F: mov eax,[ebp+08h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B4F4A: mov eax,L004C2408 jmp L0049A8E0 Align 16 L004B4F60: mov ecx,[ebp-14h] jmp SUB_L00441D50 L004B4F68: mov eax,L004C2460 jmp L0049A8E0 Align 16 L004B4F80: mov eax,[ebp-10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B4F8B: mov eax,L004C2488 jmp L0049A8E0 Align 16 L004B4FA0: mov eax,[ebp-18h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B4FAB: mov eax,L004C24B0 jmp L0049A8E0 Align 16 L004B4FC0: mov eax,[ebp-1Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B4FCB: mov eax,L004C24D8 jmp L0049A8E0 Align 16 L004B4FE0: mov ecx,[ebp-10h] jmp SUB_L00441D50 L004B4FE8: mov eax,[ebp+08h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B4FF3: mov eax,[ebp+08h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B4FFE: mov eax,[ebp+08h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B5009: mov eax,[ebp+08h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B5014: mov eax,L004C2500 jmp L0049A8E0 Align 4 L004B5020: mov ecx,[ebp-10h] jmp SUB_L00441D50 L004B5028: mov eax,L004C2548 jmp L0049A8E0 Align 16 L004B5040: mov ecx,[ebp-14h] jmp SUB_L00489030 L004B5048: mov eax,L004C2570 jmp L0049A8E0 Align 16 L004B5060: mov ecx,[ebp-10h] jmp L00489400 L004B5068: mov ecx,[ebp-10h] add ecx,00020034h jmp L0048A1E0 L004B5076: mov eax,L004C2598 jmp L0049A8E0 L004B5080: mov ecx,[ebp-18h] jmp L00489400 L004B5088: mov eax,L004C25C8 jmp L0049A8E0 Align 16 L004B50A0: mov eax,[ebp-10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B50AB: mov ecx,[ebp-10h] jmp L00489400 L004B50B3: mov ecx,[ebp-10h] add ecx,00020034h jmp L0048A1E0 L004B50C1: mov eax,L004C25F0 jmp L0049A8E0 Align 8 L004B50D0: mov eax,[ebp+0Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B50DB: mov eax,L004C2628 jmp L0049A8E0 Align 16 L004B50F0: mov ecx,[ebp-14h] jmp SUB_L00441D50 L004B50F8: mov eax,[ebp+08h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B5103: mov eax,[ebp+08h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B510E: mov eax,[ebp+08h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B5119: mov eax,[ebp+08h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B5124: mov eax,[ebp+08h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B512F: mov eax,[ebp+08h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B513A: mov eax,L004C2650 jmp L0049A8E0 Align 16 L004B5150: mov ecx,[ebp-10h] jmp SUB_L00441D50 L004B5158: mov eax,L004C26A8 jmp L0049A8E0 Align 16 L004B5170: mov ecx,[ebp-14h] jmp SUB_L00441D50 L004B5178: mov eax,[ebp+10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B5183: mov eax,[ebp+10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B518E: mov eax,[ebp+10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B5199: mov eax,[ebp+10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B51A4: mov eax,[ebp+10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B51AF: mov eax,[ebp+10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B51BA: mov eax,[ebp+10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B51C5: mov eax,[ebp+10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B51D0: mov eax,L004C26D0 jmp L0049A8E0 Align 8 L004B51E0: mov ecx,[ebp-10h] jmp SUB_L00441D50 L004B51E8: mov eax,L004C2738 jmp L0049A8E0 Align 16 L004B5200: mov ecx,[ebp-10h] jmp SUB_L00441D50 L004B5208: mov eax,[ebp+24h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B5213: mov eax,[ebp+24h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B521E: mov eax,[ebp+24h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B5229: mov eax,[ebp+24h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B5234: mov eax,L004C2760 jmp L0049A8E0 Align 4 L004B5240: mov ecx,[ebp-24h] jmp SUB_L00441D50 L004B5248: lea ecx,[ebp-2Ch] jmp SUB_L0040CC60 L004B5250: mov eax,[ebp+08h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B525B: mov eax,[ebp+08h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B5266: mov eax,[ebp+08h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B5271: mov eax,[ebp+08h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B527C: mov eax,L004C27A8 jmp L0049A8E0 Align 16 L004B5290: mov ecx,[ebp-10h] jmp SUB_L00441D50 L004B5298: mov eax,L004C27F8 jmp L0049A8E0 Align 16 L004B52B0: mov ecx,[ebp-10h] jmp SUB_L00441D50 L004B52B8: mov eax,L004C2820 jmp L0049A8E0 Align 16 L004B52D0: mov ecx,[ebp-10h] jmp SUB_L00441D50 L004B52D8: mov eax,L004C2848 jmp L0049A8E0 Align 16 L004B52F0: mov ecx,[ebp-10h] jmp SUB_L00441D50 L004B52F8: mov eax,[ebp+18h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B5303: mov eax,[ebp+18h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B530E: mov eax,L004C2870 jmp L0049A8E0 Align 16 L004B5320: mov ecx,[ebp-10h] jmp SUB_L00441D50 L004B5328: mov eax,L004C28A8 jmp L0049A8E0 Align 16 L004B5340: mov eax,[ebp-10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B534B: mov eax,[ebp-10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B5356: mov eax,L004C28D0 jmp L0049A8E0 L004B5360: mov ecx,[ebp-10h] jmp SUB_L00441D50 L004B5368: mov eax,L004C2900 jmp L0049A8E0 Align 16 L004B5380: mov ecx,[ebp-10h] jmp SUB_L00441D50 L004B5388: mov eax,L004C2928 jmp L0049A8E0 Align 16 L004B53A0: mov eax,[ebp-10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B53AB: mov eax,L004C2950 jmp L0049A8E0 Align 16 L004B53C0: mov eax,[ebp-10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B53CB: mov eax,L004C2978 jmp L0049A8E0 Align 16 L004B53E0: mov eax,[ebp-10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B53EB: mov eax,L004C29A0 jmp L0049A8E0 Align 16 L004B5400: mov eax,[ebp-10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B540B: mov eax,L004C29C8 jmp L0049A8E0 Align 16 L004B5420: mov eax,[ebp-10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B542B: mov ecx,[ebp-10h] add ecx,00000004h jmp SUB_L00493CF0 L004B5436: mov ecx,[ebp-34h] add ecx,00000004h jmp SUB_L00493CF0 L004B5441: mov eax,L004C29F0 jmp L0049A8E0 Align 8 L004B5450: lea ecx,[ebp-1Ch] jmp SUB_L00493CF0 L004B5458: mov eax,L004C2A28 jmp L0049A8E0 Align 16 L004B5470: mov eax,[ebp-18h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B547B: mov eax,L004C2A50 jmp L0049A8E0 Align 16 L004B5490: mov eax,[ebp-20h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B549B: mov eax,L004C2A78 jmp L0049A8E0 Align 16 L004B54B0: mov ecx,[ebp-20h] add ecx,0000001Ch jmp L00497BF0 L004B54BB: mov eax,[ebp-24h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B54C6: mov eax,L004C2AA0 jmp L0049A8E0 L004B54D0: mov ecx,[ebp-14h] add ecx,0000001Ch jmp L00497BF0 L004B54DB: mov eax,L004C2AD0 jmp L0049A8E0 Align 16 L004B54F0: mov eax,[ebp+08h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B54FB: mov eax,L004C2AF8 jmp L0049A8E0 Align 16 L004B5510: mov eax,[ebp-14h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B551B: mov eax,[ebp+0Ch] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B5526: mov eax,[ebp+10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B5531: mov eax,[ebp+10h] push eax call SUB_L0049A810 pop ecx retn ;------------------------------------------------------------------------------ L004B553C: mov eax,L004C2B20 jmp L0049A8E0 ;------------------------------------------------------------------------------ 000000BAh DUP (??) ; ; ;------------------------------------------------------------------------------ ; Name: .rdata (Data Section) ; Virtual Address: 004B6000h Virtual Size: 0000DD6Ah ; Pointer To RawData: 000B4A00h Size Of RawData: 0000DE00h ; ADVAPI32.dll!RegQueryValueExA: dd ?? ADVAPI32.dll!RegOpenKeyExA: dd ?? ADVAPI32.dll!RegSetValueExA: dd ?? ADVAPI32.dll!RegCreateKeyExA: dd ?? ADVAPI32.dll!RegCloseKey: dd ?? dd 00000000 COMCTL32.dll!COMCTL32.17: dd ?? dd 00000000 DDRAW.dll!DirectDrawCreate: dd ?? dd 00000000 DSOUND.dll!DirectSoundCreate: dd ?? dd 00000000 GDI32.dll!DeleteObject: dd ?? GDI32.dll!SelectPalette: dd ?? GDI32.dll!CreateCompatibleDC: dd ?? GDI32.dll!SelectObject: dd ?? GDI32.dll!CreateDIBSection: dd ?? GDI32.dll!RealizePalette: dd ?? GDI32.dll!BitBlt: dd ?? GDI32.dll!CreatePalette: dd ?? GDI32.dll!DeleteDC: dd ?? GDI32.dll!GetDeviceCaps: dd ?? dd 00000000 KERNEL32.dll!GetLastError: dd ?? KERNEL32.dll!CloseHandle: dd ?? KERNEL32.dll!QueryPerformanceCounter: dd ?? KERNEL32.dll!QueryPerformanceFrequency: dd ?? KERNEL32.dll!MapViewOfFile: dd ?? KERNEL32.dll!CreateFileMappingA: dd ?? KERNEL32.dll!GetCurrentThread: dd ?? KERNEL32.dll!UnmapViewOfFile: dd ?? KERNEL32.dll!FlushViewOfFile: dd ?? KERNEL32.dll!CreateProcessA: dd ?? KERNEL32.dll!CreateFileA: dd ?? KERNEL32.dll!MultiByteToWideChar: dd ?? KERNEL32.dll!GetACP: dd ?? KERNEL32.dll!IsDBCSLeadByte: dd ?? KERNEL32.dll!RtlUnwind: dd ?? KERNEL32.dll!InterlockedDecrement: dd ?? KERNEL32.dll!InterlockedIncrement: dd ?? KERNEL32.dll!OpenFileMappingA: dd ?? KERNEL32.dll!GetSystemTime: dd ?? KERNEL32.dll!SetThreadPriority: dd ?? KERNEL32.dll!GetThreadPriority: dd ?? KERNEL32.dll!GetVersionExA: dd ?? KERNEL32.dll!GetStartupInfoA: dd ?? KERNEL32.dll!GetCommandLineA: dd ?? KERNEL32.dll!GetVersion: dd ?? KERNEL32.dll!ReadFile: dd ?? KERNEL32.dll!GetCurrentThreadId: dd ?? KERNEL32.dll!TlsSetValue: dd ?? KERNEL32.dll!TlsAlloc: dd ?? KERNEL32.dll!SetLastError: dd ?? KERNEL32.dll!TlsGetValue: dd ?? KERNEL32.dll!WideCharToMultiByte: dd ?? KERNEL32.dll!LCMapStringA: dd ?? KERNEL32.dll!LCMapStringW: dd ?? KERNEL32.dll!HeapAlloc: dd ?? KERNEL32.dll!SetFilePointer: dd ?? KERNEL32.dll!SetHandleCount: dd ?? KERNEL32.dll!GetStdHandle: dd ?? KERNEL32.dll!GetFileType: dd ?? KERNEL32.dll!GetProcAddress: dd ?? KERNEL32.dll!HeapReAlloc: dd ?? KERNEL32.dll!GetLocalTime: dd ?? KERNEL32.dll!HeapFree: dd ?? KERNEL32.dll!HeapCreate: dd ?? KERNEL32.dll!VirtualFree: dd ?? KERNEL32.dll!VirtualAlloc: dd ?? KERNEL32.dll!GetModuleHandleA: dd ?? KERNEL32.dll!WriteFile: dd ?? KERNEL32.dll!FreeEnvironmentStringsA: dd ?? KERNEL32.dll!FreeEnvironmentStringsW: dd ?? KERNEL32.dll!GetEnvironmentStrings: dd ?? KERNEL32.dll!GetEnvironmentStringsW: dd ?? KERNEL32.dll!GetCPInfo: dd ?? KERNEL32.dll!GetOEMCP: dd ?? KERNEL32.dll!SetStdHandle: dd ?? KERNEL32.dll!FlushFileBuffers: dd ?? KERNEL32.dll!SetUnhandledExceptionFilter: dd ?? KERNEL32.dll!IsBadReadPtr: dd ?? KERNEL32.dll!IsBadWritePtr: dd ?? KERNEL32.dll!IsBadCodePtr: dd ?? KERNEL32.dll!GetLocaleInfoA: dd ?? KERNEL32.dll!GetStringTypeA: dd ?? KERNEL32.dll!GetStringTypeW: dd ?? KERNEL32.dll!GetFileAttributesA: dd ?? KERNEL32.dll!GetExitCodeProcess: dd ?? KERNEL32.dll!WaitForSingleObject: dd ?? KERNEL32.dll!LoadLibraryA: dd ?? KERNEL32.dll!SetEndOfFile: dd ?? KERNEL32.dll!GetLocaleInfoW: dd ?? KERNEL32.dll!CompareStringA: dd ?? KERNEL32.dll!CompareStringW: dd ?? KERNEL32.dll!SetEnvironmentVariableA: dd ?? KERNEL32.dll!DeleteCriticalSection: dd ?? KERNEL32.dll!InitializeCriticalSection: dd ?? KERNEL32.dll!TerminateProcess: dd ?? KERNEL32.dll!GetProfileStringA: dd ?? KERNEL32.dll!GetSystemInfo: dd ?? KERNEL32.dll!CreateThread: dd ?? KERNEL32.dll!ResumeThread: dd ?? KERNEL32.dll!ExitThread: dd ?? KERNEL32.dll!FindClose: dd ?? KERNEL32.dll!FileTimeToSystemTime: dd ?? KERNEL32.dll!FileTimeToLocalFileTime: dd ?? KERNEL32.dll!GetTimeZoneInformation: dd ?? KERNEL32.dll!GlobalMemoryStatus: dd ?? KERNEL32.dll!GetLogicalDriveStringsA: dd ?? KERNEL32.dll!GetDriveTypeA: dd ?? KERNEL32.dll!GetDiskFreeSpaceA: dd ?? KERNEL32.dll!Sleep: dd ?? KERNEL32.dll!ExitProcess: dd ?? KERNEL32.dll!WinExec: dd ?? KERNEL32.dll!FindFirstFileA: dd ?? KERNEL32.dll!GetFullPathNameA: dd ?? KERNEL32.dll!GetTickCount: dd ?? KERNEL32.dll!GetCurrentDirectoryA: dd ?? KERNEL32.dll!GetCurrentProcess: dd ?? KERNEL32.dll!LeaveCriticalSection: dd ?? KERNEL32.dll!OutputDebugStringA: dd ?? KERNEL32.dll!EnterCriticalSection: dd ?? KERNEL32.dll!UnhandledExceptionFilter: dd ?? KERNEL32.dll!InterlockedExchange: dd ?? KERNEL32.dll!GetModuleFileNameA: dd ?? KERNEL32.dll!HeapSize: dd ?? KERNEL32.dll!HeapDestroy: dd ?? dd 00000000 MSVFW32.dll!MCIWndCreateA: dd ?? dd 00000000 USER32.dll!CloseClipboard: dd ?? USER32.dll!GetClipboardData: dd ?? USER32.dll!OpenClipboard: dd ?? USER32.dll!AdjustWindowRectEx: dd ?? USER32.dll!SetWindowLongA: dd ?? USER32.dll!GetWindowLongA: dd ?? USER32.dll!InvalidateRect: dd ?? USER32.dll!SetWindowPos: dd ?? USER32.dll!SetMenu: dd ?? USER32.dll!ReleaseCapture: dd ?? USER32.dll!SetCapture: dd ?? USER32.dll!GetActiveWindow: dd ?? USER32.dll!DefWindowProcW: dd ?? USER32.dll!EndPaint: dd ?? USER32.dll!BeginPaint: dd ?? USER32.dll!GetWindowRect: dd ?? USER32.dll!PostQuitMessage: dd ?? USER32.dll!GetFocus: dd ?? USER32.dll!GetClientRect: dd ?? USER32.dll!GetMessageA: dd ?? USER32.dll!ClientToScreen: dd ?? USER32.dll!GetWindowPlacement: dd ?? USER32.dll!LoadMenuA: dd ?? USER32.dll!LoadIconA: dd ?? USER32.dll!RegisterClassW: dd ?? USER32.dll!CreateWindowExW: dd ?? USER32.dll!RegisterClassA: dd ?? USER32.dll!CreateWindowExA: dd ?? USER32.dll!ShowWindow: dd ?? USER32.dll!UpdateWindow: dd ?? USER32.dll!GetWindowDC: dd ?? USER32.dll!LoadCursorA: dd ?? USER32.dll!SetCursor: dd ?? USER32.dll!GetSystemMetrics: dd ?? USER32.dll!LoadAcceleratorsA: dd ?? USER32.dll!TranslateAcceleratorA: dd ?? USER32.dll!TranslateMessage: dd ?? USER32.dll!DestroyMenu: dd ?? USER32.dll!SendMessageA: dd ?? USER32.dll!CheckMenuItem: dd ?? USER32.dll!SetWindowTextA: dd ?? USER32.dll!GetMenu: dd ?? USER32.dll!ShowCursor: dd ?? USER32.dll!MapVirtualKeyA: dd ?? USER32.dll!FindWindowA: dd ?? USER32.dll!MessageBoxA: dd ?? USER32.dll!GetCursorPos: dd ?? USER32.dll!ScreenToClient: dd ?? USER32.dll!GetAsyncKeyState: dd ?? USER32.dll!GetKeyState: dd ?? USER32.dll!SetFocus: dd ?? USER32.dll!GetDesktopWindow: dd ?? USER32.dll!GetDC: dd ?? USER32.dll!ReleaseDC: dd ?? USER32.dll!PeekMessageA: dd ?? USER32.dll!DefWindowProcA: dd ?? USER32.dll!GetKeyNameTextA: dd ?? USER32.dll!GetDoubleClickTime: dd ?? USER32.dll!DispatchMessageA: dd ?? dd 00000000 WINMM.dll!timeKillEvent: dd ?? WINMM.dll!mmioRead: dd ?? WINMM.dll!timeSetEvent: dd ?? WINMM.dll!mmioSetBuffer: dd ?? WINMM.dll!mmioOpenA: dd ?? WINMM.dll!mmioSeek: dd ?? WINMM.dll!midiOutGetVolume: dd ?? WINMM.dll!mmioClose: dd ?? WINMM.dll!mciSendCommandA: dd ?? WINMM.dll!midiOutSetVolume: dd ?? WINMM.dll!midiOutGetDevCapsA: dd ?? dd 00000000 WSOCK32.dll!WSOCK32.18: dd ?? WSOCK32.dll!WSOCK32.151: dd ?? WSOCK32.dll!WSOCK32.57: dd ?? WSOCK32.dll!WSOCK32.9: dd ?? WSOCK32.dll!WSOCK32.23: dd ?? WSOCK32.dll!WSOCK32.19: dd ?? WSOCK32.dll!WSOCK32.1: dd ?? WSOCK32.dll!WSOCK32.17: dd ?? WSOCK32.dll!WSOCK32.21: dd ?? WSOCK32.dll!WSOCK32.4: dd ?? WSOCK32.dll!WSOCK32.12: dd ?? WSOCK32.dll!WSOCK32.16: dd ?? WSOCK32.dll!WSOCK32.3: dd ?? WSOCK32.dll!WSOCK32.15: dd ?? WSOCK32.dll!WSOCK32.115: dd ?? WSOCK32.dll!WSOCK32.52: dd ?? WSOCK32.dll!WSOCK32.116: dd ?? WSOCK32.dll!WSOCK32.14: dd ?? WSOCK32.dll!WSOCK32.13: dd ?? WSOCK32.dll!WSOCK32.20: dd ?? WSOCK32.dll!WSOCK32.111: dd ?? WSOCK32.dll!WSOCK32.2: dd ?? WSOCK32.dll!WSOCK32.8: dd ?? dd 00000000 L004B6388: dd L00401290 dd L004411D0 dd L00440DF0 dd L00401F60 dd L0043FF40 dd L00401D50 dd L00401DA0 dd SUB_L0048B8A0 dd L00421990 dd L00401BF0 dd L00401C50 dd SUB_L0048B8A0 dd L00401CF0 dd SUB_L00441F50 dd SUB_L00441F50 dd L00401250 dd L00401260 dd SUB_L0046E100 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd L00401280 dd L00402400 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L00401280 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401CA0 L004B64D0: dd L00402500 dd L004411D0 dd L00440DF0 dd L00440FE0 dd L0043FF40 dd SUB_L0048B8A0 dd L00441F20 dd SUB_L0048B8A0 dd SUB_L0048B8A0 dd L00403590 dd L00441F40 dd SUB_L0048B8A0 dd SUB_L004068F0 dd SUB_L00441F50 dd SUB_L00441F50 dd L00401250 dd L00401260 dd SUB_L0046E100 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd L00401280 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L00401280 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 db 00h; db 00h; db 00h; db 00h; L004B6618: dd L00402FA0 dd L004411D0 dd L00440DF0 dd L00401F60 dd L0043FF40 dd L00401D50 dd L00401DA0 dd SUB_L0048B8A0 dd L00421990 dd L00401BF0 dd L00401C50 dd SUB_L0048B8A0 dd L00401CF0 dd SUB_L00441F50 dd SUB_L00441F50 dd L00401250 dd L00401260 dd SUB_L0046E100 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd L00401280 dd L00402400 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L00401280 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00402FE0 L004B6760: dd L00403460 dd L004411D0 dd L00440DF0 dd L00406610 dd L0048ECE0 dd L00403540 dd L00403570 dd SUB_L0048B8A0 dd L00443470 dd L00403590 dd L00441F40 dd L004035B0 dd SUB_L004068F0 dd L004035E0 dd SUB_L00441F50 dd L00401250 dd L00401260 dd SUB_L0046E100 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 db 00h; db 00h; db 00h; db 00h; L004B68A8: dd L00404050 dd L004411D0 dd L00440DF0 dd L004045F0 dd L004046C0 dd L00404120 dd L00404180 dd SUB_L0048B8A0 dd L004141D0 dd L00403590 dd L00441F40 dd L004044A0 dd L004044E0 dd SUB_L00441F50 dd SUB_L00441F50 dd L00401250 dd L00401260 dd SUB_L0046E100 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 db 00h; db 00h; db 00h; db 00h; L004B69F0: dd L004051B0 dd L004411D0 dd L00440DF0 dd L00406610 dd L004066D0 dd L004052F0 dd L004053E0 dd SUB_L0048B8A0 dd L00443470 dd L00403590 dd L00441F40 dd L00405400 dd SUB_L004068F0 dd L00405430 dd SUB_L00441F50 dd L00405FA0 dd L00401260 dd L004056A0 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 db 00h; db 00h; db 00h; db 00h; L004B6B38: dd L00406820 dd L004068E0 dd L00406900 dd SUB_L004068F0 dd SUB_L00430280 dd SUB_L0042FDF0 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L00401280 dd L00401280 dd L0040C960 dd L00406970 dd L00401280 dd L00406800 dd L00406800 dd L00406810 dd SUB_L004068F0 db 00h; db 00h; db 00h; db 00h; L004B6B90: dd 00000026h L004B6B94: dd 00000020h L004B6B98: dd 000000C2h L004B6B9C: dd 000000D2h L004B6BA0: dd 000000E0h L004B6BA4: dd 00000020h L004B6BA8: dd 0000017Ch L004B6BAC: dd 000000D2h L004B6BB0: dd 0000003Eh L004B6BB4: dd 0000000Ah L004B6BB8: dd 000000B6h L004B6BBC: db C2h; '‚' db 00h; db 00h; db 00h; L004B6BC0: dd 000000E1h L004B6BC4: dd 0000000Ah L004B6BC8: dd 0000015Ch db C2h; '‚' db 00h; db 00h; db 00h; L004B6BD0: dd L00406DC0 dd L004411D0 dd L00440DF0 dd L0040A530 dd L0043FF40 dd L00408700 dd L004089B0 dd SUB_L0048B8A0 dd L0040A500 dd L00403590 dd L00441F40 dd L00408A50 dd L0040A4A0 dd SUB_L00441F50 dd SUB_L00441F50 dd L00401250 dd L00401260 dd L00408E90 dd L00401270 dd L0040A480 dd SUB_L0040CC60 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd SUB_L00408150 dd L00407460 dd L004075F0 dd L00408A80 dd L00408B10 L004B6D28: dd L0040A920 dd L004411D0 dd L00440DF0 dd L0040A530 dd L00436D90 dd L0040AA10 dd L0040ABD0 dd SUB_L0048B8A0 dd L0040A500 dd L00403590 dd L00441F40 dd L0040AC30 dd L0040B380 dd SUB_L00441F50 dd SUB_L00441F50 dd L00401250 dd L00401260 dd L00408E90 dd L00401270 dd L0040A480 dd SUB_L0040CC60 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd SUB_L0040B470 dd L0040B3E0 dd L0040B430 dd L0040ADB0 dd L0040AFF0 L004B6E80: dd L0040C970 dd L004411D0 dd L00440DF0 dd L0040CBC0 dd L00488230 dd L0040CA30 dd L0040CAA0 dd SUB_L0048B8A0 dd L00443470 dd L00403590 dd L00441F40 dd L0040CB20 dd L0040CB50 dd SUB_L00441F50 dd SUB_L00441F50 dd L00401250 dd L00401260 dd SUB_L0046E100 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 db 00h; db 00h; db 00h; db 00h; L004B6FC8: dd L00412420 dd L004411D0 dd L00440DF0 dd L00412800 dd L004129F0 dd L00412640 dd L004126D0 dd L00412BB0 dd L00412BD0 dd L00412780 dd L004127A0 dd SUB_L0048B8A0 dd L004127B0 dd SUB_L00441F50 dd SUB_L00441F50 dd L00401250 dd L00401260 dd SUB_L0046E100 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 db 00h; db 00h; db 00h; db 00h; L004B7110: dd L00412B70 dd L004411D0 dd L00440DF0 dd L00412D90 dd L004066D0 dd L00412BF0 dd L00412C10 dd L00412BB0 dd L00412BD0 dd L00412C80 dd L00412CB0 dd L00412CC0 dd SUB_L004068F0 dd SUB_L00441F50 dd SUB_L00441F50 dd L00401250 dd L00401260 dd SUB_L0046E100 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 db 00h; db 00h; db 00h; db 00h; L004B7258: dd L004131D0 dd L004411D0 dd L00440DF0 dd L00413430 dd L00488230 dd L004134E0 dd L00413510 dd SUB_L0048B8A0 dd L0041B600 dd L00413560 dd L004135B0 dd SUB_L0048B8A0 dd SUB_L004068F0 dd SUB_L00441F50 dd SUB_L00441F50 dd L00401250 dd L00401260 dd SUB_L0046E100 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 db 00h; db 00h; db 00h; db 00h; L004B73A0: dd L004135E0 dd L004411D0 dd L00440DF0 dd L00414370 dd L00488230 dd L004141F0 dd L004903F0 dd SUB_L0048B8A0 dd L004141D0 dd L00403590 dd L00441F40 dd L00414250 dd L00490440 dd SUB_L00441F50 dd SUB_L00441F50 dd L00401250 dd L00401260 dd L00414100 dd L00401270 dd L00413EF0 dd L00414140 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00414060 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 db 00h; db 00h; db 00h; db 00h; L004B74E8: dd L004147C0 dd L004411D0 dd L00440DF0 dd L00481D10 dd L00488230 dd L004148E0 dd L00414900 dd SUB_L0048B8A0 dd L004141D0 dd L00403590 dd L00441F40 dd SUB_L0048B8A0 dd SUB_L004068F0 dd SUB_L00441F50 dd SUB_L00441F50 dd L00401250 dd L00401260 dd SUB_L0046E100 dd L00401270 dd L00414880 dd SUB_L0040CC60 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00414C00 dd L00401270 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 db 00h; db 00h; db 00h; db 00h; L004B7630: dd L004152C0 dd L004411D0 dd L00440DF0 dd L00414370 dd L00488230 dd L00415640 dd L004903F0 dd SUB_L0048B8A0 dd L004141D0 dd L00403590 dd L00441F40 dd L00414250 dd L00490440 dd SUB_L00441F50 dd SUB_L00441F50 dd L00401250 dd L00401260 dd SUB_L0046E100 dd L00401270 dd L004155A0 dd SUB_L004068F0 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 db 00h; db 00h; db 00h; db 00h; db 44h; 'D' db 6Fh; 'o' db 20h; ' ' db 79h; 'y' db 6Fh; 'o' db 75h; 'u' db 20h; ' ' db 77h; 'w' db 69h; 'i' db 73h; 's' db 68h; 'h' db 20h; ' ' db 74h; 't' db 6Fh; 'o' db 20h; ' ' db 63h; 'c' db 72h; 'r' db 65h; 'e' db 61h; 'a' db 74h; 't' db 65h; 'e' db 20h; ' ' db 61h; 'a' db 20h; ' ' db 6Eh; 'n' db 65h; 'e' db 77h; 'w' db 20h; ' ' db 63h; 'c' db 68h; 'h' db 61h; 'a' db 72h; 'r' db 61h; 'a' db 63h; 'c' db 74h; 't' db 65h; 'e' db 72h; 'r' db 3Fh; '?' db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 59h; 'Y' db 65h; 'e' db 73h; 's' db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 4Eh; 'N' db 6Fh; 'o' db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 4Dh; 'M' db 61h; 'a' db 79h; 'y' db 62h; 'b' db 65h; 'e' db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 48h; 'H' db 6Fh; 'o' db 77h; 'w' db 20h; ' ' db 6Dh; 'm' db 61h; 'a' db 6Eh; 'n' db 79h; 'y' db 20h; ' ' db 6Ch; 'l' db 6Ch; 'l' db 61h; 'a' db 6Dh; 'm' db 61h; 'a' db 73h; 's' db 20h; ' ' db 64h; 'd' db 6Fh; 'o' db 20h; ' ' db 79h; 'y' db 6Fh; 'o' db 75h; 'u' db 20h; ' ' db 73h; 's' db 65h; 'e' db 65h; 'e' db 3Fh; '?' db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 4Fh; 'O' db 6Eh; 'n' db 65h; 'e' db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 54h; 'T' db 77h; 'w' db 6Fh; 'o' db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 54h; 'T' db 68h; 'h' db 72h; 'r' db 65h; 'e' db 65h; 'e' db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 45h; 'E' db 69h; 'i' db 67h; 'g' db 68h; 'h' db 74h; 't' db 79h; 'y' db 2Dh; '-' db 53h; 'S' db 69h; 'i' db 78h; 'x' db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L004B7A98: dd L00416120 dd L004411D0 dd L00440DF0 dd L00443010 dd L0043F120 dd SUB_L0048B8A0 dd L00441F20 dd SUB_L0048B8A0 dd SUB_L0048B8A0 dd L00403590 dd L00441F40 dd SUB_L0048B8A0 dd SUB_L004068F0 dd SUB_L00441F50 dd SUB_L00441F50 dd L00401250 dd L00401260 dd SUB_L0046E100 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd L00401280 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 db 00h; db 00h; db 00h; db 00h; L004B7BE0: dd L00416160 dd L004411D0 dd L00440DF0 dd L00420AD0 dd L00488230 dd L00416220 dd L00414900 dd SUB_L0048B8A0 dd L00420BB0 dd L00403590 dd L00441F40 dd SUB_L0048B8A0 dd SUB_L004068F0 dd L004162F0 dd SUB_L00441F50 dd L00401250 dd L00401260 dd SUB_L0046E100 dd SUB_L0046E100 dd L004164E0 dd SUB_L004068F0 dd L004166C0 dd L004166D0 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd L004166E0 dd SUB_L0046E100 dd L00401270 dd L00401280 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 db 00h; db 00h; db 00h; db 00h; L004B7D28: dd L00417460 dd L004411D0 dd L00440DF0 dd L00420AD0 dd L00488230 dd L004175D0 dd L00414900 dd SUB_L0048B8A0 dd L00420BB0 dd L00403590 dd L00441F40 dd SUB_L0048B8A0 dd SUB_L004068F0 dd L00417660 dd SUB_L00441F50 dd L00401250 dd L00401260 dd SUB_L0046E100 dd L00401270 dd SUB_L00417CE0 dd L00417EC0 dd L00418000 dd L00418010 dd L00417F70 dd L00401270 dd SUB_L0040CC60 dd L00418020 dd SUB_L0046E100 dd L00401270 dd L00401280 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 db 00h; db 00h; db 00h; db 00h; L004B7E70: dd L00418CA0 dd L004411D0 dd L00440DF0 dd L0041F920 dd L00488230 dd L00418D60 dd L00414900 dd SUB_L0048B8A0 dd L00420BB0 dd L00403590 dd L00441F40 dd SUB_L0048B8A0 dd SUB_L004068F0 dd L00418DF0 dd SUB_L00441F50 dd L00401250 dd L00401260 dd SUB_L0046E100 dd L00401270 dd SUB_L0046E100 dd SUB_L0040CC60 dd L00419350 dd L00419360 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd L00419370 dd L00401270 dd L00401270 dd L00401280 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 db 00h; db 00h; db 00h; db 00h; L004B7FB8: dd L004197A0 dd L004411D0 dd L00440DF0 dd L0041A630 dd L00488230 dd L00419EF0 dd L00481DF0 dd SUB_L0048B8A0 dd L00419EC0 dd L0041A0D0 dd L0041A190 dd L00403590 dd L0041A1B0 dd L0041A230 dd SUB_L00441F50 dd L00401250 dd L00401260 dd SUB_L0046E100 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd L00401280 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 db 00h; db 00h; db 00h; db 00h; L004B8100: dd L0041A950 dd L004411D0 dd L00440DF0 dd L0041B550 dd L00488230 dd L0041B630 dd L0041B820 dd SUB_L0048B8A0 dd L0041B600 dd L0041B8C0 dd L0041B900 dd SUB_L0048B8A0 dd L00481810 dd SUB_L00441F50 dd SUB_L00441F50 dd L00401250 dd L00401260 dd L0041BB20 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 db 00h; db 00h; db 00h; db 00h; L004B8248: dd L0041CD90 dd L004411D0 dd L00440DF0 dd L0041B550 dd L00488230 dd SUB_L0048B8A0 dd L0041D420 dd SUB_L0048B8A0 dd SUB_L0048B8A0 dd L00403590 dd L00441F40 dd L0041D4D0 dd L0041D5A0 dd SUB_L00441F50 dd SUB_L00441F50 dd L00401250 dd L00401260 dd SUB_L0046E100 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 db 00h; db 00h; db 00h; db 00h; L004B8390: dd L0041DE60 dd L004411D0 dd L00440DF0 dd L00420AD0 dd L00488230 dd SUB_L0048B8A0 dd L00420BB0 dd SUB_L0048B8A0 dd L00420BB0 dd L00403590 dd L00441F40 dd SUB_L0048B8A0 dd SUB_L004068F0 dd SUB_L00441F50 dd SUB_L00441F50 dd L00401250 dd L00401260 dd SUB_L0046E100 dd L00401270 dd SUB_L0046E100 dd SUB_L004068F0 dd L0041DF50 dd L0041DF60 dd L0041DF70 dd L0041DFF0 dd SUB_L0040CC60 dd SUB_L0040CC60 dd SUB_L0046E100 dd L00401270 dd L00401280 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 db 00h; db 00h; db 00h; db 00h; L004B84D8: dd L0041E630 dd L004411D0 dd L00440DF0 dd L00420AD0 dd L00488230 dd L00444A40 dd L00420BB0 dd SUB_L0048B8A0 dd L00420BB0 dd L00403590 dd L00441F40 dd SUB_L0048B8A0 dd SUB_L004068F0 dd SUB_L00441F50 dd SUB_L00441F50 dd L00401250 dd L00401260 dd SUB_L0046E100 dd L00401270 dd SUB_L0046E100 dd L0041E730 dd L0041E7E0 dd L0041E7F0 dd L0041E800 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd SUB_L0046E100 dd L00401270 dd L00401280 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 db 00h; db 00h; db 00h; db 00h; L004B8620: dd L0041ED60 dd L004411D0 dd L00440DF0 dd L00420AD0 dd L00488230 dd L0041EE60 dd L00414900 dd SUB_L0048B8A0 dd L00443470 dd L00403590 dd L00441F40 dd L0048EB20 dd SUB_L004068F0 dd SUB_L00441F50 dd SUB_L00441F50 dd L00401250 dd L00401260 dd SUB_L0046E100 dd L00401270 dd L00401270 dd L0041EE90 dd L0041F090 dd L0041F0A0 dd L0041EF80 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 db 00h; db 00h; db 00h; db 00h; L004B8768: dd L0041F400 dd L004411D0 dd L00440DF0 dd L0041F920 dd L00488230 dd L0041EE60 dd L00414900 dd SUB_L0048B8A0 dd L00443470 dd L00403590 dd L00441F40 dd L0048EB20 dd SUB_L004068F0 dd SUB_L00441F50 dd SUB_L00441F50 dd L00401250 dd L00401260 dd SUB_L0046E100 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd L0041F4E0 dd L0041F0A0 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 db 00h; db 00h; db 00h; db 00h; L004B88B0: dd L0041F840 dd L004411D0 dd L00440DF0 dd L0041F920 dd L00488230 dd L0041EE60 dd L00414900 dd SUB_L0048B8A0 dd L00443470 dd L00403590 dd L00441F40 dd L0048EB20 dd SUB_L004068F0 dd SUB_L00441F50 dd SUB_L00441F50 dd L00401250 dd L00401260 dd SUB_L0046E100 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd L0041FA00 dd L0041F0A0 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 db 00h; db 00h; db 00h; db 00h; L004B89F8: dd L0041FC80 dd L004411D0 dd L00440DF0 dd L0041F920 dd L00488230 dd L0041EE60 dd L00414900 dd SUB_L0048B8A0 dd L00420BB0 dd L00403590 dd L00441F40 dd L0048EB20 dd SUB_L004068F0 dd SUB_L00441F50 dd SUB_L00441F50 dd L00401250 dd L00401260 dd SUB_L0046E100 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L004068F0 dd SUB_L004068F0 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 db 00h; db 00h; db 00h; db 00h; L004B8B40: dd L00420210 dd L004411D0 dd L00440DF0 dd L00420AD0 dd L004202E0 dd L00444A40 dd L00420BB0 dd SUB_L0048B8A0 dd L00420BB0 dd L00420330 dd L00441F40 dd SUB_L0048B8A0 dd SUB_L004068F0 dd SUB_L00441F50 dd SUB_L00441F50 dd L00401250 dd L00401260 dd SUB_L0046E100 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd L00420350 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd L00401280 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 db 00h; db 00h; db 00h; db 00h; L004B8C88: dd L004209E0 dd L004411D0 dd L00440DF0 dd L00420AD0 dd L00488230 dd L00444A40 dd L00420BB0 dd SUB_L0048B8A0 dd L00420BB0 dd L00403590 dd L00441F40 dd SUB_L0048B8A0 dd SUB_L004068F0 dd SUB_L00441F50 dd SUB_L00441F50 dd L00401250 dd L00401260 dd SUB_L0046E100 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd L00420BD0 dd SUB_L0046E100 dd L00401270 dd L00401280 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 db 00h; db 00h; db 00h; db 00h; L004B8DD0: dd L00420ED0 dd L004411D0 dd L00440DF0 dd L00420F90 dd L00488230 dd L0041EE60 dd L00414900 dd SUB_L0048B8A0 dd SUB_L0048B8A0 dd L00403590 dd L00441F40 dd SUB_L0048B8A0 dd SUB_L004068F0 dd SUB_L00441F50 dd SUB_L00441F50 dd L00401250 dd L00401260 dd SUB_L0046E100 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd L00401280 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 db 00h; db 00h; db 00h; db 00h; L004B8F18: dd L00421780 dd L004411D0 dd L00440DF0 dd L00440FE0 dd L0043FF40 dd L004219B0 dd L00421A20 dd SUB_L0048B8A0 dd L00421990 dd L00403590 dd L00441F40 dd SUB_L0048B8A0 dd L004253A0 dd SUB_L00441F50 dd SUB_L00441F50 dd L00401250 dd L00401260 dd L00421AA0 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00421960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00425380 dd L00401250 dd L00421AF0 dd L00401250 dd L00401260 dd L00401270 dd L00401250 dd L00421AC0 db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L004B9084: dd 00000061h db 3Dh; '=' db 00h; db 00h; db 00h; L004B908C: db 62h; 'b' db 00h; db 00h; db 00h; db 3Eh; '>' db 00h; db 00h; db 00h; db 63h; 'c' db 00h; db 00h; db 00h; db 3Fh; '?' db 00h; db 00h; db 00h; db 64h; 'd' db 00h; db 00h; db 00h; db 40h; '@' db 00h; db 00h; db 00h; db 65h; 'e' db 00h; db 00h; db 00h; db 41h; 'A' db 00h; db 00h; db 00h; db 66h; 'f' db 00h; db 00h; db 00h; db 42h; 'B' db 00h; db 00h; db 00h; db 67h; 'g' db 00h; db 00h; db 00h; db 43h; 'C' db 00h; db 00h; db 00h; db 68h; 'h' db 00h; db 00h; db 00h; db 44h; 'D' db 00h; db 00h; db 00h; db 69h; 'i' db 00h; db 00h; db 00h; db 45h; 'E' db 00h; db 00h; db 00h; db 6Ah; 'j' db 00h; db 00h; db 00h; db 46h; 'F' db 00h; db 00h; db 00h; db 6Bh; 'k' db 00h; db 00h; db 00h; db 47h; 'G' db 00h; db 00h; db 00h; db 6Ch; 'l' db 00h; db 00h; db 00h; db 48h; 'H' db 00h; db 00h; db 00h; db 6Dh; 'm' db 00h; db 00h; db 00h; db 49h; 'I' db 00h; db 00h; db 00h; db 6Eh; 'n' db 00h; db 00h; db 00h; db 4Ah; 'J' db 00h; db 00h; db 00h; db 6Fh; 'o' db 00h; db 00h; db 00h; db 4Bh; 'K' db 00h; db 00h; db 00h; db 70h; 'p' db 00h; db 00h; db 00h; db 4Ch; 'L' db 00h; db 00h; db 00h; db 71h; 'q' db 00h; db 00h; db 00h; db 4Dh; 'M' db 00h; db 00h; db 00h; db 72h; 'r' db 00h; db 00h; db 00h; db 4Eh; 'N' db 00h; db 00h; db 00h; db 73h; 's' db 00h; db 00h; db 00h; db 4Fh; 'O' db 00h; db 00h; db 00h; db 74h; 't' db 00h; db 00h; db 00h; db 50h; 'P' db 00h; db 00h; db 00h; db 75h; 'u' db 00h; db 00h; db 00h; db 51h; 'Q' db 00h; db 00h; db 00h; db 76h; 'v' db 00h; db 00h; db 00h; db 52h; 'R' db 00h; db 00h; db 00h; db 77h; 'w' db 00h; db 00h; db 00h; db 53h; 'S' db 00h; db 00h; db 00h; db 78h; 'x' db 00h; db 00h; db 00h; db 54h; 'T' db 00h; db 00h; db 00h; db 79h; 'y' db 00h; db 00h; db 00h; db 55h; 'U' db 00h; db 00h; db 00h; db 7Ah; 'z' db 00h; db 00h; db 00h; db 57h; 'W' db 00h; db 00h; db 00h; db 7Ah; 'z' db 00h; db 00h; db 00h; db 58h; 'X' db 00h; db 00h; db 00h; db 7Ah; 'z' db 00h; db 00h; db 00h; db 56h; 'V' db 00h; db 00h; db 00h; db 41h; 'A' db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L004B9170: dd L00423120 dd L00423FC0 dd L00424D70 dd L004248A0 dd L00424A10 dd L00423DB0 dd L00423E20 dd SUB_L0048B8A0 dd SUB_L0048B8A0 dd L00403590 dd L00441F40 dd L00424870 dd L00423F70 dd SUB_L00441F50 dd SUB_L00441F50 dd L004249A0 dd L00401260 dd L00424090 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L004240F0 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00424550 dd L00423740 dd L00424270 dd L00423780 dd L004237D0 dd L00401270 dd L004243E0 dd L00424080 db 00h; db 00h; db 00h; db 00h; L004B92D8: dd L00425070 dd L004411D0 dd L00440DF0 dd L00440FE0 dd L0043FF40 dd L00425290 dd L004252E0 dd SUB_L0048B8A0 dd L00425240 dd L00403590 dd L00441F40 dd L00425330 dd L004253A0 dd SUB_L00441F50 dd SUB_L00441F50 dd L00401250 dd L00401260 dd SUB_L0046E100 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00425380 dd L00401250 dd L00425060 dd L00401250 dd L00401260 dd L00401270 dd L00401250 dd SUB_L0040CC60 db 00h; db 00h; db 00h; db 00h; L004B9440: dd L00425720 dd L004411D0 dd L00440DF0 dd L00425900 dd L00447450 dd L00425290 dd L004252E0 dd SUB_L0048B8A0 dd L00421990 dd L00403590 dd L00441F40 dd L00425330 dd L004253A0 dd SUB_L00441F50 dd SUB_L00441F50 dd L00401250 dd L00401260 dd SUB_L0046E100 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00425380 dd L00425A50 dd L00425060 dd L00425A70 dd L00425A90 dd L00401270 dd L00401250 dd SUB_L0040CC60 db 00h; db 00h; db 00h; db 00h; L004B95A8: dd L00425CD0 dd L004411D0 dd L00440DF0 dd L00440FE0 dd L0043FF40 dd L004684F0 dd L00468560 dd SUB_L0048B8A0 dd L00425240 dd L00403590 dd L00441F40 dd L00425330 dd L00425F70 dd L00425F50 dd SUB_L00441F50 dd L00401250 dd L00401260 dd SUB_L0046E100 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00425D90 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00425380 dd L00401250 dd L00425060 dd L00401250 dd L00401260 dd L00401270 dd L00401250 dd SUB_L0040CC60 db 00h; db 00h; db 00h; db 00h; L004B9710: dd L004260F0 dd L004411D0 dd L00440DF0 dd L00440FE0 dd L0043FF40 dd L00426D90 dd L00426DE0 dd SUB_L0048B8A0 dd L00425240 dd L00426CD0 dd L00426D50 dd L00426CF0 dd L004253A0 dd SUB_L00441F50 dd SUB_L00441F50 dd L00401250 dd L00401260 dd L00427060 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00425380 dd L00401250 dd L00425060 dd L00401250 dd L00401260 dd L00401270 dd L00401250 dd L00426D60 db 00h; db 00h; db 00h; db 00h; L004B9878: dd L00429CC0 dd L004411D0 dd L00440DF0 dd L0042ABC0 dd L00478EA0 dd L00429F70 dd L00429FF0 dd SUB_L0048B8A0 dd L00429EE0 dd L0042A150 dd L0042A350 dd L0042A440 dd L0042A5E0 dd SUB_L00441F50 dd SUB_L00441F50 dd L00401250 dd L0042B260 dd SUB_L0046E100 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd L0042A550 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 db 00h; db 00h; db 00h; db 00h; L004B99C0: dd L0042B670 dd L004411D0 dd L00440DF0 dd L0042CC90 dd L0047A710 dd L0042B7F0 dd L0042B8C0 dd SUB_L0048B8A0 dd L00443470 dd L0042C000 dd L00441F40 dd L0042C2B0 dd L0042C660 dd SUB_L00441F50 dd SUB_L00441F50 dd L00401250 dd L00401260 dd SUB_L0046E100 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 db 00h; db 00h; db 00h; db 00h; L004B9B08: dd L0042E290 dd L004411D0 dd L00440DF0 dd L00440FE0 dd L0043FF40 dd SUB_L0048B8A0 dd L0042E630 dd L0042E520 dd L0042E5A0 dd L0042E390 dd L00441F40 dd SUB_L0042E3B0 dd L0042E620 dd SUB_L00441F50 dd SUB_L00441F50 dd L00401250 dd L00401260 dd SUB_L0046E100 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 db 00h; db 00h; db 00h; db 00h; L004B9C50: dd L0042FCF0 dd L0042FCE0 dd L0049BBB0 dd L0049BBB0 dd SUB_L00430280 dd SUB_L0042FDF0 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 L004B9C8C: dd L004317C0 db 80h; '?' db 12h; db 40h; '@' db 00h; db 00h; db 68h; 'h' db 40h; '@' db 00h; db 00h; db 68h; 'h' db 40h; '@' db 00h; db 10h; db 68h; 'h' db 40h; '@' db 00h; db F0h; 'à' db 68h; 'h' db 40h; '@' db 00h; db 00h; db 00h; db 00h; db 00h; L004B9CA8: dd 3F800000h L004B9CAC: dd 43800000h L004B9CB0: dd 43000000h db 00h; db 00h; db 00h; db 00h; L004B9CB8: dq 3FD45F4F4E286E83h db 83h; '?' db 6Eh; 'n' db 28h; '(' db 4Eh; 'N' db 4Fh; 'O' db 5Fh; '_' db D4h; '”' db BFh; 'õ' db CDh; '' db CCh; 'Œ' db CCh; 'Œ' db 3Dh; '=' db 00h; db 00h; db 00h; db 00h; L004B9CD0: dq 3F9921FB54442EEAh L004B9CD8: dq 40F0000000000000h L004B9CE0: dd L00436BC0 dd L004411D0 dd L00440DF0 dd L0048DDA0 dd L00436D90 dd L00436CA0 dd L0048D740 dd SUB_L0048B8A0 dd L00443470 dd L00403590 dd L00441F40 dd L0048D8C0 dd L00481810 dd SUB_L00441F50 dd SUB_L00441F50 dd L00401250 dd L00401260 dd SUB_L0046E100 dd L00401270 dd L00436D00 dd SUB_L0040CC60 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 db 00h; db 00h; db 00h; db 00h; L004B9E28: dd L00439FF0 dd L004411D0 dd L00440DF0 dd L00440FE0 dd L0043A370 dd L0043AEB0 dd L0043AF90 dd SUB_L0048B8A0 dd L0043AE70 dd L00403590 dd L00441F40 dd L0043B020 dd SUB_L004068F0 dd SUB_L00441F50 dd SUB_L00441F50 dd L00401250 dd L00401260 dd L0043A320 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd L00401280 dd L00401280 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L0043B010 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 L004B9F6C: dd L0043BC70 L004B9F70: dd L0043C330 db 00h; db 00h; db 00h; db 00h; L004B9F78: dd L0043CF50 dd L0042FCE0 dd L0043D200 dd L0043CFF0 dd SUB_L00430280 dd SUB_L0042FDF0 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L00401280 dd L0040C960 dd L00401280 dd L004317C0 dd L0043D3E0 dd L00406800 dd L00406800 dd L00406810 dd SUB_L004068F0 db 00h; db 00h; db 00h; db 00h; L004B9FD0: dd L0043D7A0 dd L004411D0 dd L00401270 dd L00401270 dd L0043F120 dd SUB_L0048B8A0 dd L00441F20 dd SUB_L0048B8A0 dd SUB_L0048B8A0 dd L00403590 dd L00441F40 dd SUB_L0048B8A0 dd SUB_L004068F0 dd SUB_L00441F50 dd SUB_L00441F50 dd L00401250 dd L00401260 dd SUB_L0046E100 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd L0043EA90 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 db 00h; db 00h; db 00h; db 00h; L004BA118: dd L00441C80 dd L004411D0 dd L00440DF0 dd L00440FE0 dd L0043FF40 dd SUB_L0048B8A0 dd L00441F20 dd SUB_L0048B8A0 dd SUB_L0048B8A0 dd L00403590 dd L00441F40 dd SUB_L0048B8A0 dd SUB_L004068F0 dd SUB_L00441F50 dd SUB_L00441F50 dd L00401250 dd L00401260 dd SUB_L0046E100 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 db 00h; db 00h; db 00h; db 00h; L004BA260: dd L00442F50 dd L004411D0 dd L00440DF0 dd L00443010 dd L0043F120 dd SUB_L0048B8A0 dd L00441F20 dd SUB_L0048B8A0 dd SUB_L0048B8A0 dd L00403590 dd L00441F40 dd SUB_L0048B8A0 dd SUB_L004068F0 dd SUB_L00441F50 dd SUB_L00441F50 dd L00401250 dd L00401260 dd SUB_L0046E100 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 db 00h; db 00h; db 00h; db 00h; L004BA3A8: dd L00443150 dd L004411D0 dd L00440DF0 dd L004433B0 dd L00481440 dd L0041EE60 dd L00414900 dd SUB_L0048B8A0 dd L00443470 dd L00403590 dd L00441F40 dd L0048EB20 dd SUB_L004068F0 dd SUB_L00441F50 dd SUB_L00441F50 dd L00401250 dd L00401260 dd SUB_L0046E100 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 70h; 'p' db 40h; '@' db 00h; db 00h; db 80h; '?' db 3Fh; '?' db 0Ah; db D7h; '—' db 23h; '#' db 3Ch; '<' db 00h; db 00h; db DCh; 'œ' db C2h; '‚' db 00h; db 00h; db 00h; db 00h; L004BA508: dd L004438D0 dd L004411D0 dd L00440DF0 dd L00443C60 dd L00481440 dd L00443D60 dd L00414900 dd SUB_L0048B8A0 dd SUB_L0048B8A0 dd L00403590 dd L00441F40 dd L00443DA0 dd SUB_L004068F0 dd SUB_L00441F50 dd SUB_L00441F50 dd L00401250 dd L00401260 dd L00443DE0 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd L00401280 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 L004BA64C: dd L00443E20 L004BA650: dd L00444820 dd L004411D0 dd L00440DF0 dd L004448F0 dd L004449F0 dd L00444A40 dd L00420BB0 dd SUB_L0048B8A0 dd L00420BB0 dd L00420330 dd L00441F40 dd SUB_L0048B8A0 dd SUB_L004068F0 dd SUB_L00441F50 dd SUB_L00441F50 dd L00401250 dd L00401260 dd SUB_L0046E100 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 L004BA794: dd 35800000h db 00h; db 00h; db 00h; db 00h; L004BA79C: dd 00000001h L004BA7A0: dd 000000C4h L004BA7A4: dd SSZ004C6F70_map0_mul db 01h; db 00h; db 00h; db 00h; db 00h; db 10h; db 00h; db 00h; db 0Ch; db 00h; db 00h; db 00h; db 64h; 'd' db 6Fh; 'o' db 4Ch; 'L' db 00h; db 02h; db 00h; db 00h; db 00h; db 01h; db 00h; db 00h; db 00h; db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 54h; 'T' db 6Fh; 'o' db 4Ch; 'L' db 00h; db 03h; db 00h; db 00h; db 00h; db 00h; db 10h; db 00h; db 00h; db 0Ch; db 00h; db 00h; db 00h; db 48h; 'H' db 6Fh; 'o' db 4Ch; 'L' db 00h; db 04h; db 00h; db 00h; db 00h; db 01h; db 00h; db 00h; db 00h; db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 40h; '@' db 6Fh; 'o' db 4Ch; 'L' db 00h; db 05h; db 00h; db 00h; db 00h; db 00h; db 10h; db 00h; db 00h; db 0Ch; db 00h; db 00h; db 00h; db 34h; '4' db 6Fh; 'o' db 4Ch; 'L' db 00h; db 06h; db 00h; db 00h; db 00h; db 01h; db 00h; db 00h; db 00h; db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 28h; '(' db 6Fh; 'o' db 4Ch; 'L' db 00h; db 07h; db 00h; db 00h; db 00h; db 00h; db 10h; db 00h; db 00h; db 0Ch; db 00h; db 00h; db 00h; db 18h; db 6Fh; 'o' db 4Ch; 'L' db 00h; db 08h; db 00h; db 00h; db 00h; db 01h; db 00h; db 00h; db 00h; db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 0Ch; db 6Fh; 'o' db 4Ch; 'L' db 00h; db 09h; db 00h; db 00h; db 00h; db 00h; db 10h; db 00h; db 00h; db 0Ch; db 00h; db 00h; db 00h; db 00h; db 6Fh; 'o' db 4Ch; 'L' db 00h; db 0Ah; db 00h; db 00h; db 00h; db 01h; db 00h; db 00h; db 00h; db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F4h; 'ä' db 6Eh; 'n' db 4Ch; 'L' db 00h; db 0Bh; db 00h; db 00h; db 00h; db 00h; db 10h; db 00h; db 00h; db 0Ch; db 00h; db 00h; db 00h; db E8h; '¨' db 6Eh; 'n' db 4Ch; 'L' db 00h; db 0Ch; db 00h; db 00h; db 00h; db 01h; db 00h; db 00h; db 00h; db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db DCh; 'œ' db 6Eh; 'n' db 4Ch; 'L' db 00h; db 0Dh; db 00h; db 00h; db 00h; db 00h; db 10h; db 00h; db 00h; db 0Ch; db 00h; db 00h; db 00h; db D0h; '' db 6Eh; 'n' db 4Ch; 'L' db 00h; db 0Eh; db 00h; db 00h; db 00h; db 01h; db 00h; db 00h; db 00h; db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db C4h; '„' db 6Eh; 'n' db 4Ch; 'L' db 00h; db 0Fh; db 00h; db 00h; db 00h; db 00h; db 01h; db 00h; db 00h; db 0Ch; db 00h; db 00h; db 00h; db B8h; 'ñ' db 6Eh; 'n' db 4Ch; 'L' db 00h; db 10h; db 00h; db 00h; db 00h; db 01h; db 00h; db 00h; db 00h; db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db ACh; '¿' db 6Eh; 'n' db 4Ch; 'L' db 00h; L004BA8A8: dd L004473E0 dd L004411D0 dd L00440DF0 L004BA8B4: dd L00425900 dd L00447450 dd L00447420 dd L00447440 dd SUB_L0048B8A0 dd SUB_L0048B8A0 dd L00403590 dd L00441F40 dd L00447540 dd L004253A0 dd SUB_L00441F50 dd SUB_L00441F50 dd L00401250 dd L00401260 dd SUB_L0046E100 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00425380 dd L004474C0 dd L00425060 dd L004474E0 dd L00447510 dd L00401270 dd L00401250 dd SUB_L0040CC60 db 00h; db 00h; db 00h; db 00h; db 9Ah; '?' db 99h; 'T' db 99h; 'T' db 99h; 'T' db 99h; 'T' db 99h; 'T' db B9h; 'ü' db 3Fh; '?' db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db F0h; 'à' db 3Fh; '?' db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 70h; 'p' db 40h; '@' db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 20h; ' ' db 40h; '@' db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db A0h; 'ÿ' db 3Fh; '?' db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 70h; 'p' db 3Fh; '?' db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db E0h; ' ' db 3Fh; '?' db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 40h; '@' db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db C0h; '€' db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 10h; db C0h; '€' db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 4Eh; 'N' db 40h; '@' db 00h; db 00h; db 00h; db 00h; db 00h; db 80h; '?' db 76h; 'v' db C0h; '€' db 00h; db 00h; db 00h; db 00h; db 00h; db 80h; '?' db 76h; 'v' db 40h; '@' db 11h; db 11h; db 11h; db 11h; db 11h; db 11h; db 91h; ''' db BFh; 'õ' db 00h; db 00h; db 00h; db 00h; db 00h; db 80h; '?' db 66h; 'f' db 40h; '@' db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 6Eh; 'n' db 40h; '@' db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 08h; db 40h; '@' db FCh; 'ì' db A9h; 'c' db F1h; 'á' db D2h; '’' db 4Dh; 'M' db 62h; 'b' db 50h; 'P' db 3Fh; '?' db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 5Eh; '^' db 40h; '@' db 00h; db 00h; db 00h; db 00h; db 00h; db C0h; '€' db 72h; 'r' db 40h; '@' db 84h; '"' db 9Eh; '?' db 52h; 'R' db A2h; '÷' db 46h; 'F' db DFh; 'Ÿ' db 91h; ''' db 3Fh; '?' db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db E0h; ' ' db BFh; 'õ' db CDh; '' db CCh; 'Œ' db CCh; 'Œ' db CCh; 'Œ' db CCh; 'Œ' db CCh; 'Œ' db ECh; '¬' db 3Fh; '?' db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db D0h; '' db 3Fh; '?' db 9Ah; '?' db 99h; 'T' db 99h; 'T' db 99h; 'T' db 99h; 'T' db 99h; 'T' db A9h; 'c' db BFh; 'õ' db 66h; 'f' db 66h; 'f' db 66h; 'f' db 66h; 'f' db 66h; 'f' db 66h; 'f' db DEh; 'ž' db 3Fh; '?' db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 32h; '2' db C0h; '€' db 00h; db 00h; db 00h; db 00h; db 00h; db 78h; 'x' db 76h; 'v' db 40h; '@' L004BAAF8: dd L00447B80 dd L004411D0 dd L00440DF0 dd L004485E0 dd L00488230 dd L004486D0 dd L00448790 dd SUB_L0048B8A0 dd L004486A0 dd L00403590 dd L00441F40 dd L004487B0 dd SUB_L004068F0 dd L00448870 dd SUB_L00441F50 dd L00401250 dd L00401260 dd SUB_L0046E100 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 L004BAC3C: dd L004497E0 L004BAC40: dd L0044D5A0 dd L004411D0 dd L00440DF0 dd L00440FE0 dd L0044D5E0 dd L0044D610 dd L0044D710 dd L0044D7F0 dd L0044D860 dd L0044D910 dd L0044DA20 dd L0044DA60 dd L0044DB30 dd SUB_L00441F50 dd SUB_L00441F50 dd L00401250 dd L0044E5D0 dd SUB_L0046E100 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd L0040C960 dd L0040C960 dd L00401280 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 db 00h; db 00h; db 00h; db 00h; L004BAD88: dd L0044E910 dd L004411D0 dd L00440DF0 dd L00440FE0 dd L0043FF40 dd L0044E9D0 dd L00414900 dd SUB_L0048B8A0 dd SUB_L0048B8A0 dd L00403590 dd L00441F40 dd L0044EA10 dd SUB_L004068F0 dd SUB_L00441F50 dd SUB_L00441F50 dd L00401250 dd L00401260 dd SUB_L0046E100 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd L00401280 dd L0040C960 dd L00401280 dd L00401280 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 L004BAECC: dd L0044ECC0 L004BAED0: dd L0044FFF0 db 00h; db 00h; db 00h; db 00h; L004BAED8: dd 00000154h db 4Bh; 'K' db 01h; db 00h; db 00h; db 55h; 'U' db 01h; db 00h; db 00h; db 4Ch; 'L' db 01h; db 00h; db 00h; db 56h; 'V' db 01h; db 00h; db 00h; db 4Dh; 'M' db 01h; db 00h; db 00h; db 57h; 'W' db 01h; db 00h; db 00h; db 4Eh; 'N' db 01h; db 00h; db 00h; db 58h; 'X' db 01h; db 00h; db 00h; db 4Fh; 'O' db 01h; db 00h; db 00h; L004BAF00: dd L00452310 L004BAF04: dd L00455430 L004BAF08: dd L0045BEC0 dd L0045C0B0 dd L00433FC0 dd L00433F80 dd L00430390 dd SUB_L0042FDF0 dd L00401280 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00431200 dd L00401280 dd L00406800 dd L00406800 dd L00406810 dd SUB_L004068F0 db 00h; db 00h; db 00h; db 00h; L004BAF60: dd L0045C020 dd L0045C110 dd L00434780 dd L004346E0 dd L004304B0 dd SUB_L0042FDF0 dd L00401280 dd L0040C960 dd L0040C960 dd L00401280 dd L00401280 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00431230 dd L00401280 dd L00452570 dd L00452600 dd L004525D0 dd SUB_L004068F0 db 00h; db 00h; db 00h; db 00h; L004BAFB8: dd L0045BBA0 dd L0045C270 dd SUB_L004318A0 dd L004317D0 dd L004305D0 dd SUB_L0042FDF0 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00431270 dd L0045D9B0 dd L004525A0 dd L00406800 dd L00406810 dd SUB_L0045D050 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0045C1B0 dd L0045C1C0 dd L0045D990 dd L0045D9D0 dd L0045D8F0 dd L0045D9F0 dd L0045DA30 db 00h; db 00h; db 00h; db 00h; L004BB040: dd L0045BD60 dd L0045C3D0 dd SUB_L004318A0 dd L004317D0 dd L004305D0 dd SUB_L0042FDF0 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00431270 dd L0045D9B0 dd L004525A0 dd L00406800 dd L00406810 dd SUB_L0045DCF0 dd L00401280 dd L0045DC70 dd L0045DCB0 dd L00401280 dd L00401280 dd L0045C1B0 dd L0045C1C0 dd L0045D990 dd L0045D9D0 dd L0045D8F0 dd L0045D9F0 dd L0045DA30 db 00h; db 00h; db 00h; db 00h; L004BB0C8: dd L0045E120 dd L0042FCE0 dd SUB_L004318A0 dd L004317D0 dd L004305D0 dd SUB_L0042FDF0 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L0040C960 dd L00401280 dd L00401280 dd L00431270 dd L0045D9B0 dd L004525A0 dd L00406800 dd L00406810 dd SUB_L0045DCF0 dd L00401280 dd L0045DC70 dd L0045DCB0 dd L00401280 dd L0045E2F0 dd L0045C1B0 dd L0045C1C0 dd L0045D990 dd L0045D9D0 dd L0045D8F0 dd L0045D9F0 dd L0045DA30 db 00h; db 00h; db 00h; db 00h; L004BB150: dd L0045E330 dd L0042FCE0 dd SUB_L004318A0 dd L004317D0 dd L004305D0 dd SUB_L0042FDF0 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00431270 dd L0045D9B0 dd L004525A0 dd L00406800 dd L00406810 dd SUB_L0045DCF0 dd L00401280 dd L0045DC70 dd L0045DCB0 dd L0040C960 dd L00401280 dd L0045C1B0 dd L0045C1C0 dd L0045D990 dd L0045D9D0 dd L0045D8F0 dd L0045D9F0 dd L0045DA30 db 00h; db 00h; db 00h; db 00h; L004BB1D8: dd L0045E640 dd L0042FCE0 dd L00432590 dd L00432280 dd L00430710 dd L0042FE90 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L0040C960 dd L00401280 dd L00401280 dd L00431270 dd L00401280 dd L004525A0 dd L00406800 dd L00406810 dd SUB_L0045DCF0 dd L0040C960 dd L0045DC70 dd L0045DCB0 dd L00401280 dd L0045E2F0 dd L0045C1B0 dd L0045C1C0 dd L0045E630 dd L0045D9D0 dd L0045D8F0 dd L0045D9F0 dd L0045DA30 db 00h; db 00h; db 00h; db 00h; L004BB260: dd L0045E8A0 dd L0042FCE0 dd L00432D90 dd L00432870 dd L00430920 dd SUB_L0042FF60 dd L0040C960 dd L00401280 dd L00401280 dd L0040C960 dd L00401280 dd L0040C960 dd L0040C960 dd L00401280 dd L00401280 dd L004314F0 dd L00401280 dd L004525A0 dd L00406800 dd L00406810 dd SUB_L0045DCF0 dd L00401280 dd L0045DC70 dd L00401280 dd L00401280 dd L0045E2F0 dd L0045C1B0 dd L0045C1C0 dd L0045E890 dd L00478500 dd L0045EFC0 dd L0045D9F0 dd L0045DA30 dd L00483BA0 dd L0045EE60 dd L00453F70 dd L0045F5B0 dd L0045F2D0 dd L0045ED20 dd L0045EDD0 dd L0045ED70 db 00h; db 00h; db 00h; db 00h; L004BB308: dd L0045F4D0 dd L0042FCE0 dd L00433940 dd L004334C0 dd L00430BB0 dd L00430070 dd L0040C960 dd L00401280 dd L00401280 dd L0040C960 dd L0040C960 dd L0040C960 dd L0040C960 dd L00401280 dd L00401280 dd L004317C0 dd L00401280 dd L004525A0 dd L00406800 dd L00406810 dd SUB_L0045DCF0 dd L00401280 dd L0045DC70 dd L00401280 dd L00401280 dd L0045E2F0 dd L0045C1B0 dd L0045C1C0 dd L0045E890 dd L00478500 dd L0045EFC0 dd L0045D9F0 dd L0045DA30 dd L00484750 dd L0045EE60 dd L00453AB0 dd L0045F5B0 dd L0045F2D0 dd L0045ED40 dd L0045F4C0 dd L0045F4C0 db 00h; db 00h; db 00h; db 00h; L004BB3B0: dd L0045F720 dd L0042FCE0 dd L00431C70 dd L004317D0 dd L004305D0 dd SUB_L0042FDF0 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00431270 dd L0045D9B0 dd L004525A0 dd L00406800 dd L00406810 dd SUB_L0045D050 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0045C1B0 dd L0045C1C0 dd L0045D990 dd L0045D9D0 dd L0045D8F0 dd L0045D9F0 dd L0045DA30 db 00h; db 00h; db 00h; db 00h; L004BB438: dd 000000D9h db DAh; 'š' db 00h; db 00h; db 00h; db DBh; '›' db 00h; db 00h; db 00h; db DCh; 'œ' db 00h; db 00h; db 00h; db DDh; '' db 00h; db 00h; db 00h; db DEh; 'ž' db 00h; db 00h; db 00h; db DFh; 'Ÿ' db 00h; db 00h; db 00h; db E0h; ' ' db 00h; db 00h; db 00h; db ECh; '¬' db 00h; db 00h; db 00h; db EDh; '­' db 00h; db 00h; db 00h; db E1h; '¡' db 00h; db 00h; db 00h; db E2h; '¢' db 00h; db 00h; db 00h; db E3h; '£' db 00h; db 00h; db 00h; db E4h; '¤' db 00h; db 00h; db 00h; db E5h; '¥' db 00h; db 00h; db 00h; db E6h; '¦' db 00h; db 00h; db 00h; db E7h; '§' db 00h; db 00h; db 00h; db E8h; '¨' db 00h; db 00h; db 00h; db EAh; 'ª' db 00h; db 00h; db 00h; db EBh; '«' db 00h; db 00h; db 00h; L004BB488: dd L004621D0 dd L004411D0 dd L00440DF0 dd L00464C70 dd L0043FF40 dd L00464DD0 dd L00464FA0 dd SUB_L0048B8A0 dd L00443470 dd L00403590 dd L00441F40 dd L00464FC0 dd SUB_L004068F0 dd SUB_L00441F50 dd SUB_L00441F50 dd L00401250 dd L00401260 dd SUB_L0046E100 dd L00401270 dd L00462A20 dd SUB_L0040CC60 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L004625B0 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 db 00h; db 00h; db 00h; db 00h; L004BB5D0: dd L00465410 dd L00465780 dd L004654E0 dd L004655A0 dd L004656A0 dd L00465670 L004BB5E8: dd L00464650 dd L0049BBB0 dd L0049BBB0 dd L0049BBB0 dd L0049BBB0 dd SUB_L0040CC60 L004BB600: dd L00465700 dd L00465780 dd L004657B0 dd L00465900 dd L00465950 dd L00465920 L004BB618: dd L00465FE0 dd L00466060 dd L00466090 dd L004661E0 dd L00466230 dd L00466200 L004BB630: dd L00465BD0 dd L00465C50 dd L00465C80 dd L00465EF0 dd L00465F40 dd L00465F10 L004BB648: dd L00465AB0 dd L00401280 dd L00401250 dd SUB_L0040CC60 dd L00464680 dd SUB_L0040CC60 L004BB660: dd L00466440 dd L004664F0 dd L00466540 dd L004666A0 dd L00466760 dd L004666D0 L004BB678: db 0Dh; db 0Ah; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L004BB680: dd L004681A0 dd L004411D0 dd L00440DF0 dd L00440FE0 dd L0043FF40 dd L004684F0 dd L00468560 dd SUB_L0048B8A0 dd SUB_L0048B8A0 dd L00403590 dd L00441F40 dd SUB_L0048B8A0 dd L00425F70 dd L004684D0 dd SUB_L00441F50 dd L00401250 dd L00401260 dd SUB_L0046E100 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00468260 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 L004BB7C4: dd L004688D0 L004BB7C8: dq 3FD0000000000000h L004BB7D0: dd BF800000h db 00h; db 00h; db 00h; db 00h; L004BB7D8: dd L004783B0 dd L004411D0 dd L00440DF0 dd L00478DA0 dd L00478EA0 dd L00478510 dd L00478580 dd SUB_L0048B8A0 dd L00443470 dd L004785E0 dd L00441F40 dd L00478610 dd L00478720 dd SUB_L00441F50 dd SUB_L00441F50 dd L00401250 dd L00401260 dd SUB_L0046E100 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd L00478500 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L0040C960 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 db 00h; db 00h; db 00h; db 00h; L004BB920: dd L00479260 dd L004411D0 dd L00440DF0 dd L0047A610 dd L0047A710 dd L00479800 dd L00479880 dd SUB_L0048B8A0 dd L004797B0 dd L00403590 dd L00441F40 dd L00479CC0 dd L00479F20 dd SUB_L00441F50 dd SUB_L00441F50 dd L00401250 dd L00401260 dd SUB_L0046E100 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd L00479EA0 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 L004BBA64: dd 3F800000h L004BBA68: dd L0047AD80 dd L004411D0 dd L00440DF0 dd L0047B150 dd L00488230 dd L0047AE50 dd L00414900 dd SUB_L0048B8A0 dd L00443470 dd L00403590 dd L00441F40 dd L0048EB20 dd SUB_L004068F0 dd L0047AE90 dd SUB_L00441F50 dd L00401250 dd L00401260 dd L0047AED0 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 db 00h; db 00h; db 00h; db 00h; L004BBBB0: dd L0047B540 dd L004411D0 dd L00440DF0 dd L0047B700 dd L0047B7D0 dd L0047BD80 dd L0047BDE0 dd SUB_L0048B8A0 dd L00443470 dd L00403590 dd L00441F40 dd L004035B0 dd SUB_L004068F0 dd L0047BE80 dd SUB_L00441F50 dd SUB_L0047B820 dd L00401260 dd L0047BED0 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 db 00h; db 00h; db 00h; db 00h; L004BBCF8: dd L0047C5B0 dd L004411D0 dd L00440DF0 dd L0047D260 dd L0047D310 dd L0047C6D0 dd L0047C730 dd SUB_L0048B8A0 dd L00443470 dd L00403590 dd L00441F40 dd L0047C7A0 dd L00481810 dd SUB_L00441F50 dd SUB_L00441F50 dd L00401250 dd L00401260 dd SUB_L0046E100 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 db 00h; db 00h; db 00h; db 00h; L004BBE40: dd L0047E170 dd L004411D0 dd L00440DF0 dd L0047FAD0 dd L0047FB90 dd L0047E6C0 dd L0047EBF0 dd SUB_L0048B8A0 dd L00421990 dd L00403590 dd L00441F40 dd L0047EC50 dd L0047EE20 dd L0047ED00 dd SUB_L00441F50 dd L00401250 dd L00401260 dd SUB_L0046E100 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 db 00h; db 00h; db 00h; db 00h; L004BBF88: dd L0047FF90 dd L004411D0 dd L00440DF0 dd L00480AD0 dd L0047FB90 dd L00480030 dd L004800A0 dd SUB_L0048B8A0 dd L00421990 dd L00403590 dd L00441F40 dd L004800F0 dd L004803B0 dd L00480350 dd SUB_L00441F50 dd L00401250 dd L00401260 dd SUB_L0046E100 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd L004801A0 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 db 00h; db 00h; db 00h; db 00h; L004BC0D0: dd L004810C0 dd L004411D0 dd L00440DF0 dd L00481D10 dd L00481440 dd L00436CA0 dd L00481490 dd SUB_L0048B8A0 dd L00443470 dd L004814F0 dd L00441F40 dd L0040CB20 dd L00481810 dd SUB_L00441F50 dd SUB_L00441F50 dd L00401250 dd L00401260 dd SUB_L0046E100 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd L00481640 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 db 00h; db 00h; db 00h; db 00h; L004BC218: dd L00481C40 dd L004411D0 dd L00440DF0 dd L00481D10 dd L00481440 dd L00436CA0 dd L00481DF0 dd SUB_L0048B8A0 dd L00481DD0 dd L00403590 dd L00441F40 dd SUB_L0048B8A0 dd L00481810 dd SUB_L00441F50 dd SUB_L00441F50 dd L00401250 dd L00401260 dd SUB_L0046E100 dd L00401270 dd L00481E40 dd SUB_L0040CC60 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 db 00h; db 00h; db 00h; db 00h; L004BC360: dd L004822D0 dd L004411D0 dd L00440DF0 dd L00420AD0 dd L00488230 dd L0041EE60 dd L00414900 dd SUB_L0048B8A0 dd L00420BB0 dd L00403590 dd L00441F40 dd SUB_L0048B8A0 dd SUB_L004068F0 dd SUB_L00441F50 dd SUB_L00441F50 dd L00401250 dd L00401260 dd SUB_L0046E100 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd L004823B0 dd L004823C0 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 db 00h; db 00h; db 00h; db 00h; L004BC4A8: dd L00485510 dd L004411D0 dd L00440DF0 dd L00487670 dd L00487780 dd L00485730 dd L00485800 dd SUB_L0048B8A0 dd L00421990 dd L00403590 dd L00441F40 dd L00485A20 dd L00486B00 dd L00486370 dd SUB_L00441F50 dd SUB_L00486210 dd L00401260 dd L00486610 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L004869B0 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 db 00h; db 00h; db 00h; db 00h; L004BC5F0: dd L00488090 dd L004411D0 dd L00440DF0 dd L00488160 dd L00488230 dd L0041EE60 dd L00414900 dd SUB_L0048B8A0 dd L00443470 dd L00403590 dd L00441F40 dd L0048EB20 dd SUB_L004068F0 dd SUB_L00441F50 dd SUB_L00441F50 dd L00401250 dd L00401260 dd SUB_L0046E100 dd L00401270 dd SUB_L0046E100 dd SUB_L0040CC60 dd L00488270 dd L00488280 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 L004BC734: dd L0049BBB0 L004BC738: dd L00488E50 L004BC73C: dd L00489000 L004BC740: dd L004893C0 L004BC744: dd L00489560 L004BC748: dd L00489CF0 L004BC74C: dd L0048BAC0 L004BC750: dd L0048C580 dd L004411D0 dd L00440DF0 dd L0048DDA0 dd L00487780 dd L0048C660 dd L0048D740 dd SUB_L0048B8A0 dd L00443470 dd L00403590 dd L00441F40 dd L0048D8C0 dd L0048C880 dd L0048C900 dd SUB_L00441F50 dd L0048CAD0 dd L00401260 dd SUB_L0046E100 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 db 00h; db 00h; db 00h; db 00h; L004BC898: dd L0048D5D0 dd L004411D0 dd L00440DF0 dd L0048DDA0 dd L0047B7D0 dd L0048D6E0 dd L0048D740 dd SUB_L0048B8A0 dd L00443470 dd L00403590 dd L00441F40 dd L0048D8C0 dd L0048D950 dd L0048D9D0 dd SUB_L00441F50 dd L0048DA30 dd L00401260 dd SUB_L0046E100 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 db 00h; db 00h; db 00h; db 00h; L004BC9E0: dd L0048E270 dd L004411D0 dd L0048E4E0 dd L0048E510 dd L0043F120 dd SUB_L0048B8A0 dd L0048E2B0 dd SUB_L0048B8A0 dd SUB_L0048B8A0 dd SUB_L0048B8A0 dd L00441F40 dd SUB_L0048E300 dd SUB_L004068F0 dd SUB_L00441F50 dd SUB_L00441F50 dd L00401250 dd L00401260 dd SUB_L0046E100 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 db 00h; db 00h; db 00h; db 00h; L004BCB28: dd L0048E990 dd L004411D0 dd L00440DF0 dd L0048EC00 dd L0048ECE0 dd L0041EE60 dd L00414900 dd SUB_L0048B8A0 dd L0048EAC0 dd L00403590 dd L00441F40 dd L0048EB20 dd SUB_L004068F0 dd SUB_L00441F50 dd SUB_L00441F50 dd L00401250 dd L00401260 dd SUB_L0046E100 dd L00401270 dd L0048EB50 dd SUB_L0040CC60 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L00401280 dd L00401280 db 00h; db 00h; db 00h; db 00h; L004BCC70: dd L0048EE40 dd L004411D0 dd L00440DF0 dd L00440FE0 dd L0043FF40 dd L00444A40 dd L00441F20 dd SUB_L0048B8A0 dd L00421990 dd L00403590 dd L004068E0 dd SUB_L0048B8A0 dd SUB_L004068F0 dd SUB_L00441F50 dd SUB_L00441F50 dd L00401250 dd L00401260 dd SUB_L0046E100 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L00401280 L004BCDB4: dd 3FCCCCCDh L004BCDB8: dd L0048FA30 dd L004411D0 dd L00440DF0 dd L00490490 dd L00488230 dd L004141F0 dd L004903F0 dd SUB_L0048B8A0 dd L004141D0 dd L00403590 dd L00441F40 dd L00414250 dd L00490440 dd SUB_L00441F50 dd SUB_L00441F50 dd L00401250 dd L00401260 dd L00490320 dd L00401270 dd L004900B0 dd L00490360 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00490280 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 db 00h; db 00h; db 00h; db 00h; L004BCF00: dd L00490560 dd L004411D0 dd L00440DF0 dd L0041B550 dd L00488230 dd L00491060 dd L00491220 dd SUB_L0048B8A0 dd L0041B600 dd L00491280 dd L004912C0 dd SUB_L0048B8A0 dd L00481810 dd SUB_L00441F50 dd SUB_L00441F50 dd L00401250 dd L00401260 dd L004913C0 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd SUB_L0040CC60 dd SUB_L0040CC60 dd L00401270 dd L00401270 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L0040C960 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 dd L00401280 SSZ004BD044____1_: db ' "%1"',0 Align 4 L004BD04C: dd B9D1B717h L004BD050: dd 3F800000h L004BD054: dd C51C4000h L004BD058: dd 3B808081h db DDh; '' db DCh; 'œ' db 1Ch; db 41h; 'A' L004BD060: dd 3D638E39h L004BD064: dd 3F000000h L004BD068: dd BF800000h L004BD06C: dd 451C4000h L004BD070: dd 3C23D70Ah L004BD074: dd 46AC4000h L004BD078: db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 00h; db 00h; db 00h; db 00h; db 23h; '#' db AFh; 'ô' db 49h; 'I' db 00h; db 00h; db 00h; db 00h; db 00h; L004BD088: db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db A0h; 'ÿ' db AFh; 'ô' db 49h; 'I' db 00h; db ADh; '-' db AFh; 'ô' db 49h; 'I' db 00h; db 00h; db 00h; db 00h; db 00h; L004BD098: db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 00h; db 00h; db 00h; db 00h; db 5Fh; '_' db B0h; 'ø' db 49h; 'I' db 00h; db 00h; db 00h; db 00h; db 00h; L004BD0A8: db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db BDh; '?' db C8h; 'ˆ' db 49h; 'I' db 00h; db D2h; '’' db C8h; 'ˆ' db 49h; 'I' db 00h; db 00h; db 00h; db 00h; db 00h; L004BD0B8: db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db E6h; '¦' db D9h; '™' db 49h; 'I' db 00h; db F3h; 'ã' db D9h; '™' db 49h; 'I' db 00h; db 00h; db 00h; db 00h; db 00h; L004BD0C8: db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 00h; db 00h; db 00h; db 00h; db AFh; 'ô' db DBh; '›' db 49h; 'I' db 00h; db 00h; db 00h; db 00h; db 00h; db 77h; 'w' db DBh; '›' db 49h; 'I' db 00h; db 84h; '"' db DBh; '›' db 49h; 'I' db 00h; L004BD0E0: db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 2Bh; '+' db DEh; 'ž' db 49h; 'I' db 00h; db 31h; '1' db DEh; 'ž' db 49h; 'I' db 00h; db 00h; db 00h; db 00h; db 00h; L004BD0F0: db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db AAh; 'ò' db DEh; 'ž' db 49h; 'I' db 00h; db B5h; 'ç' db DEh; 'ž' db 49h; 'I' db 00h; db 00h; db 00h; db 00h; db 00h; L004BD100: db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 00h; db 00h; db 00h; db 00h; db 87h; 'Ø' db E1h; '¡' db 49h; 'I' db 00h; db 00h; db 00h; db 00h; db 00h; L004BD110: dd L0049E15A dd L0049E160 L004BD118: db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 00h; db 00h; db 00h; db 00h; db 0Eh; db E2h; '¢' db 49h; 'I' db 00h; db 00h; db 00h; db 00h; db 00h; db E1h; '¡' db E1h; '¡' db 49h; 'I' db 00h; db E7h; '§' db E1h; '¡' db 49h; 'I' db 00h; L004BD130: db 06h; db 00h; db 00h; db 06h; db 00h; db 01h; db 00h; db 00h; db 10h; db 00h; db 03h; db 06h; db 00h; db 06h; db 02h; db 10h; db 04h; db 45h; 'E' db 45h; 'E' db 45h; 'E' db 05h; db 05h; db 05h; db 05h; db 05h; db 35h; '5' db 30h; '0' db 00h; db 50h; 'P' db 00h; db 00h; db 00h; db 00h; db 20h; ' ' db 28h; '(' db 38h; '8' db 50h; 'P' db 58h; 'X' db 07h; db 08h; db 00h; db 37h; '7' db 30h; '0' db 30h; '0' db 57h; 'W' db 50h; 'P' db 07h; db 00h; db 00h; db 20h; ' ' db 20h; ' ' db 08h; db 00h; db 00h; db 00h; db 00h; db 08h; db 60h; '`' db 68h; 'h' db 60h; '`' db 60h; '`' db 60h; '`' db 60h; '`' db 00h; db 00h; db 70h; 'p' db 70h; 'p' db 78h; 'x' db 78h; 'x' db 78h; 'x' db 78h; 'x' db 08h; db 07h; db 08h; db 00h; db 00h; db 07h; db 00h; db 08h; db 08h; db 08h; db 00h; db 00h; db 08h; db 00h; db 08h; db 00h; db 07h; db 08h; db 00h; db 00h; db 00h; SWC004BD18C__null_: unicode '(null)',0000h db 00h; db 00h; db 4Ch; 'L' db 43h; 'C' db 5Fh; '_' db 54h; 'T' db 49h; 'I' db 4Dh; 'M' db 45h; 'E' db 00h; db 4Ch; 'L' db 43h; 'C' db 5Fh; '_' db 4Eh; 'N' db 55h; 'U' db 4Dh; 'M' db 45h; 'E' db 52h; 'R' db 49h; 'I' db 43h; 'C' db 00h; db 00h; db 4Ch; 'L' db 43h; 'C' db 5Fh; '_' db 4Dh; 'M' db 4Fh; 'O' db 4Eh; 'N' db 45h; 'E' db 54h; 'T' db 41h; 'A' db 52h; 'R' db 59h; 'Y' db 00h; db 4Ch; 'L' db 43h; 'C' db 5Fh; '_' db 43h; 'C' db 54h; 'T' db 59h; 'Y' db 50h; 'P' db 45h; 'E' db 00h; db 00h; db 00h; db 00h; db 4Ch; 'L' db 43h; 'C' db 5Fh; '_' db 43h; 'C' db 4Fh; 'O' db 4Ch; 'L' db 4Ch; 'L' db 41h; 'A' db 54h; 'T' db 45h; 'E' db 00h; db 00h; db 4Ch; 'L' db 43h; 'C' db 5Fh; '_' db 41h; 'A' db 4Ch; 'L' db 4Ch; 'L' db 00h; db 00h; L004BD1DC: db 00h; db 00h; db 00h; db 00h; L004BD1E0: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L004BD1E8: dq 3FF0000000000000h SSZ004BD1F0_IsProcessorFeaturePresent: db 'IsProcessorFeaturePresent',0 Align 4 SSZ004BD20C_KERNEL32: db 'KERNEL32',0 Align 4 L004BD218: dq 0000000000000000h L004BD220: dd 30302B65h L004BD224: db 30h; '0' db 00h; db 00h; db 00h; SSZ004BD228__com: db '.com',0 Align 4 SSZ004BD230__exe: db '.exe',0 Align 4 SSZ004BD238__bat: db '.bat',0 Align 4 SSZ004BD240__cmd: db '.cmd',0 Align 4 L004BD248: db 2Eh; '.' db 5Ch; '\' L004BD24A: db 00h; db 00h; db 72h; 'r' db 75h; 'u' db 6Eh; 'n' db 74h; 't' db 69h; 'i' db 6Dh; 'm' db 65h; 'e' db 20h; ' ' db 65h; 'e' db 72h; 'r' db 72h; 'r' db 6Fh; 'o' db 72h; 'r' db 20h; ' ' db 00h; db 00h; db 0Dh; db 0Ah; db 00h; db 00h; db 54h; 'T' db 4Ch; 'L' db 4Fh; 'O' db 53h; 'S' db 53h; 'S' db 20h; ' ' db 65h; 'e' db 72h; 'r' db 72h; 'r' db 6Fh; 'o' db 72h; 'r' db 0Dh; db 0Ah; db 00h; db 00h; db 00h; db 53h; 'S' db 49h; 'I' db 4Eh; 'N' db 47h; 'G' db 20h; ' ' db 65h; 'e' db 72h; 'r' db 72h; 'r' db 6Fh; 'o' db 72h; 'r' db 0Dh; db 0Ah; db 00h; db 00h; db 00h; db 00h; db 44h; 'D' db 4Fh; 'O' db 4Dh; 'M' db 41h; 'A' db 49h; 'I' db 4Eh; 'N' db 20h; ' ' db 65h; 'e' db 72h; 'r' db 72h; 'r' db 6Fh; 'o' db 72h; 'r' db 0Dh; db 0Ah; db 00h; db 00h; db 52h; 'R' db 36h; '6' db 30h; '0' db 32h; '2' db 38h; '8' db 0Dh; db 0Ah; db 2Dh; '-' db 20h; ' ' db 75h; 'u' db 6Eh; 'n' db 61h; 'a' db 62h; 'b' db 6Ch; 'l' db 65h; 'e' db 20h; ' ' db 74h; 't' db 6Fh; 'o' db 20h; ' ' db 69h; 'i' db 6Eh; 'n' db 69h; 'i' db 74h; 't' db 69h; 'i' db 61h; 'a' db 6Ch; 'l' db 69h; 'i' db 7Ah; 'z' db 65h; 'e' db 20h; ' ' db 68h; 'h' db 65h; 'e' db 61h; 'a' db 70h; 'p' db 0Dh; db 0Ah; db 00h; db 00h; db 00h; db 00h; db 52h; 'R' db 36h; '6' db 30h; '0' db 32h; '2' db 37h; '7' db 0Dh; db 0Ah; db 2Dh; '-' db 20h; ' ' db 6Eh; 'n' db 6Fh; 'o' db 74h; 't' db 20h; ' ' db 65h; 'e' db 6Eh; 'n' db 6Fh; 'o' db 75h; 'u' db 67h; 'g' db 68h; 'h' db 20h; ' ' db 73h; 's' db 70h; 'p' db 61h; 'a' db 63h; 'c' db 65h; 'e' db 20h; ' ' db 66h; 'f' db 6Fh; 'o' db 72h; 'r' db 20h; ' ' db 6Ch; 'l' db 6Fh; 'o' db 77h; 'w' db 69h; 'i' db 6Fh; 'o' db 20h; ' ' db 69h; 'i' db 6Eh; 'n' db 69h; 'i' db 74h; 't' db 69h; 'i' db 61h; 'a' db 6Ch; 'l' db 69h; 'i' db 7Ah; 'z' db 61h; 'a' db 74h; 't' db 69h; 'i' db 6Fh; 'o' db 6Eh; 'n' db 0Dh; db 0Ah; db 00h; db 00h; db 00h; db 00h; db 52h; 'R' db 36h; '6' db 30h; '0' db 32h; '2' db 36h; '6' db 0Dh; db 0Ah; db 2Dh; '-' db 20h; ' ' db 6Eh; 'n' db 6Fh; 'o' db 74h; 't' db 20h; ' ' db 65h; 'e' db 6Eh; 'n' db 6Fh; 'o' db 75h; 'u' db 67h; 'g' db 68h; 'h' db 20h; ' ' db 73h; 's' db 70h; 'p' db 61h; 'a' db 63h; 'c' db 65h; 'e' db 20h; ' ' db 66h; 'f' db 6Fh; 'o' db 72h; 'r' db 20h; ' ' db 73h; 's' db 74h; 't' db 64h; 'd' db 69h; 'i' db 6Fh; 'o' db 20h; ' ' db 69h; 'i' db 6Eh; 'n' db 69h; 'i' db 74h; 't' db 69h; 'i' db 61h; 'a' db 6Ch; 'l' db 69h; 'i' db 7Ah; 'z' db 61h; 'a' db 74h; 't' db 69h; 'i' db 6Fh; 'o' db 6Eh; 'n' db 0Dh; db 0Ah; db 00h; db 00h; db 00h; db 00h; db 52h; 'R' db 36h; '6' db 30h; '0' db 32h; '2' db 35h; '5' db 0Dh; db 0Ah; db 2Dh; '-' db 20h; ' ' db 70h; 'p' db 75h; 'u' db 72h; 'r' db 65h; 'e' db 20h; ' ' db 76h; 'v' db 69h; 'i' db 72h; 'r' db 74h; 't' db 75h; 'u' db 61h; 'a' db 6Ch; 'l' db 20h; ' ' db 66h; 'f' db 75h; 'u' db 6Eh; 'n' db 63h; 'c' db 74h; 't' db 69h; 'i' db 6Fh; 'o' db 6Eh; 'n' db 20h; ' ' db 63h; 'c' db 61h; 'a' db 6Ch; 'l' db 6Ch; 'l' db 0Dh; db 0Ah; db 00h; db 00h; db 00h; db 52h; 'R' db 36h; '6' db 30h; '0' db 32h; '2' db 34h; '4' db 0Dh; db 0Ah; db 2Dh; '-' db 20h; ' ' db 6Eh; 'n' db 6Fh; 'o' db 74h; 't' db 20h; ' ' db 65h; 'e' db 6Eh; 'n' db 6Fh; 'o' db 75h; 'u' db 67h; 'g' db 68h; 'h' db 20h; ' ' db 73h; 's' db 70h; 'p' db 61h; 'a' db 63h; 'c' db 65h; 'e' db 20h; ' ' db 66h; 'f' db 6Fh; 'o' db 72h; 'r' db 20h; ' ' db 5Fh; '_' db 6Fh; 'o' db 6Eh; 'n' db 65h; 'e' db 78h; 'x' db 69h; 'i' db 74h; 't' db 2Fh; '/' db 61h; 'a' db 74h; 't' db 65h; 'e' db 78h; 'x' db 69h; 'i' db 74h; 't' db 20h; ' ' db 74h; 't' db 61h; 'a' db 62h; 'b' db 6Ch; 'l' db 65h; 'e' db 0Dh; db 0Ah; db 00h; db 00h; db 00h; db 00h; db 52h; 'R' db 36h; '6' db 30h; '0' db 31h; '1' db 39h; '9' db 0Dh; db 0Ah; db 2Dh; '-' db 20h; ' ' db 75h; 'u' db 6Eh; 'n' db 61h; 'a' db 62h; 'b' db 6Ch; 'l' db 65h; 'e' db 20h; ' ' db 74h; 't' db 6Fh; 'o' db 20h; ' ' db 6Fh; 'o' db 70h; 'p' db 65h; 'e' db 6Eh; 'n' db 20h; ' ' db 63h; 'c' db 6Fh; 'o' db 6Eh; 'n' db 73h; 's' db 6Fh; 'o' db 6Ch; 'l' db 65h; 'e' db 20h; ' ' db 64h; 'd' db 65h; 'e' db 76h; 'v' db 69h; 'i' db 63h; 'c' db 65h; 'e' db 0Dh; db 0Ah; db 00h; db 00h; db 00h; db 00h; db 52h; 'R' db 36h; '6' db 30h; '0' db 31h; '1' db 38h; '8' db 0Dh; db 0Ah; db 2Dh; '-' db 20h; ' ' db 75h; 'u' db 6Eh; 'n' db 65h; 'e' db 78h; 'x' db 70h; 'p' db 65h; 'e' db 63h; 'c' db 74h; 't' db 65h; 'e' db 64h; 'd' db 20h; ' ' db 68h; 'h' db 65h; 'e' db 61h; 'a' db 70h; 'p' db 20h; ' ' db 65h; 'e' db 72h; 'r' db 72h; 'r' db 6Fh; 'o' db 72h; 'r' db 0Dh; db 0Ah; db 00h; db 00h; db 00h; db 00h; db 52h; 'R' db 36h; '6' db 30h; '0' db 31h; '1' db 37h; '7' db 0Dh; db 0Ah; db 2Dh; '-' db 20h; ' ' db 75h; 'u' db 6Eh; 'n' db 65h; 'e' db 78h; 'x' db 70h; 'p' db 65h; 'e' db 63h; 'c' db 74h; 't' db 65h; 'e' db 64h; 'd' db 20h; ' ' db 6Dh; 'm' db 75h; 'u' db 6Ch; 'l' db 74h; 't' db 69h; 'i' db 74h; 't' db 68h; 'h' db 72h; 'r' db 65h; 'e' db 61h; 'a' db 64h; 'd' db 20h; ' ' db 6Ch; 'l' db 6Fh; 'o' db 63h; 'c' db 6Bh; 'k' db 20h; ' ' db 65h; 'e' db 72h; 'r' db 72h; 'r' db 6Fh; 'o' db 72h; 'r' db 0Dh; db 0Ah; db 00h; db 00h; db 00h; db 00h; db 52h; 'R' db 36h; '6' db 30h; '0' db 31h; '1' db 36h; '6' db 0Dh; db 0Ah; db 2Dh; '-' db 20h; ' ' db 6Eh; 'n' db 6Fh; 'o' db 74h; 't' db 20h; ' ' db 65h; 'e' db 6Eh; 'n' db 6Fh; 'o' db 75h; 'u' db 67h; 'g' db 68h; 'h' db 20h; ' ' db 73h; 's' db 70h; 'p' db 61h; 'a' db 63h; 'c' db 65h; 'e' db 20h; ' ' db 66h; 'f' db 6Fh; 'o' db 72h; 'r' db 20h; ' ' db 74h; 't' db 68h; 'h' db 72h; 'r' db 65h; 'e' db 61h; 'a' db 64h; 'd' db 20h; ' ' db 64h; 'd' db 61h; 'a' db 74h; 't' db 61h; 'a' db 0Dh; db 0Ah; db 00h; db 0Dh; db 0Ah; db 61h; 'a' db 62h; 'b' db 6Eh; 'n' db 6Fh; 'o' db 72h; 'r' db 6Dh; 'm' db 61h; 'a' db 6Ch; 'l' db 20h; ' ' db 70h; 'p' db 72h; 'r' db 6Fh; 'o' db 67h; 'g' db 72h; 'r' db 61h; 'a' db 6Dh; 'm' db 20h; ' ' db 74h; 't' db 65h; 'e' db 72h; 'r' db 6Dh; 'm' db 69h; 'i' db 6Eh; 'n' db 61h; 'a' db 74h; 't' db 69h; 'i' db 6Fh; 'o' db 6Eh; 'n' db 0Dh; db 0Ah; db 00h; db 00h; db 00h; db 00h; db 52h; 'R' db 36h; '6' db 30h; '0' db 30h; '0' db 39h; '9' db 0Dh; db 0Ah; db 2Dh; '-' db 20h; ' ' db 6Eh; 'n' db 6Fh; 'o' db 74h; 't' db 20h; ' ' db 65h; 'e' db 6Eh; 'n' db 6Fh; 'o' db 75h; 'u' db 67h; 'g' db 68h; 'h' db 20h; ' ' db 73h; 's' db 70h; 'p' db 61h; 'a' db 63h; 'c' db 65h; 'e' db 20h; ' ' db 66h; 'f' db 6Fh; 'o' db 72h; 'r' db 20h; ' ' db 65h; 'e' db 6Eh; 'n' db 76h; 'v' db 69h; 'i' db 72h; 'r' db 6Fh; 'o' db 6Eh; 'n' db 6Dh; 'm' db 65h; 'e' db 6Eh; 'n' db 74h; 't' db 0Dh; db 0Ah; db 00h; db 52h; 'R' db 36h; '6' db 30h; '0' db 30h; '0' db 38h; '8' db 0Dh; db 0Ah; db 2Dh; '-' db 20h; ' ' db 6Eh; 'n' db 6Fh; 'o' db 74h; 't' db 20h; ' ' db 65h; 'e' db 6Eh; 'n' db 6Fh; 'o' db 75h; 'u' db 67h; 'g' db 68h; 'h' db 20h; ' ' db 73h; 's' db 70h; 'p' db 61h; 'a' db 63h; 'c' db 65h; 'e' db 20h; ' ' db 66h; 'f' db 6Fh; 'o' db 72h; 'r' db 20h; ' ' db 61h; 'a' db 72h; 'r' db 67h; 'g' db 75h; 'u' db 6Dh; 'm' db 65h; 'e' db 6Eh; 'n' db 74h; 't' db 73h; 's' db 0Dh; db 0Ah; db 00h; db 00h; db 00h; SSZ004BD4B0_R6002____floating_point_not_load: db 'R6002',0Dh,0Ah,'- floating point not loaded',0Dh,0Ah,0 Align 4 SSZ004BD4D8_Microsoft_Visual_C___Runtime_Lib: db 'Microsoft Visual C++ Runtime Library',0 Align 4 L004BD500: db 0Ah; db 0Ah; db 00h; db 00h; SSZ004BD504_Runtime_Error___Program__: db 'Runtime Error!',0Ah,0Ah,'Program: ',0 Align 4 L004BD520: db 2Eh; '.' db 2Eh; '.' db 2Eh; '.' db 00h; SSZ004BD524__program_name_unknown_: db '',0 db 00h; db 50h; 'P' db 61h; 'a' db 72h; 'r' db 61h; 'a' db 67h; 'g' db 75h; 'u' db 61h; 'a' db 79h; 'y' db 00h; db 00h; db 00h; db 00h; db 55h; 'U' db 72h; 'r' db 75h; 'u' db 67h; 'g' db 75h; 'u' db 61h; 'a' db 79h; 'y' db 00h; db 43h; 'C' db 68h; 'h' db 69h; 'i' db 6Ch; 'l' db 65h; 'e' db 00h; db 00h; db 00h; db 45h; 'E' db 63h; 'c' db 75h; 'u' db 61h; 'a' db 64h; 'd' db 6Fh; 'o' db 72h; 'r' db 00h; db 41h; 'A' db 72h; 'r' db 67h; 'g' db 65h; 'e' db 6Eh; 'n' db 74h; 't' db 69h; 'i' db 6Eh; 'n' db 61h; 'a' db 00h; db 00h; db 00h; db 50h; 'P' db 65h; 'e' db 72h; 'r' db 75h; 'u' db 00h; db 00h; db 00h; db 00h; db 43h; 'C' db 6Fh; 'o' db 6Ch; 'l' db 6Fh; 'o' db 6Dh; 'm' db 62h; 'b' db 69h; 'i' db 61h; 'a' db 00h; db 00h; db 00h; db 00h; db 56h; 'V' db 65h; 'e' db 6Eh; 'n' db 65h; 'e' db 7Ah; 'z' db 75h; 'u' db 65h; 'e' db 6Ch; 'l' db 61h; 'a' db 00h; db 00h; db 00h; db 44h; 'D' db 6Fh; 'o' db 6Dh; 'm' db 69h; 'i' db 6Eh; 'n' db 69h; 'i' db 63h; 'c' db 61h; 'a' db 6Eh; 'n' db 20h; ' ' db 52h; 'R' db 65h; 'e' db 70h; 'p' db 75h; 'u' db 62h; 'b' db 6Ch; 'l' db 69h; 'i' db 63h; 'c' db 00h; db 00h; db 53h; 'S' db 6Fh; 'o' db 75h; 'u' db 74h; 't' db 68h; 'h' db 20h; ' ' db 41h; 'A' db 66h; 'f' db 72h; 'r' db 69h; 'i' db 63h; 'c' db 61h; 'a' db 00h; db 00h; db 00h; db 00h; db 50h; 'P' db 61h; 'a' db 6Eh; 'n' db 61h; 'a' db 6Dh; 'm' db 61h; 'a' db 00h; db 00h; db 4Ch; 'L' db 75h; 'u' db 78h; 'x' db 65h; 'e' db 6Dh; 'm' db 62h; 'b' db 6Fh; 'o' db 75h; 'u' db 72h; 'r' db 67h; 'g' db 00h; db 00h; db 43h; 'C' db 6Fh; 'o' db 73h; 's' db 74h; 't' db 61h; 'a' db 20h; ' ' db 52h; 'R' db 69h; 'i' db 63h; 'c' db 61h; 'a' db 00h; db 00h; db 53h; 'S' db 77h; 'w' db 69h; 'i' db 74h; 't' db 7Ah; 'z' db 65h; 'e' db 72h; 'r' db 6Ch; 'l' db 61h; 'a' db 6Eh; 'n' db 64h; 'd' db 00h; db 47h; 'G' db 75h; 'u' db 61h; 'a' db 74h; 't' db 65h; 'e' db 6Dh; 'm' db 61h; 'a' db 6Ch; 'l' db 61h; 'a' db 00h; db 00h; db 00h; db 43h; 'C' db 61h; 'a' db 6Eh; 'n' db 61h; 'a' db 64h; 'd' db 61h; 'a' db 00h; db 00h; db 53h; 'S' db 70h; 'p' db 61h; 'a' db 6Eh; 'n' db 69h; 'i' db 73h; 's' db 68h; 'h' db 20h; ' ' db 2Dh; '-' db 20h; ' ' db 4Dh; 'M' db 6Fh; 'o' db 64h; 'd' db 65h; 'e' db 72h; 'r' db 6Eh; 'n' db 20h; ' ' db 53h; 'S' db 6Fh; 'o' db 72h; 'r' db 74h; 't' db 00h; db 00h; db 00h; db 41h; 'A' db 75h; 'u' db 73h; 's' db 74h; 't' db 72h; 'r' db 61h; 'a' db 6Ch; 'l' db 69h; 'i' db 61h; 'a' db 00h; db 00h; db 00h; db 41h; 'A' db 75h; 'u' db 73h; 's' db 74h; 't' db 72h; 'r' db 69h; 'i' db 61h; 'a' db 00h; db 47h; 'G' db 65h; 'e' db 72h; 'r' db 6Dh; 'm' db 61h; 'a' db 6Eh; 'n' db 00h; db 00h; db 42h; 'B' db 65h; 'e' db 6Ch; 'l' db 67h; 'g' db 69h; 'i' db 75h; 'u' db 6Dh; 'm' db 00h; db 4Dh; 'M' db 65h; 'e' db 78h; 'x' db 69h; 'i' db 63h; 'c' db 6Fh; 'o' db 00h; db 00h; db 53h; 'S' db 70h; 'p' db 61h; 'a' db 6Eh; 'n' db 69h; 'i' db 73h; 's' db 68h; 'h' db 00h; db 42h; 'B' db 61h; 'a' db 73h; 's' db 71h; 'q' db 75h; 'u' db 65h; 'e' db 00h; db 00h; db 53h; 'S' db 77h; 'w' db 65h; 'e' db 64h; 'd' db 65h; 'e' db 6Eh; 'n' db 00h; db 00h; db 53h; 'S' db 77h; 'w' db 65h; 'e' db 64h; 'd' db 69h; 'i' db 73h; 's' db 68h; 'h' db 00h; db 49h; 'I' db 63h; 'c' db 65h; 'e' db 6Ch; 'l' db 61h; 'a' db 6Eh; 'n' db 64h; 'd' db 00h; db 49h; 'I' db 63h; 'c' db 65h; 'e' db 6Ch; 'l' db 61h; 'a' db 6Eh; 'n' db 64h; 'd' db 69h; 'i' db 63h; 'c' db 00h; db 00h; db 00h; db 46h; 'F' db 72h; 'r' db 61h; 'a' db 6Eh; 'n' db 63h; 'c' db 65h; 'e' db 00h; db 00h; db 46h; 'F' db 72h; 'r' db 65h; 'e' db 6Eh; 'n' db 63h; 'c' db 68h; 'h' db 00h; db 00h; db 46h; 'F' db 69h; 'i' db 6Eh; 'n' db 6Ch; 'l' db 61h; 'a' db 6Eh; 'n' db 64h; 'd' db 00h; db 46h; 'F' db 69h; 'i' db 6Eh; 'n' db 6Eh; 'n' db 69h; 'i' db 73h; 's' db 68h; 'h' db 00h; db 53h; 'S' db 70h; 'p' db 61h; 'a' db 69h; 'i' db 6Eh; 'n' db 00h; db 00h; db 00h; db 53h; 'S' db 70h; 'p' db 61h; 'a' db 6Eh; 'n' db 69h; 'i' db 73h; 's' db 68h; 'h' db 20h; ' ' db 2Dh; '-' db 20h; ' ' db 54h; 'T' db 72h; 'r' db 61h; 'a' db 64h; 'd' db 69h; 'i' db 74h; 't' db 69h; 'i' db 6Fh; 'o' db 6Eh; 'n' db 61h; 'a' db 6Ch; 'l' db 20h; ' ' db 53h; 'S' db 6Fh; 'o' db 72h; 'r' db 74h; 't' db 00h; db 00h; db 75h; 'u' db 6Eh; 'n' db 69h; 'i' db 74h; 't' db 65h; 'e' db 64h; 'd' db 2Dh; '-' db 73h; 's' db 74h; 't' db 61h; 'a' db 74h; 't' db 65h; 'e' db 73h; 's' db 00h; db 00h; db 00h; db 75h; 'u' db 6Eh; 'n' db 69h; 'i' db 74h; 't' db 65h; 'e' db 64h; 'd' db 2Dh; '-' db 6Bh; 'k' db 69h; 'i' db 6Eh; 'n' db 67h; 'g' db 64h; 'd' db 6Fh; 'o' db 6Dh; 'm' db 00h; db 00h; db 74h; 't' db 72h; 'r' db 69h; 'i' db 6Eh; 'n' db 69h; 'i' db 64h; 'd' db 61h; 'a' db 64h; 'd' db 20h; ' ' db 26h; '&' db 20h; ' ' db 74h; 't' db 6Fh; 'o' db 62h; 'b' db 61h; 'a' db 67h; 'g' db 6Fh; 'o' db 00h; db 00h; db 00h; db 73h; 's' db 6Fh; 'o' db 75h; 'u' db 74h; 't' db 68h; 'h' db 2Dh; '-' db 6Bh; 'k' db 6Fh; 'o' db 72h; 'r' db 65h; 'e' db 61h; 'a' db 00h; db 73h; 's' db 6Fh; 'o' db 75h; 'u' db 74h; 't' db 68h; 'h' db 2Dh; '-' db 61h; 'a' db 66h; 'f' db 72h; 'r' db 69h; 'i' db 63h; 'c' db 61h; 'a' db 00h; db 00h; db 00h; db 00h; db 73h; 's' db 6Fh; 'o' db 75h; 'u' db 74h; 't' db 68h; 'h' db 20h; ' ' db 6Bh; 'k' db 6Fh; 'o' db 72h; 'r' db 65h; 'e' db 61h; 'a' db 00h; db 73h; 's' db 6Fh; 'o' db 75h; 'u' db 74h; 't' db 68h; 'h' db 20h; ' ' db 61h; 'a' db 66h; 'f' db 72h; 'r' db 69h; 'i' db 63h; 'c' db 61h; 'a' db 00h; db 00h; db 00h; db 00h; db 73h; 's' db 6Ch; 'l' db 6Fh; 'o' db 76h; 'v' db 61h; 'a' db 6Bh; 'k' db 00h; db 00h; db 70h; 'p' db 75h; 'u' db 65h; 'e' db 72h; 'r' db 74h; 't' db 6Fh; 'o' db 2Dh; '-' db 72h; 'r' db 69h; 'i' db 63h; 'c' db 6Fh; 'o' db 00h; db 70h; 'p' db 72h; 'r' db 2Dh; '-' db 63h; 'c' db 68h; 'h' db 69h; 'i' db 6Eh; 'n' db 61h; 'a' db 00h; db 00h; db 00h; db 00h; db 70h; 'p' db 72h; 'r' db 20h; ' ' db 63h; 'c' db 68h; 'h' db 69h; 'i' db 6Eh; 'n' db 61h; 'a' db 00h; db 00h; db 00h; db 00h; db 6Eh; 'n' db 7Ah; 'z' db 00h; db 00h; db 6Eh; 'n' db 65h; 'e' db 77h; 'w' db 2Dh; '-' db 7Ah; 'z' db 65h; 'e' db 61h; 'a' db 6Ch; 'l' db 61h; 'a' db 6Eh; 'n' db 64h; 'd' db 00h; db 68h; 'h' db 6Fh; 'o' db 6Eh; 'n' db 67h; 'g' db 2Dh; '-' db 6Bh; 'k' db 6Fh; 'o' db 6Eh; 'n' db 67h; 'g' db 00h; db 00h; db 00h; db 68h; 'h' db 6Fh; 'o' db 6Ch; 'l' db 6Ch; 'l' db 61h; 'a' db 6Eh; 'n' db 64h; 'd' db 00h; db 67h; 'g' db 72h; 'r' db 65h; 'e' db 61h; 'a' db 74h; 't' db 20h; ' ' db 62h; 'b' db 72h; 'r' db 69h; 'i' db 74h; 't' db 61h; 'a' db 69h; 'i' db 6Eh; 'n' db 00h; db 00h; db 00h; db 65h; 'e' db 6Eh; 'n' db 67h; 'g' db 6Ch; 'l' db 61h; 'a' db 6Eh; 'n' db 64h; 'd' db 00h; db 63h; 'c' db 7Ah; 'z' db 65h; 'e' db 63h; 'c' db 68h; 'h' db 00h; db 00h; db 00h; db 63h; 'c' db 68h; 'h' db 69h; 'i' db 6Eh; 'n' db 61h; 'a' db 00h; db 00h; db 00h; db 62h; 'b' db 72h; 'r' db 69h; 'i' db 74h; 't' db 61h; 'a' db 69h; 'i' db 6Eh; 'n' db 00h; db 61h; 'a' db 6Dh; 'm' db 65h; 'e' db 72h; 'r' db 69h; 'i' db 63h; 'c' db 61h; 'a' db 00h; db 75h; 'u' db 73h; 's' db 61h; 'a' db 00h; db 75h; 'u' db 73h; 's' db 00h; db 00h; db 75h; 'u' db 6Bh; 'k' db 00h; db 00h; db 73h; 's' db 77h; 'w' db 69h; 'i' db 73h; 's' db 73h; 's' db 00h; db 00h; db 00h; db 73h; 's' db 77h; 'w' db 65h; 'e' db 64h; 'd' db 69h; 'i' db 73h; 's' db 68h; 'h' db 2Dh; '-' db 66h; 'f' db 69h; 'i' db 6Eh; 'n' db 6Ch; 'l' db 61h; 'a' db 6Eh; 'n' db 64h; 'd' db 00h; db 73h; 's' db 70h; 'p' db 61h; 'a' db 6Eh; 'n' db 69h; 'i' db 73h; 's' db 68h; 'h' db 2Dh; '-' db 76h; 'v' db 65h; 'e' db 6Eh; 'n' db 65h; 'e' db 7Ah; 'z' db 75h; 'u' db 65h; 'e' db 6Ch; 'l' db 61h; 'a' db 00h; db 00h; db 00h; db 73h; 's' db 70h; 'p' db 61h; 'a' db 6Eh; 'n' db 69h; 'i' db 73h; 's' db 68h; 'h' db 2Dh; '-' db 75h; 'u' db 72h; 'r' db 75h; 'u' db 67h; 'g' db 75h; 'u' db 61h; 'a' db 79h; 'y' db 00h; db 73h; 's' db 70h; 'p' db 61h; 'a' db 6Eh; 'n' db 69h; 'i' db 73h; 's' db 68h; 'h' db 2Dh; '-' db 70h; 'p' db 75h; 'u' db 65h; 'e' db 72h; 'r' db 74h; 't' db 6Fh; 'o' db 20h; ' ' db 72h; 'r' db 69h; 'i' db 63h; 'c' db 6Fh; 'o' db 00h; db 73h; 's' db 70h; 'p' db 61h; 'a' db 6Eh; 'n' db 69h; 'i' db 73h; 's' db 68h; 'h' db 2Dh; '-' db 70h; 'p' db 65h; 'e' db 72h; 'r' db 75h; 'u' db 00h; db 00h; db 00h; db 00h; db 73h; 's' db 70h; 'p' db 61h; 'a' db 6Eh; 'n' db 69h; 'i' db 73h; 's' db 68h; 'h' db 2Dh; '-' db 70h; 'p' db 61h; 'a' db 72h; 'r' db 61h; 'a' db 67h; 'g' db 75h; 'u' db 61h; 'a' db 79h; 'y' db 00h; db 00h; db 00h; db 00h; db 73h; 's' db 70h; 'p' db 61h; 'a' db 6Eh; 'n' db 69h; 'i' db 73h; 's' db 68h; 'h' db 2Dh; '-' db 70h; 'p' db 61h; 'a' db 6Eh; 'n' db 61h; 'a' db 6Dh; 'm' db 61h; 'a' db 00h; db 00h; db 73h; 's' db 70h; 'p' db 61h; 'a' db 6Eh; 'n' db 69h; 'i' db 73h; 's' db 68h; 'h' db 2Dh; '-' db 6Eh; 'n' db 69h; 'i' db 63h; 'c' db 61h; 'a' db 72h; 'r' db 61h; 'a' db 67h; 'g' db 75h; 'u' db 61h; 'a' db 00h; db 00h; db 00h; db 73h; 's' db 70h; 'p' db 61h; 'a' db 6Eh; 'n' db 69h; 'i' db 73h; 's' db 68h; 'h' db 2Dh; '-' db 6Dh; 'm' db 6Fh; 'o' db 64h; 'd' db 65h; 'e' db 72h; 'r' db 6Eh; 'n' db 00h; db 00h; db 73h; 's' db 70h; 'p' db 61h; 'a' db 6Eh; 'n' db 69h; 'i' db 73h; 's' db 68h; 'h' db 2Dh; '-' db 6Dh; 'm' db 65h; 'e' db 78h; 'x' db 69h; 'i' db 63h; 'c' db 61h; 'a' db 6Eh; 'n' db 00h; db 73h; 's' db 70h; 'p' db 61h; 'a' db 6Eh; 'n' db 69h; 'i' db 73h; 's' db 68h; 'h' db 2Dh; '-' db 68h; 'h' db 6Fh; 'o' db 6Eh; 'n' db 64h; 'd' db 75h; 'u' db 72h; 'r' db 61h; 'a' db 73h; 's' db 00h; db 00h; db 00h; db 00h; db 73h; 's' db 70h; 'p' db 61h; 'a' db 6Eh; 'n' db 69h; 'i' db 73h; 's' db 68h; 'h' db 2Dh; '-' db 67h; 'g' db 75h; 'u' db 61h; 'a' db 74h; 't' db 65h; 'e' db 6Dh; 'm' db 61h; 'a' db 6Ch; 'l' db 61h; 'a' db 00h; db 00h; db 00h; db 73h; 's' db 70h; 'p' db 61h; 'a' db 6Eh; 'n' db 69h; 'i' db 73h; 's' db 68h; 'h' db 2Dh; '-' db 65h; 'e' db 6Ch; 'l' db 20h; ' ' db 73h; 's' db 61h; 'a' db 6Ch; 'l' db 76h; 'v' db 61h; 'a' db 64h; 'd' db 6Fh; 'o' db 72h; 'r' db 00h; db 73h; 's' db 70h; 'p' db 61h; 'a' db 6Eh; 'n' db 69h; 'i' db 73h; 's' db 68h; 'h' db 2Dh; '-' db 65h; 'e' db 63h; 'c' db 75h; 'u' db 61h; 'a' db 64h; 'd' db 6Fh; 'o' db 72h; 'r' db 00h; db 73h; 's' db 70h; 'p' db 61h; 'a' db 6Eh; 'n' db 69h; 'i' db 73h; 's' db 68h; 'h' db 2Dh; '-' db 64h; 'd' db 6Fh; 'o' db 6Dh; 'm' db 69h; 'i' db 6Eh; 'n' db 69h; 'i' db 63h; 'c' db 61h; 'a' db 6Eh; 'n' db 20h; ' ' db 72h; 'r' db 65h; 'e' db 70h; 'p' db 75h; 'u' db 62h; 'b' db 6Ch; 'l' db 69h; 'i' db 63h; 'c' db 00h; db 00h; db 73h; 's' db 70h; 'p' db 61h; 'a' db 6Eh; 'n' db 69h; 'i' db 73h; 's' db 68h; 'h' db 2Dh; '-' db 63h; 'c' db 6Fh; 'o' db 73h; 's' db 74h; 't' db 61h; 'a' db 20h; ' ' db 72h; 'r' db 69h; 'i' db 63h; 'c' db 61h; 'a' db 00h; db 00h; db 73h; 's' db 70h; 'p' db 61h; 'a' db 6Eh; 'n' db 69h; 'i' db 73h; 's' db 68h; 'h' db 2Dh; '-' db 63h; 'c' db 6Fh; 'o' db 6Ch; 'l' db 6Fh; 'o' db 6Dh; 'm' db 62h; 'b' db 69h; 'i' db 61h; 'a' db 00h; db 00h; db 00h; db 00h; db 73h; 's' db 70h; 'p' db 61h; 'a' db 6Eh; 'n' db 69h; 'i' db 73h; 's' db 68h; 'h' db 2Dh; '-' db 63h; 'c' db 68h; 'h' db 69h; 'i' db 6Ch; 'l' db 65h; 'e' db 00h; db 00h; db 00h; db 73h; 's' db 70h; 'p' db 61h; 'a' db 6Eh; 'n' db 69h; 'i' db 73h; 's' db 68h; 'h' db 2Dh; '-' db 62h; 'b' db 6Fh; 'o' db 6Ch; 'l' db 69h; 'i' db 76h; 'v' db 69h; 'i' db 61h; 'a' db 00h; db 73h; 's' db 70h; 'p' db 61h; 'a' db 6Eh; 'n' db 69h; 'i' db 73h; 's' db 68h; 'h' db 2Dh; '-' db 61h; 'a' db 72h; 'r' db 67h; 'g' db 65h; 'e' db 6Eh; 'n' db 74h; 't' db 69h; 'i' db 6Eh; 'n' db 61h; 'a' db 00h; db 00h; db 00h; db 70h; 'p' db 6Fh; 'o' db 72h; 'r' db 74h; 't' db 75h; 'u' db 67h; 'g' db 75h; 'u' db 65h; 'e' db 73h; 's' db 65h; 'e' db 2Dh; '-' db 62h; 'b' db 72h; 'r' db 61h; 'a' db 7Ah; 'z' db 69h; 'i' db 6Ch; 'l' db 69h; 'i' db 61h; 'a' db 6Eh; 'n' db 00h; db 00h; db 00h; db 00h; db 6Eh; 'n' db 6Fh; 'o' db 72h; 'r' db 77h; 'w' db 65h; 'e' db 67h; 'g' db 69h; 'i' db 61h; 'a' db 6Eh; 'n' db 2Dh; '-' db 6Eh; 'n' db 79h; 'y' db 6Eh; 'n' db 6Fh; 'o' db 72h; 'r' db 73h; 's' db 6Bh; 'k' db 00h; db 00h; db 00h; db 6Eh; 'n' db 6Fh; 'o' db 72h; 'r' db 77h; 'w' db 65h; 'e' db 67h; 'g' db 69h; 'i' db 61h; 'a' db 6Eh; 'n' db 2Dh; '-' db 62h; 'b' db 6Fh; 'o' db 6Bh; 'k' db 6Dh; 'm' db 61h; 'a' db 6Ch; 'l' db 00h; db 00h; db 00h; db 00h; db 6Eh; 'n' db 6Fh; 'o' db 72h; 'r' db 77h; 'w' db 65h; 'e' db 67h; 'g' db 69h; 'i' db 61h; 'a' db 6Eh; 'n' db 00h; db 00h; db 00h; db 69h; 'i' db 74h; 't' db 61h; 'a' db 6Ch; 'l' db 69h; 'i' db 61h; 'a' db 6Eh; 'n' db 2Dh; '-' db 73h; 's' db 77h; 'w' db 69h; 'i' db 73h; 's' db 73h; 's' db 00h; db 00h; db 00h; db 69h; 'i' db 72h; 'r' db 69h; 'i' db 73h; 's' db 68h; 'h' db 2Dh; '-' db 65h; 'e' db 6Eh; 'n' db 67h; 'g' db 6Ch; 'l' db 69h; 'i' db 73h; 's' db 68h; 'h' db 00h; db 00h; db 00h; db 67h; 'g' db 65h; 'e' db 72h; 'r' db 6Dh; 'm' db 61h; 'a' db 6Eh; 'n' db 2Dh; '-' db 73h; 's' db 77h; 'w' db 69h; 'i' db 73h; 's' db 73h; 's' db 00h; db 00h; db 00h; db 00h; db 67h; 'g' db 65h; 'e' db 72h; 'r' db 6Dh; 'm' db 61h; 'a' db 6Eh; 'n' db 2Dh; '-' db 6Ch; 'l' db 75h; 'u' db 78h; 'x' db 65h; 'e' db 6Dh; 'm' db 62h; 'b' db 6Fh; 'o' db 75h; 'u' db 72h; 'r' db 67h; 'g' db 00h; db 00h; db 00h; db 67h; 'g' db 65h; 'e' db 72h; 'r' db 6Dh; 'm' db 61h; 'a' db 6Eh; 'n' db 2Dh; '-' db 6Ch; 'l' db 69h; 'i' db 63h; 'c' db 68h; 'h' db 74h; 't' db 65h; 'e' db 6Eh; 'n' db 73h; 's' db 74h; 't' db 65h; 'e' db 69h; 'i' db 6Eh; 'n' db 00h; db 67h; 'g' db 65h; 'e' db 72h; 'r' db 6Dh; 'm' db 61h; 'a' db 6Eh; 'n' db 2Dh; '-' db 61h; 'a' db 75h; 'u' db 73h; 's' db 74h; 't' db 72h; 'r' db 69h; 'i' db 61h; 'a' db 6Eh; 'n' db 00h; db 66h; 'f' db 72h; 'r' db 65h; 'e' db 6Eh; 'n' db 63h; 'c' db 68h; 'h' db 2Dh; '-' db 73h; 's' db 77h; 'w' db 69h; 'i' db 73h; 's' db 73h; 's' db 00h; db 00h; db 00h; db 00h; db 66h; 'f' db 72h; 'r' db 65h; 'e' db 6Eh; 'n' db 63h; 'c' db 68h; 'h' db 2Dh; '-' db 6Ch; 'l' db 75h; 'u' db 78h; 'x' db 65h; 'e' db 6Dh; 'm' db 62h; 'b' db 6Fh; 'o' db 75h; 'u' db 72h; 'r' db 67h; 'g' db 00h; db 00h; db 00h; db 66h; 'f' db 72h; 'r' db 65h; 'e' db 6Eh; 'n' db 63h; 'c' db 68h; 'h' db 2Dh; '-' db 63h; 'c' db 61h; 'a' db 6Eh; 'n' db 61h; 'a' db 64h; 'd' db 69h; 'i' db 61h; 'a' db 6Eh; 'n' db 00h; db 66h; 'f' db 72h; 'r' db 65h; 'e' db 6Eh; 'n' db 63h; 'c' db 68h; 'h' db 2Dh; '-' db 62h; 'b' db 65h; 'e' db 6Ch; 'l' db 67h; 'g' db 69h; 'i' db 61h; 'a' db 6Eh; 'n' db 00h; db 00h; db 65h; 'e' db 6Eh; 'n' db 67h; 'g' db 6Ch; 'l' db 69h; 'i' db 73h; 's' db 68h; 'h' db 2Dh; '-' db 75h; 'u' db 73h; 's' db 61h; 'a' db 00h; db 65h; 'e' db 6Eh; 'n' db 67h; 'g' db 6Ch; 'l' db 69h; 'i' db 73h; 's' db 68h; 'h' db 2Dh; '-' db 75h; 'u' db 73h; 's' db 00h; db 00h; db 65h; 'e' db 6Eh; 'n' db 67h; 'g' db 6Ch; 'l' db 69h; 'i' db 73h; 's' db 68h; 'h' db 2Dh; '-' db 75h; 'u' db 6Bh; 'k' db 00h; db 00h; db 65h; 'e' db 6Eh; 'n' db 67h; 'g' db 6Ch; 'l' db 69h; 'i' db 73h; 's' db 68h; 'h' db 2Dh; '-' db 74h; 't' db 72h; 'r' db 69h; 'i' db 6Eh; 'n' db 69h; 'i' db 64h; 'd' db 61h; 'a' db 64h; 'd' db 20h; ' ' db 79h; 'y' db 20h; ' ' db 74h; 't' db 6Fh; 'o' db 62h; 'b' db 61h; 'a' db 67h; 'g' db 6Fh; 'o' db 00h; db 00h; db 00h; db 65h; 'e' db 6Eh; 'n' db 67h; 'g' db 6Ch; 'l' db 69h; 'i' db 73h; 's' db 68h; 'h' db 2Dh; '-' db 73h; 's' db 6Fh; 'o' db 75h; 'u' db 74h; 't' db 68h; 'h' db 20h; ' ' db 61h; 'a' db 66h; 'f' db 72h; 'r' db 69h; 'i' db 63h; 'c' db 61h; 'a' db 00h; db 00h; db 00h; db 00h; db 65h; 'e' db 6Eh; 'n' db 67h; 'g' db 6Ch; 'l' db 69h; 'i' db 73h; 's' db 68h; 'h' db 2Dh; '-' db 6Eh; 'n' db 7Ah; 'z' db 00h; db 00h; db 65h; 'e' db 6Eh; 'n' db 67h; 'g' db 6Ch; 'l' db 69h; 'i' db 73h; 's' db 68h; 'h' db 2Dh; '-' db 6Ah; 'j' db 61h; 'a' db 6Dh; 'm' db 61h; 'a' db 69h; 'i' db 63h; 'c' db 61h; 'a' db 00h; db 65h; 'e' db 6Eh; 'n' db 67h; 'g' db 6Ch; 'l' db 69h; 'i' db 73h; 's' db 68h; 'h' db 2Dh; '-' db 69h; 'i' db 72h; 'r' db 65h; 'e' db 00h; db 65h; 'e' db 6Eh; 'n' db 67h; 'g' db 6Ch; 'l' db 69h; 'i' db 73h; 's' db 68h; 'h' db 2Dh; '-' db 63h; 'c' db 61h; 'a' db 72h; 'r' db 69h; 'i' db 62h; 'b' db 62h; 'b' db 65h; 'e' db 61h; 'a' db 6Eh; 'n' db 00h; db 00h; db 00h; db 65h; 'e' db 6Eh; 'n' db 67h; 'g' db 6Ch; 'l' db 69h; 'i' db 73h; 's' db 68h; 'h' db 2Dh; '-' db 63h; 'c' db 61h; 'a' db 6Eh; 'n' db 00h; db 65h; 'e' db 6Eh; 'n' db 67h; 'g' db 6Ch; 'l' db 69h; 'i' db 73h; 's' db 68h; 'h' db 2Dh; '-' db 62h; 'b' db 65h; 'e' db 6Ch; 'l' db 69h; 'i' db 7Ah; 'z' db 65h; 'e' db 00h; db 00h; db 65h; 'e' db 6Eh; 'n' db 67h; 'g' db 6Ch; 'l' db 69h; 'i' db 73h; 's' db 68h; 'h' db 2Dh; '-' db 61h; 'a' db 75h; 'u' db 73h; 's' db 00h; db 65h; 'e' db 6Eh; 'n' db 67h; 'g' db 6Ch; 'l' db 69h; 'i' db 73h; 's' db 68h; 'h' db 2Dh; '-' db 61h; 'a' db 6Dh; 'm' db 65h; 'e' db 72h; 'r' db 69h; 'i' db 63h; 'c' db 61h; 'a' db 6Eh; 'n' db 00h; db 00h; db 00h; db 00h; db 64h; 'd' db 75h; 'u' db 74h; 't' db 63h; 'c' db 68h; 'h' db 2Dh; '-' db 62h; 'b' db 65h; 'e' db 6Ch; 'l' db 67h; 'g' db 69h; 'i' db 61h; 'a' db 6Eh; 'n' db 00h; db 00h; db 00h; db 63h; 'c' db 68h; 'h' db 69h; 'i' db 6Eh; 'n' db 65h; 'e' db 73h; 's' db 65h; 'e' db 2Dh; '-' db 74h; 't' db 72h; 'r' db 61h; 'a' db 64h; 'd' db 69h; 'i' db 74h; 't' db 69h; 'i' db 6Fh; 'o' db 6Eh; 'n' db 61h; 'a' db 6Ch; 'l' db 00h; db 63h; 'c' db 68h; 'h' db 69h; 'i' db 6Eh; 'n' db 65h; 'e' db 73h; 's' db 65h; 'e' db 2Dh; '-' db 73h; 's' db 69h; 'i' db 6Eh; 'n' db 67h; 'g' db 61h; 'a' db 70h; 'p' db 6Fh; 'o' db 72h; 'r' db 65h; 'e' db 00h; db 00h; db 00h; db 63h; 'c' db 68h; 'h' db 69h; 'i' db 6Eh; 'n' db 65h; 'e' db 73h; 's' db 65h; 'e' db 2Dh; '-' db 73h; 's' db 69h; 'i' db 6Dh; 'm' db 70h; 'p' db 6Ch; 'l' db 69h; 'i' db 66h; 'f' db 69h; 'i' db 65h; 'e' db 64h; 'd' db 00h; db 00h; db 63h; 'c' db 68h; 'h' db 69h; 'i' db 6Eh; 'n' db 65h; 'e' db 73h; 's' db 65h; 'e' db 2Dh; '-' db 68h; 'h' db 6Fh; 'o' db 6Eh; 'n' db 67h; 'g' db 6Bh; 'k' db 6Fh; 'o' db 6Eh; 'n' db 67h; 'g' db 00h; db 00h; db 00h; db 00h; db 63h; 'c' db 68h; 'h' db 69h; 'i' db 6Eh; 'n' db 65h; 'e' db 73h; 's' db 65h; 'e' db 00h; db 63h; 'c' db 68h; 'h' db 69h; 'i' db 00h; db 63h; 'c' db 68h; 'h' db 68h; 'h' db 00h; db 63h; 'c' db 61h; 'a' db 6Eh; 'n' db 61h; 'a' db 64h; 'd' db 69h; 'i' db 61h; 'a' db 6Eh; 'n' db 00h; db 00h; db 00h; db 00h; db 62h; 'b' db 65h; 'e' db 6Ch; 'l' db 67h; 'g' db 69h; 'i' db 61h; 'a' db 6Eh; 'n' db 00h; db 61h; 'a' db 75h; 'u' db 73h; 's' db 74h; 't' db 72h; 'r' db 61h; 'a' db 6Ch; 'l' db 69h; 'i' db 61h; 'a' db 6Eh; 'n' db 00h; db 00h; db 61h; 'a' db 6Dh; 'm' db 65h; 'e' db 72h; 'r' db 69h; 'i' db 63h; 'c' db 61h; 'a' db 6Eh; 'n' db 2Dh; '-' db 65h; 'e' db 6Eh; 'n' db 67h; 'g' db 6Ch; 'l' db 69h; 'i' db 73h; 's' db 68h; 'h' db 00h; db 00h; db 00h; db 00h; db 61h; 'a' db 6Dh; 'm' db 65h; 'e' db 72h; 'r' db 69h; 'i' db 63h; 'c' db 61h; 'a' db 6Eh; 'n' db 20h; ' ' db 65h; 'e' db 6Eh; 'n' db 67h; 'g' db 6Ch; 'l' db 69h; 'i' db 73h; 's' db 68h; 'h' db 00h; db 00h; db 00h; db 00h; db 61h; 'a' db 6Dh; 'm' db 65h; 'e' db 72h; 'r' db 69h; 'i' db 63h; 'c' db 61h; 'a' db 6Eh; 'n' db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 53h; 'S' db 75h; 'u' db 6Eh; 'n' db 4Dh; 'M' db 6Fh; 'o' db 6Eh; 'n' db 54h; 'T' db 75h; 'u' db 65h; 'e' db 57h; 'W' db 65h; 'e' db 64h; 'd' db 54h; 'T' db 68h; 'h' db 75h; 'u' db 46h; 'F' db 72h; 'r' db 69h; 'i' db 53h; 'S' db 61h; 'a' db 74h; 't' db 00h; db 00h; db 00h; db 4Ah; 'J' db 61h; 'a' db 6Eh; 'n' db 46h; 'F' db 65h; 'e' db 62h; 'b' db 4Dh; 'M' db 61h; 'a' db 72h; 'r' db 41h; 'A' db 70h; 'p' db 72h; 'r' db 4Dh; 'M' db 61h; 'a' db 79h; 'y' db 4Ah; 'J' db 75h; 'u' db 6Eh; 'n' db 4Ah; 'J' db 75h; 'u' db 6Ch; 'l' db 41h; 'A' db 75h; 'u' db 67h; 'g' db 53h; 'S' db 65h; 'e' db 70h; 'p' db 4Fh; 'O' db 63h; 'c' db 74h; 't' db 4Eh; 'N' db 6Fh; 'o' db 76h; 'v' db 44h; 'D' db 65h; 'e' db 63h; 'c' db 00h; db 00h; db 00h; db 00h; L004BDBF8: db 54h; 'T' db 5Ah; 'Z' db 00h; db 00h; SSZ004BDBFC_GetLastActivePopup: db 'GetLastActivePopup',0 Align 4 SSZ004BDC10_GetActiveWindow: db 'GetActiveWindow',0 SSZ004BDC20_MessageBoxA: db 'MessageBoxA',0 SSZ004BDC2C_user32_dll: db 'user32.dll',0 Align 4 SSZ004BDC38_H_mm_ss: db 'H:mm:ss',0 SSZ004BDC40_dddd__MMMM_dd__yyyy: db 'dddd, MMMM dd, yyyy',0 SSZ004BDC54_M_d_yy: db 'M/d/yy',0 Align 4 L004BDC5C: db 50h; 'P' db 4Dh; 'M' db 00h; db 00h; L004BDC60: db 41h; 'A' db 4Dh; 'M' db 00h; db 00h; SSZ004BDC64_December: db 'December',0 Align 4 SSZ004BDC70_November: db 'November',0 Align 4 SSZ004BDC7C_October: db 'October',0 SSZ004BDC84_September: db 'September',0 Align 4 SSZ004BDC90_August: db 'August',0 Align 4 SSZ004BDC98_July: db 'July',0 Align 4 SSZ004BDCA0_June: db 'June',0 Align 4 SSZ004BDCA8_April: db 'April',0 Align 4 SSZ004BDCB0_March: db 'March',0 Align 4 SSZ004BDCB8_February: db 'February',0 Align 4 SSZ004BDCC4_January: db 'January',0 L004BDCCC: dd L00636544 L004BDCD0: db 4Eh; 'N' db 6Fh; 'o' db 76h; 'v' db 00h; L004BDCD4: db 4Fh; 'O' db 63h; 'c' db 74h; 't' db 00h; L004BDCD8: db 53h; 'S' db 65h; 'e' db 70h; 'p' db 00h; L004BDCDC: db 41h; 'A' db 75h; 'u' db 67h; 'g' db 00h; L004BDCE0: db 4Ah; 'J' db 75h; 'u' db 6Ch; 'l' db 00h; L004BDCE4: db 4Ah; 'J' db 75h; 'u' db 6Eh; 'n' db 00h; L004BDCE8: db 4Dh; 'M' db 61h; 'a' db 79h; 'y' db 00h; L004BDCEC: db 41h; 'A' db 70h; 'p' db 72h; 'r' db 00h; L004BDCF0: db 4Dh; 'M' db 61h; 'a' db 72h; 'r' db 00h; L004BDCF4: db 46h; 'F' db 65h; 'e' db 62h; 'b' db 00h; L004BDCF8: db 4Ah; 'J' db 61h; 'a' db 6Eh; 'n' db 00h; SSZ004BDCFC_Saturday: db 'Saturday',0 Align 4 SSZ004BDD08_Friday: db 'Friday',0 Align 4 SSZ004BDD10_Thursday: db 'Thursday',0 Align 4 SSZ004BDD1C_Wednesday: db 'Wednesday',0 Align 4 SSZ004BDD28_Tuesday: db 'Tuesday',0 SSZ004BDD30_Monday: db 'Monday',0 Align 4 SSZ004BDD38_Sunday: db 'Sunday',0 Align 4 L004BDD40: db 53h; 'S' db 61h; 'a' db 74h; 't' db 00h; L004BDD44: db 46h; 'F' db 72h; 'r' db 69h; 'i' db 00h; L004BDD48: dd L00756854 L004BDD4C: db 57h; 'W' db 65h; 'e' db 64h; 'd' db 00h; L004BDD50: dd L00657554 L004BDD54: db 4Dh; 'M' db 6Fh; 'o' db 6Eh; 'n' db 00h; L004BDD58: db 53h; 'S' db 75h; 'u' db 6Eh; 'n' db 00h; L004BDD5C: dd 4E512331h L004BDD60: db 41h; 'A' db 4Eh; 'N' L004BDD62: db 00h; db 00h; L004BDD64: dd 4E492331h L004BDD68: db 46h; 'F' db 00h; db 00h; db 00h; L004BDD6C: dd 4E492331h L004BDD70: db 44h; 'D' db 00h; db 00h; db 00h; L004BDD74: dd 4E532331h L004BDD78: db 41h; 'A' db 4Eh; 'N' L004BDD7A: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L004BDD80: dd 3F94FDF4h L004BDD84: dd 3FCC49BAh L004BDD88: dq 3FEB7DCCF9D7885Ch L004BDD90: dd 400126E9h L004BDD94: dd 3EC83127h L004BDD98: dd BF5020C5h db 00h; db 00h; db 00h; db 00h; L004BDDA0: dq 405AC00000000000h L004BDDA8: dd 3D800000h L004BDDAC: dd 47800000h L004BDDB0: db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db C7h; '‡' db 06h; db 4Bh; 'K' db 00h; db DCh; 'œ' db 06h; db 4Bh; 'K' db 00h; L004BDDBC: db 2Eh; '.' db 2Fh; '/' db 5Ch; '\' db 00h; L004BDDC0: db 3Fh; '?' db 2Ah; '*' db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L004BDDC8: dd 19930520h dd 00000001h dd L004BDDE8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BDDE8: dd FFFFFFFFh dd L004B11B0 L004BDDF0: dd 19930520h dd 00000001h dd L004BDE10 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BDE10: dd FFFFFFFFh dd L004B11D0 L004BDE18: dd 19930520h dd 00000001h dd L004BDE38 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BDE38: dd FFFFFFFFh dd L004B11F0 L004BDE40: dd 19930520h dd 00000001h dd L004BDE60 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BDE60: dd FFFFFFFFh dd L004B1210 L004BDE68: dd 19930520h dd 00000001h dd L004BDE88 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BDE88: dd FFFFFFFFh dd L004B1230 L004BDE90: dd 19930520h dd 00000001h dd L004BDEB0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BDEB0: dd FFFFFFFFh dd L004B1250 L004BDEB8: dd 19930520h dd 00000005h dd L004BDED8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BDED8: dd FFFFFFFFh dd L004B1270 dd 00000000h dd L004B1278 dd 00000000h dd L004B1283 dd 00000000h dd L004B128E dd 00000000h dd L004B1299 L004BDF00: dd 19930520h dd 00000001h dd L004BDF20 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BDF20: dd FFFFFFFFh dd L004B12B0 L004BDF28: dd 19930520h dd 00000002h dd L004BDF48 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BDF48: dd FFFFFFFFh dd L004B12D0 dd FFFFFFFFh dd L004B12DB L004BDF58: dd 19930520h dd 00000001h dd L004BDF78 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BDF78: dd FFFFFFFFh dd L004B12F0 L004BDF80: dd 19930520h dd 00000001h dd L004BDFA0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BDFA0: dd FFFFFFFFh dd L004B1310 L004BDFA8: dd 19930520h dd 00000001h dd L004BDFC8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BDFC8: dd FFFFFFFFh dd L004B1330 L004BDFD0: dd 19930520h dd 00000009h dd L004BDFF0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BDFF0: dd FFFFFFFFh dd L004B1350 dd 00000000h dd L004B1358 dd 00000000h dd L004B1363 dd 00000000h dd L004B136E dd 00000000h dd L004B1379 dd 00000000h dd L004B1384 dd 00000000h dd L004B138F dd 00000000h dd L004B139A dd 00000000h dd L004B13A5 L004BE038: dd 19930520h dd 00000001h dd L004BE058 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BE058: dd FFFFFFFFh dd L004B13C0 L004BE060: dd 19930520h dd 00000001h dd L004BE080 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BE080: dd FFFFFFFFh dd L004B13E0 L004BE088: dd 19930520h dd 00000003h dd L004BE0A8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BE0A8: dd FFFFFFFFh dd L004B1400 dd 00000000h dd L004B1408 dd 00000000h dd L004B1413 L004BE0C0: dd 19930520h dd 00000001h dd L004BE0E0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BE0E0: dd FFFFFFFFh dd L004B1430 L004BE0E8: dd 19930520h dd 00000002h dd L004BE108 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BE108: dd FFFFFFFFh dd L004B1450 dd 00000000h dd L004B1458 L004BE118: dd 19930520h dd 00000001h dd L004BE138 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BE138: dd FFFFFFFFh dd L004B1470 L004BE140: dd 19930520h dd 00000001h dd L004BE160 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BE160: dd FFFFFFFFh dd L004B1490 L004BE168: dd 19930520h dd 00000001h dd L004BE188 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BE188: dd FFFFFFFFh dd L004B14B0 L004BE190: dd 19930520h dd 00000001h dd L004BE1B0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BE1B0: dd FFFFFFFFh dd L004B14D0 L004BE1B8: dd 19930520h dd 00000001h dd L004BE1D8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BE1D8: dd FFFFFFFFh dd L004B14F0 L004BE1E0: dd 19930520h dd 00000001h dd L004BE200 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BE200: dd FFFFFFFFh dd L004B1510 L004BE208: dd 19930520h dd 00000001h dd L004BE228 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BE228: dd FFFFFFFFh dd L004B1530 L004BE230: dd 19930520h dd 00000002h dd L004BE250 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BE250: dd FFFFFFFFh dd L004B155B dd FFFFFFFFh dd L004B1550 L004BE260: dd 19930520h dd 00000001h dd L004BE280 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BE280: dd FFFFFFFFh dd L004B1570 L004BE288: dd 19930520h dd 00000001h dd L004BE2A8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BE2A8: dd FFFFFFFFh dd L004B1590 L004BE2B0: dd 19930520h dd 00000001h dd L004BE2D0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BE2D0: dd FFFFFFFFh dd L004B15B0 L004BE2D8: dd 19930520h dd 00000001h dd L004BE2F8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BE2F8: dd FFFFFFFFh dd L004B15D0 L004BE300: dd 19930520h dd 00000001h dd L004BE320 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BE320: dd FFFFFFFFh dd L004B15F0 L004BE328: dd 19930520h dd 00000001h dd L004BE348 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BE348: dd FFFFFFFFh dd L004B1610 L004BE350: dd 19930520h dd 00000001h dd L004BE370 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BE370: dd FFFFFFFFh dd L004B1630 L004BE378: dd 19930520h dd 00000001h dd L004BE398 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BE398: dd FFFFFFFFh dd L004B1650 L004BE3A0: dd 19930520h dd 00000002h dd L004BE3C0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BE3C0: dd FFFFFFFFh dd L004B1670 dd FFFFFFFFh dd L004B167B L004BE3D0: dd 19930520h dd 00000001h dd L004BE3F0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BE3F0: dd FFFFFFFFh dd L004B1690 L004BE3F8: dd 19930520h dd 00000001h dd L004BE418 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BE418: dd FFFFFFFFh dd L004B16B0 L004BE420: dd 19930520h dd 00000001h dd L004BE440 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BE440: dd FFFFFFFFh dd L004B16D0 L004BE448: dd 19930520h dd 00000001h dd L004BE468 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BE468: dd FFFFFFFFh dd L004B16F0 L004BE470: dd 19930520h dd 00000001h dd L004BE490 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BE490: dd FFFFFFFFh dd L004B1710 L004BE498: dd 19930520h dd 00000001h dd L004BE4B8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BE4B8: dd FFFFFFFFh dd L004B1730 L004BE4C0: dd 19930520h dd 00000001h dd L004BE4E0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BE4E0: dd FFFFFFFFh dd L004B1750 L004BE4E8: dd 19930520h dd 00000002h dd L004BE508 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BE508: dd FFFFFFFFh dd L004B1770 dd FFFFFFFFh dd L004B177B L004BE518: dd 19930520h dd 00000001h dd L004BE538 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BE538: dd FFFFFFFFh dd L004B1790 L004BE540: dd 19930520h dd 00000001h dd L004BE560 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BE560: dd FFFFFFFFh dd L004B17B0 L004BE568: dd 19930520h dd 00000001h dd L004BE588 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BE588: dd FFFFFFFFh dd L004B17D0 L004BE590: dd 19930520h dd 00000001h dd L004BE5B0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BE5B0: dd FFFFFFFFh dd L004B17F0 L004BE5B8: dd 19930520h dd 00000001h dd L004BE5D8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BE5D8: dd FFFFFFFFh dd L004B1810 L004BE5E0: dd 19930520h dd 00000001h dd L004BE600 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BE600: dd FFFFFFFFh dd L004B1830 L004BE608: dd 19930520h dd 00000001h dd L004BE628 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BE628: dd FFFFFFFFh dd L004B1850 L004BE630: dd 19930520h dd 00000001h dd L004BE650 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BE650: dd FFFFFFFFh dd L004B1870 L004BE658: dd 19930520h dd 00000001h dd L004BE678 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BE678: dd FFFFFFFFh dd L004B1890 L004BE680: dd 19930520h dd 00000001h dd L004BE6A0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BE6A0: dd FFFFFFFFh dd L004B18B0 L004BE6A8: dd 19930520h dd 00000001h dd L004BE6C8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BE6C8: dd FFFFFFFFh dd L004B18D0 L004BE6D0: dd 19930520h dd 00000001h dd L004BE6F0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BE6F0: dd FFFFFFFFh dd L004B18F0 L004BE6F8: dd 19930520h dd 00000001h dd L004BE718 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BE718: dd FFFFFFFFh dd L004B1910 L004BE720: dd 19930520h dd 00000001h dd L004BE740 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BE740: dd FFFFFFFFh dd L004B1930 L004BE748: dd 19930520h dd 00000001h dd L004BE768 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BE768: dd FFFFFFFFh dd L004B1950 L004BE770: dd 19930520h dd 00000001h dd L004BE790 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BE790: dd FFFFFFFFh dd L004B1970 L004BE798: dd 19930520h dd 00000001h dd L004BE7B8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BE7B8: dd FFFFFFFFh dd L004B1990 L004BE7C0: dd 19930520h dd 00000001h dd L004BE7E0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BE7E0: dd FFFFFFFFh dd L004B19B0 L004BE7E8: dd 19930520h dd 00000001h dd L004BE808 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BE808: dd FFFFFFFFh dd L004B19D0 L004BE810: dd 19930520h dd 00000001h dd L004BE830 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BE830: dd FFFFFFFFh dd L004B19F0 L004BE838: dd 19930520h dd 00000001h dd L004BE858 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BE858: dd FFFFFFFFh dd L004B1A10 L004BE860: dd 19930520h dd 00000001h dd L004BE880 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BE880: dd FFFFFFFFh dd L004B1A30 L004BE888: dd 19930520h dd 00000003h dd L004BE8A8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BE8A8: dd FFFFFFFFh dd L004B1A50 dd 00000000h dd L004B1A58 dd 00000000h dd L004B1A63 L004BE8C0: dd 19930520h dd 00000001h dd L004BE8E0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BE8E0: dd FFFFFFFFh dd L004B1A80 L004BE8E8: dd 19930520h dd 00000002h dd L004BE908 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BE908: dd FFFFFFFFh dd L004B1AA0 dd FFFFFFFFh dd L004B1AAB L004BE918: dd 19930520h dd 00000002h dd L004BE938 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BE938: dd FFFFFFFFh dd L004B1AC0 dd 00000000h dd L004B1AC8 L004BE948: dd 19930520h dd 00000001h dd L004BE968 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BE968: dd FFFFFFFFh dd L004B1AE0 L004BE970: dd 19930520h dd 00000004h dd L004BE990 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BE990: dd FFFFFFFFh dd L004B1B00 dd FFFFFFFFh dd L004B1B0B dd FFFFFFFFh dd 00000000h dd FFFFFFFFh dd 00000000h L004BE9B0: dd 19930520h dd 00000005h dd L004BE9D0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BE9D0: dd FFFFFFFFh dd L004B1B20 dd FFFFFFFFh dd L004B1B2B dd FFFFFFFFh dd L004B1B36 dd FFFFFFFFh dd L004B1B41 dd FFFFFFFFh dd L004B1B4C L004BE9F8: dd 19930520h dd 00000003h dd L004BEA18 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BEA18: dd FFFFFFFFh dd L004B1B70 dd 00000000h dd L004B1B78 dd 00000000h dd L004B1B83 L004BEA30: dd 19930520h dd 00000001h dd L004BEA50 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BEA50: dd FFFFFFFFh dd L004B1BA0 L004BEA58: dd 19930520h dd 00000001h dd L004BEA78 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BEA78: dd FFFFFFFFh dd L004B1BC0 L004BEA80: dd 19930520h dd 00000011h dd L004BEAA0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BEAA0: dd FFFFFFFFh dd L004B1BE0 dd 00000000h dd L004B1BE8 dd 00000000h dd L004B1BF3 dd 00000000h dd L004B1BFE dd 00000000h dd L004B1C09 dd 00000000h dd L004B1C14 dd 00000000h dd L004B1C1F dd 00000000h dd L004B1C2A dd 00000000h dd L004B1C35 dd 00000000h dd L004B1C40 dd 00000000h dd L004B1C4B dd 00000000h dd L004B1C56 dd 00000000h dd L004B1C61 dd 00000000h dd L004B1C6C dd 00000000h dd L004B1C77 dd 00000000h dd L004B1C82 dd 00000000h dd L004B1C8D L004BEB28: dd 19930520h dd 00000001h dd L004BEB48 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BEB48: dd FFFFFFFFh dd L004B1CB0 L004BEB50: dd 19930520h dd 00000011h dd L004BEB70 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BEB70: dd FFFFFFFFh dd L004B1CD0 dd 00000000h dd L004B1CD8 dd 00000000h dd L004B1CE3 dd 00000000h dd L004B1CEE dd 00000000h dd L004B1CF9 dd 00000000h dd L004B1D04 dd 00000000h dd L004B1D0F dd 00000000h dd L004B1D1A dd 00000000h dd L004B1D25 dd 00000000h dd L004B1D30 dd 00000000h dd L004B1D3B dd 00000000h dd L004B1D46 dd 00000000h dd L004B1D51 dd 00000000h dd L004B1D5C dd 00000000h dd L004B1D67 dd 00000000h dd L004B1D72 dd 00000000h dd L004B1D7D L004BEBF8: dd 19930520h dd 00000001h dd L004BEC18 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BEC18: dd FFFFFFFFh dd L004B1DA0 L004BEC20: dd 19930520h dd 00000010h dd L004BEC40 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BEC40: dd FFFFFFFFh dd L004B1DC0 dd 00000000h dd L004B1DC8 dd 00000000h dd L004B1DD3 dd 00000000h dd L004B1DDE dd 00000000h dd L004B1DE9 dd 00000000h dd L004B1DF4 dd 00000000h dd L004B1DFF dd 00000000h dd L004B1E0A dd 00000000h dd L004B1E15 dd 00000000h dd L004B1E20 dd 00000000h dd L004B1E2B dd 00000000h dd L004B1E36 dd 00000000h dd L004B1E41 dd 00000000h dd L004B1E4C dd 00000000h dd L004B1E57 dd 00000000h dd L004B1E62 L004BECC0: dd 19930520h dd 00000001h dd L004BECE0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BECE0: dd FFFFFFFFh dd L004B1E80 L004BECE8: dd 19930520h dd 00000007h dd L004BED08 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BED08: dd FFFFFFFFh dd L004B1EA0 dd 00000000h dd L004B1EA8 dd 00000000h dd L004B1EB3 dd 00000000h dd L004B1EBE dd 00000000h dd L004B1EC9 dd 00000000h dd L004B1ED4 dd 00000000h dd L004B1EDF L004BED40: dd 19930520h dd 0000000Ah dd L004BED60 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BED60: dd FFFFFFFFh dd L004B1F00 dd 00000000h dd L004B1F08 dd 00000000h dd L004B1F13 dd 00000000h dd L004B1F1E dd 00000000h dd L004B1F29 dd 00000000h dd L004B1F34 dd 00000000h dd L004B1F3F dd 00000000h dd L004B1F4A dd 00000000h dd L004B1F55 dd 00000000h dd L004B1F60 L004BEDB0: dd 19930520h dd 00000003h dd L004BEDD0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BEDD0: dd FFFFFFFFh dd L004B1F80 dd 00000000h dd L004B1F88 dd 00000000h dd L004B1F93 L004BEDE8: dd 19930520h dd 00000001h dd L004BEE08 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BEE08: dd FFFFFFFFh dd L004B1FB0 L004BEE10: dd 19930520h dd 00000001h dd L004BEE30 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BEE30: dd FFFFFFFFh dd L004B1FD0 L004BEE38: dd 19930520h dd 00000001h dd L004BEE58 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BEE58: dd FFFFFFFFh dd L004B1FF0 L004BEE60: dd 19930520h dd 00000001h dd L004BEE80 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BEE80: dd FFFFFFFFh dd L004B2010 L004BEE88: dd 19930520h dd 00000001h dd L004BEEA8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BEEA8: dd FFFFFFFFh dd L004B2030 L004BEEB0: dd 19930520h dd 0000000Bh dd L004BEED0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BEED0: dd FFFFFFFFh dd L004B2050 dd 00000000h dd L004B2058 dd 00000000h dd L004B2063 dd 00000000h dd L004B206E dd 00000000h dd L004B2079 dd 00000000h dd L004B2084 dd 00000000h dd L004B208F dd 00000000h dd L004B209A dd 00000000h dd L004B20A5 dd 00000000h dd L004B20B0 dd 00000000h dd L004B20BB L004BEF28: dd 19930520h dd 00000001h dd L004BEF48 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BEF48: dd FFFFFFFFh dd L004B20D0 L004BEF50: dd 19930520h dd 00000006h dd L004BEF70 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BEF70: dd FFFFFFFFh dd L004B20F0 dd 00000000h dd L004B20F8 dd 00000000h dd L004B2103 dd 00000000h dd L004B210E dd 00000000h dd L004B2119 dd 00000000h dd L004B2124 L004BEFA0: dd 19930520h dd 00000001h dd L004BEFC0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BEFC0: dd FFFFFFFFh dd L004B2140 L004BEFC8: dd 19930520h dd 00000006h dd L004BEFE8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BEFE8: dd FFFFFFFFh dd L004B2160 dd 00000000h dd L004B2168 dd 00000000h dd L004B2173 dd 00000000h dd L004B217E dd 00000000h dd L004B2189 dd 00000000h dd L004B2194 L004BF018: dd 19930520h dd 00000001h dd L004BF038 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BF038: dd FFFFFFFFh dd L004B21B0 L004BF040: dd 19930520h dd 00000004h dd L004BF060 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BF060: dd FFFFFFFFh dd L004B21D0 dd 00000000h dd L004B21D8 dd 00000000h dd L004B21E3 dd 00000000h dd L004B21EE L004BF080: dd 19930520h dd 00000001h dd L004BF0A0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BF0A0: dd FFFFFFFFh dd L004B2210 L004BF0A8: dd 19930520h dd 00000004h dd L004BF0C8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BF0C8: dd FFFFFFFFh dd L004B2230 dd 00000000h dd L004B2238 dd 00000000h dd L004B2243 dd 00000000h dd L004B224E L004BF0E8: dd 19930520h dd 00000001h dd L004BF108 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BF108: dd FFFFFFFFh dd L004B2270 L004BF110: dd 19930520h dd 00000003h dd L004BF130 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BF130: dd FFFFFFFFh dd L004B2290 dd 00000000h dd L004B2298 dd 00000000h dd L004B22A3 L004BF148: dd 19930520h dd 00000001h dd L004BF168 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BF168: dd FFFFFFFFh dd L004B22C0 L004BF170: dd 19930520h dd 00000009h dd L004BF190 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BF190: dd FFFFFFFFh dd L004B22E0 dd 00000000h dd L004B22E8 dd 00000000h dd L004B22F3 dd 00000000h dd L004B22FE dd 00000000h dd L004B2309 dd 00000000h dd L004B2314 dd 00000000h dd L004B231F dd 00000000h dd L004B232A dd 00000000h dd L004B2335 L004BF1D8: dd 19930520h dd 00000001h dd L004BF1F8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BF1F8: dd FFFFFFFFh dd L004B2350 L004BF200: dd 19930520h dd 00000009h dd L004BF220 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BF220: dd FFFFFFFFh dd L004B2370 dd 00000000h dd L004B2378 dd 00000000h dd L004B2383 dd 00000000h dd L004B238E dd 00000000h dd L004B2399 dd 00000000h dd L004B23A4 dd 00000000h dd L004B23AF dd 00000000h dd L004B23BA dd 00000000h dd L004B23C5 L004BF268: dd 19930520h dd 00000001h dd L004BF288 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BF288: dd FFFFFFFFh dd L004B23E0 L004BF290: dd 19930520h dd 00000004h dd L004BF2B0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BF2B0: dd FFFFFFFFh dd L004B2400 dd 00000000h dd L004B2408 dd 00000000h dd L004B2413 dd 00000000h dd L004B241E L004BF2D0: dd 19930520h dd 00000001h dd L004BF2F0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BF2F0: dd FFFFFFFFh dd L004B2440 L004BF2F8: dd 19930520h dd 0000000Fh dd L004BF318 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BF318: dd FFFFFFFFh dd L004B2460 dd 00000000h dd L004B2468 dd 00000000h dd L004B2473 dd 00000000h dd L004B247E dd 00000000h dd L004B2489 dd 00000000h dd L004B2494 dd 00000000h dd L004B249F dd 00000000h dd L004B24AA dd 00000000h dd L004B24B5 dd 00000000h dd L004B24C0 dd 00000000h dd L004B24CB dd 00000000h dd L004B24D6 dd 00000000h dd L004B24E1 dd 00000000h dd L004B24EC dd 00000000h dd L004B24F7 L004BF390: dd 19930520h dd 00000001h dd L004BF3B0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BF3B0: dd FFFFFFFFh dd L004B2510 L004BF3B8: dd 19930520h dd 00000003h dd L004BF3D8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BF3D8: dd FFFFFFFFh dd L004B2530 dd FFFFFFFFh dd L004B253B dd FFFFFFFFh dd L004B2546 L004BF3F0: dd 19930520h dd 00000017h dd L004BF410 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BF410: dd FFFFFFFFh dd L004B2560 dd 00000000h dd L004B2568 dd 00000000h dd L004B2573 dd 00000000h dd L004B257E dd 00000000h dd L004B2589 dd 00000000h dd L004B2594 dd 00000000h dd L004B259F dd 00000000h dd L004B25AA dd 00000000h dd L004B25B5 dd 00000000h dd L004B25C0 dd 00000000h dd L004B25CB dd 00000000h dd L004B25D6 dd 00000000h dd L004B25E1 dd 00000000h dd L004B25EC dd 00000000h dd L004B25F7 dd 00000000h dd L004B2602 dd 00000000h dd L004B260D dd 00000000h dd L004B2618 dd 00000000h dd L004B2623 dd 00000000h dd L004B262E dd 00000000h dd L004B2639 dd 00000000h dd L004B2644 dd 00000000h dd L004B264F L004BF4C8: dd 19930520h dd 00000001h dd L004BF4E8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BF4E8: dd FFFFFFFFh dd L004B2670 L004BF4F0: dd 19930520h dd 00000002h dd L004BF510 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BF510: dd FFFFFFFFh dd L004B2690 dd FFFFFFFFh dd L004B269B L004BF520: dd 19930520h dd 00000002h dd L004BF540 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BF540: dd FFFFFFFFh dd L004B26B0 dd FFFFFFFFh dd L004B26BB L004BF550: dd 19930520h dd 00000001h dd L004BF570 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BF570: dd FFFFFFFFh dd L004B26D0 L004BF578: dd 19930520h dd 00000001h dd L004BF598 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BF598: dd FFFFFFFFh dd L004B26F0 L004BF5A0: dd 19930520h dd 00000007h dd L004BF5C0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BF5C0: dd FFFFFFFFh dd L004B2710 dd 00000000h dd L004B2718 dd 00000000h dd L004B2723 dd 00000000h dd L004B272E dd 00000000h dd L004B2739 dd 00000000h dd L004B2744 dd 00000000h dd L004B274F L004BF5F8: dd 19930520h dd 00000001h dd L004BF618 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BF618: dd FFFFFFFFh dd L004B2770 L004BF620: dd 19930520h dd 00000004h dd L004BF640 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BF640: dd FFFFFFFFh dd L004B2790 dd 00000000h dd L004B2798 dd 00000000h dd L004B27A3 dd 00000000h dd L004B27AE L004BF660: dd 19930520h dd 00000001h dd L004BF680 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BF680: dd FFFFFFFFh dd L004B27D0 L004BF688: dd 19930520h dd 00000001h dd L004BF6A8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BF6A8: dd FFFFFFFFh dd L004B27F0 L004BF6B0: dd 19930520h dd 00000001h dd L004BF6D0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BF6D0: dd FFFFFFFFh dd L004B2810 L004BF6D8: dd 19930520h dd 00000001h dd L004BF6F8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BF6F8: dd FFFFFFFFh dd L004B2830 L004BF700: dd 19930520h dd 00000001h dd L004BF720 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BF720: dd FFFFFFFFh dd L004B2850 L004BF728: dd 19930520h dd 00000002h dd L004BF748 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BF748: dd FFFFFFFFh dd L004B2870 dd 00000000h dd L004B2878 L004BF758: dd 19930520h dd 00000001h dd L004BF778 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BF778: dd FFFFFFFFh dd L004B2890 L004BF780: dd 19930520h dd 00000005h dd L004BF7A0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BF7A0: dd FFFFFFFFh dd L004B28B0 dd 00000000h dd L004B28B8 dd 00000001h dd L004B28C6 dd 00000002h dd L004B28DE dd 00000002h dd L004B28E9 L004BF7C8: dd 19930520h dd 00000003h dd L004BF7E8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BF7E8: dd FFFFFFFFh dd L004B2900 dd 00000000h dd L004B2908 dd 00000001h dd L004B2916 L004BF800: dd 19930520h dd 00000001h dd L004BF820 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BF820: dd FFFFFFFFh dd L004B2940 L004BF828: dd 19930520h dd 00000001h dd L004BF848 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BF848: dd FFFFFFFFh dd L004B2960 L004BF850: dd 19930520h dd 00000009h dd L004BF870 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BF870: dd FFFFFFFFh dd L004B2980 dd 00000000h dd L004B298B dd FFFFFFFFh dd L004B2993 dd 00000002h dd L004B299E dd 00000003h dd L004B29A6 dd 00000004h dd L004B29AE dd 00000004h dd L004B29B6 dd 00000004h dd L004B29C1 dd 00000003h dd L004B29C9 L004BF8B8: dd 19930520h dd 00000002h dd L004BF8D8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BF8D8: dd FFFFFFFFh dd L004B29E0 dd 00000000h dd L004B29E8 L004BF8E8: dd 19930520h dd 00000002h dd L004BF908 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BF908: dd FFFFFFFFh dd L004B2A00 dd 00000000h dd L004B2A0B L004BF918: dd 19930520h dd 00000001h dd L004BF938 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BF938: dd FFFFFFFFh dd L004B2A20 L004BF940: dd 19930520h dd 00000001h dd L004BF960 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BF960: dd FFFFFFFFh dd L004B2A40 L004BF968: dd 19930520h dd 00000003h dd L004BF988 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BF988: dd FFFFFFFFh dd L004B2A60 dd 00000000h dd L004B2A68 dd 00000001h dd L004B2A70 L004BF9A0: dd 19930520h dd 00000001h dd L004BF9C0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BF9C0: dd FFFFFFFFh dd L004B2A90 L004BF9C8: dd 19930520h dd 00000001h dd L004BF9E8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BF9E8: dd FFFFFFFFh dd L004B2AB0 L004BF9F0: dd 19930520h dd 00000001h dd L004BFA10 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BFA10: dd FFFFFFFFh dd L004B2AD0 L004BFA18: dd 19930520h dd 00000001h dd L004BFA38 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BFA38: dd FFFFFFFFh dd L004B2AF0 L004BFA40: dd 19930520h dd 0000000Eh dd L004BFA60 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BFA60: dd FFFFFFFFh dd L004B2B10 dd 00000000h dd L004B2B18 dd 00000000h dd L004B2B23 dd 00000000h dd L004B2B2E dd 00000000h dd L004B2B39 dd 00000000h dd L004B2B44 dd 00000000h dd L004B2B4F dd 00000000h dd L004B2B5A dd 00000000h dd L004B2B65 dd 00000000h dd L004B2B70 dd 00000000h dd L004B2B7B dd 00000000h dd L004B2B86 dd 00000000h dd L004B2B91 dd 00000000h dd L004B2B9C L004BFAD0: dd 19930520h dd 00000001h dd L004BFAF0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BFAF0: dd FFFFFFFFh dd L004B2BC0 L004BFAF8: dd 19930520h dd 00000002h dd L004BFB18 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BFB18: dd FFFFFFFFh dd L004B2BE0 dd 00000000h dd L004B2BE8 L004BFB28: dd 19930520h dd 00000001h dd L004BFB48 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BFB48: dd FFFFFFFFh dd L004B2C00 L004BFB50: dd 19930520h dd 00000001h dd L004BFB70 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BFB70: dd FFFFFFFFh dd L004B2C20 L004BFB78: dd 19930520h dd 00000001h dd L004BFB98 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BFB98: dd FFFFFFFFh dd L004B2C40 L004BFBA0: dd 19930520h dd 00000001h dd L004BFBC0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BFBC0: dd FFFFFFFFh dd L004B2C60 L004BFBC8: dd 19930520h dd 00000001h dd L004BFBE8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BFBE8: dd FFFFFFFFh dd L004B2C80 L004BFBF0: dd 19930520h dd 00000001h dd L004BFC10 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BFC10: dd FFFFFFFFh dd L004B2CA0 L004BFC18: dd 19930520h dd 00000001h dd L004BFC38 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BFC38: dd FFFFFFFFh dd L004B2CC0 L004BFC40: dd 19930520h dd 00000001h dd L004BFC60 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BFC60: dd FFFFFFFFh dd L004B2CE0 L004BFC68: dd 19930520h dd 00000001h dd L004BFC88 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BFC88: dd FFFFFFFFh dd L004B2D00 L004BFC90: dd 19930520h dd 00000002h dd L004BFCB0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BFCB0: dd FFFFFFFFh dd L004B2D20 dd FFFFFFFFh dd L004B2D2B L004BFCC0: dd 19930520h dd 00000002h dd L004BFCE0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BFCE0: dd FFFFFFFFh dd L004B2D40 dd FFFFFFFFh dd L004B2D4B L004BFCF0: dd 19930520h dd 0000000Dh dd L004BFD10 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BFD10: dd FFFFFFFFh dd L004B2D60 dd 00000000h dd L004B2D68 dd 00000001h dd L004B2D70 dd 00000002h dd L004B2D78 dd 00000003h dd L004B2D80 dd 00000001h dd L004B2D8B dd 00000005h dd L004B2D93 dd 00000001h dd L004B2D9E dd 00000007h dd L004B2DA6 dd 00000001h dd L004B2DB1 dd 00000001h dd L004B2DBC dd 00000001h dd L004B2DC7 dd 00000001h dd L004B2DD2 L004BFD78: dd 19930520h dd 00000003h dd L004BFD98 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BFD98: dd FFFFFFFFh dd L004B2DF0 dd 00000000h dd L004B2DF8 dd 00000001h dd L004B2E00 L004BFDB0: dd 19930520h dd 00000002h dd L004BFDD0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BFDD0: dd FFFFFFFFh dd L004B2E20 dd 00000000h dd L004B2E28 L004BFDE0: dd 19930520h dd 00000002h dd L004BFE00 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BFE00: dd FFFFFFFFh dd L004B2E40 dd 00000000h dd L004B2E48 L004BFE10: dd 19930520h dd 00000001h dd L004BFE30 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BFE30: dd FFFFFFFFh dd L004B2E60 L004BFE38: dd 19930520h dd 00000001h dd L004BFE58 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BFE58: dd FFFFFFFFh dd L004B2E80 L004BFE60: dd 19930520h dd 00000007h dd L004BFE80 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BFE80: dd FFFFFFFFh dd L004B2EA0 dd 00000000h dd L004B2EA8 dd 00000001h dd L004B2EB0 dd 00000002h dd L004B2EB8 dd 00000003h dd L004B2EC6 dd 00000004h dd L004B2ED1 dd 00000005h dd L004B2ED9 L004BFEB8: dd 19930520h dd 00000006h dd L004BFED8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BFED8: dd FFFFFFFFh dd L004B2EF0 dd 00000000h dd L004B2EF8 dd 00000001h dd L004B2F00 dd 00000002h dd L004B2F0E dd 00000003h dd L004B2F19 dd 00000004h dd L004B2F21 L004BFF08: dd 19930520h dd 00000007h dd L004BFF28 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BFF28: dd FFFFFFFFh dd L004B2F40 dd 00000000h dd L004B2F48 dd 00000001h dd L004B2F50 dd 00000002h dd L004B2F5E dd 00000003h dd L004B2F66 dd 00000004h dd L004B2F71 dd 00000005h dd L004B2F79 L004BFF60: dd 19930520h dd 00000005h dd L004BFF80 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BFF80: dd FFFFFFFFh dd L004B2F90 dd 00000000h dd L004B2F98 dd 00000001h dd L004B2FA6 dd 00000002h dd L004B2FB1 dd 00000003h dd L004B2FB9 L004BFFA8: dd 19930520h dd 00000006h dd L004BFFC8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004BFFC8: dd FFFFFFFFh dd L004B2FD0 dd 00000000h dd L004B2FD8 dd 00000001h dd L004B2FE0 dd 00000002h dd L004B2FEE dd 00000003h dd L004B2FF9 dd 00000004h dd L004B3001 L004BFFF8: dd 19930520h dd 00000005h dd L004C0018 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C0018: dd FFFFFFFFh dd L004B3020 dd 00000000h dd L004B3028 dd 00000001h dd L004B3036 dd 00000002h dd L004B3041 dd 00000003h dd L004B3049 L004C0040: dd 19930520h dd 00000002h dd L004C0060 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C0060: dd FFFFFFFFh dd L004B3060 dd 00000000h dd L004B3068 L004C0070: dd 19930520h dd 00000003h dd L004C0090 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C0090: dd FFFFFFFFh dd L004B3080 dd 00000000h dd L004B3088 dd FFFFFFFFh dd L004B3093 L004C00A8: dd 19930520h dd 00000001h dd L004C00C8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C00C8: dd FFFFFFFFh dd L004B30B0 L004C00D0: dd 19930520h dd 00000001h dd L004C00F0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C00F0: dd FFFFFFFFh dd L004B30D0 L004C00F8: dd 19930520h dd 0000000Ah dd L004C0118 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C0118: dd FFFFFFFFh dd L004B3153 dd FFFFFFFFh dd L004B3148 dd FFFFFFFFh dd L004B3111 dd FFFFFFFFh dd L004B311C dd FFFFFFFFh dd L004B30F0 dd FFFFFFFFh dd L004B30FB dd FFFFFFFFh dd L004B3106 dd FFFFFFFFh dd L004B3127 dd FFFFFFFFh dd L004B3132 dd FFFFFFFFh dd L004B313D L004C0168: dd 19930520h dd 00000004h dd L004C0188 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C0188: dd FFFFFFFFh dd L004B3170 dd FFFFFFFFh dd L004B317B dd FFFFFFFFh dd L004B3186 dd FFFFFFFFh dd L004B3191 L004C01A8: dd 19930520h dd 00000001h dd L004C01C8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C01C8: dd FFFFFFFFh dd L004B31B0 L004C01D0: dd 19930520h dd 00000001h dd L004C01F0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C01F0: dd FFFFFFFFh dd L004B31D0 L004C01F8: dd 19930520h dd 00000001h dd L004C0218 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C0218: dd FFFFFFFFh dd L004B31F0 L004C0220: dd 19930520h dd 00000001h dd L004C0240 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C0240: dd FFFFFFFFh dd L004B3210 L004C0248: dd 19930520h dd 00000005h dd L004C0268 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C0268: dd FFFFFFFFh dd L004B3230 dd 00000000h dd L004B3238 dd 00000000h dd L004B3243 dd 00000000h dd L004B324E dd 00000000h dd L004B3259 L004C0290: dd 19930520h dd 00000001h dd L004C02B0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C02B0: dd FFFFFFFFh dd L004B3270 L004C02B8: dd 19930520h dd 0000000Eh dd L004C02D8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C02D8: dd FFFFFFFFh dd L004B3290 dd 00000000h dd L004B3298 dd 00000001h dd L004B32A0 dd 00000002h dd L004B32A8 dd 00000002h dd L004B32B3 dd 00000002h dd L004B32BE dd 00000005h dd L004B32C6 dd 00000006h dd L004B32CE dd 00000002h dd L004B32D9 dd 00000008h dd L004B32E1 dd 00000002h dd L004B32EC dd 0000000Ah dd L004B32F4 dd 00000002h dd L004B330A dd 00000002h dd L004B32FF L004C0348: dd 19930520h dd 00000003h dd L004C0368 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C0368: dd FFFFFFFFh dd L004B3320 dd 00000000h dd L004B3328 dd 00000000h dd L004B3333 L004C0380: dd 19930520h dd 00000001h dd L004C03A0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C03A0: dd FFFFFFFFh dd L004B3350 L004C03A8: dd 19930520h dd 00000002h dd L004C03C8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C03C8: dd FFFFFFFFh dd L004B3370 dd FFFFFFFFh dd L004B337B L004C03D8: dd 19930520h dd 00000004h dd L004C03F8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C03F8: dd FFFFFFFFh dd L004B3390 dd FFFFFFFFh dd L004B339B dd FFFFFFFFh dd L004B33A6 dd FFFFFFFFh dd L004B33B1 L004C0418: dd 19930520h dd 00000007h dd L004C0438 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C0438: dd FFFFFFFFh dd L004B33D0 dd 00000000h dd L004B33D8 dd 00000000h dd L004B33E3 dd 00000000h dd L004B33EE dd 00000000h dd L004B33F9 dd 00000000h dd L004B3404 dd 00000000h dd L004B340F L004C0470: dd 19930520h dd 00000005h dd L004C0490 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C0490: dd FFFFFFFFh dd L004B3430 dd 00000000h dd L004B3438 dd 00000000h dd L004B3443 dd 00000000h dd L004B344E dd 00000000h dd L004B3459 L004C04B8: dd 19930520h dd 00000005h dd L004C04D8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C04D8: dd FFFFFFFFh dd L004B3470 dd 00000000h dd L004B3478 dd 00000000h dd L004B3483 dd 00000000h dd L004B348E dd 00000000h dd L004B3499 L004C0500: dd 19930520h dd 00000001h dd L004C0520 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C0520: dd FFFFFFFFh dd L004B34B0 L004C0528: dd 19930520h dd 00000001h dd L004C0548 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C0548: dd FFFFFFFFh dd L004B34D0 L004C0550: dd 19930520h dd 00000001h dd L004C0570 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C0570: dd FFFFFFFFh dd L004B34F0 L004C0578: dd 19930520h dd 00000001h dd L004C0598 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C0598: dd FFFFFFFFh dd L004B3510 L004C05A0: dd 19930520h dd 00000002h dd L004C05C0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C05C0: dd FFFFFFFFh dd L004B3530 dd FFFFFFFFh dd L004B353B L004C05D0: dd 19930520h dd 0000000Ch dd L004C05F0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C05F0: dd FFFFFFFFh dd L004B3550 dd FFFFFFFFh dd L004B355B dd FFFFFFFFh dd L004B3566 dd FFFFFFFFh dd L004B3571 dd FFFFFFFFh dd L004B357C dd FFFFFFFFh dd L004B3587 dd FFFFFFFFh dd L004B3592 dd FFFFFFFFh dd L004B359D dd FFFFFFFFh dd L004B35A8 dd FFFFFFFFh dd L004B35B3 dd FFFFFFFFh dd L004B35BE dd FFFFFFFFh dd L004B35C9 L004C0650: dd 19930520h dd 00000001h dd L004C0670 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C0670: dd FFFFFFFFh dd L004B35E0 L004C0678: dd 19930520h dd 00000004h dd L004C0698 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C0698: dd FFFFFFFFh dd L004B3600 dd FFFFFFFFh dd L004B360B dd FFFFFFFFh dd L004B3616 dd 00000002h dd L004B361E L004C06B8: dd 19930520h dd 00000001h dd L004C06D8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C06D8: dd FFFFFFFFh dd L004B3640 L004C06E0: dd 19930520h dd 00000003h dd L004C0700 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C0700: dd FFFFFFFFh dd L004B3660 dd 00000000h dd L004B3668 dd 00000000h dd L004B3673 L004C0718: dd 19930520h dd 00000004h dd L004C0738 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C0738: dd FFFFFFFFh dd L004B3690 dd FFFFFFFFh dd L004B369B dd FFFFFFFFh dd L004B36A6 dd FFFFFFFFh dd L004B36B1 L004C0758: dd 19930520h dd 00000001h dd L004C0778 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C0778: dd FFFFFFFFh dd L004B36D0 L004C0780: dd 19930520h dd 00000002h dd L004C07A0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C07A0: dd FFFFFFFFh dd L004B36F0 dd FFFFFFFFh dd L004B36FB L004C07B0: dd 19930520h dd 00000001h dd L004C07D0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C07D0: dd FFFFFFFFh dd L004B3710 L004C07D8: dd 19930520h dd 00000001h dd L004C07F8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C07F8: dd FFFFFFFFh dd L004B3730 L004C0800: dd 19930520h dd 00000002h dd L004C0820 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C0820: dd FFFFFFFFh dd L004B3750 dd FFFFFFFFh dd L004B375B L004C0830: dd 19930520h dd 00000001h dd L004C0850 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C0850: dd FFFFFFFFh dd L004B3770 L004C0858: dd 19930520h dd 00000001h dd L004C0878 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C0878: dd FFFFFFFFh dd L004B3790 L004C0880: dd 19930520h dd 00000001h dd L004C08A0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C08A0: dd FFFFFFFFh dd L004B37B0 L004C08A8: dd 19930520h dd 00000001h dd L004C08C8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C08C8: dd FFFFFFFFh dd L004B37D0 L004C08D0: dd 19930520h dd 00000001h dd L004C08F0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C08F0: dd FFFFFFFFh dd L004B37F0 L004C08F8: dd 19930520h dd 00000001h dd L004C0918 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C0918: dd FFFFFFFFh dd L004B3810 L004C0920: dd 19930520h dd 00000001h dd L004C0940 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C0940: dd FFFFFFFFh dd L004B3830 L004C0948: dd 19930520h dd 00000003h dd L004C0968 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C0968: dd FFFFFFFFh dd L004B3850 dd 00000000h dd L004B3858 dd 00000001h dd L004B3860 L004C0980: dd 19930520h dd 00000001h dd L004C09A0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C09A0: dd FFFFFFFFh dd L004B3880 L004C09A8: dd 19930520h dd 00000002h dd L004C09C8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C09C8: dd FFFFFFFFh dd L004B38A0 dd 00000000h dd L004B38AE L004C09D8: dd 19930520h dd 00000001h dd L004C09F8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C09F8: dd FFFFFFFFh dd L004B38D0 L004C0A00: dd 19930520h dd 00000004h dd L004C0A20 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C0A20: dd FFFFFFFFh dd L004B38F0 dd 00000000h dd L004B38FE dd 00000000h dd 00000000h dd 00000000h dd L004B390C L004C0A40: dd 19930520h dd 00000001h dd L004C0A60 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C0A60: dd FFFFFFFFh dd L004B3930 L004C0A68: dd 19930520h dd 00000001h dd L004C0A88 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C0A88: dd FFFFFFFFh dd L004B3950 L004C0A90: dd 19930520h dd 00000001h dd L004C0AB0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C0AB0: dd FFFFFFFFh dd L004B3970 L004C0AB8: dd 19930520h dd 00000001h dd L004C0AD8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C0AD8: dd FFFFFFFFh dd L004B3990 L004C0AE0: dd 19930520h dd 00000003h dd L004C0B00 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C0B00: dd FFFFFFFFh dd L004B39B0 dd 00000000h dd L004B39BB dd FFFFFFFFh dd L004B39C6 L004C0B18: dd 19930520h dd 00000001h dd L004C0B38 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C0B38: dd FFFFFFFFh dd L004B39E0 L004C0B40: dd 19930520h dd 00000001h dd L004C0B60 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C0B60: dd FFFFFFFFh dd L004B3A00 L004C0B68: dd 19930520h dd 00000002h dd L004C0B88 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C0B88: dd FFFFFFFFh dd L004B3A20 dd 00000000h dd L004B3A28 L004C0B98: dd 19930520h dd 00000002h dd L004C0BB8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C0BB8: dd FFFFFFFFh dd L004B3A40 dd 00000000h dd L004B3A48 L004C0BC8: dd 19930520h dd 00000002h dd L004C0BE8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C0BE8: dd FFFFFFFFh dd L004B3A60 dd FFFFFFFFh dd L004B3A6B L004C0BF8: dd 19930520h dd 00000001h dd L004C0C18 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C0C18: dd FFFFFFFFh dd L004B3A80 L004C0C20: dd 19930520h dd 00000001h dd L004C0C40 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C0C40: dd FFFFFFFFh dd L004B3AA0 L004C0C48: dd 19930520h dd 00000001h dd L004C0C68 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C0C68: dd FFFFFFFFh dd L004B3AC0 L004C0C70: dd 19930520h dd 00000001h dd L004C0C90 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C0C90: dd FFFFFFFFh dd L004B3AE0 L004C0C98: dd 19930520h dd 00000001h dd L004C0CB8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C0CB8: dd FFFFFFFFh dd L004B3B00 L004C0CC0: dd 19930520h dd 00000002h dd L004C0CE0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C0CE0: dd FFFFFFFFh dd L004B3B20 dd FFFFFFFFh dd L004B3B28 L004C0CF0: dd 19930520h dd 00000001h dd L004C0D10 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C0D10: dd FFFFFFFFh dd L004B3B40 L004C0D18: dd 19930520h dd 00000001h dd L004C0D38 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C0D38: dd FFFFFFFFh dd L004B3B60 L004C0D40: dd 19930520h dd 00000001h dd L004C0D60 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C0D60: dd FFFFFFFFh dd L004B3B80 L004C0D68: dd 19930520h dd 00000001h dd L004C0D88 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C0D88: dd FFFFFFFFh dd L004B3BA0 L004C0D90: dd 19930520h dd 00000001h dd L004C0DB0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C0DB0: dd FFFFFFFFh dd L004B3BC0 L004C0DB8: dd 19930520h dd 00000002h dd L004C0DD8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C0DD8: dd FFFFFFFFh dd L004B3BE0 dd 00000000h dd L004B3BE8 L004C0DE8: dd 19930520h dd 00000001h dd L004C0E08 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C0E08: dd FFFFFFFFh dd L004B3C00 L004C0E10: dd 19930520h dd 00000001h dd L004C0E30 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C0E30: dd FFFFFFFFh dd L004B3C20 L004C0E38: dd 19930520h dd 00000001h dd L004C0E58 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C0E58: dd FFFFFFFFh dd L004B3C40 L004C0E60: dd 19930520h dd 00000001h dd L004C0E80 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C0E80: dd FFFFFFFFh dd L004B3C60 L004C0E88: dd 19930520h dd 00000001h dd L004C0EA8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C0EA8: dd FFFFFFFFh dd L004B3C80 L004C0EB0: dd 19930520h dd 00000001h dd L004C0ED0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C0ED0: dd FFFFFFFFh dd L004B3CA0 L004C0ED8: dd 19930520h dd 00000001h dd L004C0EF8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C0EF8: dd FFFFFFFFh dd L004B3CC0 L004C0F00: dd 19930520h dd 00000001h dd L004C0F20 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C0F20: dd FFFFFFFFh dd L004B3CE0 L004C0F28: dd 19930520h dd 00000003h dd L004C0F48 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C0F48: dd FFFFFFFFh dd L004B3D00 dd 00000000h dd L004B3D08 dd 00000001h dd L004B3D20 L004C0F60: dd 19930520h dd 00000002h dd L004C0F80 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C0F80: dd FFFFFFFFh dd L004B3D40 dd 00000000h dd L004B3D48 L004C0F90: dd 19930520h dd 00000001h dd L004C0FB0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C0FB0: dd FFFFFFFFh dd L004B3D60 L004C0FB8: dd 19930520h dd 00000002h dd L004C0FD8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C0FD8: dd FFFFFFFFh dd L004B3D80 dd 00000000h dd L004B3D8B L004C0FE8: dd 19930520h dd 00000002h dd L004C1008 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C1008: dd FFFFFFFFh dd L004B3DA0 dd 00000000h dd L004B3DAB L004C1018: dd 19930520h dd 00000006h dd L004C1038 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C1038: dd FFFFFFFFh dd L004B3DC0 dd 00000000h dd L004B3DC8 dd 00000001h dd L004B3DD0 dd 00000001h dd L004B3DDB dd 00000001h dd L004B3DE6 dd 00000001h dd L004B3DF1 L004C1068: dd 19930520h dd 00000001h dd L004C1088 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C1088: dd FFFFFFFFh dd L004B3E10 L004C1090: dd 19930520h dd 00000001h dd L004C10B0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C10B0: dd FFFFFFFFh dd L004B3E30 L004C10B8: dd 19930520h dd 00000005h dd L004C10D8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C10D8: dd FFFFFFFFh dd L004B3E50 dd 00000000h dd L004B3E58 dd 00000000h dd L004B3E63 dd 00000000h dd L004B3E6E dd 00000000h dd L004B3E79 L004C1100: dd 19930520h dd 00000002h dd L004C1120 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C1120: dd FFFFFFFFh dd L004B3E90 dd 00000000h dd L004B3E9B L004C1130: dd 19930520h dd 00000005h dd L004C1150 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C1150: dd FFFFFFFFh dd L004B3EB0 dd 00000000h dd L004B3EB8 dd 00000001h dd L004B3ED0 dd 00000002h dd L004B3EE8 dd 00000003h dd L004B3EF6 L004C1178: dd 19930520h dd 00000004h dd L004C1198 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C1198: dd FFFFFFFFh dd L004B3F10 dd 00000000h dd L004B3F18 dd 00000001h dd L004B3F30 dd 00000002h dd L004B3F48 L004C11B8: dd 19930520h dd 00000004h dd L004C11D8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C11D8: dd FFFFFFFFh dd L004B3F60 dd FFFFFFFFh dd L004B3F6B dd FFFFFFFFh dd L004B3F76 dd FFFFFFFFh dd L004B3F81 L004C11F8: dd 19930520h dd 0000000Eh dd L004C1218 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C1218: dd FFFFFFFFh dd L004B3FA0 dd FFFFFFFFh dd L004B3FAB dd FFFFFFFFh dd L004B3FB6 dd FFFFFFFFh dd L004B3FC1 dd FFFFFFFFh dd L004B3FCC dd FFFFFFFFh dd L004B3FD7 dd FFFFFFFFh dd L004B3FE2 dd FFFFFFFFh dd L004B3FED dd FFFFFFFFh dd L004B3FF8 dd FFFFFFFFh dd L004B4003 dd FFFFFFFFh dd L004B400E dd FFFFFFFFh dd L004B4019 dd FFFFFFFFh dd L004B4024 dd FFFFFFFFh dd L004B402F L004C1288: dd 19930520h dd 0000000Ah dd L004C12A8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C12A8: dd FFFFFFFFh dd L004B4050 dd FFFFFFFFh dd L004B405B dd FFFFFFFFh dd L004B4066 dd FFFFFFFFh dd L004B4071 dd FFFFFFFFh dd L004B407C dd FFFFFFFFh dd L004B4087 dd FFFFFFFFh dd L004B4092 dd FFFFFFFFh dd L004B409D dd FFFFFFFFh dd L004B40A8 dd FFFFFFFFh dd L004B40B3 L004C12F8: dd 19930520h dd 00000001h dd L004C1318 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C1318: dd FFFFFFFFh dd L004B40D0 L004C1320: dd 19930520h dd 00000011h dd L004C1340 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C1340: dd FFFFFFFFh dd L004B40F0 dd FFFFFFFFh dd L004B40FB dd FFFFFFFFh dd L004B4106 dd 00000002h dd L004B410E dd 00000003h dd L004B4119 dd FFFFFFFFh dd L004B4178 dd 00000005h dd L004B4180 dd 00000006h dd L004B418B dd FFFFFFFFh dd L004B4121 dd 00000008h dd L004B412C dd FFFFFFFFh dd L004B4137 dd 0000000Ah dd L004B413F dd 0000000Bh dd L004B414A dd FFFFFFFFh dd L004B4152 dd 0000000Dh dd L004B415A dd FFFFFFFFh dd L004B4165 dd 0000000Fh dd L004B416D L004C13C8: dd 19930520h dd 00000001h dd L004C13E8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C13E8: dd FFFFFFFFh dd L004B41A0 L004C13F0: dd 19930520h dd 00000001h dd L004C1410 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C1410: dd FFFFFFFFh dd L004B41C0 L004C1418: dd 19930520h dd 00000001h dd L004C1438 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C1438: dd FFFFFFFFh dd L004B41E0 L004C1440: dd 19930520h dd 00000001h dd L004C1460 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C1460: dd FFFFFFFFh dd L004B4200 L004C1468: dd 19930520h dd 00000001h dd L004C1488 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C1488: dd FFFFFFFFh dd L004B4220 L004C1490: dd 19930520h dd 00000002h dd L004C14B0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C14B0: dd FFFFFFFFh dd L004B4240 dd FFFFFFFFh dd L004B424B L004C14C0: dd 19930520h dd 00000001h dd L004C14E0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C14E0: dd FFFFFFFFh dd L004B4260 L004C14E8: dd 19930520h dd 00000002h dd L004C1508 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C1508: dd FFFFFFFFh dd L004B4280 dd FFFFFFFFh dd L004B428B L004C1518: dd 19930520h dd 00000001h dd L004C1538 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C1538: dd FFFFFFFFh dd L004B42A0 L004C1540: dd 19930520h dd 00000001h dd L004C1560 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C1560: dd FFFFFFFFh dd L004B42C0 L004C1568: dd 19930520h dd 00000001h dd L004C1588 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C1588: dd FFFFFFFFh dd L004B42E0 L004C1590: dd 19930520h dd 00000005h dd L004C15B0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C15B0: dd FFFFFFFFh dd L004B4300 dd FFFFFFFFh dd L004B430B dd 00000001h dd L004B4313 dd 00000002h dd L004B431E dd 00000003h dd L004B4334 L004C15D8: dd 19930520h dd 00000003h dd L004C15F8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C15F8: dd FFFFFFFFh dd L004B4350 dd 00000000h dd L004B4358 dd FFFFFFFFh dd L004B4363 L004C1610: dd 19930520h dd 00000001h dd L004C1630 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C1630: dd FFFFFFFFh dd L004B4380 L004C1638: dd 19930520h dd 00000001h dd L004C1658 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C1658: dd FFFFFFFFh dd L004B43A0 L004C1660: dd 19930520h dd 00000001h dd L004C1680 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C1680: dd FFFFFFFFh dd L004B43C0 L004C1688: dd 19930520h dd 00000001h dd L004C16A8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C16A8: dd FFFFFFFFh dd L004B43E0 L004C16B0: dd 19930520h dd 00000001h dd L004C16D0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C16D0: dd FFFFFFFFh dd L004B4400 L004C16D8: dd 19930520h dd 00000001h dd L004C16F8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C16F8: dd FFFFFFFFh dd L004B4420 L004C1700: dd 19930520h dd 00000001h dd L004C1720 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C1720: dd FFFFFFFFh dd L004B4440 L004C1728: dd 19930520h dd 00000001h dd L004C1748 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C1748: dd FFFFFFFFh dd L004B4460 L004C1750: dd 19930520h dd 00000001h dd L004C1770 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C1770: dd FFFFFFFFh dd L004B4480 L004C1778: dd 19930520h dd 00000001h dd L004C1798 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C1798: dd FFFFFFFFh dd L004B44A0 L004C17A0: dd 19930520h dd 00000001h dd L004C17C0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C17C0: dd FFFFFFFFh dd L004B44C0 L004C17C8: dd 19930520h dd 00000001h dd L004C17E8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C17E8: dd FFFFFFFFh dd L004B44E0 L004C17F0: dd 19930520h dd 00000001h dd L004C1810 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C1810: dd FFFFFFFFh dd L004B4500 L004C1818: dd 19930520h dd 00000001h dd L004C1838 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C1838: dd FFFFFFFFh dd L004B4520 L004C1840: dd 19930520h dd 00000001h dd L004C1860 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C1860: dd FFFFFFFFh dd L004B4540 L004C1868: dd 19930520h dd 00000001h dd L004C1888 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C1888: dd FFFFFFFFh dd L004B4560 L004C1890: dd 19930520h dd 00000001h dd L004C18B0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C18B0: dd FFFFFFFFh dd L004B4580 L004C18B8: dd 19930520h dd 00000001h dd L004C18D8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C18D8: dd FFFFFFFFh dd L004B45A0 L004C18E0: dd 19930520h dd 00000001h dd L004C1900 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C1900: dd FFFFFFFFh dd L004B45C0 L004C1908: dd 19930520h dd 00000008h dd L004C1928 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C1928: dd FFFFFFFFh dd L004B45E0 dd 00000000h dd L004B45E8 dd 00000000h dd L004B45F0 dd 00000000h dd L004B45F8 dd 00000000h dd L004B4600 dd 00000000h dd L004B4608 dd FFFFFFFFh dd L004B4610 dd 00000006h dd L004B4618 L004C1968: dd 19930520h dd 00000004h dd L004C1988 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C1988: dd FFFFFFFFh dd L004B4630 dd 00000000h dd L004B4638 dd 00000000h dd L004B4643 dd 00000000h dd L004B464E L004C19A8: dd 19930520h dd 00000001h dd L004C19C8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C19C8: dd FFFFFFFFh dd L004B4670 L004C19D0: dd 19930520h dd 00000001h dd L004C19F0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C19F0: dd FFFFFFFFh dd L004B4690 L004C19F8: dd 19930520h dd 00000001h dd L004C1A18 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C1A18: dd FFFFFFFFh dd L004B46B0 L004C1A20: dd 19930520h dd 00000001h dd L004C1A40 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C1A40: dd FFFFFFFFh dd L004B46D0 L004C1A48: dd 19930520h dd 00000001h dd L004C1A68 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C1A68: dd FFFFFFFFh dd L004B46F0 L004C1A70: dd 19930520h dd 00000001h dd L004C1A90 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C1A90: dd FFFFFFFFh dd L004B4710 L004C1A98: dd 19930520h dd 00000002h dd L004C1AB8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C1AB8: dd FFFFFFFFh dd L004B4730 dd 00000000h dd L004B4738 L004C1AC8: dd 19930520h dd 00000004h dd L004C1AE8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C1AE8: dd FFFFFFFFh dd L004B4750 dd 00000000h dd L004B4758 dd 00000000h dd L004B4763 dd 00000000h dd L004B476E L004C1B08: dd 19930520h dd 00000002h dd L004C1B28 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C1B28: dd FFFFFFFFh dd L004B4790 dd FFFFFFFFh dd L004B479B L004C1B38: dd 19930520h dd 00000002h dd L004C1B58 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C1B58: dd FFFFFFFFh dd L004B47B0 dd FFFFFFFFh dd L004B47BB L004C1B68: dd 19930520h dd 00000001h dd L004C1B88 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C1B88: dd FFFFFFFFh dd L004B47D0 L004C1B90: dd 19930520h dd 00000001h dd L004C1BB0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C1BB0: dd FFFFFFFFh dd L004B47F0 L004C1BB8: dd 19930520h dd 00000001h dd L004C1BD8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C1BD8: dd FFFFFFFFh dd L004B4810 L004C1BE0: dd 19930520h dd 00000001h dd L004C1C00 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C1C00: dd FFFFFFFFh dd L004B4830 L004C1C08: dd 19930520h dd 00000002h dd L004C1C28 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C1C28: dd FFFFFFFFh dd L004B4850 dd 00000000h dd L004B4858 L004C1C38: dd 19930520h dd 00000002h dd L004C1C58 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C1C58: dd FFFFFFFFh dd L004B487B dd FFFFFFFFh dd L004B4870 L004C1C68: dd 19930520h dd 00000001h dd L004C1C88 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C1C88: dd FFFFFFFFh dd L004B4890 L004C1C90: dd 19930520h dd 00000002h dd L004C1CB0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C1CB0: dd FFFFFFFFh dd L004B48B0 dd FFFFFFFFh dd L004B48BB L004C1CC0: dd 19930520h dd 00000001h dd L004C1CE0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C1CE0: dd FFFFFFFFh dd L004B48D0 L004C1CE8: dd 19930520h dd 00000003h dd L004C1D08 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C1D08: dd FFFFFFFFh dd L004B48F0 dd FFFFFFFFh dd L004B48FB dd FFFFFFFFh dd L004B4906 L004C1D20: dd 19930520h dd 00000002h dd L004C1D40 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C1D40: dd FFFFFFFFh dd L004B4920 dd FFFFFFFFh dd L004B492B L004C1D50: dd 19930520h dd 00000001h dd L004C1D70 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C1D70: dd FFFFFFFFh dd L004B4940 L004C1D78: dd 19930520h dd 00000002h dd L004C1D98 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C1D98: dd FFFFFFFFh dd L004B4960 dd FFFFFFFFh dd L004B496B L004C1DA8: dd 19930520h dd 00000001h dd L004C1DC8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C1DC8: dd FFFFFFFFh dd L004B4980 L004C1DD0: dd 19930520h dd 00000003h dd L004C1DF0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C1DF0: dd FFFFFFFFh dd L004B49A0 dd FFFFFFFFh dd L004B49AB dd FFFFFFFFh dd L004B49B6 L004C1E08: dd 19930520h dd 00000001h dd L004C1E28 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C1E28: dd FFFFFFFFh dd L004B49D0 L004C1E30: dd 19930520h dd 00000001h dd L004C1E50 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C1E50: dd FFFFFFFFh dd L004B49F0 L004C1E58: dd 19930520h dd 00000001h dd L004C1E78 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C1E78: dd FFFFFFFFh dd L004B4A10 L004C1E80: dd 19930520h dd 00000002h dd L004C1EA0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C1EA0: dd FFFFFFFFh dd L004B4A30 dd 00000000h dd L004B4A38 L004C1EB0: dd 19930520h dd 0000000Bh dd L004C1ED0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C1ED0: dd FFFFFFFFh dd L004B4A50 dd 00000000h dd L004B4A58 dd 00000000h dd L004B4A63 dd 00000000h dd L004B4A6E dd 00000000h dd L004B4A79 dd 00000000h dd L004B4A84 dd 00000000h dd L004B4A8F dd 00000000h dd L004B4A9A dd 00000000h dd L004B4AA5 dd 00000000h dd L004B4AB0 dd 00000000h dd L004B4ABB L004C1F28: dd 19930520h dd 00000001h dd L004C1F48 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C1F48: dd FFFFFFFFh dd L004B4AD0 L004C1F50: dd 19930520h dd 00000001h dd L004C1F70 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C1F70: dd FFFFFFFFh dd L004B4AF0 L004C1F78: dd 19930520h dd 00000002h dd L004C1F98 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C1F98: dd FFFFFFFFh dd L004B4B10 dd 00000000h dd L004B4B18 L004C1FA8: dd 19930520h dd 00000001h dd L004C1FC8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C1FC8: dd FFFFFFFFh dd L004B4B30 L004C1FD0: dd 19930520h dd 00000001h dd L004C1FF0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C1FF0: dd FFFFFFFFh dd L004B4B50 L004C1FF8: dd 19930520h dd 00000003h dd L004C2018 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C2018: dd FFFFFFFFh dd L004B4B70 dd 00000000h dd L004B4B78 dd 00000000h dd L004B4B83 L004C2030: dd 19930520h dd 00000001h dd L004C2050 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C2050: dd FFFFFFFFh dd L004B4BA0 L004C2058: dd 19930520h dd 00000004h dd L004C2078 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C2078: dd FFFFFFFFh dd L004B4BC0 dd 00000000h dd L004B4BC8 dd 00000000h dd L004B4BD3 dd 00000000h dd L004B4BDE L004C2098: dd 19930520h dd 00000001h dd L004C20B8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C20B8: dd FFFFFFFFh dd L004B4C00 L004C20C0: dd 19930520h dd 00000001h dd L004C20E0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C20E0: dd FFFFFFFFh dd L004B4C20 L004C20E8: dd 19930520h dd 00000001h dd L004C2108 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C2108: dd FFFFFFFFh dd L004B4C40 L004C2110: dd 19930520h dd 00000001h dd L004C2130 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C2130: dd FFFFFFFFh dd L004B4C60 L004C2138: dd 19930520h dd 00000001h dd L004C2158 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C2158: dd FFFFFFFFh dd L004B4C80 L004C2160: dd 19930520h dd 00000005h dd L004C2180 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C2180: dd FFFFFFFFh dd L004B4CA0 dd 00000000h dd L004B4CA8 dd 00000000h dd L004B4CB3 dd 00000000h dd L004B4CBE dd 00000000h dd L004B4CC9 L004C21A8: dd 19930520h dd 00000005h dd L004C21C8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C21C8: dd FFFFFFFFh dd L004B4CE0 dd 00000000h dd L004B4CE8 dd 00000000h dd L004B4CF3 dd 00000000h dd L004B4CFE dd 00000000h dd L004B4D09 L004C21F0: dd 19930520h dd 00000001h dd L004C2210 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C2210: dd FFFFFFFFh dd L004B4D20 L004C2218: dd 19930520h dd 00000006h dd L004C2238 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C2238: dd FFFFFFFFh dd L004B4D40 dd 00000000h dd L004B4D48 dd 00000000h dd L004B4D53 dd 00000000h dd L004B4D5E dd 00000000h dd L004B4D69 dd 00000000h dd L004B4D74 L004C2268: dd 19930520h dd 00000001h dd L004C2288 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C2288: dd FFFFFFFFh dd L004B4D90 L004C2290: dd 19930520h dd 00000002h dd L004C22B0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C22B0: dd FFFFFFFFh dd L004B4DB0 dd FFFFFFFFh dd L004B4DBB L004C22C0: dd 19930520h dd 00000004h dd L004C22E0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C22E0: dd FFFFFFFFh dd L004B4DD0 dd 00000000h dd L004B4DD8 dd 00000000h dd L004B4DE3 dd 00000000h dd L004B4DEE L004C2300: dd 19930520h dd 00000001h dd L004C2320 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C2320: dd FFFFFFFFh dd L004B4E10 L004C2328: dd 19930520h dd 00000004h dd L004C2348 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C2348: dd FFFFFFFFh dd L004B4E30 dd 00000000h dd L004B4E38 dd 00000000h dd L004B4E43 dd 00000000h dd L004B4E4E L004C2368: dd 19930520h dd 00000001h dd L004C2388 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C2388: dd FFFFFFFFh dd L004B4E70 L004C2390: dd 19930520h dd 00000006h dd L004C23B0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C23B0: dd FFFFFFFFh dd L004B4E90 dd 00000000h dd L004B4E98 dd 00000000h dd L004B4EA3 dd 00000000h dd L004B4EAE dd 00000000h dd L004B4EB9 dd 00000000h dd L004B4EC4 L004C23E0: dd 19930520h dd 00000001h dd L004C2400 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C2400: dd FFFFFFFFh dd L004B4EE0 L004C2408: dd 19930520h dd 00000007h dd L004C2428 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C2428: dd FFFFFFFFh dd L004B4F00 dd 00000000h dd L004B4F08 dd 00000000h dd L004B4F13 dd 00000000h dd L004B4F1E dd 00000000h dd L004B4F29 dd 00000000h dd L004B4F34 dd 00000000h dd L004B4F3F L004C2460: dd 19930520h dd 00000001h dd L004C2480 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C2480: dd FFFFFFFFh dd L004B4F60 L004C2488: dd 19930520h dd 00000001h dd L004C24A8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C24A8: dd FFFFFFFFh dd L004B4F80 L004C24B0: dd 19930520h dd 00000001h dd L004C24D0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C24D0: dd FFFFFFFFh dd L004B4FA0 L004C24D8: dd 19930520h dd 00000001h dd L004C24F8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C24F8: dd FFFFFFFFh dd L004B4FC0 L004C2500: dd 19930520h dd 00000005h dd L004C2520 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C2520: dd FFFFFFFFh dd L004B4FE0 dd 00000000h dd L004B4FE8 dd 00000000h dd L004B4FF3 dd 00000000h dd L004B4FFE dd 00000000h dd L004B5009 L004C2548: dd 19930520h dd 00000001h dd L004C2568 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C2568: dd FFFFFFFFh dd L004B5020 L004C2570: dd 19930520h dd 00000001h dd L004C2590 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C2590: dd FFFFFFFFh dd L004B5040 L004C2598: dd 19930520h dd 00000002h dd L004C25B8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C25B8: dd FFFFFFFFh dd L004B5060 dd 00000000h dd L004B5068 L004C25C8: dd 19930520h dd 00000001h dd L004C25E8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C25E8: dd FFFFFFFFh dd L004B5080 L004C25F0: dd 19930520h dd 00000003h dd L004C2610 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C2610: dd FFFFFFFFh dd L004B50A0 dd 00000000h dd L004B50AB dd 00000001h dd L004B50B3 L004C2628: dd 19930520h dd 00000001h dd L004C2648 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C2648: dd FFFFFFFFh dd L004B50D0 L004C2650: dd 19930520h dd 00000007h dd L004C2670 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C2670: dd FFFFFFFFh dd L004B50F0 dd 00000000h dd L004B50F8 dd 00000000h dd L004B5103 dd 00000000h dd L004B510E dd 00000000h dd L004B5119 dd 00000000h dd L004B5124 dd 00000000h dd L004B512F L004C26A8: dd 19930520h dd 00000001h dd L004C26C8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C26C8: dd FFFFFFFFh dd L004B5150 L004C26D0: dd 19930520h dd 00000009h dd L004C26F0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C26F0: dd FFFFFFFFh dd L004B5170 dd 00000000h dd L004B5178 dd 00000000h dd L004B5183 dd 00000000h dd L004B518E dd 00000000h dd L004B5199 dd 00000000h dd L004B51A4 dd 00000000h dd L004B51AF dd 00000000h dd L004B51BA dd 00000000h dd L004B51C5 L004C2738: dd 19930520h dd 00000001h dd L004C2758 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C2758: dd FFFFFFFFh dd L004B51E0 L004C2760: dd 19930520h dd 00000005h dd L004C2780 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C2780: dd FFFFFFFFh dd L004B5200 dd 00000000h dd L004B5208 dd 00000000h dd L004B5213 dd 00000000h dd L004B521E dd 00000000h dd L004B5229 L004C27A8: dd 19930520h dd 00000006h dd L004C27C8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C27C8: dd FFFFFFFFh dd L004B5240 dd 00000000h dd L004B5248 dd 00000001h dd L004B5250 dd 00000001h dd L004B525B dd 00000001h dd L004B5266 dd 00000001h dd L004B5271 L004C27F8: dd 19930520h dd 00000001h dd L004C2818 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C2818: dd FFFFFFFFh dd L004B5290 L004C2820: dd 19930520h dd 00000001h dd L004C2840 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C2840: dd FFFFFFFFh dd L004B52B0 L004C2848: dd 19930520h dd 00000001h dd L004C2868 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C2868: dd FFFFFFFFh dd L004B52D0 L004C2870: dd 19930520h dd 00000003h dd L004C2890 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C2890: dd FFFFFFFFh dd L004B52F0 dd 00000000h dd L004B52F8 dd 00000000h dd L004B5303 L004C28A8: dd 19930520h dd 00000001h dd L004C28C8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C28C8: dd FFFFFFFFh dd L004B5320 L004C28D0: dd 19930520h dd 00000002h dd L004C28F0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C28F0: dd FFFFFFFFh dd L004B5340 dd FFFFFFFFh dd L004B534B L004C2900: dd 19930520h dd 00000001h dd L004C2920 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C2920: dd FFFFFFFFh dd L004B5360 L004C2928: dd 19930520h dd 00000001h dd L004C2948 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C2948: dd FFFFFFFFh dd L004B5380 L004C2950: dd 19930520h dd 00000001h dd L004C2970 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C2970: dd FFFFFFFFh dd L004B53A0 L004C2978: dd 19930520h dd 00000001h dd L004C2998 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C2998: dd FFFFFFFFh dd L004B53C0 L004C29A0: dd 19930520h dd 00000001h dd L004C29C0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C29C0: dd FFFFFFFFh dd L004B53E0 L004C29C8: dd 19930520h dd 00000001h dd L004C29E8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C29E8: dd FFFFFFFFh dd L004B5400 L004C29F0: dd 19930520h dd 00000003h dd L004C2A10 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C2A10: dd FFFFFFFFh dd L004B5420 dd 00000000h dd L004B542B dd FFFFFFFFh dd L004B5436 L004C2A28: dd 19930520h dd 00000001h dd L004C2A48 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C2A48: dd FFFFFFFFh dd L004B5450 L004C2A50: dd 19930520h dd 00000001h dd L004C2A70 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C2A70: dd FFFFFFFFh dd L004B5470 L004C2A78: dd 19930520h dd 00000001h dd L004C2A98 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C2A98: dd FFFFFFFFh dd L004B5490 L004C2AA0: dd 19930520h dd 00000002h dd L004C2AC0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C2AC0: dd FFFFFFFFh dd L004B54B0 dd 00000000h dd L004B54BB L004C2AD0: dd 19930520h dd 00000001h dd L004C2AF0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C2AF0: dd FFFFFFFFh dd L004B54D0 L004C2AF8: dd 19930520h dd 00000001h dd L004C2B18 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C2B18: dd FFFFFFFFh dd L004B54F0 L004C2B20: dd 19930520h dd 00000004h dd L004C2B40 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004C2B40: dd FFFFFFFFh dd L004B5510 dd FFFFFFFFh dd L004B551B dd FFFFFFFFh dd L004B5526 dd FFFFFFFFh dd L004B5531 dd 000C2C98h dd 00000000h dd 00000000h dd 000C3696h dd 000B605Ch dd 000C2E44h dd 00000000h dd 00000000h dd 000C3A68h dd 000B6208h dd 000C2C6Ch dd 00000000h dd 00000000h dd 000C3B16h dd 000B6030h dd 000C2C3Ch dd 00000000h dd 00000000h dd 000C3B84h dd 000B6000h dd 000C2C54h dd 00000000h dd 00000000h dd 000C3B92h dd 000B6018h dd 000C2F64h dd 00000000h dd 00000000h dd 000C3BA0h dd 000B6328h dd 000C2E3Ch dd 00000000h dd 00000000h dd 000C3BBCh dd 000B6200h dd 000C2F34h dd 00000000h dd 00000000h dd 000C3C38h dd 000B62F8h dd 000C2C5Ch dd 00000000h dd 00000000h dd 000C3C56h dd 000B6020h dd 000C2C64h dd 00000000h dd 00000000h dd 000C3C74h dd 000B6028h dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 000C3B2Eh dd 000C3B42h dd 000C3B52h dd 000C3B64h dd 000C3B76h dd 00000000h dd 80000011h dd 00000000h dd 000C3C42h dd 00000000h dd 000C3C60h dd 00000000h dd 000C3A94h dd 000C3AC0h dd 000C3AD0h dd 000C3AB0h dd 000C3AF0h dd 000C3B04h dd 000C3AE6h dd 000C3A74h dd 000C3AA4h dd 000C3A84h dd 00000000h dd 000C31B0h dd 000C31C0h dd 000C3166h dd 000C3180h dd 000C31F2h dd 000C3202h dd 000C319Ch dd 000C31E0h dd 000C3226h dd 000C31CEh dd 000C3218h dd 000C325Ch dd 000C3272h dd 000C327Ch dd 000C328Eh dd 000C329Ah dd 000C32B2h dd 000C3238h dd 000C32CAh dd 000C313Eh dd 000C3152h dd 000C324Ch dd 000C3316h dd 000C3328h dd 000C333Ah dd 000C3348h dd 000C3354h dd 000C336Ah dd 000C3378h dd 000C3384h dd 000C3394h dd 000C33A2h dd 000C33B8h dd 000C33C8h dd 000C32EAh dd 000C33E4h dd 000C33F6h dd 000C3408h dd 000C3418h dd 000C3426h dd 000C3438h dd 000C32DAh dd 000C32F6h dd 000C3460h dd 000C346Eh dd 000C347Ch dd 000C3302h dd 000C33D8h dd 000C34BEh dd 000C34D8h dd 000C34F2h dd 000C350Ah dd 000C3524h dd 000C3530h dd 000C353Ch dd 000C354Ch dd 000C3560h dd 000C357Eh dd 000C358Eh dd 000C359Eh dd 000C35AEh dd 000C35C0h dd 000C35D2h dd 000C35E4h dd 000C35FAh dd 000C3610h dd 000C3626h dd 000C3636h dd 000C3646h dd 000C3658h dd 000C366Ah dd 000C367Ch dd 000C3112h dd 000C309Ah dd 000C3086h dd 000C3072h dd 000C3062h dd 000C3C80h dd 000C3C90h dd 000C3CA0h dd 000C3CAEh dd 000C3CBAh dd 000C3CD2h dd 000C3048h dd 000C3032h dd 000C3018h dd 000C3008h dd 000C2FF4h dd 000C2FECh dd 000C2FDEh dd 000C2FD4h dd 000C3CECh dd 000C3CFEh dd 000C2FC4h dd 000C3D12h dd 000C312Ah dd 000C30CCh dd 000C30FCh dd 000C30E4h dd 000C348Ch dd 000C30B6h dd 000C34A8h dd 000C3446h dd 000C3452h dd 00000000h dd 000C3BACh dd 00000000h dd 000C38FAh dd 000C390Ch dd 000C3920h dd 000C3930h dd 000C3946h dd 000C3958h dd 000C396Ah dd 000C397Ch dd 000C398Ch dd 000C3996h dd 000C39A8h dd 000C39B6h dd 000C39C8h dd 000C39DAh dd 000C39E6h dd 000C39F4h dd 000C3A04h dd 000C3A16h dd 000C3A22h dd 000C3A32h dd 000C3A40h dd 000C3A52h dd 000C38EEh dd 000C38E2h dd 000C38D0h dd 000C38BEh dd 000C38ACh dd 000C389Ah dd 000C388Ch dd 000C387Ch dd 000C386Eh dd 000C3860h dd 000C3854h dd 000C3840h dd 000C382Ch dd 000C3814h dd 000C3800h dd 000C37DEh dd 000C37CEh dd 000C37BEh dd 000C37ACh dd 000C37A2h dd 000C3794h dd 000C3782h dd 000C3774h dd 000C3766h dd 000C3756h dd 000C3744h dd 000C3730h dd 000C3722h dd 000C3716h dd 000C3702h dd 000C36FAh dd 000C36EEh dd 000C36DEh dd 000C36CCh dd 000C36BAh dd 000C36A4h dd 000C37ECh dd 00000000h dd 000C3C18h dd 000C3D2Ah dd 000C3C28h dd 000C3D42h dd 000C3D52h dd 000C3D36h dd 000C3BC8h dd 000C3D5Eh dd 000C3C06h dd 000C3BF2h dd 000C3BDCh dd 00000000h dd 80000012h dd 80000097h dd 80000039h dd 80000009h dd 80000017h dd 80000013h dd 80000001h dd 80000011h dd 80000015h dd 80000004h dd 8000000Ch dd 80000010h dd 80000003h dd 8000000Fh dd 80000073h dd 80000034h dd 80000074h dd 8000000Eh dd 8000000Dh dd 80000014h dd 8000006Fh dd 80000002h dd 80000008h dd 00000000h dw 0145h db 'GetTickCount',0 db 00h dw 026Fh db 'WinExec',0 dw 006Bh db 'ExitProcess',0 dw 023Fh db 'Sleep',0 dw 00DBh db 'GetDiskFreeSpaceA',0 dw 00DFh db 'GetDriveTypeA',0 dw 00F8h db 'GetLogicalDriveStringsA',0 dw 0161h db 'GlobalMemoryStatus',0 db 00h dw 0148h db 'GetTimeZoneInformation',0 db 00h dw 0133h db 'GetSystemInfo',0 dw 0123h db 'GetProfileStringA',0 dw 0246h db 'TerminateProcess',0 db 00h dw 0179h db 'InitializeCriticalSection',0 dw 017Ch db 'InterlockedExchange',0 dw 018Fh db 'LeaveCriticalSection',0 db 00h dw 0058h db 'EnterCriticalSection',0 db 00h dw 01BAh db 'OutputDebugStringA',0 db 00h dw 004Ch db 'DeleteCriticalSection',0 dw 00D3h db 'GetCurrentProcess',0 dw 0233h db 'SetThreadPriority',0 dw 0141h db 'GetThreadPriority',0 dw 01C5h db 'QueryPerformanceCounter',0 dw 01C6h db 'QueryPerformanceFrequency',0 dw 00D5h db 'GetCurrentThread',0 db 00h dw 00F4h db 'GetLastError',0 db 00h dw 0018h db 'CloseHandle',0 dw 003Dh db 'CreateProcessA',0 db 00h dw 0253h db 'UnmapViewOfFile',0 dw 01A4h db 'MapViewOfFile',0 dw 0032h db 'CreateFileMappingA',0 db 00h dw 0031h db 'CreateFileA',0 dw 0090h db 'FlushViewOfFile',0 dw 01B0h db 'OpenFileMappingA',0 db 00h dw 014Dh db 'GetVersionExA',0 dw 01ABh db 'MultiByteToWideChar',0 dw 009Dh db 'GetACP',0 db 00h dw 0187h db 'IsDBCSLeadByte',0 db 00h dw 01E5h db 'RtlUnwind',0 dw 017Bh db 'InterlockedDecrement',0 db 00h dw 017Eh db 'InterlockedIncrement',0 db 00h dw 0135h db 'GetSystemTime',0 dw 00F5h db 'GetLocalTime',0 db 00h dw 0168h db 'HeapAlloc',0 dw 016Eh db 'HeapFree',0 db 00h dw 00FEh db 'GetModuleHandleA',0 db 00h dw 0128h db 'GetStartupInfoA',0 dw 00AAh db 'GetCommandLineA',0 dw 014Ch db 'GetVersion',0 db 00h dw 01D6h db 'ReadFile',0 db 00h dw 00D6h db 'GetCurrentThreadId',0 db 00h dw 024Bh db 'TlsSetValue',0 dw 0248h db 'TlsAlloc',0 db 00h dw 021Eh db 'SetLastError',0 db 00h dw 024Ah db 'TlsGetValue',0 dw 026Eh db 'WideCharToMultiByte',0 dw 018Dh db 'LCMapStringA',0 db 00h dw 018Eh db 'LCMapStringW',0 db 00h dw 027Bh db 'WriteFile',0 dw 0219h db 'SetFilePointer',0 db 00h dw 021Bh db 'SetHandleCount',0 db 00h dw 012Ah db 'GetStdHandle',0 db 00h dw 00EFh db 'GetFileType',0 dw 0116h db 'GetProcAddress',0 db 00h dw 0171h db 'HeapReAlloc',0 dw 0172h db 'HeapSize',0 db 00h dw 016Ch db 'HeapDestroy',0 dw 016Ah db 'HeapCreate',0 db 00h dw 025Eh db 'VirtualFree',0 dw 025Bh db 'VirtualAlloc',0 db 00h dw 0250h db 'UnhandledExceptionFilter',0 db 00h dw 00FCh db 'GetModuleFileNameA',0 db 00h dw 0096h db 'FreeEnvironmentStringsA',0 dw 0097h db 'FreeEnvironmentStringsW',0 dw 00E1h db 'GetEnvironmentStrings',0 dw 00E3h db 'GetEnvironmentStringsW',0 db 00h dw 00A3h db 'GetCPInfo',0 dw 0109h db 'GetOEMCP',0 db 00h dw 0229h db 'SetStdHandle',0 db 00h dw 008Eh db 'FlushFileBuffers',0 db 00h dw 0236h db 'SetUnhandledExceptionFilter',0 dw 0183h db 'IsBadReadPtr',0 db 00h dw 0186h db 'IsBadWritePtr',0 dw 0180h db 'IsBadCodePtr',0 db 00h dw 00F6h db 'GetLocaleInfoA',0 db 00h dw 012Bh db 'GetStringTypeA',0 db 00h dw 012Eh db 'GetStringTypeW',0 db 00h dw 00E8h db 'GetFileAttributesA',0 db 00h dw 00E6h db 'GetExitCodeProcess',0 db 00h dw 026Ah db 'WaitForSingleObject',0 dw 0190h db 'LoadLibraryA',0 db 00h dw 0210h db 'SetEndOfFile',0 db 00h dw 00F7h db 'GetLocaleInfoW',0 db 00h dw 001Eh db 'CompareStringA',0 db 00h dw 001Fh db 'CompareStringW',0 db 00h dw 0211h db 'SetEnvironmentVariableA',0 db 'KERNEL32.dll',0 db 00h dw 00F7h db 'GetDoubleClickTime',0 db 00h dw 00FFh db 'GetKeyNameTextA',0 dw 0080h db 'DefWindowProcA',0 db 00h dw 01AFh db 'PeekMessageA',0 db 00h dw 01CDh db 'ReleaseDC',0 dw 00EEh db 'GetDC',0 dw 00F0h db 'GetDesktopWindow',0 db 00h dw 01F5h db 'SetFocus',0 db 00h dw 0101h db 'GetKeyState',0 dw 00D7h db 'GetAsyncKeyState',0 db 00h dw 01D3h db 'ScreenToClient',0 db 00h dw 00EDh db 'GetCursorPos',0 db 00h dw 0195h db 'MessageBoxA',0 dw 00CDh db 'FindWindowA',0 dw 018Ch db 'MapVirtualKeyA',0 db 00h dw 0229h db 'ShowCursor',0 db 00h dw 0109h db 'GetMenu',0 dw 0221h db 'SetWindowTextA',0 db 00h dw 0030h db 'CheckMenuItem',0 dw 01DAh db 'SendMessageA',0 db 00h dw 0089h db 'DestroyMenu',0 dw 0090h db 'DispatchMessageA',0 db 00h dw 0245h db 'TranslateMessage',0 db 00h dw 0242h db 'TranslateAcceleratorA',0 dw 016Eh db 'LoadAcceleratorsA',0 dw 012Ch db 'GetSystemMetrics',0 db 00h dw 01ECh db 'SetCursor',0 dw 0172h db 'LoadCursorA',0 dw 0139h db 'GetWindowDC',0 dw 0251h db 'UpdateWindow',0 db 00h dw 022Dh db 'ShowWindow',0 db 00h dw 0055h db 'CreateWindowExA',0 dw 01BEh db 'RegisterClassA',0 db 00h dw 0056h db 'CreateWindowExW',0 dw 01C1h db 'RegisterClassW',0 db 00h dw 0176h db 'LoadIconA',0 dw 017Eh db 'LoadMenuA',0 dw 0038h db 'CloseClipboard',0 db 00h dw 00E6h db 'GetClipboardData',0 db 00h dw 01A6h db 'OpenClipboard',0 dw 0002h db 'AdjustWindowRectEx',0 db 00h dw 021Bh db 'SetWindowLongA',0 db 00h dw 013Ah db 'GetWindowLongA',0 db 00h dw 0152h db 'InvalidateRect',0 db 00h dw 021Eh db 'SetWindowPos',0 db 00h dw 01FBh db 'SetMenu',0 dw 01CCh db 'ReleaseCapture',0 db 00h dw 01E3h db 'SetCapture',0 db 00h dw 00D5h db 'GetActiveWindow',0 dw 0081h db 'DefWindowProcW',0 db 00h dw 00B6h db 'EndPaint',0 db 00h dw 0009h db 'BeginPaint',0 db 00h dw 013Dh db 'GetWindowRect',0 dw 01B3h db 'PostQuitMessage',0 dw 00F8h db 'GetFocus',0 db 00h dw 00E4h db 'GetClientRect',0 dw 0115h db 'GetMessageA',0 dw 0036h db 'ClientToScreen',0 db 00h dw 013Ch db 'GetWindowPlacement',0 db 00h db 'USER32.dll',0 db 00h dw 0035h db 'CreatePalette',0 dw 00C7h db 'GetDeviceCaps',0 dw 0046h db 'DeleteObject',0 db 00h dw 0043h db 'DeleteDC',0 db 00h dw 014Ah db 'SelectObject',0 db 00h dw 014Bh db 'SelectPalette',0 dw 001Fh db 'CreateCompatibleDC',0 db 00h dw 000Ah db 'BitBlt',0 db 00h dw 0024h db 'CreateDIBSection',0 db 00h dw 0137h db 'RealizePalette',0 db 00h db 'GDI32.dll',0 db 63h; 'c' db 6Fh; 'o' db 6Dh; 'm' db 64h; 'd' db 6Ch; 'l' db 67h; 'g' db 33h; '3' db 32h; '2' db 2Eh; '.' db 64h; 'd' db 6Ch; 'l' db 6Ch; 'l' db 00h; db 00h; dw 0136h db 'RegQueryValueExA',0 db 00h dw 012Eh db 'RegOpenKeyExA',0 dw 0141h db 'RegSetValueExA',0 db 00h dw 011Bh db 'RegCreateKeyExA',0 dw 0117h db 'RegCloseKey',0 db 'ADVAPI32.dll',0 db 00h db 'COMCTL32.dll',0 db 00h db 'WSOCK32.dll',0 dw 002Ah db 'MCIWndCreateA',0 db 'MSVFW32.dll',0 dw 0053h db 'midiOutGetVolume',0 db 00h dw 004Dh db 'midiOutGetDevCapsA',0 db 00h dw 0059h db 'midiOutSetVolume',0 db 00h dw 0032h db 'mciSendCommandA',0 dw 0098h db 'timeKillEvent',0 dw 0099h db 'timeSetEvent',0 db 00h db 'WINMM.dll',0 dw 0006h db 'DirectDrawCreate',0 db 00h db 'DDRAW.dll',0 dw 0000h db 'DirectSoundCreate',0 db 'DSOUND.dll',0 db 00h dw 0043h db 'CreateThread',0 db 00h dw 01E2h db 'ResumeThread',0 db 00h dw 006Ch db 'ExitThread',0 db 00h dw 007Eh db 'FindClose',0 dw 0078h db 'FileTimeToSystemTime',0 db 00h dw 0077h db 'FileTimeToLocalFileTime',0 dw 0082h db 'FindFirstFileA',0 db 00h dw 00F0h db 'GetFullPathNameA',0 db 00h dw 00D1h db 'GetCurrentDirectoryA',0 db 00h dw 0083h db 'mmioRead',0 db 00h dw 0086h db 'mmioSeek',0 db 00h dw 0088h db 'mmioSetBuffer',0 dw 0081h db 'mmioOpenA',0 dw 007Ah db 'mmioClose',0 ;------------------------------------------------------------------------------ 00000096h DUP (??) ; ; ;------------------------------------------------------------------------------ ; Name: .data ; Virtual Address: 004C4000h Virtual Size: 002F5CF8h ; Pointer To RawData: 000C2800h Size Of RawData: 00013800h ; L004C4000: db 00h; db 00h; db 00h; db 00h; db 20h; ' ' db 74h; 't' db 42h; 'B' db 00h; db 30h; '0' db EEh; '®' db 42h; 'B' db 00h; db 60h; '`' db 5Eh; '^' db 43h; 'C' db 00h; db F0h; 'à' db 6Dh; 'm' db 43h; 'C' db 00h; db 10h; db 6Eh; 'n' db 43h; 'C' db 00h; db 30h; '0' db 6Eh; 'n' db 43h; 'C' db 00h; db 50h; 'P' db 6Eh; 'n' db 43h; 'C' db 00h; db 20h; ' ' db AEh; 'R' db 44h; 'D' db 00h; db 80h; '?' db 46h; 'F' db 45h; 'E' db 00h; db B0h; 'ø' db 46h; 'F' db 45h; 'E' db 00h; db C0h; '€' db 46h; 'F' db 45h; 'E' db 00h; db F0h; 'à' db 46h; 'F' db 45h; 'E' db 00h; db 20h; ' ' db 47h; 'G' db 45h; 'E' db 00h; db 50h; 'P' db 47h; 'G' db 45h; 'E' db 00h; db 80h; '?' db 47h; 'G' db 45h; 'E' db 00h; db B0h; 'ø' db 47h; 'G' db 45h; 'E' db 00h; db E0h; ' ' db 47h; 'G' db 45h; 'E' db 00h; db 10h; db 48h; 'H' db 45h; 'E' db 00h; db 40h; '@' db 48h; 'H' db 45h; 'E' db 00h; db 70h; 'p' db 48h; 'H' db 45h; 'E' db 00h; db A0h; 'ÿ' db 48h; 'H' db 45h; 'E' db 00h; db D0h; '' db 48h; 'H' db 45h; 'E' db 00h; db 00h; db 49h; 'I' db 45h; 'E' db 00h; db 30h; '0' db 49h; 'I' db 45h; 'E' db 00h; db 60h; '`' db 49h; 'I' db 45h; 'E' db 00h; db 90h; '?' db 49h; 'I' db 45h; 'E' db 00h; db C0h; '€' db 49h; 'I' db 45h; 'E' db 00h; db F0h; 'à' db 49h; 'I' db 45h; 'E' db 00h; db 20h; ' ' db 4Ah; 'J' db 45h; 'E' db 00h; db 50h; 'P' db 4Ah; 'J' db 45h; 'E' db 00h; db 80h; '?' db 4Ah; 'J' db 45h; 'E' db 00h; db B0h; 'ø' db 4Ah; 'J' db 45h; 'E' db 00h; db C0h; '€' db 4Ah; 'J' db 45h; 'E' db 00h; db D0h; '' db 4Ah; 'J' db 45h; 'E' db 00h; db E0h; ' ' db 4Ah; 'J' db 45h; 'E' db 00h; db 60h; '`' db 89h; '%' db 45h; 'E' db 00h; db 50h; 'P' db 8Fh; '?' db 45h; 'E' db 00h; db B0h; 'ø' db 26h; '&' db 48h; 'H' db 00h; db 40h; '@' db 7Ch; '|' db 49h; 'I' db 00h; L004C40A0: db 00h; db 00h; db 00h; db 00h; L004C40A4: db 00h; db 00h; db 00h; db 00h; db 70h; 'p' db BCh; '?' db 49h; 'I' db 00h; db F0h; 'à' db 29h; ')' db 4Ah; 'J' db 00h; db 20h; ' ' db 33h; '3' db 4Ah; 'J' db 00h; L004C40B4: db 00h; db 00h; db 00h; db 00h; L004C40B8: db 00h; db 00h; db 00h; db 00h; db B0h; 'ø' db 2Ah; '*' db 4Ah; 'J' db 00h; L004C40C0: db 00h; db 00h; db 00h; db 00h; L004C40C4: db 00h; db 00h; db 00h; db 00h; db 40h; '@' db 33h; '3' db 4Ah; 'J' db 00h; L004C40CC: db 00h; db 00h; db 00h; db 00h; SSZ004C40D0_animdata_mul: db 'animdata.mul',0 Align 4 L004C40E0: db 72h; 'r' db 62h; 'b' db 00h; db 00h; L004C40E4: db 20h; ' ' db 00h; db 00h; db 00h; SSZ004C40E8_framedata_for_CBarkGump: db 'framedata for CBarkGump',0 SSZ004C4100_bark_gump: db 'bark gump',0 Align 4 SSZ004C410C_You_see__: db 'You see: ',0 Align 4 L004C4118: db 3Ah; ':' db 20h; ' ' db 00h; db 00h; SSZ004C411C_draggump_framedata: db 'draggump framedata',0 Align 4 SSZ004C4130_framedata_for_CInputGump: db 'framedata for CInputGump',0 Align 4 SSZ004C414C__3d_fps__s: db '%3d fps %s',0 Align 4 SSZ004C4158_unicode_bark_gump: db 'unicode bark gump',0 Align 4 L004C416C: dd 00000012h SSZ004C4170_bb_frame: db 'bb frame',0 Align 4 SSZ004C417C_framedata_for_CBBGump: db 'framedata for CBBGump',0 Align 4 SSZ004C4194_bulletinboard_gump: db 'bulletinboard gump',0 Align 4 SSZ004C41A8_BB_framedata: db 'BB framedata',0 Align 4 SSZ004C41B8_BB_frame0_pBMP: db 'BB frame0 pBMP',0 Align 4 SSZ004C41C8_Date_Time: db 'Date/Time',0 Align 4 SSZ004C41D4__s____s___s_: db '%s - %s [%s]',0 Align 4 L004C41E4: db 41h; 'A' db 71h; 'q' db 00h; db 00h; SSZ004C41E8_bbline_frame: db 'bbline frame',0 Align 4 SSZ004C41F8_framedata_for_CBBLineGump: db 'framedata for CBBLineGump',0 Align 4 SSZ004C4214_bbline_gump: db 'bbline gump',0 SSZ004C4220_BBLine_framedata: db 'BBLine framedata',0 Align 4 SSZ004C4234_BBLine_frame0_pBMP: db 'BBLine frame0 pBMP',0 Align 4 SSZ004C4248_Subject_: db 'Subject:',0 Align 4 SSZ004C4254_Time_: db 'Time:',0 Align 4 SSZ004C425C_Author_: db 'Author:',0 SSZ004C4264_bbmsg_frame: db 'bbmsg frame',0 SSZ004C4270_framedata_for_CBBMsgGump: db 'framedata for CBBMsgGump',0 Align 4 SSZ004C428C_bbmsg_gump: db 'bbmsg gump',0 Align 4 SSZ004C4298_BBMsg_framedata: db 'BBMsg framedata',0 SSZ004C42A8_BBMsg_frame1_pBMP: db 'BBMsg frame1 pBMP',0 Align 4 SSZ004C42BC_BBMsg_frame0_pBMP: db 'BBMsg frame0 pBMP',0 Align 4 SSZ004C42D0_bbmsg_frame1: db 'bbmsg frame1',0 Align 4 SSZ004C42E0_bbmsg_frame0: db 'bbmsg frame0',0 Align 4 SSZ004C42F0_bbmsg_frame0_pBMP: db 'bbmsg frame0 pBMP',0 Align 4 L004C4304: db 5Fh; '_' db 00h; db 00h; db 00h; SSZ004C4308_Bad_Circle: db 'Bad Circle',0 Align 4 SSZ004C4314_Eighth_Circle: db 'Eighth Circle',0 Align 4 SSZ004C4324_Seventh_Circle: db 'Seventh Circle',0 Align 4 SSZ004C4334_Sixth_Circle: db 'Sixth Circle',0 Align 4 SSZ004C4344_Fifth_Circle: db 'Fifth Circle',0 Align 4 SSZ004C4354_Fourth_Circle: db 'Fourth Circle',0 Align 4 SSZ004C4364_Third_Circle: db 'Third Circle',0 Align 4 SSZ004C4374_Second_Circle: db 'Second Circle',0 Align 4 SSZ004C4384_First_Circle: db 'First Circle',0 Align 4 SSZ004C4394_book_gump: db 'book gump',0 Align 4 SSZ004C43A0_course_frame0: db 'course frame0',0 Align 4 SSZ004C43B0_framedata_for_CCourseGump: db 'framedata for CCourseGump',0 Align 4 SSZ004C43CC_book_framedata: db 'book framedata',0 Align 4 SSZ004C43DC_book_frame_pBMP: db 'book frame pBMP',0 L004C43EC: db 25h; '%' db 64h; 'd' db 00h; db 00h; L004C43F0: db 62h; 'b' db 79h; 'y' db 00h; db 00h; SSZ004C43F4_TITLE: db 'TITLE',0 Align 4 SSZ004C43FC_Bad_reagent: db 'Bad reagent',0 SSZ004C4408_Black_pearl: db 'Black pearl',0 SSZ004C4414_Sulfurous_ash: db 'Sulfurous ash',0 Align 4 SSZ004C4424_Spiders__silk: db 'Spiders',27h,' silk',0 Align 4 SSZ004C4434_Mandrake_root: db 'Mandrake root',0 Align 4 SSZ004C4444_Ginseng: db 'Ginseng',0 SSZ004C444C_Garlic: db 'Garlic',0 Align 4 SSZ004C4454_Nightshade: db 'Nightshade',0 Align 4 SSZ004C4460_Bloodmoss: db 'Bloodmoss',0 Align 4 SSZ004C446C_spellbook_frame1: db 'spellbook frame1',0 Align 4 SSZ004C4480_framedata_for_CSpellbookGump: db 'framedata for CSpellbookGump',0 Align 4 SSZ004C44A0_spellbook_gump: db 'spellbook gump',0 Align 4 SSZ004C44B0_spellbook_framedata: db 'spellbook framedata',0 SSZ004C44C4_spellbook_frame2: db 'spellbook frame2',0 Align 4 SSZ004C44D8_spellbook_frame_pBMP: db 'spellbook frame pBMP',0 Align 4 SSZ004C44F0__d__d: db '%d %d',0 Align 4 SSZ004C44F8_Reagents_: db 'Reagents:',0 Align 4 SSZ004C4504_INDEX: db 'INDEX',0 Align 4 SSZ004C450C_status_frame0: db 'status frame0',0 Align 4 SSZ004C451C_framedata_for_CStatusGump: db 'framedata for CStatusGump',0 Align 4 SSZ004C4538_spellicon_gump: db 'spellicon gump',0 Align 4 SSZ004C4548_spellicon_framedata: db 'spellicon framedata',0 SSZ004C455C_spellicon_frame0_pBMP: db 'spellicon frame0 pBMP',0 Align 4 SSZ004C4574_multi: db 'multi',0 Align 4 SSZ004C457C_objlist: db 'objlist',0 SSZ004C4584_Quit_________Ultima_Online_: db 'Quit Ultima Online?',0 SSZ004C45A0_Too_many_skill_groups_: db 'Too many skill groups.',0 Align 4 SSZ004C45B8_New_Group: db 'New Group',0 Align 4 SSZ004C45C4_Unacceptable_name_: db 'Unacceptable name.',0 Align 4 SSZ004C45D8_Your_character_name_is_too_short: db 'Your character name is too short.',0 Align 4 SSZ004C45FC_You_have_two_of_the_same_skill_: db 'You have two of the same skill.',0 SSZ004C461C_No_character_to_login_with_: db 'No character to login with.',0 SSZ004C4638_You_already_have_5_characters_: db 'You already have 5 characters.',0 Align 4 SSZ004C4658_No_character_to_delete_: db 'No character to delete.',0 SSZ004C4670_Deleting_character____: db 'Deleting character... ',0 Align 4 SSZ004C4688_No_character_to_change_password_: db 'No character to change password on.',0 SSZ004C46AC_Changing_password____: db 'Changing password... ',0 Align 4 SSZ004C46C4_Passwords_do_not_match_: db 'Passwords do not match!',0 L004C46DC: db 6Eh; 'n' db 6Fh; 'o' db 00h; db 00h; L004C46E0: db 79h; 'y' db 65h; 'e' db 73h; 's' db 00h; SSZ004C46E4_Couldn_t_connect_to_Ultima_Onlin: db 'Couldn',27h,'t connect to Ultima Online. Please try again in a few moments.',0 Align 4 SSZ004C472C_Connecting____: db 'Connecting... ',0 Align 4 L004C473C: db 6Fh; 'o' db 66h; 'f' db 66h; 'f' db 00h; L004C4740: db 6Fh; 'o' db 6Eh; 'n' db 00h; db 00h; SSZ004C4744_RE___s: db 'RE: %s',0 Align 4 SSZ004C474C_Documentation_not_found_: db 'Documentation not found!',0 Align 4 SSZ004C4768_www_owo_com: db 'www.owo.com',0 SSZ004C4774_ultima_registration_com: db 'ultima-registration.com',0 SSZ004C478C_Setup_program_not_found___Make_s: db 'Setup program not found. Make sure you have your UO cd in the drive.',0 Align 4 SSZ004C47D4_setup_exe_splash: db 'setup.exe splash',0 Align 4 SSZ004C47E8_CD_path_not_found_: db 'CD path not found!',0 Align 4 SSZ004C47FC_Wizard: db 'Wizard',0 Align 4 SSZ004C4804_Warrior: db 'Warrior',0 SSZ004C480C_Trader: db 'Trader',0 Align 4 SSZ004C4814_Tinker: db 'Tinker',0 Align 4 SSZ004C481C_Thief: db 'Thief',0 Align 4 SSZ004C4824_Shepherd: db 'Shepherd',0 Align 4 SSZ004C4830_Ranger: db 'Ranger',0 Align 4 SSZ004C4838_Healer: db 'Healer',0 Align 4 SSZ004C4840_Bowyer: db 'Bowyer',0 Align 4 SSZ004C4848_Blacksmith: db 'Blacksmith',0 Align 4 SSZ004C4854_Bard: db 'Bard',0 Align 4 SSZ004C485C_Assassin: db 'Assassin',0 Align 4 SSZ004C4868_Animal_Handler: db 'Animal Handler',0 Align 4 SSZ004C4878_Alchemist: db 'Alchemist',0 Align 4 SSZ004C4884_Topknot: db 'Topknot',0 SSZ004C488C_2_Tails: db '2 Tails',0 SSZ004C4894_Receding: db 'Receding',0 Align 4 SSZ004C48A0_Curly: db 'Curly',0 Align 4 SSZ004C48A8_Buns: db 'Buns',0 Align 4 SSZ004C48B0_Pageboy: db 'Pageboy',0 SSZ004C48B8_Mohawk: db 'Mohawk',0 Align 4 SSZ004C48C0_Pony_tail: db 'Pony tail',0 Align 4 SSZ004C48CC_Long: db 'Long',0 Align 4 SSZ004C48D4_Short: db 'Short',0 Align 4 SSZ004C48DC_NONE: db 'NONE',0 Align 4 SSZ004C48E4_Vandyke: db 'Vandyke',0 SSZ004C48EC_Long_beard_moustache: db 'Long beard/moustache',0 Align 4 SSZ004C4904_Short_beard_moustache: db 'Short beard/moustache',0 Align 4 SSZ004C491C_Moustache: db 'Moustache',0 Align 4 SSZ004C4928_Short_beard: db 'Short beard',0 SSZ004C4934_Long_beard: db 'Long beard',0 Align 4 SSZ004C4940_Goatee: db 'Goatee',0 Align 4 SSZ004C4948_gump_background: db 'gump background',0 SSZ004C4958_tutorial_skill_02d_tga: db 'tutorial\skill%02d.tga',0 Align 4 SSZ004C4970_Must_choose_one_to_continue_: db 'Must choose one to continue.',0 Align 4 SSZ004C4990_Passwords_did_not_match_: db 'Passwords did not match!',0 Align 4 SSZ004C49AC_Password_incorrect_: db 'Password incorrect!',0 SSZ004C49C0_framedata_for_CButtonGump: db 'framedata for CButtonGump',0 Align 4 SSZ004C49DC_Button_gump: db 'Button gump',0 SSZ004C49E8_ButtonGump_framedata: db 'ButtonGump framedata',0 Align 4 SSZ004C4A00_ButtonGump_frame1_pBMP: db 'ButtonGump frame1 pBMP',0 Align 4 SSZ004C4A18_ButtonGump_frame0_pBMP: db 'ButtonGump frame0 pBMP',0 Align 4 SSZ004C4A30_framedata_for_CThumbGump: db 'framedata for CThumbGump',0 Align 4 SSZ004C4A4C_Thumb_gump: db 'Thumb gump',0 Align 4 L004C4A58: dd SSZ004C4BD4_NW__top_ dd SSZ004C4BC4_N__topright_ dd SSZ004C4BB8_NE__right_ dd SSZ004C4BA8_E__bottomright_ dd SSZ004C4B9C_SE__bottom_ dd SSZ004C4B8C_S__bottomleft_ dd SSZ004C4B80_SW__left_ dd SSZ004C4B74_W__topleft_ L004C4A78: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L004C4A80: dd L004C4B70 dd L004C4B6C dd L004C4B68 dd L004C4B64 dd L004C4B60 dd L004C4B5C dd L004C4B58 dd L004C4B54 L004C4AA0: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L004C4AA8: dd SSZ004C4B44_Configuration L004C4AAC: dd SSZ004C4B38_Paperdoll dd SSZ004C4B30_Status dd SSZ004C4B28_Journal dd SSZ004C4B20_Skills dd SSZ004C4B14_Spellbook dd SSZ004C4B0C_Chat dd SSZ004C4B00_Backpack dd SSZ004C4AF4_Overview db 00h; db 00h; db 00h; db 00h; L004C4AD0: dd 00000001h db 01h; db 00h; db 00h; db 00h; db 01h; db 00h; db 00h; db 00h; db 01h; db 00h; db 00h; db 00h; db 01h; db 00h; db 00h; db 00h; db 01h; db 00h; db 00h; db 00h; db 01h; db 00h; db 00h; db 00h; db 01h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; SSZ004C4AF4_Overview: db 'Overview',0 Align 4 SSZ004C4B00_Backpack: db 'Backpack',0 Align 4 SSZ004C4B0C_Chat: db 'Chat',0 Align 4 SSZ004C4B14_Spellbook: db 'Spellbook',0 Align 4 SSZ004C4B20_Skills: db 'Skills',0 Align 4 SSZ004C4B28_Journal: db 'Journal',0 SSZ004C4B30_Status: db 'Status',0 Align 4 SSZ004C4B38_Paperdoll: db 'Paperdoll',0 Align 4 SSZ004C4B44_Configuration: db 'Configuration',0 Align 4 L004C4B54: db 57h; 'W' db 00h; db 00h; db 00h; L004C4B58: db 53h; 'S' db 57h; 'W' db 00h; db 00h; L004C4B5C: db 53h; 'S' db 00h; db 00h; db 00h; L004C4B60: db 53h; 'S' db 45h; 'E' db 00h; db 00h; L004C4B64: db 45h; 'E' db 00h; db 00h; db 00h; L004C4B68: db 4Eh; 'N' db 45h; 'E' db 00h; db 00h; L004C4B6C: db 4Eh; 'N' db 00h; db 00h; db 00h; L004C4B70: db 4Eh; 'N' db 57h; 'W' db 00h; db 00h; SSZ004C4B74_W__topleft_: db 'W (topleft)',0 SSZ004C4B80_SW__left_: db 'SW (left)',0 Align 4 SSZ004C4B8C_S__bottomleft_: db 'S (bottomleft)',0 Align 4 SSZ004C4B9C_SE__bottom_: db 'SE (bottom)',0 SSZ004C4BA8_E__bottomright_: db 'E (bottomright)',0 SSZ004C4BB8_NE__right_: db 'NE (right)',0 Align 4 SSZ004C4BC4_N__topright_: db 'N (topright)',0 Align 4 SSZ004C4BD4_NW__top_: db 'NW (top)',0 Align 4 SSZ004C4BE0_Click_to_edit_Profanity_List: db 'Click to edit Profanity List',0 Align 4 SSZ004C4C00__new_: db '(new)',0 Align 4 SSZ004C4C08_cfg_frame1: db 'cfg frame1',0 Align 4 SSZ004C4C14_cfg_frame0: db 'cfg frame0',0 Align 4 SSZ004C4C20_togglectrl_frame0: db 'togglectrl frame0',0 Align 4 SSZ004C4C34_framedata_for_CToggleControlGump: db 'framedata for CToggleControlGump',0 Align 4 SSZ004C4C58_ToggleControl_gump: db 'ToggleControl gump',0 Align 4 SSZ004C4C6C_ToggleControl_framedata: db 'ToggleControl framedata',0 SSZ004C4C84_ToggleControl_frame0_pBMP: db 'ToggleControl frame0 pBMP',0 Align 4 SSZ004C4CA0_framedata_for_CEditListGump: db 'framedata for CEditListGump',0 SSZ004C4CBC_edit_list_gump: db 'edit list gump',0 Align 4 SSZ004C4CCC_editlist_framedata: db 'editlist framedata',0 Align 4 SSZ004C4CE0_editlist_frame0_pBMP: db 'editlist frame0 pBMP',0 Align 4 SSZ004C4CF8_macrocmd_frame0: db 'macrocmd frame0',0 SSZ004C4D08_macro_cmd_gump: db 'macro cmd gump',0 Align 4 SSZ004C4D18_framedata_for_CMacroCmdGump: db 'framedata for CMacroCmdGump',0 SSZ004C4D34_macro_cmd_framedata: db 'macro cmd framedata',0 SSZ004C4D48_macro_cmd_frame0_pBMP: db 'macro cmd frame0 pBMP',0 Align 4 SSZ004C4D60__NONE_: db '(NONE)',0 Align 4 SSZ004C4D68_framedata_for_CMacroListGump: db 'framedata for CMacroListGump',0 Align 4 SSZ004C4D88_macro_list_gump: db 'macro list gump',0 SSZ004C4D98_MacroList_framedata: db 'MacroList framedata',0 SSZ004C4DAC_MacroList_frame0_pBMP: db 'MacroList frame0 pBMP',0 db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L004C4DC8: dd 00000005h db 06h; db 00h; db 00h; db 00h; db 08h; db 00h; db 00h; db 00h; db 0Dh; db 00h; db 00h; db 00h; db 0Eh; db 00h; db 00h; db 00h; L004C4DDC: dd FFFFFFFFh L004C4DE0: dd SSZ004C4ED0_tutorial_1gen_tga dd SSZ004C4EBC_tutorial_2gen_tga dd SSZ004C4EA8_tutorial_3gen_tga dd SSZ004C4E94_tutorial_4gen_tga dd SSZ004C4E80_tutorial_5gen_tga dd SSZ004C4E6C_tutorial_6gen_tga dd L004C4E68 dd L004C4E64 dd L004C4E60 dd L004D77C0 L004C4E08: dd SSZ004C4E58_1gen dd SSZ004C4E50_2gen dd SSZ004C4E48_3gen dd SSZ004C4E40_4gen dd SSZ004C4E38_5gen dd SSZ004C4E30_6gen dd L004C4E68 dd L004C4E64 dd L004C4E60 dd L004D77C0 SSZ004C4E30_6gen: db '6gen',0 Align 4 SSZ004C4E38_5gen: db '5gen',0 Align 4 SSZ004C4E40_4gen: db '4gen',0 Align 4 SSZ004C4E48_3gen: db '3gen',0 Align 4 SSZ004C4E50_2gen: db '2gen',0 Align 4 SSZ004C4E58_1gen: db '1gen',0 Align 4 L004C4E60: db 33h; '3' db 00h; db 00h; db 00h; L004C4E64: db 32h; '2' db 00h; db 00h; db 00h; L004C4E68: db 31h; '1' db 00h; db 00h; db 00h; SSZ004C4E6C_tutorial_6gen_tga: db 'tutorial\6gen.tga',0 Align 4 SSZ004C4E80_tutorial_5gen_tga: db 'tutorial\5gen.tga',0 Align 4 SSZ004C4E94_tutorial_4gen_tga: db 'tutorial\4gen.tga',0 Align 4 SSZ004C4EA8_tutorial_3gen_tga: db 'tutorial\3gen.tga',0 Align 4 SSZ004C4EBC_tutorial_2gen_tga: db 'tutorial\2gen.tga',0 Align 4 SSZ004C4ED0_tutorial_1gen_tga: db 'tutorial\1gen.tga',0 Align 4 SSZ004C4EE4_dumb_frame0: db 'dumb frame0',0 SSZ004C4EF0_framedata_for_CDumbGump: db 'framedata for CDumbGump',0 SSZ004C4F08_CharCreation_gump: db 'CharCreation gump',0 Align 4 SSZ004C4F1C_CharCreation_framedata: db 'CharCreation framedata',0 Align 4 SSZ004C4F34_CharCreation_frame0_pBMP: db 'CharCreation frame0 pBMP',0 Align 4 SSZ004C4F50_charstat_frame0: db 'charstat frame0',0 SSZ004C4F60_framedata_for_CCharStatGump: db 'framedata for CCharStatGump',0 SSZ004C4F7C_CharStat_gump: db 'CharStat gump',0 Align 4 SSZ004C4F8C_CharStat_framedata: db 'CharStat framedata',0 Align 4 SSZ004C4FA0_CharStat_frame0_pBMP: db 'CharStat frame0 pBMP',0 Align 4 SSZ004C4FB8_initskill_frame0: db 'initskill frame0',0 Align 4 SSZ004C4FCC_framedata_for_CInitSkillGump: db 'framedata for CInitSkillGump',0 Align 4 SSZ004C4FEC_InitSkill_gump: db 'InitSkill gump',0 Align 4 SSZ004C4FFC_InitSkill_framedata: db 'InitSkill framedata',0 SSZ004C5010_InitSkill_frame0_pBMP: db 'InitSkill frame0 pBMP',0 Align 4 SSZ004C5028_text_frame0: db 'text frame0',0 SSZ004C5034_framedata_for_CScrollChoiceGump: db 'framedata for CScrollChoiceGump',0 SSZ004C5054_scrollchoice_gump: db 'scrollchoice gump',0 Align 4 SSZ004C5068_Missing_gump_: db 'Missing gump!',0 Align 4 SSZ004C5078_scrollchoice_framedata: db 'scrollchoice framedata',0 Align 4 SSZ004C5090_scrollchoice_frame0_pBMP: db 'scrollchoice frame0 pBMP',0 Align 4 SSZ004C50AC_inpctrl_frame0: db 'inpctrl frame0',0 Align 4 SSZ004C50BC_framedata_for_CInputControlGump: db 'framedata for CInputControlGump',0 SSZ004C50DC_InputControl_gump: db 'InputControl gump',0 Align 4 SSZ004C50F0_InputControl_framedata: db 'InputControl framedata',0 Align 4 SSZ004C5108_InputControl_frame0_pBMP: db 'InputControl frame0 pBMP',0 Align 4 SSZ004C5124_Select_a_player_: db 'Select a player.',0 Align 4 SSZ004C5138_Not_a_mobile_: db 'Not a mobile.',0 Align 4 SSZ004C5148__mobile_: db '(mobile)',0 Align 4 SSZ004C5154_framedata_for_CListBoxControlGum: db 'framedata for CListBoxControlGump',0 Align 4 SSZ004C5178_ListBoxControl_gump: db 'ListBoxControl gump',0 SSZ004C518C_ListBoxControl_framedata: db 'ListBoxControl framedata',0 Align 4 SSZ004C51A8_ListBoxControl_frame0_pBMP: db 'ListBoxControl frame0 pBMP',0 Align 4 SSZ004C51C4_listboxctrl_frame0: db 'listboxctrl frame0',0 Align 4 SSZ004C51D8_Login_gump: db 'Login gump',0 Align 4 SSZ004C51E4_Login_framedata: db 'Login framedata',0 SSZ004C51F4_Login_frame0_pBMP: db 'Login frame0 pBMP',0 Align 4 SSZ004C5208_framedata_for_CAcctLoginGump: db 'framedata for CAcctLoginGump',0 Align 4 SSZ004C5228_AcctLogin_gump: db 'AcctLogin gump',0 Align 4 SSZ004C5238_AcctLogin_framedata: db 'AcctLogin framedata',0 SSZ004C524C_AcctLogin_frame0_pBMP: db 'AcctLogin frame0 pBMP',0 Align 4 SSZ004C5264_Verify_Password: db 'Verify Password',0 SSZ004C5274_New_Password: db 'New Password',0 Align 4 SSZ004C5284_Old_Password: db 'Old Password',0 Align 4 SSZ004C5294_framedata_for_CChgPWGump: db 'framedata for CChgPWGump',0 Align 4 SSZ004C52B0_ChgPW_gump: db 'ChgPW gump',0 Align 4 SSZ004C52BC_ChgPW_framedata: db 'ChgPW framedata',0 SSZ004C52CC_ChgPW_frame0_pBMP: db 'ChgPW frame0 pBMP',0 Align 4 SSZ004C52E0_Permanently_delete__s_: db 'Permanently delete %s?',0 Align 4 SSZ004C52F8_Password: db 'Password',0 Align 4 SSZ004C5304_framedata_for_CDeleteCharGump: db 'framedata for CDeleteCharGump',0 Align 4 SSZ004C5324_DeleteChar_gump: db 'DeleteChar gump',0 SSZ004C5334_DeleteChar_framedata: db 'DeleteChar framedata',0 Align 4 SSZ004C534C_DeleteChar_frame0_pBMP: db 'DeleteChar frame0 pBMP',0 Align 4 SSZ004C5364_Play_as__s_: db 'Play as %s?',0 SSZ004C5370_framedata_for_CPlayCharGump: db 'framedata for CPlayCharGump',0 SSZ004C538C_PlayChar_gump: db 'PlayChar gump',0 Align 4 SSZ004C539C_PlayChar_framedata: db 'PlayChar framedata',0 Align 4 SSZ004C53B0_PlayChar_frame0_pBMP: db 'PlayChar frame0 pBMP',0 Align 4 SSZ004C53C8_framedata_for_CYesNoGump: db 'framedata for CYesNoGump',0 Align 4 SSZ004C53E4_YesNo_gump: db 'YesNo gump',0 Align 4 SSZ004C53F0_YesNo_framedata: db 'YesNo framedata',0 SSZ004C5400_YesNo_frame0_pBMP: db 'YesNo frame0 pBMP',0 Align 4 SSZ004C5414_MainMenu_gump: db 'MainMenu gump',0 Align 4 SSZ004C5424_MainMenu_framedata: db 'MainMenu framedata',0 Align 4 SSZ004C5438_MainMenu_frame0_pBMP: db 'MainMenu frame0 pBMP',0 Align 4 SSZ004C5450_Unknown_Server: db 'Unknown Server',0 Align 4 SSZ004C5460_Standalone_Server: db 'Standalone Server',0 Align 4 SSZ004C5474_framedata_for_CCityChoiceGump: db 'framedata for CCityChoiceGump',0 Align 4 SSZ004C5494_CityChoice_gump: db 'CityChoice gump',0 SSZ004C54A4_CityChoice_framedata: db 'CityChoice framedata',0 Align 4 SSZ004C54BC_CityChoice_frame0_pBMP: db 'CityChoice frame0 pBMP',0 Align 4 L004C54D4: db 2Ah; '*' db 00h; db 00h; db 00h; SSZ004C54D8_tutorial_gump: db 'tutorial gump',0 Align 4 SSZ004C54E8_tutorial_framedata: db 'tutorial framedata',0 Align 4 SSZ004C54FC_tutorial_frame0_pBMP: db 'tutorial frame0 pBMP',0 Align 4 SSZ004C5514_skill_02d: db 'skill%02d',0 Align 4 L004C5520: dd 00007C1Fh L004C5524: dd 00007FFFh L004C5528: dd 00007FE0h SSZ004C552C_ChatDialog_framedata: db 'ChatDialog framedata',0 Align 4 SSZ004C5544_ChatDialog_frame0: db 'ChatDialog frame0',0 Align 4 L004C5558: dd 00000100h L004C555C: dd FFFFFFFFh SSZ004C5560_chat: db 'chat',0 Align 4 SSZ004C5568_ChatGump_frame1: db 'ChatGump frame1',0 SSZ004C5578_ChatGump_framedata: db 'ChatGump framedata',0 Align 4 SSZ004C558C_ChatBorder_frame0: db 'ChatBorder frame0',0 Align 4 SSZ004C55A0_ChatBorder_framedata: db 'ChatBorder framedata',0 Align 4 SSZ004C55B8_ChatScrollBar_frame0: db 'ChatScrollBar frame0',0 Align 4 SSZ004C55D0_ChatScrollBar_framedata: db 'ChatScrollBar framedata',0 L004C55E8: dd 00000006h SSZ004C55EC_ChatTextBox_frame0: db 'ChatTextBox frame0',0 Align 4 SSZ004C5600_ChatTextBox_framedata: db 'ChatTextBox framedata',0 Align 4 L004C5618: db 5Fh; '_' db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L004C5620: dd 0000001Eh L004C5624: db 01h; db 00h; db 00h; db 00h; L004C5628: db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' L004C562C: dd 000003E0h L004C5630: dd SSZ004C61A4_CdRomDataPath L004C5634: db 00h; db 00h; db 00h; db 00h; db 98h; '?' db 61h; 'a' db 4Ch; 'L' db 00h; db 01h; db 00h; db 00h; db 00h; db 90h; '?' db 61h; 'a' db 4Ch; 'L' db 00h; db 02h; db 00h; db 00h; db 00h; db 84h; '"' db 61h; 'a' db 4Ch; 'L' db 00h; db 03h; db 00h; db 00h; db 00h; db F8h; 'è' db 52h; 'R' db 4Ch; 'L' db 00h; db 04h; db 00h; db 00h; db 00h; db 7Ch; '|' db 61h; 'a' db 4Ch; 'L' db 00h; db 05h; db 00h; db 00h; db 00h; db 70h; 'p' db 61h; 'a' db 4Ch; 'L' db 00h; db 06h; db 00h; db 00h; db 00h; db 68h; 'h' db 61h; 'a' db 4Ch; 'L' db 00h; db 07h; db 00h; db 00h; db 00h; db 5Ch; '\' db 61h; 'a' db 4Ch; 'L' db 00h; db 08h; db 00h; db 00h; db 00h; db 4Ch; 'L' db 61h; 'a' db 4Ch; 'L' db 00h; db 09h; db 00h; db 00h; db 00h; db 40h; '@' db 61h; 'a' db 4Ch; 'L' db 00h; db 0Ah; db 00h; db 00h; db 00h; db 30h; '0' db 61h; 'a' db 4Ch; 'L' db 00h; db 0Bh; db 00h; db 00h; db 00h; db 24h; '$' db 61h; 'a' db 4Ch; 'L' db 00h; db 0Ch; db 00h; db 00h; db 00h; db 14h; db 61h; 'a' db 4Ch; 'L' db 00h; db 0Dh; db 00h; db 00h; db 00h; db 04h; db 61h; 'a' db 4Ch; 'L' db 00h; db 0Eh; db 00h; db 00h; db 00h; db F4h; 'ä' db 60h; '`' db 4Ch; 'L' db 00h; db 0Fh; db 00h; db 00h; db 00h; db E8h; '¨' db 60h; '`' db 4Ch; 'L' db 00h; db 10h; db 00h; db 00h; db 00h; db D8h; '˜' db 60h; '`' db 4Ch; 'L' db 00h; db 11h; db 00h; db 00h; db 00h; db C0h; '€' db 60h; '`' db 4Ch; 'L' db 00h; db 12h; db 00h; db 00h; db 00h; db B4h; '?' db 60h; '`' db 4Ch; 'L' db 00h; db 13h; db 00h; db 00h; db 00h; db ACh; '¿' db 60h; '`' db 4Ch; 'L' db 00h; db 14h; db 00h; db 00h; db 00h; db 9Ch; '?' db 60h; '`' db 4Ch; 'L' db 00h; db 15h; db 00h; db 00h; db 00h; db 94h; '"' db 60h; '`' db 4Ch; 'L' db 00h; db 16h; db 00h; db 00h; db 00h; db 88h; '?' db 60h; '`' db 4Ch; 'L' db 00h; db 17h; db 00h; db 00h; db 00h; db 7Ch; '|' db 60h; '`' db 4Ch; 'L' db 00h; db 19h; db 00h; db 00h; db 00h; db 68h; 'h' db 60h; '`' db 4Ch; 'L' db 00h; db 18h; db 00h; db 00h; db 00h; db 58h; 'X' db 60h; '`' db 4Ch; 'L' db 00h; db 1Ah; db 00h; db 00h; db 00h; db 48h; 'H' db 60h; '`' db 4Ch; 'L' db 00h; db 1Bh; db 00h; db 00h; db 00h; db 3Ch; '<' db 60h; '`' db 4Ch; 'L' db 00h; db 1Ch; db 00h; db 00h; db 00h; db 28h; '(' db 60h; '`' db 4Ch; 'L' db 00h; db 1Dh; db 00h; db 00h; db 00h; db 20h; ' ' db 60h; '`' db 4Ch; 'L' db 00h; db 1Eh; db 00h; db 00h; db 00h; db 10h; db 60h; '`' db 4Ch; 'L' db 00h; db 1Fh; db 00h; db 00h; db 00h; db 00h; db 60h; '`' db 4Ch; 'L' db 00h; db 20h; ' ' db 00h; db 00h; db 00h; db F0h; 'à' db 5Fh; '_' db 4Ch; 'L' db 00h; db 21h; '!' db 00h; db 00h; db 00h; db E4h; '¤' db 5Fh; '_' db 4Ch; 'L' db 00h; db 22h; '"' db 00h; db 00h; db 00h; db DCh; 'œ' db 5Fh; '_' db 4Ch; 'L' db 00h; db 24h; '$' db 00h; db 00h; db 00h; db D0h; '' db 5Fh; '_' db 4Ch; 'L' db 00h; db 23h; '#' db 00h; db 00h; db 00h; db C4h; '„' db 5Fh; '_' db 4Ch; 'L' db 00h; db 25h; '%' db 00h; db 00h; db 00h; db B4h; '?' db 5Fh; '_' db 4Ch; 'L' db 00h; db 26h; '&' db 00h; db 00h; db 00h; db A8h; 'ð' db 5Fh; '_' db 4Ch; 'L' db 00h; db 27h; ''' db 00h; db 00h; db 00h; db 98h; '?' db 5Fh; '_' db 4Ch; 'L' db 00h; db 28h; '(' db 00h; db 00h; db 00h; db 84h; '"' db 5Fh; '_' db 4Ch; 'L' db 00h; db 29h; ')' db 00h; db 00h; db 00h; db 74h; 't' db 5Fh; '_' db 4Ch; 'L' db 00h; db 2Ah; '*' db 00h; db 00h; db 00h; db 64h; 'd' db 5Fh; '_' db 4Ch; 'L' db 00h; db 2Bh; '+' db 00h; db 00h; db 00h; db 50h; 'P' db 5Fh; '_' db 4Ch; 'L' db 00h; db 2Ch; ',' db 00h; db 00h; db 00h; db 40h; '@' db 5Fh; '_' db 4Ch; 'L' db 00h; db 2Dh; '-' db 00h; db 00h; db 00h; db 34h; '4' db 5Fh; '_' db 4Ch; 'L' db 00h; db 2Eh; '.' db 00h; db 00h; db 00h; db 28h; '(' db 5Fh; '_' db 4Ch; 'L' db 00h; db 2Fh; '/' db 00h; db 00h; db 00h; db 1Ch; db 5Fh; '_' db 4Ch; 'L' db 00h; db 30h; '0' db 00h; db 00h; db 00h; db 14h; db 5Fh; '_' db 4Ch; 'L' db 00h; db 31h; '1' db 00h; db 00h; db 00h; db 08h; db 5Fh; '_' db 4Ch; 'L' db 00h; db 32h; '2' db 00h; db 00h; db 00h; db F4h; 'ä' db 5Eh; '^' db 4Ch; 'L' db 00h; db 33h; '3' db 00h; db 00h; db 00h; db E4h; '¤' db 5Eh; '^' db 4Ch; 'L' db 00h; db 34h; '4' db 00h; db 00h; db 00h; db D4h; '”' db 5Eh; '^' db 4Ch; 'L' db 00h; db 35h; '5' db 00h; db 00h; db 00h; db C4h; '„' db 5Eh; '^' db 4Ch; 'L' db 00h; db 36h; '6' db 00h; db 00h; db 00h; db B4h; '?' db 5Eh; '^' db 4Ch; 'L' db 00h; db 37h; '7' db 00h; db 00h; db 00h; db A0h; 'ÿ' db 5Eh; '^' db 4Ch; 'L' db 00h; db 38h; '8' db 00h; db 00h; db 00h; db 94h; '"' db 5Eh; '^' db 4Ch; 'L' db 00h; db 39h; '9' db 00h; db 00h; db 00h; db 7Ch; '|' db 5Eh; '^' db 4Ch; 'L' db 00h; db 3Ah; ':' db 00h; db 00h; db 00h; db 6Ch; 'l' db 5Eh; '^' db 4Ch; 'L' db 00h; db 3Bh; ';' db 00h; db 00h; db 00h; db 5Ch; '\' db 5Eh; '^' db 4Ch; 'L' db 00h; db 3Ch; '<' db 00h; db 00h; db 00h; db 50h; 'P' db 5Eh; '^' db 4Ch; 'L' db 00h; db 3Dh; '=' db 00h; db 00h; db 00h; db 40h; '@' db 5Eh; '^' db 4Ch; 'L' db 00h; db 3Eh; '>' db 00h; db 00h; db 00h; db 2Ch; ',' db 5Eh; '^' db 4Ch; 'L' db 00h; db 3Fh; '?' db 00h; db 00h; db 00h; db 18h; db 5Eh; '^' db 4Ch; 'L' db 00h; db 40h; '@' db 00h; db 00h; db 00h; db 04h; db 5Eh; '^' db 4Ch; 'L' db 00h; db 41h; 'A' db 00h; db 00h; db 00h; db F0h; 'à' db 5Dh; ']' db 4Ch; 'L' db 00h; db 42h; 'B' db 00h; db 00h; db 00h; db DCh; 'œ' db 5Dh; ']' db 4Ch; 'L' db 00h; db 43h; 'C' db 00h; db 00h; db 00h; db C8h; 'ˆ' db 5Dh; ']' db 4Ch; 'L' db 00h; db 44h; 'D' db 00h; db 00h; db 00h; db B8h; 'ñ' db 5Dh; ']' db 4Ch; 'L' db 00h; db 45h; 'E' db 00h; db 00h; db 00h; db A8h; 'ð' db 5Dh; ']' db 4Ch; 'L' db 00h; db 46h; 'F' db 00h; db 00h; db 00h; db 94h; '"' db 5Dh; ']' db 4Ch; 'L' db 00h; db 47h; 'G' db 00h; db 00h; db 00h; db 84h; '"' db 5Dh; ']' db 4Ch; 'L' db 00h; db 48h; 'H' db 00h; db 00h; db 00h; db 6Ch; 'l' db 5Dh; ']' db 4Ch; 'L' db 00h; db 49h; 'I' db 00h; db 00h; db 00h; db 48h; 'H' db 5Dh; ']' db 4Ch; 'L' db 00h; db 4Ah; 'J' db 00h; db 00h; db 00h; db 28h; '(' db 5Dh; ']' db 4Ch; 'L' db 00h; db 4Bh; 'K' db 00h; db 00h; db 00h; db 0Ch; db 5Dh; ']' db 4Ch; 'L' db 00h; db 4Ch; 'L' db 00h; db 00h; db 00h; db F4h; 'ä' db 5Ch; '\' db 4Ch; 'L' db 00h; db 4Dh; 'M' db 00h; db 00h; db 00h; db D8h; '˜' db 5Ch; '\' db 4Ch; 'L' db 00h; db 4Eh; 'N' db 00h; db 00h; db 00h; db BCh; '?' db 5Ch; '\' db 4Ch; 'L' db 00h; db 4Fh; 'O' db 00h; db 00h; db 00h; db ACh; '¿' db 5Ch; '\' db 4Ch; 'L' db 00h; db 50h; 'P' db 00h; db 00h; db 00h; db 9Ch; '?' db 5Ch; '\' db 4Ch; 'L' db 00h; db 51h; 'Q' db 00h; db 00h; db 00h; db 8Ch; '?' db 5Ch; '\' db 4Ch; 'L' db 00h; db 52h; 'R' db 00h; db 00h; db 00h; db 7Ch; '|' db 5Ch; '\' db 4Ch; 'L' db 00h; db 53h; 'S' db 00h; db 00h; db 00h; db 6Ch; 'l' db 5Ch; '\' db 4Ch; 'L' db 00h; db 54h; 'T' db 00h; db 00h; db 00h; db 5Ch; '\' db 5Ch; '\' db 4Ch; 'L' db 00h; db 55h; 'U' db 00h; db 00h; db 00h; db 44h; 'D' db 5Ch; '\' db 4Ch; 'L' db 00h; db 56h; 'V' db 00h; db 00h; db 00h; db 2Ch; ',' db 5Ch; '\' db 4Ch; 'L' db 00h; db 57h; 'W' db 00h; db 00h; db 00h; db 14h; db 5Ch; '\' db 4Ch; 'L' db 00h; db 58h; 'X' db 00h; db 00h; db 00h; db FCh; 'ì' db 5Bh; '[' db 4Ch; 'L' db 00h; db 59h; 'Y' db 00h; db 00h; db 00h; db E8h; '¨' db 5Bh; '[' db 4Ch; 'L' db 00h; db 5Ah; 'Z' db 00h; db 00h; db 00h; db D0h; '' db 5Bh; '[' db 4Ch; 'L' db 00h; db 5Bh; '[' db 00h; db 00h; db 00h; db BCh; '?' db 5Bh; '[' db 4Ch; 'L' db 00h; db 5Ch; '\' db 00h; db 00h; db 00h; db B0h; 'ø' db 5Bh; '[' db 4Ch; 'L' db 00h; db 5Dh; ']' db 00h; db 00h; db 00h; db A0h; 'ÿ' db 5Bh; '[' db 4Ch; 'L' db 00h; db 5Fh; '_' db 00h; db 00h; db 00h; db 94h; '"' db 5Bh; '[' db 4Ch; 'L' db 00h; db 5Eh; '^' db 00h; db 00h; db 00h; db 80h; '?' db 5Bh; '[' db 4Ch; 'L' db 00h; db 60h; '`' db 00h; db 00h; db 00h; db 6Ch; 'l' db 5Bh; '[' db 4Ch; 'L' db 00h; db 61h; 'a' db 00h; db 00h; db 00h; db 58h; 'X' db 5Bh; '[' db 4Ch; 'L' db 00h; db 62h; 'b' db 00h; db 00h; db 00h; db 44h; 'D' db 5Bh; '[' db 4Ch; 'L' db 00h; db 63h; 'c' db 00h; db 00h; db 00h; db 30h; '0' db 5Bh; '[' db 4Ch; 'L' db 00h; db 64h; 'd' db 00h; db 00h; db 00h; db 20h; ' ' db 5Bh; '[' db 4Ch; 'L' db 00h; db 65h; 'e' db 00h; db 00h; db 00h; db 0Ch; db 5Bh; '[' db 4Ch; 'L' db 00h; db 66h; 'f' db 00h; db 00h; db 00h; db 00h; db 5Bh; '[' db 4Ch; 'L' db 00h; db 67h; 'g' db 00h; db 00h; db 00h; db F4h; 'ä' db 5Ah; 'Z' db 4Ch; 'L' db 00h; db 68h; 'h' db 00h; db 00h; db 00h; db E0h; ' ' db 5Ah; 'Z' db 4Ch; 'L' db 00h; db 69h; 'i' db 00h; db 00h; db 00h; db CCh; 'Œ' db 5Ah; 'Z' db 4Ch; 'L' db 00h; db 6Ah; 'j' db 00h; db 00h; db 00h; db B0h; 'ø' db 5Ah; 'Z' db 4Ch; 'L' db 00h; db 6Bh; 'k' db 00h; db 00h; db 00h; db 90h; '?' db 5Ah; 'Z' db 4Ch; 'L' db 00h; db 6Ch; 'l' db 00h; db 00h; db 00h; db 6Ch; 'l' db 5Ah; 'Z' db 4Ch; 'L' db 00h; db 6Dh; 'm' db 00h; db 00h; db 00h; db 40h; '@' db 5Ah; 'Z' db 4Ch; 'L' db 00h; db 6Eh; 'n' db 00h; db 00h; db 00h; db 18h; db 5Ah; 'Z' db 4Ch; 'L' db 00h; db 6Fh; 'o' db 00h; db 00h; db 00h; db FCh; 'ì' db 59h; 'Y' db 4Ch; 'L' db 00h; db 70h; 'p' db 00h; db 00h; db 00h; db E8h; '¨' db 59h; 'Y' db 4Ch; 'L' db 00h; db 72h; 'r' db 00h; db 00h; db 00h; db DCh; 'œ' db 59h; 'Y' db 4Ch; 'L' db 00h; db 71h; 'q' db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 73h; 's' db 00h; db 00h; db 00h; L004C59D0: dd 00000001h L004C59D4: db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' L004C59D8: db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 53h; 'S' db 70h; 'p' db 61h; 'a' db 6Dh; 'm' db 4Ch; 'L' db 69h; 'i' db 6Dh; 'm' db 69h; 'i' db 74h; 't' db 00h; db 00h; db 00h; db 41h; 'A' db 6Ch; 'l' db 6Ch; 'l' db 6Fh; 'o' db 77h; 'w' db 57h; 'W' db 69h; 'i' db 6Eh; 'n' db 64h; 'd' db 6Fh; 'o' db 77h; 'w' db 52h; 'R' db 65h; 'e' db 73h; 's' db 69h; 'i' db 7Ah; 'z' db 65h; 'e' db 00h; db 00h; db 00h; SSZ004C59FC_TranslationServerAutomatic: db 'TranslationServerAutomatic',0 db 00h; db 54h; 'T' db 72h; 'r' db 61h; 'a' db 6Eh; 'n' db 73h; 's' db 6Ch; 'l' db 61h; 'a' db 74h; 't' db 69h; 'i' db 6Fh; 'o' db 6Eh; 'n' db 53h; 'S' db 65h; 'e' db 72h; 'r' db 76h; 'v' db 65h; 'e' db 72h; 'r' db 53h; 'S' db 79h; 'y' db 73h; 's' db 74h; 't' db 72h; 'r' db 61h; 'a' db 6Eh; 'n' db 44h; 'D' db 6Fh; 'o' db 63h; 'c' db 75h; 'u' db 6Dh; 'm' db 65h; 'e' db 6Eh; 'n' db 74h; 't' db 54h; 'T' db 79h; 'y' db 70h; 'p' db 65h; 'e' db 00h; db 00h; db 00h; db 00h; db 54h; 'T' db 72h; 'r' db 61h; 'a' db 6Eh; 'n' db 73h; 's' db 6Ch; 'l' db 61h; 'a' db 74h; 't' db 69h; 'i' db 6Fh; 'o' db 6Eh; 'n' db 53h; 'S' db 65h; 'e' db 72h; 'r' db 76h; 'v' db 65h; 'e' db 72h; 'r' db 53h; 'S' db 79h; 'y' db 73h; 's' db 74h; 't' db 72h; 'r' db 61h; 'a' db 6Eh; 'n' db 54h; 'T' db 6Fh; 'o' db 70h; 'p' db 69h; 'i' db 63h; 'c' db 61h; 'a' db 6Ch; 'l' db 47h; 'G' db 6Ch; 'l' db 6Fh; 'o' db 73h; 's' db 73h; 's' db 61h; 'a' db 72h; 'r' db 69h; 'i' db 65h; 'e' db 73h; 's' db 00h; db 00h; db 00h; db 54h; 'T' db 72h; 'r' db 61h; 'a' db 6Eh; 'n' db 73h; 's' db 6Ch; 'l' db 61h; 'a' db 74h; 't' db 69h; 'i' db 6Fh; 'o' db 6Eh; 'n' db 53h; 'S' db 65h; 'e' db 72h; 'r' db 76h; 'v' db 65h; 'e' db 72h; 'r' db 53h; 'S' db 79h; 'y' db 73h; 's' db 74h; 't' db 72h; 'r' db 61h; 'a' db 6Eh; 'n' db 4Eh; 'N' db 46h; 'F' db 57h; 'W' db 4Dh; 'M' db 61h; 'a' db 72h; 'r' db 6Bh; 'k' db 65h; 'e' db 72h; 'r' db 00h; db 00h; db 00h; db 54h; 'T' db 72h; 'r' db 61h; 'a' db 6Eh; 'n' db 73h; 's' db 6Ch; 'l' db 61h; 'a' db 74h; 't' db 69h; 'i' db 6Fh; 'o' db 6Eh; 'n' db 53h; 'S' db 65h; 'e' db 72h; 'r' db 76h; 'v' db 65h; 'e' db 72h; 'r' db 54h; 'T' db 72h; 'r' db 61h; 'a' db 6Eh; 'n' db 73h; 's' db 6Ch; 'l' db 61h; 'a' db 74h; 't' db 6Fh; 'o' db 72h; 'r' db 4Eh; 'N' db 61h; 'a' db 6Dh; 'm' db 65h; 'e' db 00h; db 54h; 'T' db 72h; 'r' db 61h; 'a' db 6Eh; 'n' db 73h; 's' db 6Ch; 'l' db 61h; 'a' db 74h; 't' db 69h; 'i' db 6Fh; 'o' db 6Eh; 'n' db 53h; 'S' db 65h; 'e' db 72h; 'r' db 76h; 'v' db 65h; 'e' db 72h; 'r' db 49h; 'I' db 50h; 'P' db 41h; 'A' db 64h; 'd' db 64h; 'd' db 72h; 'r' db 65h; 'e' db 73h; 's' db 73h; 's' db 00h; db 00h; db 54h; 'T' db 72h; 'r' db 61h; 'a' db 6Eh; 'n' db 73h; 's' db 6Ch; 'l' db 61h; 'a' db 74h; 't' db 69h; 'i' db 6Fh; 'o' db 6Eh; 'n' db 53h; 'S' db 65h; 'e' db 72h; 'r' db 76h; 'v' db 65h; 'e' db 72h; 'r' db 00h; db 00h; db 00h; db 43h; 'C' db 65h; 'e' db 6Eh; 'n' db 73h; 's' db 6Fh; 'o' db 72h; 'r' db 65h; 'e' db 64h; 'd' db 42h; 'B' db 6Ch; 'l' db 6Fh; 'o' db 6Fh; 'o' db 64h; 'd' db 43h; 'C' db 6Fh; 'o' db 6Ch; 'l' db 6Fh; 'o' db 72h; 'r' db 00h; db 00h; db 43h; 'C' db 65h; 'e' db 6Eh; 'n' db 73h; 's' db 6Fh; 'o' db 72h; 'r' db 42h; 'B' db 6Ch; 'l' db 6Fh; 'o' db 6Fh; 'o' db 64h; 'd' db 00h; db 43h; 'C' db 65h; 'e' db 6Eh; 'n' db 73h; 's' db 6Fh; 'o' db 72h; 'r' db 46h; 'F' db 6Ch; 'l' db 65h; 'e' db 73h; 's' db 68h; 'h' db 00h; SSZ004C5B0C_PopupHelpPersistant: db 'PopupHelpPersistant',0 SSZ004C5B20_PopupHelpSticky: db 'PopupHelpSticky',0 SSZ004C5B30_PopupHelpTextFont: db 'PopupHelpTextFont',0 Align 4 SSZ004C5B44_PopupHelpTextColor: db 'PopupHelpTextColor',0 Align 4 SSZ004C5B58_PopupHelpPreDelay: db 'PopupHelpPreDelay',0 Align 4 SSZ004C5B6C_PopupHelpEnabled: db 'PopupHelpEnabled',0 db 00h; db 00h; db 00h; db 54h; 'T' db 6Fh; 'o' db 6Fh; 'o' db 6Ch; 'l' db 54h; 'T' db 69h; 'i' db 70h; 'p' db 54h; 'T' db 65h; 'e' db 78h; 'x' db 74h; 't' db 43h; 'C' db 6Fh; 'o' db 6Ch; 'l' db 6Fh; 'o' db 72h; 'r' db 00h; db 00h; db 00h; db 00h; SSZ004C5B94_ToolTipFont: db 'ToolTipFont',0 db 54h; 'T' db 6Fh; 'o' db 6Fh; 'o' db 6Ch; 'l' db 54h; 'T' db 69h; 'i' db 70h; 'p' db 50h; 'P' db 72h; 'r' db 65h; 'e' db 44h; 'D' db 65h; 'e' db 6Ch; 'l' db 61h; 'a' db 79h; 'y' db 00h; db 55h; 'U' db 73h; 's' db 65h; 'e' db 54h; 'T' db 6Fh; 'o' db 6Fh; 'o' db 6Ch; 'l' db 54h; 'T' db 69h; 'i' db 70h; 'p' db 73h; 's' db 00h; db 41h; 'A' db 73h; 's' db 73h; 's' db 75h; 'u' db 6Dh; 'm' db 65h; 'e' db 50h; 'P' db 6Ch; 'l' db 61h; 'a' db 79h; 'y' db 41h; 'A' db 73h; 's' db 47h; 'G' db 68h; 'h' db 6Fh; 'o' db 73h; 's' db 74h; 't' db 00h; db 00h; db 00h; db 48h; 'H' db 69h; 'i' db 67h; 'g' db 68h; 'h' db 6Ch; 'l' db 69h; 'i' db 67h; 'g' db 68h; 'h' db 74h; 't' db 43h; 'C' db 6Fh; 'o' db 6Ch; 'l' db 6Fh; 'o' db 72h; 'r' db 4Dh; 'M' db 75h; 'u' db 72h; 'r' db 64h; 'd' db 65h; 'e' db 72h; 'r' db 65h; 'e' db 72h; 'r' db 00h; db 00h; db 48h; 'H' db 69h; 'i' db 67h; 'g' db 68h; 'h' db 6Ch; 'l' db 69h; 'i' db 67h; 'g' db 68h; 'h' db 74h; 't' db 43h; 'C' db 6Fh; 'o' db 6Ch; 'l' db 6Fh; 'o' db 72h; 'r' db 45h; 'E' db 6Eh; 'n' db 65h; 'e' db 6Dh; 'm' db 79h; 'y' db 00h; db 48h; 'H' db 69h; 'i' db 67h; 'g' db 68h; 'h' db 6Ch; 'l' db 69h; 'i' db 67h; 'g' db 68h; 'h' db 74h; 't' db 43h; 'C' db 6Fh; 'o' db 6Ch; 'l' db 6Fh; 'o' db 72h; 'r' db 43h; 'C' db 72h; 'r' db 69h; 'i' db 6Dh; 'm' db 69h; 'i' db 6Eh; 'n' db 61h; 'a' db 6Ch; 'l' db 00h; db 00h; db 48h; 'H' db 69h; 'i' db 67h; 'g' db 68h; 'h' db 6Ch; 'l' db 69h; 'i' db 67h; 'g' db 68h; 'h' db 74h; 't' db 43h; 'C' db 6Fh; 'o' db 6Ch; 'l' db 6Fh; 'o' db 72h; 'r' db 43h; 'C' db 61h; 'a' db 6Eh; 'n' db 41h; 'A' db 74h; 't' db 74h; 't' db 61h; 'a' db 63h; 'c' db 6Bh; 'k' db 00h; db 48h; 'H' db 69h; 'i' db 67h; 'g' db 68h; 'h' db 6Ch; 'l' db 69h; 'i' db 67h; 'g' db 68h; 'h' db 74h; 't' db 43h; 'C' db 6Fh; 'o' db 6Ch; 'l' db 6Fh; 'o' db 72h; 'r' db 46h; 'F' db 72h; 'r' db 69h; 'i' db 65h; 'e' db 6Eh; 'n' db 64h; 'd' db 00h; db 00h; db 00h; db 00h; db 48h; 'H' db 69h; 'i' db 67h; 'g' db 68h; 'h' db 6Ch; 'l' db 69h; 'i' db 67h; 'g' db 68h; 'h' db 74h; 't' db 43h; 'C' db 6Fh; 'o' db 6Ch; 'l' db 6Fh; 'o' db 72h; 'r' db 49h; 'I' db 6Eh; 'n' db 6Eh; 'n' db 6Fh; 'o' db 63h; 'c' db 65h; 'e' db 6Eh; 'n' db 74h; 't' db 00h; db 00h; db 50h; 'P' db 72h; 'r' db 6Fh; 'o' db 66h; 'f' db 69h; 'i' db 6Ch; 'l' db 65h; 'e' db 43h; 'C' db 6Fh; 'o' db 6Ch; 'l' db 6Fh; 'o' db 72h; 'r' db 32h; '2' db 00h; db 00h; db 00h; db 50h; 'P' db 72h; 'r' db 6Fh; 'o' db 66h; 'f' db 69h; 'i' db 6Ch; 'l' db 65h; 'e' db 43h; 'C' db 6Fh; 'o' db 6Ch; 'l' db 6Fh; 'o' db 72h; 'r' db 31h; '1' db 00h; db 00h; db 00h; db 42h; 'B' db 61h; 'a' db 72h; 'r' db 6Bh; 'k' db 46h; 'F' db 6Fh; 'o' db 6Eh; 'n' db 74h; 't' db 4Eh; 'N' db 75h; 'u' db 6Dh; 'm' db 62h; 'b' db 65h; 'e' db 72h; 'r' db 00h; db 00h; db 43h; 'C' db 68h; 'h' db 61h; 'a' db 74h; 't' db 41h; 'A' db 6Eh; 'n' db 74h; 't' db 69h; 'i' db 41h; 'A' db 6Ch; 'l' db 69h; 'i' db 61h; 'a' db 73h; 's' db 00h; db 00h; db 00h; db 43h; 'C' db 68h; 'h' db 61h; 'a' db 74h; 't' db 53h; 'S' db 70h; 'p' db 61h; 'a' db 63h; 'c' db 65h; 'e' db 57h; 'W' db 69h; 'i' db 64h; 'd' db 74h; 't' db 68h; 'h' db 00h; db 00h; SSZ004C5CAC_ChatFontNumber: db 'ChatFontNumber',0 db 00h; db 43h; 'C' db 68h; 'h' db 61h; 'a' db 74h; 't' db 43h; 'C' db 6Fh; 'o' db 6Ch; 'l' db 6Fh; 'o' db 72h; 'r' db 44h; 'D' db 69h; 'i' db 61h; 'a' db 6Ch; 'l' db 6Fh; 'o' db 67h; 'g' db 42h; 'B' db 61h; 'a' db 63h; 'c' db 6Bh; 'k' db 67h; 'g' db 72h; 'r' db 6Fh; 'o' db 75h; 'u' db 6Eh; 'n' db 64h; 'd' db 00h; db 00h; db 00h; db 43h; 'C' db 68h; 'h' db 61h; 'a' db 74h; 't' db 43h; 'C' db 6Fh; 'o' db 6Ch; 'l' db 6Fh; 'o' db 72h; 'r' db 49h; 'I' db 6Eh; 'n' db 70h; 'p' db 75h; 'u' db 74h; 't' db 42h; 'B' db 61h; 'a' db 63h; 'c' db 6Bh; 'k' db 67h; 'g' db 72h; 'r' db 6Fh; 'o' db 75h; 'u' db 6Eh; 'n' db 64h; 'd' db 00h; db 00h; db 00h; db 00h; db 43h; 'C' db 68h; 'h' db 61h; 'a' db 74h; 't' db 43h; 'C' db 6Fh; 'o' db 6Ch; 'l' db 6Fh; 'o' db 72h; 'r' db 54h; 'T' db 65h; 'e' db 78h; 'x' db 74h; 't' db 42h; 'B' db 61h; 'a' db 63h; 'c' db 6Bh; 'k' db 67h; 'g' db 72h; 'r' db 6Fh; 'o' db 75h; 'u' db 6Eh; 'n' db 64h; 'd' db 00h; db 43h; 'C' db 68h; 'h' db 61h; 'a' db 74h; 't' db 43h; 'C' db 6Fh; 'o' db 6Ch; 'l' db 6Fh; 'o' db 72h; 'r' db 55h; 'U' db 73h; 's' db 65h; 'e' db 72h; 'r' db 4Ch; 'L' db 69h; 'i' db 73h; 's' db 74h; 't' db 42h; 'B' db 61h; 'a' db 63h; 'c' db 6Bh; 'k' db 67h; 'g' db 72h; 'r' db 6Fh; 'o' db 75h; 'u' db 6Eh; 'n' db 64h; 'd' db 00h; db 43h; 'C' db 68h; 'h' db 61h; 'a' db 74h; 't' db 43h; 'C' db 6Fh; 'o' db 6Ch; 'l' db 6Fh; 'o' db 72h; 'r' db 43h; 'C' db 6Fh; 'o' db 6Dh; 'm' db 6Dh; 'm' db 61h; 'a' db 6Eh; 'n' db 64h; 'd' db 4Dh; 'M' db 65h; 'e' db 6Eh; 'n' db 75h; 'u' db 42h; 'B' db 61h; 'a' db 63h; 'c' db 6Bh; 'k' db 67h; 'g' db 72h; 'r' db 6Fh; 'o' db 75h; 'u' db 6Eh; 'n' db 64h; 'd' db 00h; db 00h; db 43h; 'C' db 68h; 'h' db 61h; 'a' db 74h; 't' db 43h; 'C' db 6Fh; 'o' db 6Ch; 'l' db 6Fh; 'o' db 72h; 'r' db 43h; 'C' db 6Fh; 'o' db 6Eh; 'n' db 66h; 'f' db 65h; 'e' db 72h; 'r' db 65h; 'e' db 6Eh; 'n' db 63h; 'c' db 65h; 'e' db 4Dh; 'M' db 65h; 'e' db 6Eh; 'n' db 75h; 'u' db 42h; 'B' db 61h; 'a' db 63h; 'c' db 6Bh; 'k' db 67h; 'g' db 72h; 'r' db 6Fh; 'o' db 75h; 'u' db 6Eh; 'n' db 64h; 'd' db 00h; db 00h; db 00h; db 43h; 'C' db 68h; 'h' db 61h; 'a' db 74h; 't' db 43h; 'C' db 6Fh; 'o' db 6Ch; 'l' db 6Fh; 'o' db 72h; 'r' db 53h; 'S' db 79h; 'y' db 73h; 's' db 74h; 't' db 65h; 'e' db 6Dh; 'm' db 4Dh; 'M' db 65h; 'e' db 73h; 's' db 73h; 's' db 61h; 'a' db 67h; 'g' db 65h; 'e' db 00h; db 00h; SSZ004C5D84_ChatColorInput: db 'ChatColorInput',0 db 00h; db 43h; 'C' db 68h; 'h' db 61h; 'a' db 74h; 't' db 43h; 'C' db 6Fh; 'o' db 6Ch; 'l' db 6Fh; 'o' db 72h; 'r' db 4Dh; 'M' db 65h; 'e' db 6Eh; 'n' db 75h; 'u' db 4Fh; 'O' db 70h; 'p' db 74h; 't' db 69h; 'i' db 6Fh; 'o' db 6Eh; 'n' db 00h; db 43h; 'C' db 68h; 'h' db 61h; 'a' db 74h; 't' db 43h; 'C' db 6Fh; 'o' db 6Ch; 'l' db 6Fh; 'o' db 72h; 'r' db 4Eh; 'N' db 61h; 'a' db 6Dh; 'm' db 65h; 'e' db 00h; db 00h; db 00h; db 43h; 'C' db 68h; 'h' db 61h; 'a' db 74h; 't' db 43h; 'C' db 6Fh; 'o' db 6Ch; 'l' db 6Fh; 'o' db 72h; 'r' db 54h; 'T' db 65h; 'e' db 78h; 'x' db 74h; 't' db 00h; db 00h; db 00h; db 43h; 'C' db 68h; 'h' db 61h; 'a' db 74h; 't' db 43h; 'C' db 6Fh; 'o' db 6Ch; 'l' db 6Fh; 'o' db 72h; 'r' db 4Dh; 'M' db 75h; 'u' db 74h; 't' db 65h; 'e' db 64h; 'd' db 4Eh; 'N' db 61h; 'a' db 6Dh; 'm' db 65h; 'e' db 00h; db 00h; db 43h; 'C' db 68h; 'h' db 61h; 'a' db 74h; 't' db 43h; 'C' db 6Fh; 'o' db 6Ch; 'l' db 6Fh; 'o' db 72h; 'r' db 4Dh; 'M' db 75h; 'u' db 74h; 't' db 65h; 'e' db 64h; 'd' db 54h; 'T' db 65h; 'e' db 78h; 'x' db 74h; 't' db 00h; db 00h; db 43h; 'C' db 68h; 'h' db 61h; 'a' db 74h; 't' db 43h; 'C' db 6Fh; 'o' db 6Ch; 'l' db 6Fh; 'o' db 72h; 'r' db 4Fh; 'O' db 70h; 'p' db 73h; 's' db 4Eh; 'N' db 61h; 'a' db 6Dh; 'm' db 65h; 'e' db 00h; db 00h; db 00h; db 00h; db 43h; 'C' db 68h; 'h' db 61h; 'a' db 74h; 't' db 43h; 'C' db 6Fh; 'o' db 6Ch; 'l' db 6Fh; 'o' db 72h; 'r' db 4Fh; 'O' db 70h; 'p' db 73h; 's' db 54h; 'T' db 65h; 'e' db 78h; 'x' db 74h; 't' db 00h; db 00h; db 00h; db 00h; db 43h; 'C' db 68h; 'h' db 61h; 'a' db 74h; 't' db 43h; 'C' db 6Fh; 'o' db 6Ch; 'l' db 6Fh; 'o' db 72h; 'r' db 53h; 'S' db 65h; 'e' db 6Ch; 'l' db 66h; 'f' db 4Eh; 'N' db 61h; 'a' db 6Dh; 'm' db 65h; 'e' db 00h; db 00h; db 00h; db 43h; 'C' db 68h; 'h' db 61h; 'a' db 74h; 't' db 43h; 'C' db 6Fh; 'o' db 6Ch; 'l' db 6Fh; 'o' db 72h; 'r' db 53h; 'S' db 65h; 'e' db 6Ch; 'l' db 66h; 'f' db 54h; 'T' db 65h; 'e' db 78h; 'x' db 74h; 't' db 00h; db 00h; db 00h; db 52h; 'R' db 65h; 'e' db 76h; 'v' db 65h; 'e' db 72h; 'r' db 73h; 's' db 65h; 'e' db 53h; 'S' db 70h; 'p' db 65h; 'e' db 61h; 'a' db 6Bh; 'k' db 65h; 'e' db 72h; 'r' db 73h; 's' db 00h; SSZ004C5E50_Sound8Bit: db 'Sound8Bit',0 db 00h; db 00h; db 41h; 'A' db 6Ch; 'l' db 74h; 't' db 4Bh; 'K' db 65h; 'e' db 79h; 'y' db 4Dh; 'M' db 6Fh; 'o' db 64h; 'd' db 4Eh; 'N' db 75h; 'u' db 6Dh; 'm' db 00h; db 00h; db 00h; db 00h; db 55h; 'U' db 6Eh; 'n' db 69h; 'i' db 63h; 'c' db 6Fh; 'o' db 64h; 'd' db 65h; 'e' db 53h; 'S' db 70h; 'p' db 65h; 'e' db 65h; 'e' db 63h; 'c' db 68h; 'h' db 00h; db 00h; db 00h; db 41h; 'A' db 75h; 'u' db 74h; 't' db 6Fh; 'o' db 41h; 'A' db 72h; 'r' db 72h; 'r' db 61h; 'a' db 6Eh; 'n' db 67h; 'g' db 65h; 'e' db 4Dh; 'M' db 69h; 'i' db 6Eh; 'n' db 69h; 'i' db 6Dh; 'm' db 69h; 'i' db 7Ah; 'z' db 65h; 'e' db 64h; 'd' db 00h; db 00h; db 00h; db 00h; db 4Fh; 'O' db 66h; 'f' db 66h; 'f' db 73h; 's' db 65h; 'e' db 74h; 't' db 47h; 'G' db 75h; 'u' db 6Dh; 'm' db 70h; 'p' db 73h; 's' db 00h; db 48h; 'H' db 6Fh; 'o' db 6Ch; 'l' db 64h; 'd' db 54h; 'T' db 61h; 'a' db 62h; 'b' db 46h; 'F' db 6Fh; 'o' db 72h; 'r' db 43h; 'C' db 6Fh; 'o' db 6Dh; 'm' db 62h; 'b' db 61h; 'a' db 74h; 't' db 00h; db 00h; db 00h; db 00h; db 41h; 'A' db 6Ch; 'l' db 6Ch; 'l' db 6Fh; 'o' db 77h; 'w' db 50h; 'P' db 61h; 'a' db 74h; 't' db 68h; 'h' db 66h; 'f' db 69h; 'i' db 6Eh; 'n' db 64h; 'd' db 00h; db 00h; db 00h; db 46h; 'F' db 72h; 'r' db 61h; 'a' db 6Dh; 'm' db 65h; 'e' db 53h; 'S' db 6Bh; 'k' db 69h; 'i' db 70h; 'p' db 70h; 'p' db 69h; 'i' db 6Eh; 'n' db 67h; 'g' db 00h; db 00h; db 00h; db 43h; 'C' db 6Fh; 'o' db 6Dh; 'm' db 62h; 'b' db 61h; 'a' db 74h; 't' db 48h; 'H' db 75h; 'u' db 65h; 'e' db 43h; 'C' db 6Fh; 'o' db 6Ch; 'l' db 6Fh; 'o' db 72h; 'r' db 00h; db 00h; db 53h; 'S' db 63h; 'c' db 61h; 'a' db 6Ch; 'l' db 65h; 'e' db 42h; 'B' db 61h; 'a' db 72h; 'r' db 6Bh; 'k' db 54h; 'T' db 69h; 'i' db 6Dh; 'm' db 65h; 'e' db 73h; 's' db 00h; db 00h; db 42h; 'B' db 61h; 'a' db 72h; 'r' db 6Bh; 'k' db 54h; 'T' db 69h; 'i' db 6Dh; 'm' db 65h; 'e' db 4Dh; 'M' db 6Fh; 'o' db 64h; 'd' db 69h; 'i' db 66h; 'f' db 69h; 'i' db 65h; 'e' db 72h; 'r' db 00h; db 00h; db 00h; db 00h; db 43h; 'C' db 75h; 'u' db 72h; 'r' db 72h; 'r' db 65h; 'e' db 6Eh; 'n' db 74h; 't' db 56h; 'V' db 65h; 'e' db 72h; 'r' db 00h; db 00h; db 4Ch; 'L' db 61h; 'a' db 73h; 's' db 74h; 't' db 54h; 'T' db 69h; 'i' db 70h; 'p' db 00h; db 53h; 'S' db 68h; 'h' db 6Fh; 'o' db 77h; 'w' db 54h; 'T' db 69h; 'i' db 70h; 'p' db 73h; 's' db 00h; db 00h; db 00h; db 00h; db 46h; 'F' db 6Fh; 'o' db 6Fh; 'o' db 74h; 't' db 73h; 's' db 74h; 't' db 65h; 'e' db 70h; 'p' db 73h; 's' db 00h; db 00h; db 00h; db 46h; 'F' db 69h; 'i' db 6Ch; 'l' db 74h; 't' db 65h; 'e' db 72h; 'r' db 50h; 'P' db 57h; 'W' db 4Fh; 'O' db 6Eh; 'n' db 00h; db 00h; db 43h; 'C' db 69h; 'i' db 72h; 'r' db 63h; 'c' db 6Ch; 'l' db 65h; 'e' db 54h; 'T' db 72h; 'r' db 61h; 'a' db 6Eh; 'n' db 73h; 's' db 50h; 'P' db 6Fh; 'o' db 73h; 's' db 00h; db 00h; SSZ004C5F50_CircleTransRadius: db 'CircleTransRadius',0 db 00h; db 00h; db 55h; 'U' db 73h; 's' db 65h; 'e' db 43h; 'C' db 69h; 'i' db 72h; 'r' db 63h; 'c' db 6Ch; 'l' db 65h; 'e' db 54h; 'T' db 72h; 'r' db 61h; 'a' db 6Eh; 'n' db 73h; 's' db 00h; db 00h; db 4Eh; 'N' db 6Fh; 'o' db 74h; 't' db 6Fh; 'o' db 72h; 'r' db 69h; 'i' db 65h; 'e' db 74h; 't' db 79h; 'y' db 51h; 'Q' db 75h; 'u' db 65h; 'e' db 72h; 'r' db 79h; 'y' db 00h; db 00h; db 4Ah; 'J' db 6Fh; 'o' db 75h; 'u' db 72h; 'r' db 6Eh; 'n' db 61h; 'a' db 6Ch; 'l' db 53h; 'S' db 61h; 'a' db 76h; 'v' db 65h; 'e' db 55h; 'U' db 6Eh; 'n' db 69h; 'i' db 63h; 'c' db 6Fh; 'o' db 64h; 'd' db 65h; 'e' db 00h; db 00h; db 4Ah; 'J' db 6Fh; 'o' db 75h; 'u' db 72h; 'r' db 6Eh; 'n' db 61h; 'a' db 6Ch; 'l' db 53h; 'S' db 61h; 'a' db 76h; 'v' db 65h; 'e' db 46h; 'F' db 69h; 'i' db 6Ch; 'l' db 65h; 'e' db 00h; db 53h; 'S' db 61h; 'a' db 76h; 'v' db 65h; 'e' db 4Ah; 'J' db 6Fh; 'o' db 75h; 'u' db 72h; 'r' db 6Eh; 'n' db 61h; 'a' db 6Ch; 'l' db 00h; db 43h; 'C' db 68h; 'h' db 65h; 'e' db 73h; 's' db 74h; 't' db 4Fh; 'O' db 70h; 'p' db 65h; 'e' db 6Eh; 'n' db 69h; 'i' db 6Eh; 'n' db 67h; 'g' db 00h; db 00h; db 00h; db 00h; db 55h; 'U' db 73h; 's' db 65h; 'e' db 56h; 'V' db 65h; 'e' db 72h; 'r' db 44h; 'D' db 61h; 'a' db 74h; 't' db 61h; 'a' db 00h; db 00h; db 4Dh; 'M' db 6Fh; 'o' db 75h; 'u' db 73h; 's' db 65h; 'e' db 54h; 'T' db 68h; 'h' db 72h; 'r' db 65h; 'e' db 61h; 'a' db 64h; 'd' db 00h; db 4Dh; 'M' db 6Fh; 'o' db 75h; 'u' db 73h; 's' db 65h; 'e' db 00h; db 00h; db 00h; db 44h; 'D' db 65h; 'e' db 66h; 'f' db 61h; 'a' db 75h; 'u' db 6Ch; 'l' db 74h; 't' db 43h; 'C' db 68h; 'h' db 61h; 'a' db 72h; 'r' db 00h; db 4Eh; 'N' db 65h; 'e' db 78h; 'x' db 74h; 't' db 4Ch; 'L' db 6Fh; 'o' db 67h; 'g' db 69h; 'i' db 6Eh; 'n' db 4Bh; 'K' db 65h; 'e' db 79h; 'y' db 00h; db 00h; db 00h; db 00h; db 41h; 'A' db 63h; 'c' db 63h; 'c' db 74h; 't' db 50h; 'P' db 61h; 'a' db 73h; 's' db 73h; 's' db 77h; 'w' db 6Fh; 'o' db 72h; 'r' db 64h; 'd' db 00h; db 00h; db 00h; db 00h; db 41h; 'A' db 63h; 'c' db 63h; 'c' db 74h; 't' db 4Ch; 'L' db 61h; 'a' db 73h; 's' db 74h; 't' db 4Eh; 'N' db 61h; 'a' db 6Dh; 'm' db 65h; 'e' db 00h; db 00h; db 00h; db 00h; db 41h; 'A' db 63h; 'c' db 63h; 'c' db 74h; 't' db 49h; 'I' db 44h; 'D' db 00h; db 00h; db 42h; 'B' db 61h; 'a' db 63h; 'c' db 6Bh; 'k' db 75h; 'u' db 70h; 'p' db 4Ch; 'L' db 6Fh; 'o' db 67h; 'g' db 69h; 'i' db 6Eh; 'n' db 53h; 'S' db 65h; 'e' db 72h; 'r' db 76h; 'v' db 65h; 'e' db 72h; 'r' db 00h; db 00h; db 00h; db 4Ch; 'L' db 6Fh; 'o' db 67h; 'g' db 69h; 'i' db 6Eh; 'n' db 53h; 'S' db 65h; 'e' db 72h; 'r' db 76h; 'v' db 65h; 'e' db 72h; 'r' db 00h; db 4Ch; 'L' db 6Fh; 'o' db 67h; 'g' db 69h; 'i' db 6Eh; 'n' db 53h; 'S' db 65h; 'e' db 72h; 'r' db 76h; 'v' db 65h; 'e' db 72h; 'r' db 46h; 'F' db 69h; 'i' db 6Ch; 'l' db 65h; 'e' db 00h; db 52h; 'R' db 65h; 'e' db 6Dh; 'm' db 65h; 'e' db 6Dh; 'm' db 62h; 'b' db 65h; 'e' db 72h; 'r' db 41h; 'A' db 63h; 'c' db 63h; 'c' db 74h; 't' db 50h; 'P' db 57h; 'W' db 00h; db 00h; db 4Fh; 'O' db 72h; 'r' db 64h; 'd' db 65h; 'e' db 72h; 'r' db 43h; 'C' db 61h; 'a' db 63h; 'c' db 68h; 'h' db 65h; 'e' db 4Fh; 'O' db 6Eh; 'n' db 53h; 'S' db 74h; 't' db 61h; 'a' db 72h; 'r' db 74h; 't' db 75h; 'u' db 70h; 'p' db 00h; db 4Fh; 'O' db 72h; 'r' db 64h; 'd' db 65h; 'e' db 72h; 'r' db 43h; 'C' db 61h; 'a' db 63h; 'c' db 68h; 'h' db 65h; 'e' db 00h; db 00h; db 61h; 'a' db 75h; 'u' db 74h; 't' db 6Fh; 'o' db 4Ch; 'L' db 6Fh; 'o' db 67h; 'g' db 49h; 'I' db 6Eh; 'n' db 00h; db 00h; db 00h; db 75h; 'u' db 73h; 's' db 65h; 'e' db 35h; '5' db 36h; '6' db 35h; '5' db 00h; db 00h; db 53h; 'S' db 68h; 'h' db 6Fh; 'o' db 77h; 'w' db 49h; 'I' db 6Eh; 'n' db 74h; 't' db 72h; 'r' db 6Fh; 'o' db 41h; 'A' db 6Eh; 'n' db 69h; 'i' db 6Dh; 'm' db 00h; db 00h; db 00h; db 43h; 'C' db 64h; 'd' db 4Bh; 'K' db 65h; 'e' db 79h; 'y' db 00h; db 00h; db 00h; db 55h; 'U' db 73h; 's' db 65h; 'e' db 72h; 'r' db 43h; 'C' db 65h; 'e' db 6Eh; 'n' db 74h; 't' db 72h; 'r' db 61h; 'a' db 6Ch; 'l' db 00h; db 55h; 'U' db 73h; 's' db 65h; 'e' db 72h; 'r' db 4Ch; 'L' db 61h; 'a' db 6Eh; 'n' db 67h; 'g' db 75h; 'u' db 61h; 'a' db 67h; 'g' db 65h; 'e' db 43h; 'C' db 6Fh; 'o' db 64h; 'd' db 65h; 'e' db 53h; 'S' db 74h; 't' db 72h; 'r' db 69h; 'i' db 6Eh; 'n' db 67h; 'g' db 00h; db 00h; SSZ004C60D8_FullScreenRes: db 'FullScreenRes',0 Align 4 SSZ004C60E8_FullScreen: db 'FullScreen',0 db 00h; db 53h; 'S' db 61h; 'a' db 76h; 'v' db 65h; 'e' db 50h; 'P' db 61h; 'a' db 73h; 's' db 73h; 's' db 77h; 'w' db 6Fh; 'o' db 72h; 'r' db 64h; 'd' db 00h; db 00h; db 00h; db 00h; db 46h; 'F' db 72h; 'r' db 61h; 'a' db 6Dh; 'm' db 65h; 'e' db 43h; 'C' db 6Fh; 'o' db 75h; 'u' db 6Eh; 'n' db 74h; 't' db 65h; 'e' db 72h; 'r' db 00h; db 00h; db 00h; db 00h; db 47h; 'G' db 44h; 'D' db 49h; 'I' db 46h; 'F' db 75h; 'u' db 6Ch; 'l' db 6Ch; 'l' db 53h; 'S' db 63h; 'c' db 72h; 'r' db 65h; 'e' db 65h; 'e' db 6Eh; 'n' db 00h; db 00h; db 00h; db 50h; 'P' db 61h; 'a' db 67h; 'g' db 65h; 'e' db 46h; 'F' db 6Ch; 'l' db 69h; 'i' db 70h; 'p' db 00h; db 00h; db 00h; db 00h; db 46h; 'F' db 69h; 'i' db 6Ch; 'l' db 74h; 't' db 65h; 'e' db 72h; 'r' db 50h; 'P' db 61h; 'a' db 73h; 's' db 73h; 's' db 77h; 'w' db 6Fh; 'o' db 72h; 'r' db 64h; 'd' db 00h; db 00h; db 4Fh; 'O' db 62h; 'b' db 73h; 's' db 63h; 'c' db 65h; 'e' db 6Eh; 'n' db 65h; 'e' db 57h; 'W' db 6Fh; 'o' db 72h; 'r' db 64h; 'd' db 00h; db 4Fh; 'O' db 62h; 'b' db 73h; 's' db 63h; 'c' db 65h; 'e' db 6Eh; 'n' db 69h; 'i' db 74h; 't' db 79h; 'y' db 46h; 'F' db 69h; 'i' db 6Ch; 'l' db 74h; 't' db 65h; 'e' db 72h; 'r' db 00h; SSZ004C615C_MusicVol: db 'MusicVol',0 Align 4 SSZ004C6168_Music: db 'Music',0 Align 4 SSZ004C6170_SoundVol: db 'SoundVol',0 Align 4 SSZ004C617C_Sound: db 'Sound',0 db 00h; db 00h; db 50h; 'P' db 6Ch; 'l' db 61h; 'a' db 79h; 'y' db 65h; 'e' db 72h; 'r' db 4Eh; 'N' db 61h; 'a' db 6Dh; 'm' db 65h; 'e' db 00h; db 00h; db 48h; 'H' db 64h; 'd' db 55h; 'U' db 73h; 's' db 61h; 'a' db 67h; 'g' db 65h; 'e' db 00h; db 43h; 'C' db 61h; 'a' db 63h; 'c' db 68h; 'h' db 65h; 'e' db 53h; 'S' db 69h; 'i' db 7Ah; 'z' db 65h; 'e' db 00h; db 00h; db 00h; SSZ004C61A4_CdRomDataPath: db 'CdRomDataPath',0 Align 4 L004C61B4: db 09h; db 0Ah; db 0Dh; db 0Ch; db 00h; db 00h; db 00h; db 00h; L004C61BC: db 20h; ' ' db 09h; db 0Ah; db 0Dh; db 0Ch; db 3Dh; '=' db 00h; db 00h; L004C61C4: db 72h; 'r' db 00h; db 00h; db 00h; L004C61C8: db 77h; 'w' db 62h; 'b' db 00h; db 00h; SSZ004C61CC__s__s_: db '%s=%s',0Ah,0 Align 4 L004C61D4: db 61h; 'a' db 74h; 't' db 00h; db 00h; SSZ004C61D8_uo_cfg: db 'uo.cfg',0 Align 4 SSZ004C61E0_fast: db 'fast',0 Align 4 SSZ004C61E8_slow: db 'slow',0 Align 4 SSZ004C61F0_startup: db 'startup',0 SSZ004C61F8__d__d: db '%d,%d',0 Align 4 L004C6200: db 67h; 'g' db 64h; 'd' db 69h; 'i' db 00h; L004C6204: db 6Dh; 'm' db 61h; 'a' db 78h; 'x' db 00h; SSZ004C6208__d__d__d__d__d: db '%d.%d.%d.%d,%d',0 Align 4 L004C6218: db 30h; '0' db 00h; db 00h; db 00h; SSZ004C621C_false: db 'false',0 Align 4 SSZ004C6224_true: db 'true',0 Align 4 L004C622C: db 20h; ' ' db 09h; db 0Ah; db 0Dh; db 0Ch; db 00h; db 00h; db 00h; L004C6234: dd 00000014h SSZ004C6238_container_frame1: db 'container frame1',0 Align 4 SSZ004C624C_container_frame: db 'container frame',0 SSZ004C625C_framedata_for_CContainerGump: db 'framedata for CContainerGump',0 Align 4 SSZ004C627C_container_gump: db 'container gump',0 Align 4 SSZ004C628C_congump_framedata: db 'congump framedata',0 Align 4 SSZ004C62A0_congump_frame1_pBMP: db 'congump frame1 pBMP',0 SSZ004C62B4_congump_frame0_pBMP: db 'congump frame0 pBMP',0 SSZ004C62C8_course_backupFrame: db 'course backupFrame',0 Align 4 SSZ004C62DC_course_frame1: db 'course frame1',0 Align 4 SSZ004C62EC_Course_gump: db 'Course gump',0 SSZ004C62F8_Course_framedata: db 'Course framedata',0 Align 4 SSZ004C630C_Course_frame1_pBMP: db 'Course frame1 pBMP',0 Align 4 SSZ004C6320_Course_frame0_pBMP: db 'Course frame0 pBMP',0 Align 4 SSZ004C6334_Course_backupFrame: db 'Course backupFrame',0 Align 4 SSZ004C6348_multimap_rle: db 'multimap.rle',0 Align 4 L004C6358: dd 756E6547h L004C635C: dd 49656E69h L004C6360: dd 6C65746Eh L004C6364: db 00h; db 00h; db 00h; db 00h; L004C6368: dd 2D2D2D2Dh L004C636C: dd 2D2D2D2Dh L004C6370: dd 2D2D2D2Dh L004C6374: db 00h; db 00h; db 00h; db 00h; L004C6378: dd 00007777h SSZ004C637C_song: db 'song',0 Align 4 SSZ004C6384_defaultfont: db 'defaultfont',0 SSZ004C6390_font: db 'font',0 Align 4 SSZ004C6398_defaultcolor: db 'defaultcolor',0 Align 4 SSZ004C63A8_color: db 'color',0 Align 4 L004C63B0: db 21h; '!' db 00h; db 00h; db 00h; SSZ004C63B4_credits_dat: db 'credits.dat',0 L004C63C0: db 72h; 'r' db 74h; 't' db 00h; db 00h; SSZ004C63C4_framedata_for_CDragGump: db 'framedata for CDragGump',0 SSZ004C63DC_drag_gump: db 'drag gump',0 Align 4 SSZ004C63E8_draggump_frame0: db 'draggump frame0',0 L004C63F8: dd 00000019h db 05h; db 00h; db 00h; db 00h; db 04h; db 00h; db 00h; db 00h; db 03h; db 00h; db 00h; db 00h; db 18h; db 00h; db 00h; db 00h; db 0Dh; db 00h; db 00h; db 00h; db 08h; db 00h; db 00h; db 00h; db 09h; db 00h; db 00h; db 00h; db 0Eh; db 00h; db 00h; db 00h; db 0Fh; db 00h; db 00h; db 00h; db 13h; db 00h; db 00h; db 00h; db 07h; db 00h; db 00h; db 00h; db 17h; db 00h; db 00h; db 00h; db 11h; db 00h; db 00h; db 00h; db 16h; db 00h; db 00h; db 00h; db 0Ch; db 00h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 0Bh; db 00h; db 00h; db 00h; db 10h; db 00h; db 00h; db 00h; db 12h; db 00h; db 00h; db 00h; db 06h; db 00h; db 00h; db 00h; db 01h; db 00h; db 00h; db 00h; db 02h; db 00h; db 00h; db 00h; db 15h; db 00h; db 00h; db 00h; db 14h; db 00h; db 00h; db 00h; db 19h; db 00h; db 00h; db 00h; db 05h; db 00h; db 00h; db 00h; db 04h; db 00h; db 00h; db 00h; db 03h; db 00h; db 00h; db 00h; db 18h; db 00h; db 00h; db 00h; db 0Dh; db 00h; db 00h; db 00h; db 08h; db 00h; db 00h; db 00h; db 09h; db 00h; db 00h; db 00h; db 0Eh; db 00h; db 00h; db 00h; db 0Fh; db 00h; db 00h; db 00h; db 13h; db 00h; db 00h; db 00h; db 07h; db 00h; db 00h; db 00h; db 17h; db 00h; db 00h; db 00h; db 11h; db 00h; db 00h; db 00h; db 16h; db 00h; db 00h; db 00h; db 0Ch; db 00h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 0Bh; db 00h; db 00h; db 00h; db 10h; db 00h; db 00h; db 00h; db 12h; db 00h; db 00h; db 00h; db 06h; db 00h; db 00h; db 00h; db 01h; db 00h; db 00h; db 00h; db 15h; db 00h; db 00h; db 00h; db 14h; db 00h; db 00h; db 00h; db 02h; db 00h; db 00h; db 00h; db 19h; db 00h; db 00h; db 00h; db 05h; db 00h; db 00h; db 00h; db 04h; db 00h; db 00h; db 00h; db 03h; db 00h; db 00h; db 00h; db 18h; db 00h; db 00h; db 00h; db 0Dh; db 00h; db 00h; db 00h; db 08h; db 00h; db 00h; db 00h; db 09h; db 00h; db 00h; db 00h; db 0Eh; db 00h; db 00h; db 00h; db 0Fh; db 00h; db 00h; db 00h; db 13h; db 00h; db 00h; db 00h; db 07h; db 00h; db 00h; db 00h; db 17h; db 00h; db 00h; db 00h; db 11h; db 00h; db 00h; db 00h; db 16h; db 00h; db 00h; db 00h; db 0Ch; db 00h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 0Bh; db 00h; db 00h; db 00h; db 10h; db 00h; db 00h; db 00h; db 12h; db 00h; db 00h; db 00h; db 06h; db 00h; db 00h; db 00h; db 01h; db 00h; db 00h; db 00h; db 15h; db 00h; db 00h; db 00h; db 14h; db 00h; db 00h; db 00h; db 02h; db 00h; db 00h; db 00h; db 19h; db 00h; db 00h; db 00h; db 14h; db 00h; db 00h; db 00h; db 05h; db 00h; db 00h; db 00h; db 04h; db 00h; db 00h; db 00h; db 03h; db 00h; db 00h; db 00h; db 18h; db 00h; db 00h; db 00h; db 0Dh; db 00h; db 00h; db 00h; db 08h; db 00h; db 00h; db 00h; db 09h; db 00h; db 00h; db 00h; db 0Eh; db 00h; db 00h; db 00h; db 0Fh; db 00h; db 00h; db 00h; db 13h; db 00h; db 00h; db 00h; db 07h; db 00h; db 00h; db 00h; db 17h; db 00h; db 00h; db 00h; db 11h; db 00h; db 00h; db 00h; db 16h; db 00h; db 00h; db 00h; db 0Ch; db 00h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 0Bh; db 00h; db 00h; db 00h; db 10h; db 00h; db 00h; db 00h; db 12h; db 00h; db 00h; db 00h; db 06h; db 00h; db 00h; db 00h; db 01h; db 00h; db 00h; db 00h; db 02h; db 00h; db 00h; db 00h; db 15h; db 00h; db 00h; db 00h; db 19h; db 00h; db 00h; db 00h; db 05h; db 00h; db 00h; db 00h; db 04h; db 00h; db 00h; db 00h; db 03h; db 00h; db 00h; db 00h; db 18h; db 00h; db 00h; db 00h; db 0Dh; db 00h; db 00h; db 00h; db 08h; db 00h; db 00h; db 00h; db 09h; db 00h; db 00h; db 00h; db 0Eh; db 00h; db 00h; db 00h; db 0Fh; db 00h; db 00h; db 00h; db 13h; db 00h; db 00h; db 00h; db 07h; db 00h; db 00h; db 00h; db 17h; db 00h; db 00h; db 00h; db 11h; db 00h; db 00h; db 00h; db 16h; db 00h; db 00h; db 00h; db 0Ch; db 00h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 0Bh; db 00h; db 00h; db 00h; db 10h; db 00h; db 00h; db 00h; db 12h; db 00h; db 00h; db 00h; db 06h; db 00h; db 00h; db 00h; db 01h; db 00h; db 00h; db 00h; db 15h; db 00h; db 00h; db 00h; db 14h; db 00h; db 00h; db 00h; db 02h; db 00h; db 00h; db 00h; db 19h; db 00h; db 00h; db 00h; db 05h; db 00h; db 00h; db 00h; db 04h; db 00h; db 00h; db 00h; db 03h; db 00h; db 00h; db 00h; db 18h; db 00h; db 00h; db 00h; db 0Dh; db 00h; db 00h; db 00h; db 08h; db 00h; db 00h; db 00h; db 09h; db 00h; db 00h; db 00h; db 0Eh; db 00h; db 00h; db 00h; db 0Fh; db 00h; db 00h; db 00h; db 13h; db 00h; db 00h; db 00h; db 07h; db 00h; db 00h; db 00h; db 17h; db 00h; db 00h; db 00h; db 11h; db 00h; db 00h; db 00h; db 16h; db 00h; db 00h; db 00h; db 0Ch; db 00h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 0Bh; db 00h; db 00h; db 00h; db 10h; db 00h; db 00h; db 00h; db 12h; db 00h; db 00h; db 00h; db 06h; db 00h; db 00h; db 00h; db 01h; db 00h; db 00h; db 00h; db 15h; db 00h; db 00h; db 00h; db 14h; db 00h; db 00h; db 00h; db 02h; db 00h; db 00h; db 00h; db 19h; db 00h; db 00h; db 00h; db 05h; db 00h; db 00h; db 00h; db 04h; db 00h; db 00h; db 00h; db 03h; db 00h; db 00h; db 00h; db 18h; db 00h; db 00h; db 00h; db 0Dh; db 00h; db 00h; db 00h; db 08h; db 00h; db 00h; db 00h; db 09h; db 00h; db 00h; db 00h; db 0Eh; db 00h; db 00h; db 00h; db 0Fh; db 00h; db 00h; db 00h; db 13h; db 00h; db 00h; db 00h; db 07h; db 00h; db 00h; db 00h; db 17h; db 00h; db 00h; db 00h; db 11h; db 00h; db 00h; db 00h; db 16h; db 00h; db 00h; db 00h; db 0Ch; db 00h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 0Bh; db 00h; db 00h; db 00h; db 10h; db 00h; db 00h; db 00h; db 12h; db 00h; db 00h; db 00h; db 06h; db 00h; db 00h; db 00h; db 01h; db 00h; db 00h; db 00h; db 02h; db 00h; db 00h; db 00h; db 15h; db 00h; db 00h; db 00h; db 14h; db 00h; db 00h; db 00h; db 19h; db 00h; db 00h; db 00h; db 05h; db 00h; db 00h; db 00h; db 04h; db 00h; db 00h; db 00h; db 03h; db 00h; db 00h; db 00h; db 18h; db 00h; db 00h; db 00h; db 0Dh; db 00h; db 00h; db 00h; db 08h; db 00h; db 00h; db 00h; db 09h; db 00h; db 00h; db 00h; db 0Eh; db 00h; db 00h; db 00h; db 0Fh; db 00h; db 00h; db 00h; db 13h; db 00h; db 00h; db 00h; db 07h; db 00h; db 00h; db 00h; db 17h; db 00h; db 00h; db 00h; db 11h; db 00h; db 00h; db 00h; db 16h; db 00h; db 00h; db 00h; db 0Ch; db 00h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 0Bh; db 00h; db 00h; db 00h; db 10h; db 00h; db 00h; db 00h; db 12h; db 00h; db 00h; db 00h; db 06h; db 00h; db 00h; db 00h; db 01h; db 00h; db 00h; db 00h; db 02h; db 00h; db 00h; db 00h; db 15h; db 00h; db 00h; db 00h; db 14h; db 00h; db 00h; db 00h; L004C6718: dd 00000D45h L004C671C: dd 00000D4Ch db 4Dh; 'M' db 0Dh; db 00h; db 00h; db 53h; 'S' db 0Dh; db 00h; db 00h; db 5Ch; '\' db 0Dh; db 00h; db 00h; db 62h; 'b' db 0Dh; db 00h; db 00h; db 63h; 'c' db 0Dh; db 00h; db 00h; db 69h; 'i' db 0Dh; db 00h; db 00h; db 73h; 's' db 0Dh; db 00h; db 00h; db 79h; 'y' db 0Dh; db 00h; db 00h; db 7Ah; 'z' db 0Dh; db 00h; db 00h; db 7Fh; '' db 0Dh; db 00h; db 00h; db 87h; 'Ø' db 0Dh; db 00h; db 00h; db 8Bh; '<' db 0Dh; db 00h; db 00h; db 8Ch; '?' db 0Dh; db 00h; db 00h; db 90h; '?' db 0Dh; db 00h; db 00h; db BEh; '?' db 12h; db 00h; db 00h; db C7h; '‡' db 12h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L004C6764: dd 0000781Fh L004C6768: dd 00000003h db 02h; db 00h; db 00h; db 00h; db 01h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 01h; db 00h; db 00h; db 00h; db 02h; db 00h; db 00h; db 00h; db 03h; db 00h; db 00h; db 00h; db 04h; db 00h; db 00h; db 00h; L004C6788: dd 00000001h db 01h; db 00h; db 00h; db 00h; db 01h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L004C67A8: dd 00000263h L004C67AC: db 8Bh; '<' db 02h; db 00h; db 00h; L004C67B0: dd 00000263h db 64h; 'd' db 02h; db 00h; db 00h; db 65h; 'e' db 02h; db 00h; db 00h; db 66h; 'f' db 02h; db 00h; db 00h; db 67h; 'g' db 02h; db 00h; db 00h; db 68h; 'h' db 02h; db 00h; db 00h; db 69h; 'i' db 02h; db 00h; db 00h; db 6Dh; 'm' db 02h; db 00h; db 00h; db 70h; 'p' db 02h; db 00h; db 00h; db 72h; 'r' db 02h; db 00h; db 00h; db 74h; 't' db 02h; db 00h; db 00h; db 7Ah; 'z' db 02h; db 00h; db 00h; db 7Ch; '|' db 02h; db 00h; db 00h; db 7Fh; '' db 02h; db 00h; db 00h; db 81h; '?' db 02h; db 00h; db 00h; db 86h; 'Å' db 02h; db 00h; db 00h; db 88h; '?' db 02h; db 00h; db 00h; db 89h; '%' db 02h; db 00h; db 00h; db 8Bh; '<' db 02h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L004C6800: dd 00000240h L004C6804: dd 000003E1h L004C6808: dd 00000240h db 41h; 'A' db 02h; db 00h; db 00h; db 42h; 'B' db 02h; db 00h; db 00h; db 43h; 'C' db 02h; db 00h; db 00h; db 44h; 'D' db 02h; db 00h; db 00h; db 45h; 'E' db 02h; db 00h; db 00h; db 46h; 'F' db 02h; db 00h; db 00h; db E0h; ' ' db 03h; db 00h; db 00h; db E1h; '¡' db 03h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L004C6830: dd 00000000h db 59h; 'Y' db 00h; db 00h; db 00h; db 3Fh; '?' db 00h; db 00h; db 00h; db B2h; 'I' db 03h; db 00h; db 00h; db B2h; 'I' db 03h; db 00h; db 00h; db 90h; '?' db 00h; db 00h; db 00h; db 22h; '"' db 00h; db 00h; db 00h; SSZ004C684C_background_for_missile_anim: db 'background for missile anim',0 SSZ004C6868_fightgump_min__frame: db 'fightgump min. frame',0 Align 4 SSZ004C6880_fightgump_frame: db 'fightgump frame',0 SSZ004C6890_framedata_for_CFightingGump: db 'framedata for CFightingGump',0 SSZ004C68AC_fightingstyle_gump: db 'fightingstyle gump',0 Align 4 SSZ004C68C0_fightgump_framedata: db 'fightgump framedata',0 SSZ004C68D4_fightgump_frame1_pBMP: db 'fightgump frame1 pBMP',0 Align 4 SSZ004C68EC_fightgump_frame0_pBMP: db 'fightgump frame0 pBMP',0 db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L004C6908: db 01h; db 00h; db 00h; db 00h; db 01h; db 00h; db 00h; db 00h; db 01h; db 00h; db 00h; db 00h; db 01h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 01h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; SSZ004C692C_Missing_Font_: db 'Missing Font!',0 Align 4 SSZ004C693C_Error: db 'Error',0 Align 4 SSZ004C6944_fonts_mul: db 'fonts.mul',0 Align 4 SSZ004C6950_generic_frame: db 'generic frame',0 Align 4 SSZ004C6960_framedata_for_GenericGump: db 'framedata for GenericGump',0 Align 4 SSZ004C697C__d__d__d__d__d: db '%d %d %d %d %d',0 Align 4 SSZ004C698C_resizepic: db 'resizepic',0 Align 4 SSZ004C6998_checkbox: db 'checkbox',0 Align 4 SSZ004C69A4_button: db 'button',0 Align 4 SSZ004C69AC__d__d__d__d__d__d: db '%d %d %d %d %d %d',0 Align 4 SSZ004C69C0_radio: db 'radio',0 Align 4 SSZ004C69C8__d__d__d__d__d__d__d: db '%d %d %d %d %d %d %d',0 Align 4 SSZ004C69E0_textentry: db 'textentry',0 Align 4 SSZ004C69EC__d__d__d__d: db '%d %d %d %d',0 SSZ004C69F8_text: db 'text',0 Align 4 SSZ004C6A00_tilepic: db 'tilepic',0 SSZ004C6A08__d__d__d: db '%d %d %d',0 Align 4 SSZ004C6A14_gumppic: db 'gumppic',0 SSZ004C6A1C_group: db 'group',0 Align 4 SSZ004C6A24_noclose: db 'noclose',0 SSZ004C6A2C_nomove: db 'nomove',0 Align 4 SSZ004C6A34_nodispose: db 'nodispose',0 Align 4 SSZ004C6A40_page: db 'page',0 Align 4 SSZ004C6A48_generic_gump: db 'generic gump',0 Align 4 SSZ004C6A58_Logical_Palette: db 'Logical Palette',0 SSZ004C6A68_palette_mul: db 'palette.mul',0 SSZ004C6A74_Tried_to_update_art_less_than_0_: db 'Tried to update art less than 0 or greater then 65535.',0 Align 4 SSZ004C6AAC_damn_art_bug: db 'damn art bug',0 Align 4 SSZ004C6ABC_You_are_dead_: db 'You are dead.',0 Align 4 SSZ004C6ACC_animinfo_mul: db 'animinfo.mul',0 Align 4 L004C6ADC: dd 00000002h SSZ004C6AE0_missile_gump: db 'missile gump',0 Align 4 SSZ004C6AF0_gt_0000: db 'gt_0000',0 SSZ004C6AF8_gt_1010: db 'gt_1010',0 SSZ004C6B00_gt_2000: db 'gt_2000',0 SSZ004C6B08_gt_2310: db 'gt_2310',0 SSZ004C6B10_gt_2400: db 'gt_2400',0 SSZ004C6B18_gt_5000: db 'gt_5000',0 SSZ004C6B20_gt_5400: db 'gt_5400',0 SSZ004C6B28_Missing_ClientCfg_GUMP_art_: db 'Missing ClientCfg GUMP art!',0 SSZ004C6B44_normal_gump: db 'normal gump',0 SSZ004C6B50_framedata_in_CGump__CGump__: db 'framedata in CGump::CGump()',0 SSZ004C6B6C_framedata: db 'framedata',0 Align 4 SSZ004C6B78_frame_pBMP: db 'frame pBMP',0 Align 4 SSZ004C6B84_desktop_uo5: db 'desktop.uo5',0 SSZ004C6B90_desktop_uo4: db 'desktop.uo4',0 SSZ004C6B9C_desktop_uo3: db 'desktop.uo3',0 SSZ004C6BA8_desktop_uo2: db 'desktop.uo2',0 SSZ004C6BB4_desktop_uo1: db 'desktop.uo1',0 SSZ004C6BC0_radarcol_mul: db 'radarcol.mul',0 Align 4 SSZ004C6BD0_dumb_gump: db 'dumb gump',0 Align 4 SSZ004C6BDC_dumb_framedata: db 'dumb framedata',0 Align 4 SSZ004C6BEC_dumb_frame0_pBMP: db 'dumb frame0 pBMP',0 Align 4 SSZ004C6C00_sign_gump: db 'sign gump',0 Align 4 SSZ004C6C0C_sign_framedata: db 'sign framedata',0 Align 4 SSZ004C6C1C_sign_frame0_pBMP: db 'sign frame0 pBMP',0 Align 4 SSZ004C6C30_waiting_gump: db 'waiting gump',0 Align 4 SSZ004C6C40_waiting_framedata: db 'waiting framedata',0 Align 4 SSZ004C6C54_waiting_frame1_pBMP: db 'waiting frame1 pBMP',0 SSZ004C6C68_waiting_frame0_pBMP: db 'waiting frame0 pBMP',0 SSZ004C6C7C_status_frame1: db 'status frame1',0 Align 4 SSZ004C6C8C_status_framedata: db 'status framedata',0 Align 4 SSZ004C6CA0_status_frame1_pBMP: db 'status frame1 pBMP',0 Align 4 SSZ004C6CB4_status_frame0_pBMP: db 'status frame0 pBMP',0 Align 4 SSZ004C6CC8_Resurrect_With_Penalties: db 'Resurrect With Penalties',0 Align 4 SSZ004C6CE4_Play_As_Ghost: db 'Play As Ghost',0 Align 4 SSZ004C6CF4_DeathMenu_gump: db 'DeathMenu gump',0 Align 4 SSZ004C6D04_DeathMenu_framedata: db 'DeathMenu framedata',0 SSZ004C6D18_DeathMenu_frame0_pBMP: db 'DeathMenu frame0 pBMP',0 Align 4 SSZ004C6D30_Invalid_TGA_file_: db 'Invalid TGA file.',0 Align 4 L004C6D44: db 3Ah; ':' db 5Ch; '\' db 00h; db 00h; SSZ004C6D48_0001: db '0001',0 Align 4 SSZ004C6D50_DriverDesc: db 'DriverDesc',0 Align 4 SSZ004C6D5C_0000: db '0000',0 Align 4 SSZ004C6D64_Display: db 'Display',0 SSZ004C6D6C_Model: db 'Model',0 Align 4 SSZ004C6D74_Manufacturer: db 'Manufacturer',0 Align 4 SSZ004C6D84__04d: db '%04d',0 Align 4 SSZ004C6D8C_Modem: db 'Modem',0 Align 4 SSZ004C6D94_System_CurrentControlSet_Service: db 'System\CurrentControlSet\Services\Class\',0 Align 4 SSZ004C6DC0_timeZoneBias: db 'timeZoneBias',0 Align 4 SSZ004C6DD0_largestPartitionInMB: db 'largestPartitionInMB',0 Align 4 SSZ004C6DE8_totalRAMInMB: db 'totalRAMInMB',0 Align 4 SSZ004C6DF8_szModemDescrip: db 'szModemDescrip',0 Align 4 SSZ004C6E08_szModemManufacturer: db 'szModemManufacturer',0 SSZ004C6E1C_szVideoCardDescrip2: db 'szVideoCardDescrip2',0 SSZ004C6E30_szVideoCardDescrip1: db 'szVideoCardDescrip1',0 SSZ004C6E44_nProcessors: db 'nProcessors',0 SSZ004C6E50_processorClock: db 'processorClock',0 Align 4 SSZ004C6E60_processorType: db 'processorType',0 Align 4 SSZ004C6E70_SOFTWARE_Origin_Worlds_Online_Ul: db 'SOFTWARE\Origin Worlds Online\Ultima Online\1.0\HWProfile',0 db 00h; db 00h; db 73h; 's' db 6Bh; 'k' db 69h; 'i' db 6Ch; 'l' db 6Ch; 'l' db 73h; 's' db 2Eh; '.' db 6Dh; 'm' db 75h; 'u' db 6Ch; 'l' db 00h; db 00h; db 73h; 's' db 6Bh; 'k' db 69h; 'i' db 6Ch; 'l' db 6Ch; 'l' db 73h; 's' db 2Eh; '.' db 69h; 'i' db 64h; 'd' db 78h; 'x' db 00h; db 00h; db 6Dh; 'm' db 75h; 'u' db 6Ch; 'l' db 74h; 't' db 69h; 'i' db 2Eh; '.' db 6Dh; 'm' db 75h; 'u' db 6Ch; 'l' db 00h; db 00h; db 00h; db 6Dh; 'm' db 75h; 'u' db 6Ch; 'l' db 74h; 't' db 69h; 'i' db 2Eh; '.' db 69h; 'i' db 64h; 'd' db 78h; 'x' db 00h; db 00h; db 00h; db 67h; 'g' db 75h; 'u' db 6Dh; 'm' db 70h; 'p' db 61h; 'a' db 72h; 'r' db 74h; 't' db 2Eh; '.' db 6Dh; 'm' db 75h; 'u' db 6Ch; 'l' db 00h; db 67h; 'g' db 75h; 'u' db 6Dh; 'm' db 70h; 'p' db 69h; 'i' db 64h; 'd' db 78h; 'x' db 2Eh; '.' db 6Dh; 'm' db 75h; 'u' db 6Ch; 'l' db 00h; db 74h; 't' db 65h; 'e' db 78h; 'x' db 6Dh; 'm' db 61h; 'a' db 70h; 'p' db 73h; 's' db 2Eh; '.' db 6Dh; 'm' db 75h; 'u' db 6Ch; 'l' db 00h; db 74h; 't' db 65h; 'e' db 78h; 'x' db 69h; 'i' db 64h; 'd' db 78h; 'x' db 2Eh; '.' db 6Dh; 'm' db 75h; 'u' db 6Ch; 'l' db 00h; db 00h; db 73h; 's' db 6Fh; 'o' db 75h; 'u' db 6Eh; 'n' db 64h; 'd' db 2Eh; '.' db 6Dh; 'm' db 75h; 'u' db 6Ch; 'l' db 00h; db 00h; db 00h; db 73h; 's' db 6Fh; 'o' db 75h; 'u' db 6Eh; 'n' db 64h; 'd' db 69h; 'i' db 64h; 'd' db 78h; 'x' db 2Eh; '.' db 6Dh; 'm' db 75h; 'u' db 6Ch; 'l' db 00h; db 00h; db 00h; db 00h; db 61h; 'a' db 6Eh; 'n' db 69h; 'i' db 6Dh; 'm' db 2Eh; '.' db 6Dh; 'm' db 75h; 'u' db 6Ch; 'l' db 00h; db 00h; db 00h; db 00h; db 61h; 'a' db 6Eh; 'n' db 69h; 'i' db 6Dh; 'm' db 2Eh; '.' db 69h; 'i' db 64h; 'd' db 78h; 'x' db 00h; db 00h; db 00h; db 00h; db 61h; 'a' db 72h; 'r' db 74h; 't' db 2Eh; '.' db 6Dh; 'm' db 75h; 'u' db 6Ch; 'l' db 00h; db 61h; 'a' db 72h; 'r' db 74h; 't' db 69h; 'i' db 64h; 'd' db 78h; 'x' db 2Eh; '.' db 6Dh; 'm' db 75h; 'u' db 6Ch; 'l' db 00h; db 00h; db 73h; 's' db 74h; 't' db 61h; 'a' db 74h; 't' db 69h; 'i' db 63h; 'c' db 73h; 's' db 30h; '0' db 2Eh; '.' db 6Dh; 'm' db 75h; 'u' db 6Ch; 'l' db 00h; db 00h; db 00h; db 00h; db 73h; 's' db 74h; 't' db 61h; 'a' db 69h; 'i' db 64h; 'd' db 78h; 'x' db 30h; '0' db 2Eh; '.' db 6Dh; 'm' db 75h; 'u' db 6Ch; 'l' db 00h; SSZ004C6F70_map0_mul: db 'map0.mul',0 Align 4 SSZ004C6F7C_verdata_mul: db 'verdata.mul',0 SSZ004C6F88_Failed_to_open___s__from_HD_usin: db 'Failed to open ',27h,'%s',27h,' from HD using a maximum install. Either this file is not readable, your system needs to be rebooted, or the file does not exist and you either need to reinstall or switch to a non-maximum install.',0 Align 4 SSZ004C7064_Unable_to_open_file: db 'Unable to open file',0 SSZ004C7078_Failed_to_open___s__both_from_CD: db 'Failed to open ',27h,'%s',27h,' both from CD and HD.',0 Align 4 SSZ004C70A4_cache_uo: db 'cache.uo',0 Align 4 SSZ004C70B0_You_are_using_a_maximum_install_: db 'You are using a maximum install, but do not have your CdRomDataPath set to the installed directory in your uo.cfg file. With a maximum install, this should not point to your cdrom drive, but instead to the location where the files are installed.',0 Align 4 L004C71A8: db 72h; 'r' db 2Bh; '+' db 62h; 'b' db 00h; SSZ004C71AC_Cache_is_entirely_filled_with_ve: db 'Cache is entirely filled with versioned data. Please increase your cache size, or buy an updated cd.',0 Align 4 SSZ004C7214_Caching_Error: db 'Caching Error',0 Align 4 L004C7224: db 01h; db 00h; db 00h; db 00h; L004C7228: dd 000003E8h L004C722C: dd 000003FFh L004C7230: dd 00000001h L004C7234: db 01h; db 00h; db 00h; db 00h; SSZ004C7238_english: db 'english',0 SSZ004C7240_hues_mul: db 'hues.mul',0 Align 4 SSZ004C724C_hue_gump: db 'hue gump',0 Align 4 SSZ004C7258_hue_framedata: db 'hue framedata',0 Align 4 SSZ004C7268_hue_frame0_pBMP: db 'hue frame0 pBMP',0 SSZ004C7278___c_c_c_c__: db 27h,'%c%c%c%c',27h,'.',0 SSZ004C7284__Tag_at_current_position___: db ' Tag at current position = ',0 L004C72A0: db 2Fh; '/' db 00h; db 00h; db 00h; SSZ004C72A4___Path_: db ', Path:',0 SSZ004C72AC_File_: db 'File:',0 Align 4 SSZ004C72B4_bool_Iff__enterForm__IffTag_tag_: db 'bool Iff::enterForm (IffTag tag)',0 Align 4 SSZ004C72D8_Cannot_enter_FORM___c_c_c_c_: db 'Cannot enter FORM ',27h,'%c%c%c%c',27h,0 Align 4 SSZ004C72F8_bool_Iff__enterChunk__IffTag_tag: db 'bool Iff::enterChunk (IffTag tag)',0 Align 4 SSZ004C731C_Cannot_enter_CHUNK___c_c_c_c_: db 'Cannot enter CHUNK ',27h,'%c%c%c%c',27h,0 Align 4 SSZ004C733C_depth____0__Cannot_exit_CHUNK: db 'depth <= 0. Cannot exit CHUNK',0 Align 4 SSZ004C735C_depth____0__Cannot_exit_CHUNK___: db 'depth <= 0. Cannot exit CHUNK ',27h,'%c%c%c%c',27h,0 Align 4 SSZ004C7388_bool_Iff__exitChunk__IffTag_tag_: db 'bool Iff::exitChunk (IffTag tag)',0 Align 4 SSZ004C73AC_extra_data_in_CHUNK: db 'extra data in CHUNK',0 SSZ004C73C0_bool_Iff__exitForm__IffTag_tag_: db 'bool Iff::exitForm (IffTag tag)',0 SSZ004C73E0_depth____0__Cannot_exit_FORM: db 'depth <= 0. Cannot exit FORM',0 Align 4 SSZ004C7400_depth____0__Cannot_exit_FORM___c: db 'depth <= 0. Cannot exit FORM ',27h,'%c%c%c%c',27h,0 SSZ004C7428_unsigned_int_Iff__charsLeft__voi: db 'unsigned int Iff::charsLeft (void)',0 Align 4 SSZ004C744C_depth____0: db 'depth <= 0',0 Align 4 SSZ004C7458_void_Iff__skipString: db 'void Iff::skipString',0 Align 4 SSZ004C7470_At_end_of_CHUNK__Not_enough_data: db 'At end of CHUNK. Not enough data ?',0 Align 4 SSZ004C7494_void_Iff__readString: db 'void Iff::readString',0 Align 4 SSZ004C74AC_int_Iff__readInt32: db 'int Iff::readInt32',0 db 00h; db 01h; db 00h; db 00h; db 00h; db D9h; '™' db 03h; db 00h; db 00h; db 98h; '?' db 75h; 'u' db 4Ch; 'L' db 00h; db 8Ch; '?' db 75h; 'u' db 4Ch; 'L' db 00h; db 84h; '"' db 75h; 'u' db 4Ch; 'L' db 00h; db 7Ch; '|' db 75h; 'u' db 4Ch; 'L' db 00h; db 74h; 't' db 75h; 'u' db 4Ch; 'L' db 00h; db 6Ch; 'l' db 75h; 'u' db 4Ch; 'L' db 00h; db C0h; '€' db 77h; 'w' db 4Dh; 'M' db 00h; db 00h; db 00h; db 00h; db 00h; L004C74E8: dd 0000000Ah L004C74EC: dd L004C7568 db 0Bh; db 00h; db 00h; db 00h; db 60h; '`' db 75h; 'u' db 4Ch; 'L' db 00h; db 14h; db 00h; db 00h; db 00h; db 58h; 'X' db 75h; 'u' db 4Ch; 'L' db 00h; db C9h; '‰' db 00h; db 00h; db 00h; db 4Ch; 'L' db 75h; 'u' db 4Ch; 'L' db 00h; db C7h; '‡' db 00h; db 00h; db 00h; db 44h; 'D' db 75h; 'u' db 4Ch; 'L' db 00h; db CAh; 'Š' db 00h; db 00h; db 00h; db 3Ch; '<' db 75h; 'u' db 4Ch; 'L' db 00h; db CBh; '‹' db 00h; db 00h; db 00h; db 34h; '4' db 75h; 'u' db 4Ch; 'L' db 00h; db CCh; 'Œ' db 00h; db 00h; db 00h; db 30h; '0' db 75h; 'u' db 4Ch; 'L' db 00h; db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 00h; db 00h; db 00h; db 00h; db 61h; 'a' db 00h; db 00h; db 00h; db 76h; 'v' db 65h; 'e' db 72h; 'r' db 73h; 's' db 69h; 'i' db 6Fh; 'o' db 6Eh; 'n' db 00h; db 68h; 'h' db 65h; 'e' db 6Ch; 'l' db 70h; 'p' db 6Dh; 'm' db 65h; 'e' db 00h; db 00h; db 61h; 'a' db 63h; 'c' db 74h; 't' db 69h; 'i' db 6Fh; 'o' db 6Eh; 'n' db 00h; db 00h; db 66h; 'f' db 75h; 'u' db 6Ch; 'l' db 6Ch; 'l' db 73h; 's' db 63h; 'c' db 72h; 'r' db 65h; 'e' db 65h; 'e' db 6Eh; 'n' db 00h; db 00h; db 71h; 'q' db 75h; 'u' db 65h; 'e' db 72h; 'r' db 79h; 'y' db 00h; db 00h; db 00h; db 77h; 'w' db 68h; 'h' db 65h; 'e' db 72h; 'r' db 65h; 'e' db 00h; db 00h; db 00h; L004C7568: db 77h; 'w' db 68h; 'h' db 6Fh; 'o' db 00h; db 43h; 'C' db 6Fh; 'o' db 6Dh; 'm' db 6Dh; 'm' db 61h; 'a' db 6Eh; 'n' db 64h; 'd' db 00h; db 54h; 'T' db 61h; 'a' db 6Ch; 'l' db 6Bh; 'k' db 00h; db 00h; db 00h; db 00h; db 54h; 'T' db 65h; 'e' db 6Ch; 'l' db 6Ch; 'l' db 00h; db 00h; db 00h; db 00h; SSZ004C7584_Emote: db 'Emote',0 db 00h; db 00h; db 42h; 'B' db 72h; 'r' db 6Fh; 'o' db 61h; 'a' db 64h; 'd' db 63h; 'c' db 61h; 'a' db 73h; 's' db 74h; 't' db 00h; db 00h; db 00h; L004C7598: db 53h; 'S' db 61h; 'a' db 79h; 'y' db 00h; SSZ004C759C__s__d: db '%s %d',0 Align 4 SSZ004C75A4_You_are_at___d__d__d_in__s_: db 'You are at: %d %d %d in %s.',0 SSZ004C75C0___s__s: db '.%s %s',0 Align 4 SSZ004C75C8_Broadcast__: db 'Broadcast: ',0 SSZ004C75D4_Command__: db 'Command: ',0 Align 4 SSZ004C75E0_Yell__: db 'Yell: ',0 Align 4 SSZ004C75E8_Whisper__: db 'Whisper: ',0 Align 4 SSZ004C75F4_Emote__: db 'Emote: ',0 L004C75FC: dd L00756E65 SSZ004C7600_English: db 'English',0 SSZ004C7608_United_States: db 'United States',0 db 00h; db 00h; SSZ004C7618___ul__not_setting_user_language_: db '! ul. not setting user language code',0 Align 4 SSZ004C7640_LanguageManager__setUserLanguage: db 'LanguageManager::setUserLanguageCodeString:',0 L004C766C: db 45h; 'E' db 4Eh; 'N' db 55h; 'U' db 00h; SSZ004C7670_intl: db 'intl',0 Align 4 SSZ004C7678_sLanguage: db 'sLanguage',0 Align 4 SSZ004C7684_default: db 'default',0 SSZ004C768C_Ignoring_Unusually_large_CHUNK_C: db 'Ignoring Unusually large CHUNK CODE.',0 Align 4 SSZ004C76B4_Very_Strange_Error__Maybe_Premat: db 'Very Strange Error. Maybe Premature EOF?',0 Align 4 SSZ004C76E0_LanguageManager__loadLanguageCod: db 'LanguageManager::loadLanguageCodes:',0 SSZ004C7704_Ignoring_Unexpected_FORM_or_CHUN: db 'Ignoring Unexpected FORM or CHUNK.',0 Align 4 SSZ004C7728_langcode_iff: db 'langcode.iff',0 Align 4 L004C7738: db 5Ch; '\' db 00h; db 00h; db 00h; L004C773C: db 2Eh; '.' db 00h; db 00h; db 00h; SSZ004C7740_language: db 'language',0 Align 4 SSZ004C774C__dgen: db '%dgen',0 Align 4 SSZ004C7754_options: db 'options',0 SSZ004C775C_skilname: db 'skilname',0 Align 4 SSZ004C7768_intro: db 'intro',0 Align 4 SSZ004C7770_no_section___s__found_for_langua: db 'no section <%s> found for language <%s> in file <%s>',0Ah,0 Align 4 SSZ004C77A8___getLanguageName_____no_section: db '! getLanguageName() & no section <%s> found in file <%s>',0Ah,0 Align 4 SSZ004C77E4_LanguageManager__loadSection_: db 'LanguageManager::loadSection:',0 Align 4 SSZ004C7804_cannot_new_LanguageSection: db 'cannot new LanguageSection',0 Align 4 SSZ004C7820_TOO_MUCH_DATA__Check_string_coun: db 'TOO MUCH DATA! Check string count.',0 Align 4 SSZ004C7844_LanguageSection__loadText_: db 'LanguageSection::loadText:',0 Align 4 SSZ004C7860_NOT_ENOUGH_DATA__Check_string_co: db 'NOT ENOUGH DATA! Check string count.',0 Align 4 SSZ004C7888_stringCount____0_: db 'stringCount <= 0.',0 Align 4 SSZ004C789C_Illegal_character_size_: db 'Illegal character size.',0 SSZ004C78B4_Extra_data_in_CHUNK_INFO_: db 'Extra data in CHUNK INFO.',0 Align 4 SSZ004C78D0_LanguageSection__load_: db 'LanguageSection::load:',0 Align 4 SSZ004C78E8_cannot_open_file___s__: db 'cannot open file <%s>',0Ah,0 Align 4 SSZ004C7900_string_number___d__is_NULL___: db 'string number (%d) is NULL !',0Ah,0 Align 4 SSZ004C7920_LanguageSection__getStr_: db 'LanguageSection::getStr:',0 Align 4 SSZ004C793C_given_string_number___d__out_of_: db 'given string number (%d) out of range (0-%d)',0Ah,0 Align 4 SSZ004C796C_LanguageSection__getStrForFrame_: db 'LanguageSection::getStrForFrame:',0 Align 4 SSZ004C7990_no_frame_timing_information: db 'no frame timing information',0 Align 8 L004C79B0: db 3Eh; '>' db 3Fh; '?' db 3Eh; '>' db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L004C79BF: db 00h; db 00h; db 00h; db 00h; db 00h; L004C79C4: db 53h; 'S' L004C79C5: db 00h; db 00h; db 00h; L004C79C8: db 53h; 'S' L004C79C9: db 00h; db 00h; db 00h; L004C79CC: db 01h; db 00h; db 00h; db 00h; L004C79D0: db 01h; db 00h; db 00h; db 00h; L004C79D4: dd 00000001h SSZ004C79D8_must_specify_IP_address___port_n: db 'must specify IP address & port number for Translation Server',0 Align 4 SSZ004C7A18_currently_no_support_for_transla: db 'currently no support for translationServerIPAddress != 0x7f000001 (127.0.0.1)',0 Align 4 SSZ004C7A68_LanguageTranslationServer__insta: db 'LanguageTranslationServer::install:',0 SSZ004C7A8C_LanguageTranslationServer__setUs: db 'LanguageTranslationServer::setUserLanguageCode:',0 SSZ004C7ABC_LanguageTranslationServer__spawn: db 'LanguageTranslationServer::spawnTranslationServer:',0 Align 4 SSZ004C7AF0_Unknown_error_number: db 'Unknown error number',0 Align 4 SSZ004C7B08_Not_enough_memory_is_available_t: db 'Not enough memory is available to execute new process',0 Align 4 SSZ004C7B40_Specified_file_is_not_executable: db 'Specified file is not executable or has invalid executable-file format',0 Align 4 SSZ004C7B88_File_not_found____s: db 'File not found:',0Ah,' %s',0 SSZ004C7B9C_mode_argument_is_invalid: db 'mode argument is invalid',0 Align 4 SSZ004C7BB8_Argument_list_exceeds_1024_bytes: db 'Argument list exceeds 1024 bytes',0 Align 4 SSZ004C7BDC_TranServ_exe: db 'TranServ.exe',0 Align 4 SSZ004C7BEC__d__s: db '-d=%s',0 Align 4 SSZ004C7BF4__p__d: db '-p=%d',0 Align 4 SSZ004C7BFC_TranServ_TranServ_exe: db 'TranServ\TranServ.exe',0 Align 4 SSZ004C7C14_Packet_already_translated_: db 'Packet already translated!',0 Align 4 SSZ004C7C30_LanguageTranslationServer__Packe: db 'LanguageTranslationServer::Packet::update:',0 Align 4 SSZ004C7C5C_Warning__Text_Id_has_wrapped__Re: db 'Warning. Text Id has wrapped. Restarting at id=1.',0 Align 4 SSZ004C7C90_LanguageTranslationServer__Packe: db 'LanguageTranslationServer::Packet::generateId:',0 Align 4 SSZ004C7CC0_framedata_for_CMapGump: db 'framedata for CMapGump',0 Align 4 SSZ004C7CD8_map_gump: db 'map gump',0 Align 4 SSZ004C7CE4_At___d___d___Going_to___d___d___: db 'At: %d, %d. Going to: %d, %d. dx,dy: %d, %d. Dir: %d',0 SSZ004C7D1C_This_may_flag_you_criminal_: db 'This may flag you criminal!',0 SSZ004C7D38_Now_following_: db 'Now following.',0 Align 4 SSZ004C7D48_Not_following_: db 'Not following.',0 Align 4 SSZ004C7D58_Stopped_following_: db 'Stopped following.',0 Align 4 SSZ004C7D6C_This_will_lower_notoriety__: db 'This will lower notoriety !',0 SSZ004C7D88_Pathfinding_: db 'Pathfinding!',0 Align 4 SSZ004C7D98_Can_t_get_there: db 'Can',27h,'t get there',0 SSZ004C7DA8_GameAreaEdge_frame0: db 'GameAreaEdge frame0',0 SSZ004C7DBC_GameAreaEdge_framedata: db 'GameAreaEdge framedata',0 Align 4 SSZ004C7DD4_GameAreaEdgeGump: db 'GameAreaEdgeGump',0 Align 4 L004C7DE8: dd 00000000h db 01h; db 00h; db 00h; db 00h; db 01h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L004C7DF8: dd 00000000h db 00h; db 00h; db 00h; db 00h; db 01h; db 00h; db 00h; db 00h; db 01h; db 00h; db 00h; db 00h; L004C7E08: dd 00000004h db 05h; db 00h; db 00h; db 00h; db 06h; db 00h; db 00h; db 00h; db 07h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 01h; db 00h; db 00h; db 00h; db 02h; db 00h; db 00h; db 00h; L004C7E24: dd 00000003h L004C7E28: dd 00000000h L004C7E2C: dd 00000001h db 01h; db 00h; db 00h; db 00h; db 01h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 00h; db 00h; db 00h; db 00h; L004C7E4C: dd 00000001h L004C7E50: dd FFFFFFFFh L004C7E54: dd FFFFFFFFh db 00h; db 00h; db 00h; db 00h; db 01h; db 00h; db 00h; db 00h; db 01h; db 00h; db 00h; db 00h; db 01h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' L004C7E78: dd 00000014h SSZ004C7E7C_Someone_tried_to_call_GetZVal_wi: db 'Someone tried to call GetZVal with theDir not between 0 and 7',0 Align 4 SSZ004C7EBC_Someone_tried_to_call_GetZVal_wi: db 'Someone tried to call GetZVal with theOffset not between 0 and 2',0 Align 4 SSZ004C7F00_Bugger: db 'Bugger',0 Align 4 SSZ004C7F08_ouch_: db 'ouch!',0 Align 4 SSZ004C7F10_Pathfinding_to__d___d___d_: db 'Pathfinding to %d, %d, %d.',0 db 00h; db 00h; db 00h; db 00h; db 00h; L004C7F30: dd L004C7738 L004C7F34: dd 00000280h L004C7F38: dd 000001E0h L004C7F3C: dd FFFFFFFFh L004C7F40: dd FFFFFFFFh L004C7F44: dd FFFFFFFFh L004C7F48: dd FFFFFFFFh db 00h; db 00h; db 00h; db 00h; L004C7F50: dd SSZ004C8DDC_Clumsy__Uus_Jux_ db 00h; db 00h; db 00h; db 00h; db C0h; '€' db 8Dh; '?' db 4Ch; 'L' db 00h; db 00h; db 00h; db 00h; db 00h; db A8h; 'ð' db 8Dh; '?' db 4Ch; 'L' db 00h; db 00h; db 00h; db 00h; db 00h; db 98h; '?' db 8Dh; '?' db 4Ch; 'L' db 00h; db 00h; db 00h; db 00h; db 00h; db 7Ch; '|' db 8Dh; '?' db 4Ch; 'L' db 00h; db 00h; db 00h; db 00h; db 00h; db 64h; 'd' db 8Dh; '?' db 4Ch; 'L' db 00h; db 00h; db 00h; db 00h; db 00h; db 48h; 'H' db 8Dh; '?' db 4Ch; 'L' db 00h; db 00h; db 00h; db 00h; db 00h; db 34h; '4' db 8Dh; '?' db 4Ch; 'L' db 00h; db 00h; db 00h; db 00h; db 00h; db 20h; ' ' db 8Dh; '?' db 4Ch; 'L' db 00h; db 00h; db 00h; db 00h; db 00h; db 0Ch; db 8Dh; '?' db 4Ch; 'L' db 00h; db 00h; db 00h; db 00h; db 00h; db FCh; 'ì' db 8Ch; '?' db 4Ch; 'L' db 00h; db 00h; db 00h; db 00h; db 00h; db ECh; '¬' db 8Ch; '?' db 4Ch; 'L' db 00h; db 00h; db 00h; db 00h; db 00h; db D8h; '˜' db 8Ch; '?' db 4Ch; 'L' db 00h; db 00h; db 00h; db 00h; db 00h; db C0h; '€' db 8Ch; '?' db 4Ch; 'L' db 00h; db 00h; db 00h; db 00h; db 00h; db A8h; 'ð' db 8Ch; '?' db 4Ch; 'L' db 00h; db 00h; db 00h; db 00h; db 00h; db 94h; '"' db 8Ch; '?' db 4Ch; 'L' db 00h; db 00h; db 00h; db 00h; db 00h; db 80h; '?' db 8Ch; '?' db 4Ch; 'L' db 00h; db 00h; db 00h; db 00h; db 00h; db 6Ch; 'l' db 8Ch; '?' db 4Ch; 'L' db 00h; db 00h; db 00h; db 00h; db 00h; db 58h; 'X' db 8Ch; '?' db 4Ch; 'L' db 00h; db 00h; db 00h; db 00h; db 00h; db 48h; 'H' db 8Ch; '?' db 4Ch; 'L' db 00h; db 00h; db 00h; db 00h; db 00h; db 2Ch; ',' db 8Ch; '?' db 4Ch; 'L' db 00h; db 00h; db 00h; db 00h; db 00h; db 18h; db 8Ch; '?' db 4Ch; 'L' db 00h; db 00h; db 00h; db 00h; db 00h; db 08h; db 8Ch; '?' db 4Ch; 'L' db 00h; db 00h; db 00h; db 00h; db 00h; db E8h; '¨' db 8Bh; '<' db 4Ch; 'L' db 00h; db 00h; db 00h; db 00h; db 00h; db D0h; '' db 8Bh; '<' db 4Ch; 'L' db 00h; db 00h; db 00h; db 00h; db 00h; db B0h; 'ø' db 8Bh; '<' db 4Ch; 'L' db 00h; db 00h; db 00h; db 00h; db 00h; db 9Ch; '?' db 8Bh; '<' db 4Ch; 'L' db 00h; db 00h; db 00h; db 00h; db 00h; db 80h; '?' db 8Bh; '<' db 4Ch; 'L' db 00h; db 00h; db 00h; db 00h; db 00h; db 64h; 'd' db 8Bh; '<' db 4Ch; 'L' db 00h; db 00h; db 00h; db 00h; db 00h; db 48h; 'H' db 8Bh; '<' db 4Ch; 'L' db 00h; db 00h; db 00h; db 00h; db 00h; db 30h; '0' db 8Bh; '<' db 4Ch; 'L' db 00h; db 00h; db 00h; db 00h; db 00h; db 18h; db 8Bh; '<' db 4Ch; 'L' db 00h; db 00h; db 00h; db 00h; db 00h; db F8h; 'è' db 8Ah; '?' db 4Ch; 'L' db 00h; db 00h; db 00h; db 00h; db 00h; db E0h; ' ' db 8Ah; '?' db 4Ch; 'L' db 00h; db 00h; db 00h; db 00h; db 00h; db C8h; 'ˆ' db 8Ah; '?' db 4Ch; 'L' db 00h; db 00h; db 00h; db 00h; db 00h; db A8h; 'ð' db 8Ah; '?' db 4Ch; 'L' db 00h; db 00h; db 00h; db 00h; db 00h; db 8Ch; '?' db 8Ah; '?' db 4Ch; 'L' db 00h; db 00h; db 00h; db 00h; db 00h; db 74h; 't' db 8Ah; '?' db 4Ch; 'L' db 00h; db 00h; db 00h; db 00h; db 00h; db 58h; 'X' db 8Ah; '?' db 4Ch; 'L' db 00h; db 00h; db 00h; db 00h; db 00h; db 3Ch; '<' db 8Ah; '?' db 4Ch; 'L' db 00h; db 00h; db 00h; db 00h; db 00h; db 2Ch; ',' db 8Ah; '?' db 4Ch; 'L' db 00h; db 00h; db 00h; db 00h; db 00h; db 14h; db 8Ah; '?' db 4Ch; 'L' db 00h; db 00h; db 00h; db 00h; db 00h; db F8h; 'è' db 89h; '%' db 4Ch; 'L' db 00h; db 00h; db 00h; db 00h; db 00h; db DCh; 'œ' db 89h; '%' db 4Ch; 'L' db 00h; db 00h; db 00h; db 00h; db 00h; db C8h; 'ˆ' db 89h; '%' db 4Ch; 'L' db 00h; db 00h; db 00h; db 00h; db 00h; db ACh; '¿' db 89h; '%' db 4Ch; 'L' db 00h; db 00h; db 00h; db 00h; db 00h; db 90h; '?' db 89h; '%' db 4Ch; 'L' db 00h; db 00h; db 00h; db 00h; db 00h; db 7Ch; '|' db 89h; '%' db 4Ch; 'L' db 00h; db 00h; db 00h; db 00h; db 00h; db 5Ch; '\' db 89h; '%' db 4Ch; 'L' db 00h; db 00h; db 00h; db 00h; db 00h; db 3Ch; '<' db 89h; '%' db 4Ch; 'L' db 00h; db 00h; db 00h; db 00h; db 00h; db 20h; ' ' db 89h; '%' db 4Ch; 'L' db 00h; db 00h; db 00h; db 00h; db 00h; db 04h; db 89h; '%' db 4Ch; 'L' db 00h; db 00h; db 00h; db 00h; db 00h; db E8h; '¨' db 88h; '?' db 4Ch; 'L' db 00h; db 00h; db 00h; db 00h; db 00h; db CCh; 'Œ' db 88h; '?' db 4Ch; 'L' db 00h; db 00h; db 00h; db 00h; db 00h; db A8h; 'ð' db 88h; '?' db 4Ch; 'L' db 00h; db 00h; db 00h; db 00h; db 00h; db 8Ch; '?' db 88h; '?' db 4Ch; 'L' db 00h; db 00h; db 00h; db 00h; db 00h; db 74h; 't' db 88h; '?' db 4Ch; 'L' db 00h; db 00h; db 00h; db 00h; db 00h; db 54h; 'T' db 88h; '?' db 4Ch; 'L' db 00h; db 00h; db 00h; db 00h; db 00h; db 3Ch; '<' db 88h; '?' db 4Ch; 'L' db 00h; db 00h; db 00h; db 00h; db 00h; db 18h; db 88h; '?' db 4Ch; 'L' db 00h; db 00h; db 00h; db 00h; db 00h; db F4h; 'ä' db 87h; 'Ø' db 4Ch; 'L' db 00h; db 00h; db 00h; db 00h; db 00h; db D0h; '' db 87h; 'Ø' db 4Ch; 'L' db 00h; db 00h; db 00h; db 00h; db 00h; db ACh; '¿' db 87h; 'Ø' db 4Ch; 'L' db 00h; db 00h; db 00h; db 00h; db 00h; db 88h; '?' db 87h; 'Ø' db 4Ch; 'L' db 00h; db 00h; db 00h; db 00h; db 00h; db C0h; '€' db 77h; 'w' db 4Dh; 'M' db 00h; db 00h; db 00h; db 00h; db 00h; L004C8158: dd L004C8784 dd SSZ004C877C_I_M_Y dd L004C8778 dd L004C8774 dd SSZ004C876C_I_P_Y dd L004C8768 dd L004C8764 dd L004C8760 dd L004C875C dd L004C8758 dd L004C8754 dd L004C8750 dd L004C874C dd L004C8748 dd L004C8744 dd L004C8740 dd L004C873C dd L004C8738 dd L004C8734 dd L004C8730 dd SSZ004C8728_O_P_Y dd L004C8724 dd L004C8720 dd SSZ004C8718_I_S_Y dd SSZ004C8710_V_A_N dd SSZ004C8708_V_U_S dd L004C8704 dd SSZ004C86FC_I_F_G dd SSZ004C86F4_I_V_M dd SSZ004C86EC_P_O_G dd L004C86E8 dd SSZ004C86E0_K_O_P dd SSZ004C86D8_I_J_H_Y dd L004C86D4 dd SSZ004C86CC_K_I_E dd SSZ004C86C4_I_J_S dd SSZ004C86BC_P_C_W dd SSZ004C86B4_A_E_P dd SSZ004C86AC_I_N_G dd L004C86A8 dd L004C86A4 dd L004C86A0 dd SSZ004C8698_V_O_F dd SSZ004C8690_A_L_X dd SSZ004C8688_K_P_Y dd SSZ004C8680_V_D_S dd SSZ004C8678_I_E_G dd L004C8674 dd SSZ004C866C_V_O_G dd SSZ004C8664_I_S_G dd SSZ004C865C_K_V_F dd SSZ004C8654_V_R_P dd L004C8650 dd SSZ004C8648_V_A_O dd SSZ004C8640_K_D_F_Y dd SSZ004C8638_V_Y_R dd SSZ004C8630_I_V_P dd SSZ004C8628_V_C_P dd L004C8624 dd SSZ004C861C_K_V_X_H dd SSZ004C8614_K_V_X_C dd SSZ004C860C_K_V_X_Y dd SSZ004C8604_K_V_X_F dd SSZ004C85FC_KVXAF dd L004D77C0 db 00h; db 00h; db 00h; db 00h; L004C8260: dd L004C85F8 dd L004C85F4 dd L004C85F0 dd L004C85EC dd L004C85E8 dd L004C85E4 dd L004C85E0 dd L004C85DC dd L004C85D8 dd L004C85D4 dd L004C85D0 dd L004C85CC dd L004C85E0 dd L004C85C8 dd L004C85C4 dd L004C85D4 dd L004C85C0 dd L004C85BC dd L004C85B8 dd L004C4E64 dd L004C85D8 dd L004C85D8 dd L004C85C8 dd L004C85B4 dd L004C85F4 dd SSZ004C85AC_3457 dd L004C85A8 dd L004C85A4 dd SSZ004C859C_3456 dd L004C8598 dd L004C8594 dd L004C8590 dd L004C858C dd SSZ004C8584_3867 dd L004C8580 dd L004C857C dd SSZ004C8574_8527 dd L004C857C dd L004C8570 dd L004C856C dd L004C8568 dd L004C85E8 dd L004C8598 dd L004C85F8 dd L004C8590 dd SSZ004C8560_3527 dd L004C855C dd L004C85C8 dd SSZ004C8554_8517 dd SSZ004C854C_8567 dd L004C85E4 dd L004C8598 dd SSZ004C8544_8156 dd SSZ004C853C_8357 dd SSZ004C8534_1657 dd L004C856C dd SSZ004C852C_1457 dd SSZ004C8524_8152 dd L004C8520 dd L004C856C dd SSZ004C8518_1567 dd L004C856C dd SSZ004C8518_1567 dd L004C856C dd L004D77C0 db 00h; db 00h; db 00h; db 00h; L004C8368: dd SSZ004C8510_Origin dd L004C850C dd SSZ004C84FC_invulnerable dd SSZ004C84F0_squelched dd SSZ004C84E8_frozen db 00h; db 00h; db 00h; db 00h; L004C8380: dd SSZ004C84E0_Adept dd SSZ004C4878_Alchemist dd SSZ004C84D4_Apprentice dd SSZ004C84CC_Archer dd SSZ004C485C_Assassin dd SSZ004C4854_Bard dd SSZ004C84C4_Beggar dd SSZ004C84B8_Blackthorn dd SSZ004C84AC_Blackthorne dd SSZ004C4840_Bowyer dd SSZ004C84A4_British dd SSZ004C8498_Carpenter dd SSZ004C8490_Chef dd SSZ004C8488_Expert dd SSZ004C847C_Fisherman dd SSZ004C8470_Grandmaster dd SSZ004C4838_Healer dd SSZ004C8464_Journeyman dd L004C8460 dd SSZ004C8458_Mage dd SSZ004C8450_Master dd SSZ004C8448_Medium dd SSZ004C843C_Merchant dd SSZ004C8430_Neophyte dd SSZ004C8428_Novice dd SSZ004C4830_Ranger dd SSZ004C8420_Rogue dd SSZ004C8418_Scholar dd SSZ004C8410_Smith dd SSZ004C8408_Tailor dd SSZ004C4814_Tinker dd SSZ004C4804_Warrior db 00h; db 00h; db 00h; db 00h; L004C8404: dd FFFFFFFFh SSZ004C8408_Tailor: db 'Tailor',0 Align 4 SSZ004C8410_Smith: db 'Smith',0 Align 4 SSZ004C8418_Scholar: db 'Scholar',0 SSZ004C8420_Rogue: db 'Rogue',0 Align 4 SSZ004C8428_Novice: db 'Novice',0 Align 4 SSZ004C8430_Neophyte: db 'Neophyte',0 Align 4 SSZ004C843C_Merchant: db 'Merchant',0 Align 4 SSZ004C8448_Medium: db 'Medium',0 Align 4 SSZ004C8450_Master: db 'Master',0 Align 4 SSZ004C8458_Mage: db 'Mage',0 Align 4 L004C8460: db 4Ch; 'L' db 42h; 'B' db 00h; db 00h; SSZ004C8464_Journeyman: db 'Journeyman',0 Align 4 SSZ004C8470_Grandmaster: db 'Grandmaster',0 SSZ004C847C_Fisherman: db 'Fisherman',0 Align 4 SSZ004C8488_Expert: db 'Expert',0 Align 4 SSZ004C8490_Chef: db 'Chef',0 Align 4 SSZ004C8498_Carpenter: db 'Carpenter',0 Align 4 SSZ004C84A4_British: db 'British',0 SSZ004C84AC_Blackthorne: db 'Blackthorne',0 SSZ004C84B8_Blackthorn: db 'Blackthorn',0 Align 4 SSZ004C84C4_Beggar: db 'Beggar',0 Align 4 SSZ004C84CC_Archer: db 'Archer',0 Align 4 SSZ004C84D4_Apprentice: db 'Apprentice',0 Align 4 SSZ004C84E0_Adept: db 'Adept',0 Align 4 SSZ004C84E8_frozen: db 'frozen',0 Align 4 SSZ004C84F0_squelched: db 'squelched',0 Align 4 SSZ004C84FC_invulnerable: db 'invulnerable',0 Align 4 L004C850C: db 4Fh; 'O' db 53h; 'S' db 49h; 'I' db 00h; SSZ004C8510_Origin: db 'Origin',0 Align 4 SSZ004C8518_1567: db '1567',0 Align 4 L004C8520: db 31h; '1' db 33h; '3' db 34h; '4' db 00h; SSZ004C8524_8152: db '8152',0 Align 4 SSZ004C852C_1457: db '1457',0 Align 4 SSZ004C8534_1657: db '1657',0 Align 4 SSZ004C853C_8357: db '8357',0 Align 4 SSZ004C8544_8156: db '8156',0 Align 4 SSZ004C854C_8567: db '8567',0 Align 4 SSZ004C8554_8517: db '8517',0 Align 4 L004C855C: db 38h; '8' db 34h; '4' db 36h; '6' db 00h; SSZ004C8560_3527: db '3527',0 Align 4 L004C8568: db 33h; '3' db 35h; '5' db 37h; '7' db 00h; L004C856C: db 31h; '1' db 35h; '5' db 36h; '6' db 00h; L004C8570: db 38h; '8' db 32h; '2' db 36h; '6' db 00h; SSZ004C8574_8527: db '8527',0 Align 4 L004C857C: db 33h; '3' db 35h; '5' db 36h; '6' db 00h; L004C8580: db 31h; '1' db 33h; '3' db 32h; '2' db 00h; SSZ004C8584_3867: db '3867',0 Align 4 L004C858C: db 38h; '8' db 35h; '5' db 32h; '2' db 00h; L004C8590: db 38h; '8' db 31h; '1' db 35h; '5' db 00h; L004C8594: db 38h; '8' db 35h; '5' db 36h; '6' db 00h; L004C8598: db 38h; '8' db 35h; '5' db 37h; '7' db 00h; SSZ004C859C_3456: db '3456',0 Align 4 L004C85A4: db 38h; '8' db 36h; '6' db 37h; '7' db 00h; L004C85A8: db 33h; '3' db 32h; '2' db 37h; '7' db 00h; SSZ004C85AC_3457: db '3457',0 Align 4 L004C85B4: db 31h; '1' db 33h; '3' db 00h; db 00h; L004C85B8: db 37h; '7' db 31h; '1' db 33h; '3' db 00h; L004C85BC: db 38h; '8' db 37h; '7' db 00h; db 00h; L004C85C0: db 33h; '3' db 35h; '5' db 00h; db 00h; L004C85C4: db 33h; '3' db 34h; '4' db 37h; '7' db 00h; L004C85C8: db 31h; '1' db 37h; '7' db 00h; db 00h; L004C85CC: db 32h; '2' db 36h; '6' db 00h; db 00h; L004C85D0: db 33h; '3' db 34h; '4' db 00h; db 00h; L004C85D4: db 35h; '5' db 32h; '2' db 00h; db 00h; L004C85D8: db 31h; '1' db 35h; '5' db 00h; db 00h; L004C85DC: db 33h; '3' db 32h; '2' db 00h; db 00h; L004C85E0: db 33h; '3' db 37h; '7' db 36h; '6' db 00h; L004C85E4: db 36h; '6' db 37h; '7' db 00h; db 00h; L004C85E8: db 38h; '8' db 32h; '2' db 00h; db 00h; L004C85EC: db 33h; '3' db 34h; '4' db 36h; '6' db 00h; L004C85F0: db 34h; '4' db 32h; '2' db 00h; db 00h; L004C85F4: db 33h; '3' db 34h; '4' db 35h; '5' db 00h; L004C85F8: db 31h; '1' db 32h; '2' db 00h; db 00h; SSZ004C85FC_KVXAF: db 'KVXAF',0 Align 4 SSZ004C8604_K_V_X_F: db 'K V X F',0 SSZ004C860C_K_V_X_Y: db 'K V X Y',0 SSZ004C8614_K_V_X_C: db 'K V X C',0 SSZ004C861C_K_V_X_H: db 'K V X H',0 L004C8624: db 41h; 'A' db 20h; ' ' db 43h; 'C' db 00h; SSZ004C8628_V_C_P: db 'V C P',0 Align 4 SSZ004C8630_I_V_P: db 'I V P',0 Align 4 SSZ004C8638_V_Y_R: db 'V Y R',0 Align 4 SSZ004C8640_K_D_F_Y: db 'K D F Y',0 SSZ004C8648_V_A_O: db 'V A O',0 Align 4 L004C8650: db 4Fh; 'O' db 20h; ' ' db 53h; 'S' db 00h; SSZ004C8654_V_R_P: db 'V R P',0 Align 4 SSZ004C865C_K_V_F: db 'K V F',0 Align 4 SSZ004C8664_I_S_G: db 'I S G',0 Align 4 SSZ004C866C_V_O_G: db 'V O G',0 Align 4 L004C8674: db 57h; 'W' db 20h; ' ' db 51h; 'Q' db 00h; SSZ004C8678_I_E_G: db 'I E G',0 Align 4 SSZ004C8680_V_D_S: db 'V D S',0 Align 4 SSZ004C8688_K_P_Y: db 'K P Y',0 Align 4 SSZ004C8690_A_L_X: db 'A L X',0 Align 4 SSZ004C8698_V_O_F: db 'V O F',0 Align 4 L004C86A0: db 43h; 'C' db 20h; ' ' db 50h; 'P' db 00h; L004C86A4: db 41h; 'A' db 20h; ' ' db 4Fh; 'O' db 00h; L004C86A8: db 4Bh; 'K' db 20h; ' ' db 58h; 'X' db 00h; SSZ004C86AC_I_N_G: db 'I N G',0 Align 4 SSZ004C86B4_A_E_P: db 'A E P',0 Align 4 SSZ004C86BC_P_C_W: db 'P C W',0 Align 4 SSZ004C86C4_I_J_S: db 'I J S',0 Align 4 SSZ004C86CC_K_I_E: db 'K I E',0 Align 4 L004C86D4: db 41h; 'A' db 20h; ' ' db 47h; 'G' db 00h; SSZ004C86D8_I_J_H_Y: db 'I J H Y',0 SSZ004C86E0_K_O_P: db 'K O P',0 Align 4 L004C86E8: db 4Fh; 'O' db 20h; ' ' db 52h; 'R' db 00h; SSZ004C86EC_P_O_G: db 'P O G',0 Align 4 SSZ004C86F4_I_V_M: db 'I V M',0 Align 4 SSZ004C86FC_I_F_G: db 'I F G',0 Align 4 L004C8704: dd L00532044 SSZ004C8708_V_U_S: db 'V U S',0 Align 4 SSZ004C8710_V_A_N: db 'V A N',0 Align 4 SSZ004C8718_I_S_Y: db 'I S Y',0 Align 4 L004C8720: db 45h; 'E' db 20h; ' ' db 50h; 'P' db 00h; L004C8724: db 52h; 'R' db 20h; ' ' db 50h; 'P' db 00h; SSZ004C8728_O_P_Y: db 'O P Y',0 Align 4 L004C8730: db 49h; 'I' db 20h; ' ' db 4Eh; 'N' db 00h; L004C8734: db 41h; 'A' db 20h; ' ' db 50h; 'P' db 00h; L004C8738: db 56h; 'V' db 20h; ' ' db 46h; 'F' db 00h; L004C873C: db 52h; 'R' db 20h; ' ' db 53h; 'S' db 00h; L004C8740: db 55h; 'U' db 20h; ' ' db 4Dh; 'M' db 00h; L004C8744: db 55h; 'U' db 20h; ' ' db 53h; 'S' db 00h; L004C8748: db 41h; 'A' db 20h; ' ' db 4Ah; 'J' db 00h; L004C874C: db 49h; 'I' db 20h; ' ' db 4Ah; 'J' db 00h; L004C8750: db 41h; 'A' db 20h; ' ' db 4Dh; 'M' db 00h; L004C8754: db 41h; 'A' db 20h; ' ' db 4Eh; 'N' db 00h; L004C8758: db 55h; 'U' db 20h; ' ' db 57h; 'W' db 00h; L004C875C: db 45h; 'E' db 20h; ' ' db 55h; 'U' db 00h; L004C8760: dd L004D2044 L004C8764: db 53h; 'S' db 20h; ' ' db 46h; 'F' db 00h; L004C8768: db 49h; 'I' db 20h; ' ' db 4Ch; 'L' db 00h; SSZ004C876C_I_P_Y: db 'I P Y',0 Align 4 L004C8774: db 49h; 'I' db 20h; ' ' db 4Dh; 'M' db 00h; L004C8778: db 52h; 'R' db 20h; ' ' db 57h; 'W' db 00h; SSZ004C877C_I_M_Y: db 'I M Y',0 Align 4 L004C8784: db 55h; 'U' db 20h; ' ' db 4Ah; 'J' db 00h; db 57h; 'W' db 61h; 'a' db 74h; 't' db 65h; 'e' db 72h; 'r' db 20h; ' ' db 45h; 'E' db 6Ch; 'l' db 65h; 'e' db 6Dh; 'm' db 65h; 'e' db 6Eh; 'n' db 74h; 't' db 61h; 'a' db 6Ch; 'l' db 20h; ' ' db 28h; '(' db 4Bh; 'K' db 61h; 'a' db 6Ch; 'l' db 20h; ' ' db 56h; 'V' db 61h; 'a' db 73h; 's' db 20h; ' ' db 58h; 'X' db 65h; 'e' db 6Eh; 'n' db 20h; ' ' db 41h; 'A' db 71h; 'q' db 75h; 'u' db 61h; 'a' db 29h; ')' db 00h; db 00h; db 46h; 'F' db 69h; 'i' db 72h; 'r' db 65h; 'e' db 20h; ' ' db 45h; 'E' db 6Ch; 'l' db 65h; 'e' db 6Dh; 'm' db 65h; 'e' db 6Eh; 'n' db 74h; 't' db 61h; 'a' db 6Ch; 'l' db 20h; ' ' db 28h; '(' db 4Bh; 'K' db 61h; 'a' db 6Ch; 'l' db 20h; ' ' db 56h; 'V' db 61h; 'a' db 73h; 's' db 20h; ' ' db 58h; 'X' db 65h; 'e' db 6Eh; 'n' db 20h; ' ' db 46h; 'F' db 6Ch; 'l' db 61h; 'a' db 6Dh; 'm' db 29h; ')' db 00h; db 00h; db 00h; db 45h; 'E' db 61h; 'a' db 72h; 'r' db 74h; 't' db 68h; 'h' db 20h; ' ' db 45h; 'E' db 6Ch; 'l' db 65h; 'e' db 6Dh; 'm' db 65h; 'e' db 6Eh; 'n' db 74h; 't' db 61h; 'a' db 6Ch; 'l' db 20h; ' ' db 28h; '(' db 4Bh; 'K' db 61h; 'a' db 6Ch; 'l' db 20h; ' ' db 56h; 'V' db 61h; 'a' db 73h; 's' db 20h; ' ' db 58h; 'X' db 65h; 'e' db 6Eh; 'n' db 20h; ' ' db 54h; 'T' db 65h; 'e' db 72h; 'r' db 61h; 'a' db 29h; ')' db 00h; db 00h; db 53h; 'S' db 75h; 'u' db 6Dh; 'm' db 6Dh; 'm' db 6Fh; 'o' db 6Eh; 'n' db 20h; ' ' db 44h; 'D' db 61h; 'a' db 65h; 'e' db 6Dh; 'm' db 6Fh; 'o' db 6Eh; 'n' db 20h; ' ' db 28h; '(' db 4Bh; 'K' db 61h; 'a' db 6Ch; 'l' db 20h; ' ' db 56h; 'V' db 61h; 'a' db 73h; 's' db 20h; ' ' db 58h; 'X' db 65h; 'e' db 6Eh; 'n' db 20h; ' ' db 44h; 'D' db 61h; 'a' db 65h; 'e' db 6Dh; 'm' db 29h; ')' db 00h; db 00h; db 00h; db 00h; db 41h; 'A' db 69h; 'i' db 72h; 'r' db 20h; ' ' db 45h; 'E' db 6Ch; 'l' db 65h; 'e' db 6Dh; 'm' db 65h; 'e' db 6Eh; 'n' db 74h; 't' db 61h; 'a' db 6Ch; 'l' db 20h; ' ' db 28h; '(' db 4Bh; 'K' db 61h; 'a' db 6Ch; 'l' db 20h; ' ' db 56h; 'V' db 61h; 'a' db 73h; 's' db 20h; ' ' db 58h; 'X' db 65h; 'e' db 6Eh; 'n' db 20h; ' ' db 41h; 'A' db 73h; 's' db 74h; 't' db 61h; 'a' db 29h; ')' db 00h; db 00h; db 00h; db 00h; db 52h; 'R' db 65h; 'e' db 73h; 's' db 75h; 'u' db 72h; 'r' db 72h; 'r' db 65h; 'e' db 63h; 'c' db 74h; 't' db 69h; 'i' db 6Fh; 'o' db 6Eh; 'n' db 20h; ' ' db 28h; '(' db 41h; 'A' db 6Eh; 'n' db 20h; ' ' db 43h; 'C' db 6Fh; 'o' db 72h; 'r' db 70h; 'p' db 29h; ')' db 00h; db 00h; db 45h; 'E' db 6Eh; 'n' db 65h; 'e' db 72h; 'r' db 67h; 'g' db 79h; 'y' db 20h; ' ' db 56h; 'V' db 6Fh; 'o' db 72h; 'r' db 74h; 't' db 65h; 'e' db 78h; 'x' db 20h; ' ' db 28h; '(' db 56h; 'V' db 61h; 'a' db 73h; 's' db 20h; ' ' db 43h; 'C' db 6Fh; 'o' db 72h; 'r' db 70h; 'p' db 20h; ' ' db 50h; 'P' db 6Fh; 'o' db 72h; 'r' db 29h; ')' db 00h; db 00h; db 00h; db 00h; db 45h; 'E' db 61h; 'a' db 72h; 'r' db 74h; 't' db 68h; 'h' db 71h; 'q' db 75h; 'u' db 61h; 'a' db 6Bh; 'k' db 65h; 'e' db 20h; ' ' db 28h; '(' db 49h; 'I' db 6Eh; 'n' db 20h; ' ' db 56h; 'V' db 61h; 'a' db 73h; 's' db 20h; ' ' db 50h; 'P' db 6Fh; 'o' db 72h; 'r' db 29h; ')' db 00h; db 50h; 'P' db 6Fh; 'o' db 6Ch; 'l' db 79h; 'y' db 6Dh; 'm' db 6Fh; 'o' db 72h; 'r' db 70h; 'p' db 68h; 'h' db 20h; ' ' db 28h; '(' db 56h; 'V' db 61h; 'a' db 73h; 's' db 20h; ' ' db 59h; 'Y' db 6Ch; 'l' db 65h; 'e' db 6Dh; 'm' db 20h; ' ' db 52h; 'R' db 65h; 'e' db 6Ch; 'l' db 29h; ')' db 00h; db 00h; db 00h; db 00h; db 4Dh; 'M' db 65h; 'e' db 74h; 't' db 65h; 'e' db 6Fh; 'o' db 72h; 'r' db 20h; ' ' db 53h; 'S' db 77h; 'w' db 61h; 'a' db 72h; 'r' db 6Dh; 'm' db 20h; ' ' db 28h; '(' db 4Bh; 'K' db 61h; 'a' db 6Ch; 'l' db 20h; ' ' db 44h; 'D' db 65h; 'e' db 73h; 's' db 20h; ' ' db 46h; 'F' db 6Ch; 'l' db 61h; 'a' db 6Dh; 'm' db 20h; ' ' db 59h; 'Y' db 6Ch; 'l' db 65h; 'e' db 6Dh; 'm' db 29h; ')' db 00h; db 00h; db 00h; db 00h; db 4Dh; 'M' db 61h; 'a' db 73h; 's' db 73h; 's' db 20h; ' ' db 44h; 'D' db 69h; 'i' db 73h; 's' db 70h; 'p' db 65h; 'e' db 6Ch; 'l' db 20h; ' ' db 28h; '(' db 56h; 'V' db 61h; 'a' db 73h; 's' db 20h; ' ' db 41h; 'A' db 6Eh; 'n' db 20h; ' ' db 4Fh; 'O' db 72h; 'r' db 74h; 't' db 29h; ')' db 00h; db 00h; db 00h; db 00h; db 4Dh; 'M' db 61h; 'a' db 6Eh; 'n' db 61h; 'a' db 20h; ' ' db 56h; 'V' db 61h; 'a' db 6Dh; 'm' db 70h; 'p' db 69h; 'i' db 72h; 'r' db 65h; 'e' db 20h; ' ' db 28h; '(' db 4Fh; 'O' db 72h; 'r' db 74h; 't' db 20h; ' ' db 53h; 'S' db 61h; 'a' db 6Eh; 'n' db 63h; 'c' db 74h; 't' db 29h; ')' db 00h; db 00h; db 00h; db 00h; db 47h; 'G' db 61h; 'a' db 74h; 't' db 65h; 'e' db 20h; ' ' db 54h; 'T' db 72h; 'r' db 61h; 'a' db 76h; 'v' db 65h; 'e' db 6Ch; 'l' db 20h; ' ' db 28h; '(' db 56h; 'V' db 61h; 'a' db 73h; 's' db 20h; ' ' db 52h; 'R' db 65h; 'e' db 6Ch; 'l' db 20h; ' ' db 50h; 'P' db 6Fh; 'o' db 72h; 'r' db 29h; ')' db 00h; db 00h; db 00h; db 46h; 'F' db 6Ch; 'l' db 61h; 'a' db 6Dh; 'm' db 65h; 'e' db 20h; ' ' db 53h; 'S' db 74h; 't' db 72h; 'r' db 69h; 'i' db 6Bh; 'k' db 65h; 'e' db 20h; ' ' db 28h; '(' db 4Bh; 'K' db 61h; 'a' db 6Ch; 'l' db 20h; ' ' db 56h; 'V' db 61h; 'a' db 73h; 's' db 20h; ' ' db 46h; 'F' db 6Ch; 'l' db 61h; 'a' db 6Dh; 'm' db 29h; ')' db 00h; db 45h; 'E' db 6Eh; 'n' db 65h; 'e' db 72h; 'r' db 67h; 'g' db 79h; 'y' db 20h; ' ' db 46h; 'F' db 69h; 'i' db 65h; 'e' db 6Ch; 'l' db 64h; 'd' db 20h; ' ' db 28h; '(' db 49h; 'I' db 6Eh; 'n' db 20h; ' ' db 53h; 'S' db 61h; 'a' db 6Eh; 'n' db 63h; 'c' db 74h; 't' db 20h; ' ' db 47h; 'G' db 72h; 'r' db 61h; 'a' db 76h; 'v' db 29h; ')' db 00h; db 00h; db 00h; db 00h; db 43h; 'C' db 68h; 'h' db 61h; 'a' db 69h; 'i' db 6Eh; 'n' db 20h; ' ' db 4Ch; 'L' db 69h; 'i' db 67h; 'g' db 68h; 'h' db 74h; 't' db 6Eh; 'n' db 69h; 'i' db 6Eh; 'n' db 67h; 'g' db 20h; ' ' db 28h; '(' db 56h; 'V' db 61h; 'a' db 73h; 's' db 20h; ' ' db 4Fh; 'O' db 72h; 'r' db 74h; 't' db 20h; ' ' db 47h; 'G' db 72h; 'r' db 61h; 'a' db 76h; 'v' db 29h; ')' db 00h; db 00h; db 52h; 'R' db 65h; 'e' db 76h; 'v' db 65h; 'e' db 61h; 'a' db 6Ch; 'l' db 20h; ' ' db 28h; '(' db 57h; 'W' db 69h; 'i' db 73h; 's' db 20h; ' ' db 51h; 'Q' db 75h; 'u' db 61h; 'a' db 73h; 's' db 29h; ')' db 00h; db 00h; db 00h; db 50h; 'P' db 61h; 'a' db 72h; 'r' db 61h; 'a' db 6Ch; 'l' db 79h; 'y' db 7Ah; 'z' db 65h; 'e' db 20h; ' ' db 46h; 'F' db 69h; 'i' db 65h; 'e' db 6Ch; 'l' db 64h; 'd' db 20h; ' ' db 28h; '(' db 49h; 'I' db 6Eh; 'n' db 20h; ' ' db 45h; 'E' db 78h; 'x' db 20h; ' ' db 47h; 'G' db 72h; 'r' db 61h; 'a' db 76h; 'v' db 29h; ')' db 00h; db 4Dh; 'M' db 61h; 'a' db 73h; 's' db 73h; 's' db 20h; ' ' db 43h; 'C' db 75h; 'u' db 72h; 'r' db 73h; 's' db 65h; 'e' db 20h; ' ' db 28h; '(' db 56h; 'V' db 61h; 'a' db 73h; 's' db 20h; ' ' db 44h; 'D' db 65h; 'e' db 73h; 's' db 20h; ' ' db 53h; 'S' db 61h; 'a' db 6Eh; 'n' db 63h; 'c' db 74h; 't' db 29h; ')' db 00h; db 00h; db 4Dh; 'M' db 61h; 'a' db 72h; 'r' db 6Bh; 'k' db 20h; ' ' db 28h; '(' db 4Bh; 'K' db 61h; 'a' db 6Ch; 'l' db 20h; ' ' db 50h; 'P' db 6Fh; 'o' db 72h; 'r' db 20h; ' ' db 59h; 'Y' db 6Ch; 'l' db 65h; 'e' db 6Dh; 'm' db 29h; ')' db 00h; db 49h; 'I' db 6Eh; 'n' db 76h; 'v' db 69h; 'i' db 73h; 's' db 69h; 'i' db 62h; 'b' db 69h; 'i' db 6Ch; 'l' db 69h; 'i' db 74h; 't' db 79h; 'y' db 20h; ' ' db 28h; '(' db 41h; 'A' db 6Eh; 'n' db 20h; ' ' db 4Ch; 'L' db 6Fh; 'o' db 72h; 'r' db 20h; ' ' db 58h; 'X' db 65h; 'e' db 6Eh; 'n' db 29h; ')' db 00h; db 00h; db 00h; db 45h; 'E' db 78h; 'x' db 70h; 'p' db 6Ch; 'l' db 6Fh; 'o' db 73h; 's' db 69h; 'i' db 6Fh; 'o' db 6Eh; 'n' db 20h; ' ' db 28h; '(' db 56h; 'V' db 61h; 'a' db 73h; 's' db 20h; ' ' db 4Fh; 'O' db 72h; 'r' db 74h; 't' db 20h; ' ' db 46h; 'F' db 6Ch; 'l' db 61h; 'a' db 6Dh; 'm' db 29h; ')' db 00h; db 00h; db 00h; db 00h; db 45h; 'E' db 6Eh; 'n' db 65h; 'e' db 72h; 'r' db 67h; 'g' db 79h; 'y' db 20h; ' ' db 42h; 'B' db 6Fh; 'o' db 6Ch; 'l' db 74h; 't' db 20h; ' ' db 28h; '(' db 43h; 'C' db 6Fh; 'o' db 72h; 'r' db 70h; 'p' db 20h; ' ' db 50h; 'P' db 6Fh; 'o' db 72h; 'r' db 29h; ')' db 00h; db 00h; db 44h; 'D' db 69h; 'i' db 73h; 's' db 70h; 'p' db 65h; 'e' db 6Ch; 'l' db 20h; ' ' db 28h; '(' db 41h; 'A' db 6Eh; 'n' db 20h; ' ' db 4Fh; 'O' db 72h; 'r' db 74h; 't' db 29h; ')' db 00h; db 53h; 'S' db 75h; 'u' db 6Dh; 'm' db 6Dh; 'm' db 2Eh; '.' db 20h; ' ' db 43h; 'C' db 72h; 'r' db 65h; 'e' db 61h; 'a' db 74h; 't' db 75h; 'u' db 72h; 'r' db 65h; 'e' db 20h; ' ' db 28h; '(' db 4Bh; 'K' db 61h; 'a' db 6Ch; 'l' db 20h; ' ' db 58h; 'X' db 65h; 'e' db 6Eh; 'n' db 29h; ')' db 00h; db 00h; db 00h; db 00h; db 50h; 'P' db 6Fh; 'o' db 69h; 'i' db 73h; 's' db 6Fh; 'o' db 6Eh; 'n' db 20h; ' ' db 46h; 'F' db 69h; 'i' db 65h; 'e' db 6Ch; 'l' db 64h; 'd' db 20h; ' ' db 28h; '(' db 49h; 'I' db 6Eh; 'n' db 20h; ' ' db 4Eh; 'N' db 6Fh; 'o' db 78h; 'x' db 20h; ' ' db 47h; 'G' db 72h; 'r' db 61h; 'a' db 76h; 'v' db 29h; ')' db 00h; db 00h; db 50h; 'P' db 61h; 'a' db 72h; 'r' db 61h; 'a' db 6Ch; 'l' db 79h; 'y' db 7Ah; 'z' db 65h; 'e' db 20h; ' ' db 28h; '(' db 41h; 'A' db 6Eh; 'n' db 20h; ' ' db 45h; 'E' db 78h; 'x' db 20h; ' ' db 50h; 'P' db 6Fh; 'o' db 72h; 'r' db 29h; ')' db 00h; db 00h; db 00h; db 00h; db 4Dh; 'M' db 69h; 'i' db 6Eh; 'n' db 64h; 'd' db 20h; ' ' db 42h; 'B' db 6Ch; 'l' db 61h; 'a' db 73h; 's' db 74h; 't' db 20h; ' ' db 28h; '(' db 50h; 'P' db 6Fh; 'o' db 72h; 'r' db 20h; ' ' db 43h; 'C' db 6Fh; 'o' db 72h; 'r' db 70h; 'p' db 20h; ' ' db 57h; 'W' db 69h; 'i' db 73h; 's' db 29h; ')' db 00h; db 00h; db 00h; db 4Dh; 'M' db 61h; 'a' db 67h; 'g' db 69h; 'i' db 63h; 'c' db 20h; ' ' db 52h; 'R' db 65h; 'e' db 66h; 'f' db 6Ch; 'l' db 65h; 'e' db 63h; 'c' db 74h; 't' db 69h; 'i' db 6Fh; 'o' db 6Eh; 'n' db 20h; ' ' db 28h; '(' db 49h; 'I' db 6Eh; 'n' db 20h; ' ' db 4Ah; 'J' db 75h; 'u' db 78h; 'x' db 20h; ' ' db 53h; 'S' db 61h; 'a' db 6Eh; 'n' db 63h; 'c' db 74h; 't' db 29h; ')' db 00h; db 49h; 'I' db 6Eh; 'n' db 63h; 'c' db 6Fh; 'o' db 67h; 'g' db 6Eh; 'n' db 69h; 'i' db 74h; 't' db 6Fh; 'o' db 20h; ' ' db 28h; '(' db 4Bh; 'K' db 61h; 'a' db 6Ch; 'l' db 20h; ' ' db 49h; 'I' db 6Eh; 'n' db 20h; ' ' db 45h; 'E' db 78h; 'x' db 29h; ')' db 00h; db 00h; db 00h; db 44h; 'D' db 69h; 'i' db 73h; 's' db 70h; 'p' db 65h; 'e' db 6Ch; 'l' db 20h; ' ' db 46h; 'F' db 69h; 'i' db 65h; 'e' db 6Ch; 'l' db 64h; 'd' db 20h; ' ' db 28h; '(' db 41h; 'A' db 6Eh; 'n' db 20h; ' ' db 47h; 'G' db 72h; 'r' db 61h; 'a' db 76h; 'v' db 29h; ')' db 00h; db 00h; db 42h; 'B' db 6Ch; 'l' db 61h; 'a' db 64h; 'd' db 65h; 'e' db 20h; ' ' db 53h; 'S' db 70h; 'p' db 69h; 'i' db 72h; 'r' db 69h; 'i' db 74h; 't' db 73h; 's' db 20h; ' ' db 28h; '(' db 49h; 'I' db 6Eh; 'n' db 20h; ' ' db 4Ah; 'J' db 75h; 'u' db 78h; 'x' db 20h; ' ' db 48h; 'H' db 75h; 'u' db 72h; 'r' db 20h; ' ' db 59h; 'Y' db 6Ch; 'l' db 65h; 'e' db 6Dh; 'm' db 29h; ')' db 00h; db 52h; 'R' db 65h; 'e' db 63h; 'c' db 61h; 'a' db 6Ch; 'l' db 6Ch; 'l' db 20h; ' ' db 28h; '(' db 4Bh; 'K' db 61h; 'a' db 6Ch; 'l' db 20h; ' ' db 4Fh; 'O' db 72h; 'r' db 74h; 't' db 20h; ' ' db 50h; 'P' db 6Fh; 'o' db 72h; 'r' db 29h; ')' db 00h; db 00h; db 00h; db 00h; db 4Dh; 'M' db 61h; 'a' db 6Eh; 'n' db 61h; 'a' db 20h; ' ' db 44h; 'D' db 72h; 'r' db 61h; 'a' db 69h; 'i' db 6Eh; 'n' db 20h; ' ' db 28h; '(' db 4Fh; 'O' db 72h; 'r' db 74h; 't' db 20h; ' ' db 52h; 'R' db 65h; 'e' db 6Ch; 'l' db 29h; ')' db 00h; db 00h; db 00h; db 00h; db 4Ch; 'L' db 69h; 'i' db 67h; 'g' db 68h; 'h' db 74h; 't' db 6Eh; 'n' db 69h; 'i' db 6Eh; 'n' db 67h; 'g' db 20h; ' ' db 28h; '(' db 50h; 'P' db 6Fh; 'o' db 72h; 'r' db 20h; ' ' db 4Fh; 'O' db 72h; 'r' db 74h; 't' db 20h; ' ' db 47h; 'G' db 72h; 'r' db 61h; 'a' db 76h; 'v' db 29h; ')' db 00h; db 00h; db 00h; db 00h; db 47h; 'G' db 72h; 'r' db 65h; 'e' db 61h; 'a' db 74h; 't' db 65h; 'e' db 72h; 'r' db 20h; ' ' db 48h; 'H' db 65h; 'e' db 61h; 'a' db 6Ch; 'l' db 20h; ' ' db 28h; '(' db 49h; 'I' db 6Eh; 'n' db 20h; ' ' db 56h; 'V' db 61h; 'a' db 73h; 's' db 20h; ' ' db 4Dh; 'M' db 61h; 'a' db 6Eh; 'n' db 69h; 'i' db 29h; ')' db 00h; db 00h; db 46h; 'F' db 69h; 'i' db 72h; 'r' db 65h; 'e' db 20h; ' ' db 46h; 'F' db 69h; 'i' db 65h; 'e' db 6Ch; 'l' db 64h; 'd' db 20h; ' ' db 28h; '(' db 49h; 'I' db 6Eh; 'n' db 20h; ' ' db 46h; 'F' db 6Ch; 'l' db 61h; 'a' db 6Dh; 'm' db 20h; ' ' db 47h; 'G' db 72h; 'r' db 61h; 'a' db 76h; 'v' db 29h; ')' db 00h; db 00h; db 00h; db 43h; 'C' db 75h; 'u' db 72h; 'r' db 73h; 's' db 65h; 'e' db 20h; ' ' db 28h; '(' db 44h; 'D' db 65h; 'e' db 73h; 's' db 20h; ' ' db 53h; 'S' db 61h; 'a' db 6Eh; 'n' db 63h; 'c' db 74h; 't' db 29h; ')' db 00h; db 00h; db 00h; db 41h; 'A' db 72h; 'r' db 63h; 'c' db 68h; 'h' db 20h; ' ' db 50h; 'P' db 72h; 'r' db 6Fh; 'o' db 74h; 't' db 65h; 'e' db 63h; 'c' db 74h; 't' db 69h; 'i' db 6Fh; 'o' db 6Eh; 'n' db 20h; ' ' db 28h; '(' db 56h; 'V' db 61h; 'a' db 73h; 's' db 20h; ' ' db 55h; 'U' db 75h; 'u' db 73h; 's' db 20h; ' ' db 53h; 'S' db 61h; 'a' db 6Eh; 'n' db 63h; 'c' db 74h; 't' db 29h; ')' db 00h; db 41h; 'A' db 72h; 'r' db 63h; 'c' db 68h; 'h' db 20h; ' ' db 43h; 'C' db 75h; 'u' db 72h; 'r' db 65h; 'e' db 20h; ' ' db 28h; '(' db 56h; 'V' db 61h; 'a' db 73h; 's' db 20h; ' ' db 41h; 'A' db 6Eh; 'n' db 20h; ' ' db 4Eh; 'N' db 6Fh; 'o' db 78h; 'x' db 29h; ')' db 00h; db 00h; db 57h; 'W' db 61h; 'a' db 6Ch; 'l' db 6Ch; 'l' db 20h; ' ' db 6Fh; 'o' db 66h; 'f' db 20h; ' ' db 53h; 'S' db 74h; 't' db 6Fh; 'o' db 6Eh; 'n' db 65h; 'e' db 20h; ' ' db 28h; '(' db 49h; 'I' db 6Eh; 'n' db 20h; ' ' db 53h; 'S' db 61h; 'a' db 6Eh; 'n' db 63h; 'c' db 74h; 't' db 20h; ' ' db 59h; 'Y' db 6Ch; 'l' db 65h; 'e' db 6Dh; 'm' db 29h; ')' db 00h; db 00h; db 00h; db 55h; 'U' db 6Eh; 'n' db 6Ch; 'l' db 6Fh; 'o' db 63h; 'c' db 6Bh; 'k' db 20h; ' ' db 28h; '(' db 45h; 'E' db 78h; 'x' db 20h; ' ' db 50h; 'P' db 6Fh; 'o' db 72h; 'r' db 29h; ')' db 00h; db 54h; 'T' db 65h; 'e' db 6Ch; 'l' db 65h; 'e' db 70h; 'p' db 6Fh; 'o' db 72h; 'r' db 74h; 't' db 20h; ' ' db 28h; '(' db 52h; 'R' db 65h; 'e' db 6Ch; 'l' db 20h; ' ' db 50h; 'P' db 6Fh; 'o' db 72h; 'r' db 29h; ')' db 00h; db 00h; db 54h; 'T' db 65h; 'e' db 6Ch; 'l' db 65h; 'e' db 6Bh; 'k' db 69h; 'i' db 6Eh; 'n' db 65h; 'e' db 73h; 's' db 69h; 'i' db 73h; 's' db 20h; ' ' db 28h; '(' db 4Fh; 'O' db 72h; 'r' db 74h; 't' db 20h; ' ' db 50h; 'P' db 6Fh; 'o' db 72h; 'r' db 20h; ' ' db 59h; 'Y' db 6Ch; 'l' db 65h; 'e' db 6Dh; 'm' db 29h; ')' db 00h; db 00h; db 50h; 'P' db 6Fh; 'o' db 69h; 'i' db 73h; 's' db 6Fh; 'o' db 6Eh; 'n' db 20h; ' ' db 28h; '(' db 49h; 'I' db 6Eh; 'n' db 20h; ' ' db 4Eh; 'N' db 6Fh; 'o' db 78h; 'x' db 29h; ')' db 00h; db 4Dh; 'M' db 61h; 'a' db 67h; 'g' db 69h; 'i' db 63h; 'c' db 20h; ' ' db 4Ch; 'L' db 6Fh; 'o' db 63h; 'c' db 6Bh; 'k' db 20h; ' ' db 28h; '(' db 41h; 'A' db 6Eh; 'n' db 20h; ' ' db 50h; 'P' db 6Fh; 'o' db 72h; 'r' db 29h; ')' db 00h; db 46h; 'F' db 69h; 'i' db 72h; 'r' db 65h; 'e' db 62h; 'b' db 61h; 'a' db 6Ch; 'l' db 6Ch; 'l' db 20h; ' ' db 28h; '(' db 56h; 'V' db 61h; 'a' db 73h; 's' db 20h; ' ' db 46h; 'F' db 6Ch; 'l' db 61h; 'a' db 6Dh; 'm' db 29h; ')' db 00h; db 42h; 'B' db 6Ch; 'l' db 65h; 'e' db 73h; 's' db 73h; 's' db 20h; ' ' db 28h; '(' db 52h; 'R' db 65h; 'e' db 6Ch; 'l' db 20h; ' ' db 53h; 'S' db 61h; 'a' db 6Eh; 'n' db 63h; 'c' db 74h; 't' db 29h; ')' db 00h; db 00h; db 00h; db 53h; 'S' db 74h; 't' db 72h; 'r' db 65h; 'e' db 6Eh; 'n' db 67h; 'g' db 74h; 't' db 68h; 'h' db 20h; ' ' db 28h; '(' db 55h; 'U' db 75h; 'u' db 73h; 's' db 20h; ' ' db 4Dh; 'M' db 61h; 'a' db 6Eh; 'n' db 69h; 'i' db 29h; ')' db 00h; db 50h; 'P' db 72h; 'r' db 6Fh; 'o' db 74h; 't' db 65h; 'e' db 63h; 'c' db 74h; 't' db 69h; 'i' db 6Fh; 'o' db 6Eh; 'n' db 20h; ' ' db 28h; '(' db 55h; 'U' db 75h; 'u' db 73h; 's' db 20h; ' ' db 53h; 'S' db 61h; 'a' db 6Eh; 'n' db 63h; 'c' db 74h; 't' db 29h; ')' db 00h; db 00h; db 4Dh; 'M' db 61h; 'a' db 67h; 'g' db 69h; 'i' db 63h; 'c' db 20h; ' ' db 55h; 'U' db 6Eh; 'n' db 74h; 't' db 72h; 'r' db 61h; 'a' db 70h; 'p' db 20h; ' ' db 28h; '(' db 41h; 'A' db 6Eh; 'n' db 20h; ' ' db 4Ah; 'J' db 75h; 'u' db 78h; 'x' db 29h; ')' db 00h; db 00h; db 00h; db 4Dh; 'M' db 61h; 'a' db 67h; 'g' db 69h; 'i' db 63h; 'c' db 20h; ' ' db 54h; 'T' db 72h; 'r' db 61h; 'a' db 70h; 'p' db 20h; ' ' db 28h; '(' db 49h; 'I' db 6Eh; 'n' db 20h; ' ' db 4Ah; 'J' db 75h; 'u' db 78h; 'x' db 29h; ')' db 00h; db 48h; 'H' db 61h; 'a' db 72h; 'r' db 6Dh; 'm' db 20h; ' ' db 28h; '(' db 41h; 'A' db 6Eh; 'n' db 20h; ' ' db 4Dh; 'M' db 61h; 'a' db 6Eh; 'n' db 69h; 'i' db 29h; ')' db 00h; db 00h; db 43h; 'C' db 75h; 'u' db 72h; 'r' db 65h; 'e' db 20h; ' ' db 28h; '(' db 41h; 'A' db 6Eh; 'n' db 20h; ' ' db 4Eh; 'N' db 6Fh; 'o' db 78h; 'x' db 29h; ')' db 00h; db 00h; db 00h; db 43h; 'C' db 75h; 'u' db 6Eh; 'n' db 6Eh; 'n' db 69h; 'i' db 6Eh; 'n' db 67h; 'g' db 20h; ' ' db 28h; '(' db 55h; 'U' db 75h; 'u' db 73h; 's' db 20h; ' ' db 57h; 'W' db 69h; 'i' db 73h; 's' db 29h; ')' db 00h; db 00h; db 00h; db 41h; 'A' db 67h; 'g' db 69h; 'i' db 6Ch; 'l' db 69h; 'i' db 74h; 't' db 79h; 'y' db 20h; ' ' db 28h; '(' db 45h; 'E' db 78h; 'x' db 20h; ' ' db 55h; 'U' db 75h; 'u' db 73h; 's' db 29h; ')' db 00h; db 00h; db 00h; db 00h; db 57h; 'W' db 65h; 'e' db 61h; 'a' db 6Bh; 'k' db 65h; 'e' db 6Eh; 'n' db 20h; ' ' db 28h; '(' db 44h; 'D' db 65h; 'e' db 73h; 's' db 20h; ' ' db 4Dh; 'M' db 61h; 'a' db 6Eh; 'n' db 69h; 'i' db 29h; ')' db 00h; db 00h; db 00h; db 52h; 'R' db 65h; 'e' db 61h; 'a' db 63h; 'c' db 74h; 't' db 69h; 'i' db 76h; 'v' db 65h; 'e' db 20h; ' ' db 41h; 'A' db 72h; 'r' db 6Dh; 'm' db 6Fh; 'o' db 72h; 'r' db 20h; ' ' db 28h; '(' db 53h; 'S' db 61h; 'a' db 6Eh; 'n' db 63h; 'c' db 74h; 't' db 20h; ' ' db 46h; 'F' db 6Ch; 'l' db 61h; 'a' db 6Dh; 'm' db 29h; ')' db 00h; db 4Eh; 'N' db 69h; 'i' db 67h; 'g' db 68h; 'h' db 74h; 't' db 20h; ' ' db 53h; 'S' db 69h; 'i' db 67h; 'g' db 68h; 'h' db 74h; 't' db 20h; ' ' db 28h; '(' db 49h; 'I' db 6Eh; 'n' db 20h; ' ' db 4Ch; 'L' db 6Fh; 'o' db 72h; 'r' db 29h; ')' db 00h; db 00h; db 00h; db 00h; db 4Dh; 'M' db 61h; 'a' db 67h; 'g' db 69h; 'i' db 63h; 'c' db 20h; ' ' db 41h; 'A' db 72h; 'r' db 72h; 'r' db 6Fh; 'o' db 77h; 'w' db 20h; ' ' db 28h; '(' db 49h; 'I' db 6Eh; 'n' db 20h; ' ' db 50h; 'P' db 6Fh; 'o' db 72h; 'r' db 20h; ' ' db 59h; 'Y' db 6Ch; 'l' db 65h; 'e' db 6Dh; 'm' db 29h; ')' db 00h; db 00h; db 00h; db 48h; 'H' db 65h; 'e' db 61h; 'a' db 6Ch; 'l' db 20h; ' ' db 28h; '(' db 49h; 'I' db 6Eh; 'n' db 20h; ' ' db 4Dh; 'M' db 61h; 'a' db 6Eh; 'n' db 69h; 'i' db 29h; ')' db 00h; db 00h; db 46h; 'F' db 65h; 'e' db 65h; 'e' db 62h; 'b' db 6Ch; 'l' db 65h; 'e' db 6Dh; 'm' db 69h; 'i' db 6Eh; 'n' db 64h; 'd' db 20h; ' ' db 28h; '(' db 52h; 'R' db 65h; 'e' db 6Ch; 'l' db 20h; ' ' db 57h; 'W' db 69h; 'i' db 73h; 's' db 29h; ')' db 00h; db 00h; db 00h; db 00h; db 43h; 'C' db 72h; 'r' db 65h; 'e' db 61h; 'a' db 74h; 't' db 65h; 'e' db 20h; ' ' db 46h; 'F' db 6Fh; 'o' db 6Fh; 'o' db 64h; 'd' db 20h; ' ' db 28h; '(' db 49h; 'I' db 6Eh; 'n' db 20h; ' ' db 4Dh; 'M' db 61h; 'a' db 6Eh; 'n' db 69h; 'i' db 20h; ' ' db 59h; 'Y' db 6Ch; 'l' db 65h; 'e' db 6Dh; 'm' db 29h; ')' db 00h; db 00h; SSZ004C8DDC_Clumsy__Uus_Jux_: db 'Clumsy (Uus Jux)',0 Align 4 SSZ004C8DF0_Seer: db 'Seer',0 Align 4 SSZ004C8DF8_Counselor: db 'Counselor',0 Align 4 L004C8E04: db 47h; 'G' db 4Dh; 'M' db 00h; db 00h; SSZ004C8E08_Lady: db 'Lady',0 Align 4 SSZ004C8E10_Lord: db 'Lord',0 Align 4 SSZ004C8E18_InstCDPath: db 'InstCDPath',0 Align 4 SSZ004C8E24_SOFTWARE_Origin_Worlds_Online_Ul: db 'SOFTWARE\Origin Worlds Online\Ultima Online\1.0',0 SSZ004C8E54_There_is_not_enough_memory_to_co: db 'There is not enough memory to continue execution. If you do not have virtual memory enabled, this could be the problem. Otherwise, you may be low on disk space, or may need to increase the amount of space allocated for virtual memory.',0 SSZ004C8F40_Out_of_memory: db 'Out of memory',0 Align 4 SSZ004C8F50_chardata_mul: db 'chardata.mul',0 Align 4 SSZ004C8F60_login_cfg: db 'login.cfg',0 Align 4 SSZ004C8F6C_Ultima_Online_does_not_appear_to: db 'Ultima Online does not appear to be installed correctly on your system.',0Ah,0Ah,'Please re-install UO by running the setup.exe program located on your UO CD-ROM',0 Align 4 SSZ004C9008_ERROR: db 'ERROR',0 Align 4 SSZ004C9010_ExePath: db 'ExePath',0 L004C9018: db 25h; '%' db 73h; 's' db 00h; db 00h; SSZ004C901C_UO_Player: db 'UO Player',0 Align 4 SSZ004C9028_Another_copy_of_UO_is_already_ru: db 'Another copy of UO is already running!',0 Align 4 SSZ004C9050_ignore_lst: db 'ignore.lst',0 Align 4 SSZ004C905C_uobscene_lst: db 'uobscene.lst',0 Align 4 SSZ004C906C_salute: db 'salute',0 Align 4 L004C9074: db 62h; 'b' db 6Fh; 'o' db 77h; 'w' db 00h; SSZ004C9078__________: db '########',0Ah,0 Align 4 L004C9084: db 25h; '%' db 73h; 's' db 0Ah; db 00h; SSZ004C9088__s__d__d__d_: db '%s %d %d %d',0Ah,0 Align 4 L004C9098: db 77h; 'w' db 74h; 't' db 00h; db 00h; SSZ004C909C_macros_txt: db 'macros.txt',0 Align 4 SSZ004C90A8_keynames_txt: db 'keynames.txt',0 Align 4 SSZ004C90B8__s__d__d__d: db '%s %d %d %d',0 SSZ004C90C4_Entering_Britannia____: db 'Entering Britannia... ',0 Align 4 SSZ004C90DC_Creating_character____: db 'Creating character... ',0 Align 4 SSZ004C90F4_Verifying_Account____: db 'Verifying Account... ',0 Align 4 SSZ004C910C__seconds_: db ' seconds]',0 Align 4 SSZ004C9118__Spam_detected__speech_queued_fo: db '[Spam detected, speech queued for ',0 db 00h; db 00h; db 00h; db 00h; db 00h; L004C9140: dd SSZ004CC7EC_aaaenvir_d_frst01 dd SSZ004CC7D8_aaaenvir_d_frst02 dd SSZ004CC7C4_aaaenvir_d_frst03 dd SSZ004CC7B0_aaaenvir_d_jung01 dd SSZ004CC79C_aaaenvir_d_jung02 dd SSZ004CC788_aaaenvir_d_jung03 dd SSZ004CC774_aaaenvir_d_swmp01 dd SSZ004CC760_aaaenvir_d_swmp02 dd SSZ004CC74C_aaaenvir_n_frst01 dd SSZ004CC738_aaaenvir_n_frst02 dd SSZ004CC724_aaaenvir_n_gen01 dd SSZ004CC710_aaaenvir_n_gen02 dd SSZ004CC6FC_aaaenvir_n_jung01 dd SSZ004CC6E8_aaaenvir_n_jung02 dd SSZ004CC6D4_aaaenvir_n_swmp01 dd SSZ004CC6C0_aaaenvir_n_swmp02 dd SSZ004CC6AC_aaaenvir_watr01_l dd SSZ004CC698_aaaenvir_watr02_l dd SSZ004CC684_aaaenvir_wave01_l dd SSZ004CC670_aaaenvir_wave02_l dd SSZ004CC65C_aaaenvir_wind01_l dd SSZ004CC648_aaaenvir_wind02_l dd SSZ004CC634_aaaenvir_wind03_l dd SSZ004CC624_aaafoley_bird01 dd SSZ004CC614_aaafoley_bird02 dd SSZ004CC604_aaafoley_bird03 dd SSZ004CC5F4_aaafoley_bird04 dd SSZ004CC5E4_aaafoley_bird05 dd SSZ004CC5D4_aaafoley_bird06 dd SSZ004CC5C4_aaafoley_bird07 dd SSZ004CC5B4_aaafoley_bird08 dd SSZ004CC5A4_aaafoley_bird09 dd SSZ004CC590_aaafoley_bubl01_l dd SSZ004CC57C_aaafoley_bubl02_l dd SSZ004CC56C_aaafoley_drip01 dd SSZ004CC55C_aaafoley_drip02 dd SSZ004CC548_aaafoley_drip03_l dd SSZ004CC534_aaafoley_splash01 dd SSZ004CC520_aaafoley_splash02 dd SSZ004CC50C_aaafoley_splash03 dd SSZ004CC4F8_aaafoley_thundr01 dd SSZ004CC4E4_aaafoley_thundr02 dd SSZ004CC4D4_actions_anvil dd SSZ004CC4C4_actions_bellows dd SSZ004CC4B0_actions_chstcls3 dd SSZ004CC49C_actions_chstopn2 dd SSZ004CC488_actions_drawercl dd SSZ004CC474_actions_drawerop dd SSZ004CC464_actions_drink01 dd SSZ004CC454_actions_drink05 dd SSZ004CC440_actions_dropgem1 dd SSZ004CC42C_actions_dropgem2 dd SSZ004CC418_actions_dropgem3 dd SSZ004CC404_actions_dropmny1 dd SSZ004CC3F0_actions_dropmny2 dd SSZ004CC3DC_actions_dropmny3 dd SSZ004CC3CC_actions_drum01 dd SSZ004CC3B8_actions_drum01_b dd SSZ004CC3A8_actions_eat01 dd SSZ004CC398_actions_eat03 dd SSZ004CC388_actions_eat06 dd SSZ004CC378_actions_flute01 dd SSZ004CC364_actions_glasbrk1 dd SSZ004CC350_actions_glasbrk2 dd SSZ004CC33C_actions_glasbrk3 dd SSZ004CC328_actions_glasbrk4 dd SSZ004CC318_actions_hamer01 dd SSZ004CC308_actions_harp01 dd SSZ004CC2F4_actions_harp01_b dd SSZ004CC2E4_actions_harp02 dd SSZ004CC2D0_actions_harp02_b dd SSZ004CC2BC_actions_igntorch dd SSZ004CC2A8_actions_leather1 dd SSZ004CC298_actions_lever01 dd SSZ004CC288_actions_lever02 dd SSZ004CC278_actions_lever05 dd SSZ004CC268_actions_lute01 dd SSZ004CC254_actions_lute01_b dd SSZ004CC244_actions_pouring dd SSZ004CC234_actions_rustle dd SSZ004CC220_actions_swallow2 dd SSZ004CC20C_actions_switch01 dd SSZ004CC1F8_actions_tamborin dd SSZ004CC1E4_actions_tambrn_b dd SSZ004CC1D4_actions_torch01 dd SSZ004CC1C0_actions_turnpage dd SSZ004CC1AC_actions_unsheth1 dd SSZ004CC198_actions_usecloth dd SSZ004CC184_actions_uselethr dd SSZ004CC170_actions_uselthr1 dd SSZ004CC15C_animals_aligatr1 dd SSZ004CC148_animals_aligatr2 dd SSZ004CC134_animals_aligatr3 dd SSZ004CC120_animals_aligatr4 dd SSZ004CC10C_animals_aligatr5 dd SSZ004CC0FC_animals_bear1 dd SSZ004CC0EC_animals_bear2 dd SSZ004CC0DC_animals_bear3 dd SSZ004CC0CC_animals_bear4 dd SSZ004CC0BC_animals_bear5 dd SSZ004CC0AC_animals_bull1 dd SSZ004CC09C_animals_bull2 dd SSZ004CC08C_animals_bull3 dd SSZ004CC07C_animals_bull4 dd SSZ004CC06C_animals_bull5 dd SSZ004CC05C_animals_cat1 dd SSZ004CC04C_animals_cat2 dd SSZ004CC03C_animals_cat3 dd SSZ004CC02C_animals_cat4 dd SSZ004CC01C_animals_cat5 dd SSZ004CC008_animals_chicken1 dd SSZ004CBFF4_animals_chicken2 dd SSZ004CBFE0_animals_chicken3 dd SSZ004CBFCC_animals_chicken4 dd SSZ004CBFB8_animals_chicken5 dd SSZ004CBFA8_animals_cougar1 dd SSZ004CBF98_animals_cougar2 dd SSZ004CBF88_animals_cougar3 dd SSZ004CBF78_animals_cougar4 dd SSZ004CBF68_animals_cougar5 dd SSZ004CBF58_animals_cow1 dd SSZ004CBF48_animals_cow2 dd SSZ004CBF38_animals_cow3 dd SSZ004CBF28_animals_cow4 dd SSZ004CBF18_animals_cow5 dd SSZ004CBF08_animals_crow1 dd SSZ004CBEF8_animals_crow2 dd SSZ004CBEE8_animals_crow3 dd SSZ004CBED8_animals_crow4 dd SSZ004CBEC8_animals_crow5 dd SSZ004CBEB8_animals_deer3 dd SSZ004CBEA8_animals_deer4 dd SSZ004CBE98_animals_deer5 dd SSZ004CBE88_animals_dog1 dd SSZ004CBE78_animals_dog2 dd SSZ004CBE68_animals_dog3 dd SSZ004CBE58_animals_dog4 dd SSZ004CBE48_animals_dog5 dd SSZ004CBE34_animals_dolphin1 dd SSZ004CBE20_animals_dolphin2 dd SSZ004CBE0C_animals_dolphin3 dd SSZ004CBDF8_animals_dolphin4 dd SSZ004CBDE4_animals_dolphin5 dd SSZ004CBDD4_animals_eagle1 dd SSZ004CBDC4_animals_eagle2 dd SSZ004CBDB4_animals_eagle3 dd SSZ004CBDA4_animals_eagle4 dd SSZ004CBD94_animals_eagle5 dd SSZ004CBD80_animals_frstbrd1 dd SSZ004CBD6C_animals_frstbrd2 dd SSZ004CBD58_animals_frstbrd3 dd SSZ004CBD44_animals_frstbrd4 dd SSZ004CBD30_animals_frstbrd5 dd SSZ004CBD20_animals_goat1 dd SSZ004CBD10_animals_goat2 dd SSZ004CBD00_animals_goat3 dd SSZ004CBCF0_animals_goat4 dd SSZ004CBCE0_animals_goat5 dd SSZ004CBCCC_animals_gorilla1 dd SSZ004CBCB8_animals_gorilla2 dd SSZ004CBCA4_animals_gorilla3 dd SSZ004CBC90_animals_gorilla4 dd SSZ004CBC7C_animals_gorilla5 dd SSZ004CBC68_animals_grizzly1 dd SSZ004CBC54_animals_grizzly2 dd SSZ004CBC40_animals_grizzly3 dd SSZ004CBC2C_animals_grizzly4 dd SSZ004CBC18_animals_grizzly5 dd SSZ004CBC08_animals_horse1 dd SSZ004CBBF8_animals_horse2 dd SSZ004CBBE8_animals_horse3 dd SSZ004CBBD8_animals_horse4 dd SSZ004CBBC8_animals_horse5 dd SSZ004CBBB4_animals_jungbrd1 dd SSZ004CBBA0_animals_jungbrd2 dd SSZ004CBB8C_animals_jungbrd3 dd SSZ004CBB78_animals_jungbrd4 dd SSZ004CBB64_animals_jungbrd5 dd SSZ004CBB54_animals_lion1 dd SSZ004CBB44_animals_lion2 dd SSZ004CBB34_animals_lion3 dd SSZ004CBB24_animals_lion4 dd SSZ004CBB14_animals_lion5 dd SSZ004CBB04_animals_llama3 dd SSZ004CBAF4_animals_llama4 dd SSZ004CBAE4_animals_llama5 dd SSZ004CBAD0_animals_panther1 dd SSZ004CBABC_animals_panther2 dd SSZ004CBAA8_animals_panther3 dd SSZ004CBA94_animals_panther4 dd SSZ004CBA80_animals_panther5 dd SSZ004CBA70_animals_parrot1 dd SSZ004CBA60_animals_parrot2 dd SSZ004CBA50_animals_parrot3 dd SSZ004CBA40_animals_parrot4 dd SSZ004CBA30_animals_parrot5 dd SSZ004CBA20_animals_pig1 dd SSZ004CBA10_animals_pig2 dd SSZ004CBA00_animals_pig3 dd SSZ004CB9F0_animals_pig4 dd SSZ004CB9E0_animals_pig5 dd SSZ004CB9D0_animals_rabbit3 dd SSZ004CB9C0_animals_rabbit4 dd SSZ004CB9B0_animals_rabbit5 dd SSZ004CB9A0_animals_rat1 dd SSZ004CB990_animals_rat2 dd SSZ004CB980_animals_rat3 dd SSZ004CB970_animals_rat4 dd SSZ004CB960_animals_rat5 dd SSZ004CB950_animals_raven1 dd SSZ004CB940_animals_raven2 dd SSZ004CB930_animals_raven3 dd SSZ004CB920_animals_raven4 dd SSZ004CB910_animals_raven5 dd SSZ004CB900_animals_sheep1 dd SSZ004CB8F0_animals_sheep2 dd SSZ004CB8E0_animals_sheep3 dd SSZ004CB8D0_animals_sheep4 dd SSZ004CB8C0_animals_sheep5 dd SSZ004CB8B0_animals_snake1 dd SSZ004CB8A0_animals_snake2 dd SSZ004CB890_animals_snake3 dd SSZ004CB880_animals_snake4 dd SSZ004CB870_animals_snake5 dd SSZ004CB860_animals_walrus1 dd SSZ004CB850_animals_walrus2 dd SSZ004CB840_animals_walrus3 dd SSZ004CB830_animals_walrus4 dd SSZ004CB820_animals_walrus5 dd SSZ004CB810_animals_wolf1 dd SSZ004CB800_animals_wolf2 dd SSZ004CB7F0_animals_wolf3 dd SSZ004CB7E0_animals_wolf4 dd SSZ004CB7D0_animals_wolf5 dd SSZ004CB7C0_doors_open01a dd SSZ004CB7B0_doors_open03a dd SSZ004CB7A0_doors_open04b dd SSZ004CB790_doors_open09 dd SSZ004CB780_doors_portclos dd SSZ004CB770_doors_portcul4 dd SSZ004CB760_doors_portcul5 dd SSZ004CB750_doors_shut03a dd SSZ004CB740_doors_shut07a dd SSZ004CB730_doors_shut14b dd SSZ004CB720_doors_shut17 dd SSZ004CB710_dungeon_sfx01 dd SSZ004CB700_dungeon_sfx02 dd SSZ004CB6F0_dungeon_sfx04 dd SSZ004CB6E0_dungeon_sfx05 dd SSZ004CB6D0_dungeon_sfx06 dd SSZ004CB6C0_dungeon_sfx08 dd SSZ004CB6B0_dungeon_sfx10 dd SSZ004CB6A0_dungeon_sfx11 dd SSZ004CB690_dungeon_sfx12_l dd SSZ004CB680_dungeon_sfx13 dd SSZ004CB670_dungeon_sfx14_l dd SSZ004CB660_dungeon_sfx15 dd SSZ004CB650_dungeon_sfx16_l dd SSZ004CB640_dungeon_sfx17_l dd SSZ004CB630_dungeon_sfx18_l dd SSZ004CB620_dungeon_sfx20_l dd SSZ004CB610_dungeon_sfx21_l dd SSZ004CB600_dungeon_sfx22_l dd SSZ004CB5EC_elementl_airelem1 dd SSZ004CB5D8_elementl_airelem2 dd SSZ004CB5C4_elementl_airelem3 dd SSZ004CB5B0_elementl_airelem4 dd SSZ004CB59C_elementl_airelem5 dd SSZ004CB588_elementl_erthel1 dd SSZ004CB574_elementl_erthel2 dd SSZ004CB560_elementl_erthel3 dd SSZ004CB54C_elementl_erthel4 dd SSZ004CB538_elementl_erthel5 dd SSZ004CB524_elementl_firelem1 dd SSZ004CB510_elementl_firelem2 dd SSZ004CB4FC_elementl_firelem3 dd SSZ004CB4E8_elementl_firelem4 dd SSZ004CB4D4_elementl_firelem5 dd SSZ004CB4C0_elementl_watrel1 dd SSZ004CB4AC_elementl_watrel2 dd SSZ004CB498_elementl_watrel3 dd SSZ004CB484_elementl_watrel4 dd SSZ004CB470_elementl_watrel5 dd SSZ004CB460_explode_exp01 dd SSZ004CB450_explode_exp04 dd SSZ004CB440_explode_exp05 dd SSZ004CB430_explode_exp06 dd SSZ004CB41C_footstep_bigfoot1 dd SSZ004CB408_footstep_bigfoot2 dd SSZ004CB3F4_footstep_feet01a dd SSZ004CB3E0_footstep_feet01b dd SSZ004CB3CC_footstep_feet03a dd SSZ004CB3B8_footstep_feet03b dd SSZ004CB3A4_footstep_feet05a dd SSZ004CB390_footstep_feet05b dd SSZ004CB37C_footstep_feet08a dd SSZ004CB368_footstep_feet08b dd SSZ004CB354_footstep_feet10a dd SSZ004CB340_footstep_feet10b dd SSZ004CB32C_footstep_feet12a dd SSZ004CB318_footstep_feet12b dd SSZ004CB304_footstep_feet13a dd SSZ004CB2F0_footstep_feet13b dd SSZ004CB2DC_footstep_feet14a dd SSZ004CB2C8_footstep_feet14b dd SSZ004CB2B4_footstep_feet15a dd SSZ004CB2A0_footstep_feet15b dd SSZ004CB28C_footstep_feet15c dd SSZ004CB278_footstep_feet15d dd SSZ004CB26C_hits_hit01 dd SSZ004CB260_hits_hit02 dd SSZ004CB254_hits_hit03 dd SSZ004CB248_hits_hit04 dd SSZ004CB23C_hits_hit05 dd SSZ004CB230_hits_hit06 dd SSZ004CB224_hits_hit07 dd SSZ004CB218_hits_hit08 dd SSZ004CB20C_hits_hit09 dd SSZ004CB200_hits_hit10 dd SSZ004CB1F4_hits_hit11 dd SSZ004CB1E8_hits_hit12 dd SSZ004CB1DC_hits_hit13 dd SSZ004CB1D0_hits_hit14 dd SSZ004CB1C4_hits_hit15 dd SSZ004CB1B8_hits_hit16 dd SSZ004CB1AC_hits_hit17 dd SSZ004CB1A0_hits_hit18 dd SSZ004CB194_hits_hit19 dd SSZ004CB188_hits_hit20 dd SSZ004CB17C_hits_hit21 dd SSZ004CB170_hits_hit22 dd SSZ004CB160_human_foomph01 dd SSZ004CB150_human_foomph06 dd SSZ004CB140_human_foomph07 dd SSZ004CB130_human_foomph08 dd SSZ004CB120_human_foomph09 dd SSZ004CB110_human_f_die_01 dd SSZ004CB100_human_f_die_02 dd SSZ004CB0F0_human_f_die_03 dd SSZ004CB0E0_human_f_die_04 dd SSZ004CB0D0_human_moomph01 dd SSZ004CB0C0_human_moomph02 dd SSZ004CB0B0_human_moomph03 dd SSZ004CB0A0_human_moomph04 dd SSZ004CB090_human_moomph05 dd SSZ004CB080_human_moomph13 dd SSZ004CB070_human_m_die_01 dd SSZ004CB060_human_m_die_02 dd SSZ004CB050_human_m_die_03 dd SSZ004CB040_human_m_die_04 dd SSZ004CB030_magic_fyrbal01 dd SSZ004CB020_magic_fyrbal02 dd SSZ004CB010_magic_fyrbal03 dd SSZ004CB000_monster_corpsr1 dd SSZ004CAFF0_monster_corpsr3 dd SSZ004CAFE0_monster_corpsr4 dd SSZ004CAFD0_monster_corpsr5 dd SSZ004CAFC0_monster_daemon1 dd SSZ004CAFB0_monster_daemon2 dd SSZ004CAFA0_monster_daemon3 dd SSZ004CAF90_monster_daemon4 dd SSZ004CAF80_monster_daemon5 dd SSZ004CAF70_monster_dragon1 dd SSZ004CAF60_monster_dragon2 dd SSZ004CAF50_monster_dragon3 dd SSZ004CAF40_monster_dragon4 dd SSZ004CAF30_monster_dragon5 dd SSZ004CAF20_monster_ettin1 dd SSZ004CAF10_monster_ettin2 dd SSZ004CAF00_monster_ettin3 dd SSZ004CAEF0_monster_ettin4 dd SSZ004CAEE0_monster_ettin5 dd SSZ004CAED0_monster_gargyl1 dd SSZ004CAEC0_monster_gargyl2 dd SSZ004CAEB0_monster_gargyl3 dd SSZ004CAEA0_monster_gargyl4 dd SSZ004CAE90_monster_gargyl5 dd SSZ004CAE80_monster_gazer1 dd SSZ004CAE70_monster_gazer2 dd SSZ004CAE60_monster_gazer3 dd SSZ004CAE50_monster_gazer4 dd SSZ004CAE40_monster_gazer5 dd SSZ004CAE30_monster_ghost1 dd SSZ004CAE20_monster_ghost2 dd SSZ004CAE10_monster_ghost3 dd SSZ004CAE00_monster_ghost4 dd SSZ004CADF0_monster_ghost5 dd SSZ004CADDC_monster_gispidr1 dd SSZ004CADC8_monster_gispidr2 dd SSZ004CADB4_monster_gispidr3 dd SSZ004CADA0_monster_gispidr4 dd SSZ004CAD8C_monster_gispidr5 dd SSZ004CAD7C_monster_grat1 dd SSZ004CAD6C_monster_grat2 dd SSZ004CAD5C_monster_grat3 dd SSZ004CAD4C_monster_grat4 dd SSZ004CAD3C_monster_grat5 dd SSZ004CAD2C_monster_gscorp1 dd SSZ004CAD1C_monster_gscorp2 dd SSZ004CAD0C_monster_gscorp3 dd SSZ004CACFC_monster_gscorp4 dd SSZ004CACEC_monster_gscorp5 dd SSZ004CACDC_monster_harpy1 dd SSZ004CACCC_monster_harpy2 dd SSZ004CACBC_monster_harpy3 dd SSZ004CACAC_monster_harpy4 dd SSZ004CAC9C_monster_harpy5 dd SSZ004CAC8C_monster_headls1 dd SSZ004CAC7C_monster_headls2 dd SSZ004CAC6C_monster_headls3 dd SSZ004CAC5C_monster_headls4 dd SSZ004CAC4C_monster_headls5 dd SSZ004CAC3C_monster_liche1 dd SSZ004CAC2C_monster_liche2 dd SSZ004CAC1C_monster_liche3 dd SSZ004CAC0C_monster_liche4 dd SSZ004CABFC_monster_liche5 dd SSZ004CABEC_monster_lzrdmn1 dd SSZ004CABDC_monster_lzrdmn2 dd SSZ004CABCC_monster_lzrdmn3 dd SSZ004CABBC_monster_lzrdmn4 dd SSZ004CABAC_monster_lzrdmn5 dd SSZ004CAB9C_monster_mngbat1 dd SSZ004CAB8C_monster_mngbat2 dd SSZ004CAB7C_monster_mngbat3 dd SSZ004CAB6C_monster_mngbat4 dd SSZ004CAB5C_monster_mngbat5 dd SSZ004CAB4C_monster_ogre1 dd SSZ004CAB3C_monster_ogre2 dd SSZ004CAB2C_monster_ogre3 dd SSZ004CAB1C_monster_ogre4 dd SSZ004CAB0C_monster_ogre5 dd SSZ004CAAFC_monster_orc1 dd SSZ004CAAEC_monster_orc2 dd SSZ004CAADC_monster_orc3 dd SSZ004CAACC_monster_orc4 dd SSZ004CAABC_monster_orc5 dd SSZ004CAAAC_monster_ratman1 dd SSZ004CAA9C_monster_ratman2 dd SSZ004CAA8C_monster_ratman3 dd SSZ004CAA7C_monster_ratman4 dd SSZ004CAA6C_monster_ratman5 dd SSZ004CAA5C_monster_reaper1 dd SSZ004CAA4C_monster_reaper2 dd SSZ004CAA3C_monster_reaper3 dd SSZ004CAA2C_monster_reaper4 dd SSZ004CAA1C_monster_reaper5 dd SSZ004CAA08_monster_seaserp1 dd SSZ004CA9F4_monster_seaserp3 dd SSZ004CA9E0_monster_seaserp4 dd SSZ004CA9CC_monster_seaserp5 dd SSZ004CA9BC_monster_skletn1 dd SSZ004CA9AC_monster_skletn2 dd SSZ004CA99C_monster_skletn3 dd SSZ004CA98C_monster_skletn4 dd SSZ004CA97C_monster_skletn5 dd SSZ004CA96C_monster_slime1 dd SSZ004CA95C_monster_slime2 dd SSZ004CA94C_monster_slime3 dd SSZ004CA93C_monster_slime4 dd SSZ004CA92C_monster_slime5 dd SSZ004CA91C_monster_troll1 dd SSZ004CA90C_monster_troll2 dd SSZ004CA8FC_monster_troll3 dd SSZ004CA8EC_monster_troll4 dd SSZ004CA8DC_monster_troll5 dd SSZ004CA8CC_monster_wisp1 dd SSZ004CA8BC_monster_wisp2 dd SSZ004CA8AC_monster_wisp3 dd SSZ004CA89C_monster_wisp4 dd SSZ004CA88C_monster_wisp5 dd SSZ004CA87C_monster_zombie1 dd SSZ004CA86C_monster_zombie2 dd SSZ004CA85C_monster_zombie3 dd SSZ004CA84C_monster_zombie4 dd SSZ004CA83C_monster_zombie5 dd SSZ004CA82C_spells_elec_l dd SSZ004CA81C_spells_fire_l dd SSZ004CA80C_spells_hiss_l dd SSZ004CA800_c01_clumsy dd SSZ004CA7F4_c01_cure dd SSZ004CA7E8_c01_curse dd SSZ004CA7DC_c01_c_food dd SSZ004CA7D0_c01_c_light dd SSZ004CA7C0_c01_feblmind dd SSZ004CA7B4_c01_m_arrow dd SSZ004CA7A8_c01_weaken dd SSZ004CA79C_c02_agility dd SSZ004CA78C_c02_archcure dd SSZ004CA77C_c02_birdseye dd SSZ004CA770_c02_bless dd SSZ004CA764_c02_cunning dd SSZ004CA754_c02_identify dd SSZ004CA748_c02_protect dd SSZ004CA738_c02_strength dd SSZ004CA72C_c02_trap dd SSZ004CA720_c02_untrap dd SSZ004CA714_c03_harm dd SSZ004CA708_c03_heal dd SSZ004CA6F4_c03_magic_fyrbal01 dd SSZ004CA6E8_c03_m_lock dd SSZ004CA6D8_c03_teleknes dd SSZ004CA6C8_c03_walstone dd SSZ004CA6B8_c04_aprotect dd SSZ004CA6A8_c04_manadran dd SSZ004CA698_c04_manavamp dd SSZ004CA68C_c04_mark dd SSZ004CA67C_c04_masscurs dd SSZ004CA670_c04_recall dd SSZ004CA664_c04_reveal dd SSZ004CA654_c04_teleport dd SSZ004CA648_c04_unlock dd SSZ004CA638_c05_bladsprt dd SSZ004CA628_c05_dispfild dd SSZ004CA618_c05_gratheal dd SSZ004CA608_c05_invisibl dd SSZ004CA5F8_c05_paralyze dd SSZ004CA5EC_c05_poison dd SSZ004CA5DC_c05_thundr01 dd SSZ004CA5D0_c06_explode dd SSZ004CA5C0_c06_flamstrk dd SSZ004CA5B0_c06_massdisp dd SSZ004CA5A0_c06_nrgybolt dd SSZ004CA590_c06_parafild dd SSZ004CA580_c06_posnfild dd SSZ004CA570_c07_earthqke dd SSZ004CA560_c07_gatetrvl dd SSZ004CA554_c07_morph dd SSZ004CA544_c07_nergyfld dd SSZ004CA534_c07_nrgywind dd SSZ004CA524_c08_dethvrtx dd SSZ004CA514_c08_mindblst dd SSZ004CA504_c08_resurect dd SSZ004CA4F4_c08_sumncrtr dd SSZ004CA4E4_c08_sumndemn dd SSZ004CA4D4_c08_sumnelem dd SSZ004CA4C4_traps_blade01 dd SSZ004CA4B4_traps_blade02 dd SSZ004CA4A4_traps_blade03 dd SSZ004CA494_traps_blade04 dd SSZ004CA484_traps_blade05 dd SSZ004CA474_traps_boulder1 dd SSZ004CA464_traps_boulder2 dd SSZ004CA454_traps_crumble1 dd SSZ004CA444_traps_crumble2 dd SSZ004CA434_traps_crumble3 dd SSZ004CA424_traps_crumble4 dd SSZ004CA414_traps_dart01 dd SSZ004CA404_traps_dart02 dd SSZ004CA3F4_traps_flame01 dd SSZ004CA3E4_traps_flame03 dd SSZ004CA3D4_traps_flame05 dd SSZ004CA3C4_traps_mushrm01 dd SSZ004CA3B4_traps_mushrm02 dd SSZ004CA3A4_traps_mushrm03 dd SSZ004CA394_traps_spike01 dd SSZ004CA384_traps_spike02 dd SSZ004CA374_traps_spike03 dd SSZ004CA364_traps_spike04 dd SSZ004CA354_traps_vapor01 dd SSZ004CA344_traps_vapor02 dd SSZ004CA334_traps_vapor03 dd SSZ004CA324_weapons_axe01 dd SSZ004CA314_weapons_blunt01 dd SSZ004CA300_weapons_crossbow dd SSZ004CA2EC_weapons_gilotin1 dd SSZ004CA2D8_weapons_hvyswrd1 dd SSZ004CA2C4_weapons_hvyswrd4 dd SSZ004CA2B4_weapons_swish01 dd SSZ004CA2A4_weapons_swish02 dd SSZ004CA294_weapons_swish03 dd SSZ004CA284_weapons_sword1 dd SSZ004CA274_weapons_sword7 dd SSZ004CA264_z_end_carpntry dd SSZ004CA258_z_end_dye dd SSZ004CA248_z_end_fshsplsh dd SSZ004CA238_z_end_liquid dd SSZ004CA228_z_end_lockpick dd SSZ004CA218_z_end_mortar dd SSZ004CA208_z_end_mystery1 dd SSZ004CA1F8_z_end_mystery2 dd SSZ004CA1E8_z_end_mystery3 dd SSZ004CA1D8_z_end_poison dd SSZ004CA1C8_z_end_powder dd SSZ004CA1B8_z_end_scissors dd SSZ004CA1A8_z_end_scribe dd SSZ004CA198_z_end_spirtspk dd SSZ004CA18C_z_horseft2 dd SSZ004CA180_z_horseft1 dd SSZ004CA164_monster_spider_warrior_1 dd SSZ004CA148_monster_spider_warrior_2 dd SSZ004CA12C_monster_spider_warrior_3 dd SSZ004CA110_monster_spider_warrior_4 dd SSZ004CA0F4_monster_spider_warrior_5 dd SSZ004CA0DC_monster_spider_drone_1 dd SSZ004CA0C4_monster_spider_drone_2 dd SSZ004CA0AC_monster_spider_drone_3 dd SSZ004CA094_monster_spider_drone_4 dd SSZ004CA07C_monster_spider_drone_5 dd SSZ004CA064_monster_spider_queen_1 dd SSZ004CA04C_monster_spider_queen_2 dd SSZ004CA034_monster_spider_queen_3 dd SSZ004CA01C_monster_spider_queen_4 dd SSZ004CA004_monster_spider_queen_5 dd SSZ004C9FF0_monster_cyclops_1 dd SSZ004C9FDC_monster_cyclops_2 dd SSZ004C9FC8_monster_cyclops_3 dd SSZ004C9FB4_monster_cyclops_4 dd SSZ004C9FA0_monster_cyclops_5 dd SSZ004C9F88_monster_cyclops_boss_1 dd SSZ004C9F70_monster_cyclops_boss_2 dd SSZ004C9F58_monster_cyclops_boss_3 dd SSZ004C9F40_monster_cyclops_boss_4 dd SSZ004C9F28_monster_cyclops_boss_5 dd SSZ004C9F14_monster_frog_big_1 dd SSZ004C9F00_monster_frog_big_2 dd SSZ004C9EEC_monster_frog_big_3 dd SSZ004C9ED8_monster_frog_big_4 dd SSZ004C9EC4_monster_frog_big_5 dd SSZ004C9EAC_monster_frog_small_1 dd SSZ004C9E94_monster_frog_small_2 dd SSZ004C9E7C_monster_frog_small_3 dd SSZ004C9E64_monster_frog_small_4 dd SSZ004C9E4C_monster_frog_small_5 dd SSZ004C9E34_monster_desertbird1_1 dd SSZ004C9E1C_monster_desertbird1_2 dd SSZ004C9E04_monster_desertbird1_3 dd SSZ004C9DEC_monster_desertbird1_4 dd SSZ004C9DD4_monster_desertbird1_5 dd SSZ004C9DBC_monster_desertbird2_1 dd SSZ004C9DA4_monster_desertbird2_2 dd SSZ004C9D8C_monster_desertbird2_3 dd SSZ004C9D74_monster_desertbird2_4 dd SSZ004C9D5C_monster_desertbird2_5 dd SSZ004C9D44_monster_snake_warrior_1 dd SSZ004C9D2C_monster_snake_warrior_2 dd SSZ004C9D14_monster_snake_warrior_3 dd SSZ004C9CFC_monster_snake_warrior_4 dd SSZ004C9CE4_monster_snake_warrior_5 dd SSZ004C9CCC_monster_snake_mage_1 dd SSZ004C9CB4_monster_snake_mage_2 dd SSZ004C9C9C_monster_snake_mage_3 dd SSZ004C9C84_monster_snake_mage_4 dd SSZ004C9C6C_monster_snake_mage_5 dd SSZ004C9C54_monster_snake_queen_1 dd SSZ004C9C3C_monster_snake_queen_2 dd SSZ004C9C24_monster_snake_queen_3 dd SSZ004C9C0C_monster_snake_queen_4 dd SSZ004C9BF4_monster_snake_queen_5 dd SSZ004C9BDC_monster_lava_lizard_1 dd SSZ004C9BC4_monster_lava_lizard_2 dd SSZ004C9BAC_monster_lava_lizard_3 dd SSZ004C9B94_monster_lava_lizard_4 dd SSZ004C9B7C_monster_lava_lizard_5 db 00h; db 00h; db 00h; db 00h; SSZ004C9B7C_monster_lava_lizard_5: db 'monster_lava_lizard_5',0 Align 4 SSZ004C9B94_monster_lava_lizard_4: db 'monster_lava_lizard_4',0 Align 4 SSZ004C9BAC_monster_lava_lizard_3: db 'monster_lava_lizard_3',0 Align 4 SSZ004C9BC4_monster_lava_lizard_2: db 'monster_lava_lizard_2',0 Align 4 SSZ004C9BDC_monster_lava_lizard_1: db 'monster_lava_lizard_1',0 Align 4 SSZ004C9BF4_monster_snake_queen_5: db 'monster_snake_queen_5',0 Align 4 SSZ004C9C0C_monster_snake_queen_4: db 'monster_snake_queen_4',0 Align 4 SSZ004C9C24_monster_snake_queen_3: db 'monster_snake_queen_3',0 Align 4 SSZ004C9C3C_monster_snake_queen_2: db 'monster_snake_queen_2',0 Align 4 SSZ004C9C54_monster_snake_queen_1: db 'monster_snake_queen_1',0 Align 4 SSZ004C9C6C_monster_snake_mage_5: db 'monster_snake_mage_5',0 Align 4 SSZ004C9C84_monster_snake_mage_4: db 'monster_snake_mage_4',0 Align 4 SSZ004C9C9C_monster_snake_mage_3: db 'monster_snake_mage_3',0 Align 4 SSZ004C9CB4_monster_snake_mage_2: db 'monster_snake_mage_2',0 Align 4 SSZ004C9CCC_monster_snake_mage_1: db 'monster_snake_mage_1',0 Align 4 SSZ004C9CE4_monster_snake_warrior_5: db 'monster_snake_warrior_5',0 SSZ004C9CFC_monster_snake_warrior_4: db 'monster_snake_warrior_4',0 SSZ004C9D14_monster_snake_warrior_3: db 'monster_snake_warrior_3',0 SSZ004C9D2C_monster_snake_warrior_2: db 'monster_snake_warrior_2',0 SSZ004C9D44_monster_snake_warrior_1: db 'monster_snake_warrior_1',0 SSZ004C9D5C_monster_desertbird2_5: db 'monster_desertbird2_5',0 Align 4 SSZ004C9D74_monster_desertbird2_4: db 'monster_desertbird2_4',0 Align 4 SSZ004C9D8C_monster_desertbird2_3: db 'monster_desertbird2_3',0 Align 4 SSZ004C9DA4_monster_desertbird2_2: db 'monster_desertbird2_2',0 Align 4 SSZ004C9DBC_monster_desertbird2_1: db 'monster_desertbird2_1',0 Align 4 SSZ004C9DD4_monster_desertbird1_5: db 'monster_desertbird1_5',0 Align 4 SSZ004C9DEC_monster_desertbird1_4: db 'monster_desertbird1_4',0 Align 4 SSZ004C9E04_monster_desertbird1_3: db 'monster_desertbird1_3',0 Align 4 SSZ004C9E1C_monster_desertbird1_2: db 'monster_desertbird1_2',0 Align 4 SSZ004C9E34_monster_desertbird1_1: db 'monster_desertbird1_1',0 Align 4 SSZ004C9E4C_monster_frog_small_5: db 'monster_frog_small_5',0 Align 4 SSZ004C9E64_monster_frog_small_4: db 'monster_frog_small_4',0 Align 4 SSZ004C9E7C_monster_frog_small_3: db 'monster_frog_small_3',0 Align 4 SSZ004C9E94_monster_frog_small_2: db 'monster_frog_small_2',0 Align 4 SSZ004C9EAC_monster_frog_small_1: db 'monster_frog_small_1',0 Align 4 SSZ004C9EC4_monster_frog_big_5: db 'monster_frog_big_5',0 Align 4 SSZ004C9ED8_monster_frog_big_4: db 'monster_frog_big_4',0 Align 4 SSZ004C9EEC_monster_frog_big_3: db 'monster_frog_big_3',0 Align 4 SSZ004C9F00_monster_frog_big_2: db 'monster_frog_big_2',0 Align 4 SSZ004C9F14_monster_frog_big_1: db 'monster_frog_big_1',0 Align 4 SSZ004C9F28_monster_cyclops_boss_5: db 'monster_cyclops_boss_5',0 Align 4 SSZ004C9F40_monster_cyclops_boss_4: db 'monster_cyclops_boss_4',0 Align 4 SSZ004C9F58_monster_cyclops_boss_3: db 'monster_cyclops_boss_3',0 Align 4 SSZ004C9F70_monster_cyclops_boss_2: db 'monster_cyclops_boss_2',0 Align 4 SSZ004C9F88_monster_cyclops_boss_1: db 'monster_cyclops_boss_1',0 Align 4 SSZ004C9FA0_monster_cyclops_5: db 'monster_cyclops_5',0 Align 4 SSZ004C9FB4_monster_cyclops_4: db 'monster_cyclops_4',0 Align 4 SSZ004C9FC8_monster_cyclops_3: db 'monster_cyclops_3',0 Align 4 SSZ004C9FDC_monster_cyclops_2: db 'monster_cyclops_2',0 Align 4 SSZ004C9FF0_monster_cyclops_1: db 'monster_cyclops_1',0 Align 4 SSZ004CA004_monster_spider_queen_5: db 'monster_spider_queen_5',0 Align 4 SSZ004CA01C_monster_spider_queen_4: db 'monster_spider_queen_4',0 Align 4 SSZ004CA034_monster_spider_queen_3: db 'monster_spider_queen_3',0 Align 4 SSZ004CA04C_monster_spider_queen_2: db 'monster_spider_queen_2',0 Align 4 SSZ004CA064_monster_spider_queen_1: db 'monster_spider_queen_1',0 Align 4 SSZ004CA07C_monster_spider_drone_5: db 'monster_spider_drone_5',0 Align 4 SSZ004CA094_monster_spider_drone_4: db 'monster_spider_drone_4',0 Align 4 SSZ004CA0AC_monster_spider_drone_3: db 'monster_spider_drone_3',0 Align 4 SSZ004CA0C4_monster_spider_drone_2: db 'monster_spider_drone_2',0 Align 4 SSZ004CA0DC_monster_spider_drone_1: db 'monster_spider_drone_1',0 Align 4 SSZ004CA0F4_monster_spider_warrior_5: db 'monster_spider_warrior_5',0 Align 4 SSZ004CA110_monster_spider_warrior_4: db 'monster_spider_warrior_4',0 Align 4 SSZ004CA12C_monster_spider_warrior_3: db 'monster_spider_warrior_3',0 Align 4 SSZ004CA148_monster_spider_warrior_2: db 'monster_spider_warrior_2',0 Align 4 SSZ004CA164_monster_spider_warrior_1: db 'monster_spider_warrior_1',0 Align 4 SSZ004CA180_z_horseft1: db 'z_horseft1',0 Align 4 SSZ004CA18C_z_horseft2: db 'z_horseft2',0 Align 4 SSZ004CA198_z_end_spirtspk: db 'z_end_spirtspk',0 Align 4 SSZ004CA1A8_z_end_scribe: db 'z_end_scribe',0 Align 4 SSZ004CA1B8_z_end_scissors: db 'z_end_scissors',0 Align 4 SSZ004CA1C8_z_end_powder: db 'z_end_powder',0 Align 4 SSZ004CA1D8_z_end_poison: db 'z_end_poison',0 Align 4 SSZ004CA1E8_z_end_mystery3: db 'z_end_mystery3',0 Align 4 SSZ004CA1F8_z_end_mystery2: db 'z_end_mystery2',0 Align 4 SSZ004CA208_z_end_mystery1: db 'z_end_mystery1',0 Align 4 SSZ004CA218_z_end_mortar: db 'z_end_mortar',0 Align 4 SSZ004CA228_z_end_lockpick: db 'z_end_lockpick',0 Align 4 SSZ004CA238_z_end_liquid: db 'z_end_liquid',0 Align 4 SSZ004CA248_z_end_fshsplsh: db 'z_end_fshsplsh',0 Align 4 SSZ004CA258_z_end_dye: db 'z_end_dye',0 Align 4 SSZ004CA264_z_end_carpntry: db 'z_end_carpntry',0 Align 4 SSZ004CA274_weapons_sword7: db 'weapons_sword7',0 Align 4 SSZ004CA284_weapons_sword1: db 'weapons_sword1',0 Align 4 SSZ004CA294_weapons_swish03: db 'weapons_swish03',0 SSZ004CA2A4_weapons_swish02: db 'weapons_swish02',0 SSZ004CA2B4_weapons_swish01: db 'weapons_swish01',0 SSZ004CA2C4_weapons_hvyswrd4: db 'weapons_hvyswrd4',0 Align 4 SSZ004CA2D8_weapons_hvyswrd1: db 'weapons_hvyswrd1',0 Align 4 SSZ004CA2EC_weapons_gilotin1: db 'weapons_gilotin1',0 Align 4 SSZ004CA300_weapons_crossbow: db 'weapons_crossbow',0 Align 4 SSZ004CA314_weapons_blunt01: db 'weapons_blunt01',0 SSZ004CA324_weapons_axe01: db 'weapons_axe01',0 Align 4 SSZ004CA334_traps_vapor03: db 'traps_vapor03',0 Align 4 SSZ004CA344_traps_vapor02: db 'traps_vapor02',0 Align 4 SSZ004CA354_traps_vapor01: db 'traps_vapor01',0 Align 4 SSZ004CA364_traps_spike04: db 'traps_spike04',0 Align 4 SSZ004CA374_traps_spike03: db 'traps_spike03',0 Align 4 SSZ004CA384_traps_spike02: db 'traps_spike02',0 Align 4 SSZ004CA394_traps_spike01: db 'traps_spike01',0 Align 4 SSZ004CA3A4_traps_mushrm03: db 'traps_mushrm03',0 Align 4 SSZ004CA3B4_traps_mushrm02: db 'traps_mushrm02',0 Align 4 SSZ004CA3C4_traps_mushrm01: db 'traps_mushrm01',0 Align 4 SSZ004CA3D4_traps_flame05: db 'traps_flame05',0 Align 4 SSZ004CA3E4_traps_flame03: db 'traps_flame03',0 Align 4 SSZ004CA3F4_traps_flame01: db 'traps_flame01',0 Align 4 SSZ004CA404_traps_dart02: db 'traps_dart02',0 Align 4 SSZ004CA414_traps_dart01: db 'traps_dart01',0 Align 4 SSZ004CA424_traps_crumble4: db 'traps_crumble4',0 Align 4 SSZ004CA434_traps_crumble3: db 'traps_crumble3',0 Align 4 SSZ004CA444_traps_crumble2: db 'traps_crumble2',0 Align 4 SSZ004CA454_traps_crumble1: db 'traps_crumble1',0 Align 4 SSZ004CA464_traps_boulder2: db 'traps_boulder2',0 Align 4 SSZ004CA474_traps_boulder1: db 'traps_boulder1',0 Align 4 SSZ004CA484_traps_blade05: db 'traps_blade05',0 Align 4 SSZ004CA494_traps_blade04: db 'traps_blade04',0 Align 4 SSZ004CA4A4_traps_blade03: db 'traps_blade03',0 Align 4 SSZ004CA4B4_traps_blade02: db 'traps_blade02',0 Align 4 SSZ004CA4C4_traps_blade01: db 'traps_blade01',0 Align 4 SSZ004CA4D4_c08_sumnelem: db 'c08_sumnelem',0 Align 4 SSZ004CA4E4_c08_sumndemn: db 'c08_sumndemn',0 Align 4 SSZ004CA4F4_c08_sumncrtr: db 'c08_sumncrtr',0 Align 4 SSZ004CA504_c08_resurect: db 'c08_resurect',0 Align 4 SSZ004CA514_c08_mindblst: db 'c08_mindblst',0 Align 4 SSZ004CA524_c08_dethvrtx: db 'c08_dethvrtx',0 Align 4 SSZ004CA534_c07_nrgywind: db 'c07_nrgywind',0 Align 4 SSZ004CA544_c07_nergyfld: db 'c07_nergyfld',0 Align 4 SSZ004CA554_c07_morph: db 'c07_morph',0 Align 4 SSZ004CA560_c07_gatetrvl: db 'c07_gatetrvl',0 Align 4 SSZ004CA570_c07_earthqke: db 'c07_earthqke',0 Align 4 SSZ004CA580_c06_posnfild: db 'c06_posnfild',0 Align 4 SSZ004CA590_c06_parafild: db 'c06_parafild',0 Align 4 SSZ004CA5A0_c06_nrgybolt: db 'c06_nrgybolt',0 Align 4 SSZ004CA5B0_c06_massdisp: db 'c06_massdisp',0 Align 4 SSZ004CA5C0_c06_flamstrk: db 'c06_flamstrk',0 Align 4 SSZ004CA5D0_c06_explode: db 'c06_explode',0 SSZ004CA5DC_c05_thundr01: db 'c05_thundr01',0 Align 4 SSZ004CA5EC_c05_poison: db 'c05_poison',0 Align 4 SSZ004CA5F8_c05_paralyze: db 'c05_paralyze',0 Align 4 SSZ004CA608_c05_invisibl: db 'c05_invisibl',0 Align 4 SSZ004CA618_c05_gratheal: db 'c05_gratheal',0 Align 4 SSZ004CA628_c05_dispfild: db 'c05_dispfild',0 Align 4 SSZ004CA638_c05_bladsprt: db 'c05_bladsprt',0 Align 4 SSZ004CA648_c04_unlock: db 'c04_unlock',0 Align 4 SSZ004CA654_c04_teleport: db 'c04_teleport',0 Align 4 SSZ004CA664_c04_reveal: db 'c04_reveal',0 Align 4 SSZ004CA670_c04_recall: db 'c04_recall',0 Align 4 SSZ004CA67C_c04_masscurs: db 'c04_masscurs',0 Align 4 SSZ004CA68C_c04_mark: db 'c04_mark',0 Align 4 SSZ004CA698_c04_manavamp: db 'c04_manavamp',0 Align 4 SSZ004CA6A8_c04_manadran: db 'c04_manadran',0 Align 4 SSZ004CA6B8_c04_aprotect: db 'c04_aprotect',0 Align 4 SSZ004CA6C8_c03_walstone: db 'c03_walstone',0 Align 4 SSZ004CA6D8_c03_teleknes: db 'c03_teleknes',0 Align 4 SSZ004CA6E8_c03_m_lock: db 'c03_m_lock',0 Align 4 SSZ004CA6F4_c03_magic_fyrbal01: db 'c03_magic_fyrbal01',0 Align 4 SSZ004CA708_c03_heal: db 'c03_heal',0 Align 4 SSZ004CA714_c03_harm: db 'c03_harm',0 Align 4 SSZ004CA720_c02_untrap: db 'c02_untrap',0 Align 4 SSZ004CA72C_c02_trap: db 'c02_trap',0 Align 4 SSZ004CA738_c02_strength: db 'c02_strength',0 Align 4 SSZ004CA748_c02_protect: db 'c02_protect',0 SSZ004CA754_c02_identify: db 'c02_identify',0 Align 4 SSZ004CA764_c02_cunning: db 'c02_cunning',0 SSZ004CA770_c02_bless: db 'c02_bless',0 Align 4 SSZ004CA77C_c02_birdseye: db 'c02_birdseye',0 Align 4 SSZ004CA78C_c02_archcure: db 'c02_archcure',0 Align 4 SSZ004CA79C_c02_agility: db 'c02_agility',0 SSZ004CA7A8_c01_weaken: db 'c01_weaken',0 Align 4 SSZ004CA7B4_c01_m_arrow: db 'c01_m_arrow',0 SSZ004CA7C0_c01_feblmind: db 'c01_feblmind',0 Align 4 SSZ004CA7D0_c01_c_light: db 'c01_c_light',0 SSZ004CA7DC_c01_c_food: db 'c01_c_food',0 Align 4 SSZ004CA7E8_c01_curse: db 'c01_curse',0 Align 4 SSZ004CA7F4_c01_cure: db 'c01_cure',0 Align 4 SSZ004CA800_c01_clumsy: db 'c01_clumsy',0 Align 4 SSZ004CA80C_spells_hiss_l: db 'spells_hiss_l',0 Align 4 SSZ004CA81C_spells_fire_l: db 'spells_fire_l',0 Align 4 SSZ004CA82C_spells_elec_l: db 'spells_elec_l',0 Align 4 SSZ004CA83C_monster_zombie5: db 'monster_zombie5',0 SSZ004CA84C_monster_zombie4: db 'monster_zombie4',0 SSZ004CA85C_monster_zombie3: db 'monster_zombie3',0 SSZ004CA86C_monster_zombie2: db 'monster_zombie2',0 SSZ004CA87C_monster_zombie1: db 'monster_zombie1',0 SSZ004CA88C_monster_wisp5: db 'monster_wisp5',0 Align 4 SSZ004CA89C_monster_wisp4: db 'monster_wisp4',0 Align 4 SSZ004CA8AC_monster_wisp3: db 'monster_wisp3',0 Align 4 SSZ004CA8BC_monster_wisp2: db 'monster_wisp2',0 Align 4 SSZ004CA8CC_monster_wisp1: db 'monster_wisp1',0 Align 4 SSZ004CA8DC_monster_troll5: db 'monster_troll5',0 Align 4 SSZ004CA8EC_monster_troll4: db 'monster_troll4',0 Align 4 SSZ004CA8FC_monster_troll3: db 'monster_troll3',0 Align 4 SSZ004CA90C_monster_troll2: db 'monster_troll2',0 Align 4 SSZ004CA91C_monster_troll1: db 'monster_troll1',0 Align 4 SSZ004CA92C_monster_slime5: db 'monster_slime5',0 Align 4 SSZ004CA93C_monster_slime4: db 'monster_slime4',0 Align 4 SSZ004CA94C_monster_slime3: db 'monster_slime3',0 Align 4 SSZ004CA95C_monster_slime2: db 'monster_slime2',0 Align 4 SSZ004CA96C_monster_slime1: db 'monster_slime1',0 Align 4 SSZ004CA97C_monster_skletn5: db 'monster_skletn5',0 SSZ004CA98C_monster_skletn4: db 'monster_skletn4',0 SSZ004CA99C_monster_skletn3: db 'monster_skletn3',0 SSZ004CA9AC_monster_skletn2: db 'monster_skletn2',0 SSZ004CA9BC_monster_skletn1: db 'monster_skletn1',0 SSZ004CA9CC_monster_seaserp5: db 'monster_seaserp5',0 Align 4 SSZ004CA9E0_monster_seaserp4: db 'monster_seaserp4',0 Align 4 SSZ004CA9F4_monster_seaserp3: db 'monster_seaserp3',0 Align 4 SSZ004CAA08_monster_seaserp1: db 'monster_seaserp1',0 Align 4 SSZ004CAA1C_monster_reaper5: db 'monster_reaper5',0 SSZ004CAA2C_monster_reaper4: db 'monster_reaper4',0 SSZ004CAA3C_monster_reaper3: db 'monster_reaper3',0 SSZ004CAA4C_monster_reaper2: db 'monster_reaper2',0 SSZ004CAA5C_monster_reaper1: db 'monster_reaper1',0 SSZ004CAA6C_monster_ratman5: db 'monster_ratman5',0 SSZ004CAA7C_monster_ratman4: db 'monster_ratman4',0 SSZ004CAA8C_monster_ratman3: db 'monster_ratman3',0 SSZ004CAA9C_monster_ratman2: db 'monster_ratman2',0 SSZ004CAAAC_monster_ratman1: db 'monster_ratman1',0 SSZ004CAABC_monster_orc5: db 'monster_orc5',0 Align 4 SSZ004CAACC_monster_orc4: db 'monster_orc4',0 Align 4 SSZ004CAADC_monster_orc3: db 'monster_orc3',0 Align 4 SSZ004CAAEC_monster_orc2: db 'monster_orc2',0 Align 4 SSZ004CAAFC_monster_orc1: db 'monster_orc1',0 Align 4 SSZ004CAB0C_monster_ogre5: db 'monster_ogre5',0 Align 4 SSZ004CAB1C_monster_ogre4: db 'monster_ogre4',0 Align 4 SSZ004CAB2C_monster_ogre3: db 'monster_ogre3',0 Align 4 SSZ004CAB3C_monster_ogre2: db 'monster_ogre2',0 Align 4 SSZ004CAB4C_monster_ogre1: db 'monster_ogre1',0 Align 4 SSZ004CAB5C_monster_mngbat5: db 'monster_mngbat5',0 SSZ004CAB6C_monster_mngbat4: db 'monster_mngbat4',0 SSZ004CAB7C_monster_mngbat3: db 'monster_mngbat3',0 SSZ004CAB8C_monster_mngbat2: db 'monster_mngbat2',0 SSZ004CAB9C_monster_mngbat1: db 'monster_mngbat1',0 SSZ004CABAC_monster_lzrdmn5: db 'monster_lzrdmn5',0 SSZ004CABBC_monster_lzrdmn4: db 'monster_lzrdmn4',0 SSZ004CABCC_monster_lzrdmn3: db 'monster_lzrdmn3',0 SSZ004CABDC_monster_lzrdmn2: db 'monster_lzrdmn2',0 SSZ004CABEC_monster_lzrdmn1: db 'monster_lzrdmn1',0 SSZ004CABFC_monster_liche5: db 'monster_liche5',0 Align 4 SSZ004CAC0C_monster_liche4: db 'monster_liche4',0 Align 4 SSZ004CAC1C_monster_liche3: db 'monster_liche3',0 Align 4 SSZ004CAC2C_monster_liche2: db 'monster_liche2',0 Align 4 SSZ004CAC3C_monster_liche1: db 'monster_liche1',0 Align 4 SSZ004CAC4C_monster_headls5: db 'monster_headls5',0 SSZ004CAC5C_monster_headls4: db 'monster_headls4',0 SSZ004CAC6C_monster_headls3: db 'monster_headls3',0 SSZ004CAC7C_monster_headls2: db 'monster_headls2',0 SSZ004CAC8C_monster_headls1: db 'monster_headls1',0 SSZ004CAC9C_monster_harpy5: db 'monster_harpy5',0 Align 4 SSZ004CACAC_monster_harpy4: db 'monster_harpy4',0 Align 4 SSZ004CACBC_monster_harpy3: db 'monster_harpy3',0 Align 4 SSZ004CACCC_monster_harpy2: db 'monster_harpy2',0 Align 4 SSZ004CACDC_monster_harpy1: db 'monster_harpy1',0 Align 4 SSZ004CACEC_monster_gscorp5: db 'monster_gscorp5',0 SSZ004CACFC_monster_gscorp4: db 'monster_gscorp4',0 SSZ004CAD0C_monster_gscorp3: db 'monster_gscorp3',0 SSZ004CAD1C_monster_gscorp2: db 'monster_gscorp2',0 SSZ004CAD2C_monster_gscorp1: db 'monster_gscorp1',0 SSZ004CAD3C_monster_grat5: db 'monster_grat5',0 Align 4 SSZ004CAD4C_monster_grat4: db 'monster_grat4',0 Align 4 SSZ004CAD5C_monster_grat3: db 'monster_grat3',0 Align 4 SSZ004CAD6C_monster_grat2: db 'monster_grat2',0 Align 4 SSZ004CAD7C_monster_grat1: db 'monster_grat1',0 Align 4 SSZ004CAD8C_monster_gispidr5: db 'monster_gispidr5',0 Align 4 SSZ004CADA0_monster_gispidr4: db 'monster_gispidr4',0 Align 4 SSZ004CADB4_monster_gispidr3: db 'monster_gispidr3',0 Align 4 SSZ004CADC8_monster_gispidr2: db 'monster_gispidr2',0 Align 4 SSZ004CADDC_monster_gispidr1: db 'monster_gispidr1',0 Align 4 SSZ004CADF0_monster_ghost5: db 'monster_ghost5',0 Align 4 SSZ004CAE00_monster_ghost4: db 'monster_ghost4',0 Align 4 SSZ004CAE10_monster_ghost3: db 'monster_ghost3',0 Align 4 SSZ004CAE20_monster_ghost2: db 'monster_ghost2',0 Align 4 SSZ004CAE30_monster_ghost1: db 'monster_ghost1',0 Align 4 SSZ004CAE40_monster_gazer5: db 'monster_gazer5',0 Align 4 SSZ004CAE50_monster_gazer4: db 'monster_gazer4',0 Align 4 SSZ004CAE60_monster_gazer3: db 'monster_gazer3',0 Align 4 SSZ004CAE70_monster_gazer2: db 'monster_gazer2',0 Align 4 SSZ004CAE80_monster_gazer1: db 'monster_gazer1',0 Align 4 SSZ004CAE90_monster_gargyl5: db 'monster_gargyl5',0 SSZ004CAEA0_monster_gargyl4: db 'monster_gargyl4',0 SSZ004CAEB0_monster_gargyl3: db 'monster_gargyl3',0 SSZ004CAEC0_monster_gargyl2: db 'monster_gargyl2',0 SSZ004CAED0_monster_gargyl1: db 'monster_gargyl1',0 SSZ004CAEE0_monster_ettin5: db 'monster_ettin5',0 Align 4 SSZ004CAEF0_monster_ettin4: db 'monster_ettin4',0 Align 4 SSZ004CAF00_monster_ettin3: db 'monster_ettin3',0 Align 4 SSZ004CAF10_monster_ettin2: db 'monster_ettin2',0 Align 4 SSZ004CAF20_monster_ettin1: db 'monster_ettin1',0 Align 4 SSZ004CAF30_monster_dragon5: db 'monster_dragon5',0 SSZ004CAF40_monster_dragon4: db 'monster_dragon4',0 SSZ004CAF50_monster_dragon3: db 'monster_dragon3',0 SSZ004CAF60_monster_dragon2: db 'monster_dragon2',0 SSZ004CAF70_monster_dragon1: db 'monster_dragon1',0 SSZ004CAF80_monster_daemon5: db 'monster_daemon5',0 SSZ004CAF90_monster_daemon4: db 'monster_daemon4',0 SSZ004CAFA0_monster_daemon3: db 'monster_daemon3',0 SSZ004CAFB0_monster_daemon2: db 'monster_daemon2',0 SSZ004CAFC0_monster_daemon1: db 'monster_daemon1',0 SSZ004CAFD0_monster_corpsr5: db 'monster_corpsr5',0 SSZ004CAFE0_monster_corpsr4: db 'monster_corpsr4',0 SSZ004CAFF0_monster_corpsr3: db 'monster_corpsr3',0 SSZ004CB000_monster_corpsr1: db 'monster_corpsr1',0 SSZ004CB010_magic_fyrbal03: db 'magic_fyrbal03',0 Align 4 SSZ004CB020_magic_fyrbal02: db 'magic_fyrbal02',0 Align 4 SSZ004CB030_magic_fyrbal01: db 'magic_fyrbal01',0 Align 4 SSZ004CB040_human_m_die_04: db 'human_m_die_04',0 Align 4 SSZ004CB050_human_m_die_03: db 'human_m_die_03',0 Align 4 SSZ004CB060_human_m_die_02: db 'human_m_die_02',0 Align 4 SSZ004CB070_human_m_die_01: db 'human_m_die_01',0 Align 4 SSZ004CB080_human_moomph13: db 'human_moomph13',0 Align 4 SSZ004CB090_human_moomph05: db 'human_moomph05',0 Align 4 SSZ004CB0A0_human_moomph04: db 'human_moomph04',0 Align 4 SSZ004CB0B0_human_moomph03: db 'human_moomph03',0 Align 4 SSZ004CB0C0_human_moomph02: db 'human_moomph02',0 Align 4 SSZ004CB0D0_human_moomph01: db 'human_moomph01',0 Align 4 SSZ004CB0E0_human_f_die_04: db 'human_f_die_04',0 Align 4 SSZ004CB0F0_human_f_die_03: db 'human_f_die_03',0 Align 4 SSZ004CB100_human_f_die_02: db 'human_f_die_02',0 Align 4 SSZ004CB110_human_f_die_01: db 'human_f_die_01',0 Align 4 SSZ004CB120_human_foomph09: db 'human_foomph09',0 Align 4 SSZ004CB130_human_foomph08: db 'human_foomph08',0 Align 4 SSZ004CB140_human_foomph07: db 'human_foomph07',0 Align 4 SSZ004CB150_human_foomph06: db 'human_foomph06',0 Align 4 SSZ004CB160_human_foomph01: db 'human_foomph01',0 Align 4 SSZ004CB170_hits_hit22: db 'hits_hit22',0 Align 4 SSZ004CB17C_hits_hit21: db 'hits_hit21',0 Align 4 SSZ004CB188_hits_hit20: db 'hits_hit20',0 Align 4 SSZ004CB194_hits_hit19: db 'hits_hit19',0 Align 4 SSZ004CB1A0_hits_hit18: db 'hits_hit18',0 Align 4 SSZ004CB1AC_hits_hit17: db 'hits_hit17',0 Align 4 SSZ004CB1B8_hits_hit16: db 'hits_hit16',0 Align 4 SSZ004CB1C4_hits_hit15: db 'hits_hit15',0 Align 4 SSZ004CB1D0_hits_hit14: db 'hits_hit14',0 Align 4 SSZ004CB1DC_hits_hit13: db 'hits_hit13',0 Align 4 SSZ004CB1E8_hits_hit12: db 'hits_hit12',0 Align 4 SSZ004CB1F4_hits_hit11: db 'hits_hit11',0 Align 4 SSZ004CB200_hits_hit10: db 'hits_hit10',0 Align 4 SSZ004CB20C_hits_hit09: db 'hits_hit09',0 Align 4 SSZ004CB218_hits_hit08: db 'hits_hit08',0 Align 4 SSZ004CB224_hits_hit07: db 'hits_hit07',0 Align 4 SSZ004CB230_hits_hit06: db 'hits_hit06',0 Align 4 SSZ004CB23C_hits_hit05: db 'hits_hit05',0 Align 4 SSZ004CB248_hits_hit04: db 'hits_hit04',0 Align 4 SSZ004CB254_hits_hit03: db 'hits_hit03',0 Align 4 SSZ004CB260_hits_hit02: db 'hits_hit02',0 Align 4 SSZ004CB26C_hits_hit01: db 'hits_hit01',0 Align 4 SSZ004CB278_footstep_feet15d: db 'footstep_feet15d',0 Align 4 SSZ004CB28C_footstep_feet15c: db 'footstep_feet15c',0 Align 4 SSZ004CB2A0_footstep_feet15b: db 'footstep_feet15b',0 Align 4 SSZ004CB2B4_footstep_feet15a: db 'footstep_feet15a',0 Align 4 SSZ004CB2C8_footstep_feet14b: db 'footstep_feet14b',0 Align 4 SSZ004CB2DC_footstep_feet14a: db 'footstep_feet14a',0 Align 4 SSZ004CB2F0_footstep_feet13b: db 'footstep_feet13b',0 Align 4 SSZ004CB304_footstep_feet13a: db 'footstep_feet13a',0 Align 4 SSZ004CB318_footstep_feet12b: db 'footstep_feet12b',0 Align 4 SSZ004CB32C_footstep_feet12a: db 'footstep_feet12a',0 Align 4 SSZ004CB340_footstep_feet10b: db 'footstep_feet10b',0 Align 4 SSZ004CB354_footstep_feet10a: db 'footstep_feet10a',0 Align 4 SSZ004CB368_footstep_feet08b: db 'footstep_feet08b',0 Align 4 SSZ004CB37C_footstep_feet08a: db 'footstep_feet08a',0 Align 4 SSZ004CB390_footstep_feet05b: db 'footstep_feet05b',0 Align 4 SSZ004CB3A4_footstep_feet05a: db 'footstep_feet05a',0 Align 4 SSZ004CB3B8_footstep_feet03b: db 'footstep_feet03b',0 Align 4 SSZ004CB3CC_footstep_feet03a: db 'footstep_feet03a',0 Align 4 SSZ004CB3E0_footstep_feet01b: db 'footstep_feet01b',0 Align 4 SSZ004CB3F4_footstep_feet01a: db 'footstep_feet01a',0 Align 4 SSZ004CB408_footstep_bigfoot2: db 'footstep_bigfoot2',0 Align 4 SSZ004CB41C_footstep_bigfoot1: db 'footstep_bigfoot1',0 Align 4 SSZ004CB430_explode_exp06: db 'explode_exp06',0 Align 4 SSZ004CB440_explode_exp05: db 'explode_exp05',0 Align 4 SSZ004CB450_explode_exp04: db 'explode_exp04',0 Align 4 SSZ004CB460_explode_exp01: db 'explode_exp01',0 Align 4 SSZ004CB470_elementl_watrel5: db 'elementl_watrel5',0 Align 4 SSZ004CB484_elementl_watrel4: db 'elementl_watrel4',0 Align 4 SSZ004CB498_elementl_watrel3: db 'elementl_watrel3',0 Align 4 SSZ004CB4AC_elementl_watrel2: db 'elementl_watrel2',0 Align 4 SSZ004CB4C0_elementl_watrel1: db 'elementl_watrel1',0 Align 4 SSZ004CB4D4_elementl_firelem5: db 'elementl_firelem5',0 Align 4 SSZ004CB4E8_elementl_firelem4: db 'elementl_firelem4',0 Align 4 SSZ004CB4FC_elementl_firelem3: db 'elementl_firelem3',0 Align 4 SSZ004CB510_elementl_firelem2: db 'elementl_firelem2',0 Align 4 SSZ004CB524_elementl_firelem1: db 'elementl_firelem1',0 Align 4 SSZ004CB538_elementl_erthel5: db 'elementl_erthel5',0 Align 4 SSZ004CB54C_elementl_erthel4: db 'elementl_erthel4',0 Align 4 SSZ004CB560_elementl_erthel3: db 'elementl_erthel3',0 Align 4 SSZ004CB574_elementl_erthel2: db 'elementl_erthel2',0 Align 4 SSZ004CB588_elementl_erthel1: db 'elementl_erthel1',0 Align 4 SSZ004CB59C_elementl_airelem5: db 'elementl_airelem5',0 Align 4 SSZ004CB5B0_elementl_airelem4: db 'elementl_airelem4',0 Align 4 SSZ004CB5C4_elementl_airelem3: db 'elementl_airelem3',0 Align 4 SSZ004CB5D8_elementl_airelem2: db 'elementl_airelem2',0 Align 4 SSZ004CB5EC_elementl_airelem1: db 'elementl_airelem1',0 Align 4 SSZ004CB600_dungeon_sfx22_l: db 'dungeon_sfx22_l',0 SSZ004CB610_dungeon_sfx21_l: db 'dungeon_sfx21_l',0 SSZ004CB620_dungeon_sfx20_l: db 'dungeon_sfx20_l',0 SSZ004CB630_dungeon_sfx18_l: db 'dungeon_sfx18_l',0 SSZ004CB640_dungeon_sfx17_l: db 'dungeon_sfx17_l',0 SSZ004CB650_dungeon_sfx16_l: db 'dungeon_sfx16_l',0 SSZ004CB660_dungeon_sfx15: db 'dungeon_sfx15',0 Align 4 SSZ004CB670_dungeon_sfx14_l: db 'dungeon_sfx14_l',0 SSZ004CB680_dungeon_sfx13: db 'dungeon_sfx13',0 Align 4 SSZ004CB690_dungeon_sfx12_l: db 'dungeon_sfx12_l',0 SSZ004CB6A0_dungeon_sfx11: db 'dungeon_sfx11',0 Align 4 SSZ004CB6B0_dungeon_sfx10: db 'dungeon_sfx10',0 Align 4 SSZ004CB6C0_dungeon_sfx08: db 'dungeon_sfx08',0 Align 4 SSZ004CB6D0_dungeon_sfx06: db 'dungeon_sfx06',0 Align 4 SSZ004CB6E0_dungeon_sfx05: db 'dungeon_sfx05',0 Align 4 SSZ004CB6F0_dungeon_sfx04: db 'dungeon_sfx04',0 Align 4 SSZ004CB700_dungeon_sfx02: db 'dungeon_sfx02',0 Align 4 SSZ004CB710_dungeon_sfx01: db 'dungeon_sfx01',0 Align 4 SSZ004CB720_doors_shut17: db 'doors_shut17',0 Align 4 SSZ004CB730_doors_shut14b: db 'doors_shut14b',0 Align 4 SSZ004CB740_doors_shut07a: db 'doors_shut07a',0 Align 4 SSZ004CB750_doors_shut03a: db 'doors_shut03a',0 Align 4 SSZ004CB760_doors_portcul5: db 'doors_portcul5',0 Align 4 SSZ004CB770_doors_portcul4: db 'doors_portcul4',0 Align 4 SSZ004CB780_doors_portclos: db 'doors_portclos',0 Align 4 SSZ004CB790_doors_open09: db 'doors_open09',0 Align 4 SSZ004CB7A0_doors_open04b: db 'doors_open04b',0 Align 4 SSZ004CB7B0_doors_open03a: db 'doors_open03a',0 Align 4 SSZ004CB7C0_doors_open01a: db 'doors_open01a',0 Align 4 SSZ004CB7D0_animals_wolf5: db 'animals_wolf5',0 Align 4 SSZ004CB7E0_animals_wolf4: db 'animals_wolf4',0 Align 4 SSZ004CB7F0_animals_wolf3: db 'animals_wolf3',0 Align 4 SSZ004CB800_animals_wolf2: db 'animals_wolf2',0 Align 4 SSZ004CB810_animals_wolf1: db 'animals_wolf1',0 Align 4 SSZ004CB820_animals_walrus5: db 'animals_walrus5',0 SSZ004CB830_animals_walrus4: db 'animals_walrus4',0 SSZ004CB840_animals_walrus3: db 'animals_walrus3',0 SSZ004CB850_animals_walrus2: db 'animals_walrus2',0 SSZ004CB860_animals_walrus1: db 'animals_walrus1',0 SSZ004CB870_animals_snake5: db 'animals_snake5',0 Align 4 SSZ004CB880_animals_snake4: db 'animals_snake4',0 Align 4 SSZ004CB890_animals_snake3: db 'animals_snake3',0 Align 4 SSZ004CB8A0_animals_snake2: db 'animals_snake2',0 Align 4 SSZ004CB8B0_animals_snake1: db 'animals_snake1',0 Align 4 SSZ004CB8C0_animals_sheep5: db 'animals_sheep5',0 Align 4 SSZ004CB8D0_animals_sheep4: db 'animals_sheep4',0 Align 4 SSZ004CB8E0_animals_sheep3: db 'animals_sheep3',0 Align 4 SSZ004CB8F0_animals_sheep2: db 'animals_sheep2',0 Align 4 SSZ004CB900_animals_sheep1: db 'animals_sheep1',0 Align 4 SSZ004CB910_animals_raven5: db 'animals_raven5',0 Align 4 SSZ004CB920_animals_raven4: db 'animals_raven4',0 Align 4 SSZ004CB930_animals_raven3: db 'animals_raven3',0 Align 4 SSZ004CB940_animals_raven2: db 'animals_raven2',0 Align 4 SSZ004CB950_animals_raven1: db 'animals_raven1',0 Align 4 SSZ004CB960_animals_rat5: db 'animals_rat5',0 Align 4 SSZ004CB970_animals_rat4: db 'animals_rat4',0 Align 4 SSZ004CB980_animals_rat3: db 'animals_rat3',0 Align 4 SSZ004CB990_animals_rat2: db 'animals_rat2',0 Align 4 SSZ004CB9A0_animals_rat1: db 'animals_rat1',0 Align 4 SSZ004CB9B0_animals_rabbit5: db 'animals_rabbit5',0 SSZ004CB9C0_animals_rabbit4: db 'animals_rabbit4',0 SSZ004CB9D0_animals_rabbit3: db 'animals_rabbit3',0 SSZ004CB9E0_animals_pig5: db 'animals_pig5',0 Align 4 SSZ004CB9F0_animals_pig4: db 'animals_pig4',0 Align 4 SSZ004CBA00_animals_pig3: db 'animals_pig3',0 Align 4 SSZ004CBA10_animals_pig2: db 'animals_pig2',0 Align 4 SSZ004CBA20_animals_pig1: db 'animals_pig1',0 Align 4 SSZ004CBA30_animals_parrot5: db 'animals_parrot5',0 SSZ004CBA40_animals_parrot4: db 'animals_parrot4',0 SSZ004CBA50_animals_parrot3: db 'animals_parrot3',0 SSZ004CBA60_animals_parrot2: db 'animals_parrot2',0 SSZ004CBA70_animals_parrot1: db 'animals_parrot1',0 SSZ004CBA80_animals_panther5: db 'animals_panther5',0 Align 4 SSZ004CBA94_animals_panther4: db 'animals_panther4',0 Align 4 SSZ004CBAA8_animals_panther3: db 'animals_panther3',0 Align 4 SSZ004CBABC_animals_panther2: db 'animals_panther2',0 Align 4 SSZ004CBAD0_animals_panther1: db 'animals_panther1',0 Align 4 SSZ004CBAE4_animals_llama5: db 'animals_llama5',0 Align 4 SSZ004CBAF4_animals_llama4: db 'animals_llama4',0 Align 4 SSZ004CBB04_animals_llama3: db 'animals_llama3',0 Align 4 SSZ004CBB14_animals_lion5: db 'animals_lion5',0 Align 4 SSZ004CBB24_animals_lion4: db 'animals_lion4',0 Align 4 SSZ004CBB34_animals_lion3: db 'animals_lion3',0 Align 4 SSZ004CBB44_animals_lion2: db 'animals_lion2',0 Align 4 SSZ004CBB54_animals_lion1: db 'animals_lion1',0 Align 4 SSZ004CBB64_animals_jungbrd5: db 'animals_jungbrd5',0 Align 4 SSZ004CBB78_animals_jungbrd4: db 'animals_jungbrd4',0 Align 4 SSZ004CBB8C_animals_jungbrd3: db 'animals_jungbrd3',0 Align 4 SSZ004CBBA0_animals_jungbrd2: db 'animals_jungbrd2',0 Align 4 SSZ004CBBB4_animals_jungbrd1: db 'animals_jungbrd1',0 Align 4 SSZ004CBBC8_animals_horse5: db 'animals_horse5',0 Align 4 SSZ004CBBD8_animals_horse4: db 'animals_horse4',0 Align 4 SSZ004CBBE8_animals_horse3: db 'animals_horse3',0 Align 4 SSZ004CBBF8_animals_horse2: db 'animals_horse2',0 Align 4 SSZ004CBC08_animals_horse1: db 'animals_horse1',0 Align 4 SSZ004CBC18_animals_grizzly5: db 'animals_grizzly5',0 Align 4 SSZ004CBC2C_animals_grizzly4: db 'animals_grizzly4',0 Align 4 SSZ004CBC40_animals_grizzly3: db 'animals_grizzly3',0 Align 4 SSZ004CBC54_animals_grizzly2: db 'animals_grizzly2',0 Align 4 SSZ004CBC68_animals_grizzly1: db 'animals_grizzly1',0 Align 4 SSZ004CBC7C_animals_gorilla5: db 'animals_gorilla5',0 Align 4 SSZ004CBC90_animals_gorilla4: db 'animals_gorilla4',0 Align 4 SSZ004CBCA4_animals_gorilla3: db 'animals_gorilla3',0 Align 4 SSZ004CBCB8_animals_gorilla2: db 'animals_gorilla2',0 Align 4 SSZ004CBCCC_animals_gorilla1: db 'animals_gorilla1',0 Align 4 SSZ004CBCE0_animals_goat5: db 'animals_goat5',0 Align 4 SSZ004CBCF0_animals_goat4: db 'animals_goat4',0 Align 4 SSZ004CBD00_animals_goat3: db 'animals_goat3',0 Align 4 SSZ004CBD10_animals_goat2: db 'animals_goat2',0 Align 4 SSZ004CBD20_animals_goat1: db 'animals_goat1',0 Align 4 SSZ004CBD30_animals_frstbrd5: db 'animals_frstbrd5',0 Align 4 SSZ004CBD44_animals_frstbrd4: db 'animals_frstbrd4',0 Align 4 SSZ004CBD58_animals_frstbrd3: db 'animals_frstbrd3',0 Align 4 SSZ004CBD6C_animals_frstbrd2: db 'animals_frstbrd2',0 Align 4 SSZ004CBD80_animals_frstbrd1: db 'animals_frstbrd1',0 Align 4 SSZ004CBD94_animals_eagle5: db 'animals_eagle5',0 Align 4 SSZ004CBDA4_animals_eagle4: db 'animals_eagle4',0 Align 4 SSZ004CBDB4_animals_eagle3: db 'animals_eagle3',0 Align 4 SSZ004CBDC4_animals_eagle2: db 'animals_eagle2',0 Align 4 SSZ004CBDD4_animals_eagle1: db 'animals_eagle1',0 Align 4 SSZ004CBDE4_animals_dolphin5: db 'animals_dolphin5',0 Align 4 SSZ004CBDF8_animals_dolphin4: db 'animals_dolphin4',0 Align 4 SSZ004CBE0C_animals_dolphin3: db 'animals_dolphin3',0 Align 4 SSZ004CBE20_animals_dolphin2: db 'animals_dolphin2',0 Align 4 SSZ004CBE34_animals_dolphin1: db 'animals_dolphin1',0 Align 4 SSZ004CBE48_animals_dog5: db 'animals_dog5',0 Align 4 SSZ004CBE58_animals_dog4: db 'animals_dog4',0 Align 4 SSZ004CBE68_animals_dog3: db 'animals_dog3',0 Align 4 SSZ004CBE78_animals_dog2: db 'animals_dog2',0 Align 4 SSZ004CBE88_animals_dog1: db 'animals_dog1',0 Align 4 SSZ004CBE98_animals_deer5: db 'animals_deer5',0 Align 4 SSZ004CBEA8_animals_deer4: db 'animals_deer4',0 Align 4 SSZ004CBEB8_animals_deer3: db 'animals_deer3',0 Align 4 SSZ004CBEC8_animals_crow5: db 'animals_crow5',0 Align 4 SSZ004CBED8_animals_crow4: db 'animals_crow4',0 Align 4 SSZ004CBEE8_animals_crow3: db 'animals_crow3',0 Align 4 SSZ004CBEF8_animals_crow2: db 'animals_crow2',0 Align 4 SSZ004CBF08_animals_crow1: db 'animals_crow1',0 Align 4 SSZ004CBF18_animals_cow5: db 'animals_cow5',0 Align 4 SSZ004CBF28_animals_cow4: db 'animals_cow4',0 Align 4 SSZ004CBF38_animals_cow3: db 'animals_cow3',0 Align 4 SSZ004CBF48_animals_cow2: db 'animals_cow2',0 Align 4 SSZ004CBF58_animals_cow1: db 'animals_cow1',0 Align 4 SSZ004CBF68_animals_cougar5: db 'animals_cougar5',0 SSZ004CBF78_animals_cougar4: db 'animals_cougar4',0 SSZ004CBF88_animals_cougar3: db 'animals_cougar3',0 SSZ004CBF98_animals_cougar2: db 'animals_cougar2',0 SSZ004CBFA8_animals_cougar1: db 'animals_cougar1',0 SSZ004CBFB8_animals_chicken5: db 'animals_chicken5',0 Align 4 SSZ004CBFCC_animals_chicken4: db 'animals_chicken4',0 Align 4 SSZ004CBFE0_animals_chicken3: db 'animals_chicken3',0 Align 4 SSZ004CBFF4_animals_chicken2: db 'animals_chicken2',0 Align 4 SSZ004CC008_animals_chicken1: db 'animals_chicken1',0 Align 4 SSZ004CC01C_animals_cat5: db 'animals_cat5',0 Align 4 SSZ004CC02C_animals_cat4: db 'animals_cat4',0 Align 4 SSZ004CC03C_animals_cat3: db 'animals_cat3',0 Align 4 SSZ004CC04C_animals_cat2: db 'animals_cat2',0 Align 4 SSZ004CC05C_animals_cat1: db 'animals_cat1',0 Align 4 SSZ004CC06C_animals_bull5: db 'animals_bull5',0 Align 4 SSZ004CC07C_animals_bull4: db 'animals_bull4',0 Align 4 SSZ004CC08C_animals_bull3: db 'animals_bull3',0 Align 4 SSZ004CC09C_animals_bull2: db 'animals_bull2',0 Align 4 SSZ004CC0AC_animals_bull1: db 'animals_bull1',0 Align 4 SSZ004CC0BC_animals_bear5: db 'animals_bear5',0 Align 4 SSZ004CC0CC_animals_bear4: db 'animals_bear4',0 Align 4 SSZ004CC0DC_animals_bear3: db 'animals_bear3',0 Align 4 SSZ004CC0EC_animals_bear2: db 'animals_bear2',0 Align 4 SSZ004CC0FC_animals_bear1: db 'animals_bear1',0 Align 4 SSZ004CC10C_animals_aligatr5: db 'animals_aligatr5',0 Align 4 SSZ004CC120_animals_aligatr4: db 'animals_aligatr4',0 Align 4 SSZ004CC134_animals_aligatr3: db 'animals_aligatr3',0 Align 4 SSZ004CC148_animals_aligatr2: db 'animals_aligatr2',0 Align 4 SSZ004CC15C_animals_aligatr1: db 'animals_aligatr1',0 Align 4 SSZ004CC170_actions_uselthr1: db 'actions_uselthr1',0 Align 4 SSZ004CC184_actions_uselethr: db 'actions_uselethr',0 Align 4 SSZ004CC198_actions_usecloth: db 'actions_usecloth',0 Align 4 SSZ004CC1AC_actions_unsheth1: db 'actions_unsheth1',0 Align 4 SSZ004CC1C0_actions_turnpage: db 'actions_turnpage',0 Align 4 SSZ004CC1D4_actions_torch01: db 'actions_torch01',0 SSZ004CC1E4_actions_tambrn_b: db 'actions_tambrn_b',0 Align 4 SSZ004CC1F8_actions_tamborin: db 'actions_tamborin',0 Align 4 SSZ004CC20C_actions_switch01: db 'actions_switch01',0 Align 4 SSZ004CC220_actions_swallow2: db 'actions_swallow2',0 Align 4 SSZ004CC234_actions_rustle: db 'actions_rustle',0 Align 4 SSZ004CC244_actions_pouring: db 'actions_pouring',0 SSZ004CC254_actions_lute01_b: db 'actions_lute01_b',0 Align 4 SSZ004CC268_actions_lute01: db 'actions_lute01',0 Align 4 SSZ004CC278_actions_lever05: db 'actions_lever05',0 SSZ004CC288_actions_lever02: db 'actions_lever02',0 SSZ004CC298_actions_lever01: db 'actions_lever01',0 SSZ004CC2A8_actions_leather1: db 'actions_leather1',0 Align 4 SSZ004CC2BC_actions_igntorch: db 'actions_igntorch',0 Align 4 SSZ004CC2D0_actions_harp02_b: db 'actions_harp02_b',0 Align 4 SSZ004CC2E4_actions_harp02: db 'actions_harp02',0 Align 4 SSZ004CC2F4_actions_harp01_b: db 'actions_harp01_b',0 Align 4 SSZ004CC308_actions_harp01: db 'actions_harp01',0 Align 4 SSZ004CC318_actions_hamer01: db 'actions_hamer01',0 SSZ004CC328_actions_glasbrk4: db 'actions_glasbrk4',0 Align 4 SSZ004CC33C_actions_glasbrk3: db 'actions_glasbrk3',0 Align 4 SSZ004CC350_actions_glasbrk2: db 'actions_glasbrk2',0 Align 4 SSZ004CC364_actions_glasbrk1: db 'actions_glasbrk1',0 Align 4 SSZ004CC378_actions_flute01: db 'actions_flute01',0 SSZ004CC388_actions_eat06: db 'actions_eat06',0 Align 4 SSZ004CC398_actions_eat03: db 'actions_eat03',0 Align 4 SSZ004CC3A8_actions_eat01: db 'actions_eat01',0 Align 4 SSZ004CC3B8_actions_drum01_b: db 'actions_drum01_b',0 Align 4 SSZ004CC3CC_actions_drum01: db 'actions_drum01',0 Align 4 SSZ004CC3DC_actions_dropmny3: db 'actions_dropmny3',0 Align 4 SSZ004CC3F0_actions_dropmny2: db 'actions_dropmny2',0 Align 4 SSZ004CC404_actions_dropmny1: db 'actions_dropmny1',0 Align 4 SSZ004CC418_actions_dropgem3: db 'actions_dropgem3',0 Align 4 SSZ004CC42C_actions_dropgem2: db 'actions_dropgem2',0 Align 4 SSZ004CC440_actions_dropgem1: db 'actions_dropgem1',0 Align 4 SSZ004CC454_actions_drink05: db 'actions_drink05',0 SSZ004CC464_actions_drink01: db 'actions_drink01',0 SSZ004CC474_actions_drawerop: db 'actions_drawerop',0 Align 4 SSZ004CC488_actions_drawercl: db 'actions_drawercl',0 Align 4 SSZ004CC49C_actions_chstopn2: db 'actions_chstopn2',0 Align 4 SSZ004CC4B0_actions_chstcls3: db 'actions_chstcls3',0 Align 4 SSZ004CC4C4_actions_bellows: db 'actions_bellows',0 SSZ004CC4D4_actions_anvil: db 'actions_anvil',0 Align 4 SSZ004CC4E4_aaafoley_thundr02: db 'aaafoley_thundr02',0 Align 4 SSZ004CC4F8_aaafoley_thundr01: db 'aaafoley_thundr01',0 Align 4 SSZ004CC50C_aaafoley_splash03: db 'aaafoley_splash03',0 Align 4 SSZ004CC520_aaafoley_splash02: db 'aaafoley_splash02',0 Align 4 SSZ004CC534_aaafoley_splash01: db 'aaafoley_splash01',0 Align 4 SSZ004CC548_aaafoley_drip03_l: db 'aaafoley_drip03_l',0 Align 4 SSZ004CC55C_aaafoley_drip02: db 'aaafoley_drip02',0 SSZ004CC56C_aaafoley_drip01: db 'aaafoley_drip01',0 SSZ004CC57C_aaafoley_bubl02_l: db 'aaafoley_bubl02_l',0 Align 4 SSZ004CC590_aaafoley_bubl01_l: db 'aaafoley_bubl01_l',0 Align 4 SSZ004CC5A4_aaafoley_bird09: db 'aaafoley_bird09',0 SSZ004CC5B4_aaafoley_bird08: db 'aaafoley_bird08',0 SSZ004CC5C4_aaafoley_bird07: db 'aaafoley_bird07',0 SSZ004CC5D4_aaafoley_bird06: db 'aaafoley_bird06',0 SSZ004CC5E4_aaafoley_bird05: db 'aaafoley_bird05',0 SSZ004CC5F4_aaafoley_bird04: db 'aaafoley_bird04',0 SSZ004CC604_aaafoley_bird03: db 'aaafoley_bird03',0 SSZ004CC614_aaafoley_bird02: db 'aaafoley_bird02',0 SSZ004CC624_aaafoley_bird01: db 'aaafoley_bird01',0 SSZ004CC634_aaaenvir_wind03_l: db 'aaaenvir_wind03_l',0 Align 4 SSZ004CC648_aaaenvir_wind02_l: db 'aaaenvir_wind02_l',0 Align 4 SSZ004CC65C_aaaenvir_wind01_l: db 'aaaenvir_wind01_l',0 Align 4 SSZ004CC670_aaaenvir_wave02_l: db 'aaaenvir_wave02_l',0 Align 4 SSZ004CC684_aaaenvir_wave01_l: db 'aaaenvir_wave01_l',0 Align 4 SSZ004CC698_aaaenvir_watr02_l: db 'aaaenvir_watr02_l',0 Align 4 SSZ004CC6AC_aaaenvir_watr01_l: db 'aaaenvir_watr01_l',0 Align 4 SSZ004CC6C0_aaaenvir_n_swmp02: db 'aaaenvir_n_swmp02',0 Align 4 SSZ004CC6D4_aaaenvir_n_swmp01: db 'aaaenvir_n_swmp01',0 Align 4 SSZ004CC6E8_aaaenvir_n_jung02: db 'aaaenvir_n_jung02',0 Align 4 SSZ004CC6FC_aaaenvir_n_jung01: db 'aaaenvir_n_jung01',0 Align 4 SSZ004CC710_aaaenvir_n_gen02: db 'aaaenvir_n_gen02',0 Align 4 SSZ004CC724_aaaenvir_n_gen01: db 'aaaenvir_n_gen01',0 Align 4 SSZ004CC738_aaaenvir_n_frst02: db 'aaaenvir_n_frst02',0 Align 4 SSZ004CC74C_aaaenvir_n_frst01: db 'aaaenvir_n_frst01',0 Align 4 SSZ004CC760_aaaenvir_d_swmp02: db 'aaaenvir_d_swmp02',0 Align 4 SSZ004CC774_aaaenvir_d_swmp01: db 'aaaenvir_d_swmp01',0 Align 4 SSZ004CC788_aaaenvir_d_jung03: db 'aaaenvir_d_jung03',0 Align 4 SSZ004CC79C_aaaenvir_d_jung02: db 'aaaenvir_d_jung02',0 Align 4 SSZ004CC7B0_aaaenvir_d_jung01: db 'aaaenvir_d_jung01',0 Align 4 SSZ004CC7C4_aaaenvir_d_frst03: db 'aaaenvir_d_frst03',0 Align 4 SSZ004CC7D8_aaaenvir_d_frst02: db 'aaaenvir_d_frst02',0 Align 4 SSZ004CC7EC_aaaenvir_d_frst01: db 'aaaenvir_d_frst01',0 db 00h; db 00h; db 01h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L004CC808: dd 00000064h L004CC80C: dd FFFFFFE2h L004CC810: dd 00000017h db 00h; db 00h; db 00h; db 00h; db 01h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 02h; db 00h; db 00h; db 00h; db 01h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 03h; db 00h; db 00h; db 00h; db 01h; db 00h; db 00h; db 00h; db 01h; db 00h; db 00h; db 00h; db 04h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 01h; db 00h; db 00h; db 00h; L004CC848: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 80h; '?' db 02h; db 00h; db 00h; L004CC854: dd 000001E0h db 00h; db 00h; db 00h; db 00h; db 3Fh; '?' db 00h; db 00h; db 00h; db 3Fh; '?' db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 7Fh; '' db 00h; db 00h; db 00h; db 7Fh; '' db 00h; db 00h; db 00h; L004CC874: dd 00000000h db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 3Fh; '?' db 00h; db 00h; db 00h; db 3Fh; '?' db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 7Fh; '' db 00h; db 00h; db 00h; db 7Fh; '' db 00h; db 00h; db 00h; SSZ004CC898_light_mul: db 'light.mul',0 Align 4 SSZ004CC8A4_lightidx_mul: db 'lightidx.mul',0 Align 4 L004CC8B4: db 01h; db 00h; db 00h; db 00h; L004CC8B8: db 61h; 'a' db 20h; ' ' db 00h; db 00h; L004CC8BC: db 61h; 'a' db 6Eh; 'n' db 20h; ' ' db 00h; SSZ004CC8C0_the_: db 'the ',0 Align 4 SSZ004CC8C8_tiledata_mul: db 'tiledata.mul',0 Align 4 SSZ004CC8D8_Can_t_get_there__follow_: db 'Can',27h,'t get there (follow)',0 Align 4 SSZ004CC8F4_MovesPerTile____0: db 'MovesPerTile()==0',0 Align 4 SSZ004CC908_UpdateMovement_: db 'UpdateMovement:',0 SSZ004CC918_scroll: db 'scroll',0 Align 4 L004CC920: db 25h; '%' db 64h; 'd' db 20h; ' ' db 00h; SSZ004CC924________: db '!@#$%&*',0 L004CC92C: dd 00000842h SSZ004CC930_OptionsGump_frame0: db 'OptionsGump frame0',0 Align 4 SSZ004CC944_framedata_for_OptionsGump: db 'framedata for OptionsGump',0 Align 4 SSZ004CC960_OptionsGump: db 'OptionsGump',0 SSZ004CC96C__HUE: db '#HUE',0 Align 4 SSZ004CC974__DUMMY: db '#DUMMY',0 Align 4 SSZ004CC97C__SLIDER: db '#SLIDER',0 SSZ004CC984__UNIFONT: db '#UNIFONT',0 Align 4 SSZ004CC990__RADIO: db '#RADIO',0 Align 4 SSZ004CC998__COLOR: db '#COLOR',0 Align 4 SSZ004CC9A0__CHECKBOX: db '#CHECKBOX',0 Align 4 SSZ004CC9AC__TAB: db '#TAB',0 Align 4 L004CC9B4: db 23h; '#' db 23h; '#' db 00h; db 00h; SSZ004CC9B8__END: db '#END',0 Align 4 L004CC9C0: dd SSZ004C617C_Sound L004CC9C4: dd L004CCB04 L004CC9C8: db 01h; db 00h; db 00h; db 00h; db 68h; 'h' db 61h; 'a' db 4Ch; 'L' db 00h; db 08h; db CBh; '‹' db 4Ch; 'L' db 00h; db 01h; db 00h; db 00h; db 00h; db 28h; '(' db 5Fh; '_' db 4Ch; 'L' db 00h; db 0Ch; db CBh; '‹' db 4Ch; 'L' db 00h; db 01h; db 00h; db 00h; db 00h; db B4h; '?' db 5Eh; '^' db 4Ch; 'L' db 00h; db 10h; db CBh; '‹' db 4Ch; 'L' db 00h; db 01h; db 00h; db 00h; db 00h; db A0h; 'ÿ' db 5Eh; '^' db 4Ch; 'L' db 00h; db 14h; db CBh; '‹' db 4Ch; 'L' db 00h; db 01h; db 00h; db 00h; db 00h; db 94h; '"' db 5Eh; '^' db 4Ch; 'L' db 00h; db 18h; db CBh; '‹' db 4Ch; 'L' db 00h; db 01h; db 00h; db 00h; db 00h; db 7Ch; '|' db 5Eh; '^' db 4Ch; 'L' db 00h; db 1Ch; db CBh; '‹' db 4Ch; 'L' db 00h; db 01h; db 00h; db 00h; db 00h; db BCh; '?' db 5Bh; '[' db 4Ch; 'L' db 00h; db 00h; db ECh; '¬' db 73h; 's' db 00h; db 00h; db 00h; db 00h; db 00h; db 64h; 'd' db 5Fh; '_' db 4Ch; 'L' db 00h; db 04h; db ECh; '¬' db 73h; 's' db 00h; db 00h; db 00h; db 00h; db 00h; db E4h; '¤' db 5Eh; '^' db 4Ch; 'L' db 00h; db 20h; ' ' db CBh; '‹' db 4Ch; 'L' db 00h; db 01h; db 00h; db 00h; db 00h; db C4h; '„' db 5Eh; '^' db 4Ch; 'L' db 00h; db 08h; db ECh; '¬' db 73h; 's' db 00h; db 00h; db 00h; db 00h; db 00h; db 74h; 't' db 5Fh; '_' db 4Ch; 'L' db 00h; db 0Ch; db ECh; '¬' db 73h; 's' db 00h; db 00h; db 00h; db 00h; db 00h; db 9Ch; '?' db 60h; '`' db 4Ch; 'L' db 00h; db 24h; '$' db CBh; '‹' db 4Ch; 'L' db 00h; db 01h; db 00h; db 00h; db 00h; db 68h; 'h' db 60h; '`' db 4Ch; 'L' db 00h; db 10h; db ECh; '¬' db 73h; 's' db 00h; db 00h; db 00h; db 00h; db 00h; db B4h; '?' db 5Fh; '_' db 4Ch; 'L' db 00h; db 28h; '(' db CBh; '‹' db 4Ch; 'L' db 00h; db 01h; db 00h; db 00h; db 00h; db A8h; 'ð' db 5Fh; '_' db 4Ch; 'L' db 00h; db 14h; db ECh; '¬' db 73h; 's' db 00h; db 00h; db 00h; db 00h; db 00h; db 84h; '"' db 5Fh; '_' db 4Ch; 'L' db 00h; db 18h; db ECh; '¬' db 73h; 's' db 00h; db 00h; db 00h; db 00h; db 00h; db 58h; 'X' db 60h; '`' db 4Ch; 'L' db 00h; db 1Ch; db ECh; '¬' db 73h; 's' db 00h; db 00h; db 00h; db 00h; db 00h; db 34h; '4' db 5Fh; '_' db 4Ch; 'L' db 00h; db 20h; ' ' db ECh; '¬' db 73h; 's' db 00h; db 00h; db 00h; db 00h; db 00h; db 4Ch; 'L' db 61h; 'a' db 4Ch; 'L' db 00h; db 2Ch; ',' db CBh; '‹' db 4Ch; 'L' db 00h; db 01h; db 00h; db 00h; db 00h; db E8h; '¨' db 60h; '`' db 4Ch; 'L' db 00h; db 24h; '$' db ECh; '¬' db 73h; 's' db 00h; db 00h; db 00h; db 00h; db 00h; db B0h; 'ø' db 5Bh; '[' db 4Ch; 'L' db 00h; db 30h; '0' db CBh; '‹' db 4Ch; 'L' db 00h; db 01h; db 00h; db 00h; db 00h; db 6Ch; 'l' db 5Bh; '[' db 4Ch; 'L' db 00h; db 34h; '4' db CBh; '‹' db 4Ch; 'L' db 00h; db 01h; db 01h; db 00h; db 00h; db 20h; ' ' db 5Bh; '[' db 4Ch; 'L' db 00h; db 28h; '(' db ECh; '¬' db 73h; 's' db 00h; db 00h; db 00h; db 00h; db 00h; db 0Ch; db 5Bh; '[' db 4Ch; 'L' db 00h; db 38h; '8' db CBh; '‹' db 4Ch; 'L' db 00h; db 01h; db 00h; db 00h; db 00h; db FCh; 'ì' db 59h; 'Y' db 4Ch; 'L' db 00h; db A0h; 'ÿ' db CBh; '‹' db 4Ch; 'L' db 00h; db 01h; db 01h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L004CCB04: db 01h; db 00h; db 00h; db 00h; L004CCB08: db 01h; db 00h; db 00h; db 00h; L004CCB0C: db 01h; db 00h; db 00h; db 00h; L004CCB10: db 01h; db 00h; db 00h; db 00h; L004CCB14: db 01h; db 00h; db 00h; db 00h; L004CCB18: db 01h; db 00h; db 00h; db 00h; L004CCB1C: db 01h; db 00h; db 00h; db 00h; L004CCB20: db 01h; db 00h; db 00h; db 00h; L004CCB24: db 01h; db 00h; db 00h; db 00h; L004CCB28: db 01h; db 00h; db 00h; db 00h; L004CCB2C: db 01h; db 00h; db 00h; db 00h; L004CCB30: db 01h; db 00h; db 00h; db 00h; L004CCB34: db 01h; db 00h; db 00h; db 00h; L004CCB38: db 01h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L004CCB40: dd SSZ004C5E50_Sound8Bit L004CCB44: dd L0073EC2C L004CCB48: db 00h; L004CCB49: db 00h; L004CCB4A: db 00h; db 00h; db 40h; '@' db 5Eh; '^' db 4Ch; 'L' db 00h; db 30h; '0' db ECh; '¬' db 73h; 's' db 00h; db 00h; db 00h; db 00h; db 00h; db 6Ch; 'l' db 5Eh; '^' db 4Ch; 'L' db 00h; db 34h; '4' db ECh; '¬' db 73h; 's' db 00h; db 00h; db 00h; db 00h; db 00h; db D0h; '' db 5Fh; '_' db 4Ch; 'L' db 00h; db A4h; 'ý' db CBh; '‹' db 4Ch; 'L' db 00h; db 00h; db 00h; db 01h; db 00h; db 24h; '$' db 61h; 'a' db 4Ch; 'L' db 00h; db A8h; 'ð' db CBh; '‹' db 4Ch; 'L' db 00h; db 00h; db 00h; db 01h; db 00h; db 14h; db 61h; 'a' db 4Ch; 'L' db 00h; db 38h; '8' db ECh; '¬' db 73h; 's' db 00h; db 00h; db 00h; db 00h; db 00h; db 8Ch; '?' db D2h; '’' db 4Ch; 'L' db 00h; db 3Ch; '<' db ECh; '¬' db 73h; 's' db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L004CCBA0: db 01h; db 00h; db 00h; db 00h; L004CCBA4: db 01h; db 00h; db 00h; db 00h; L004CCBA8: db 01h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L004CCBB0: dd SSZ004C5D84_ChatColorInput L004CCBB4: dd L004CCD50 L004CCBB8: db DEh; 'ž' db 7Bh; '{' db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 94h; '"' db 5Dh; ']' db 4Ch; 'L' db 00h; db 54h; 'T' db CDh; '' db 4Ch; 'L' db 00h; db E0h; ' ' db 7Fh; '' db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db A8h; 'ð' db 5Dh; ']' db 4Ch; 'L' db 00h; db 58h; 'X' db CDh; '' db 4Ch; 'L' db 00h; db E0h; ' ' db 3Dh; '=' db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db B8h; 'ñ' db 5Dh; ']' db 4Ch; 'L' db 00h; db 5Ch; '\' db CDh; '' db 4Ch; 'L' db 00h; db E0h; ' ' db 7Fh; '' db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db C8h; 'ˆ' db 5Dh; ']' db 4Ch; 'L' db 00h; db 60h; '`' db CDh; '' db 4Ch; 'L' db 00h; db 0Fh; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db DCh; 'œ' db 5Dh; ']' db 4Ch; 'L' db 00h; db 64h; 'd' db CDh; '' db 4Ch; 'L' db 00h; db 1Fh; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db F0h; 'à' db 5Dh; ']' db 4Ch; 'L' db 00h; db 68h; 'h' db CDh; '' db 4Ch; 'L' db 00h; db 0Fh; db 3Ch; '<' db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 04h; db 5Eh; '^' db 4Ch; 'L' db 00h; db 6Ch; 'l' db CDh; '' db 4Ch; 'L' db 00h; db 1Fh; db 7Ch; '|' db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 18h; db 5Eh; '^' db 4Ch; 'L' db 00h; db 70h; 'p' db CDh; '' db 4Ch; 'L' db 00h; db EFh; '¯' db 3Dh; '=' db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 2Ch; ',' db 5Eh; '^' db 4Ch; 'L' db 00h; db 74h; 't' db CDh; '' db 4Ch; 'L' db 00h; db FFh; 'ï' db 7Fh; '' db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 6Ch; 'l' db 5Dh; ']' db 4Ch; 'L' db 00h; db 78h; 'x' db CDh; '' db 4Ch; 'L' db 00h; db E0h; ' ' db 03h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db F4h; 'ä' db 5Ch; '\' db 4Ch; 'L' db 00h; db 40h; '@' db ECh; '¬' db 73h; 's' db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db D8h; '˜' db 5Ch; '\' db 4Ch; 'L' db 00h; db 44h; 'D' db ECh; '¬' db 73h; 's' db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 0Ch; db 5Dh; ']' db 4Ch; 'L' db 00h; db 48h; 'H' db ECh; '¬' db 73h; 's' db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 48h; 'H' db 5Dh; ']' db 4Ch; 'L' db 00h; db 7Ch; '|' db CDh; '' db 4Ch; 'L' db 00h; db 63h; 'c' db 0Ch; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 28h; '(' db 5Dh; ']' db 4Ch; 'L' db 00h; db 80h; '?' db CDh; '' db 4Ch; 'L' db 00h; db 63h; 'c' db 0Ch; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db BCh; '?' db 5Ch; '\' db 4Ch; 'L' db 00h; db 4Ch; 'L' db ECh; '¬' db 73h; 's' db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 80h; '?' db 5Bh; '[' db 4Ch; 'L' db 00h; db 88h; '?' db CDh; '' db 4Ch; 'L' db 00h; db 58h; 'X' db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 44h; 'D' db 5Ch; '\' db 4Ch; 'L' db 00h; db 34h; '4' db 68h; 'h' db 4Ch; 'L' db 00h; db 59h; 'Y' db 00h; db 00h; db 00h; db 01h; db 00h; db 00h; db 00h; db 2Ch; ',' db 5Ch; '\' db 4Ch; 'L' db 00h; db 38h; '8' db 68h; 'h' db 4Ch; 'L' db 00h; db 3Fh; '?' db 00h; db 00h; db 00h; db 01h; db 00h; db 00h; db 00h; db 14h; db 5Ch; '\' db 4Ch; 'L' db 00h; db 3Ch; '<' db 68h; 'h' db 4Ch; 'L' db 00h; db B2h; 'I' db 03h; db 00h; db 00h; db 01h; db 00h; db 00h; db 00h; db FCh; 'ì' db 5Bh; '[' db 4Ch; 'L' db 00h; db 40h; '@' db 68h; 'h' db 4Ch; 'L' db 00h; db B2h; 'I' db 03h; db 00h; db 00h; db 01h; db 00h; db 00h; db 00h; db E8h; '¨' db 5Bh; '[' db 4Ch; 'L' db 00h; db 44h; 'D' db 68h; 'h' db 4Ch; 'L' db 00h; db 90h; '?' db 00h; db 00h; db 00h; db 01h; db 00h; db 00h; db 00h; db D0h; '' db 5Bh; '[' db 4Ch; 'L' db 00h; db 48h; 'H' db 68h; 'h' db 4Ch; 'L' db 00h; db 22h; '"' db 00h; db 00h; db 00h; db 01h; db 00h; db 00h; db 00h; db 44h; 'D' db 5Bh; '[' db 4Ch; 'L' db 00h; db 84h; '"' db CDh; '' db 4Ch; 'L' db 00h; db FFh; 'ï' db 03h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L004CCD50: dd 00007BDEh L004CCD54: dd 00007FE0h L004CCD58: dd 00003DE0h L004CCD5C: dd 00007FE0h L004CCD60: dd 0000000Fh L004CCD64: dd 0000001Fh L004CCD68: dd 00003C0Fh L004CCD6C: dd 00007C1Fh L004CCD70: dd 00003DEFh L004CCD74: dd 00007FFFh L004CCD78: dd 000003E0h L004CCD7C: dd 00000C63h L004CCD80: dd 00000C63h L004CCD84: db FFh; 'ï' db 03h; db 00h; db 00h; L004CCD88: dd 00000058h db 00h; db 00h; db 00h; db 00h; L004CCD90: dd SSZ004C6170_SoundVol L004CCD94: dd L004CCDE4 L004CCD98: db FFh; 'ï' db 00h; db 00h; db 00h; db 5Ch; '\' db 61h; 'a' db 4Ch; 'L' db 00h; db E8h; '¨' db CDh; '' db 4Ch; 'L' db 00h; db FFh; 'ï' db 00h; db 00h; db 00h; db F4h; 'ä' db 5Eh; '^' db 4Ch; 'L' db 00h; db ECh; '¬' db CDh; '' db 4Ch; 'L' db 00h; db 64h; 'd' db 00h; db 00h; db 00h; db 50h; 'P' db 5Fh; '_' db 4Ch; 'L' db 00h; db F0h; 'à' db CDh; '' db 4Ch; 'L' db 00h; db 40h; '@' db 00h; db 00h; db 00h; db A0h; 'ÿ' db 5Bh; '[' db 4Ch; 'L' db 00h; db F4h; 'ä' db CDh; '' db 4Ch; 'L' db 00h; db E8h; '¨' db 03h; db 00h; db 00h; db 58h; 'X' db 5Bh; '[' db 4Ch; 'L' db 00h; db F8h; 'è' db CDh; '' db 4Ch; 'L' db 00h; db E8h; '¨' db 03h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L004CCDE4: db FFh; 'ï' db 00h; db 00h; db 00h; L004CCDE8: dd 000000FFh L004CCDEC: dd 00000064h L004CCDF0: db 40h; '@' db 00h; db 00h; db 00h; L004CCDF4: dd 000003E8h L004CCDF8: db E8h; '¨' db 03h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L004CCE00: dd SSZ004C5CAC_ChatFontNumber L004CCE04: dd L004CCE3C L004CCE08: db 02h; db 00h; db 00h; db 00h; db 7Ch; '|' db 5Ch; '\' db 4Ch; 'L' db 00h; db 50h; 'P' db ECh; '¬' db 73h; 's' db 00h; db 00h; db 00h; db 00h; db 00h; db 30h; '0' db 5Bh; '[' db 4Ch; 'L' db 00h; db 40h; '@' db CEh; 'Ž' db 4Ch; 'L' db 00h; db 01h; db 00h; db 00h; db 00h; db 94h; '"' db 5Bh; '[' db 4Ch; 'L' db 00h; db 44h; 'D' db CEh; 'Ž' db 4Ch; 'L' db 00h; db 01h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L004CCE3C: dd 00000002h L004CCE40: db 01h; db 00h; db 00h; db 00h; L004CCE44: db 01h; db 00h; db 00h; db 00h; L004CCE48: dd SSZ004CCE78_640x480 L004CCE4C: dd SSZ004CD078_English L004CCE50: dd SSZ004C60D8_FullScreenRes L004CCE54: dd L004CCE48 L004CCE58: dd SSZ004CD284_640x480 dd SSZ004CD278_Language dd L004CCE4C dd SSZ004C7600_English db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; SSZ004CCE78_640x480: db '640x480',0 db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; SSZ004CD078_English: db 'English',0 db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; SSZ004CD278_Language: db 'Language',0 Align 4 SSZ004CD284_640x480: db '640x480',0 db 55h; 'U' db 73h; 's' db 65h; 'e' db 35h; '5' db 36h; '6' db 35h; '5' db 00h; db 00h; SSZ004CD294__EmoteHue: db '%EmoteHue',0 Align 4 SSZ004CD2A0__SpeechHue: db '%SpeechHue',0 Align 4 SSZ004CD2AC__s__d_s: db '%s=%d%s',0 SSZ004CD2B4___02x_02x_02x: db '#%02x%02x%02x',0 Align 4 L004CD2C4: db 2Dh; '-' db 25h; '%' db 64h; 'd' db 00h; SSZ004CD2C8__s__s_s: db '%s=%s%s',0 SSZ004CD2D0_________________________________: db ';------------------------------%s',0 Align 4 SSZ004CD2F4__s_s: db '%s%s',0 Align 4 L004CD2FC: db 24h; '$' db 00h; db 00h; db 00h; SSZ004CD300________________________________: db ';------------------------------',0 SSZ004CD320_OptScrollBar_frame0: db 'OptScrollBar frame0',0 SSZ004CD334_OptScrollBar_framedata: db 'OptScrollBar framedata',0 db 00h; db 00h; db 00h; db 00h; db 00h; L004CD350: dd SSZ004CD3F4_You_can_not_pick_that_up_ dd SSZ004CD3DC_That_is_too_far_away_ dd SSZ004CD3C4_That_is_out_of_sight_ dd SSZ004CD388_That_item_does_not_belong_to_you dd SSZ004CD364_You_are_already_holding_an_item_ SSZ004CD364_You_are_already_holding_an_item_: db 'You are already holding an item.',0 Align 4 SSZ004CD388_That_item_does_not_belong_to_you: db 'That item does not belong to you. You',27h,'ll have to steal it.',0 SSZ004CD3C4_That_is_out_of_sight_: db 'That is out of sight.',0 Align 4 SSZ004CD3DC_That_is_too_far_away_: db 'That is too far away.',0 Align 4 SSZ004CD3F4_You_can_not_pick_that_up_: db 'You can not pick that up.',0 Align 4 SSZ004CD410__System____s: db '[System]: %s',0 Align 4 SSZ004CD420__s___s: db '%s: %s',0 Align 4 SSZ004CD428_Welcome_to_Ultima_Online_: db 'Welcome to Ultima Online!',0 Align 4 L004CD444: db 29h; ')' db 00h; db 00h; db 00h; L004CD448: db 20h; ' ' db 28h; '(' db 00h; db 00h; SSZ004CD44C_Z_change_received_for_non_player: db 'Z change received for non-player object',0 SSZ004CD474_Now_grouped_: db 'Now grouped.',0 Align 4 SSZ004CD484_Removed_from_group_: db 'Removed from group.',0 SSZ004CD498_Illegal_group_: db 'Illegal group.',0 Align 4 L004CD4A8: db 3Fh; '?' db 3Fh; '?' db 3Fh; '?' db 00h; SSZ004CD4AC_No_longer_following_: db 'No longer following.',0 Align 4 L004CD4C4: db 59h; 'Y' db 4Fh; 'O' db 55h; 'U' db 00h; SSZ004CD4C8_The_client_could_not_attach_to_t: db 'The client could not attach to the game server. It must have been taken down, please wait a few minutes and try again.',0 Align 4 SSZ004CD540_An_error_has_occurred_in_the_syn: db 'An error has occurred in the synchronization between the login servers and this world. Please close your client and try again.',0 SSZ004CD5C0_Another_character_from_this_acco: db 'Another character from this account is currently online in this world. You must either log in as that character or wait for it to time out.',0 Align 4 SSZ004CD650_Access_Denied_: db 'Access Denied!',0 Align 4 SSZ004CD660_Character_does_not_exist___Closi: db 'Character does not exist.',0Ah,' Closing...',0 Align 4 SSZ004CD688_This_character_does_not_exist_an: db 'This character does not exist anymore. You will have to recreate it.',0 Align 4 SSZ004CD6D0_You_entered_an_incorrect_passwor: db 'You entered an incorrect password. Closing...',0 Align 4 SSZ004CD700_Incorrect_password_: db 'Incorrect password.',0 SSZ004CD714_This_character_already_exists__P: db 'This character already exists.',0Ah,'Playing...',0 Align 4 SSZ004CD740_You_have_been_idle_for_too_long_: db 'You have been idle for too long. If you do not do anything in the next minute, you will be logged out.',0 SSZ004CD7A8_Request_to_edit_denied_: db 'Request to edit denied.',0 SSZ004CD7C0_not_sequencing_: db 'not sequencing!',0 SSZ004CD7D0_already_sequencing_: db 'already sequencing!',0 SSZ004CD7E4_Sorted_by_time_zone___Best_servi: db 'Sorted by time zone. Best service likely with first selection.',0 SSZ004CD824_The_Ultima_Online_servers_are_cu: db 'The Ultima Online servers are currently down, please try again in a few moments.',0 Align 4 SSZ004CD878_There_is_some_problem_communicat: db 'There is some problem communicating with Origin. Please restart Ultima Online and try again.',0 Align 4 SSZ004CD8D8_Your_account_credentials_are_inv: db 'Your account credentials are invalid. Check your user ID and password and try again.',0 Align 4 SSZ004CD930_Your_account_has_been_blocked__P: db 'Your account has been blocked. Please visit http://ultima-registration.com for information on reactivating your account.',0 Align 4 SSZ004CD9AC_Someone_is_already_using_this_ac: db 'Someone is already using this account.',0 Align 4 SSZ004CD9D4_This_account_doesn_t_exist__If_y: db 'This account doesn',27h,'t exist. If you just created or updated your account on the web site, it may take a few minutes to be transmitted to Origin.',0 SSZ004CDA64_Connecting___: db 'Connecting...',0 Align 4 SSZ004CDA74_The_server_you_have_selected_is_: db 'The server you have selected is full, sorry for the inconvenience. Please use another server or try again later.',0 Align 4 SSZ004CDAE8_Couldn_t_carry_out_your_request_: db 'Couldn',27h,'t carry out your request.',0 Align 4 SSZ004CDB0C_That_character_is_currently_queu: db 'That character is currently queued for backup and cannot be deleted.',0 Align 4 SSZ004CDB54_That_character_is_not_old_enough: db 'That character is not old enough to delete. The character must be 7 days old before it can be deleted.',0 Align 4 SSZ004CDBBC_That_character_is_being_played_r: db 'That character is being played right now.',0 Align 4 SSZ004CDBE8_That_character_does_not_exist_: db 'That character does not exist.',0 Align 4 SSZ004CDC08_That_character_password_is_inval: db 'That character password is invalid.',0 SSZ004CDC2C_Failed_to_calloc_memory_: db 'Failed to calloc memory.',0 Align 4 SSZ004CDC48_Oops_: db 'Oops.',0 Align 4 L004CDC50: db E0h; ' ' db 2Eh; '.' db 00h; db 00h; SSZ004CDC54_Bogus_return_ping: db 'Bogus return ping',0 Align 4 SSZ004CDC68_Couldn_t_send_for_4_seconds_: db 'Couldn',27h,'t send for 4 seconds.',0 Align 4 SSZ004CDC88_Bind_Failed: db 'Bind Failed',0 SSZ004CDC94_Socket_Creation_Failed: db 'Socket Creation Failed',0 db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L004CDCB4: db 64h; 'd' L004CDCB5: db 00h; db 00h; db 00h; db 01h; db 00h; db 00h; db 00h; L004CDCBC: dd 00000005h db 02h; db 00h; db 00h; db 00h; L004CDCC4: dd 00000003h db 03h; db 00h; db 00h; db 00h; L004CDCCC: dd 00008000h db 04h; db 00h; db 00h; db 00h; db 02h; db 00h; db 00h; db 00h; db 05h; db 00h; db 00h; db 00h; L004CDCDC: dd 00000005h db 06h; db 00h; db 00h; db 00h; L004CDCE4: dd 00000005h db 07h; db 00h; db 00h; db 00h; L004CDCEC: dd 00000007h db 08h; db 00h; db 00h; db 00h; L004CDCF4: dd 0000000Eh db 09h; db 00h; db 00h; db 00h; L004CDCFC: dd 00000005h db 0Ah; db 00h; db 00h; db 00h; db 0Bh; db 00h; db 00h; db 00h; db 0Bh; db 00h; db 00h; db 00h; db 0Ah; db 01h; db 00h; db 00h; db 0Ch; db 00h; db 00h; db 00h; db 00h; db 80h; '?' db 00h; db 00h; db 0Dh; db 00h; db 00h; db 00h; db 03h; db 00h; db 00h; db 00h; db 0Eh; db 00h; db 00h; db 00h; db 00h; db 80h; '?' db 00h; db 00h; db 0Fh; db 00h; db 00h; db 00h; db 3Dh; '=' db 00h; db 00h; db 00h; db 10h; db 00h; db 00h; db 00h; db D7h; '—' db 00h; db 00h; db 00h; db 11h; db 00h; db 00h; db 00h; db 00h; db 80h; '?' db 00h; db 00h; db 12h; db 00h; db 00h; db 00h; L004CDD44: dd 00008000h db 13h; db 00h; db 00h; db 00h; L004CDD4C: dd 0000000Ah db 14h; db 00h; db 00h; db 00h; db 06h; db 00h; db 00h; db 00h; db 15h; db 00h; db 00h; db 00h; db 09h; db 00h; db 00h; db 00h; db 16h; db 00h; db 00h; db 00h; db 01h; db 00h; db 00h; db 00h; db 17h; db 00h; db 00h; db 00h; db 00h; db 80h; '?' db 00h; db 00h; db 18h; db 00h; db 00h; db 00h; db 00h; db 80h; '?' db 00h; db 00h; db 19h; db 00h; db 00h; db 00h; db 00h; db 80h; '?' db 00h; db 00h; db 1Ah; db 00h; db 00h; db 00h; db 00h; db 80h; '?' db 00h; db 00h; db 1Bh; db 00h; db 00h; db 00h; db 25h; '%' db 00h; db 00h; db 00h; db 1Ch; db 00h; db 00h; db 00h; db 00h; db 80h; '?' db 00h; db 00h; db 1Dh; db 00h; db 00h; db 00h; db 05h; db 00h; db 00h; db 00h; db 1Eh; db 00h; db 00h; db 00h; db 04h; db 00h; db 00h; db 00h; db 1Fh; db 00h; db 00h; db 00h; db 08h; db 00h; db 00h; db 00h; db 20h; ' ' db 00h; db 00h; db 00h; db 13h; db 00h; db 00h; db 00h; db 21h; '!' db 00h; db 00h; db 00h; db 08h; db 00h; db 00h; db 00h; db 22h; '"' db 00h; db 00h; db 00h; L004CDDC4: dd 00000003h db 23h; '#' db 00h; db 00h; db 00h; db 1Ah; db 00h; db 00h; db 00h; db 24h; '$' db 00h; db 00h; db 00h; db 07h; db 00h; db 00h; db 00h; db 25h; '%' db 00h; db 00h; db 00h; db 14h; db 00h; db 00h; db 00h; db 26h; '&' db 00h; db 00h; db 00h; db 05h; db 00h; db 00h; db 00h; db 27h; ''' db 00h; db 00h; db 00h; db 02h; db 00h; db 00h; db 00h; db 28h; '(' db 00h; db 00h; db 00h; db 05h; db 00h; db 00h; db 00h; db 29h; ')' db 00h; db 00h; db 00h; db 01h; db 00h; db 00h; db 00h; db 2Ah; '*' db 00h; db 00h; db 00h; db 05h; db 00h; db 00h; db 00h; db 2Bh; '+' db 00h; db 00h; db 00h; db 02h; db 00h; db 00h; db 00h; db 2Ch; ',' db 00h; db 00h; db 00h; L004CDE14: dd 00000002h db 2Dh; '-' db 00h; db 00h; db 00h; db 11h; db 00h; db 00h; db 00h; db 2Eh; '.' db 00h; db 00h; db 00h; db 0Fh; db 00h; db 00h; db 00h; db 2Fh; '/' db 00h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 30h; '0' db 00h; db 00h; db 00h; db 05h; db 00h; db 00h; db 00h; db 31h; '1' db 00h; db 00h; db 00h; db 01h; db 00h; db 00h; db 00h; db 32h; '2' db 00h; db 00h; db 00h; db 02h; db 00h; db 00h; db 00h; db 33h; '3' db 00h; db 00h; db 00h; L004CDE4C: db 02h; db 00h; db 00h; db 00h; db 34h; '4' db 00h; db 00h; db 00h; L004CDE54: dd 0000000Ah db 35h; '5' db 00h; db 00h; db 00h; db 8Dh; '?' db 02h; db 00h; db 00h; db 36h; '6' db 00h; db 00h; db 00h; db 00h; db 80h; '?' db 00h; db 00h; db 37h; '7' db 00h; db 00h; db 00h; db 08h; db 00h; db 00h; db 00h; db 38h; '8' db 00h; db 00h; db 00h; db 07h; db 00h; db 00h; db 00h; db 39h; '9' db 00h; db 00h; db 00h; db 09h; db 00h; db 00h; db 00h; db 3Ah; ':' db 00h; db 00h; db 00h; db 00h; db 80h; '?' db 00h; db 00h; db 3Bh; ';' db 00h; db 00h; db 00h; L004CDE8C: dd 00008000h db 3Ch; '<' db 00h; db 00h; db 00h; db 00h; db 80h; '?' db 00h; db 00h; db 3Dh; '=' db 00h; db 00h; db 00h; db 02h; db 00h; db 00h; db 00h; db 3Eh; '>' db 00h; db 00h; db 00h; db 25h; '%' db 00h; db 00h; db 00h; db 3Fh; '?' db 00h; db 00h; db 00h; db 00h; db 80h; '?' db 00h; db 00h; db 40h; '@' db 00h; db 00h; db 00h; db C9h; '‰' db 00h; db 00h; db 00h; db 41h; 'A' db 00h; db 00h; db 00h; db 00h; db 80h; '?' db 00h; db 00h; db 42h; 'B' db 00h; db 00h; db 00h; db 00h; db 80h; '?' db 00h; db 00h; db 43h; 'C' db 00h; db 00h; db 00h; db 29h; ')' db 02h; db 00h; db 00h; db 44h; 'D' db 00h; db 00h; db 00h; db C9h; '‰' db 02h; db 00h; db 00h; db 45h; 'E' db 00h; db 00h; db 00h; db 05h; db 00h; db 00h; db 00h; db 46h; 'F' db 00h; db 00h; db 00h; db 00h; db 80h; '?' db 00h; db 00h; db 47h; 'G' db 00h; db 00h; db 00h; db 0Bh; db 00h; db 00h; db 00h; db 48h; 'H' db 00h; db 00h; db 00h; db 49h; 'I' db 00h; db 00h; db 00h; db 49h; 'I' db 00h; db 00h; db 00h; db 5Dh; ']' db 00h; db 00h; db 00h; db 4Ah; 'J' db 00h; db 00h; db 00h; db 05h; db 00h; db 00h; db 00h; db 4Bh; 'K' db 00h; db 00h; db 00h; db 09h; db 00h; db 00h; db 00h; db 4Ch; 'L' db 00h; db 00h; db 00h; db 00h; db 80h; '?' db 00h; db 00h; db 4Dh; 'M' db 00h; db 00h; db 00h; db 00h; db 80h; '?' db 00h; db 00h; db 4Eh; 'N' db 00h; db 00h; db 00h; db 06h; db 00h; db 00h; db 00h; db 4Fh; 'O' db 00h; db 00h; db 00h; db 02h; db 00h; db 00h; db 00h; db 50h; 'P' db 00h; db 00h; db 00h; db 00h; db 80h; '?' db 00h; db 00h; db 51h; 'Q' db 00h; db 00h; db 00h; db 00h; db 80h; '?' db 00h; db 00h; db 52h; 'R' db 00h; db 00h; db 00h; db 00h; db 80h; '?' db 00h; db 00h; db 53h; 'S' db 00h; db 00h; db 00h; db 02h; db 00h; db 00h; db 00h; db 54h; 'T' db 00h; db 00h; db 00h; db 0Ch; db 00h; db 00h; db 00h; db 55h; 'U' db 00h; db 00h; db 00h; db 01h; db 00h; db 00h; db 00h; db 56h; 'V' db 00h; db 00h; db 00h; L004CDF64: dd 0000000Bh db 57h; 'W' db 00h; db 00h; db 00h; db 6Eh; 'n' db 00h; db 00h; db 00h; db 58h; 'X' db 00h; db 00h; db 00h; db 6Ah; 'j' db 00h; db 00h; db 00h; db 59h; 'Y' db 00h; db 00h; db 00h; db 00h; db 80h; '?' db 00h; db 00h; db 5Ah; 'Z' db 00h; db 00h; db 00h; db 00h; db 80h; '?' db 00h; db 00h; db 5Bh; '[' db 00h; db 00h; db 00h; db 04h; db 00h; db 00h; db 00h; db 5Ch; '\' db 00h; db 00h; db 00h; db 02h; db 00h; db 00h; db 00h; db 5Dh; ']' db 00h; db 00h; db 00h; L004CDF9C: dd 00000049h db 5Eh; '^' db 00h; db 00h; db 00h; db 00h; db 80h; '?' db 00h; db 00h; db 5Fh; '_' db 00h; db 00h; db 00h; db 31h; '1' db 00h; db 00h; db 00h; db 60h; '`' db 00h; db 00h; db 00h; db 05h; db 00h; db 00h; db 00h; db 61h; 'a' db 00h; db 00h; db 00h; db 09h; db 00h; db 00h; db 00h; db 62h; 'b' db 00h; db 00h; db 00h; db 0Fh; db 00h; db 00h; db 00h; db 63h; 'c' db 00h; db 00h; db 00h; db 0Dh; db 00h; db 00h; db 00h; db 64h; 'd' db 00h; db 00h; db 00h; db 01h; db 00h; db 00h; db 00h; db 65h; 'e' db 00h; db 00h; db 00h; db 04h; db 00h; db 00h; db 00h; db 66h; 'f' db 00h; db 00h; db 00h; L004CDFE4: dd 00008000h db 67h; 'g' db 00h; db 00h; db 00h; db 15h; db 00h; db 00h; db 00h; db 68h; 'h' db 00h; db 00h; db 00h; db 00h; db 80h; '?' db 00h; db 00h; db 69h; 'i' db 00h; db 00h; db 00h; db 00h; db 80h; '?' db 00h; db 00h; db 6Ah; 'j' db 00h; db 00h; db 00h; db 03h; db 00h; db 00h; db 00h; db 6Bh; 'k' db 00h; db 00h; db 00h; db 09h; db 00h; db 00h; db 00h; db 6Ch; 'l' db 00h; db 00h; db 00h; L004CE014: dd 00000013h db 6Dh; 'm' db 00h; db 00h; db 00h; db 03h; db 00h; db 00h; db 00h; db 6Eh; 'n' db 00h; db 00h; db 00h; db 0Eh; db 00h; db 00h; db 00h; db 6Fh; 'o' db 00h; db 00h; db 00h; L004CE02C: dd 00008000h db 70h; 'p' db 00h; db 00h; db 00h; db 1Ch; db 00h; db 00h; db 00h; db 71h; 'q' db 00h; db 00h; db 00h; L004CE03C: dd 00008000h db 72h; 'r' db 00h; db 00h; db 00h; L004CE044: dd 00000005h db 73h; 's' db 00h; db 00h; db 00h; L004CE04C: dd 00000002h db 74h; 't' db 00h; db 00h; db 00h; db 00h; db 80h; '?' db 00h; db 00h; db 75h; 'u' db 00h; db 00h; db 00h; L004CE05C: dd 00000023h db 76h; 'v' db 00h; db 00h; db 00h; db 10h; db 00h; db 00h; db 00h; db 77h; 'w' db 00h; db 00h; db 00h; db 11h; db 00h; db 00h; db 00h; db 78h; 'x' db 00h; db 00h; db 00h; db 00h; db 80h; '?' db 00h; db 00h; db 79h; 'y' db 00h; db 00h; db 00h; db 09h; db 00h; db 00h; db 00h; db 7Ah; 'z' db 00h; db 00h; db 00h; db 00h; db 80h; '?' db 00h; db 00h; db 7Bh; '{' db 00h; db 00h; db 00h; db 02h; db 00h; db 00h; db 00h; db 7Ch; '|' db 00h; db 00h; db 00h; db 00h; db 80h; '?' db 00h; db 00h; db 7Dh; '}' db 00h; db 00h; db 00h; L004CE09C: dd 0000000Dh db 7Eh; '~' db 00h; db 00h; db 00h; db 02h; db 00h; db 00h; db 00h; db 7Fh; '' db 00h; db 00h; db 00h; db 00h; db 80h; '?' db 00h; db 00h; db 80h; '?' db 00h; db 00h; db 00h; L004CE0B4: dd 0000003Eh db 81h; '?' db 00h; db 00h; db 00h; db 00h; db 80h; '?' db 00h; db 00h; db 82h; ''' db 00h; db 00h; db 00h; db 02h; db 00h; db 00h; db 00h; db 83h; '?' db 00h; db 00h; db 00h; L004CE0CC: dd 00000027h db 84h; '"' db 00h; db 00h; db 00h; L004CE0D4: dd 00000045h db 85h; ':' db 00h; db 00h; db 00h; db 02h; db 00h; db 00h; db 00h; db 86h; 'Å' db 00h; db 00h; db 00h; db 00h; db 80h; '?' db 00h; db 00h; db 87h; 'Ø' db 00h; db 00h; db 00h; db 00h; db 80h; '?' db 00h; db 00h; db 88h; '?' db 00h; db 00h; db 00h; db 42h; 'B' db 00h; db 00h; db 00h; db 89h; '%' db 00h; db 00h; db 00h; db 00h; db 80h; '?' db 00h; db 00h; db 8Ah; '?' db 00h; db 00h; db 00h; db 00h; db 80h; '?' db 00h; db 00h; db 8Bh; '<' db 00h; db 00h; db 00h; db 00h; db 80h; '?' db 00h; db 00h; db 8Ch; '?' db 00h; db 00h; db 00h; db 0Bh; db 00h; db 00h; db 00h; db 8Dh; '?' db 00h; db 00h; db 00h; db 00h; db 80h; '?' db 00h; db 00h; db 8Eh; '?' db 00h; db 00h; db 00h; db 00h; db 80h; '?' db 00h; db 00h; db 8Fh; '?' db 00h; db 00h; db 00h; db 00h; db 80h; '?' db 00h; db 00h; db 90h; '?' db 00h; db 00h; db 00h; db 13h; db 00h; db 00h; db 00h; db 91h; ''' db 00h; db 00h; db 00h; L004CE13C: dd 00000041h db 92h; ''' db 00h; db 00h; db 00h; db 00h; db 80h; '?' db 00h; db 00h; db 93h; '"' db 00h; db 00h; db 00h; L004CE14C: dd 00000062h db 94h; '"' db 00h; db 00h; db 00h; db 00h; db 80h; '?' db 00h; db 00h; db 95h; db 00h; db 00h; db 00h; L004CE15C: dd 00000009h db 96h; '-' db 00h; db 00h; db 00h; db 00h; db 80h; '?' db 00h; db 00h; db 97h; '-' db 00h; db 00h; db 00h; db 02h; db 00h; db 00h; db 00h; db 98h; '?' db 00h; db 00h; db 00h; L004CE174: dd 00008000h db 99h; 'T' db 00h; db 00h; db 00h; db 1Ah; db 00h; db 00h; db 00h; db 9Ah; '?' db 00h; db 00h; db 00h; L004CE184: dd 00008000h db 9Bh; '>' db 00h; db 00h; db 00h; L004CE18C: dd 00000102h db 9Ch; '?' db 00h; db 00h; db 00h; db 35h; '5' db 01h; db 00h; db 00h; db 9Dh; '?' db 00h; db 00h; db 00h; db 33h; '3' db 00h; db 00h; db 00h; db 9Eh; '?' db 00h; db 00h; db 00h; db 00h; db 80h; '?' db 00h; db 00h; db 9Fh; '?' db 00h; db 00h; db 00h; L004CE1AC: dd 00008000h db A0h; 'ÿ' db 00h; db 00h; db 00h; L004CE1B4: dd 00000003h db A1h; 'ö' db 00h; db 00h; db 00h; db 09h; db 00h; db 00h; db 00h; db A2h; '÷' db 00h; db 00h; db 00h; db 09h; db 00h; db 00h; db 00h; db A3h; '?' db 00h; db 00h; db 00h; db 09h; db 00h; db 00h; db 00h; db A4h; 'ý' db 00h; db 00h; db 00h; L004CE1D4: dd 00000095h db A5h; '?' db 00h; db 00h; db 00h; db 00h; db 80h; '?' db 00h; db 00h; db A6h; '³' db 00h; db 00h; db 00h; db 00h; db 80h; '?' db 00h; db 00h; db A7h; db 00h; db 00h; db 00h; L004CE1EC: dd 00000004h db A8h; 'ð' db 00h; db 00h; db 00h; db 00h; db 80h; '?' db 00h; db 00h; db A9h; 'c' db 00h; db 00h; db 00h; db 00h; db 80h; '?' db 00h; db 00h; db AAh; 'ò' db 00h; db 00h; db 00h; db 05h; db 00h; db 00h; db 00h; db ABh; '<' db 00h; db 00h; db 00h; db 00h; db 80h; '?' db 00h; db 00h; db ACh; '¿' db 00h; db 00h; db 00h; L004CE214: dd 00008000h db ADh; '-' db 00h; db 00h; db 00h; db 00h; db 80h; '?' db 00h; db 00h; db AEh; 'R' db 00h; db 00h; db 00h; db 00h; db 80h; '?' db 00h; db 00h; db AFh; 'ô' db 00h; db 00h; db 00h; db 0Dh; db 00h; db 00h; db 00h; db B0h; 'ø' db 00h; db 00h; db 00h; db 00h; db 80h; '?' db 00h; db 00h; db B1h; '+' db 00h; db 00h; db 00h; db 00h; db 80h; '?' db 00h; db 00h; db B2h; 'I' db 00h; db 00h; db 00h; db 00h; db 80h; '?' db 00h; db 00h; db B3h; 'i' db 00h; db 00h; db 00h; db 00h; db 80h; '?' db 00h; db 00h; db B4h; '?' db 00h; db 00h; db 00h; db 00h; db 80h; '?' db 00h; db 00h; db B5h; 'ç' db 00h; db 00h; db 00h; db 40h; '@' db 00h; db 00h; db 00h; db B6h; db 00h; db 00h; db 00h; L004CE264: dd 00000009h db B7h; 'ú' db 00h; db 00h; db 00h; db 00h; db 80h; '?' db 00h; db 00h; db B8h; 'ñ' db 00h; db 00h; db 00h; db 00h; db 80h; '?' db 00h; db 00h; db B9h; 'ü' db 00h; db 00h; db 00h; db 03h; db 00h; db 00h; db 00h; L004CE280: db 14h; db 05h; db 04h; db 03h; db 18h; db 0Dh; db 11h; db 08h; db 09h; db 0Eh; db 0Fh; db 13h; db 07h; db 17h; db 16h; db 0Ch; db 0Ah; db 0Bh; db 10h; db 12h; db 06h; db 01h; db 02h; db 15h; db 19h; db 00h; db 00h; db 00h; SSZ004CE29C_paperdoll_frame1: db 'paperdoll frame1',0 Align 4 SSZ004CE2B0_paperdoll_frame: db 'paperdoll frame',0 SSZ004CE2C0_framedata_for_CPaperdollGump: db 'framedata for CPaperdollGump',0 Align 4 SSZ004CE2E0_paperdoll_gump: db 'paperdoll gump',0 Align 4 SSZ004CE2F0_paperdoll_framedata: db 'paperdoll framedata',0 SSZ004CE304_paperdoll_frame1_pBMP: db 'paperdoll frame1 pBMP',0 Align 4 SSZ004CE31C_paperdoll_frame_pBMP: db 'paperdoll frame pBMP',0 Align 4 SSZ004CE334_nameBMP: db 'nameBMP',0 SSZ004CE33C_ReDraw_Paperdoll_Gump_: db 'ReDraw Paperdoll Gump',0Ah,0 Align 4 SSZ004CE354_Character_Profile: db 'Character Profile',0 Align 4 SSZ004CE368_I_am_dead_and_cannot_do_that_: db 'I am dead and cannot do that.',0 Align 4 SSZ004CE388_status_gump: db 'status gump',0 SSZ004CE394__u__u: db '%u/%u',0 Align 4 L004CE39C: db 25h; '%' db 75h; 'u' db 00h; db 00h; L004CE3A0: db 46h; 'F' db 00h; db 00h; db 00h; L004CE3A4: db 4Dh; 'M' db 00h; db 00h; db 00h; SSZ004CE3A8_stack_gump: db 'stack gump',0 Align 4 SSZ004CE3B4_stack_framedata: db 'stack framedata',0 SSZ004CE3C4_stack_frame0_pBMP: db 'stack frame0 pBMP',0 Align 4 L004CE3D8: dd 00000860h L004CE3DC: dd 00000860h SSZ004CE3E0_profile_frame1: db 'profile frame1',0 Align 4 SSZ004CE3F0_profile_framedata: db 'profile framedata',0 Align 4 SSZ004CE404_profile_gump: db 'profile gump',0 Align 4 SSZ004CE414_profile_frame0: db 'profile frame0',0 Align 4 SSZ004CE424_radar_rotated_frame: db 'radar rotated frame',0 SSZ004CE438_radar_frame1: db 'radar frame1',0 Align 4 SSZ004CE448_radar_frame0: db 'radar frame0',0 Align 4 SSZ004CE458_framedata_for_CRadarGump: db 'framedata for CRadarGump',0 Align 4 SSZ004CE474_radar_zbuf: db 'radar zbuf',0 Align 4 SSZ004CE480_radar_gump: db 'radar gump',0 Align 4 SSZ004CE48C_radar_framedata: db 'radar framedata',0 SSZ004CE49C_radar_frame1_pBMP: db 'radar frame1 pBMP',0 Align 4 SSZ004CE4B0_radar_frame0_pBMP: db 'radar frame0 pBMP',0 Align 4 SSZ004CE4C4_radar_zBuf: db 'radar zBuf',0 Align 4 SSZ004CE4D0_radar_rotFrame: db 'radar rotFrame',0 Align 4 SSZ004CE4E0_goto: db 'goto',0 db 00h; db 00h; db 00h; SSZ004CE4E8_regions_mul: db 'regions.mul',0 SSZ004CE4F4_shopgump_frame: db 'shopgump frame',0 Align 4 SSZ004CE504_framedata_for_CShopGump: db 'framedata for CShopGump',0 SSZ004CE51C_shop_gump: db 'shop gump',0 Align 4 SSZ004CE528__null_: db '(null)',0 Align 4 SSZ004CE530__s_at__dgp: db '%s at %dgp',0 Align 4 SSZ004CE53C_Item_removed_from_shopping_list_: db 'Item removed from shopping list.',0 Align 4 SSZ004CE560__s_dropped_to_quantity___d__: db '%s dropped to quantity (%d).',0 Align 4 SSZ004CE580_framedata_for_CBillGump: db 'framedata for CBillGump',0 SSZ004CE598_bill_gump: db 'bill gump',0 Align 4 SSZ004CE5A4_signature: db 'signature',0 Align 4 SSZ004CE5B0_NoName: db 'NoName',0 Align 4 SSZ004CE5B8_at__d_g_p_: db 'at %d g.p.',0 Align 4 SSZ004CE5C4_objpicker_gump: db 'objpicker gump',0 Align 4 SSZ004CE5D4_objpicker_framedata: db 'objpicker framedata',0 SSZ004CE5E8_objpicker_frame0_pBMP: db 'objpicker frame0 pBMP',0 Align 4 SSZ004CE600_stringpicker_gump: db 'stringpicker gump',0 Align 4 SSZ004CE614_stringpicker_framedata: db 'stringpicker framedata',0 Align 4 SSZ004CE62C_stringpicker_frame0_pBMP: db 'stringpicker frame0 pBMP',0 Align 4 SSZ004CE648_framedata_for_CStringQueryGump: db 'framedata for CStringQueryGump',0 Align 4 SSZ004CE668_Stringquery_gump: db 'Stringquery gump',0 Align 4 SSZ004CE67C_StringQuery_framedata: db 'StringQuery framedata',0 Align 4 SSZ004CE694_StringQuery_frame0_pBMP: db 'StringQuery frame0 pBMP',0 Align 8 L004CE6B0: db 01h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 02h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L004CE6C0: db 04h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 08h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L004CE6D0: dd 00000B2Eh L004CE6D4: dd 00000004h L004CE6D8: dd 00000006h L004CE6DC: dd 00000006h L004CE6E0: dd 00000000h db 2Fh; '/' db 0Bh; db 00h; db 00h; db 02h; db 00h; db 00h; db 00h; db 06h; db 00h; db 00h; db 00h; db 06h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 4Eh; 'N' db 0Bh; db 00h; db 00h; db 02h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 4Fh; 'O' db 0Bh; db 00h; db 00h; db 04h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 52h; 'R' db 0Bh; db 00h; db 00h; db 02h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 53h; 'S' db 0Bh; db 00h; db 00h; db 04h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 56h; 'V' db 0Bh; db 00h; db 00h; db 02h; db 00h; db 00h; db 00h; db 04h; db 00h; db 00h; db 00h; db 04h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 57h; 'W' db 0Bh; db 00h; db 00h; db 04h; db 00h; db 00h; db 00h; db 04h; db 00h; db 00h; db 00h; db 04h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 5Ah; 'Z' db 0Bh; db 00h; db 00h; db 02h; db 00h; db 00h; db 00h; db 08h; db 00h; db 00h; db 00h; db 08h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 5Bh; '[' db 0Bh; db 00h; db 00h; db 04h; db 00h; db 00h; db 00h; db 08h; db 00h; db 00h; db 00h; db 08h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 18h; db 12h; db 00h; db 00h; db 04h; db 00h; db 00h; db 00h; db 04h; db 00h; db 00h; db 00h; db 04h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 19h; db 12h; db 00h; db 00h; db 02h; db 00h; db 00h; db 00h; db 04h; db 00h; db 00h; db 00h; db 04h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 50h; 'P' db 0Bh; db 00h; db 00h; db 01h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 01h; db 00h; db 00h; db 00h; db 51h; 'Q' db 0Bh; db 00h; db 00h; db 08h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 01h; db 00h; db 00h; db 00h; db 54h; 'T' db 0Bh; db 00h; db 00h; db 01h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 01h; db 00h; db 00h; db 00h; db 55h; 'U' db 0Bh; db 00h; db 00h; db 08h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 01h; db 00h; db 00h; db 00h; db 58h; 'X' db 0Bh; db 00h; db 00h; db 08h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 08h; db 00h; db 00h; db 00h; db 01h; db 00h; db 00h; db 00h; db 59h; 'Y' db 0Bh; db 00h; db 00h; db 01h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 08h; db 00h; db 00h; db 00h; db 01h; db 00h; db 00h; db 00h; db 5Ch; '\' db 0Bh; db 00h; db 00h; db 01h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 08h; db 00h; db 00h; db 00h; db 01h; db 00h; db 00h; db 00h; db 5Dh; ']' db 0Bh; db 00h; db 00h; db 08h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 08h; db 00h; db 00h; db 00h; db 01h; db 00h; db 00h; db 00h; db 1Ah; db 12h; db 00h; db 00h; db 01h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 08h; db 00h; db 00h; db 00h; db 03h; db 00h; db 00h; db 00h; db 1Bh; db 12h; db 00h; db 00h; db 08h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 08h; db 00h; db 00h; db 00h; db 03h; db 00h; db 00h; db 00h; db 32h; '2' db 0Bh; db 00h; db 00h; db 04h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 33h; '3' db 0Bh; db 00h; db 00h; db 02h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 27h; ''' db 15h; db 00h; db 00h; db 02h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 59h; 'Y' db 04h; db 00h; db 00h; db 05h; db 00h; db 00h; db 00h; db 02h; db 00h; db 00h; db 00h; db 02h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 5Ah; 'Z' db 04h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 02h; db 00h; db 00h; db 00h; db 02h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 5Bh; '[' db 04h; db 00h; db 00h; db 05h; db 00h; db 00h; db 00h; db 02h; db 00h; db 00h; db 00h; db 02h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 5Ch; '\' db 04h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 02h; db 00h; db 00h; db 00h; db 02h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 2Ch; ',' db 0Bh; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 02h; db 00h; db 00h; db 00h; db 02h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 2Dh; '-' db 0Bh; db 00h; db 00h; db 05h; db 00h; db 00h; db 00h; db 02h; db 00h; db 00h; db 00h; db 02h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db FFh; 'ï' db 3Dh; '=' db 00h; db 00h; db 05h; db 00h; db 00h; db 00h; db 02h; db 00h; db 00h; db 00h; db 02h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 3Eh; '>' db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 02h; db 00h; db 00h; db 00h; db 02h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 5Fh; '_' db 0Bh; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 03h; db 00h; db 00h; db 00h; db 0Eh; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 60h; '`' db 0Bh; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 03h; db 00h; db 00h; db 00h; db 0Eh; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 61h; 'a' db 0Bh; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 03h; db 00h; db 00h; db 00h; db 0Eh; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 62h; 'b' db 0Bh; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 03h; db 00h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 63h; 'c' db 0Bh; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 03h; db 00h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 64h; 'd' db 0Bh; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 03h; db 00h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 65h; 'e' db 0Bh; db 00h; db 00h; db 05h; db 00h; db 00h; db 00h; db 03h; db 00h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 66h; 'f' db 0Bh; db 00h; db 00h; db 05h; db 00h; db 00h; db 00h; db 03h; db 00h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 67h; 'g' db 0Bh; db 00h; db 00h; db 05h; db 00h; db 00h; db 00h; db 03h; db 00h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 68h; 'h' db 0Bh; db 00h; db 00h; db 05h; db 00h; db 00h; db 00h; db 03h; db 00h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 69h; 'i' db 0Bh; db 00h; db 00h; db 05h; db 00h; db 00h; db 00h; db 03h; db 00h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 6Ah; 'j' db 0Bh; db 00h; db 00h; db 05h; db 00h; db 00h; db 00h; db 03h; db 00h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 91h; ''' db 0Bh; db 00h; db 00h; db 04h; db 00h; db 00h; db 00h; db 06h; db 00h; db 00h; db 00h; db 06h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 92h; ''' db 0Bh; db 00h; db 00h; db 04h; db 00h; db 00h; db 00h; db 06h; db 00h; db 00h; db 00h; db 06h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 93h; '"' db 0Bh; db 00h; db 00h; db 02h; db 00h; db 00h; db 00h; db 06h; db 00h; db 00h; db 00h; db 06h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 94h; '"' db 0Bh; db 00h; db 00h; db 02h; db 00h; db 00h; db 00h; db 06h; db 00h; db 00h; db 00h; db 06h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db C7h; '‡' db 1Dh; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 03h; db 00h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db C8h; 'ˆ' db 1Dh; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 03h; db 00h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db C9h; '‰' db 1Dh; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 03h; db 00h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db CAh; 'Š' db 1Dh; db 00h; db 00h; db 05h; db 00h; db 00h; db 00h; db 03h; db 00h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db CBh; '‹' db 1Dh; db 00h; db 00h; db 05h; db 00h; db 00h; db 00h; db 03h; db 00h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db CCh; 'Œ' db 1Dh; db 00h; db 00h; db 05h; db 00h; db 00h; db 00h; db 03h; db 00h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db CDh; '' db 1Dh; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 03h; db 00h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db CEh; 'Ž' db 1Dh; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 03h; db 00h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db CFh; '' db 1Dh; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 03h; db 00h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db D0h; '' db 1Dh; db 00h; db 00h; db 05h; db 00h; db 00h; db 00h; db 03h; db 00h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db D1h; '‘' db 1Dh; db 00h; db 00h; db 05h; db 00h; db 00h; db 00h; db 03h; db 00h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db D2h; '’' db 1Dh; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 03h; db 00h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db FCh; 'ì' db 11h; db 00h; db 00h; db 0Fh; db 00h; db 00h; db 00h; db 02h; db 00h; db 00h; db 00h; db 07h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 2Ah; '*' db 0Ah; db 00h; db 00h; db 0Fh; db 00h; db 00h; db 00h; db FCh; 'ì' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FCh; 'ì' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 00h; db 00h; db 00h; db 00h; db 2Bh; '+' db 0Ah; db 00h; db 00h; db 0Fh; db 00h; db 00h; db 00h; db F8h; 'è' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F8h; 'è' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 00h; db 00h; db 00h; db 00h; db F3h; 'ã' db 0Ch; db 00h; db 00h; db 1Ah; db 00h; db 00h; db 00h; db 02h; db 00h; db 00h; db 00h; db 08h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db F4h; 'ä' db 0Ch; db 00h; db 00h; db 1Ah; db 00h; db 00h; db 00h; db 02h; db 00h; db 00h; db 00h; db 08h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db F6h; 'æ' db 0Ch; db 00h; db 00h; db 15h; db 00h; db 00h; db 00h; db 02h; db 00h; db 00h; db 00h; db 08h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db F7h; 'ç' db 0Ch; db 00h; db 00h; db 15h; db 00h; db 00h; db 00h; db 02h; db 00h; db 00h; db 00h; db 08h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 71h; 'q' db 17h; db 00h; db 00h; db 1Fh; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 76h; 'v' db 17h; db 00h; db 00h; db 1Fh; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 79h; 'y' db 17h; db 00h; db 00h; db 1Fh; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; SSZ004CEC70_Miscellaneous: db 'Miscellaneous',0 Align 4 SSZ004CEC80_Alchemy: db 'Alchemy',0 SSZ004CEC88_Ranged_Weapons: db 'Ranged Weapons',0 Align 4 SSZ004CEC98_skillgrp_mul: db 'skillgrp.mul',0 Align 4 SSZ004CECA8_Melee: db 'Melee',0 Align 4 SSZ004CECB0_Peek: db 'Peek',0 Align 4 SSZ004CECB8_First_Aid: db 'First Aid',0 Align 4 SSZ004CECC4_Hiding: db 'Hiding',0 Align 4 SSZ004CECCC_Stealing: db 'Stealing',0 Align 4 SSZ004CECD8_Battle_Defense: db 'Battle Defense',0 Align 4 SSZ004CECE8_Magic_Defense: db 'Magic Defense',0 Align 4 SSZ004CECF8_framedata_for_CSkillGump: db 'framedata for CSkillGump',0 Align 4 SSZ004CED14_skill_gump: db 'skill gump',0 Align 4 SSZ004CED20_skill_framedata: db 'skill framedata',0 SSZ004CED30_skill_frame1_pBMP: db 'skill frame1 pBMP',0 Align 4 SSZ004CED44_skill_frame0_pBMP: db 'skill frame0 pBMP',0 Align 4 SSZ004CED58_Skills_moved_to_Miscellaneous_: db 'Skills moved to Miscellaneous.',0 Align 4 SSZ004CED78_Cannot_delete_this_group_: db 'Cannot delete this group.',0 Align 4 SSZ004CED94__d__d: db '%d.%d',0 Align 4 SSZ004CED9C__s____d__: db '%s - %d%%',0 Align 4 SSZ004CEDA8_Cancel: db 'Cancel',0 Align 4 SSZ004CEDB0_Delete: db 'Delete',0 Align 4 SSZ004CEDB8_Rename: db 'Rename',0 Align 4 SSZ004CEDC0_Group_Name_: db 'Group Name:',0 SSZ004CEDCC_EditGroup_gump: db 'EditGroup gump',0 Align 4 SSZ004CEDDC_EditGroup_framedata: db 'EditGroup framedata',0 SSZ004CEDF0_EditGroup_frame0_pBMP: db 'EditGroup frame0 pBMP',0 Align 4 SSZ004CEE08_connection_from__08x: db 'connection from %08x',0 Align 4 SSZ004CEE20_UNKNOWN_ERROR_: db 'UNKNOWN ERROR.',0 Align 4 SSZ004CEE30_The_virtual_circuit_was_reset_by: db 'The virtual circuit was reset by the remote side executing a ',27h,'hard',27h,' or ',27h,'abortive',27h,' close. The application should close the socket as it is no longer usable. On a UDP datagram socket this error would indicate that a previous send operation resulted in an ICMP ',27h,'Port Unreachable',27h,' message.',0 Align 4 SSZ004CEF50_The_virtual_circuit_was_terminat: db 'The virtual circuit was terminated due to a time-out or other failure. The application should close the socket as it is no longer usable.',0 Align 4 SSZ004CEFDC_The_remote_host_cannot_be_reache: db 'The remote host cannot be reached from this host at this time.',0 Align 4 SSZ004CF01C_The_socket_is_message_oriented__: db 'The socket is message oriented, and the message is larger than the maximum supported by the underlying transport.',0 Align 4 SSZ004CF090_The_socket_has_been_shut_down__i: db 'The socket has been shut down; it is not possible to send on a socket after shutdown has been invoked with how set to SD_SEND or SD_BOTH.',0 Align 4 SSZ004CF11C_The_socket_is_not_connected_: db 'The socket is not connected.',0 Align 4 SSZ004CF13C_The_connection_has_been_broken_d: db 'The connection has been broken due to the remote host resetting.',0 Align 4 SSZ004CF180_Attempt_to_connect_datagram_sock: db 'Attempt to connect datagram socket to broadcast address failed because setsockopt option SO_BROADCAST is not enabled.',0 Align 4 SSZ004CF1F8_The_socket_is_marked_as_nonblock: db 'The socket is marked as nonblocking and no connections are present to be accepted.',0 Align 4 SSZ004CF24C_Attempt_to_connect_timed_out_wit: db 'Attempt to connect timed out without establishing a connection.',0 SSZ004CF28C_The_network_cannot_be_reached_fr: db 'The network cannot be reached from this host at this time.',0 Align 4 SSZ004CF2C8_The_attempt_to_connect_was_force: db 'The attempt to connect was forcefully rejected.',0 SSZ004CF2F8_The_specified_address_is_not_ava: db 'The specified address is not available from the local machine.',0 Align 4 SSZ004CF338_A_nonblocking_connect_call_is_in: db 'A nonblocking connect call is in progress on the specified socket. Note In order to preserve backward compatibility, this error is reported as WSAEINVAL to Windows Sockets 1.1 applications that link to either WINSOCK.DLL or WSOCK32.DLL.',0 Align 4 SSZ004CF428_The__blocking__call_was_canceled: db 'The (blocking) call was canceled through WSACancelBlockingCall.',0 SSZ004CF468_The_referenced_socket_is_not_of_: db 'The referenced socket is not of a type that supports the listen operation.',0 Align 4 SSZ004CF4B4_The_socket_is_already_connected_: db 'The socket is already connected.',0 Align 4 SSZ004CF4D8_The_specified_protocol_is_the_wr: db 'The specified protocol is the wrong type for this socket.',0 Align 4 SSZ004CF514_The_descriptor_is_not_a_socket_: db 'The descriptor is not a socket.',0 SSZ004CF534_No_buffer_space_is_available__Th: db 'No buffer space is available. The socket cannot be created.',0 SSZ004CF570_No_more_socket_descriptors_are_a: db 'No more socket descriptors are available.',0 Align 4 SSZ004CF59C_The_socket_is_already_bound_to_a: db 'The socket is already bound to an address.',0 Align 4 SSZ004CF5C8_A_blocking_Windows_Sockets_1_1_c: db 'A blocking Windows Sockets 1.1 call is in progress, or the service provider is still processing a callback function.',0 Align 4 SSZ004CF640_The_name_or_the_namelen_paramete: db 'The name or the namelen parameter is not a valid part of the user address space, the namelen parameter is too small, the name parameter contains incorrect address format for the associated address family, or the first two bytes of the memory block specified by name does not match the address family associated with the socket descriptor s.',0 Align 4 SSZ004CF798_The_specified_address_is_already: db 'The specified address is already in use. (See the SO_REUSEADDR socket option under setsockopt.)',0 SSZ004CF7F8_The_specified_address_family_is_: db 'The specified address family is not supported.',0 Align 4 SSZ004CF828_The_network_subsystem_or_the_ass: db 'The network subsystem or the associated service provider has failed.',0 Align 4 SSZ004CF870_A_successful_WSAStartup_must_occ: db 'A successful WSAStartup must occur before using this function.',0 db 00h; db 02h; db 00h; db 00h; db 00h; L004CF8B4: db 00h; db 00h; db 00h; db 00h; db 05h; db 00h; db 00h; db 00h; db 1Fh; db 00h; db 00h; db 00h; db 06h; db 00h; db 00h; db 00h; db 22h; '"' db 00h; db 00h; db 00h; db 07h; db 00h; db 00h; db 00h; db 34h; '4' db 00h; db 00h; db 00h; db 07h; db 00h; db 00h; db 00h; db 75h; 'u' db 00h; db 00h; db 00h; db 06h; db 00h; db 00h; db 00h; db 28h; '(' db 00h; db 00h; db 00h; db 06h; db 00h; db 00h; db 00h; db 3Bh; ';' db 00h; db 00h; db 00h; db 07h; db 00h; db 00h; db 00h; db 32h; '2' db 00h; db 00h; db 00h; db 08h; db 00h; db 00h; db 00h; db E0h; ' ' db 00h; db 00h; db 00h; db 08h; db 00h; db 00h; db 00h; db 62h; 'b' db 00h; db 00h; db 00h; db 07h; db 00h; db 00h; db 00h; db 56h; 'V' db 00h; db 00h; db 00h; db 08h; db 00h; db 00h; db 00h; db 79h; 'y' db 00h; db 00h; db 00h; db 09h; db 00h; db 00h; db 00h; db 9Dh; '?' db 01h; db 00h; db 00h; db 08h; db 00h; db 00h; db 00h; db 97h; '-' db 00h; db 00h; db 00h; db 06h; db 00h; db 00h; db 00h; db 2Ah; '*' db 00h; db 00h; db 00h; db 07h; db 00h; db 00h; db 00h; db 57h; 'W' db 00h; db 00h; db 00h; db 08h; db 00h; db 00h; db 00h; db 71h; 'q' db 00h; db 00h; db 00h; db 08h; db 00h; db 00h; db 00h; db 5Bh; '[' db 00h; db 00h; db 00h; db 09h; db 00h; db 00h; db 00h; db CCh; 'Œ' db 01h; db 00h; db 00h; db 08h; db 00h; db 00h; db 00h; db A7h; db 00h; db 00h; db 00h; db 07h; db 00h; db 00h; db 00h; db 25h; '%' db 00h; db 00h; db 00h; db 07h; db 00h; db 00h; db 00h; db 4Fh; 'O' db 00h; db 00h; db 00h; db 08h; db 00h; db 00h; db 00h; db 66h; 'f' db 00h; db 00h; db 00h; db 08h; db 00h; db 00h; db 00h; db 7Dh; '}' db 00h; db 00h; db 00h; db 09h; db 00h; db 00h; db 00h; db 91h; ''' db 01h; db 00h; db 00h; db 09h; db 00h; db 00h; db 00h; db CEh; 'Ž' db 01h; db 00h; db 00h; db 07h; db 00h; db 00h; db 00h; db 3Fh; '?' db 00h; db 00h; db 00h; db 09h; db 00h; db 00h; db 00h; db 90h; '?' db 00h; db 00h; db 00h; db 08h; db 00h; db 00h; db 00h; db 59h; 'Y' db 00h; db 00h; db 00h; db 08h; db 00h; db 00h; db 00h; db 7Bh; '{' db 00h; db 00h; db 00h; db 08h; db 00h; db 00h; db 00h; db 91h; ''' db 00h; db 00h; db 00h; db 08h; db 00h; db 00h; db 00h; db C6h; '†' db 00h; db 00h; db 00h; db 06h; db 00h; db 00h; db 00h; db 2Dh; '-' db 00h; db 00h; db 00h; db 09h; db 00h; db 00h; db 00h; db 86h; 'Å' db 01h; db 00h; db 00h; db 08h; db 00h; db 00h; db 00h; db 6Fh; 'o' db 00h; db 00h; db 00h; db 09h; db 00h; db 00h; db 00h; db 93h; '"' db 00h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db CCh; 'Œ' db 01h; db 00h; db 00h; db 08h; db 00h; db 00h; db 00h; db 5Ah; 'Z' db 00h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db AEh; 'R' db 01h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db C0h; '€' db 01h; db 00h; db 00h; db 09h; db 00h; db 00h; db 00h; db 48h; 'H' db 01h; db 00h; db 00h; db 09h; db 00h; db 00h; db 00h; db 4Ah; 'J' db 01h; db 00h; db 00h; db 09h; db 00h; db 00h; db 00h; db 82h; ''' db 00h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 9Fh; '?' db 01h; db 00h; db 00h; db 09h; db 00h; db 00h; db 00h; db 71h; 'q' db 01h; db 00h; db 00h; db 09h; db 00h; db 00h; db 00h; db 20h; ' ' db 01h; db 00h; db 00h; db 09h; db 00h; db 00h; db 00h; db E7h; '§' db 00h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db F3h; 'ã' db 01h; db 00h; db 00h; db 09h; db 00h; db 00h; db 00h; db 4Bh; 'K' db 01h; db 00h; db 00h; db 09h; db 00h; db 00h; db 00h; db 00h; db 01h; db 00h; db 00h; db 09h; db 00h; db 00h; db 00h; db 90h; '?' db 01h; db 00h; db 00h; db 06h; db 00h; db 00h; db 00h; db 13h; db 00h; db 00h; db 00h; db 09h; db 00h; db 00h; db 00h; db 61h; 'a' db 01h; db 00h; db 00h; db 09h; db 00h; db 00h; db 00h; db 25h; '%' db 01h; db 00h; db 00h; db 09h; db 00h; db 00h; db 00h; db 33h; '3' db 01h; db 00h; db 00h; db 09h; db 00h; db 00h; db 00h; db 95h; db 01h; db 00h; db 00h; db 09h; db 00h; db 00h; db 00h; db 73h; 's' db 01h; db 00h; db 00h; db 09h; db 00h; db 00h; db 00h; db CAh; 'Š' db 01h; db 00h; db 00h; db 09h; db 00h; db 00h; db 00h; db 86h; 'Å' db 00h; db 00h; db 00h; db 09h; db 00h; db 00h; db 00h; db E9h; '©' db 01h; db 00h; db 00h; db 09h; db 00h; db 00h; db 00h; db DBh; '›' db 00h; db 00h; db 00h; db 09h; db 00h; db 00h; db 00h; db ECh; '¬' db 01h; db 00h; db 00h; db 09h; db 00h; db 00h; db 00h; db 8Bh; '<' db 00h; db 00h; db 00h; db 09h; db 00h; db 00h; db 00h; db 85h; ':' db 00h; db 00h; db 00h; db 05h; db 00h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 08h; db 00h; db 00h; db 00h; db 96h; '-' db 00h; db 00h; db 00h; db 08h; db 00h; db 00h; db 00h; db 9Ch; '?' db 00h; db 00h; db 00h; db 09h; db 00h; db 00h; db 00h; db C3h; 'ƒ' db 01h; db 00h; db 00h; db 09h; db 00h; db 00h; db 00h; db 9Ch; '?' db 01h; db 00h; db 00h; db 09h; db 00h; db 00h; db 00h; db 8Fh; '?' db 00h; db 00h; db 00h; db 09h; db 00h; db 00h; db 00h; db 8Fh; '?' db 01h; db 00h; db 00h; db 09h; db 00h; db 00h; db 00h; db 91h; ''' db 00h; db 00h; db 00h; db 09h; db 00h; db 00h; db 00h; db 87h; 'Ø' db 00h; db 00h; db 00h; db 09h; db 00h; db 00h; db 00h; db C6h; '†' db 00h; db 00h; db 00h; db 09h; db 00h; db 00h; db 00h; db 77h; 'w' db 01h; db 00h; db 00h; db 09h; db 00h; db 00h; db 00h; db 89h; '%' db 00h; db 00h; db 00h; db 09h; db 00h; db 00h; db 00h; db D6h; '–' db 00h; db 00h; db 00h; db 09h; db 00h; db 00h; db 00h; db 8Ch; '?' db 00h; db 00h; db 00h; db 09h; db 00h; db 00h; db 00h; db EEh; '®' db 01h; db 00h; db 00h; db 09h; db 00h; db 00h; db 00h; db EBh; '«' db 01h; db 00h; db 00h; db 09h; db 00h; db 00h; db 00h; db 84h; '"' db 00h; db 00h; db 00h; db 09h; db 00h; db 00h; db 00h; db 64h; 'd' db 01h; db 00h; db 00h; db 09h; db 00h; db 00h; db 00h; db 75h; 'u' db 01h; db 00h; db 00h; db 09h; db 00h; db 00h; db 00h; db CDh; '' db 01h; db 00h; db 00h; db 08h; db 00h; db 00h; db 00h; db 5Eh; '^' db 00h; db 00h; db 00h; db 09h; db 00h; db 00h; db 00h; db 88h; '?' db 00h; db 00h; db 00h; db 09h; db 00h; db 00h; db 00h; db 2Bh; '+' db 01h; db 00h; db 00h; db 09h; db 00h; db 00h; db 00h; db 72h; 'r' db 01h; db 00h; db 00h; db 09h; db 00h; db 00h; db 00h; db 0Ah; db 01h; db 00h; db 00h; db 09h; db 00h; db 00h; db 00h; db 8Dh; '?' db 00h; db 00h; db 00h; db 09h; db 00h; db 00h; db 00h; db 3Ah; ':' db 01h; db 00h; db 00h; db 09h; db 00h; db 00h; db 00h; db 1Ch; db 01h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db E1h; '¡' db 01h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db E0h; ' ' db 01h; db 00h; db 00h; db 09h; db 00h; db 00h; db 00h; db 87h; 'Ø' db 01h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db DCh; 'œ' db 01h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db DFh; 'Ÿ' db 01h; db 00h; db 00h; db 07h; db 00h; db 00h; db 00h; db 74h; 't' db 00h; db 00h; db 00h; db 09h; db 00h; db 00h; db 00h; db 9Fh; '?' db 01h; db 00h; db 00h; db 08h; db 00h; db 00h; db 00h; db 8Dh; '?' db 00h; db 00h; db 00h; db 08h; db 00h; db 00h; db 00h; db E4h; '¤' db 00h; db 00h; db 00h; db 07h; db 00h; db 00h; db 00h; db 79h; 'y' db 00h; db 00h; db 00h; db 09h; db 00h; db 00h; db 00h; db EAh; 'ª' db 00h; db 00h; db 00h; db 09h; db 00h; db 00h; db 00h; db E1h; '¡' db 00h; db 00h; db 00h; db 08h; db 00h; db 00h; db 00h; db 40h; '@' db 00h; db 00h; db 00h; db 07h; db 00h; db 00h; db 00h; db 41h; 'A' db 00h; db 00h; db 00h; db 09h; db 00h; db 00h; db 00h; db 0Bh; db 01h; db 00h; db 00h; db 09h; db 00h; db 00h; db 00h; db B0h; 'ø' db 00h; db 00h; db 00h; db 08h; db 00h; db 00h; db 00h; db 6Ah; 'j' db 00h; db 00h; db 00h; db 08h; db 00h; db 00h; db 00h; db C1h; '' db 00h; db 00h; db 00h; db 07h; db 00h; db 00h; db 00h; db 71h; 'q' db 00h; db 00h; db 00h; db 07h; db 00h; db 00h; db 00h; db 78h; 'x' db 00h; db 00h; db 00h; db 08h; db 00h; db 00h; db 00h; db B1h; '+' db 00h; db 00h; db 00h; db 09h; db 00h; db 00h; db 00h; db 4Ch; 'L' db 01h; db 00h; db 00h; db 07h; db 00h; db 00h; db 00h; db 43h; 'C' db 00h; db 00h; db 00h; db 08h; db 00h; db 00h; db 00h; db 76h; 'v' db 00h; db 00h; db 00h; db 07h; db 00h; db 00h; db 00h; db 66h; 'f' db 00h; db 00h; db 00h; db 07h; db 00h; db 00h; db 00h; db 4Dh; 'M' db 00h; db 00h; db 00h; db 09h; db 00h; db 00h; db 00h; db 8Ah; '?' db 00h; db 00h; db 00h; db 06h; db 00h; db 00h; db 00h; db 2Fh; '/' db 00h; db 00h; db 00h; db 08h; db 00h; db 00h; db 00h; db C9h; '‰' db 00h; db 00h; db 00h; db 09h; db 00h; db 00h; db 00h; db CEh; 'Ž' db 00h; db 00h; db 00h; db 09h; db 00h; db 00h; db 00h; db 49h; 'I' db 01h; db 00h; db 00h; db 09h; db 00h; db 00h; db 00h; db 60h; '`' db 01h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db BAh; 'ó' db 01h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 9Eh; '?' db 01h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 9Fh; '?' db 03h; db 00h; db 00h; db 09h; db 00h; db 00h; db 00h; db E5h; '¥' db 00h; db 00h; db 00h; db 09h; db 00h; db 00h; db 00h; db 94h; '"' db 01h; db 00h; db 00h; db 09h; db 00h; db 00h; db 00h; db 84h; '"' db 01h; db 00h; db 00h; db 09h; db 00h; db 00h; db 00h; db 26h; '&' db 01h; db 00h; db 00h; db 07h; db 00h; db 00h; db 00h; db 30h; '0' db 00h; db 00h; db 00h; db 08h; db 00h; db 00h; db 00h; db 6Ch; 'l' db 00h; db 00h; db 00h; db 09h; db 00h; db 00h; db 00h; db 21h; '!' db 01h; db 00h; db 00h; db 09h; db 00h; db 00h; db 00h; db E8h; '¨' db 01h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db C1h; '' db 01h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 1Dh; db 01h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 63h; 'c' db 01h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 85h; ':' db 03h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db DBh; '›' db 03h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 7Dh; '}' db 01h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 06h; db 01h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 97h; '-' db 03h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 4Eh; 'N' db 02h; db 00h; db 00h; db 07h; db 00h; db 00h; db 00h; db 2Eh; '.' db 00h; db 00h; db 00h; db 08h; db 00h; db 00h; db 00h; db 98h; '?' db 00h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 3Ch; '<' db 03h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 2Eh; '.' db 03h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db E9h; '©' db 01h; db 00h; db 00h; db 09h; db 00h; db 00h; db 00h; db BFh; 'õ' db 00h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db DFh; 'Ÿ' db 03h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db DDh; '' db 01h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 2Dh; '-' db 03h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db EDh; '­' db 02h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 0Bh; db 03h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 07h; db 01h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db E8h; '¨' db 02h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db DEh; 'ž' db 03h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 25h; '%' db 01h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db E8h; '¨' db 01h; db 00h; db 00h; db 09h; db 00h; db 00h; db 00h; db E9h; '©' db 00h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db CDh; '' db 01h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db B5h; 'ç' db 01h; db 00h; db 00h; db 09h; db 00h; db 00h; db 00h; db 65h; 'e' db 01h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 32h; '2' db 02h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db E1h; '¡' db 02h; db 00h; db 00h; db 0Bh; db 00h; db 00h; db 00h; db AEh; 'R' db 03h; db 00h; db 00h; db 0Bh; db 00h; db 00h; db 00h; db C6h; '†' db 03h; db 00h; db 00h; db 0Bh; db 00h; db 00h; db 00h; db E2h; '¢' db 03h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 05h; db 02h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 9Ah; '?' db 02h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 48h; 'H' db 02h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db CDh; '' db 02h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 3Bh; ';' db 02h; db 00h; db 00h; db 0Bh; db 00h; db 00h; db 00h; db C5h; '…' db 03h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 51h; 'Q' db 02h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db E9h; '©' db 02h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 52h; 'R' db 02h; db 00h; db 00h; db 09h; db 00h; db 00h; db 00h; db EAh; 'ª' db 01h; db 00h; db 00h; db 0Bh; db 00h; db 00h; db 00h; db A0h; 'ÿ' db 03h; db 00h; db 00h; db 0Bh; db 00h; db 00h; db 00h; db 91h; ''' db 03h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 3Ch; '<' db 02h; db 00h; db 00h; db 0Bh; db 00h; db 00h; db 00h; db 92h; ''' db 03h; db 00h; db 00h; db 0Bh; db 00h; db 00h; db 00h; db D5h; '•' db 03h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 33h; '3' db 02h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db CCh; 'Œ' db 02h; db 00h; db 00h; db 0Bh; db 00h; db 00h; db 00h; db 90h; '?' db 03h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db BBh; '>' db 01h; db 00h; db 00h; db 0Bh; db 00h; db 00h; db 00h; db A1h; 'ö' db 03h; db 00h; db 00h; db 0Bh; db 00h; db 00h; db 00h; db C4h; '„' db 03h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 11h; db 02h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 03h; db 02h; db 00h; db 00h; db 09h; db 00h; db 00h; db 00h; db 2Ah; '*' db 01h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 31h; '1' db 02h; db 00h; db 00h; db 0Bh; db 00h; db 00h; db 00h; db E0h; ' ' db 03h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 9Bh; '>' db 02h; db 00h; db 00h; db 0Bh; db 00h; db 00h; db 00h; db D7h; '—' db 03h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 02h; db 02h; db 00h; db 00h; db 0Bh; db 00h; db 00h; db 00h; db ADh; '-' db 03h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 13h; db 02h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 53h; 'S' db 02h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 2Ch; ',' db 03h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 3Dh; '=' db 02h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 3Fh; '?' db 02h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 2Fh; '/' db 03h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 1Ch; db 01h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 84h; '"' db 03h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 1Ch; db 03h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 7Ch; '|' db 01h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 0Ah; db 03h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db E0h; ' ' db 02h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 76h; 'v' db 02h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 50h; 'P' db 02h; db 00h; db 00h; db 0Bh; db 00h; db 00h; db 00h; db E3h; '£' db 03h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 96h; '-' db 03h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 8Fh; '?' db 01h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 04h; db 02h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 06h; db 02h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 30h; '0' db 02h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 65h; 'e' db 02h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 12h; db 02h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 3Eh; '>' db 02h; db 00h; db 00h; db 0Bh; db 00h; db 00h; db 00h; db ACh; '¿' db 03h; db 00h; db 00h; db 0Bh; db 00h; db 00h; db 00h; db 93h; '"' db 03h; db 00h; db 00h; db 0Bh; db 00h; db 00h; db 00h; db E1h; '¡' db 03h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db DEh; 'ž' db 01h; db 00h; db 00h; db 0Bh; db 00h; db 00h; db 00h; db D6h; '–' db 03h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 1Dh; db 03h; db 00h; db 00h; db 0Bh; db 00h; db 00h; db 00h; db E5h; '¥' db 03h; db 00h; db 00h; db 0Bh; db 00h; db 00h; db 00h; db E4h; '¤' db 03h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 07h; db 02h; db 00h; db 00h; db 0Bh; db 00h; db 00h; db 00h; db C7h; '‡' db 03h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 77h; 'w' db 02h; db 00h; db 00h; db 0Bh; db 00h; db 00h; db 00h; db D4h; '”' db 03h; db 00h; db 00h; db 08h; db 00h; db 00h; db 00h; db C0h; '€' db 00h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 62h; 'b' db 01h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db DAh; 'š' db 03h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 24h; '$' db 01h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db B4h; '?' db 01h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 64h; 'd' db 02h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 3Dh; '=' db 03h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db D1h; '‘' db 01h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db AFh; 'ô' db 01h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 9Eh; '?' db 03h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 4Fh; 'O' db 02h; db 00h; db 00h; db 0Bh; db 00h; db 00h; db 00h; db 73h; 's' db 03h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 49h; 'I' db 02h; db 00h; db 00h; db 0Bh; db 00h; db 00h; db 00h; db 72h; 'r' db 03h; db 00h; db 00h; db 09h; db 00h; db 00h; db 00h; db 67h; 'g' db 01h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 10h; db 02h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 3Ah; ':' db 02h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db B8h; 'ñ' db 01h; db 00h; db 00h; db 0Bh; db 00h; db 00h; db 00h; db AFh; 'ô' db 03h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 8Eh; '?' db 01h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db ECh; '¬' db 02h; db 00h; db 00h; db 07h; db 00h; db 00h; db 00h; db 62h; 'b' db 00h; db 00h; db 00h; db 04h; db 00h; db 00h; db 00h; db 0Dh; db 00h; db 00h; db 00h; L004D00B8: db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' SSZ004D00BC_socket_creation_failed: db 'socket creation failed',0 Align 4 SSZ004D00D4_Connection_lost: db 'Connection lost',0 SSZ004D00E4_Exiting_due_to_closed_connection: db 'Exiting due to closed connection.',0 Align 4 SSZ004D0108_exception_state_on_socket: db 'exception state on socket',0 Align 4 SSZ004D0124_dunno__select_with_invalid_socke: db 'dunno, select with invalid socket',0 Align 4 SSZ004D0148_socket_error_in_send: db 'socket error in send',0 Align 4 SSZ004D0160___CNetInfo__CNetInfo____WSAStart: db 0Dh,0Ah,'CNetInfo::CNetInfo() WSAStartup failed.',0 Align 4 SSZ004D018C_SockLib_Error: db 'SockLib Error',0 db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L004D01A0: dd 00000000h db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 73h; 's' db 00h; db 00h; db 00h; db 2Fh; '/' db 00h; db 00h; db 00h; db 2Bh; '+' db 00h; db 00h; db 00h; db 26h; '&' db 00h; db 00h; db 00h; db 26h; '&' db 00h; db 00h; db 00h; db 26h; '&' db 00h; db 00h; db 00h; db 26h; '&' db 00h; db 00h; db 00h; db 26h; '&' db 00h; db 00h; db 00h; db 26h; '&' db 00h; db 00h; db 00h; SSZ004D01D0__mhz: db '~mhz',0 Align 4 SSZ004D01D8__Mhz: db '~Mhz',0 Align 4 SSZ004D01E0__MHz: db '~MHz',0 Align 4 SSZ004D01E8_HARDWARE_DESCRIPTION_System_Cent: db 'HARDWARE\DESCRIPTION\System\CentralProcessor\0',0 Align 4 L004D0218: dd 00000001h L004D021C: dd 00000015h L004D0220: dd SSZ004D033C_NULL L004D0224: dd L004C7598 dd SSZ004C7584_Emote dd SSZ004D0334_Whisper dd SSZ004D032C_Yell dd SSZ004D0324_Walk dd SSZ004D0318_War_Peace dd SSZ004D0310_Paste dd SSZ004D0308_Open dd SSZ004D0300_Close dd SSZ004D02F4_Minimize dd SSZ004D02E8_Maximize dd SSZ004D02DC_OpenDoor dd SSZ004D02D0_UseSkill dd SSZ004D02C4_LastSkill dd SSZ004D02B8_CastSpell dd SSZ004D02AC_LastSpell dd SSZ004D02A0_LastObject dd L004D029C dd SSZ004D0294_Salute dd SSZ004D0288_QuitGame dd SSZ004D027C_AllNames db 00h; db 00h; db 00h; db 00h; SSZ004D027C_AllNames: db 'AllNames',0 Align 4 SSZ004D0288_QuitGame: db 'QuitGame',0 Align 4 SSZ004D0294_Salute: db 'Salute',0 Align 4 L004D029C: db 42h; 'B' db 6Fh; 'o' db 77h; 'w' db 00h; SSZ004D02A0_LastObject: db 'LastObject',0 Align 4 SSZ004D02AC_LastSpell: db 'LastSpell',0 Align 4 SSZ004D02B8_CastSpell: db 'CastSpell',0 Align 4 SSZ004D02C4_LastSkill: db 'LastSkill',0 Align 4 SSZ004D02D0_UseSkill: db 'UseSkill',0 Align 4 SSZ004D02DC_OpenDoor: db 'OpenDoor',0 Align 4 SSZ004D02E8_Maximize: db 'Maximize',0 Align 4 SSZ004D02F4_Minimize: db 'Minimize',0 Align 4 SSZ004D0300_Close: db 'Close',0 Align 4 SSZ004D0308_Open: db 'Open',0 Align 4 SSZ004D0310_Paste: db 'Paste',0 Align 4 SSZ004D0318_War_Peace: db 'War/Peace',0 Align 4 SSZ004D0324_Walk: db 'Walk',0 Align 4 SSZ004D032C_Yell: db 'Yell',0 Align 4 SSZ004D0334_Whisper: db 'Whisper',0 SSZ004D033C_NULL: db 'NULL',0 Align 4 SSZ004D0344__test_: db '(test)',0 Align 4 L004D034C: db 61h; 'a' db 2Bh; '+' db 00h; db 00h; SSZ004D0350_text_frame1: db 'text frame1',0 SSZ004D035C_framedata_for_CTextGump: db 'framedata for CTextGump',0 SSZ004D0374_text_gump: db 'text gump',0 Align 4 SSZ004D0380_text_framedata: db 'text framedata',0 Align 4 SSZ004D0390_text_frame1_pBMP: db 'text frame1 pBMP',0 Align 4 SSZ004D03A4_text_frame0_pBMP: db 'text frame0 pBMP',0 Align 4 SSZ004D03B8_gumpbak_textgump: db 'gumpbak textgump',0 Align 4 SSZ004D03CC_Don_t_show_again: db 'Don',27h,'t show again',0 Align 4 SSZ004D03E0_framedata_for_CTipsGump: db 'framedata for CTipsGump',0 SSZ004D03F8_tips_gump: db 'tips gump',0 Align 4 SSZ004D0404_tips_framedata: db 'tips framedata',0 Align 4 SSZ004D0414_tips_frame1_pBMP: db 'tips frame1 pBMP',0 Align 4 SSZ004D0428_tips_frame0_pBMP: db 'tips frame0 pBMP',0 Align 4 SSZ004D043C_gumpbak_tipsgump: db 'gumpbak tipsgump',0 Align 4 SSZ004D0450_resize_gump: db 'resize gump',0 SSZ004D045C_framedata_for_CTradeGump: db 'framedata for CTradeGump',0 Align 4 SSZ004D0478_trade_gump: db 'trade gump',0 Align 4 SSZ004D0484_Trade_framedata: db 'Trade framedata',0 SSZ004D0494_Trade_frame1_pBMP: db 'Trade frame1 pBMP',0 Align 4 L004D04A8: dd 00000001h SSZ004D04AC_Gump_Tooltip_art_is_wrong_size_: db 'Gump Tooltip art is wrong size!',0 SSZ004D04CC_ToolTipGump__ToolTipGump_: db 'ToolTipGump::ToolTipGump:',0 Align 4 SSZ004D04E8_TooltipGump_framedata: db 'TooltipGump framedata',0 Align 4 SSZ004D0500_TooltipGump_frame_0: db 'TooltipGump frame 0',0 SSZ004D0514_framedata_for_CUnicodeEditListGu: db 'framedata for CUnicodeEditListGump',0 Align 4 SSZ004D0538_unicode_edit_list_gump: db 'unicode edit list gump',0 Align 4 SSZ004D0550_framedata_for_CUnicodeInputContr: db 'framedata for CUnicodeInputControlGump',0 Align 4 L004D0578: db 5Fh; '_' db 00h; db 00h; db 00h; L004D057C: db 41h; 'A' db 00h; db 71h; 'q' db 00h; db 00h; db 00h; db 00h; db 00h; L004D0584: db 20h; ' ' db 00h; db 00h; db 00h; L004D0588: db 58h; 'X' db 00h; db 00h; db 00h; L004D058C: db 24h; '$' db 00h; db 00h; db 00h; L004D0590: db 7Bh; '{' db 00h; db 00h; db 00h; L004D0594: db 7Dh; '}' db 00h; db 00h; db 00h; SWC004D0598_Error: unicode 'Error',0000h L004D05A4: db 22h; '"' db 00h; db 00h; db 00h; L004D05A8: dd 00000008h db 00h; db 00h; db 00h; db 00h; L004D05B0: db 80h; '?' db 00h; L004D05B2: db C7h; '‡' db 00h; db 81h; '?' db 00h; db FCh; 'ì' db 00h; db 82h; ''' db 00h; db E9h; '©' db 00h; db 83h; '?' db 00h; db E3h; '£' db 00h; db 84h; '"' db 00h; db E4h; '¤' db 00h; db 85h; ':' db 00h; db E0h; ' ' db 00h; db 87h; 'Ø' db 00h; db E7h; '§' db 00h; db 88h; '?' db 00h; db EAh; 'ª' db 00h; db 89h; '%' db 00h; db EBh; '«' db 00h; db 8Ah; '?' db 00h; db E8h; '¨' db 00h; db 8Bh; '<' db 00h; db EFh; '¯' db 00h; db 8Ch; '?' db 00h; db EEh; '®' db 00h; db 8Eh; '?' db 00h; db C4h; '„' db 00h; db 90h; '?' db 00h; db EBh; '«' db 00h; db 93h; '"' db 00h; db F4h; 'ä' db 00h; db 94h; '"' db 00h; db F6h; 'æ' db 00h; db 96h; '-' db 00h; db FBh; 'ë' db 00h; db 97h; '-' db 00h; db F9h; 'é' db 00h; db 99h; 'T' db 00h; db D6h; '–' db 00h; db 9Ah; '?' db 00h; db DCh; 'œ' db 00h; db 00h; db 00h; db 00h; db 00h; SSZ004D0604_Unreasonable_width_of_space_char: db 'Unreasonable width of space character.',0 Align 4 SSZ004D062C_UnicodeSetSpaceWidth__: db 'UnicodeSetSpaceWidth()',0 Align 4 SSZ004D0644_0123456789abcdefghijklmonpqrstuv: db '0123456789abcdefghijklmonpqrstuvwxyz',0 Align 4 SSZ004D066C_unifont_d_mul: db 'unifont%d.mul',0 Align 4 SSZ004D067C_unifont_mul: db 'unifont.mul',0 SSZ004D0688_UO_Version__s_: db 'UO Version %s.',0 Align 4 L004D0698: dd SSZ004D069C_1_25_35 SSZ004D069C_1_25_35: db '1.25.35',0 Align 8 L004D06A8: db 1Eh; db 00h; db FFh; 'ï' db 7Fh; '' db 1Eh; db 00h; db FFh; 'ï' db 7Fh; '' db FFh; 'ï' db 7Fh; '' db FFh; 'ï' db 7Fh; '' db 1Eh; db 00h; db FFh; 'ï' db 7Fh; '' db 1Eh; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L004D06C0: db A5h; '?' db 01h; db 1Eh; db 00h; db 1Eh; db 00h; db A5h; '?' db 01h; db 1Eh; db 00h; db A5h; '?' db 01h; db 1Eh; db 00h; db 1Eh; db 00h; db A5h; '?' db 01h; db 00h; db 00h; SSZ004D06D4_It_begins_to_snow_: db 'It begins to snow.',0 Align 4 SSZ004D06E8_It_begins_to_rain_: db 'It begins to rain.',0 Align 4 SSZ004D06FC_Season___d___Temperature___d: db 'Season: %d Temperature: %d',0 Align 4 SSZ004D071C__shell_open_command: db '\shell\open\command',0 SSZ004D0730__html: db '.html',0 Align 4 L004D0738: dd 0000000Ah L004D073C: dd 00000005h L004D0740: dd 00007BDEh L004D0744: dd 0000739Ch L004D0748: dd 00003DEFh SSZ004D074C_Failed_to_create_primary_surface: db 'Failed to create primary surface.',0 Align 4 SSZ004D0770_Note_: db 'Note!',0 Align 4 SSZ004D0778__dx_d: db '%dx%d',0 Align 4 SSZ004D0780_MMF_Error: db 'MMF Error',0 Align 4 SSZ004D078C_Failed_to_create_mapping_for_mmf: db 'Failed to create mapping for mmf %s: Error %d.',0 Align 4 SSZ004D07BC_Failed_to_open_mmf__s__Error__d_: db 'Failed to open mmf %s: Error %d.',0 Align 4 SSZ004D07E0_Failed_to_create_mapping_for_mmf: db 'Failed to create mapping for mmf_wr %s: Error %d.',0 Align 4 SSZ004D0814_Failed_to_open_mmf_wr__s__Error_: db 'Failed to open mmf_wr %s: Error %d.',0 L004D0838: dd SSZ004D0BA8_oldult01_mid dd SSZ004D0B9C_create1_mid dd SSZ004D0B8C_dragflit_mid dd SSZ004D0B7C_oldult02_mid dd SSZ004D0B6C_oldult03_mid dd SSZ004D0B5C_oldult04_mid dd SSZ004D0B4C_oldult05_mid dd SSZ004D0B3C_oldult06_mid dd SSZ004D0B30_stones2_mid dd SSZ004D0B20_britain1_mid dd SSZ004D0B10_britain2_mid dd SSZ004D0B04_bucsden_mid dd SSZ004D0AF8_jhelom_mid dd SSZ004D0AE8_lbcastle_mid dd SSZ004D0ADC_linelle_mid dd SSZ004D0ACC_magincia_mid dd SSZ004D0AC0_minoc_mid dd SSZ004D0AB4_ocllo_mid dd SSZ004D0AA4_samlethe_mid dd SSZ004D0A94_serpents_mid dd SSZ004D0A84_skarabra_mid dd SSZ004D0A78_trinsic_mid dd SSZ004D0A6C_vesper_mid dd SSZ004D0A60_wind_mid dd SSZ004D0A58_yew_mid dd SSZ004D0A4C_cave01_mid dd SSZ004D0A3C_dungeon9_mid dd SSZ004D0A2C_forest_a_mid dd SSZ004D0A1C_intown01_mid dd SSZ004D0A0C_jungle_a_mid dd SSZ004D09FC_mountn_a_mid dd SSZ004D09EC_plains_a_mid dd SSZ004D09E0_sailing_mid dd SSZ004D09D4_swamp_a_mid dd SSZ004D09C4_tavern01_mid dd SSZ004D09B4_tavern02_mid dd SSZ004D09A4_tavern03_mid dd SSZ004D0994_tavern04_mid dd SSZ004D0988_combat1_mid dd SSZ004D097C_combat2_mid dd SSZ004D0970_combat3_mid dd SSZ004D0960_approach_mid dd SSZ004D0954_death_mid dd SSZ004D0948_victory_mid dd SSZ004D0938_btcastle_mid dd SSZ004D092C_nujelm_mid dd SSZ004D091C_dungeon2_mid dd SSZ004D0910_cove_mid dd SSZ004D0900_moonglow_mid db 00h; db 00h; db 00h; db 00h; SSZ004D0900_moonglow_mid: db 'moonglow.mid',0 Align 4 SSZ004D0910_cove_mid: db 'cove.mid',0 Align 4 SSZ004D091C_dungeon2_mid: db 'dungeon2.mid',0 Align 4 SSZ004D092C_nujelm_mid: db 'nujelm.mid',0 Align 4 SSZ004D0938_btcastle_mid: db 'btcastle.mid',0 Align 4 SSZ004D0948_victory_mid: db 'victory.mid',0 SSZ004D0954_death_mid: db 'death.mid',0 Align 4 SSZ004D0960_approach_mid: db 'approach.mid',0 Align 4 SSZ004D0970_combat3_mid: db 'combat3.mid',0 SSZ004D097C_combat2_mid: db 'combat2.mid',0 SSZ004D0988_combat1_mid: db 'combat1.mid',0 SSZ004D0994_tavern04_mid: db 'tavern04.mid',0 Align 4 SSZ004D09A4_tavern03_mid: db 'tavern03.mid',0 Align 4 SSZ004D09B4_tavern02_mid: db 'tavern02.mid',0 Align 4 SSZ004D09C4_tavern01_mid: db 'tavern01.mid',0 Align 4 SSZ004D09D4_swamp_a_mid: db 'swamp_a.mid',0 SSZ004D09E0_sailing_mid: db 'sailing.mid',0 SSZ004D09EC_plains_a_mid: db 'plains_a.mid',0 Align 4 SSZ004D09FC_mountn_a_mid: db 'mountn_a.mid',0 Align 4 SSZ004D0A0C_jungle_a_mid: db 'jungle_a.mid',0 Align 4 SSZ004D0A1C_intown01_mid: db 'intown01.mid',0 Align 4 SSZ004D0A2C_forest_a_mid: db 'forest_a.mid',0 Align 4 SSZ004D0A3C_dungeon9_mid: db 'dungeon9.mid',0 Align 4 SSZ004D0A4C_cave01_mid: db 'cave01.mid',0 Align 4 SSZ004D0A58_yew_mid: db 'yew.mid',0 SSZ004D0A60_wind_mid: db 'wind.mid',0 Align 4 SSZ004D0A6C_vesper_mid: db 'vesper.mid',0 Align 4 SSZ004D0A78_trinsic_mid: db 'trinsic.mid',0 SSZ004D0A84_skarabra_mid: db 'skarabra.mid',0 Align 4 SSZ004D0A94_serpents_mid: db 'serpents.mid',0 Align 4 SSZ004D0AA4_samlethe_mid: db 'samlethe.mid',0 Align 4 SSZ004D0AB4_ocllo_mid: db 'ocllo.mid',0 Align 4 SSZ004D0AC0_minoc_mid: db 'minoc.mid',0 Align 4 SSZ004D0ACC_magincia_mid: db 'magincia.mid',0 Align 4 SSZ004D0ADC_linelle_mid: db 'linelle.mid',0 SSZ004D0AE8_lbcastle_mid: db 'lbcastle.mid',0 Align 4 SSZ004D0AF8_jhelom_mid: db 'jhelom.mid',0 Align 4 SSZ004D0B04_bucsden_mid: db 'bucsden.mid',0 SSZ004D0B10_britain2_mid: db 'britain2.mid',0 Align 4 SSZ004D0B20_britain1_mid: db 'britain1.mid',0 Align 4 SSZ004D0B30_stones2_mid: db 'stones2.mid',0 SSZ004D0B3C_oldult06_mid: db 'oldult06.mid',0 Align 4 SSZ004D0B4C_oldult05_mid: db 'oldult05.mid',0 Align 4 SSZ004D0B5C_oldult04_mid: db 'oldult04.mid',0 Align 4 SSZ004D0B6C_oldult03_mid: db 'oldult03.mid',0 Align 4 SSZ004D0B7C_oldult02_mid: db 'oldult02.mid',0 Align 4 SSZ004D0B8C_dragflit_mid: db 'dragflit.mid',0 Align 4 SSZ004D0B9C_create1_mid: db 'create1.mid',0 SSZ004D0BA8_oldult01_mid: db 'oldult01.mid',0 Align 4 SSZ004D0BB8_music__s_s: db 'music\%s%s',0 Align 4 SSZ004D0BC4_512K_: db '512K\',0 Align 4 SSZ004D0BCC_4MB_: db '4MB\',0 Align 4 SSZ004D0BD4_sequencer: db 'sequencer',0 Align 4 SSZ004D0BE0_Failed_to_start_playing_primary_: db 'Failed to start playing primary buffer',0 Align 4 SSZ004D0C08_Failed_to_create_primary_sound_b: db 'Failed to create primary sound buffer',0 Align 4 SSZ004D0C30_Failed_to_set_cooperative_level: db 'Failed to set cooperative level',0 SSZ004D0C50_Window_Handle_____d: db 'Window Handle == %d',0 SSZ004D0C64_Failed_to_stop_playing_primary_b: db 'Failed to stop playing primary buffer',0 Align 4 SSZ004D0C8C_DirectSound_Error: db 'DirectSound Error',0 Align 4 SSZ004D0CA0__DSERR_OTHERAPPHASPRIO_: db '(DSERR_OTHERAPPHASPRIO)',0 SSZ004D0CB8__DSERR_BUFFERLOST_: db '(DSERR_BUFFERLOST)',0 Align 4 SSZ004D0CCC__DSERR_ALREADYINITIALIZED_: db '(DSERR_ALREADYINITIALIZED)',0 Align 4 SSZ004D0CE8__DSERR_NODRIVER_: db '(DSERR_NODRIVER)',0 Align 4 SSZ004D0CFC__DSERR_CONTROLUNAVAIL_: db '(DSERR_CONTROLUNAVAIL)',0 Align 4 SSZ004D0D14__DSERR_PRIOLEVELNEEDED_: db '(DSERR_PRIOLEVELNEEDED)',0 SSZ004D0D2C__DSERR_INVALIDCALL_: db '(DSERR_INVALIDCALL)',0 SSZ004D0D40__DSERR_BADFORMAT_: db '(DSERR_BADFORMAT)',0 Align 4 SSZ004D0D54__DSERR_ALLOCATED_: db '(DSERR_ALLOCATED)',0 Align 4 SSZ004D0D68__DSERR_INVALIDPARAM_: db '(DSERR_INVALIDPARAM)',0 Align 4 SSZ004D0D80__DSERR_OUTOFMEMORY_: db '(DSERR_OUTOFMEMORY)',0 SSZ004D0D94__DSERR_NOAGGREGATION_: db '(DSERR_NOAGGREGATION)',0 Align 4 SSZ004D0DAC__DSERR_GENERIC_: db '(DSERR_GENERIC)',0 SSZ004D0DBC__DSERR_UNSUPPORTED_: db '(DSERR_UNSUPPORTED)',0 SSZ004D0DD0_Failed_to_create_sound_buffer: db 'Failed to create sound buffer',0 Align 4 SSZ004D0DF0_DirectSound_SetFrequency_failed_: db 'DirectSound SetFrequency failed.',0 Align 4 SSZ004D0E14_DirectSound_SetVolume_failed_: db 'DirectSound SetVolume failed.',0 Align 4 SSZ004D0E34_DirectSound_SetPan_failed_: db 'DirectSound SetPan failed.',0 Align 4 L004D0E50: dd FFFFFFFFh L004D0E54: dd 00000001h L004D0E58: dd FFFFFFFFh L004D0E5C: dd SSZ004D0EC0_Ultima_Online L004D0E60: dd L006C0055 dd L00690074 dd L0061006D dd L004F0020 dd L006C006E dd L006E0069 db 65h; 'e' db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 09h; db 00h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 0Bh; db 00h; db 00h; db 00h; db 0Ch; db 00h; db 00h; db 00h; db 0Dh; db 00h; db 00h; db 00h; db 0Eh; db 00h; db 00h; db 00h; db 0Fh; db 00h; db 00h; db 00h; db 10h; db 00h; db 00h; db 00h; db 02h; db 00h; db 00h; db 00h; db 03h; db 00h; db 00h; db 00h; db 04h; db 00h; db 00h; db 00h; db 05h; db 00h; db 00h; db 00h; db 06h; db 00h; db 00h; db 00h; db 07h; db 00h; db 00h; db 00h; L004D0EB8: dd 00000280h L004D0EBC: dd 000001E0h SSZ004D0EC0_Ultima_Online: db 'Ultima Online',0 Align 4 L004D0ED0: db 20h; ' ' db 2Dh; '-' db 20h; ' ' db 00h; SSZ004D0ED4_ERROR__Ultima_Online_requires_th: db 'ERROR: Ultima Online requires that Windows be in 16-bit color mode in order to run.',0Ah,0Ah,'Please go to the Windows Display Settings in the Control Panel and change the color setting before attempting to run UO.',0 Align 4 SSZ004D0FA4_Error__Color_Mode: db 'Error: Color Mode',0 Align 4 SSZ004D0FB8_An_instance_of_UO_Patch_is_alrea: db 'An instance of UO Patch is already running.',0 SSZ004D0FE4_UoPatchApp: db 'UoPatchApp',0 Align 4 SSZ004D0FF0_Another_instance_of_UO_is_alread: db 'Another instance of UO is already running.',0 Align 4 SSZ004D101C_UoClientApp: db 'UoClientApp',0 SSZ004D1028_CreateWindow____returned_a_NULL_: db 'CreateWindow?() returned a NULL window handle, Unicode speech disabled, trying CreateWindow()',0 Align 4 SSZ004D1088_Unicode_Speech_Error: db 'Unicode Speech Error',0 Align 4 SSZ004D10A0_music_intro_wve: db 'music\intro.wve',0 SSZ004D10B0_music_intro_avi: db 'music\intro.avi',0 SSZ004D10C0_Web_browser_not_found_: db 'Web browser not found!',0 Align 4 L004D10D8: db 20h; ' ' db 05h; db 93h; '"' db 19h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 75h; 'u' db 98h; '?' db 00h; db 00h; db 73h; 's' db 98h; '?' db 00h; db 00h; L004D10F8: dd L0049BB20 L004D10FC: dd SUB_L004068F0 L004D1100: dd SUB_L004068F0 db 00h; db 00h; db 00h; db 00h; L004D1108: db 01h; db 00h; db 00h; db 00h; L004D110C: dd 00000016h db 02h; db 00h; db 00h; db 00h; db 02h; db 00h; db 00h; db 00h; db 03h; db 00h; db 00h; db 00h; db 02h; db 00h; db 00h; db 00h; db 04h; db 00h; db 00h; db 00h; db 18h; db 00h; db 00h; db 00h; db 05h; db 00h; db 00h; db 00h; db 0Dh; db 00h; db 00h; db 00h; db 06h; db 00h; db 00h; db 00h; db 09h; db 00h; db 00h; db 00h; db 07h; db 00h; db 00h; db 00h; db 0Ch; db 00h; db 00h; db 00h; db 08h; db 00h; db 00h; db 00h; db 0Ch; db 00h; db 00h; db 00h; db 09h; db 00h; db 00h; db 00h; db 0Ch; db 00h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 07h; db 00h; db 00h; db 00h; db 0Bh; db 00h; db 00h; db 00h; db 08h; db 00h; db 00h; db 00h; db 0Ch; db 00h; db 00h; db 00h; db 16h; db 00h; db 00h; db 00h; db 0Dh; db 00h; db 00h; db 00h; db 16h; db 00h; db 00h; db 00h; db 0Fh; db 00h; db 00h; db 00h; db 02h; db 00h; db 00h; db 00h; db 10h; db 00h; db 00h; db 00h; db 0Dh; db 00h; db 00h; db 00h; db 11h; db 00h; db 00h; db 00h; db 12h; db 00h; db 00h; db 00h; db 12h; db 00h; db 00h; db 00h; db 02h; db 00h; db 00h; db 00h; db 21h; '!' db 00h; db 00h; db 00h; db 0Dh; db 00h; db 00h; db 00h; db 35h; '5' db 00h; db 00h; db 00h; db 02h; db 00h; db 00h; db 00h; db 41h; 'A' db 00h; db 00h; db 00h; db 0Dh; db 00h; db 00h; db 00h; db 43h; 'C' db 00h; db 00h; db 00h; db 02h; db 00h; db 00h; db 00h; db 50h; 'P' db 00h; db 00h; db 00h; db 11h; db 00h; db 00h; db 00h; db 52h; 'R' db 00h; db 00h; db 00h; db 0Dh; db 00h; db 00h; db 00h; db 53h; 'S' db 00h; db 00h; db 00h; db 0Dh; db 00h; db 00h; db 00h; db 57h; 'W' db 00h; db 00h; db 00h; db 16h; db 00h; db 00h; db 00h; db 59h; 'Y' db 00h; db 00h; db 00h; db 0Bh; db 00h; db 00h; db 00h; db 6Ch; 'l' db 00h; db 00h; db 00h; db 0Dh; db 00h; db 00h; db 00h; db 6Dh; 'm' db 00h; db 00h; db 00h; db 20h; ' ' db 00h; db 00h; db 00h; db 70h; 'p' db 00h; db 00h; db 00h; db 1Ch; db 00h; db 00h; db 00h; db 72h; 'r' db 00h; db 00h; db 00h; db 09h; db 00h; db 00h; db 00h; db 06h; db 00h; db 00h; db 00h; db 16h; db 00h; db 00h; db 00h; db 80h; '?' db 00h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 81h; '?' db 00h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 82h; ''' db 00h; db 00h; db 00h; db 09h; db 00h; db 00h; db 00h; db 83h; '?' db 00h; db 00h; db 00h; db 16h; db 00h; db 00h; db 00h; db 84h; '"' db 00h; db 00h; db 00h; db 0Dh; db 00h; db 00h; db 00h; db 91h; ''' db 00h; db 00h; db 00h; db 29h; ')' db 00h; db 00h; db 00h; db 9Eh; '?' db 00h; db 00h; db 00h; db 0Dh; db 00h; db 00h; db 00h; db A1h; 'ö' db 00h; db 00h; db 00h; db 02h; db 00h; db 00h; db 00h; db A4h; 'ý' db 00h; db 00h; db 00h; db 0Bh; db 00h; db 00h; db 00h; db A7h; db 00h; db 00h; db 00h; db 0Dh; db 00h; db 00h; db 00h; db B7h; 'ú' db 00h; db 00h; db 00h; db 11h; db 00h; db 00h; db 00h; db CEh; 'Ž' db 00h; db 00h; db 00h; db 02h; db 00h; db 00h; db 00h; db D7h; '—' db 00h; db 00h; db 00h; db 0Bh; db 00h; db 00h; db 00h; db 18h; db 07h; db 00h; db 00h; db 0Ch; db 00h; db 00h; db 00h; L004D1270: dd SUB_L0049B0E0 L004D1274: dd 00000002h L004D1278: dd 00000000h L004D127C: dd L007B8640 db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L004D129C: dd L007B8670 db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L004D12AC: dd L007B8688 db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L004D12BC: dd L007B8658 db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db C0h; '€' db 32h; '2' db 4Ah; 'J' db 00h; db 00h; db 00h; db 00h; db 00h; L004D1340: dd FFFFFFFFh L004D1344: dd SUB_L0049E110 L004D1348: dd SSZ004CE528__null_ L004D134C: dd SWC004BD18C__null_ db 43h; 'C' db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db D4h; '”' db D1h; '‘' db 4Bh; 'K' db 00h; db 00h; db 00h; db 00h; db 00h; db 70h; 'p' db B8h; 'ñ' db 48h; 'H' db 00h; db C8h; 'ˆ' db D1h; '‘' db 4Bh; 'K' db 00h; db 50h; 'P' db 13h; db 4Dh; 'M' db 00h; db 70h; 'p' db B8h; 'ñ' db 48h; 'H' db 00h; db BCh; '?' db D1h; '‘' db 4Bh; 'K' db 00h; db 50h; 'P' db 13h; db 4Dh; 'M' db 00h; db 80h; '?' db 45h; 'E' db 4Ah; 'J' db 00h; db B0h; 'ø' db D1h; '‘' db 4Bh; 'K' db 00h; db 50h; 'P' db 13h; db 4Dh; 'M' db 00h; db D0h; '' db 42h; 'B' db 4Ah; 'J' db 00h; db A4h; 'ý' db D1h; '‘' db 4Bh; 'K' db 00h; db 50h; 'P' db 13h; db 4Dh; 'M' db 00h; db 90h; '?' db 40h; '@' db 4Ah; 'J' db 00h; db 9Ch; '?' db D1h; '‘' db 4Bh; 'K' db 00h; db 50h; 'P' db 13h; db 4Dh; 'M' db 00h; db 20h; ' ' db 39h; '9' db 4Ah; 'J' db 00h; db 43h; 'C' db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 43h; 'C' db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L004D14B0: dd L004D14BA L004D14B4: dd L004D14BA db 00h; db 00h; L004D14BA: db 20h; ' ' db 00h; db 20h; ' ' db 00h; db 20h; ' ' db 00h; db 20h; ' ' db 00h; db 20h; ' ' db 00h; db 20h; ' ' db 00h; db 20h; ' ' db 00h; db 20h; ' ' db 00h; db 20h; ' ' db 00h; db 28h; '(' db 00h; db 28h; '(' db 00h; db 28h; '(' db 00h; db 28h; '(' db 00h; db 28h; '(' db 00h; db 20h; ' ' db 00h; db 20h; ' ' db 00h; db 20h; ' ' db 00h; db 20h; ' ' db 00h; db 20h; ' ' db 00h; db 20h; ' ' db 00h; db 20h; ' ' db 00h; db 20h; ' ' db 00h; db 20h; ' ' db 00h; db 20h; ' ' db 00h; db 20h; ' ' db 00h; db 20h; ' ' db 00h; db 20h; ' ' db 00h; db 20h; ' ' db 00h; db 20h; ' ' db 00h; db 20h; ' ' db 00h; db 20h; ' ' db 00h; db 20h; ' ' db 00h; db 48h; 'H' db 00h; db 10h; db 00h; db 10h; db 00h; db 10h; db 00h; db 10h; db 00h; db 10h; db 00h; db 10h; db 00h; db 10h; db 00h; db 10h; db 00h; db 10h; db 00h; db 10h; db 00h; db 10h; db 00h; db 10h; db 00h; db 10h; db 00h; db 10h; db 00h; db 10h; db 00h; db 84h; '"' db 00h; db 84h; '"' db 00h; db 84h; '"' db 00h; db 84h; '"' db 00h; db 84h; '"' db 00h; db 84h; '"' db 00h; db 84h; '"' db 00h; db 84h; '"' db 00h; db 84h; '"' db 00h; db 84h; '"' db 00h; db 10h; db 00h; db 10h; db 00h; db 10h; db 00h; db 10h; db 00h; db 10h; db 00h; db 10h; db 00h; db 10h; db 00h; db 81h; '?' db 00h; db 81h; '?' db 00h; db 81h; '?' db 00h; db 81h; '?' db 00h; db 81h; '?' db 00h; db 81h; '?' db 00h; db 01h; db 00h; db 01h; db 00h; db 01h; db 00h; db 01h; db 00h; db 01h; db 00h; db 01h; db 00h; db 01h; db 00h; db 01h; db 00h; db 01h; db 00h; db 01h; db 00h; db 01h; db 00h; db 01h; db 00h; db 01h; db 00h; db 01h; db 00h; db 01h; db 00h; db 01h; db 00h; db 01h; db 00h; db 01h; db 00h; db 01h; db 00h; db 01h; db 00h; db 10h; db 00h; db 10h; db 00h; db 10h; db 00h; db 10h; db 00h; db 10h; db 00h; db 10h; db 00h; db 82h; ''' db 00h; db 82h; ''' db 00h; db 82h; ''' db 00h; db 82h; ''' db 00h; db 82h; ''' db 00h; db 82h; ''' db 00h; db 02h; db 00h; db 02h; db 00h; db 02h; db 00h; db 02h; db 00h; db 02h; db 00h; db 02h; db 00h; db 02h; db 00h; db 02h; db 00h; db 02h; db 00h; db 02h; db 00h; db 02h; db 00h; db 02h; db 00h; db 02h; db 00h; db 02h; db 00h; db 02h; db 00h; db 02h; db 00h; db 02h; db 00h; db 02h; db 00h; db 02h; db 00h; db 02h; db 00h; db 10h; db 00h; db 10h; db 00h; db 10h; db 00h; db 10h; db 00h; db 20h; ' ' db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L004D16BC: dd 00000001h L004D16C0: db 2Eh; '.' db 00h; db 00h; db 00h; L004D16C4: dd 00000001h L004D16C8: db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 00h; db 0Ah; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; SSZ004D16EC______: db ' ',09h,'-',0Dh,']',0 Align 4 L004D16F4: db 5Dh; ']' db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L004D1700: dd L004A5610 L004D1704: dd L004A5610 L004D1708: dd L004A5610 L004D170C: dd L004A5610 L004D1710: dd L004A5610 L004D1714: dd L004A5610 L004D1718: dd SSZ004BD240__cmd dd SSZ004BD238__bat dd SSZ004BD230__exe L004D1724: dd SSZ004BD228__com db 00h; db 10h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L004D1730: dd L004D1730 L004D1734: dd L004D1730 db 48h; 'H' db 17h; db 4Dh; 'M' db 00h; db 48h; 'H' db 17h; db 4Dh; 'M' db 00h; L004D1740: dd FFFFFFFFh db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F0h; 'à' db 00h; db 00h; db 00h; db F1h; 'á' db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L004D2044: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L004D3750: dd L004D1730 L004D3754: dd 000001E0h L004D3758: db 05h; db 00h; db 00h; db C0h; '€' db 0Bh; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 1Dh; db 00h; db 00h; db C0h; '€' db 04h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 96h; '-' db 00h; db 00h; db C0h; '€' db 04h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 8Dh; '?' db 00h; db 00h; db C0h; '€' db 08h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 8Eh; '?' db 00h; db 00h; db C0h; '€' db 08h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 8Fh; '?' db 00h; db 00h; db C0h; '€' db 08h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 90h; '?' db 00h; db 00h; db C0h; '€' db 08h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 91h; ''' db 00h; db 00h; db C0h; '€' db 08h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 92h; ''' db 00h; db 00h; db C0h; '€' db 08h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 93h; '"' db 00h; db 00h; db C0h; '€' db 08h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L004D37D0: dd 00000003h L004D37D4: dd 00000007h db 78h; 'x' db 00h; db 00h; db 00h; L004D37DC: db 0Ah; db 00h; db 00h; db 00h; L004D37E0: db 01h; db 02h; db 04h; db 08h; db 00h; db 00h; db 00h; db 00h; L004D37E8: db A4h; 'ý' db 03h; db 00h; db 00h; L004D37EC: dd 82798260h L004D37F0: dd 00000021h db 00h; db 00h; db 00h; db 00h; L004D37F8: db A6h; '³' db DFh; 'Ÿ' db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db A1h; 'ö' db A5h; '?' db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 81h; '?' db 9Fh; '?' db E0h; ' ' db FCh; 'ì' db 00h; db 00h; db 00h; db 00h; db 40h; '@' db 7Eh; '~' db 80h; '?' db FCh; 'ì' db 00h; db 00h; db 00h; db 00h; db A8h; 'ð' db 03h; db 00h; db 00h; db C1h; '' db A3h; '?' db DAh; 'š' db A3h; '?' db 20h; ' ' db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 81h; '?' db FEh; 'î' db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 40h; '@' db FEh; 'î' db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db B5h; 'ç' db 03h; db 00h; db 00h; db C1h; '' db A3h; '?' db DAh; 'š' db A3h; '?' db 20h; ' ' db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 81h; '?' db FEh; 'î' db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 41h; 'A' db FEh; 'î' db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db B6h; db 03h; db 00h; db 00h; db CFh; '' db A2h; '÷' db E4h; '¤' db A2h; '÷' db 1Ah; db 00h; db E5h; '¥' db A2h; '÷' db E8h; '¨' db A2h; '÷' db 5Bh; '[' db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 81h; '?' db FEh; 'î' db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 40h; '@' db 7Eh; '~' db A1h; 'ö' db FEh; 'î' db 00h; db 00h; db 00h; db 00h; db 51h; 'Q' db 05h; db 00h; db 00h; db 51h; 'Q' db DAh; 'š' db 5Eh; '^' db DAh; 'š' db 20h; ' ' db 00h; db 5Fh; '_' db DAh; 'š' db 6Ah; 'j' db DAh; 'š' db 32h; '2' db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 81h; '?' db D3h; '“' db D8h; '˜' db DEh; 'ž' db E0h; ' ' db F9h; 'é' db 00h; db 00h; db 31h; '1' db 7Eh; '~' db 81h; '?' db FEh; 'î' db 00h; db 00h; db 00h; db 00h; L004D38D8: dd 00000002h L004D38DC: dd SSZ004BD4B0_R6002____floating_point_not_load db 08h; db 00h; db 00h; db 00h; db 84h; '"' db D4h; '”' db 4Bh; 'K' db 00h; db 09h; db 00h; db 00h; db 00h; db 58h; 'X' db D4h; '”' db 4Bh; 'K' db 00h; db 0Ah; db 00h; db 00h; db 00h; db 34h; '4' db D4h; '”' db 4Bh; 'K' db 00h; db 10h; db 00h; db 00h; db 00h; db 08h; db D4h; '”' db 4Bh; 'K' db 00h; db 11h; db 00h; db 00h; db 00h; db D8h; '˜' db D3h; '“' db 4Bh; 'K' db 00h; db 12h; db 00h; db 00h; db 00h; db B4h; '?' db D3h; '“' db 4Bh; 'K' db 00h; db 13h; db 00h; db 00h; db 00h; db 88h; '?' db D3h; '“' db 4Bh; 'K' db 00h; db 18h; db 00h; db 00h; db 00h; db 50h; 'P' db D3h; '“' db 4Bh; 'K' db 00h; db 19h; db 00h; db 00h; db 00h; db 28h; '(' db D3h; '“' db 4Bh; 'K' db 00h; db 1Ah; db 00h; db 00h; db 00h; db F0h; 'à' db D2h; '’' db 4Bh; 'K' db 00h; db 1Bh; db 00h; db 00h; db 00h; db B8h; 'ñ' db D2h; '’' db 4Bh; 'K' db 00h; db 1Ch; db 00h; db 00h; db 00h; db 90h; '?' db D2h; '’' db 4Bh; 'K' db 00h; db 78h; 'x' db 00h; db 00h; db 00h; db 80h; '?' db D2h; '’' db 4Bh; 'K' db 00h; db 79h; 'y' db 00h; db 00h; db 00h; db 70h; 'p' db D2h; '’' db 4Bh; 'K' db 00h; db 7Ah; 'z' db 00h; db 00h; db 00h; db 60h; '`' db D2h; '’' db 4Bh; 'K' db 00h; db FCh; 'ì' db 00h; db 00h; db 00h; db 5Ch; '\' db D2h; '’' db 4Bh; 'K' db 00h; db FFh; 'ï' db 00h; db 00h; db 00h; db 4Ch; 'L' db D2h; '’' db 4Bh; 'K' db 00h; L004D3968: dd L007B8BC0 db 00h; db 00h; db 00h; db 00h; db C0h; '€' db 8Bh; '<' db 7Bh; '{' db 00h; db 01h; db 01h; db 00h; db 00h; L004D3978: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 10h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L004D3988: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 02h; db 00h; db 00h; db 00h; db 01h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L004D39A8: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 02h; db 00h; db 00h; db 00h; db 02h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L004D39D8: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L004D3BC8: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L004D3BE8: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db A8h; 'ð' db DBh; '›' db 4Bh; 'K' db 00h; db 45h; 'E' db 4Eh; 'N' db 55h; 'U' db 00h; db 94h; '"' db DBh; '›' db 4Bh; 'K' db 00h; db 45h; 'E' db 4Eh; 'N' db 55h; 'U' db 00h; db 80h; '?' db DBh; '›' db 4Bh; 'K' db 00h; db 45h; 'E' db 4Eh; 'N' db 55h; 'U' db 00h; db 74h; 't' db DBh; '›' db 4Bh; 'K' db 00h; db 45h; 'E' db 4Eh; 'N' db 41h; 'A' db 00h; db 6Ch; 'l' db DBh; '›' db 4Bh; 'K' db 00h; db 4Eh; 'N' db 4Ch; 'L' db 42h; 'B' db 00h; db 60h; '`' db DBh; '›' db 4Bh; 'K' db 00h; db 45h; 'E' db 4Eh; 'N' db 43h; 'C' db 00h; db 5Ch; '\' db DBh; '›' db 4Bh; 'K' db 00h; db 5Ah; 'Z' db 48h; 'H' db 48h; 'H' db 00h; db 58h; 'X' db DBh; '›' db 4Bh; 'K' db 00h; db 5Ah; 'Z' db 48h; 'H' db 49h; 'I' db 00h; db 50h; 'P' db DBh; '›' db 4Bh; 'K' db 00h; db 43h; 'C' db 48h; 'H' db 53h; 'S' db 00h; db 3Ch; '<' db DBh; '›' db 4Bh; 'K' db 00h; db 5Ah; 'Z' db 48h; 'H' db 48h; 'H' db 00h; db 28h; '(' db DBh; '›' db 4Bh; 'K' db 00h; db 43h; 'C' db 48h; 'H' db 53h; 'S' db 00h; db 14h; db DBh; '›' db 4Bh; 'K' db 00h; db 5Ah; 'Z' db 48h; 'H' db 49h; 'I' db 00h; db 00h; db DBh; '›' db 4Bh; 'K' db 00h; db 43h; 'C' db 48h; 'H' db 54h; 'T' db 00h; db F0h; 'à' db DAh; 'š' db 4Bh; 'K' db 00h; db 4Eh; 'N' db 4Ch; 'L' db 42h; 'B' db 00h; db DCh; 'œ' db DAh; 'š' db 4Bh; 'K' db 00h; db 45h; 'E' db 4Eh; 'N' db 55h; 'U' db 00h; db D0h; '' db DAh; 'š' db 4Bh; 'K' db 00h; db 45h; 'E' db 4Eh; 'N' db 41h; 'A' db 00h; db C0h; '€' db DAh; 'š' db 4Bh; 'K' db 00h; db 45h; 'E' db 4Eh; 'N' db 4Ch; 'L' db 00h; db B4h; '?' db DAh; 'š' db 4Bh; 'K' db 00h; db 45h; 'E' db 4Eh; 'N' db 43h; 'C' db 00h; db A0h; 'ÿ' db DAh; 'š' db 4Bh; 'K' db 00h; db 45h; 'E' db 4Eh; 'N' db 42h; 'B' db 00h; db 94h; '"' db DAh; 'š' db 4Bh; 'K' db 00h; db 45h; 'E' db 4Eh; 'N' db 49h; 'I' db 00h; db 84h; '"' db DAh; 'š' db 4Bh; 'K' db 00h; db 45h; 'E' db 4Eh; 'N' db 4Ah; 'J' db 00h; db 78h; 'x' db DAh; 'š' db 4Bh; 'K' db 00h; db 45h; 'E' db 4Eh; 'N' db 5Ah; 'Z' db 00h; db 60h; '`' db DAh; 'š' db 4Bh; 'K' db 00h; db 45h; 'E' db 4Eh; 'N' db 53h; 'S' db 00h; db 44h; 'D' db DAh; 'š' db 4Bh; 'K' db 00h; db 45h; 'E' db 4Eh; 'N' db 54h; 'T' db 00h; db 38h; '8' db DAh; 'š' db 4Bh; 'K' db 00h; db 45h; 'E' db 4Eh; 'N' db 47h; 'G' db 00h; db 2Ch; ',' db DAh; 'š' db 4Bh; 'K' db 00h; db 45h; 'E' db 4Eh; 'N' db 55h; 'U' db 00h; db 20h; ' ' db DAh; 'š' db 4Bh; 'K' db 00h; db 45h; 'E' db 4Eh; 'N' db 55h; 'U' db 00h; db 10h; db DAh; 'š' db 4Bh; 'K' db 00h; db 46h; 'F' db 52h; 'R' db 42h; 'B' db 00h; db 00h; db DAh; 'š' db 4Bh; 'K' db 00h; db 46h; 'F' db 52h; 'R' db 43h; 'C' db 00h; db ECh; '¬' db D9h; '™' db 4Bh; 'K' db 00h; db 46h; 'F' db 52h; 'R' db 4Ch; 'L' db 00h; db DCh; 'œ' db D9h; '™' db 4Bh; 'K' db 00h; db 46h; 'F' db 52h; 'R' db 53h; 'S' db 00h; db CCh; 'Œ' db D9h; '™' db 4Bh; 'K' db 00h; db 44h; 'D' db 45h; 'E' db 41h; 'A' db 00h; db B8h; 'ñ' db D9h; '™' db 4Bh; 'K' db 00h; db 44h; 'D' db 45h; 'E' db 43h; 'C' db 00h; db A4h; 'ý' db D9h; '™' db 4Bh; 'K' db 00h; db 44h; 'D' db 45h; 'E' db 4Ch; 'L' db 00h; db 94h; '"' db D9h; '™' db 4Bh; 'K' db 00h; db 44h; 'D' db 45h; 'E' db 53h; 'S' db 00h; db 84h; '"' db D9h; '™' db 4Bh; 'K' db 00h; db 45h; 'E' db 4Eh; 'N' db 49h; 'I' db 00h; db 74h; 't' db D9h; '™' db 4Bh; 'K' db 00h; db 49h; 'I' db 54h; 'T' db 53h; 'S' db 00h; db 68h; 'h' db D9h; '™' db 4Bh; 'K' db 00h; db 4Eh; 'N' db 4Fh; 'O' db 52h; 'R' db 00h; db 54h; 'T' db D9h; '™' db 4Bh; 'K' db 00h; db 4Eh; 'N' db 4Fh; 'O' db 52h; 'R' db 00h; db 40h; '@' db D9h; '™' db 4Bh; 'K' db 00h; db 4Eh; 'N' db 4Fh; 'O' db 4Eh; 'N' db 00h; db 28h; '(' db D9h; '™' db 4Bh; 'K' db 00h; db 50h; 'P' db 54h; 'T' db 42h; 'B' db 00h; db 14h; db D9h; '™' db 4Bh; 'K' db 00h; db 45h; 'E' db 53h; 'S' db 53h; 'S' db 00h; db 04h; db D9h; '™' db 4Bh; 'K' db 00h; db 45h; 'E' db 53h; 'S' db 42h; 'B' db 00h; db F4h; 'ä' db D8h; '˜' db 4Bh; 'K' db 00h; db 45h; 'E' db 53h; 'S' db 4Ch; 'L' db 00h; db E0h; ' ' db D8h; '˜' db 4Bh; 'K' db 00h; db 45h; 'E' db 53h; 'S' db 4Fh; 'O' db 00h; db CCh; 'Œ' db D8h; '˜' db 4Bh; 'K' db 00h; db 45h; 'E' db 53h; 'S' db 43h; 'C' db 00h; db B0h; 'ø' db D8h; '˜' db 4Bh; 'K' db 00h; db 45h; 'E' db 53h; 'S' db 44h; 'D' db 00h; db A0h; 'ÿ' db D8h; '˜' db 4Bh; 'K' db 00h; db 45h; 'E' db 53h; 'S' db 46h; 'F' db 00h; db 8Ch; '?' db D8h; '˜' db 4Bh; 'K' db 00h; db 45h; 'E' db 53h; 'S' db 45h; 'E' db 00h; db 78h; 'x' db D8h; '˜' db 4Bh; 'K' db 00h; db 45h; 'E' db 53h; 'S' db 47h; 'G' db 00h; db 64h; 'd' db D8h; '˜' db 4Bh; 'K' db 00h; db 45h; 'E' db 53h; 'S' db 48h; 'H' db 00h; db 54h; 'T' db D8h; '˜' db 4Bh; 'K' db 00h; db 45h; 'E' db 53h; 'S' db 4Dh; 'M' db 00h; db 44h; 'D' db D8h; '˜' db 4Bh; 'K' db 00h; db 45h; 'E' db 53h; 'S' db 4Eh; 'N' db 00h; db 30h; '0' db D8h; '˜' db 4Bh; 'K' db 00h; db 45h; 'E' db 53h; 'S' db 49h; 'I' db 00h; db 20h; ' ' db D8h; '˜' db 4Bh; 'K' db 00h; db 45h; 'E' db 53h; 'S' db 41h; 'A' db 00h; db 0Ch; db D8h; '˜' db 4Bh; 'K' db 00h; db 45h; 'E' db 53h; 'S' db 5Ah; 'Z' db 00h; db FCh; 'ì' db D7h; '—' db 4Bh; 'K' db 00h; db 45h; 'E' db 53h; 'S' db 52h; 'R' db 00h; db E8h; '¨' db D7h; '—' db 4Bh; 'K' db 00h; db 45h; 'E' db 53h; 'S' db 55h; 'U' db 00h; db D8h; '˜' db D7h; '—' db 4Bh; 'K' db 00h; db 45h; 'E' db 53h; 'S' db 59h; 'Y' db 00h; db C4h; '„' db D7h; '—' db 4Bh; 'K' db 00h; db 45h; 'E' db 53h; 'S' db 56h; 'V' db 00h; db B4h; '?' db D7h; '—' db 4Bh; 'K' db 00h; db 53h; 'S' db 56h; 'V' db 46h; 'F' db 00h; db ACh; '¿' db D7h; '—' db 4Bh; 'K' db 00h; db 44h; 'D' db 45h; 'E' db 53h; 'S' db 00h; db A8h; 'ð' db D7h; '—' db 4Bh; 'K' db 00h; db 45h; 'E' db 4Eh; 'N' db 47h; 'G' db 00h; db A4h; 'ý' db D7h; '—' db 4Bh; 'K' db 00h; db 45h; 'E' db 4Eh; 'N' db 55h; 'U' db 00h; db A0h; 'ÿ' db D7h; '—' db 4Bh; 'K' db 00h; db 45h; 'E' db 4Eh; 'N' db 55h; 'U' db 00h; db 98h; '?' db D7h; '—' db 4Bh; 'K' db 00h; db 55h; 'U' db 53h; 'S' db 41h; 'A' db 00h; db 90h; '?' db D7h; '—' db 4Bh; 'K' db 00h; db 47h; 'G' db 42h; 'B' db 52h; 'R' db 00h; db 88h; '?' db D7h; '—' db 4Bh; 'K' db 00h; db 43h; 'C' db 48h; 'H' db 4Eh; 'N' db 00h; db 80h; '?' db D7h; '—' db 4Bh; 'K' db 00h; db 43h; 'C' db 5Ah; 'Z' db 45h; 'E' db 00h; db 78h; 'x' db D7h; '—' db 4Bh; 'K' db 00h; db 47h; 'G' db 42h; 'B' db 52h; 'R' db 00h; db 68h; 'h' db D7h; '—' db 4Bh; 'K' db 00h; db 47h; 'G' db 42h; 'B' db 52h; 'R' db 00h; db 60h; '`' db D7h; '—' db 4Bh; 'K' db 00h; db 4Eh; 'N' db 4Ch; 'L' db 44h; 'D' db 00h; db 54h; 'T' db D7h; '—' db 4Bh; 'K' db 00h; db 48h; 'H' db 4Bh; 'K' db 47h; 'G' db 00h; db 48h; 'H' db D7h; '—' db 4Bh; 'K' db 00h; db 4Eh; 'N' db 5Ah; 'Z' db 4Ch; 'L' db 00h; db 44h; 'D' db D7h; '—' db 4Bh; 'K' db 00h; db 4Eh; 'N' db 5Ah; 'Z' db 4Ch; 'L' db 00h; db 38h; '8' db D7h; '—' db 4Bh; 'K' db 00h; db 43h; 'C' db 48h; 'H' db 4Eh; 'N' db 00h; db 2Ch; ',' db D7h; '—' db 4Bh; 'K' db 00h; db 43h; 'C' db 48h; 'H' db 4Eh; 'N' db 00h; db 20h; ' ' db D7h; '—' db 4Bh; 'K' db 00h; db 50h; 'P' db 52h; 'R' db 49h; 'I' db 00h; db 18h; db D7h; '—' db 4Bh; 'K' db 00h; db 53h; 'S' db 56h; 'V' db 4Bh; 'K' db 00h; db 08h; db D7h; '—' db 4Bh; 'K' db 00h; db 5Ah; 'Z' db 41h; 'A' db 46h; 'F' db 00h; db FCh; 'ì' db D6h; '–' db 4Bh; 'K' db 00h; db 4Bh; 'K' db 4Fh; 'O' db 52h; 'R' db 00h; db ECh; '¬' db D6h; '–' db 4Bh; 'K' db 00h; db 5Ah; 'Z' db 41h; 'A' db 46h; 'F' db 00h; db E0h; ' ' db D6h; '–' db 4Bh; 'K' db 00h; db 4Bh; 'K' db 4Fh; 'O' db 52h; 'R' db 00h; db CCh; 'Œ' db D6h; '–' db 4Bh; 'K' db 00h; db 54h; 'T' db 54h; 'T' db 4Fh; 'O' db 00h; db A8h; 'ð' db D7h; '—' db 4Bh; 'K' db 00h; db 47h; 'G' db 42h; 'B' db 52h; 'R' db 00h; db BCh; '?' db D6h; '–' db 4Bh; 'K' db 00h; db 47h; 'G' db 42h; 'B' db 52h; 'R' db 00h; db ACh; '¿' db D6h; '–' db 4Bh; 'K' db 00h; db 55h; 'U' db 53h; 'S' db 41h; 'A' db 00h; db A4h; 'ý' db D7h; '—' db 4Bh; 'K' db 00h; db 55h; 'U' db 53h; 'S' db 41h; 'A' db 00h; db 0Ch; db 0Ch; db 1Ah; db 0Ch; db 07h; db 10h; db 36h; '6' db 04h; db 0Ch; db 08h; db 2Dh; '-' db 04h; db 03h; db 04h; db 0Ch; db 10h; db 10h; db 08h; db 1Dh; db 08h; db 00h; db 00h; db 00h; db 00h; db 0Ah; db 04h; db 00h; db 00h; db 30h; '0' db 34h; '4' db 30h; '0' db 61h; 'a' db 00h; db 00h; db 00h; db 00h; db 90h; '?' db D6h; '–' db 4Bh; 'K' db 00h; db 45h; 'E' db 53h; 'S' db 50h; 'P' db 00h; db 88h; '?' db D6h; '–' db 4Bh; 'K' db 00h; db 45h; 'E' db 53h; 'S' db 50h; 'P' db 00h; db 38h; '8' db 35h; '5' db 30h; '0' db 00h; db 00h; db 00h; db 00h; db 00h; db 31h; '1' db 32h; '2' db 35h; '5' db 32h; '2' db 00h; db 00h; db 00h; db 00h; db 0Bh; db 04h; db 00h; db 00h; db 30h; '0' db 34h; '4' db 30h; '0' db 62h; 'b' db 00h; db 00h; db 00h; db 00h; db 80h; '?' db D6h; '–' db 4Bh; 'K' db 00h; db 46h; 'F' db 49h; 'I' db 4Eh; 'N' db 00h; db 78h; 'x' db D6h; '–' db 4Bh; 'K' db 00h; db 46h; 'F' db 49h; 'I' db 4Eh; 'N' db 00h; db 38h; '8' db 35h; '5' db 30h; '0' db 00h; db 00h; db 00h; db 00h; db 00h; db 31h; '1' db 32h; '2' db 35h; '5' db 32h; '2' db 00h; db 00h; db 00h; db 00h; db 0Ch; db 04h; db 00h; db 00h; db 30h; '0' db 34h; '4' db 30h; '0' db 63h; 'c' db 00h; db 00h; db 00h; db 00h; db 70h; 'p' db D6h; '–' db 4Bh; 'K' db 00h; db 46h; 'F' db 52h; 'R' db 41h; 'A' db 00h; db 68h; 'h' db D6h; '–' db 4Bh; 'K' db 00h; db 46h; 'F' db 52h; 'R' db 41h; 'A' db 00h; db 38h; '8' db 35h; '5' db 30h; '0' db 00h; db 00h; db 00h; db 00h; db 00h; db 31h; '1' db 32h; '2' db 35h; '5' db 32h; '2' db 00h; db 00h; db 00h; db 00h; db 0Fh; db 04h; db 00h; db 00h; db 30h; '0' db 34h; '4' db 30h; '0' db 66h; 'f' db 00h; db 00h; db 00h; db 00h; db 5Ch; '\' db D6h; '–' db 4Bh; 'K' db 00h; db 49h; 'I' db 53h; 'S' db 4Ch; 'L' db 00h; db 54h; 'T' db D6h; '–' db 4Bh; 'K' db 00h; db 49h; 'I' db 53h; 'S' db 4Ch; 'L' db 00h; db 38h; '8' db 35h; '5' db 30h; '0' db 00h; db 00h; db 00h; db 00h; db 00h; db 31h; '1' db 32h; '2' db 35h; '5' db 32h; '2' db 00h; db 00h; db 00h; db 00h; db 1Dh; db 04h; db 00h; db 00h; db 30h; '0' db 34h; '4' db 31h; '1' db 64h; 'd' db 00h; db 00h; db 00h; db 00h; db 4Ch; 'L' db D6h; '–' db 4Bh; 'K' db 00h; db 53h; 'S' db 56h; 'V' db 45h; 'E' db 00h; db 44h; 'D' db D6h; '–' db 4Bh; 'K' db 00h; db 53h; 'S' db 57h; 'W' db 45h; 'E' db 00h; db 38h; '8' db 35h; '5' db 30h; '0' db 00h; db 00h; db 00h; db 00h; db 00h; db 31h; '1' db 32h; '2' db 35h; '5' db 32h; '2' db 00h; db 00h; db 00h; db 00h; db 2Dh; '-' db 04h; db 00h; db 00h; db 30h; '0' db 34h; '4' db 32h; '2' db 64h; 'd' db 00h; db 00h; db 00h; db 00h; db 3Ch; '<' db D6h; '–' db 4Bh; 'K' db 00h; db 45h; 'E' db 55h; 'U' db 51h; 'Q' db 00h; db 88h; '?' db D6h; '–' db 4Bh; 'K' db 00h; db 45h; 'E' db 53h; 'S' db 50h; 'P' db 00h; db 38h; '8' db 35h; '5' db 30h; '0' db 00h; db 00h; db 00h; db 00h; db 00h; db 31h; '1' db 32h; '2' db 35h; '5' db 32h; '2' db 00h; db 00h; db 00h; db 00h; db 0Ah; db 08h; db 00h; db 00h; db 30h; '0' db 38h; '8' db 30h; '0' db 61h; 'a' db 00h; db 00h; db 00h; db 00h; db 34h; '4' db D6h; '–' db 4Bh; 'K' db 00h; db 45h; 'E' db 53h; 'S' db 4Dh; 'M' db 00h; db 2Ch; ',' db D6h; '–' db 4Bh; 'K' db 00h; db 4Dh; 'M' db 45h; 'E' db 58h; 'X' db 00h; db 38h; '8' db 35h; '5' db 30h; '0' db 00h; db 00h; db 00h; db 00h; db 00h; db 31h; '1' db 32h; '2' db 35h; '5' db 32h; '2' db 00h; db 00h; db 00h; db 00h; db 0Ch; db 08h; db 00h; db 00h; db 30h; '0' db 38h; '8' db 30h; '0' db 63h; 'c' db 00h; db 00h; db 00h; db 00h; db 70h; 'p' db D6h; '–' db 4Bh; 'K' db 00h; db 46h; 'F' db 52h; 'R' db 42h; 'B' db 00h; db 24h; '$' db D6h; '–' db 4Bh; 'K' db 00h; db 42h; 'B' db 45h; 'E' db 4Ch; 'L' db 00h; db 38h; '8' db 35h; '5' db 30h; '0' db 00h; db 00h; db 00h; db 00h; db 00h; db 31h; '1' db 32h; '2' db 35h; '5' db 32h; '2' db 00h; db 00h; db 00h; db 00h; db 07h; db 0Ch; db 00h; db 00h; db 30h; '0' db 63h; 'c' db 30h; '0' db 37h; '7' db 00h; db 00h; db 00h; db 00h; db 1Ch; db D6h; '–' db 4Bh; 'K' db 00h; db 44h; 'D' db 45h; 'E' db 41h; 'A' db 00h; db 14h; db D6h; '–' db 4Bh; 'K' db 00h; db 41h; 'A' db 55h; 'U' db 54h; 'T' db 00h; db 38h; '8' db 35h; '5' db 30h; '0' db 00h; db 00h; db 00h; db 00h; db 00h; db 31h; '1' db 32h; '2' db 35h; '5' db 32h; '2' db 00h; db 00h; db 00h; db 00h; db 09h; db 0Ch; db 00h; db 00h; db 30h; '0' db 63h; 'c' db 30h; '0' db 39h; '9' db 00h; db 00h; db 00h; db 00h; db 00h; db 76h; 'v' db 4Ch; 'L' db 00h; db 45h; 'E' db 4Eh; 'N' db 41h; 'A' db 00h; db 08h; db D6h; '–' db 4Bh; 'K' db 00h; db 41h; 'A' db 55h; 'U' db 53h; 'S' db 00h; db 38h; '8' db 35h; '5' db 30h; '0' db 00h; db 00h; db 00h; db 00h; db 00h; db 31h; '1' db 32h; '2' db 35h; '5' db 32h; '2' db 00h; db 00h; db 00h; db 00h; db 0Ah; db 0Ch; db 00h; db 00h; db 30h; '0' db 63h; 'c' db 30h; '0' db 61h; 'a' db 00h; db 00h; db 00h; db 00h; db F0h; 'à' db D5h; '•' db 4Bh; 'K' db 00h; db 45h; 'E' db 53h; 'S' db 4Eh; 'N' db 00h; db 88h; '?' db D6h; '–' db 4Bh; 'K' db 00h; db 45h; 'E' db 53h; 'S' db 50h; 'P' db 00h; db 38h; '8' db 35h; '5' db 30h; '0' db 00h; db 00h; db 00h; db 00h; db 00h; db 31h; '1' db 32h; '2' db 35h; '5' db 32h; '2' db 00h; db 00h; db 00h; db 00h; db 0Ch; db 0Ch; db 00h; db 00h; db 30h; '0' db 63h; 'c' db 30h; '0' db 63h; 'c' db 00h; db 00h; db 00h; db 00h; db 70h; 'p' db D6h; '–' db 4Bh; 'K' db 00h; db 46h; 'F' db 52h; 'R' db 43h; 'C' db 00h; db E8h; '¨' db D5h; '•' db 4Bh; 'K' db 00h; db 43h; 'C' db 41h; 'A' db 4Eh; 'N' db 00h; db 38h; '8' db 35h; '5' db 30h; '0' db 00h; db 00h; db 00h; db 00h; db 00h; db 31h; '1' db 32h; '2' db 35h; '5' db 32h; '2' db 00h; db 00h; db 00h; db 00h; db 0Ah; db 10h; db 00h; db 00h; db 31h; '1' db 30h; '0' db 30h; '0' db 61h; 'a' db 00h; db 00h; db 00h; db 00h; db 34h; '4' db D6h; '–' db 4Bh; 'K' db 00h; db 45h; 'E' db 53h; 'S' db 47h; 'G' db 00h; db DCh; 'œ' db D5h; '•' db 4Bh; 'K' db 00h; db 47h; 'G' db 54h; 'T' db 4Dh; 'M' db 00h; db 38h; '8' db 35h; '5' db 30h; '0' db 00h; db 00h; db 00h; db 00h; db 00h; db 31h; '1' db 32h; '2' db 35h; '5' db 32h; '2' db 00h; db 00h; db 00h; db 00h; db 0Ch; db 10h; db 00h; db 00h; db 31h; '1' db 30h; '0' db 30h; '0' db 63h; 'c' db 00h; db 00h; db 00h; db 00h; db 70h; 'p' db D6h; '–' db 4Bh; 'K' db 00h; db 46h; 'F' db 52h; 'R' db 53h; 'S' db 00h; db D0h; '' db D5h; '•' db 4Bh; 'K' db 00h; db 43h; 'C' db 48h; 'H' db 45h; 'E' db 00h; db 38h; '8' db 35h; '5' db 30h; '0' db 00h; db 00h; db 00h; db 00h; db 00h; db 31h; '1' db 32h; '2' db 35h; '5' db 32h; '2' db 00h; db 00h; db 00h; db 00h; db 0Ah; db 14h; db 00h; db 00h; db 31h; '1' db 34h; '4' db 30h; '0' db 61h; 'a' db 00h; db 00h; db 00h; db 00h; db 34h; '4' db D6h; '–' db 4Bh; 'K' db 00h; db 45h; 'E' db 53h; 'S' db 43h; 'C' db 00h; db C4h; '„' db D5h; '•' db 4Bh; 'K' db 00h; db 43h; 'C' db 52h; 'R' db 49h; 'I' db 00h; db 38h; '8' db 35h; '5' db 30h; '0' db 00h; db 00h; db 00h; db 00h; db 00h; db 31h; '1' db 32h; '2' db 35h; '5' db 32h; '2' db 00h; db 00h; db 00h; db 00h; db 0Ch; db 14h; db 00h; db 00h; db 31h; '1' db 34h; '4' db 30h; '0' db 63h; 'c' db 00h; db 00h; db 00h; db 00h; db 70h; 'p' db D6h; '–' db 4Bh; 'K' db 00h; db 46h; 'F' db 52h; 'R' db 4Ch; 'L' db 00h; db B8h; 'ñ' db D5h; '•' db 4Bh; 'K' db 00h; db 4Ch; 'L' db 55h; 'U' db 58h; 'X' db 00h; db 38h; '8' db 35h; '5' db 30h; '0' db 00h; db 00h; db 00h; db 00h; db 00h; db 31h; '1' db 32h; '2' db 35h; '5' db 32h; '2' db 00h; db 00h; db 00h; db 00h; db 0Ah; db 18h; db 00h; db 00h; db 31h; '1' db 38h; '8' db 30h; '0' db 61h; 'a' db 00h; db 00h; db 00h; db 00h; db 34h; '4' db D6h; '–' db 4Bh; 'K' db 00h; db 45h; 'E' db 53h; 'S' db 41h; 'A' db 00h; db B0h; 'ø' db D5h; '•' db 4Bh; 'K' db 00h; db 50h; 'P' db 41h; 'A' db 4Eh; 'N' db 00h; db 38h; '8' db 35h; '5' db 30h; '0' db 00h; db 00h; db 00h; db 00h; db 00h; db 31h; '1' db 32h; '2' db 35h; '5' db 32h; '2' db 00h; db 00h; db 00h; db 00h; db 09h; db 1Ch; db 00h; db 00h; db 31h; '1' db 63h; 'c' db 30h; '0' db 39h; '9' db 00h; db 00h; db 00h; db 00h; db 00h; db 76h; 'v' db 4Ch; 'L' db 00h; db 45h; 'E' db 4Eh; 'N' db 53h; 'S' db 00h; db A0h; 'ÿ' db D5h; '•' db 4Bh; 'K' db 00h; db 5Ah; 'Z' db 41h; 'A' db 46h; 'F' db 00h; db 34h; '4' db 33h; '3' db 37h; '7' db 00h; db 00h; db 00h; db 00h; db 00h; db 31h; '1' db 32h; '2' db 35h; '5' db 32h; '2' db 00h; db 00h; db 00h; db 00h; db 0Ah; db 1Ch; db 00h; db 00h; db 31h; '1' db 63h; 'c' db 30h; '0' db 61h; 'a' db 00h; db 00h; db 00h; db 00h; db 34h; '4' db D6h; '–' db 4Bh; 'K' db 00h; db 45h; 'E' db 53h; 'S' db 44h; 'D' db 00h; db 8Ch; '?' db D5h; '•' db 4Bh; 'K' db 00h; db 44h; 'D' db 4Fh; 'O' db 4Dh; 'M' db 00h; db 38h; '8' db 35h; '5' db 30h; '0' db 00h; db 00h; db 00h; db 00h; db 00h; db 31h; '1' db 32h; '2' db 35h; '5' db 32h; '2' db 00h; db 00h; db 00h; db 00h; db 0Ah; db 20h; ' ' db 00h; db 00h; db 32h; '2' db 30h; '0' db 30h; '0' db 61h; 'a' db 00h; db 00h; db 00h; db 00h; db 34h; '4' db D6h; '–' db 4Bh; 'K' db 00h; db 45h; 'E' db 53h; 'S' db 56h; 'V' db 00h; db 80h; '?' db D5h; '•' db 4Bh; 'K' db 00h; db 56h; 'V' db 45h; 'E' db 4Eh; 'N' db 00h; db 38h; '8' db 35h; '5' db 30h; '0' db 00h; db 00h; db 00h; db 00h; db 00h; db 31h; '1' db 32h; '2' db 35h; '5' db 32h; '2' db 00h; db 00h; db 00h; db 00h; db 0Ah; db 24h; '$' db 00h; db 00h; db 32h; '2' db 34h; '4' db 30h; '0' db 61h; 'a' db 00h; db 00h; db 00h; db 00h; db 34h; '4' db D6h; '–' db 4Bh; 'K' db 00h; db 45h; 'E' db 53h; 'S' db 4Fh; 'O' db 00h; db 74h; 't' db D5h; '•' db 4Bh; 'K' db 00h; db 43h; 'C' db 4Fh; 'O' db 4Ch; 'L' db 00h; db 38h; '8' db 35h; '5' db 30h; '0' db 00h; db 00h; db 00h; db 00h; db 00h; db 31h; '1' db 32h; '2' db 35h; '5' db 32h; '2' db 00h; db 00h; db 00h; db 00h; db 0Ah; db 28h; '(' db 00h; db 00h; db 32h; '2' db 38h; '8' db 30h; '0' db 61h; 'a' db 00h; db 00h; db 00h; db 00h; db 34h; '4' db D6h; '–' db 4Bh; 'K' db 00h; db 45h; 'E' db 53h; 'S' db 52h; 'R' db 00h; db 6Ch; 'l' db D5h; '•' db 4Bh; 'K' db 00h; db 50h; 'P' db 45h; 'E' db 52h; 'R' db 00h; db 38h; '8' db 35h; '5' db 30h; '0' db 00h; db 00h; db 00h; db 00h; db 00h; db 31h; '1' db 32h; '2' db 35h; '5' db 32h; '2' db 00h; db 00h; db 00h; db 00h; db 0Ah; db 2Ch; ',' db 00h; db 00h; db 32h; '2' db 63h; 'c' db 30h; '0' db 61h; 'a' db 00h; db 00h; db 00h; db 00h; db 34h; '4' db D6h; '–' db 4Bh; 'K' db 00h; db 45h; 'E' db 53h; 'S' db 53h; 'S' db 00h; db 60h; '`' db D5h; '•' db 4Bh; 'K' db 00h; db 41h; 'A' db 52h; 'R' db 47h; 'G' db 00h; db 38h; '8' db 35h; '5' db 30h; '0' db 00h; db 00h; db 00h; db 00h; db 00h; db 31h; '1' db 32h; '2' db 35h; '5' db 32h; '2' db 00h; db 00h; db 00h; db 00h; db 0Ah; db 30h; '0' db 00h; db 00h; db 33h; '3' db 30h; '0' db 30h; '0' db 61h; 'a' db 00h; db 00h; db 00h; db 00h; db 34h; '4' db D6h; '–' db 4Bh; 'K' db 00h; db 45h; 'E' db 53h; 'S' db 46h; 'F' db 00h; db 58h; 'X' db D5h; '•' db 4Bh; 'K' db 00h; db 45h; 'E' db 43h; 'C' db 55h; 'U' db 00h; db 38h; '8' db 35h; '5' db 30h; '0' db 00h; db 00h; db 00h; db 00h; db 00h; db 31h; '1' db 32h; '2' db 35h; '5' db 32h; '2' db 00h; db 00h; db 00h; db 00h; db 0Ah; db 34h; '4' db 00h; db 00h; db 33h; '3' db 34h; '4' db 30h; '0' db 61h; 'a' db 00h; db 00h; db 00h; db 00h; db 34h; '4' db D6h; '–' db 4Bh; 'K' db 00h; db 45h; 'E' db 53h; 'S' db 4Ch; 'L' db 00h; db 50h; 'P' db D5h; '•' db 4Bh; 'K' db 00h; db 43h; 'C' db 48h; 'H' db 4Ch; 'L' db 00h; db 38h; '8' db 35h; '5' db 30h; '0' db 00h; db 00h; db 00h; db 00h; db 00h; db 31h; '1' db 32h; '2' db 35h; '5' db 32h; '2' db 00h; db 00h; db 00h; db 00h; db 0Ah; db 38h; '8' db 00h; db 00h; db 33h; '3' db 38h; '8' db 30h; '0' db 61h; 'a' db 00h; db 00h; db 00h; db 00h; db 34h; '4' db D6h; '–' db 4Bh; 'K' db 00h; db 45h; 'E' db 53h; 'S' db 59h; 'Y' db 00h; db 48h; 'H' db D5h; '•' db 4Bh; 'K' db 00h; db 55h; 'U' db 52h; 'R' db 59h; 'Y' db 00h; db 38h; '8' db 35h; '5' db 30h; '0' db 00h; db 00h; db 00h; db 00h; db 00h; db 31h; '1' db 32h; '2' db 35h; '5' db 32h; '2' db 00h; db 00h; db 00h; db 00h; db 0Ah; db 3Ch; '<' db 00h; db 00h; db 33h; '3' db 63h; 'c' db 30h; '0' db 61h; 'a' db 00h; db 00h; db 00h; db 00h; db 34h; '4' db D6h; '–' db 4Bh; 'K' db 00h; db 45h; 'E' db 53h; 'S' db 5Ah; 'Z' db 00h; db 3Ch; '<' db D5h; '•' db 4Bh; 'K' db 00h; db 50h; 'P' db 52h; 'R' db 59h; 'Y' db 00h; db 38h; '8' db 35h; '5' db 30h; '0' db 00h; db 00h; db 00h; db 00h; db 00h; db 31h; '1' db 32h; '2' db 35h; '5' db 32h; '2' db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L004D4370: db 00h; db 04h; db 00h; db 00h; db 01h; db FCh; 'ì' db FFh; 'ï' db FFh; 'ï' db 35h; '5' db 00h; db 00h; db 00h; db 0Bh; db 00h; db 00h; db 00h; db 40h; '@' db 00h; db 00h; db 00h; db FFh; 'ï' db 03h; db 00h; db 00h; L004D4388: db 80h; '?' db 00h; db 00h; db 00h; db 81h; '?' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 18h; db 00h; db 00h; db 00h; db 08h; db 00h; db 00h; db 00h; db 20h; ' ' db 00h; db 00h; db 00h; db 7Fh; '' db 00h; db 00h; db 00h; db 02h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L004D43A8: dd 00007080h L004D43AC: dd 00000001h L004D43B0: dd FFFFF1F0h db 00h; db 00h; db 00h; db 00h; L004D43B8: dd L00545350 db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L004D43F8: dd L00544450 db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L004D4438: dd L004D43B8 L004D443C: dd L004D43F8 L004D4440: dd FFFFFFFFh L004D4444: dd 00000000h L004D4448: dd 00000000h db 00h; db 00h; db 00h; db 00h; L004D4450: dd FFFFFFFFh L004D4454: dd 00000000h L004D4458: dd 00000000h L004D445C: dd 00000000h L004D4460: db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 1Eh; db 00h; db 00h; db 00h; db 3Bh; ';' db 00h; db 00h; db 00h; db 5Ah; 'Z' db 00h; db 00h; db 00h; db 78h; 'x' db 00h; db 00h; db 00h; db 97h; '-' db 00h; db 00h; db 00h; db B5h; 'ç' db 00h; db 00h; db 00h; db D4h; '”' db 00h; db 00h; db 00h; db F3h; 'ã' db 00h; db 00h; db 00h; db 11h; db 01h; db 00h; db 00h; db 30h; '0' db 01h; db 00h; db 00h; db 4Eh; 'N' db 01h; db 00h; db 00h; db 6Dh; 'm' db 01h; db 00h; db 00h; L004D4494: dd 00000000h L004D4498: db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 1Eh; db 00h; db 00h; db 00h; db 3Ah; ':' db 00h; db 00h; db 00h; db 59h; 'Y' db 00h; db 00h; db 00h; db 77h; 'w' db 00h; db 00h; db 00h; db 96h; '-' db 00h; db 00h; db 00h; db B4h; '?' db 00h; db 00h; db 00h; db D3h; '“' db 00h; db 00h; db 00h; db F2h; 'â' db 00h; db 00h; db 00h; db 10h; db 01h; db 00h; db 00h; db 2Fh; '/' db 01h; db 00h; db 00h; db 4Dh; 'M' db 01h; db 00h; db 00h; db 6Ch; 'l' db 01h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L004D44D0: dd L004BDD58 dd L004BDD54 dd L004BDD50 dd L004BDD4C dd L004BDD48 dd L004BDD44 dd L004BDD40 dd SSZ004BDD38_Sunday dd SSZ004BDD30_Monday dd SSZ004BDD28_Tuesday dd SSZ004BDD1C_Wednesday dd SSZ004BDD10_Thursday dd SSZ004BDD08_Friday dd SSZ004BDCFC_Saturday dd L004BDCF8 dd L004BDCF4 dd L004BDCF0 dd L004BDCEC dd L004BDCE8 dd L004BDCE4 dd L004BDCE0 dd L004BDCDC dd L004BDCD8 dd L004BDCD4 dd L004BDCD0 dd L004BDCCC dd SSZ004BDCC4_January dd SSZ004BDCB8_February dd SSZ004BDCB0_March dd SSZ004BDCA8_April dd L004BDCE8 dd SSZ004BDCA0_June dd SSZ004BDC98_July dd SSZ004BDC90_August dd SSZ004BDC84_September dd SSZ004BDC7C_October dd SSZ004BDC70_November dd SSZ004BDC64_December dd L004BDC60 dd L004BDC5C dd SSZ004BDC54_M_d_yy dd SSZ004BDC40_dddd__MMMM_dd__yyyy dd SSZ004BDC38_H_mm_ss L004D457C: dd L004D44D0 L004D4580: db 2Eh; '.' db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L004D4588: dd L004D4580 L004D458C: dd L007B8B88 L004D4590: dd L007B8B88 dd L007B8B88 dd L007B8B88 dd L007B8B88 dd L007B8B88 dd L007B8B88 dd L007B8B88 dd L007B8B88 db 7Fh; '' db 7Fh; '' db 7Fh; '' db 7Fh; '' db 7Fh; '' db 7Fh; '' db 7Fh; '' db 7Fh; '' L004D45B8: dd L004D4588 db 00h; db 00h; db 00h; db 00h; L004D45C0: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db A0h; 'ÿ' db 02h; db 40h; '@' db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db C8h; 'ˆ' db 05h; db 40h; '@' db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db FAh; 'ê' db 08h; db 40h; '@' db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 40h; '@' db 9Ch; '?' db 0Ch; db 40h; '@' db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 50h; 'P' db C3h; 'ƒ' db 0Fh; db 40h; '@' db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 24h; '$' db F4h; 'ä' db 12h; db 40h; '@' db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 80h; '?' db 96h; '-' db 98h; '?' db 16h; db 40h; '@' db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 20h; ' ' db BCh; '?' db BEh; '?' db 19h; db 40h; '@' db 00h; db 00h; db 00h; db 00h; db 00h; db 04h; db BFh; 'õ' db C9h; '‰' db 1Bh; db 8Eh; '?' db 34h; '4' db 40h; '@' db 00h; db 00h; db 00h; db A1h; 'ö' db EDh; '­' db CCh; 'Œ' db CEh; 'Ž' db 1Bh; db C2h; '‚' db D3h; '“' db 4Eh; 'N' db 40h; '@' db 20h; ' ' db F0h; 'à' db 9Eh; '?' db B5h; 'ç' db 70h; 'p' db 2Bh; '+' db A8h; 'ð' db ADh; '-' db C5h; '…' db 9Dh; '?' db 69h; 'i' db 40h; '@' db D0h; '' db 5Dh; ']' db FDh; 'í' db 25h; '%' db E5h; '¥' db 1Ah; db 8Eh; '?' db 4Fh; 'O' db 19h; db EBh; '«' db 83h; '?' db 40h; '@' db 71h; 'q' db 96h; '-' db D7h; '—' db 95h; db 43h; 'C' db 0Eh; db 05h; db 8Dh; '?' db 29h; ')' db AFh; 'ô' db 9Eh; '?' db 40h; '@' db F9h; 'é' db BFh; 'õ' db A0h; 'ÿ' db 44h; 'D' db EDh; '­' db 81h; '?' db 12h; db 8Fh; '?' db 81h; '?' db 82h; ''' db B9h; 'ü' db 40h; '@' db BFh; 'õ' db 3Ch; '<' db D5h; '•' db A6h; '³' db CFh; '' db FFh; 'ï' db 49h; 'I' db 1Fh; db 78h; 'x' db C2h; '‚' db D3h; '“' db 40h; '@' db 6Fh; 'o' db C6h; '†' db E0h; ' ' db 8Ch; '?' db E9h; '©' db 80h; '?' db C9h; '‰' db 47h; 'G' db BAh; 'ó' db 93h; '"' db A8h; 'ð' db 41h; 'A' db BCh; '?' db 85h; ':' db 6Bh; 'k' db 55h; 'U' db 27h; ''' db 39h; '9' db 8Dh; '?' db F7h; 'ç' db 70h; 'p' db E0h; ' ' db 7Ch; '|' db 42h; 'B' db BCh; '?' db DDh; '' db 8Eh; '?' db DEh; 'ž' db F9h; 'é' db 9Dh; '?' db FBh; 'ë' db EBh; '«' db 7Eh; '~' db AAh; 'ò' db 51h; 'Q' db 43h; 'C' db A1h; 'ö' db E6h; '¦' db 76h; 'v' db E3h; '£' db CCh; 'Œ' db F2h; 'â' db 29h; ')' db 2Fh; '/' db 84h; '"' db 81h; '?' db 26h; '&' db 44h; 'D' db 28h; '(' db 10h; db 17h; db AAh; 'ò' db F8h; 'è' db AEh; 'R' db 10h; db E3h; '£' db C5h; '…' db C4h; '„' db FAh; 'ê' db 44h; 'D' db EBh; '«' db A7h; db D4h; '”' db F3h; 'ã' db F7h; 'ç' db EBh; '«' db E1h; '¡' db 4Ah; 'J' db 7Ah; 'z' db 95h; db CFh; '' db 45h; 'E' db 65h; 'e' db CCh; 'Œ' db C7h; '‡' db 91h; ''' db 0Eh; db A6h; '³' db AEh; 'R' db A0h; 'ÿ' db 19h; db E3h; '£' db A3h; '?' db 46h; 'F' db 0Dh; db 65h; 'e' db 17h; db 0Ch; db 75h; 'u' db 81h; '?' db 86h; 'Å' db 75h; 'u' db 76h; 'v' db C9h; '‰' db 48h; 'H' db 4Dh; 'M' db 58h; 'X' db 42h; 'B' db E4h; '¤' db A7h; db 93h; '"' db 39h; '9' db 3Bh; ';' db 35h; '5' db B8h; 'ñ' db B2h; 'I' db EDh; '­' db 53h; 'S' db 4Dh; 'M' db A7h; db E5h; '¥' db 5Dh; ']' db 3Dh; '=' db C5h; '…' db 5Dh; ']' db 3Bh; ';' db 8Bh; '<' db 9Eh; '?' db 92h; ''' db 5Ah; 'Z' db FFh; 'ï' db 5Dh; ']' db A6h; '³' db F0h; 'à' db A1h; 'ö' db 20h; ' ' db C0h; '€' db 54h; 'T' db A5h; '?' db 8Ch; '?' db 37h; '7' db 61h; 'a' db D1h; '‘' db FDh; 'í' db 8Bh; '<' db 5Ah; 'Z' db 8Bh; '<' db D8h; '˜' db 25h; '%' db 5Dh; ']' db 89h; '%' db F9h; 'é' db DBh; '›' db 67h; 'g' db AAh; 'ò' db 95h; db F8h; 'è' db F3h; 'ã' db 27h; ''' db BFh; 'õ' db A2h; '÷' db C8h; 'ˆ' db 5Dh; ']' db DDh; '' db 80h; '?' db 6Eh; 'n' db 4Ch; 'L' db C9h; '‰' db 9Bh; '>' db 97h; '-' db 20h; ' ' db 8Ah; '?' db 02h; db 52h; 'R' db 60h; '`' db C4h; '„' db 25h; '%' db 75h; 'u' db 00h; db 00h; db 00h; db 00h; L004D4720: db CDh; '' db CCh; 'Œ' db CDh; '' db CCh; 'Œ' db CCh; 'Œ' db CCh; 'Œ' db CCh; 'Œ' db CCh; 'Œ' db CCh; 'Œ' db CCh; 'Œ' db FBh; 'ë' db 3Fh; '?' db 71h; 'q' db 3Dh; '=' db 0Ah; db D7h; '—' db A3h; '?' db 70h; 'p' db 3Dh; '=' db 0Ah; db D7h; '—' db A3h; '?' db F8h; 'è' db 3Fh; '?' db 5Ah; 'Z' db 64h; 'd' db 3Bh; ';' db DFh; 'Ÿ' db 4Fh; 'O' db 8Dh; '?' db 97h; '-' db 6Eh; 'n' db 12h; db 83h; '?' db F5h; 'å' db 3Fh; '?' db C3h; 'ƒ' db D3h; '“' db 2Ch; ',' db 65h; 'e' db 19h; db E2h; '¢' db 58h; 'X' db 17h; db B7h; 'ú' db D1h; '‘' db F1h; 'á' db 3Fh; '?' db D0h; '' db 0Fh; db 23h; '#' db 84h; '"' db 47h; 'G' db 1Bh; db 47h; 'G' db ACh; '¿' db C5h; '…' db A7h; db EEh; '®' db 3Fh; '?' db 40h; '@' db A6h; '³' db B6h; db 69h; 'i' db 6Ch; 'l' db AFh; 'ô' db 05h; db BDh; '?' db 37h; '7' db 86h; 'Å' db EBh; '«' db 3Fh; '?' db 33h; '3' db 3Dh; '=' db BCh; '?' db 42h; 'B' db 7Ah; 'z' db E5h; '¥' db D5h; '•' db 94h; '"' db BFh; 'õ' db D6h; '–' db E7h; '§' db 3Fh; '?' db C2h; '‚' db FDh; 'í' db FDh; 'í' db CEh; 'Ž' db 61h; 'a' db 84h; '"' db 11h; db 77h; 'w' db CCh; 'Œ' db ABh; '<' db E4h; '¤' db 3Fh; '?' db 2Fh; '/' db 4Ch; 'L' db 5Bh; '[' db E1h; '¡' db 4Dh; 'M' db C4h; '„' db BEh; '?' db 94h; '"' db 95h; db E6h; '¦' db C9h; '‰' db 3Fh; '?' db 92h; ''' db C4h; '„' db 53h; 'S' db 3Bh; ';' db 75h; 'u' db 44h; 'D' db CDh; '' db 14h; db BEh; '?' db 9Ah; '?' db AFh; 'ô' db 3Fh; '?' db DEh; 'ž' db 67h; 'g' db BAh; 'ó' db 94h; '"' db 39h; '9' db 45h; 'E' db ADh; '-' db 1Eh; db B1h; '+' db CFh; '' db 94h; '"' db 3Fh; '?' db 24h; '$' db 23h; '#' db C6h; '†' db E2h; '¢' db BCh; '?' db BAh; 'ó' db 3Bh; ';' db 31h; '1' db 61h; 'a' db 8Bh; '<' db 7Ah; 'z' db 3Fh; '?' db 61h; 'a' db 55h; 'U' db 59h; 'Y' db C1h; '' db 7Eh; '~' db B1h; '+' db 53h; 'S' db 7Ch; '|' db 12h; db BBh; '>' db 5Fh; '_' db 3Fh; '?' db D7h; '—' db EEh; '®' db 2Fh; '/' db 8Dh; '?' db 06h; db BEh; '?' db 92h; ''' db 85h; ':' db 15h; db FBh; 'ë' db 44h; 'D' db 3Fh; '?' db 24h; '$' db 3Fh; '?' db A5h; '?' db E9h; '©' db 39h; '9' db A5h; '?' db 27h; ''' db EAh; 'ª' db 7Fh; '' db A8h; 'ð' db 2Ah; '*' db 3Fh; '?' db 7Dh; '}' db ACh; '¿' db A1h; 'ö' db E4h; '¤' db BCh; '?' db 64h; 'd' db 7Ch; '|' db 46h; 'F' db D0h; '' db DDh; '' db 55h; 'U' db 3Eh; '>' db 63h; 'c' db 7Bh; '{' db 06h; db CCh; 'Œ' db 23h; '#' db 54h; 'T' db 77h; 'w' db 83h; '?' db FFh; 'ï' db 91h; ''' db 81h; '?' db 3Dh; '=' db 91h; ''' db FAh; 'ê' db 3Ah; ':' db 19h; db 7Ah; 'z' db 63h; 'c' db 25h; '%' db 43h; 'C' db 31h; '1' db C0h; '€' db ACh; '¿' db 3Ch; '<' db 21h; '!' db 89h; '%' db D1h; '‘' db 38h; '8' db 82h; ''' db 47h; 'G' db 97h; '-' db B8h; 'ñ' db 00h; db FDh; 'í' db D7h; '—' db 3Bh; ';' db DCh; 'œ' db 88h; '?' db 58h; 'X' db 08h; db 1Bh; db B1h; '+' db E8h; '¨' db E3h; '£' db 86h; 'Å' db A6h; '³' db 03h; db 3Bh; ';' db C6h; '†' db 84h; '"' db 45h; 'E' db 42h; 'B' db 07h; db B6h; db 99h; 'T' db 75h; 'u' db 37h; '7' db DBh; '›' db 2Eh; '.' db 3Ah; ':' db 33h; '3' db 71h; 'q' db 1Ch; db D2h; '’' db 23h; '#' db DBh; '›' db 32h; '2' db EEh; '®' db 49h; 'I' db 90h; '?' db 5Ah; 'Z' db 39h; '9' db A6h; '³' db 87h; 'Ø' db BEh; '?' db C0h; '€' db 57h; 'W' db DAh; 'š' db A5h; '?' db 82h; ''' db A6h; '³' db A2h; '÷' db B5h; 'ç' db 32h; '2' db E2h; '¢' db 68h; 'h' db B2h; 'I' db 11h; db A7h; db 52h; 'R' db 9Fh; '?' db 44h; 'D' db 59h; 'Y' db B7h; 'ú' db 10h; db 2Ch; ',' db 25h; '%' db 49h; 'I' db E4h; '¤' db 2Dh; '-' db 36h; '6' db 34h; '4' db 4Fh; 'O' db 53h; 'S' db AEh; 'R' db CEh; 'Ž' db 6Bh; 'k' db 25h; '%' db 8Fh; '?' db 59h; 'Y' db 04h; db A4h; 'ý' db C0h; '€' db DEh; 'ž' db C2h; '‚' db 7Dh; '}' db FBh; 'ë' db E8h; '¨' db C6h; '†' db 1Eh; db 9Eh; '?' db E7h; '§' db 88h; '?' db 5Ah; 'Z' db 57h; 'W' db 91h; ''' db 3Ch; '<' db BFh; 'õ' db 50h; 'P' db 83h; '?' db 22h; '"' db 18h; db 4Eh; 'N' db 4Bh; 'K' db 65h; 'e' db 62h; 'b' db FDh; 'í' db 83h; '?' db 8Fh; '?' db AFh; 'ô' db 06h; db 94h; '"' db 7Dh; '}' db 11h; db E4h; '¤' db 2Dh; '-' db DEh; 'ž' db 9Fh; '?' db CEh; 'Ž' db D2h; '’' db C8h; 'ˆ' db 04h; db DDh; '' db A6h; '³' db D8h; '˜' db 0Ah; db 90h; '?' db 48h; 'H' db 4Dh; 'M' db 00h; db 84h; '"' db 48h; 'H' db 4Dh; 'M' db 00h; db 52h; 'R' db 47h; 'G' db 42h; 'B' db 31h; '1' db 35h; '5' db 33h; '3' db 32h; '2' db 34h; '4' db 35h; '5' db 34h; '4' db 36h; '6' db 00h; db 50h; 'P' db 6Ch; 'l' db 61h; 'a' db 79h; 'y' db 20h; ' ' db 75h; 'u' db 56h; 'V' db 2Fh; '/' db 75h; 'u' db 56h; 'V' db 32h; '2' db 20h; ' ' db 56h; 'V' db 65h; 'e' db 72h; 'r' db 73h; 's' db 69h; 'i' db 6Fh; 'o' db 6Eh; 'n' db 20h; ' ' db 31h; '1' db 2Eh; '.' db 34h; '4' db 35h; '5' db 2Ch; ',' db 20h; ' ' db 4Dh; 'M' db 61h; 'a' db 72h; 'r' db 74h; 't' db 69h; 'i' db 6Eh; 'n' db 20h; ' ' db 47h; 'G' db 72h; 'r' db 69h; 'i' db 66h; 'f' db 66h; 'f' db 69h; 'i' db 74h; 't' db 68h; 'h' db 73h; 's' db 2Ch; ',' db 20h; ' ' db 45h; 'E' db 6Ch; 'l' db 65h; 'e' db 63h; 'c' db 74h; 't' db 72h; 'r' db 6Fh; 'o' db 6Eh; 'n' db 69h; 'i' db 63h; 'c' db 20h; ' ' db 41h; 'A' db 72h; 'r' db 74h; 't' db 73h; 's' db 20h; ' ' db 55h; 'U' db 4Bh; 'K' db 20h; ' ' db 31h; '1' db 39h; '9' db 39h; '9' db 37h; '7' db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 01h; db 00h; db 00h; db 00h; db 03h; db 00h; db 00h; db 00h; db 04h; db 00h; db 00h; db 00h; db 07h; db 00h; db 00h; db 00h; db 08h; db 00h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 0Bh; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FDh; 'í' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FCh; 'ì' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F9h; 'é' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F8h; 'è' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F6h; 'æ' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F5h; 'å' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 01h; db 00h; db 00h; db 00h; db 03h; db 00h; db 00h; db 00h; db 05h; db 00h; db 00h; db 00h; db 07h; db 00h; db 00h; db 00h; db 09h; db 00h; db 00h; db 00h; db 0Bh; db 00h; db 00h; db 00h; db 0Dh; db 00h; db 00h; db 00h; db 0Fh; db 00h; db 00h; db 00h; db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FDh; 'í' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FBh; 'ë' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F9h; 'é' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F7h; 'ç' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F5h; 'å' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F3h; 'ã' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F1h; 'á' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 01h; db 00h; db 00h; db 00h; db 03h; db 00h; db 00h; db 00h; db 05h; db 00h; db 00h; db 00h; db 07h; db 00h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 0Ch; db 00h; db 00h; db 00h; db 0Eh; db 00h; db 00h; db 00h; db 10h; db 00h; db 00h; db 00h; db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FDh; 'í' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FBh; 'ë' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F9h; 'é' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F6h; 'æ' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F4h; 'ä' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F2h; 'â' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F0h; 'à' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 01h; db 00h; db 00h; db 00h; db 03h; db 00h; db 00h; db 00h; db 06h; db 00h; db 00h; db 00h; db 08h; db 00h; db 00h; db 00h; db 0Bh; db 00h; db 00h; db 00h; db 0Dh; db 00h; db 00h; db 00h; db 10h; db 00h; db 00h; db 00h; db 12h; db 00h; db 00h; db 00h; db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FDh; 'í' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FAh; 'ê' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F8h; 'è' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F5h; 'å' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F3h; 'ã' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F0h; 'à' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db EEh; '®' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 01h; db 00h; db 00h; db 00h; db 03h; db 00h; db 00h; db 00h; db 06h; db 00h; db 00h; db 00h; db 08h; db 00h; db 00h; db 00h; db 0Ch; db 00h; db 00h; db 00h; db 0Eh; db 00h; db 00h; db 00h; db 11h; db 00h; db 00h; db 00h; db 13h; db 00h; db 00h; db 00h; db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FDh; 'í' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FAh; 'ê' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F8h; 'è' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F4h; 'ä' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F2h; 'â' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db EFh; '¯' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db EDh; '­' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 01h; db 00h; db 00h; db 00h; db 04h; db 00h; db 00h; db 00h; db 07h; db 00h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 0Dh; db 00h; db 00h; db 00h; db 10h; db 00h; db 00h; db 00h; db 13h; db 00h; db 00h; db 00h; db 16h; db 00h; db 00h; db 00h; db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FCh; 'ì' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F9h; 'é' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F6h; 'æ' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F3h; 'ã' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F0h; 'à' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db EDh; '­' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db EAh; 'ª' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 01h; db 00h; db 00h; db 00h; db 04h; db 00h; db 00h; db 00h; db 07h; db 00h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 0Eh; db 00h; db 00h; db 00h; db 11h; db 00h; db 00h; db 00h; db 14h; db 00h; db 00h; db 00h; db 17h; db 00h; db 00h; db 00h; db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FCh; 'ì' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F9h; 'é' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F6h; 'æ' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F2h; 'â' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db EFh; '¯' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db ECh; '¬' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db E9h; '©' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 01h; db 00h; db 00h; db 00h; db 04h; db 00h; db 00h; db 00h; db 08h; db 00h; db 00h; db 00h; db 0Bh; db 00h; db 00h; db 00h; db 0Fh; db 00h; db 00h; db 00h; db 12h; db 00h; db 00h; db 00h; db 16h; db 00h; db 00h; db 00h; db 19h; db 00h; db 00h; db 00h; db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FCh; 'ì' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F8h; 'è' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F5h; 'å' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F1h; 'á' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db EEh; '®' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db EAh; 'ª' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db E7h; '§' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 02h; db 00h; db 00h; db 00h; db 06h; db 00h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 0Eh; db 00h; db 00h; db 00h; db 12h; db 00h; db 00h; db 00h; db 16h; db 00h; db 00h; db 00h; db 1Ah; db 00h; db 00h; db 00h; db 1Eh; db 00h; db 00h; db 00h; db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FAh; 'ê' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F6h; 'æ' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F2h; 'â' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db EEh; '®' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db EAh; 'ª' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db E6h; '¦' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db E2h; '¢' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 02h; db 00h; db 00h; db 00h; db 06h; db 00h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 0Eh; db 00h; db 00h; db 00h; db 13h; db 00h; db 00h; db 00h; db 17h; db 00h; db 00h; db 00h; db 1Bh; db 00h; db 00h; db 00h; db 1Fh; db 00h; db 00h; db 00h; db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FAh; 'ê' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F6h; 'æ' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F2h; 'â' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db EDh; '­' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db E9h; '©' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db E5h; '¥' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db E1h; '¡' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 02h; db 00h; db 00h; db 00h; db 06h; db 00h; db 00h; db 00h; db 0Bh; db 00h; db 00h; db 00h; db 0Fh; db 00h; db 00h; db 00h; db 15h; db 00h; db 00h; db 00h; db 19h; db 00h; db 00h; db 00h; db 1Eh; db 00h; db 00h; db 00h; db 22h; '"' db 00h; db 00h; db 00h; db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FAh; 'ê' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F5h; 'å' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F1h; 'á' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db EBh; '«' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db E7h; '§' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db E2h; '¢' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db DEh; 'ž' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 02h; db 00h; db 00h; db 00h; db 07h; db 00h; db 00h; db 00h; db 0Ch; db 00h; db 00h; db 00h; db 11h; db 00h; db 00h; db 00h; db 17h; db 00h; db 00h; db 00h; db 1Ch; db 00h; db 00h; db 00h; db 21h; '!' db 00h; db 00h; db 00h; db 26h; '&' db 00h; db 00h; db 00h; db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F9h; 'é' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F4h; 'ä' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db EFh; '¯' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db E9h; '©' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db E4h; '¤' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db DFh; 'Ÿ' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db DAh; 'š' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 02h; db 00h; db 00h; db 00h; db 07h; db 00h; db 00h; db 00h; db 0Dh; db 00h; db 00h; db 00h; db 12h; db 00h; db 00h; db 00h; db 19h; db 00h; db 00h; db 00h; db 1Eh; db 00h; db 00h; db 00h; db 24h; '$' db 00h; db 00h; db 00h; db 29h; ')' db 00h; db 00h; db 00h; db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F9h; 'é' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F3h; 'ã' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db EEh; '®' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db E7h; '§' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db E2h; '¢' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db DCh; 'œ' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db D7h; '—' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 03h; db 00h; db 00h; db 00h; db 09h; db 00h; db 00h; db 00h; db 0Fh; db 00h; db 00h; db 00h; db 15h; db 00h; db 00h; db 00h; db 1Ch; db 00h; db 00h; db 00h; db 22h; '"' db 00h; db 00h; db 00h; db 28h; '(' db 00h; db 00h; db 00h; db 2Eh; '.' db 00h; db 00h; db 00h; db FDh; 'í' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F7h; 'ç' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F1h; 'á' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db EBh; '«' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db E4h; '¤' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db DEh; 'ž' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db D8h; '˜' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db D2h; '’' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 03h; db 00h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 11h; db 00h; db 00h; db 00h; db 18h; db 00h; db 00h; db 00h; db 1Fh; db 00h; db 00h; db 00h; db 26h; '&' db 00h; db 00h; db 00h; db 2Dh; '-' db 00h; db 00h; db 00h; db 34h; '4' db 00h; db 00h; db 00h; db FDh; 'í' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F6h; 'æ' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db EFh; '¯' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db E8h; '¨' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db E1h; '¡' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db DAh; 'š' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db D3h; '“' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db CCh; 'Œ' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 03h; db 00h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 12h; db 00h; db 00h; db 00h; db 19h; db 00h; db 00h; db 00h; db 22h; '"' db 00h; db 00h; db 00h; db 29h; ')' db 00h; db 00h; db 00h; db 31h; '1' db 00h; db 00h; db 00h; db 38h; '8' db 00h; db 00h; db 00h; db FDh; 'í' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F6h; 'æ' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db EEh; '®' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db E7h; '§' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db DEh; 'ž' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db D7h; '—' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db CFh; '' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db C8h; 'ˆ' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 04h; db 00h; db 00h; db 00h; db 0Ch; db 00h; db 00h; db 00h; db 15h; db 00h; db 00h; db 00h; db 1Dh; db 00h; db 00h; db 00h; db 26h; '&' db 00h; db 00h; db 00h; db 2Eh; '.' db 00h; db 00h; db 00h; db 37h; '7' db 00h; db 00h; db 00h; db 3Fh; '?' db 00h; db 00h; db 00h; db FCh; 'ì' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F4h; 'ä' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db EBh; '«' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db E3h; '£' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db DAh; 'š' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db D2h; '’' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db C9h; '‰' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db C1h; '' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 04h; db 00h; db 00h; db 00h; db 0Dh; db 00h; db 00h; db 00h; db 16h; db 00h; db 00h; db 00h; db 1Fh; db 00h; db 00h; db 00h; db 29h; ')' db 00h; db 00h; db 00h; db 32h; '2' db 00h; db 00h; db 00h; db 3Bh; ';' db 00h; db 00h; db 00h; db 44h; 'D' db 00h; db 00h; db 00h; db FCh; 'ì' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F3h; 'ã' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db EAh; 'ª' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db E1h; '¡' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db D7h; '—' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db CEh; 'Ž' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db C5h; '…' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db BCh; '?' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 05h; db 00h; db 00h; db 00h; db 0Fh; db 00h; db 00h; db 00h; db 19h; db 00h; db 00h; db 00h; db 23h; '#' db 00h; db 00h; db 00h; db 2Eh; '.' db 00h; db 00h; db 00h; db 38h; '8' db 00h; db 00h; db 00h; db 42h; 'B' db 00h; db 00h; db 00h; db 4Ch; 'L' db 00h; db 00h; db 00h; db FBh; 'ë' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F1h; 'á' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db E7h; '§' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db DDh; '' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db D2h; '’' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db C8h; 'ˆ' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db BEh; '?' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db B4h; '?' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 05h; db 00h; db 00h; db 00h; db 10h; db 00h; db 00h; db 00h; db 1Bh; db 00h; db 00h; db 00h; db 26h; '&' db 00h; db 00h; db 00h; db 32h; '2' db 00h; db 00h; db 00h; db 3Dh; '=' db 00h; db 00h; db 00h; db 48h; 'H' db 00h; db 00h; db 00h; db 53h; 'S' db 00h; db 00h; db 00h; db FBh; 'ë' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F0h; 'à' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db E5h; '¥' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db DAh; 'š' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db CEh; 'Ž' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db C3h; 'ƒ' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db B8h; 'ñ' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db ADh; '-' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 06h; db 00h; db 00h; db 00h; db 12h; db 00h; db 00h; db 00h; db 1Fh; db 00h; db 00h; db 00h; db 2Bh; '+' db 00h; db 00h; db 00h; db 38h; '8' db 00h; db 00h; db 00h; db 44h; 'D' db 00h; db 00h; db 00h; db 51h; 'Q' db 00h; db 00h; db 00h; db 5Dh; ']' db 00h; db 00h; db 00h; db FAh; 'ê' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db EEh; '®' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db E1h; '¡' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db D5h; '•' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db C8h; 'ˆ' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db BCh; '?' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db AFh; 'ô' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db A3h; '?' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 06h; db 00h; db 00h; db 00h; db 13h; db 00h; db 00h; db 00h; db 21h; '!' db 00h; db 00h; db 00h; db 2Eh; '.' db 00h; db 00h; db 00h; db 3Dh; '=' db 00h; db 00h; db 00h; db 4Ah; 'J' db 00h; db 00h; db 00h; db 58h; 'X' db 00h; db 00h; db 00h; db 65h; 'e' db 00h; db 00h; db 00h; db FAh; 'ê' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db EDh; '­' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db DFh; 'Ÿ' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db D2h; '’' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db C3h; 'ƒ' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db B6h; db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db A8h; 'ð' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 9Bh; '>' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 07h; db 00h; db 00h; db 00h; db 16h; db 00h; db 00h; db 00h; db 25h; '%' db 00h; db 00h; db 00h; db 34h; '4' db 00h; db 00h; db 00h; db 43h; 'C' db 00h; db 00h; db 00h; db 52h; 'R' db 00h; db 00h; db 00h; db 61h; 'a' db 00h; db 00h; db 00h; db 70h; 'p' db 00h; db 00h; db 00h; db F9h; 'é' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db EAh; 'ª' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db DBh; '›' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db CCh; 'Œ' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db BDh; '?' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db AEh; 'R' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 9Fh; '?' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 90h; '?' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 08h; db 00h; db 00h; db 00h; db 18h; db 00h; db 00h; db 00h; db 29h; ')' db 00h; db 00h; db 00h; db 39h; '9' db 00h; db 00h; db 00h; db 4Ah; 'J' db 00h; db 00h; db 00h; db 5Ah; 'Z' db 00h; db 00h; db 00h; db 6Bh; 'k' db 00h; db 00h; db 00h; db 7Bh; '{' db 00h; db 00h; db 00h; db F8h; 'è' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db E8h; '¨' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db D7h; '—' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db C7h; '‡' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db B6h; db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db A6h; '³' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 95h; db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 85h; ':' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 09h; db 00h; db 00h; db 00h; db 1Bh; db 00h; db 00h; db 00h; db 2Dh; '-' db 00h; db 00h; db 00h; db 3Fh; '?' db 00h; db 00h; db 00h; db 52h; 'R' db 00h; db 00h; db 00h; db 64h; 'd' db 00h; db 00h; db 00h; db 76h; 'v' db 00h; db 00h; db 00h; db 88h; '?' db 00h; db 00h; db 00h; db F7h; 'ç' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db E5h; '¥' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db D3h; '“' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db C1h; '' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db AEh; 'R' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 9Ch; '?' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 8Ah; '?' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 78h; 'x' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 0Ah; db 00h; db 00h; db 00h; db 1Eh; db 00h; db 00h; db 00h; db 32h; '2' db 00h; db 00h; db 00h; db 46h; 'F' db 00h; db 00h; db 00h; db 5Ah; 'Z' db 00h; db 00h; db 00h; db 6Eh; 'n' db 00h; db 00h; db 00h; db 82h; ''' db 00h; db 00h; db 00h; db 96h; '-' db 00h; db 00h; db 00h; db F6h; 'æ' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db E2h; '¢' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db CEh; 'Ž' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db BAh; 'ó' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db A6h; '³' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 92h; ''' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 7Eh; '~' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 6Ah; 'j' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 0Bh; db 00h; db 00h; db 00h; db 21h; '!' db 00h; db 00h; db 00h; db 37h; '7' db 00h; db 00h; db 00h; db 4Dh; 'M' db 00h; db 00h; db 00h; db 63h; 'c' db 00h; db 00h; db 00h; db 79h; 'y' db 00h; db 00h; db 00h; db 8Fh; '?' db 00h; db 00h; db 00h; db A5h; '?' db 00h; db 00h; db 00h; db F5h; 'å' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db DFh; 'Ÿ' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db C9h; '‰' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db B3h; 'i' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 9Dh; '?' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 87h; 'Ø' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 71h; 'q' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 5Bh; '[' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 0Ch; db 00h; db 00h; db 00h; db 24h; '$' db 00h; db 00h; db 00h; db 3Ch; '<' db 00h; db 00h; db 00h; db 54h; 'T' db 00h; db 00h; db 00h; db 6Dh; 'm' db 00h; db 00h; db 00h; db 85h; ':' db 00h; db 00h; db 00h; db 9Dh; '?' db 00h; db 00h; db 00h; db B5h; 'ç' db 00h; db 00h; db 00h; db F4h; 'ä' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db DCh; 'œ' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db C4h; '„' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db ACh; '¿' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 93h; '"' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 7Bh; '{' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 63h; 'c' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 4Bh; 'K' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 0Dh; db 00h; db 00h; db 00h; db 27h; ''' db 00h; db 00h; db 00h; db 42h; 'B' db 00h; db 00h; db 00h; db 5Ch; '\' db 00h; db 00h; db 00h; db 78h; 'x' db 00h; db 00h; db 00h; db 92h; ''' db 00h; db 00h; db 00h; db ADh; '-' db 00h; db 00h; db 00h; db C7h; '‡' db 00h; db 00h; db 00h; db F3h; 'ã' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db D9h; '™' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db BEh; '?' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db A4h; 'ý' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 88h; '?' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 6Eh; 'n' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 53h; 'S' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 39h; '9' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 0Eh; db 00h; db 00h; db 00h; db 2Bh; '+' db 00h; db 00h; db 00h; db 49h; 'I' db 00h; db 00h; db 00h; db 66h; 'f' db 00h; db 00h; db 00h; db 84h; '"' db 00h; db 00h; db 00h; db A1h; 'ö' db 00h; db 00h; db 00h; db BFh; 'õ' db 00h; db 00h; db 00h; db DCh; 'œ' db 00h; db 00h; db 00h; db F2h; 'â' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db D5h; '•' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db B7h; 'ú' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 9Ah; '?' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 7Ch; '|' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 5Fh; '_' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 41h; 'A' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 24h; '$' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 10h; db 00h; db 00h; db 00h; db 30h; '0' db 00h; db 00h; db 00h; db 51h; 'Q' db 00h; db 00h; db 00h; db 71h; 'q' db 00h; db 00h; db 00h; db 92h; ''' db 00h; db 00h; db 00h; db B2h; 'I' db 00h; db 00h; db 00h; db D3h; '“' db 00h; db 00h; db 00h; db F3h; 'ã' db 00h; db 00h; db 00h; db F0h; 'à' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db D0h; '' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db AFh; 'ô' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 8Fh; '?' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 6Eh; 'n' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 4Eh; 'N' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 2Dh; '-' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 0Dh; db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 11h; db 00h; db 00h; db 00h; db 34h; '4' db 00h; db 00h; db 00h; db 58h; 'X' db 00h; db 00h; db 00h; db 7Bh; '{' db 00h; db 00h; db 00h; db A0h; 'ÿ' db 00h; db 00h; db 00h; db C3h; 'ƒ' db 00h; db 00h; db 00h; db E7h; '§' db 00h; db 00h; db 00h; db 0Ah; db 01h; db 00h; db 00h; db EFh; '¯' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db CCh; 'Œ' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db A8h; 'ð' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 85h; ':' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 60h; '`' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 3Dh; '=' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 19h; db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F6h; 'æ' db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db 13h; db 00h; db 00h; db 00h; db 3Ah; ':' db 00h; db 00h; db 00h; db 61h; 'a' db 00h; db 00h; db 00h; db 88h; '?' db 00h; db 00h; db 00h; db B0h; 'ø' db 00h; db 00h; db 00h; db D7h; '—' db 00h; db 00h; db 00h; db FEh; 'î' db 00h; db 00h; db 00h; db 25h; '%' db 01h; db 00h; db 00h; db EDh; '­' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db C6h; '†' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 9Fh; '?' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 78h; 'x' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 50h; 'P' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 29h; ')' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 02h; db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db DBh; '›' db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db 15h; db 00h; db 00h; db 00h; db 40h; '@' db 00h; db 00h; db 00h; db 6Bh; 'k' db 00h; db 00h; db 00h; db 96h; '-' db 00h; db 00h; db 00h; db C2h; '‚' db 00h; db 00h; db 00h; db EDh; '­' db 00h; db 00h; db 00h; db 18h; db 01h; db 00h; db 00h; db 43h; 'C' db 01h; db 00h; db 00h; db EBh; '«' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db C0h; '€' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 95h; db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 6Ah; 'j' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 3Eh; '>' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 13h; db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db E8h; '¨' db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db BDh; '?' db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db 17h; db 00h; db 00h; db 00h; db 46h; 'F' db 00h; db 00h; db 00h; db 76h; 'v' db 00h; db 00h; db 00h; db A5h; '?' db 00h; db 00h; db 00h; db D5h; '•' db 00h; db 00h; db 00h; db 04h; db 01h; db 00h; db 00h; db 34h; '4' db 01h; db 00h; db 00h; db 63h; 'c' db 01h; db 00h; db 00h; db E9h; '©' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db BAh; 'ó' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 8Ah; '?' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 5Bh; '[' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 2Bh; '+' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FCh; 'ì' db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db CCh; 'Œ' db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db 9Dh; '?' db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db 1Ah; db 00h; db 00h; db 00h; db 4Eh; 'N' db 00h; db 00h; db 00h; db 82h; ''' db 00h; db 00h; db 00h; db B6h; db 00h; db 00h; db 00h; db EBh; '«' db 00h; db 00h; db 00h; db 1Fh; db 01h; db 00h; db 00h; db 53h; 'S' db 01h; db 00h; db 00h; db 87h; 'Ø' db 01h; db 00h; db 00h; db E6h; '¦' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db B2h; 'I' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 7Eh; '~' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 4Ah; 'J' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 15h; db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db E1h; '¡' db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db ADh; '-' db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db 79h; 'y' db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db 1Ch; db 00h; db 00h; db 00h; db 55h; 'U' db 00h; db 00h; db 00h; db 8Fh; '?' db 00h; db 00h; db 00h; db C8h; 'ˆ' db 00h; db 00h; db 00h; db 02h; db 01h; db 00h; db 00h; db 3Bh; ';' db 01h; db 00h; db 00h; db 75h; 'u' db 01h; db 00h; db 00h; db AEh; 'R' db 01h; db 00h; db 00h; db E4h; '¤' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db ABh; '<' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 71h; 'q' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 38h; '8' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FEh; 'î' db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db C5h; '…' db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db 8Bh; '<' db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db 52h; 'R' db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db 1Fh; db 00h; db 00h; db 00h; db 5Eh; '^' db 00h; db 00h; db 00h; db 9Dh; '?' db 00h; db 00h; db 00h; db DCh; 'œ' db 00h; db 00h; db 00h; db 1Ch; db 01h; db 00h; db 00h; db 5Bh; '[' db 01h; db 00h; db 00h; db 9Ah; '?' db 01h; db 00h; db 00h; db D9h; '™' db 01h; db 00h; db 00h; db E1h; '¡' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db A2h; '÷' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 63h; 'c' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 24h; '$' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db E4h; '¤' db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db A5h; '?' db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db 66h; 'f' db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db 27h; ''' db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db 22h; '"' db 00h; db 00h; db 00h; db 67h; 'g' db 00h; db 00h; db 00h; db ADh; '-' db 00h; db 00h; db 00h; db F2h; 'â' db 00h; db 00h; db 00h; db 39h; '9' db 01h; db 00h; db 00h; db 7Eh; '~' db 01h; db 00h; db 00h; db C4h; '„' db 01h; db 00h; db 00h; db 09h; db 02h; db 00h; db 00h; db DEh; 'ž' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 99h; 'T' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 53h; 'S' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 0Eh; db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db C7h; '‡' db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db 82h; ''' db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db 3Ch; '<' db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db F7h; 'ç' db FDh; 'í' db FFh; 'ï' db FFh; 'ï' db 26h; '&' db 00h; db 00h; db 00h; db 72h; 'r' db 00h; db 00h; db 00h; db BFh; 'õ' db 00h; db 00h; db 00h; db 0Bh; db 01h; db 00h; db 00h; db 59h; 'Y' db 01h; db 00h; db 00h; db A5h; '?' db 01h; db 00h; db 00h; db F2h; 'â' db 01h; db 00h; db 00h; db 3Eh; '>' db 02h; db 00h; db 00h; db DAh; 'š' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 8Eh; '?' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 41h; 'A' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F5h; 'å' db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db A7h; db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db 5Bh; '[' db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db 0Eh; db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db C2h; '‚' db FDh; 'í' db FFh; 'ï' db FFh; 'ï' db 2Ah; '*' db 00h; db 00h; db 00h; db 7Eh; '~' db 00h; db 00h; db 00h; db D2h; '’' db 00h; db 00h; db 00h; db 26h; '&' db 01h; db 00h; db 00h; db 7Bh; '{' db 01h; db 00h; db 00h; db CFh; '' db 01h; db 00h; db 00h; db 23h; '#' db 02h; db 00h; db 00h; db 77h; 'w' db 02h; db 00h; db 00h; db D6h; '–' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 82h; ''' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 2Eh; '.' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db DAh; 'š' db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db 85h; ':' db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db 31h; '1' db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db DDh; '' db FDh; 'í' db FFh; 'ï' db FFh; 'ï' db 89h; '%' db FDh; 'í' db FFh; 'ï' db FFh; 'ï' db 2Eh; '.' db 00h; db 00h; db 00h; db 8Ah; '?' db 00h; db 00h; db 00h; db E7h; '§' db 00h; db 00h; db 00h; db 43h; 'C' db 01h; db 00h; db 00h; db A1h; 'ö' db 01h; db 00h; db 00h; db FDh; 'í' db 01h; db 00h; db 00h; db 5Ah; 'Z' db 02h; db 00h; db 00h; db B6h; db 02h; db 00h; db 00h; db D2h; '’' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 76h; 'v' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 19h; db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db BDh; '?' db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db 5Fh; '_' db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db 03h; db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db A6h; '³' db FDh; 'í' db FFh; 'ï' db FFh; 'ï' db 4Ah; 'J' db FDh; 'í' db FFh; 'ï' db FFh; 'ï' db 33h; '3' db 00h; db 00h; db 00h; db 99h; 'T' db 00h; db 00h; db 00h; db FFh; 'ï' db 00h; db 00h; db 00h; db 65h; 'e' db 01h; db 00h; db 00h; db CBh; '‹' db 01h; db 00h; db 00h; db 31h; '1' db 02h; db 00h; db 00h; db 97h; '-' db 02h; db 00h; db 00h; db FDh; 'í' db 02h; db 00h; db 00h; db CDh; '' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 67h; 'g' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 01h; db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 9Bh; '>' db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db 35h; '5' db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db CFh; '' db FDh; 'í' db FFh; 'ï' db FFh; 'ï' db 69h; 'i' db FDh; 'í' db FFh; 'ï' db FFh; 'ï' db 03h; db FDh; 'í' db FFh; 'ï' db FFh; 'ï' db 38h; '8' db 00h; db 00h; db 00h; db A8h; 'ð' db 00h; db 00h; db 00h; db 18h; db 01h; db 00h; db 00h; db 88h; '?' db 01h; db 00h; db 00h; db F9h; 'é' db 01h; db 00h; db 00h; db 69h; 'i' db 02h; db 00h; db 00h; db D9h; '™' db 02h; db 00h; db 00h; db 49h; 'I' db 03h; db 00h; db 00h; db C8h; 'ˆ' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 58h; 'X' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db E8h; '¨' db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db 78h; 'x' db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db 07h; db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db 97h; '-' db FDh; 'í' db FFh; 'ï' db FFh; 'ï' db 27h; ''' db FDh; 'í' db FFh; 'ï' db FFh; 'ï' db B7h; 'ú' db FCh; 'ì' db FFh; 'ï' db FFh; 'ï' db 3Dh; '=' db 00h; db 00h; db 00h; db B8h; 'ñ' db 00h; db 00h; db 00h; db 34h; '4' db 01h; db 00h; db 00h; db AFh; 'ô' db 01h; db 00h; db 00h; db 2Bh; '+' db 02h; db 00h; db 00h; db A6h; '³' db 02h; db 00h; db 00h; db 22h; '"' db 03h; db 00h; db 00h; db 9Dh; '?' db 03h; db 00h; db 00h; db C3h; 'ƒ' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 48h; 'H' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db CCh; 'Œ' db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db 51h; 'Q' db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db D5h; '•' db FDh; 'í' db FFh; 'ï' db FFh; 'ï' db 5Ah; 'Z' db FDh; 'í' db FFh; 'ï' db FFh; 'ï' db DEh; 'ž' db FCh; 'ì' db FFh; 'ï' db FFh; 'ï' db 63h; 'c' db FCh; 'ì' db FFh; 'ï' db FFh; 'ï' db 44h; 'D' db 00h; db 00h; db 00h; db CCh; 'Œ' db 00h; db 00h; db 00h; db 54h; 'T' db 01h; db 00h; db 00h; db DCh; 'œ' db 01h; db 00h; db 00h; db 64h; 'd' db 02h; db 00h; db 00h; db ECh; '¬' db 02h; db 00h; db 00h; db 74h; 't' db 03h; db 00h; db 00h; db FCh; 'ì' db 03h; db 00h; db 00h; db BCh; '?' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 34h; '4' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db ACh; '¿' db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db 24h; '$' db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db 9Ch; '?' db FDh; 'í' db FFh; 'ï' db FFh; 'ï' db 14h; db FDh; 'í' db FFh; 'ï' db FFh; 'ï' db 8Ch; '?' db FCh; 'ì' db FFh; 'ï' db FFh; 'ï' db 04h; db FCh; 'ì' db FFh; 'ï' db FFh; 'ï' db 4Ah; 'J' db 00h; db 00h; db 00h; db DFh; 'Ÿ' db 00h; db 00h; db 00h; db 75h; 'u' db 01h; db 00h; db 00h; db 0Ah; db 02h; db 00h; db 00h; db A0h; 'ÿ' db 02h; db 00h; db 00h; db 35h; '5' db 03h; db 00h; db 00h; db CBh; '‹' db 03h; db 00h; db 00h; db 60h; '`' db 04h; db 00h; db 00h; db B6h; db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 21h; '!' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 8Bh; '<' db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db F6h; 'æ' db FDh; 'í' db FFh; 'ï' db FFh; 'ï' db 60h; '`' db FDh; 'í' db FFh; 'ï' db FFh; 'ï' db CBh; '‹' db FCh; 'ì' db FFh; 'ï' db FFh; 'ï' db 35h; '5' db FCh; 'ì' db FFh; 'ï' db FFh; 'ï' db A0h; 'ÿ' db FBh; 'ë' db FFh; 'ï' db FFh; 'ï' db 52h; 'R' db 00h; db 00h; db 00h; db F6h; 'æ' db 00h; db 00h; db 00h; db 9Bh; '>' db 01h; db 00h; db 00h; db 3Fh; '?' db 02h; db 00h; db 00h; db E4h; '¤' db 02h; db 00h; db 00h; db 88h; '?' db 03h; db 00h; db 00h; db 2Dh; '-' db 04h; db 00h; db 00h; db D1h; '‘' db 04h; db 00h; db 00h; db AEh; 'R' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 0Ah; db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 65h; 'e' db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db C1h; '' db FDh; 'í' db FFh; 'ï' db FFh; 'ï' db 1Ch; db FDh; 'í' db FFh; 'ï' db FFh; 'ï' db 78h; 'x' db FCh; 'ì' db FFh; 'ï' db FFh; 'ï' db D3h; '“' db FBh; 'ë' db FFh; 'ï' db FFh; 'ï' db 2Fh; '/' db FBh; 'ë' db FFh; 'ï' db FFh; 'ï' db 5Ah; 'Z' db 00h; db 00h; db 00h; db 0Fh; db 01h; db 00h; db 00h; db C4h; '„' db 01h; db 00h; db 00h; db 79h; 'y' db 02h; db 00h; db 00h; db 2Eh; '.' db 03h; db 00h; db 00h; db E3h; '£' db 03h; db 00h; db 00h; db 98h; '?' db 04h; db 00h; db 00h; db 4Dh; 'M' db 05h; db 00h; db 00h; db A6h; '³' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F1h; 'á' db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db 3Ch; '<' db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db 87h; 'Ø' db FDh; 'í' db FFh; 'ï' db FFh; 'ï' db D2h; '’' db FCh; 'ì' db FFh; 'ï' db FFh; 'ï' db 1Dh; db FCh; 'ì' db FFh; 'ï' db FFh; 'ï' db 68h; 'h' db FBh; 'ë' db FFh; 'ï' db FFh; 'ï' db B3h; 'i' db FAh; 'ê' db FFh; 'ï' db FFh; 'ï' db 63h; 'c' db 00h; db 00h; db 00h; db 2Ah; '*' db 01h; db 00h; db 00h; db F1h; 'á' db 01h; db 00h; db 00h; db B8h; 'ñ' db 02h; db 00h; db 00h; db 7Fh; '' db 03h; db 00h; db 00h; db 46h; 'F' db 04h; db 00h; db 00h; db 0Dh; db 05h; db 00h; db 00h; db D4h; '”' db 05h; db 00h; db 00h; db 9Dh; '?' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db D6h; '–' db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db 0Fh; db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db 48h; 'H' db FDh; 'í' db FFh; 'ï' db FFh; 'ï' db 81h; '?' db FCh; 'ì' db FFh; 'ï' db FFh; 'ï' db BAh; 'ó' db FBh; 'ë' db FFh; 'ï' db FFh; 'ï' db F3h; 'ã' db FAh; 'ê' db FFh; 'ï' db FFh; 'ï' db 2Ch; ',' db FAh; 'ê' db FFh; 'ï' db FFh; 'ï' db 6Dh; 'm' db 00h; db 00h; db 00h; db 48h; 'H' db 01h; db 00h; db 00h; db 23h; '#' db 02h; db 00h; db 00h; db FEh; 'î' db 02h; db 00h; db 00h; db D9h; '™' db 03h; db 00h; db 00h; db B4h; '?' db 04h; db 00h; db 00h; db 8Fh; '?' db 05h; db 00h; db 00h; db 6Ah; 'j' db 06h; db 00h; db 00h; db 93h; '"' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db B8h; 'ñ' db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db DDh; '' db FDh; 'í' db FFh; 'ï' db FFh; 'ï' db 02h; db FDh; 'í' db FFh; 'ï' db FFh; 'ï' db 27h; ''' db FCh; 'ì' db FFh; 'ï' db FFh; 'ï' db 4Ch; 'L' db FBh; 'ë' db FFh; 'ï' db FFh; 'ï' db 71h; 'q' db FAh; 'ê' db FFh; 'ï' db FFh; 'ï' db 96h; '-' db F9h; 'é' db FFh; 'ï' db FFh; 'ï' db 78h; 'x' db 00h; db 00h; db 00h; db 68h; 'h' db 01h; db 00h; db 00h; db 59h; 'Y' db 02h; db 00h; db 00h; db 49h; 'I' db 03h; db 00h; db 00h; db 3Bh; ';' db 04h; db 00h; db 00h; db 2Bh; '+' db 05h; db 00h; db 00h; db 1Ch; db 06h; db 00h; db 00h; db 0Ch; db 07h; db 00h; db 00h; db 88h; '?' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 98h; '?' db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db A7h; db FDh; 'í' db FFh; 'ï' db FFh; 'ï' db B7h; 'ú' db FCh; 'ì' db FFh; 'ï' db FFh; 'ï' db C5h; '…' db FBh; 'ë' db FFh; 'ï' db FFh; 'ï' db D5h; '•' db FAh; 'ê' db FFh; 'ï' db FFh; 'ï' db E4h; '¤' db F9h; 'é' db FFh; 'ï' db FFh; 'ï' db F4h; 'ä' db F8h; 'è' db FFh; 'ï' db FFh; 'ï' db 84h; '"' db 00h; db 00h; db 00h; db 8Dh; '?' db 01h; db 00h; db 00h; db 96h; '-' db 02h; db 00h; db 00h; db 9Fh; '?' db 03h; db 00h; db 00h; db A8h; 'ð' db 04h; db 00h; db 00h; db B1h; '+' db 05h; db 00h; db 00h; db BAh; 'ó' db 06h; db 00h; db 00h; db C3h; 'ƒ' db 07h; db 00h; db 00h; db 7Ch; '|' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 73h; 's' db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db 6Ah; 'j' db FDh; 'í' db FFh; 'ï' db FFh; 'ï' db 61h; 'a' db FCh; 'ì' db FFh; 'ï' db FFh; 'ï' db 58h; 'X' db FBh; 'ë' db FFh; 'ï' db FFh; 'ï' db 4Fh; 'O' db FAh; 'ê' db FFh; 'ï' db FFh; 'ï' db 46h; 'F' db F9h; 'é' db FFh; 'ï' db FFh; 'ï' db 3Dh; '=' db F8h; 'è' db FFh; 'ï' db FFh; 'ï' db 91h; ''' db 00h; db 00h; db 00h; db B4h; '?' db 01h; db 00h; db 00h; db D8h; '˜' db 02h; db 00h; db 00h; db FBh; 'ë' db 03h; db 00h; db 00h; db 1Fh; db 05h; db 00h; db 00h; db 42h; 'B' db 06h; db 00h; db 00h; db 66h; 'f' db 07h; db 00h; db 00h; db 89h; '%' db 08h; db 00h; db 00h; db 6Fh; 'o' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 4Ch; 'L' db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db 28h; '(' db FDh; 'í' db FFh; 'ï' db FFh; 'ï' db 05h; db FCh; 'ì' db FFh; 'ï' db FFh; 'ï' db E1h; '¡' db FAh; 'ê' db FFh; 'ï' db FFh; 'ï' db BEh; '?' db F9h; 'é' db FFh; 'ï' db FFh; 'ï' db 9Ah; '?' db F8h; 'è' db FFh; 'ï' db FFh; 'ï' db 77h; 'w' db F7h; 'ç' db FFh; 'ï' db FFh; 'ï' db A0h; 'ÿ' db 00h; db 00h; db 00h; db E0h; ' ' db 01h; db 00h; db 00h; db 21h; '!' db 03h; db 00h; db 00h; db 61h; 'a' db 04h; db 00h; db 00h; db A2h; '÷' db 05h; db 00h; db 00h; db E2h; '¢' db 06h; db 00h; db 00h; db 23h; '#' db 08h; db 00h; db 00h; db 63h; 'c' db 09h; db 00h; db 00h; db 60h; '`' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 20h; ' ' db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db DFh; 'Ÿ' db FCh; 'ì' db FFh; 'ï' db FFh; 'ï' db 9Fh; '?' db FBh; 'ë' db FFh; 'ï' db FFh; 'ï' db 5Eh; '^' db FAh; 'ê' db FFh; 'ï' db FFh; 'ï' db 1Eh; db F9h; 'é' db FFh; 'ï' db FFh; 'ï' db DDh; '' db F7h; 'ç' db FFh; 'ï' db FFh; 'ï' db 9Dh; '?' db F6h; 'æ' db FFh; 'ï' db FFh; 'ï' db B0h; 'ø' db 00h; db 00h; db 00h; db 10h; db 02h; db 00h; db 00h; db 71h; 'q' db 03h; db 00h; db 00h; db D1h; '‘' db 04h; db 00h; db 00h; db 33h; '3' db 06h; db 00h; db 00h; db 93h; '"' db 07h; db 00h; db 00h; db F4h; 'ä' db 08h; db 00h; db 00h; db 54h; 'T' db 0Ah; db 00h; db 00h; db 50h; 'P' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F0h; 'à' db FDh; 'í' db FFh; 'ï' db FFh; 'ï' db 8Fh; '?' db FCh; 'ì' db FFh; 'ï' db FFh; 'ï' db 2Fh; '/' db FBh; 'ë' db FFh; 'ï' db FFh; 'ï' db CDh; '' db F9h; 'é' db FFh; 'ï' db FFh; 'ï' db 6Dh; 'm' db F8h; 'è' db FFh; 'ï' db FFh; 'ï' db 0Ch; db F7h; 'ç' db FFh; 'ï' db FFh; 'ï' db ACh; '¿' db F5h; 'å' db FFh; 'ï' db FFh; 'ï' db C2h; '‚' db 00h; db 00h; db 00h; db 46h; 'F' db 02h; db 00h; db 00h; db CAh; 'Š' db 03h; db 00h; db 00h; db 4Eh; 'N' db 05h; db 00h; db 00h; db D2h; '’' db 06h; db 00h; db 00h; db 56h; 'V' db 08h; db 00h; db 00h; db DAh; 'š' db 09h; db 00h; db 00h; db 5Eh; '^' db 0Bh; db 00h; db 00h; db 3Eh; '>' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db BAh; 'ó' db FDh; 'í' db FFh; 'ï' db FFh; 'ï' db 36h; '6' db FCh; 'ì' db FFh; 'ï' db FFh; 'ï' db B2h; 'I' db FAh; 'ê' db FFh; 'ï' db FFh; 'ï' db 2Eh; '.' db F9h; 'é' db FFh; 'ï' db FFh; 'ï' db AAh; 'ò' db F7h; 'ç' db FFh; 'ï' db FFh; 'ï' db 26h; '&' db F6h; 'æ' db FFh; 'ï' db FFh; 'ï' db A2h; '÷' db F4h; 'ä' db FFh; 'ï' db FFh; 'ï' db D5h; '•' db 00h; db 00h; db 00h; db 7Fh; '' db 02h; db 00h; db 00h; db 2Ah; '*' db 04h; db 00h; db 00h; db D4h; '”' db 05h; db 00h; db 00h; db 80h; '?' db 07h; db 00h; db 00h; db 2Ah; '*' db 09h; db 00h; db 00h; db D5h; '•' db 0Ah; db 00h; db 00h; db 7Fh; '' db 0Ch; db 00h; db 00h; db 2Bh; '+' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 81h; '?' db FDh; 'í' db FFh; 'ï' db FFh; 'ï' db D6h; '–' db FBh; 'ë' db FFh; 'ï' db FFh; 'ï' db 2Ch; ',' db FAh; 'ê' db FFh; 'ï' db FFh; 'ï' db 80h; '?' db F8h; 'è' db FFh; 'ï' db FFh; 'ï' db D6h; '–' db F6h; 'æ' db FFh; 'ï' db FFh; 'ï' db 2Bh; '+' db F5h; 'å' db FFh; 'ï' db FFh; 'ï' db 81h; '?' db F3h; 'ã' db FFh; 'ï' db FFh; 'ï' db EAh; 'ª' db 00h; db 00h; db 00h; db BFh; 'õ' db 02h; db 00h; db 00h; db 95h; db 04h; db 00h; db 00h; db 6Ah; 'j' db 06h; db 00h; db 00h; db 40h; '@' db 08h; db 00h; db 00h; db 15h; db 0Ah; db 00h; db 00h; db EBh; '«' db 0Bh; db 00h; db 00h; db C0h; '€' db 0Dh; db 00h; db 00h; db 16h; db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 41h; 'A' db FDh; 'í' db FFh; 'ï' db FFh; 'ï' db 6Bh; 'k' db FBh; 'ë' db FFh; 'ï' db FFh; 'ï' db 96h; '-' db F9h; 'é' db FFh; 'ï' db FFh; 'ï' db C0h; '€' db F7h; 'ç' db FFh; 'ï' db FFh; 'ï' db EBh; '«' db F5h; 'å' db FFh; 'ï' db FFh; 'ï' db 15h; db F4h; 'ä' db FFh; 'ï' db FFh; 'ï' db 40h; '@' db F2h; 'â' db FFh; 'ï' db FFh; 'ï' db 02h; db 01h; db 00h; db 00h; db 06h; db 03h; db 00h; db 00h; db 0Bh; db 05h; db 00h; db 00h; db 0Fh; db 07h; db 00h; db 00h; db 14h; db 09h; db 00h; db 00h; db 18h; db 0Bh; db 00h; db 00h; db 1Dh; db 0Dh; db 00h; db 00h; db 21h; '!' db 0Fh; db 00h; db 00h; db FEh; 'î' db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db FAh; 'ê' db FCh; 'ì' db FFh; 'ï' db FFh; 'ï' db F5h; 'å' db FAh; 'ê' db FFh; 'ï' db FFh; 'ï' db F1h; 'á' db F8h; 'è' db FFh; 'ï' db FFh; 'ï' db ECh; '¬' db F6h; 'æ' db FFh; 'ï' db FFh; 'ï' db E8h; '¨' db F4h; 'ä' db FFh; 'ï' db FFh; 'ï' db E3h; '£' db F2h; 'â' db FFh; 'ï' db FFh; 'ï' db DFh; 'Ÿ' db F0h; 'à' db FFh; 'ï' db FFh; 'ï' db 1Ch; db 01h; db 00h; db 00h; db 54h; 'T' db 03h; db 00h; db 00h; db 8Ch; '?' db 05h; db 00h; db 00h; db C4h; '„' db 07h; db 00h; db 00h; db FCh; 'ì' db 09h; db 00h; db 00h; db 34h; '4' db 0Ch; db 00h; db 00h; db 6Ch; 'l' db 0Eh; db 00h; db 00h; db A4h; 'ý' db 10h; db 00h; db 00h; db E4h; '¤' db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db ACh; '¿' db FCh; 'ì' db FFh; 'ï' db FFh; 'ï' db 74h; 't' db FAh; 'ê' db FFh; 'ï' db FFh; 'ï' db 3Ch; '<' db F8h; 'è' db FFh; 'ï' db FFh; 'ï' db 04h; db F6h; 'æ' db FFh; 'ï' db FFh; 'ï' db CCh; 'Œ' db F3h; 'ã' db FFh; 'ï' db FFh; 'ï' db 94h; '"' db F1h; 'á' db FFh; 'ï' db FFh; 'ï' db 5Ch; '\' db EFh; '¯' db FFh; 'ï' db FFh; 'ï' db 38h; '8' db 01h; db 00h; db 00h; db A8h; 'ð' db 03h; db 00h; db 00h; db 19h; db 06h; db 00h; db 00h; db 89h; '%' db 08h; db 00h; db 00h; db FBh; 'ë' db 0Ah; db 00h; db 00h; db 6Bh; 'k' db 0Dh; db 00h; db 00h; db DCh; 'œ' db 0Fh; db 00h; db 00h; db 4Ch; 'L' db 12h; db 00h; db 00h; db C8h; 'ˆ' db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db 58h; 'X' db FCh; 'ì' db FFh; 'ï' db FFh; 'ï' db E7h; '§' db F9h; 'é' db FFh; 'ï' db FFh; 'ï' db 77h; 'w' db F7h; 'ç' db FFh; 'ï' db FFh; 'ï' db 05h; db F5h; 'å' db FFh; 'ï' db FFh; 'ï' db 95h; db F2h; 'â' db FFh; 'ï' db FFh; 'ï' db 24h; '$' db F0h; 'à' db FFh; 'ï' db FFh; 'ï' db B4h; '?' db EDh; '­' db FFh; 'ï' db FFh; 'ï' db 57h; 'W' db 01h; db 00h; db 00h; db 06h; db 04h; db 00h; db 00h; db B5h; 'ç' db 06h; db 00h; db 00h; db 64h; 'd' db 09h; db 00h; db 00h; db 14h; db 0Ch; db 00h; db 00h; db C3h; 'ƒ' db 0Eh; db 00h; db 00h; db 72h; 'r' db 11h; db 00h; db 00h; db 21h; '!' db 14h; db 00h; db 00h; db A9h; 'c' db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db FAh; 'ê' db FBh; 'ë' db FFh; 'ï' db FFh; 'ï' db 4Bh; 'K' db F9h; 'é' db FFh; 'ï' db FFh; 'ï' db 9Ch; '?' db F6h; 'æ' db FFh; 'ï' db FFh; 'ï' db ECh; '¬' db F3h; 'ã' db FFh; 'ï' db FFh; 'ï' db 3Dh; '=' db F1h; 'á' db FFh; 'ï' db FFh; 'ï' db 8Eh; '?' db EEh; '®' db FFh; 'ï' db FFh; 'ï' db DFh; 'Ÿ' db EBh; '«' db FFh; 'ï' db FFh; 'ï' db 7Ah; 'z' db 01h; db 00h; db 00h; db 6Eh; 'n' db 04h; db 00h; db 00h; db 62h; 'b' db 07h; db 00h; db 00h; db 56h; 'V' db 0Ah; db 00h; db 00h; db 4Ah; 'J' db 0Dh; db 00h; db 00h; db 3Eh; '>' db 10h; db 00h; db 00h; db 32h; '2' db 13h; db 00h; db 00h; db 26h; '&' db 16h; db 00h; db 00h; db 86h; 'Å' db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db 92h; ''' db FBh; 'ë' db FFh; 'ï' db FFh; 'ï' db 9Eh; '?' db F8h; 'è' db FFh; 'ï' db FFh; 'ï' db AAh; 'ò' db F5h; 'å' db FFh; 'ï' db FFh; 'ï' db B6h; db F2h; 'â' db FFh; 'ï' db FFh; 'ï' db C2h; '‚' db EFh; '¯' db FFh; 'ï' db FFh; 'ï' db CEh; 'Ž' db ECh; '¬' db FFh; 'ï' db FFh; 'ï' db DAh; 'š' db E9h; '©' db FFh; 'ï' db FFh; 'ï' db 9Fh; '?' db 01h; db 00h; db 00h; db DEh; 'ž' db 04h; db 00h; db 00h; db 1Eh; db 08h; db 00h; db 00h; db 5Dh; ']' db 0Bh; db 00h; db 00h; db 9Eh; '?' db 0Eh; db 00h; db 00h; db DDh; '' db 11h; db 00h; db 00h; db 1Dh; db 15h; db 00h; db 00h; db 5Ch; '\' db 18h; db 00h; db 00h; db 61h; 'a' db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db 22h; '"' db FBh; 'ë' db FFh; 'ï' db FFh; 'ï' db E2h; '¢' db F7h; 'ç' db FFh; 'ï' db FFh; 'ï' db A3h; '?' db F4h; 'ä' db FFh; 'ï' db FFh; 'ï' db 62h; 'b' db F1h; 'á' db FFh; 'ï' db FFh; 'ï' db 23h; '#' db EEh; '®' db FFh; 'ï' db FFh; 'ï' db E3h; '£' db EAh; 'ª' db FFh; 'ï' db FFh; 'ï' db A4h; 'ý' db E7h; '§' db FFh; 'ï' db FFh; 'ï' db C9h; '‰' db 01h; db 00h; db 00h; db 5Ch; '\' db 05h; db 00h; db 00h; db EFh; '¯' db 08h; db 00h; db 00h; db 82h; ''' db 0Ch; db 00h; db 00h; db 15h; db 10h; db 00h; db 00h; db A8h; 'ð' db 13h; db 00h; db 00h; db 3Bh; ';' db 17h; db 00h; db 00h; db CEh; 'Ž' db 1Ah; db 00h; db 00h; db 37h; '7' db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db A4h; 'ý' db FAh; 'ê' db FFh; 'ï' db FFh; 'ï' db 11h; db F7h; 'ç' db FFh; 'ï' db FFh; 'ï' db 7Eh; '~' db F3h; 'ã' db FFh; 'ï' db FFh; 'ï' db EBh; '«' db EFh; '¯' db FFh; 'ï' db FFh; 'ï' db 58h; 'X' db ECh; '¬' db FFh; 'ï' db FFh; 'ï' db C5h; '…' db E8h; '¨' db FFh; 'ï' db FFh; 'ï' db 32h; '2' db E5h; '¥' db FFh; 'ï' db FFh; 'ï' db F7h; 'ç' db 01h; db 00h; db 00h; db E5h; '¥' db 05h; db 00h; db 00h; db D4h; '”' db 09h; db 00h; db 00h; db C2h; '‚' db 0Dh; db 00h; db 00h; db B1h; '+' db 11h; db 00h; db 00h; db 9Fh; '?' db 15h; db 00h; db 00h; db 8Eh; '?' db 19h; db 00h; db 00h; db 7Ch; '|' db 1Dh; db 00h; db 00h; db 09h; db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db 1Bh; db FAh; 'ê' db FFh; 'ï' db FFh; 'ï' db 2Ch; ',' db F6h; 'æ' db FFh; 'ï' db FFh; 'ï' db 3Eh; '>' db F2h; 'â' db FFh; 'ï' db FFh; 'ï' db 4Fh; 'O' db EEh; '®' db FFh; 'ï' db FFh; 'ï' db 61h; 'a' db EAh; 'ª' db FFh; 'ï' db FFh; 'ï' db 72h; 'r' db E6h; '¦' db FFh; 'ï' db FFh; 'ï' db 84h; '"' db E2h; '¢' db FFh; 'ï' db FFh; 'ï' db 29h; ')' db 02h; db 00h; db 00h; db 7Ch; '|' db 06h; db 00h; db 00h; db CFh; '' db 0Ah; db 00h; db 00h; db 22h; '"' db 0Fh; db 00h; db 00h; db 75h; 'u' db 13h; db 00h; db 00h; db C8h; 'ˆ' db 17h; db 00h; db 00h; db 1Bh; db 1Ch; db 00h; db 00h; db 6Eh; 'n' db 20h; ' ' db 00h; db 00h; db D7h; '—' db FDh; 'í' db FFh; 'ï' db FFh; 'ï' db 84h; '"' db F9h; 'é' db FFh; 'ï' db FFh; 'ï' db 31h; '1' db F5h; 'å' db FFh; 'ï' db FFh; 'ï' db DEh; 'ž' db F0h; 'à' db FFh; 'ï' db FFh; 'ï' db 8Bh; '<' db ECh; '¬' db FFh; 'ï' db FFh; 'ï' db 38h; '8' db E8h; '¨' db FFh; 'ï' db FFh; 'ï' db E5h; '¥' db E3h; '£' db FFh; 'ï' db FFh; 'ï' db 92h; ''' db DFh; 'Ÿ' db FFh; 'ï' db FFh; 'ï' db 60h; '`' db 02h; db 00h; db 00h; db 21h; '!' db 07h; db 00h; db 00h; db E3h; '£' db 0Bh; db 00h; db 00h; db A4h; 'ý' db 10h; db 00h; db 00h; db 67h; 'g' db 15h; db 00h; db 00h; db 28h; '(' db 1Ah; db 00h; db 00h; db EAh; 'ª' db 1Eh; db 00h; db 00h; db ABh; '<' db 23h; '#' db 00h; db 00h; db A0h; 'ÿ' db FDh; 'í' db FFh; 'ï' db FFh; 'ï' db DFh; 'Ÿ' db F8h; 'è' db FFh; 'ï' db FFh; 'ï' db 1Dh; db F4h; 'ä' db FFh; 'ï' db FFh; 'ï' db 5Ch; '\' db EFh; '¯' db FFh; 'ï' db FFh; 'ï' db 99h; 'T' db EAh; 'ª' db FFh; 'ï' db FFh; 'ï' db D8h; '˜' db E5h; '¥' db FFh; 'ï' db FFh; 'ï' db 16h; db E1h; '¡' db FFh; 'ï' db FFh; 'ï' db 55h; 'U' db DCh; 'œ' db FFh; 'ï' db FFh; 'ï' db 9Dh; '?' db 02h; db 00h; db 00h; db D8h; '˜' db 07h; db 00h; db 00h; db 14h; db 0Dh; db 00h; db 00h; db 4Fh; 'O' db 12h; db 00h; db 00h; db 8Bh; '<' db 17h; db 00h; db 00h; db C6h; '†' db 1Ch; db 00h; db 00h; db 02h; db 22h; '"' db 00h; db 00h; db 3Dh; '=' db 27h; ''' db 00h; db 00h; db 63h; 'c' db FDh; 'í' db FFh; 'ï' db FFh; 'ï' db 28h; '(' db F8h; 'è' db FFh; 'ï' db FFh; 'ï' db ECh; '¬' db F2h; 'â' db FFh; 'ï' db FFh; 'ï' db B1h; '+' db EDh; '­' db FFh; 'ï' db FFh; 'ï' db 75h; 'u' db E8h; '¨' db FFh; 'ï' db FFh; 'ï' db 3Ah; ':' db E3h; '£' db FFh; 'ï' db FFh; 'ï' db FEh; 'î' db DDh; '' db FFh; 'ï' db FFh; 'ï' db C3h; 'ƒ' db D8h; '˜' db FFh; 'ï' db FFh; 'ï' db E0h; ' ' db 02h; db 00h; db 00h; db A1h; 'ö' db 08h; db 00h; db 00h; db 63h; 'c' db 0Eh; db 00h; db 00h; db 24h; '$' db 14h; db 00h; db 00h; db E6h; '¦' db 19h; db 00h; db 00h; db A7h; db 1Fh; db 00h; db 00h; db 69h; 'i' db 25h; '%' db 00h; db 00h; db 2Ah; '*' db 2Bh; '+' db 00h; db 00h; db 20h; ' ' db FDh; 'í' db FFh; 'ï' db FFh; 'ï' db 5Fh; '_' db F7h; 'ç' db FFh; 'ï' db FFh; 'ï' db 9Dh; '?' db F1h; 'á' db FFh; 'ï' db FFh; 'ï' db DCh; 'œ' db EBh; '«' db FFh; 'ï' db FFh; 'ï' db 1Ah; db E6h; '¦' db FFh; 'ï' db FFh; 'ï' db 59h; 'Y' db E0h; ' ' db FFh; 'ï' db FFh; 'ï' db 97h; '-' db DAh; 'š' db FFh; 'ï' db FFh; 'ï' db D6h; '–' db D4h; '”' db FFh; 'ï' db FFh; 'ï' db 2Ah; '*' db 03h; db 00h; db 00h; db 7Fh; '' db 09h; db 00h; db 00h; db D4h; '”' db 0Fh; db 00h; db 00h; db 29h; ')' db 16h; db 00h; db 00h; db 7Eh; '~' db 1Ch; db 00h; db 00h; db D3h; '“' db 22h; '"' db 00h; db 00h; db 28h; '(' db 29h; ')' db 00h; db 00h; db 7Dh; '}' db 2Fh; '/' db 00h; db 00h; db D6h; '–' db FCh; 'ì' db FFh; 'ï' db FFh; 'ï' db 81h; '?' db F6h; 'æ' db FFh; 'ï' db FFh; 'ï' db 2Ch; ',' db F0h; 'à' db FFh; 'ï' db FFh; 'ï' db D7h; '—' db E9h; '©' db FFh; 'ï' db FFh; 'ï' db 82h; ''' db E3h; '£' db FFh; 'ï' db FFh; 'ï' db 2Dh; '-' db DDh; '' db FFh; 'ï' db FFh; 'ï' db D8h; '˜' db D6h; '–' db FFh; 'ï' db FFh; 'ï' db 83h; '?' db D0h; '' db FFh; 'ï' db FFh; 'ï' db 7Bh; '{' db 03h; db 00h; db 00h; db 72h; 'r' db 0Ah; db 00h; db 00h; db 69h; 'i' db 11h; db 00h; db 00h; db 60h; '`' db 18h; db 00h; db 00h; db 57h; 'W' db 1Fh; db 00h; db 00h; db 4Eh; 'N' db 26h; '&' db 00h; db 00h; db 45h; 'E' db 2Dh; '-' db 00h; db 00h; db 3Ch; '<' db 34h; '4' db 00h; db 00h; db 85h; ':' db FCh; 'ì' db FFh; 'ï' db FFh; 'ï' db 8Eh; '?' db F5h; 'å' db FFh; 'ï' db FFh; 'ï' db 97h; '-' db EEh; '®' db FFh; 'ï' db FFh; 'ï' db A0h; 'ÿ' db E7h; '§' db FFh; 'ï' db FFh; 'ï' db A9h; 'c' db E0h; ' ' db FFh; 'ï' db FFh; 'ï' db B2h; 'I' db D9h; '™' db FFh; 'ï' db FFh; 'ï' db BBh; '>' db D2h; '’' db FFh; 'ï' db FFh; 'ï' db C4h; '„' db CBh; '‹' db FFh; 'ï' db FFh; 'ï' db D4h; '”' db 03h; db 00h; db 00h; db 7Dh; '}' db 0Bh; db 00h; db 00h; db 26h; '&' db 13h; db 00h; db 00h; db CFh; '' db 1Ah; db 00h; db 00h; db 79h; 'y' db 22h; '"' db 00h; db 00h; db 22h; '"' db 2Ah; '*' db 00h; db 00h; db CBh; '‹' db 31h; '1' db 00h; db 00h; db 74h; 't' db 39h; '9' db 00h; db 00h; db 2Ch; ',' db FCh; 'ì' db FFh; 'ï' db FFh; 'ï' db 83h; '?' db F4h; 'ä' db FFh; 'ï' db FFh; 'ï' db DAh; 'š' db ECh; '¬' db FFh; 'ï' db FFh; 'ï' db 31h; '1' db E5h; '¥' db FFh; 'ï' db FFh; 'ï' db 87h; 'Ø' db DDh; '' db FFh; 'ï' db FFh; 'ï' db DEh; 'ž' db D5h; '•' db FFh; 'ï' db FFh; 'ï' db 35h; '5' db CEh; 'Ž' db FFh; 'ï' db FFh; 'ï' db 8Ch; '?' db C6h; '†' db FFh; 'ï' db FFh; 'ï' db 36h; '6' db 04h; db 00h; db 00h; db A3h; '?' db 0Ch; db 00h; db 00h; db 11h; db 15h; db 00h; db 00h; db 7Eh; '~' db 1Dh; db 00h; db 00h; db ECh; '¬' db 25h; '%' db 00h; db 00h; db 59h; 'Y' db 2Eh; '.' db 00h; db 00h; db C7h; '‡' db 36h; '6' db 00h; db 00h; db 34h; '4' db 3Fh; '?' db 00h; db 00h; db CAh; 'Š' db FBh; 'ë' db FFh; 'ï' db FFh; 'ï' db 5Dh; ']' db F3h; 'ã' db FFh; 'ï' db FFh; 'ï' db EFh; '¯' db EAh; 'ª' db FFh; 'ï' db FFh; 'ï' db 82h; ''' db E2h; '¢' db FFh; 'ï' db FFh; 'ï' db 14h; db DAh; 'š' db FFh; 'ï' db FFh; 'ï' db A7h; db D1h; '‘' db FFh; 'ï' db FFh; 'ï' db 39h; '9' db C9h; '‰' db FFh; 'ï' db FFh; 'ï' db CCh; 'Œ' db C0h; '€' db FFh; 'ï' db FFh; 'ï' db A2h; '÷' db 04h; db 00h; db 00h; db E7h; '§' db 0Dh; db 00h; db 00h; db 2Ch; ',' db 17h; db 00h; db 00h; db 71h; 'q' db 20h; ' ' db 00h; db 00h; db B7h; 'ú' db 29h; ')' db 00h; db 00h; db FCh; 'ì' db 32h; '2' db 00h; db 00h; db 41h; 'A' db 3Ch; '<' db 00h; db 00h; db 86h; 'Å' db 45h; 'E' db 00h; db 00h; db 5Eh; '^' db FBh; 'ë' db FFh; 'ï' db FFh; 'ï' db 19h; db F2h; 'â' db FFh; 'ï' db FFh; 'ï' db D4h; '”' db E8h; '¨' db FFh; 'ï' db FFh; 'ï' db 8Fh; '?' db DFh; 'Ÿ' db FFh; 'ï' db FFh; 'ï' db 49h; 'I' db D6h; '–' db FFh; 'ï' db FFh; 'ï' db 04h; db CDh; '' db FFh; 'ï' db FFh; 'ï' db BFh; 'õ' db C3h; 'ƒ' db FFh; 'ï' db FFh; 'ï' db 7Ah; 'z' db BAh; 'ó' db FFh; 'ï' db FFh; 'ï' db 19h; db 05h; db 00h; db 00h; db 4Bh; 'K' db 0Fh; db 00h; db 00h; db 7Eh; '~' db 19h; db 00h; db 00h; db B0h; 'ø' db 23h; '#' db 00h; db 00h; db E3h; '£' db 2Dh; '-' db 00h; db 00h; db 15h; db 38h; '8' db 00h; db 00h; db 48h; 'H' db 42h; 'B' db 00h; db 00h; db 7Ah; 'z' db 4Ch; 'L' db 00h; db 00h; db E7h; '§' db FAh; 'ê' db FFh; 'ï' db FFh; 'ï' db B5h; 'ç' db F0h; 'à' db FFh; 'ï' db FFh; 'ï' db 82h; ''' db E6h; '¦' db FFh; 'ï' db FFh; 'ï' db 50h; 'P' db DCh; 'œ' db FFh; 'ï' db FFh; 'ï' db 1Dh; db D2h; '’' db FFh; 'ï' db FFh; 'ï' db EBh; '«' db C7h; '‡' db FFh; 'ï' db FFh; 'ï' db B8h; 'ñ' db BDh; '?' db FFh; 'ï' db FFh; 'ï' db 86h; 'Å' db B3h; 'i' db FFh; 'ï' db FFh; 'ï' db 9Bh; '>' db 05h; db 00h; db 00h; db D2h; '’' db 10h; db 00h; db 00h; db 0Ah; db 1Ch; db 00h; db 00h; db 41h; 'A' db 27h; ''' db 00h; db 00h; db 7Ah; 'z' db 32h; '2' db 00h; db 00h; db B1h; '+' db 3Dh; '=' db 00h; db 00h; db E9h; '©' db 48h; 'H' db 00h; db 00h; db 20h; ' ' db 54h; 'T' db 00h; db 00h; db 65h; 'e' db FAh; 'ê' db FFh; 'ï' db FFh; 'ï' db 2Eh; '.' db EFh; '¯' db FFh; 'ï' db FFh; 'ï' db F6h; 'æ' db E3h; '£' db FFh; 'ï' db FFh; 'ï' db BFh; 'õ' db D8h; '˜' db FFh; 'ï' db FFh; 'ï' db 86h; 'Å' db CDh; '' db FFh; 'ï' db FFh; 'ï' db 4Fh; 'O' db C2h; '‚' db FFh; 'ï' db FFh; 'ï' db 17h; db B7h; 'ú' db FFh; 'ï' db FFh; 'ï' db E0h; ' ' db ABh; '<' db FFh; 'ï' db FFh; 'ï' db 2Bh; '+' db 06h; db 00h; db 00h; db 81h; '?' db 12h; db 00h; db 00h; db D8h; '˜' db 1Eh; db 00h; db 00h; db 2Eh; '.' db 2Bh; '+' db 00h; db 00h; db 86h; 'Å' db 37h; '7' db 00h; db 00h; db DCh; 'œ' db 43h; 'C' db 00h; db 00h; db 33h; '3' db 50h; 'P' db 00h; db 00h; db 89h; '%' db 5Ch; '\' db 00h; db 00h; db D5h; '•' db F9h; 'é' db FFh; 'ï' db FFh; 'ï' db 7Fh; '' db EDh; '­' db FFh; 'ï' db FFh; 'ï' db 28h; '(' db E1h; '¡' db FFh; 'ï' db FFh; 'ï' db D2h; '’' db D4h; '”' db FFh; 'ï' db FFh; 'ï' db 7Ah; 'z' db C8h; 'ˆ' db FFh; 'ï' db FFh; 'ï' db 24h; '$' db BCh; '?' db FFh; 'ï' db FFh; 'ï' db CDh; '' db AFh; 'ô' db FFh; 'ï' db FFh; 'ï' db 77h; 'w' db A3h; '?' db FFh; 'ï' db FFh; 'ï' db C9h; '‰' db 06h; db 00h; db 00h; db 5Bh; '[' db 14h; db 00h; db 00h; db EEh; '®' db 21h; '!' db 00h; db 00h; db 80h; '?' db 2Fh; '/' db 00h; db 00h; db 14h; db 3Dh; '=' db 00h; db 00h; db A6h; '³' db 4Ah; 'J' db 00h; db 00h; db 39h; '9' db 58h; 'X' db 00h; db 00h; db CBh; '‹' db 65h; 'e' db 00h; db 00h; db 37h; '7' db F9h; 'é' db FFh; 'ï' db FFh; 'ï' db A5h; '?' db EBh; '«' db FFh; 'ï' db FFh; 'ï' db 12h; db DEh; 'ž' db FFh; 'ï' db FFh; 'ï' db 80h; '?' db D0h; '' db FFh; 'ï' db FFh; 'ï' db ECh; '¬' db C2h; '‚' db FFh; 'ï' db FFh; 'ï' db 5Ah; 'Z' db B5h; 'ç' db FFh; 'ï' db FFh; 'ï' db C7h; '‡' db A7h; db FFh; 'ï' db FFh; 'ï' db 35h; '5' db 9Ah; '?' db FFh; 'ï' db FFh; 'ï' db 77h; 'w' db 07h; db 00h; db 00h; db 65h; 'e' db 16h; db 00h; db 00h; db 53h; 'S' db 25h; '%' db 00h; db 00h; db 41h; 'A' db 34h; '4' db 00h; db 00h; db 30h; '0' db 43h; 'C' db 00h; db 00h; db 1Eh; db 52h; 'R' db 00h; db 00h; db 0Ch; db 61h; 'a' db 00h; db 00h; db FAh; 'ê' db 6Fh; 'o' db 00h; db 00h; db 89h; '%' db F8h; 'è' db FFh; 'ï' db FFh; 'ï' db 9Bh; '>' db E9h; '©' db FFh; 'ï' db FFh; 'ï' db ADh; '-' db DAh; 'š' db FFh; 'ï' db FFh; 'ï' db BFh; 'õ' db CBh; '‹' db FFh; 'ï' db FFh; 'ï' db D0h; '' db BCh; '?' db FFh; 'ï' db FFh; 'ï' db E2h; '¢' db ADh; '-' db FFh; 'ï' db FFh; 'ï' db F4h; 'ä' db 9Eh; '?' db FFh; 'ï' db FFh; 'ï' db 06h; db 90h; '?' db FFh; 'ï' db FFh; 'ï' db 36h; '6' db 08h; db 00h; db 00h; db A2h; '÷' db 18h; db 00h; db 00h; db 0Fh; db 29h; ')' db 00h; db 00h; db 7Bh; '{' db 39h; '9' db 00h; db 00h; db E8h; '¨' db 49h; 'I' db 00h; db 00h; db 54h; 'T' db 5Ah; 'Z' db 00h; db 00h; db C1h; '' db 6Ah; 'j' db 00h; db 00h; db 2Dh; '-' db 7Bh; '{' db 00h; db 00h; db CAh; 'Š' db F7h; 'ç' db FFh; 'ï' db FFh; 'ï' db 5Eh; '^' db E7h; '§' db FFh; 'ï' db FFh; 'ï' db F1h; 'á' db D6h; '–' db FFh; 'ï' db FFh; 'ï' db 85h; ':' db C6h; '†' db FFh; 'ï' db FFh; 'ï' db 18h; db B6h; db FFh; 'ï' db FFh; 'ï' db ACh; '¿' db A5h; '?' db FFh; 'ï' db FFh; 'ï' db 3Fh; '?' db 95h; db FFh; 'ï' db FFh; 'ï' db D3h; '“' db 84h; '"' db FFh; 'ï' db FFh; 'ï' db 08h; db 09h; db 00h; db 00h; db 19h; db 1Bh; db 00h; db 00h; db 2Ah; '*' db 2Dh; '-' db 00h; db 00h; db 3Bh; ';' db 3Fh; '?' db 00h; db 00h; db 4Ch; 'L' db 51h; 'Q' db 00h; db 00h; db 5Dh; ']' db 63h; 'c' db 00h; db 00h; db 6Eh; 'n' db 75h; 'u' db 00h; db 00h; db 7Fh; '' db 87h; 'Ø' db 00h; db 00h; db F8h; 'è' db F6h; 'æ' db FFh; 'ï' db FFh; 'ï' db E7h; '§' db E4h; '¤' db FFh; 'ï' db FFh; 'ï' db D6h; '–' db D2h; '’' db FFh; 'ï' db FFh; 'ï' db C5h; '…' db C0h; '€' db FFh; 'ï' db FFh; 'ï' db B4h; '?' db AEh; 'R' db FFh; 'ï' db FFh; 'ï' db A3h; '?' db 9Ch; '?' db FFh; 'ï' db FFh; 'ï' db 92h; ''' db 8Ah; '?' db FFh; 'ï' db FFh; 'ï' db 81h; '?' db 78h; 'x' db FFh; 'ï' db FFh; 'ï' db EFh; '¯' db 09h; db 00h; db 00h; db CEh; 'Ž' db 1Dh; db 00h; db 00h; db AEh; 'R' db 31h; '1' db 00h; db 00h; db 8Dh; '?' db 45h; 'E' db 00h; db 00h; db 6Dh; 'm' db 59h; 'Y' db 00h; db 00h; db 4Ch; 'L' db 6Dh; 'm' db 00h; db 00h; db 2Ch; ',' db 81h; '?' db 00h; db 00h; db 0Bh; db 95h; db 00h; db 00h; db 11h; db F6h; 'æ' db FFh; 'ï' db FFh; 'ï' db 32h; '2' db E2h; '¢' db FFh; 'ï' db FFh; 'ï' db 52h; 'R' db CEh; 'Ž' db FFh; 'ï' db FFh; 'ï' db 73h; 's' db BAh; 'ó' db FFh; 'ï' db FFh; 'ï' db 93h; '"' db A6h; '³' db FFh; 'ï' db FFh; 'ï' db B4h; '?' db 92h; ''' db FFh; 'ï' db FFh; 'ï' db D4h; '”' db 7Eh; '~' db FFh; 'ï' db FFh; 'ï' db F5h; 'å' db 6Ah; 'j' db FFh; 'ï' db FFh; 'ï' db EEh; '®' db 0Ah; db 00h; db 00h; db CAh; 'Š' db 20h; ' ' db 00h; db 00h; db A6h; '³' db 36h; '6' db 00h; db 00h; db 82h; ''' db 4Ch; 'L' db 00h; db 00h; db 5Fh; '_' db 62h; 'b' db 00h; db 00h; db 3Bh; ';' db 78h; 'x' db 00h; db 00h; db 17h; db 8Eh; '?' db 00h; db 00h; db F3h; 'ã' db A3h; '?' db 00h; db 00h; db 12h; db F5h; 'å' db FFh; 'ï' db FFh; 'ï' db 36h; '6' db DFh; 'Ÿ' db FFh; 'ï' db FFh; 'ï' db 5Ah; 'Z' db C9h; '‰' db FFh; 'ï' db FFh; 'ï' db 7Eh; '~' db B3h; 'i' db FFh; 'ï' db FFh; 'ï' db A1h; 'ö' db 9Dh; '?' db FFh; 'ï' db FFh; 'ï' db C5h; '…' db 87h; 'Ø' db FFh; 'ï' db FFh; 'ï' db E9h; '©' db 71h; 'q' db FFh; 'ï' db FFh; 'ï' db 0Dh; db 5Ch; '\' db FFh; 'ï' db FFh; 'ï' db 05h; db 0Ch; db 00h; db 00h; db 10h; db 24h; '$' db 00h; db 00h; db 1Ch; db 3Ch; '<' db 00h; db 00h; db 27h; ''' db 54h; 'T' db 00h; db 00h; db 34h; '4' db 6Ch; 'l' db 00h; db 00h; db 3Fh; '?' db 84h; '"' db 00h; db 00h; db 4Bh; 'K' db 9Ch; '?' db 00h; db 00h; db 56h; 'V' db B4h; '?' db 00h; db 00h; db FBh; 'ë' db F3h; 'ã' db FFh; 'ï' db FFh; 'ï' db F0h; 'à' db DBh; '›' db FFh; 'ï' db FFh; 'ï' db E4h; '¤' db C3h; 'ƒ' db FFh; 'ï' db FFh; 'ï' db D9h; '™' db ABh; '<' db FFh; 'ï' db FFh; 'ï' db CCh; 'Œ' db 93h; '"' db FFh; 'ï' db FFh; 'ï' db C1h; '' db 7Bh; '{' db FFh; 'ï' db FFh; 'ï' db B5h; 'ç' db 63h; 'c' db FFh; 'ï' db FFh; 'ï' db AAh; 'ò' db 4Bh; 'K' db FFh; 'ï' db FFh; 'ï' db 39h; '9' db 0Dh; db 00h; db 00h; db ACh; '¿' db 27h; ''' db 00h; db 00h; db 20h; ' ' db 42h; 'B' db 00h; db 00h; db 93h; '"' db 5Ch; '\' db 00h; db 00h; db 07h; db 77h; 'w' db 00h; db 00h; db 7Ah; 'z' db 91h; ''' db 00h; db 00h; db EEh; '®' db ABh; '<' db 00h; db 00h; db 61h; 'a' db C6h; '†' db 00h; db 00h; db C7h; '‡' db F2h; 'â' db FFh; 'ï' db FFh; 'ï' db 54h; 'T' db D8h; '˜' db FFh; 'ï' db FFh; 'ï' db E0h; ' ' db BDh; '?' db FFh; 'ï' db FFh; 'ï' db 6Dh; 'm' db A3h; '?' db FFh; 'ï' db FFh; 'ï' db F9h; 'é' db 88h; '?' db FFh; 'ï' db FFh; 'ï' db 86h; 'Å' db 6Eh; 'n' db FFh; 'ï' db FFh; 'ï' db 12h; db 54h; 'T' db FFh; 'ï' db FFh; 'ï' db 9Fh; '?' db 39h; '9' db FFh; 'ï' db FFh; 'ï' db 8Ch; '?' db 0Eh; db 00h; db 00h; db A4h; 'ý' db 2Bh; '+' db 00h; db 00h; db BDh; '?' db 48h; 'H' db 00h; db 00h; db D5h; '•' db 65h; 'e' db 00h; db 00h; db EEh; '®' db 82h; ''' db 00h; db 00h; db 06h; db A0h; 'ÿ' db 00h; db 00h; db 1Fh; db BDh; '?' db 00h; db 00h; db 37h; '7' db DAh; 'š' db 00h; db 00h; db 74h; 't' db F1h; 'á' db FFh; 'ï' db FFh; 'ï' db 5Ch; '\' db D4h; '”' db FFh; 'ï' db FFh; 'ï' db 43h; 'C' db B7h; 'ú' db FFh; 'ï' db FFh; 'ï' db 2Bh; '+' db 9Ah; '?' db FFh; 'ï' db FFh; 'ï' db 12h; db 7Dh; '}' db FFh; 'ï' db FFh; 'ï' db FAh; 'ê' db 5Fh; '_' db FFh; 'ï' db FFh; 'ï' db E1h; '¡' db 42h; 'B' db FFh; 'ï' db FFh; 'ï' db C9h; '‰' db 25h; '%' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 0Fh; db 00h; db 00h; db FEh; 'î' db 2Fh; '/' db 00h; db 00h; db FEh; 'î' db 4Fh; 'O' db 00h; db 00h; db FDh; 'í' db 6Fh; 'o' db 00h; db 00h; db FEh; 'î' db 8Fh; '?' db 00h; db 00h; db FDh; 'í' db AFh; 'ô' db 00h; db 00h; db FDh; 'í' db CFh; '' db 00h; db 00h; db FCh; 'ì' db EFh; '¯' db 00h; db 00h; db 01h; db F0h; 'à' db FFh; 'ï' db FFh; 'ï' db 02h; db D0h; '' db FFh; 'ï' db FFh; 'ï' db 02h; db B0h; 'ø' db FFh; 'ï' db FFh; 'ï' db 03h; db 90h; '?' db FFh; 'ï' db FFh; 'ï' db 02h; db 70h; 'p' db FFh; 'ï' db FFh; 'ï' db 03h; db 50h; 'P' db FFh; 'ï' db FFh; 'ï' db 03h; db 30h; '0' db FFh; 'ï' db FFh; 'ï' db 04h; db 10h; db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 02h; db 04h; db 06h; db 08h; L004D5F20: dd 00000000h db F0h; 'à' db 00h; db 00h; db 00h; db CCh; 'Œ' db 01h; db 00h; db 00h; db 88h; '?' db 01h; db 00h; db 00h; L004D5F30: dd 00000000h db 00h; db 00h; db 00h; db 00h; db 30h; '0' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 24h; '$' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' L004D5F40: dd 00000000h db 01h; db 00h; db 00h; db 00h; db 03h; db 00h; db 00h; db 00h; db 04h; db 00h; db 00h; db 00h; db 07h; db 00h; db 00h; db 00h; db 08h; db 00h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 0Bh; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FDh; 'í' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FCh; 'ì' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F9h; 'é' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F8h; 'è' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F6h; 'æ' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F5h; 'å' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 01h; db 00h; db 00h; db 00h; db 03h; db 00h; db 00h; db 00h; db 05h; db 00h; db 00h; db 00h; db 07h; db 00h; db 00h; db 00h; db 09h; db 00h; db 00h; db 00h; db 0Bh; db 00h; db 00h; db 00h; db 0Dh; db 00h; db 00h; db 00h; db 0Fh; db 00h; db 00h; db 00h; db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FDh; 'í' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FBh; 'ë' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F9h; 'é' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F7h; 'ç' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F5h; 'å' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F3h; 'ã' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F1h; 'á' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 01h; db 00h; db 00h; db 00h; db 03h; db 00h; db 00h; db 00h; db 05h; db 00h; db 00h; db 00h; db 07h; db 00h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 0Ch; db 00h; db 00h; db 00h; db 0Eh; db 00h; db 00h; db 00h; db 10h; db 00h; db 00h; db 00h; db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FDh; 'í' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FBh; 'ë' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F9h; 'é' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F6h; 'æ' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F4h; 'ä' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F2h; 'â' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F0h; 'à' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 01h; db 00h; db 00h; db 00h; db 03h; db 00h; db 00h; db 00h; db 06h; db 00h; db 00h; db 00h; db 08h; db 00h; db 00h; db 00h; db 0Bh; db 00h; db 00h; db 00h; db 0Dh; db 00h; db 00h; db 00h; db 10h; db 00h; db 00h; db 00h; db 12h; db 00h; db 00h; db 00h; db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FDh; 'í' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FAh; 'ê' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F8h; 'è' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F5h; 'å' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F3h; 'ã' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F0h; 'à' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db EEh; '®' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 01h; db 00h; db 00h; db 00h; db 03h; db 00h; db 00h; db 00h; db 06h; db 00h; db 00h; db 00h; db 08h; db 00h; db 00h; db 00h; db 0Ch; db 00h; db 00h; db 00h; db 0Eh; db 00h; db 00h; db 00h; db 11h; db 00h; db 00h; db 00h; db 13h; db 00h; db 00h; db 00h; db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FDh; 'í' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FAh; 'ê' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F8h; 'è' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F4h; 'ä' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F2h; 'â' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db EFh; '¯' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db EDh; '­' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 01h; db 00h; db 00h; db 00h; db 04h; db 00h; db 00h; db 00h; db 07h; db 00h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 0Dh; db 00h; db 00h; db 00h; db 10h; db 00h; db 00h; db 00h; db 13h; db 00h; db 00h; db 00h; db 16h; db 00h; db 00h; db 00h; db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FCh; 'ì' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F9h; 'é' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F6h; 'æ' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F3h; 'ã' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F0h; 'à' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db EDh; '­' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db EAh; 'ª' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 01h; db 00h; db 00h; db 00h; db 04h; db 00h; db 00h; db 00h; db 07h; db 00h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 0Eh; db 00h; db 00h; db 00h; db 11h; db 00h; db 00h; db 00h; db 14h; db 00h; db 00h; db 00h; db 17h; db 00h; db 00h; db 00h; db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FCh; 'ì' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F9h; 'é' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F6h; 'æ' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F2h; 'â' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db EFh; '¯' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db ECh; '¬' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db E9h; '©' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 01h; db 00h; db 00h; db 00h; db 04h; db 00h; db 00h; db 00h; db 08h; db 00h; db 00h; db 00h; db 0Bh; db 00h; db 00h; db 00h; db 0Fh; db 00h; db 00h; db 00h; db 12h; db 00h; db 00h; db 00h; db 16h; db 00h; db 00h; db 00h; db 19h; db 00h; db 00h; db 00h; db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FCh; 'ì' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F8h; 'è' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F5h; 'å' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F1h; 'á' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db EEh; '®' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db EAh; 'ª' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db E7h; '§' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 02h; db 00h; db 00h; db 00h; db 06h; db 00h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 0Eh; db 00h; db 00h; db 00h; db 12h; db 00h; db 00h; db 00h; db 16h; db 00h; db 00h; db 00h; db 1Ah; db 00h; db 00h; db 00h; db 1Eh; db 00h; db 00h; db 00h; db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FAh; 'ê' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F6h; 'æ' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F2h; 'â' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db EEh; '®' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db EAh; 'ª' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db E6h; '¦' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db E2h; '¢' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 02h; db 00h; db 00h; db 00h; db 06h; db 00h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 0Eh; db 00h; db 00h; db 00h; db 13h; db 00h; db 00h; db 00h; db 17h; db 00h; db 00h; db 00h; db 1Bh; db 00h; db 00h; db 00h; db 1Fh; db 00h; db 00h; db 00h; db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FAh; 'ê' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F6h; 'æ' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F2h; 'â' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db EDh; '­' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db E9h; '©' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db E5h; '¥' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db E1h; '¡' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 02h; db 00h; db 00h; db 00h; db 06h; db 00h; db 00h; db 00h; db 0Bh; db 00h; db 00h; db 00h; db 0Fh; db 00h; db 00h; db 00h; db 15h; db 00h; db 00h; db 00h; db 19h; db 00h; db 00h; db 00h; db 1Eh; db 00h; db 00h; db 00h; db 22h; '"' db 00h; db 00h; db 00h; db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FAh; 'ê' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F5h; 'å' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F1h; 'á' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db EBh; '«' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db E7h; '§' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db E2h; '¢' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db DEh; 'ž' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 02h; db 00h; db 00h; db 00h; db 07h; db 00h; db 00h; db 00h; db 0Ch; db 00h; db 00h; db 00h; db 11h; db 00h; db 00h; db 00h; db 17h; db 00h; db 00h; db 00h; db 1Ch; db 00h; db 00h; db 00h; db 21h; '!' db 00h; db 00h; db 00h; db 26h; '&' db 00h; db 00h; db 00h; db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F9h; 'é' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F4h; 'ä' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db EFh; '¯' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db E9h; '©' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db E4h; '¤' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db DFh; 'Ÿ' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db DAh; 'š' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 02h; db 00h; db 00h; db 00h; db 07h; db 00h; db 00h; db 00h; db 0Dh; db 00h; db 00h; db 00h; db 12h; db 00h; db 00h; db 00h; db 19h; db 00h; db 00h; db 00h; db 1Eh; db 00h; db 00h; db 00h; db 24h; '$' db 00h; db 00h; db 00h; db 29h; ')' db 00h; db 00h; db 00h; db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F9h; 'é' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F3h; 'ã' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db EEh; '®' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db E7h; '§' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db E2h; '¢' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db DCh; 'œ' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db D7h; '—' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 03h; db 00h; db 00h; db 00h; db 09h; db 00h; db 00h; db 00h; db 0Fh; db 00h; db 00h; db 00h; db 15h; db 00h; db 00h; db 00h; db 1Ch; db 00h; db 00h; db 00h; db 22h; '"' db 00h; db 00h; db 00h; db 28h; '(' db 00h; db 00h; db 00h; db 2Eh; '.' db 00h; db 00h; db 00h; db FDh; 'í' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F7h; 'ç' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F1h; 'á' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db EBh; '«' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db E4h; '¤' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db DEh; 'ž' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db D8h; '˜' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db D2h; '’' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 03h; db 00h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 11h; db 00h; db 00h; db 00h; db 18h; db 00h; db 00h; db 00h; db 1Fh; db 00h; db 00h; db 00h; db 26h; '&' db 00h; db 00h; db 00h; db 2Dh; '-' db 00h; db 00h; db 00h; db 34h; '4' db 00h; db 00h; db 00h; db FDh; 'í' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F6h; 'æ' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db EFh; '¯' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db E8h; '¨' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db E1h; '¡' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db DAh; 'š' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db D3h; '“' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db CCh; 'Œ' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 03h; db 00h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 12h; db 00h; db 00h; db 00h; db 19h; db 00h; db 00h; db 00h; db 22h; '"' db 00h; db 00h; db 00h; db 29h; ')' db 00h; db 00h; db 00h; db 31h; '1' db 00h; db 00h; db 00h; db 38h; '8' db 00h; db 00h; db 00h; db FDh; 'í' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F6h; 'æ' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db EEh; '®' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db E7h; '§' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db DEh; 'ž' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db D7h; '—' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db CFh; '' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db C8h; 'ˆ' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 04h; db 00h; db 00h; db 00h; db 0Ch; db 00h; db 00h; db 00h; db 15h; db 00h; db 00h; db 00h; db 1Dh; db 00h; db 00h; db 00h; db 26h; '&' db 00h; db 00h; db 00h; db 2Eh; '.' db 00h; db 00h; db 00h; db 37h; '7' db 00h; db 00h; db 00h; db 3Fh; '?' db 00h; db 00h; db 00h; db FCh; 'ì' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F4h; 'ä' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db EBh; '«' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db E3h; '£' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db DAh; 'š' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db D2h; '’' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db C9h; '‰' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db C1h; '' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 04h; db 00h; db 00h; db 00h; db 0Dh; db 00h; db 00h; db 00h; db 16h; db 00h; db 00h; db 00h; db 1Fh; db 00h; db 00h; db 00h; db 29h; ')' db 00h; db 00h; db 00h; db 32h; '2' db 00h; db 00h; db 00h; db 3Bh; ';' db 00h; db 00h; db 00h; db 44h; 'D' db 00h; db 00h; db 00h; db FCh; 'ì' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F3h; 'ã' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db EAh; 'ª' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db E1h; '¡' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db D7h; '—' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db CEh; 'Ž' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db C5h; '…' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db BCh; '?' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 05h; db 00h; db 00h; db 00h; db 0Fh; db 00h; db 00h; db 00h; db 19h; db 00h; db 00h; db 00h; db 23h; '#' db 00h; db 00h; db 00h; db 2Eh; '.' db 00h; db 00h; db 00h; db 38h; '8' db 00h; db 00h; db 00h; db 42h; 'B' db 00h; db 00h; db 00h; db 4Ch; 'L' db 00h; db 00h; db 00h; db FBh; 'ë' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F1h; 'á' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db E7h; '§' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db DDh; '' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db D2h; '’' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db C8h; 'ˆ' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db BEh; '?' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db B4h; '?' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 05h; db 00h; db 00h; db 00h; db 10h; db 00h; db 00h; db 00h; db 1Bh; db 00h; db 00h; db 00h; db 26h; '&' db 00h; db 00h; db 00h; db 32h; '2' db 00h; db 00h; db 00h; db 3Dh; '=' db 00h; db 00h; db 00h; db 48h; 'H' db 00h; db 00h; db 00h; db 53h; 'S' db 00h; db 00h; db 00h; db FBh; 'ë' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F0h; 'à' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db E5h; '¥' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db DAh; 'š' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db CEh; 'Ž' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db C3h; 'ƒ' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db B8h; 'ñ' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db ADh; '-' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 06h; db 00h; db 00h; db 00h; db 12h; db 00h; db 00h; db 00h; db 1Fh; db 00h; db 00h; db 00h; db 2Bh; '+' db 00h; db 00h; db 00h; db 38h; '8' db 00h; db 00h; db 00h; db 44h; 'D' db 00h; db 00h; db 00h; db 51h; 'Q' db 00h; db 00h; db 00h; db 5Dh; ']' db 00h; db 00h; db 00h; db FAh; 'ê' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db EEh; '®' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db E1h; '¡' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db D5h; '•' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db C8h; 'ˆ' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db BCh; '?' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db AFh; 'ô' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db A3h; '?' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 06h; db 00h; db 00h; db 00h; db 13h; db 00h; db 00h; db 00h; db 21h; '!' db 00h; db 00h; db 00h; db 2Eh; '.' db 00h; db 00h; db 00h; db 3Dh; '=' db 00h; db 00h; db 00h; db 4Ah; 'J' db 00h; db 00h; db 00h; db 58h; 'X' db 00h; db 00h; db 00h; db 65h; 'e' db 00h; db 00h; db 00h; db FAh; 'ê' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db EDh; '­' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db DFh; 'Ÿ' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db D2h; '’' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db C3h; 'ƒ' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db B6h; db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db A8h; 'ð' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 9Bh; '>' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 07h; db 00h; db 00h; db 00h; db 16h; db 00h; db 00h; db 00h; db 25h; '%' db 00h; db 00h; db 00h; db 34h; '4' db 00h; db 00h; db 00h; db 43h; 'C' db 00h; db 00h; db 00h; db 52h; 'R' db 00h; db 00h; db 00h; db 61h; 'a' db 00h; db 00h; db 00h; db 70h; 'p' db 00h; db 00h; db 00h; db F9h; 'é' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db EAh; 'ª' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db DBh; '›' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db CCh; 'Œ' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db BDh; '?' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db AEh; 'R' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 9Fh; '?' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 90h; '?' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 08h; db 00h; db 00h; db 00h; db 18h; db 00h; db 00h; db 00h; db 29h; ')' db 00h; db 00h; db 00h; db 39h; '9' db 00h; db 00h; db 00h; db 4Ah; 'J' db 00h; db 00h; db 00h; db 5Ah; 'Z' db 00h; db 00h; db 00h; db 6Bh; 'k' db 00h; db 00h; db 00h; db 7Bh; '{' db 00h; db 00h; db 00h; db F8h; 'è' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db E8h; '¨' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db D7h; '—' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db C7h; '‡' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db B6h; db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db A6h; '³' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 95h; db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 85h; ':' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 09h; db 00h; db 00h; db 00h; db 1Bh; db 00h; db 00h; db 00h; db 2Dh; '-' db 00h; db 00h; db 00h; db 3Fh; '?' db 00h; db 00h; db 00h; db 52h; 'R' db 00h; db 00h; db 00h; db 64h; 'd' db 00h; db 00h; db 00h; db 76h; 'v' db 00h; db 00h; db 00h; db 88h; '?' db 00h; db 00h; db 00h; db F7h; 'ç' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db E5h; '¥' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db D3h; '“' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db C1h; '' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db AEh; 'R' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 9Ch; '?' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 8Ah; '?' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 78h; 'x' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 0Ah; db 00h; db 00h; db 00h; db 1Eh; db 00h; db 00h; db 00h; db 32h; '2' db 00h; db 00h; db 00h; db 46h; 'F' db 00h; db 00h; db 00h; db 5Ah; 'Z' db 00h; db 00h; db 00h; db 6Eh; 'n' db 00h; db 00h; db 00h; db 82h; ''' db 00h; db 00h; db 00h; db 96h; '-' db 00h; db 00h; db 00h; db F6h; 'æ' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db E2h; '¢' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db CEh; 'Ž' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db BAh; 'ó' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db A6h; '³' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 92h; ''' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 7Eh; '~' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 6Ah; 'j' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 0Bh; db 00h; db 00h; db 00h; db 21h; '!' db 00h; db 00h; db 00h; db 37h; '7' db 00h; db 00h; db 00h; db 4Dh; 'M' db 00h; db 00h; db 00h; db 63h; 'c' db 00h; db 00h; db 00h; db 79h; 'y' db 00h; db 00h; db 00h; db 8Fh; '?' db 00h; db 00h; db 00h; db A5h; '?' db 00h; db 00h; db 00h; db F5h; 'å' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db DFh; 'Ÿ' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db C9h; '‰' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db B3h; 'i' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 9Dh; '?' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 87h; 'Ø' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 71h; 'q' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 5Bh; '[' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 0Ch; db 00h; db 00h; db 00h; db 24h; '$' db 00h; db 00h; db 00h; db 3Ch; '<' db 00h; db 00h; db 00h; db 54h; 'T' db 00h; db 00h; db 00h; db 6Dh; 'm' db 00h; db 00h; db 00h; db 85h; ':' db 00h; db 00h; db 00h; db 9Dh; '?' db 00h; db 00h; db 00h; db B5h; 'ç' db 00h; db 00h; db 00h; db F4h; 'ä' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db DCh; 'œ' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db C4h; '„' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db ACh; '¿' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 93h; '"' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 7Bh; '{' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 63h; 'c' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 4Bh; 'K' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 0Dh; db 00h; db 00h; db 00h; db 27h; ''' db 00h; db 00h; db 00h; db 42h; 'B' db 00h; db 00h; db 00h; db 5Ch; '\' db 00h; db 00h; db 00h; db 78h; 'x' db 00h; db 00h; db 00h; db 92h; ''' db 00h; db 00h; db 00h; db ADh; '-' db 00h; db 00h; db 00h; db C7h; '‡' db 00h; db 00h; db 00h; db F3h; 'ã' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db D9h; '™' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db BEh; '?' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db A4h; 'ý' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 88h; '?' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 6Eh; 'n' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 53h; 'S' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 39h; '9' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 0Eh; db 00h; db 00h; db 00h; db 2Bh; '+' db 00h; db 00h; db 00h; db 49h; 'I' db 00h; db 00h; db 00h; db 66h; 'f' db 00h; db 00h; db 00h; db 84h; '"' db 00h; db 00h; db 00h; db A1h; 'ö' db 00h; db 00h; db 00h; db BFh; 'õ' db 00h; db 00h; db 00h; db DCh; 'œ' db 00h; db 00h; db 00h; db F2h; 'â' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db D5h; '•' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db B7h; 'ú' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 9Ah; '?' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 7Ch; '|' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 5Fh; '_' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 41h; 'A' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 24h; '$' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 10h; db 00h; db 00h; db 00h; db 30h; '0' db 00h; db 00h; db 00h; db 51h; 'Q' db 00h; db 00h; db 00h; db 71h; 'q' db 00h; db 00h; db 00h; db 92h; ''' db 00h; db 00h; db 00h; db B2h; 'I' db 00h; db 00h; db 00h; db D3h; '“' db 00h; db 00h; db 00h; db F3h; 'ã' db 00h; db 00h; db 00h; db F0h; 'à' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db D0h; '' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db AFh; 'ô' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 8Fh; '?' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 6Eh; 'n' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 4Eh; 'N' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 2Dh; '-' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 0Dh; db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 11h; db 00h; db 00h; db 00h; db 34h; '4' db 00h; db 00h; db 00h; db 58h; 'X' db 00h; db 00h; db 00h; db 7Bh; '{' db 00h; db 00h; db 00h; db A0h; 'ÿ' db 00h; db 00h; db 00h; db C3h; 'ƒ' db 00h; db 00h; db 00h; db E7h; '§' db 00h; db 00h; db 00h; db 0Ah; db 01h; db 00h; db 00h; db EFh; '¯' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db CCh; 'Œ' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db A8h; 'ð' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 85h; ':' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 60h; '`' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 3Dh; '=' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 19h; db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F6h; 'æ' db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db 13h; db 00h; db 00h; db 00h; db 3Ah; ':' db 00h; db 00h; db 00h; db 61h; 'a' db 00h; db 00h; db 00h; db 88h; '?' db 00h; db 00h; db 00h; db B0h; 'ø' db 00h; db 00h; db 00h; db D7h; '—' db 00h; db 00h; db 00h; db FEh; 'î' db 00h; db 00h; db 00h; db 25h; '%' db 01h; db 00h; db 00h; db EDh; '­' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db C6h; '†' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 9Fh; '?' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 78h; 'x' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 50h; 'P' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 29h; ')' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 02h; db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db DBh; '›' db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db 15h; db 00h; db 00h; db 00h; db 40h; '@' db 00h; db 00h; db 00h; db 6Bh; 'k' db 00h; db 00h; db 00h; db 96h; '-' db 00h; db 00h; db 00h; db C2h; '‚' db 00h; db 00h; db 00h; db EDh; '­' db 00h; db 00h; db 00h; db 18h; db 01h; db 00h; db 00h; db 43h; 'C' db 01h; db 00h; db 00h; db EBh; '«' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db C0h; '€' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 95h; db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 6Ah; 'j' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 3Eh; '>' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 13h; db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db E8h; '¨' db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db BDh; '?' db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db 17h; db 00h; db 00h; db 00h; db 46h; 'F' db 00h; db 00h; db 00h; db 76h; 'v' db 00h; db 00h; db 00h; db A5h; '?' db 00h; db 00h; db 00h; db D5h; '•' db 00h; db 00h; db 00h; db 04h; db 01h; db 00h; db 00h; db 34h; '4' db 01h; db 00h; db 00h; db 63h; 'c' db 01h; db 00h; db 00h; db E9h; '©' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db BAh; 'ó' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 8Ah; '?' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 5Bh; '[' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 2Bh; '+' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FCh; 'ì' db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db CCh; 'Œ' db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db 9Dh; '?' db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db 1Ah; db 00h; db 00h; db 00h; db 4Eh; 'N' db 00h; db 00h; db 00h; db 82h; ''' db 00h; db 00h; db 00h; db B6h; db 00h; db 00h; db 00h; db EBh; '«' db 00h; db 00h; db 00h; db 1Fh; db 01h; db 00h; db 00h; db 53h; 'S' db 01h; db 00h; db 00h; db 87h; 'Ø' db 01h; db 00h; db 00h; db E6h; '¦' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db B2h; 'I' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 7Eh; '~' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 4Ah; 'J' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 15h; db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db E1h; '¡' db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db ADh; '-' db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db 79h; 'y' db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db 1Ch; db 00h; db 00h; db 00h; db 55h; 'U' db 00h; db 00h; db 00h; db 8Fh; '?' db 00h; db 00h; db 00h; db C8h; 'ˆ' db 00h; db 00h; db 00h; db 02h; db 01h; db 00h; db 00h; db 3Bh; ';' db 01h; db 00h; db 00h; db 75h; 'u' db 01h; db 00h; db 00h; db AEh; 'R' db 01h; db 00h; db 00h; db E4h; '¤' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db ABh; '<' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 71h; 'q' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 38h; '8' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FEh; 'î' db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db C5h; '…' db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db 8Bh; '<' db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db 52h; 'R' db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db 1Fh; db 00h; db 00h; db 00h; db 5Eh; '^' db 00h; db 00h; db 00h; db 9Dh; '?' db 00h; db 00h; db 00h; db DCh; 'œ' db 00h; db 00h; db 00h; db 1Ch; db 01h; db 00h; db 00h; db 5Bh; '[' db 01h; db 00h; db 00h; db 9Ah; '?' db 01h; db 00h; db 00h; db D9h; '™' db 01h; db 00h; db 00h; db E1h; '¡' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db A2h; '÷' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 63h; 'c' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 24h; '$' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db E4h; '¤' db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db A5h; '?' db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db 66h; 'f' db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db 27h; ''' db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db 22h; '"' db 00h; db 00h; db 00h; db 67h; 'g' db 00h; db 00h; db 00h; db ADh; '-' db 00h; db 00h; db 00h; db F2h; 'â' db 00h; db 00h; db 00h; db 39h; '9' db 01h; db 00h; db 00h; db 7Eh; '~' db 01h; db 00h; db 00h; db C4h; '„' db 01h; db 00h; db 00h; db 09h; db 02h; db 00h; db 00h; db DEh; 'ž' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 99h; 'T' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 53h; 'S' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 0Eh; db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db C7h; '‡' db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db 82h; ''' db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db 3Ch; '<' db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db F7h; 'ç' db FDh; 'í' db FFh; 'ï' db FFh; 'ï' db 26h; '&' db 00h; db 00h; db 00h; db 72h; 'r' db 00h; db 00h; db 00h; db BFh; 'õ' db 00h; db 00h; db 00h; db 0Bh; db 01h; db 00h; db 00h; db 59h; 'Y' db 01h; db 00h; db 00h; db A5h; '?' db 01h; db 00h; db 00h; db F2h; 'â' db 01h; db 00h; db 00h; db 3Eh; '>' db 02h; db 00h; db 00h; db DAh; 'š' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 8Eh; '?' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 41h; 'A' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F5h; 'å' db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db A7h; db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db 5Bh; '[' db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db 0Eh; db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db C2h; '‚' db FDh; 'í' db FFh; 'ï' db FFh; 'ï' db 2Ah; '*' db 00h; db 00h; db 00h; db 7Eh; '~' db 00h; db 00h; db 00h; db D2h; '’' db 00h; db 00h; db 00h; db 26h; '&' db 01h; db 00h; db 00h; db 7Bh; '{' db 01h; db 00h; db 00h; db CFh; '' db 01h; db 00h; db 00h; db 23h; '#' db 02h; db 00h; db 00h; db 77h; 'w' db 02h; db 00h; db 00h; db D6h; '–' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 82h; ''' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 2Eh; '.' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db DAh; 'š' db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db 85h; ':' db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db 31h; '1' db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db DDh; '' db FDh; 'í' db FFh; 'ï' db FFh; 'ï' db 89h; '%' db FDh; 'í' db FFh; 'ï' db FFh; 'ï' db 2Eh; '.' db 00h; db 00h; db 00h; db 8Ah; '?' db 00h; db 00h; db 00h; db E7h; '§' db 00h; db 00h; db 00h; db 43h; 'C' db 01h; db 00h; db 00h; db A1h; 'ö' db 01h; db 00h; db 00h; db FDh; 'í' db 01h; db 00h; db 00h; db 5Ah; 'Z' db 02h; db 00h; db 00h; db B6h; db 02h; db 00h; db 00h; db D2h; '’' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 76h; 'v' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 19h; db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db BDh; '?' db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db 5Fh; '_' db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db 03h; db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db A6h; '³' db FDh; 'í' db FFh; 'ï' db FFh; 'ï' db 4Ah; 'J' db FDh; 'í' db FFh; 'ï' db FFh; 'ï' db 33h; '3' db 00h; db 00h; db 00h; db 99h; 'T' db 00h; db 00h; db 00h; db FFh; 'ï' db 00h; db 00h; db 00h; db 65h; 'e' db 01h; db 00h; db 00h; db CBh; '‹' db 01h; db 00h; db 00h; db 31h; '1' db 02h; db 00h; db 00h; db 97h; '-' db 02h; db 00h; db 00h; db FDh; 'í' db 02h; db 00h; db 00h; db CDh; '' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 67h; 'g' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 01h; db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 9Bh; '>' db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db 35h; '5' db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db CFh; '' db FDh; 'í' db FFh; 'ï' db FFh; 'ï' db 69h; 'i' db FDh; 'í' db FFh; 'ï' db FFh; 'ï' db 03h; db FDh; 'í' db FFh; 'ï' db FFh; 'ï' db 38h; '8' db 00h; db 00h; db 00h; db A8h; 'ð' db 00h; db 00h; db 00h; db 18h; db 01h; db 00h; db 00h; db 88h; '?' db 01h; db 00h; db 00h; db F9h; 'é' db 01h; db 00h; db 00h; db 69h; 'i' db 02h; db 00h; db 00h; db D9h; '™' db 02h; db 00h; db 00h; db 49h; 'I' db 03h; db 00h; db 00h; db C8h; 'ˆ' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 58h; 'X' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db E8h; '¨' db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db 78h; 'x' db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db 07h; db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db 97h; '-' db FDh; 'í' db FFh; 'ï' db FFh; 'ï' db 27h; ''' db FDh; 'í' db FFh; 'ï' db FFh; 'ï' db B7h; 'ú' db FCh; 'ì' db FFh; 'ï' db FFh; 'ï' db 3Dh; '=' db 00h; db 00h; db 00h; db B8h; 'ñ' db 00h; db 00h; db 00h; db 34h; '4' db 01h; db 00h; db 00h; db AFh; 'ô' db 01h; db 00h; db 00h; db 2Bh; '+' db 02h; db 00h; db 00h; db A6h; '³' db 02h; db 00h; db 00h; db 22h; '"' db 03h; db 00h; db 00h; db 9Dh; '?' db 03h; db 00h; db 00h; db C3h; 'ƒ' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 48h; 'H' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db CCh; 'Œ' db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db 51h; 'Q' db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db D5h; '•' db FDh; 'í' db FFh; 'ï' db FFh; 'ï' db 5Ah; 'Z' db FDh; 'í' db FFh; 'ï' db FFh; 'ï' db DEh; 'ž' db FCh; 'ì' db FFh; 'ï' db FFh; 'ï' db 63h; 'c' db FCh; 'ì' db FFh; 'ï' db FFh; 'ï' db 44h; 'D' db 00h; db 00h; db 00h; db CCh; 'Œ' db 00h; db 00h; db 00h; db 54h; 'T' db 01h; db 00h; db 00h; db DCh; 'œ' db 01h; db 00h; db 00h; db 64h; 'd' db 02h; db 00h; db 00h; db ECh; '¬' db 02h; db 00h; db 00h; db 74h; 't' db 03h; db 00h; db 00h; db FCh; 'ì' db 03h; db 00h; db 00h; db BCh; '?' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 34h; '4' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db ACh; '¿' db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db 24h; '$' db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db 9Ch; '?' db FDh; 'í' db FFh; 'ï' db FFh; 'ï' db 14h; db FDh; 'í' db FFh; 'ï' db FFh; 'ï' db 8Ch; '?' db FCh; 'ì' db FFh; 'ï' db FFh; 'ï' db 04h; db FCh; 'ì' db FFh; 'ï' db FFh; 'ï' db 4Ah; 'J' db 00h; db 00h; db 00h; db DFh; 'Ÿ' db 00h; db 00h; db 00h; db 75h; 'u' db 01h; db 00h; db 00h; db 0Ah; db 02h; db 00h; db 00h; db A0h; 'ÿ' db 02h; db 00h; db 00h; db 35h; '5' db 03h; db 00h; db 00h; db CBh; '‹' db 03h; db 00h; db 00h; db 60h; '`' db 04h; db 00h; db 00h; db B6h; db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 21h; '!' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 8Bh; '<' db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db F6h; 'æ' db FDh; 'í' db FFh; 'ï' db FFh; 'ï' db 60h; '`' db FDh; 'í' db FFh; 'ï' db FFh; 'ï' db CBh; '‹' db FCh; 'ì' db FFh; 'ï' db FFh; 'ï' db 35h; '5' db FCh; 'ì' db FFh; 'ï' db FFh; 'ï' db A0h; 'ÿ' db FBh; 'ë' db FFh; 'ï' db FFh; 'ï' db 52h; 'R' db 00h; db 00h; db 00h; db F6h; 'æ' db 00h; db 00h; db 00h; db 9Bh; '>' db 01h; db 00h; db 00h; db 3Fh; '?' db 02h; db 00h; db 00h; db E4h; '¤' db 02h; db 00h; db 00h; db 88h; '?' db 03h; db 00h; db 00h; db 2Dh; '-' db 04h; db 00h; db 00h; db D1h; '‘' db 04h; db 00h; db 00h; db AEh; 'R' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 0Ah; db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 65h; 'e' db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db C1h; '' db FDh; 'í' db FFh; 'ï' db FFh; 'ï' db 1Ch; db FDh; 'í' db FFh; 'ï' db FFh; 'ï' db 78h; 'x' db FCh; 'ì' db FFh; 'ï' db FFh; 'ï' db D3h; '“' db FBh; 'ë' db FFh; 'ï' db FFh; 'ï' db 2Fh; '/' db FBh; 'ë' db FFh; 'ï' db FFh; 'ï' db 5Ah; 'Z' db 00h; db 00h; db 00h; db 0Fh; db 01h; db 00h; db 00h; db C4h; '„' db 01h; db 00h; db 00h; db 79h; 'y' db 02h; db 00h; db 00h; db 2Eh; '.' db 03h; db 00h; db 00h; db E3h; '£' db 03h; db 00h; db 00h; db 98h; '?' db 04h; db 00h; db 00h; db 4Dh; 'M' db 05h; db 00h; db 00h; db A6h; '³' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F1h; 'á' db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db 3Ch; '<' db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db 87h; 'Ø' db FDh; 'í' db FFh; 'ï' db FFh; 'ï' db D2h; '’' db FCh; 'ì' db FFh; 'ï' db FFh; 'ï' db 1Dh; db FCh; 'ì' db FFh; 'ï' db FFh; 'ï' db 68h; 'h' db FBh; 'ë' db FFh; 'ï' db FFh; 'ï' db B3h; 'i' db FAh; 'ê' db FFh; 'ï' db FFh; 'ï' db 63h; 'c' db 00h; db 00h; db 00h; db 2Ah; '*' db 01h; db 00h; db 00h; db F1h; 'á' db 01h; db 00h; db 00h; db B8h; 'ñ' db 02h; db 00h; db 00h; db 7Fh; '' db 03h; db 00h; db 00h; db 46h; 'F' db 04h; db 00h; db 00h; db 0Dh; db 05h; db 00h; db 00h; db D4h; '”' db 05h; db 00h; db 00h; db 9Dh; '?' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db D6h; '–' db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db 0Fh; db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db 48h; 'H' db FDh; 'í' db FFh; 'ï' db FFh; 'ï' db 81h; '?' db FCh; 'ì' db FFh; 'ï' db FFh; 'ï' db BAh; 'ó' db FBh; 'ë' db FFh; 'ï' db FFh; 'ï' db F3h; 'ã' db FAh; 'ê' db FFh; 'ï' db FFh; 'ï' db 2Ch; ',' db FAh; 'ê' db FFh; 'ï' db FFh; 'ï' db 6Dh; 'm' db 00h; db 00h; db 00h; db 48h; 'H' db 01h; db 00h; db 00h; db 23h; '#' db 02h; db 00h; db 00h; db FEh; 'î' db 02h; db 00h; db 00h; db D9h; '™' db 03h; db 00h; db 00h; db B4h; '?' db 04h; db 00h; db 00h; db 8Fh; '?' db 05h; db 00h; db 00h; db 6Ah; 'j' db 06h; db 00h; db 00h; db 93h; '"' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db B8h; 'ñ' db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db DDh; '' db FDh; 'í' db FFh; 'ï' db FFh; 'ï' db 02h; db FDh; 'í' db FFh; 'ï' db FFh; 'ï' db 27h; ''' db FCh; 'ì' db FFh; 'ï' db FFh; 'ï' db 4Ch; 'L' db FBh; 'ë' db FFh; 'ï' db FFh; 'ï' db 71h; 'q' db FAh; 'ê' db FFh; 'ï' db FFh; 'ï' db 96h; '-' db F9h; 'é' db FFh; 'ï' db FFh; 'ï' db 78h; 'x' db 00h; db 00h; db 00h; db 68h; 'h' db 01h; db 00h; db 00h; db 59h; 'Y' db 02h; db 00h; db 00h; db 49h; 'I' db 03h; db 00h; db 00h; db 3Bh; ';' db 04h; db 00h; db 00h; db 2Bh; '+' db 05h; db 00h; db 00h; db 1Ch; db 06h; db 00h; db 00h; db 0Ch; db 07h; db 00h; db 00h; db 88h; '?' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 98h; '?' db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db A7h; db FDh; 'í' db FFh; 'ï' db FFh; 'ï' db B7h; 'ú' db FCh; 'ì' db FFh; 'ï' db FFh; 'ï' db C5h; '…' db FBh; 'ë' db FFh; 'ï' db FFh; 'ï' db D5h; '•' db FAh; 'ê' db FFh; 'ï' db FFh; 'ï' db E4h; '¤' db F9h; 'é' db FFh; 'ï' db FFh; 'ï' db F4h; 'ä' db F8h; 'è' db FFh; 'ï' db FFh; 'ï' db 84h; '"' db 00h; db 00h; db 00h; db 8Dh; '?' db 01h; db 00h; db 00h; db 96h; '-' db 02h; db 00h; db 00h; db 9Fh; '?' db 03h; db 00h; db 00h; db A8h; 'ð' db 04h; db 00h; db 00h; db B1h; '+' db 05h; db 00h; db 00h; db BAh; 'ó' db 06h; db 00h; db 00h; db C3h; 'ƒ' db 07h; db 00h; db 00h; db 7Ch; '|' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 73h; 's' db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db 6Ah; 'j' db FDh; 'í' db FFh; 'ï' db FFh; 'ï' db 61h; 'a' db FCh; 'ì' db FFh; 'ï' db FFh; 'ï' db 58h; 'X' db FBh; 'ë' db FFh; 'ï' db FFh; 'ï' db 4Fh; 'O' db FAh; 'ê' db FFh; 'ï' db FFh; 'ï' db 46h; 'F' db F9h; 'é' db FFh; 'ï' db FFh; 'ï' db 3Dh; '=' db F8h; 'è' db FFh; 'ï' db FFh; 'ï' db 91h; ''' db 00h; db 00h; db 00h; db B4h; '?' db 01h; db 00h; db 00h; db D8h; '˜' db 02h; db 00h; db 00h; db FBh; 'ë' db 03h; db 00h; db 00h; db 1Fh; db 05h; db 00h; db 00h; db 42h; 'B' db 06h; db 00h; db 00h; db 66h; 'f' db 07h; db 00h; db 00h; db 89h; '%' db 08h; db 00h; db 00h; db 6Fh; 'o' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 4Ch; 'L' db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db 28h; '(' db FDh; 'í' db FFh; 'ï' db FFh; 'ï' db 05h; db FCh; 'ì' db FFh; 'ï' db FFh; 'ï' db E1h; '¡' db FAh; 'ê' db FFh; 'ï' db FFh; 'ï' db BEh; '?' db F9h; 'é' db FFh; 'ï' db FFh; 'ï' db 9Ah; '?' db F8h; 'è' db FFh; 'ï' db FFh; 'ï' db 77h; 'w' db F7h; 'ç' db FFh; 'ï' db FFh; 'ï' db A0h; 'ÿ' db 00h; db 00h; db 00h; db E0h; ' ' db 01h; db 00h; db 00h; db 21h; '!' db 03h; db 00h; db 00h; db 61h; 'a' db 04h; db 00h; db 00h; db A2h; '÷' db 05h; db 00h; db 00h; db E2h; '¢' db 06h; db 00h; db 00h; db 23h; '#' db 08h; db 00h; db 00h; db 63h; 'c' db 09h; db 00h; db 00h; db 60h; '`' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 20h; ' ' db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db DFh; 'Ÿ' db FCh; 'ì' db FFh; 'ï' db FFh; 'ï' db 9Fh; '?' db FBh; 'ë' db FFh; 'ï' db FFh; 'ï' db 5Eh; '^' db FAh; 'ê' db FFh; 'ï' db FFh; 'ï' db 1Eh; db F9h; 'é' db FFh; 'ï' db FFh; 'ï' db DDh; '' db F7h; 'ç' db FFh; 'ï' db FFh; 'ï' db 9Dh; '?' db F6h; 'æ' db FFh; 'ï' db FFh; 'ï' db B0h; 'ø' db 00h; db 00h; db 00h; db 10h; db 02h; db 00h; db 00h; db 71h; 'q' db 03h; db 00h; db 00h; db D1h; '‘' db 04h; db 00h; db 00h; db 33h; '3' db 06h; db 00h; db 00h; db 93h; '"' db 07h; db 00h; db 00h; db F4h; 'ä' db 08h; db 00h; db 00h; db 54h; 'T' db 0Ah; db 00h; db 00h; db 50h; 'P' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db F0h; 'à' db FDh; 'í' db FFh; 'ï' db FFh; 'ï' db 8Fh; '?' db FCh; 'ì' db FFh; 'ï' db FFh; 'ï' db 2Fh; '/' db FBh; 'ë' db FFh; 'ï' db FFh; 'ï' db CDh; '' db F9h; 'é' db FFh; 'ï' db FFh; 'ï' db 6Dh; 'm' db F8h; 'è' db FFh; 'ï' db FFh; 'ï' db 0Ch; db F7h; 'ç' db FFh; 'ï' db FFh; 'ï' db ACh; '¿' db F5h; 'å' db FFh; 'ï' db FFh; 'ï' db C2h; '‚' db 00h; db 00h; db 00h; db 46h; 'F' db 02h; db 00h; db 00h; db CAh; 'Š' db 03h; db 00h; db 00h; db 4Eh; 'N' db 05h; db 00h; db 00h; db D2h; '’' db 06h; db 00h; db 00h; db 56h; 'V' db 08h; db 00h; db 00h; db DAh; 'š' db 09h; db 00h; db 00h; db 5Eh; '^' db 0Bh; db 00h; db 00h; db 3Eh; '>' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db BAh; 'ó' db FDh; 'í' db FFh; 'ï' db FFh; 'ï' db 36h; '6' db FCh; 'ì' db FFh; 'ï' db FFh; 'ï' db B2h; 'I' db FAh; 'ê' db FFh; 'ï' db FFh; 'ï' db 2Eh; '.' db F9h; 'é' db FFh; 'ï' db FFh; 'ï' db AAh; 'ò' db F7h; 'ç' db FFh; 'ï' db FFh; 'ï' db 26h; '&' db F6h; 'æ' db FFh; 'ï' db FFh; 'ï' db A2h; '÷' db F4h; 'ä' db FFh; 'ï' db FFh; 'ï' db D5h; '•' db 00h; db 00h; db 00h; db 7Fh; '' db 02h; db 00h; db 00h; db 2Ah; '*' db 04h; db 00h; db 00h; db D4h; '”' db 05h; db 00h; db 00h; db 80h; '?' db 07h; db 00h; db 00h; db 2Ah; '*' db 09h; db 00h; db 00h; db D5h; '•' db 0Ah; db 00h; db 00h; db 7Fh; '' db 0Ch; db 00h; db 00h; db 2Bh; '+' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 81h; '?' db FDh; 'í' db FFh; 'ï' db FFh; 'ï' db D6h; '–' db FBh; 'ë' db FFh; 'ï' db FFh; 'ï' db 2Ch; ',' db FAh; 'ê' db FFh; 'ï' db FFh; 'ï' db 80h; '?' db F8h; 'è' db FFh; 'ï' db FFh; 'ï' db D6h; '–' db F6h; 'æ' db FFh; 'ï' db FFh; 'ï' db 2Bh; '+' db F5h; 'å' db FFh; 'ï' db FFh; 'ï' db 81h; '?' db F3h; 'ã' db FFh; 'ï' db FFh; 'ï' db EAh; 'ª' db 00h; db 00h; db 00h; db BFh; 'õ' db 02h; db 00h; db 00h; db 95h; db 04h; db 00h; db 00h; db 6Ah; 'j' db 06h; db 00h; db 00h; db 40h; '@' db 08h; db 00h; db 00h; db 15h; db 0Ah; db 00h; db 00h; db EBh; '«' db 0Bh; db 00h; db 00h; db C0h; '€' db 0Dh; db 00h; db 00h; db 16h; db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 41h; 'A' db FDh; 'í' db FFh; 'ï' db FFh; 'ï' db 6Bh; 'k' db FBh; 'ë' db FFh; 'ï' db FFh; 'ï' db 96h; '-' db F9h; 'é' db FFh; 'ï' db FFh; 'ï' db C0h; '€' db F7h; 'ç' db FFh; 'ï' db FFh; 'ï' db EBh; '«' db F5h; 'å' db FFh; 'ï' db FFh; 'ï' db 15h; db F4h; 'ä' db FFh; 'ï' db FFh; 'ï' db 40h; '@' db F2h; 'â' db FFh; 'ï' db FFh; 'ï' db 02h; db 01h; db 00h; db 00h; db 06h; db 03h; db 00h; db 00h; db 0Bh; db 05h; db 00h; db 00h; db 0Fh; db 07h; db 00h; db 00h; db 14h; db 09h; db 00h; db 00h; db 18h; db 0Bh; db 00h; db 00h; db 1Dh; db 0Dh; db 00h; db 00h; db 21h; '!' db 0Fh; db 00h; db 00h; db FEh; 'î' db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db FAh; 'ê' db FCh; 'ì' db FFh; 'ï' db FFh; 'ï' db F5h; 'å' db FAh; 'ê' db FFh; 'ï' db FFh; 'ï' db F1h; 'á' db F8h; 'è' db FFh; 'ï' db FFh; 'ï' db ECh; '¬' db F6h; 'æ' db FFh; 'ï' db FFh; 'ï' db E8h; '¨' db F4h; 'ä' db FFh; 'ï' db FFh; 'ï' db E3h; '£' db F2h; 'â' db FFh; 'ï' db FFh; 'ï' db DFh; 'Ÿ' db F0h; 'à' db FFh; 'ï' db FFh; 'ï' db 1Ch; db 01h; db 00h; db 00h; db 54h; 'T' db 03h; db 00h; db 00h; db 8Ch; '?' db 05h; db 00h; db 00h; db C4h; '„' db 07h; db 00h; db 00h; db FCh; 'ì' db 09h; db 00h; db 00h; db 34h; '4' db 0Ch; db 00h; db 00h; db 6Ch; 'l' db 0Eh; db 00h; db 00h; db A4h; 'ý' db 10h; db 00h; db 00h; db E4h; '¤' db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db ACh; '¿' db FCh; 'ì' db FFh; 'ï' db FFh; 'ï' db 74h; 't' db FAh; 'ê' db FFh; 'ï' db FFh; 'ï' db 3Ch; '<' db F8h; 'è' db FFh; 'ï' db FFh; 'ï' db 04h; db F6h; 'æ' db FFh; 'ï' db FFh; 'ï' db CCh; 'Œ' db F3h; 'ã' db FFh; 'ï' db FFh; 'ï' db 94h; '"' db F1h; 'á' db FFh; 'ï' db FFh; 'ï' db 5Ch; '\' db EFh; '¯' db FFh; 'ï' db FFh; 'ï' db 38h; '8' db 01h; db 00h; db 00h; db A8h; 'ð' db 03h; db 00h; db 00h; db 19h; db 06h; db 00h; db 00h; db 89h; '%' db 08h; db 00h; db 00h; db FBh; 'ë' db 0Ah; db 00h; db 00h; db 6Bh; 'k' db 0Dh; db 00h; db 00h; db DCh; 'œ' db 0Fh; db 00h; db 00h; db 4Ch; 'L' db 12h; db 00h; db 00h; db C8h; 'ˆ' db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db 58h; 'X' db FCh; 'ì' db FFh; 'ï' db FFh; 'ï' db E7h; '§' db F9h; 'é' db FFh; 'ï' db FFh; 'ï' db 77h; 'w' db F7h; 'ç' db FFh; 'ï' db FFh; 'ï' db 05h; db F5h; 'å' db FFh; 'ï' db FFh; 'ï' db 95h; db F2h; 'â' db FFh; 'ï' db FFh; 'ï' db 24h; '$' db F0h; 'à' db FFh; 'ï' db FFh; 'ï' db B4h; '?' db EDh; '­' db FFh; 'ï' db FFh; 'ï' db 57h; 'W' db 01h; db 00h; db 00h; db 06h; db 04h; db 00h; db 00h; db B5h; 'ç' db 06h; db 00h; db 00h; db 64h; 'd' db 09h; db 00h; db 00h; db 14h; db 0Ch; db 00h; db 00h; db C3h; 'ƒ' db 0Eh; db 00h; db 00h; db 72h; 'r' db 11h; db 00h; db 00h; db 21h; '!' db 14h; db 00h; db 00h; db A9h; 'c' db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db FAh; 'ê' db FBh; 'ë' db FFh; 'ï' db FFh; 'ï' db 4Bh; 'K' db F9h; 'é' db FFh; 'ï' db FFh; 'ï' db 9Ch; '?' db F6h; 'æ' db FFh; 'ï' db FFh; 'ï' db ECh; '¬' db F3h; 'ã' db FFh; 'ï' db FFh; 'ï' db 3Dh; '=' db F1h; 'á' db FFh; 'ï' db FFh; 'ï' db 8Eh; '?' db EEh; '®' db FFh; 'ï' db FFh; 'ï' db DFh; 'Ÿ' db EBh; '«' db FFh; 'ï' db FFh; 'ï' db 7Ah; 'z' db 01h; db 00h; db 00h; db 6Eh; 'n' db 04h; db 00h; db 00h; db 62h; 'b' db 07h; db 00h; db 00h; db 56h; 'V' db 0Ah; db 00h; db 00h; db 4Ah; 'J' db 0Dh; db 00h; db 00h; db 3Eh; '>' db 10h; db 00h; db 00h; db 32h; '2' db 13h; db 00h; db 00h; db 26h; '&' db 16h; db 00h; db 00h; db 86h; 'Å' db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db 92h; ''' db FBh; 'ë' db FFh; 'ï' db FFh; 'ï' db 9Eh; '?' db F8h; 'è' db FFh; 'ï' db FFh; 'ï' db AAh; 'ò' db F5h; 'å' db FFh; 'ï' db FFh; 'ï' db B6h; db F2h; 'â' db FFh; 'ï' db FFh; 'ï' db C2h; '‚' db EFh; '¯' db FFh; 'ï' db FFh; 'ï' db CEh; 'Ž' db ECh; '¬' db FFh; 'ï' db FFh; 'ï' db DAh; 'š' db E9h; '©' db FFh; 'ï' db FFh; 'ï' db 9Fh; '?' db 01h; db 00h; db 00h; db DEh; 'ž' db 04h; db 00h; db 00h; db 1Eh; db 08h; db 00h; db 00h; db 5Dh; ']' db 0Bh; db 00h; db 00h; db 9Eh; '?' db 0Eh; db 00h; db 00h; db DDh; '' db 11h; db 00h; db 00h; db 1Dh; db 15h; db 00h; db 00h; db 5Ch; '\' db 18h; db 00h; db 00h; db 61h; 'a' db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db 22h; '"' db FBh; 'ë' db FFh; 'ï' db FFh; 'ï' db E2h; '¢' db F7h; 'ç' db FFh; 'ï' db FFh; 'ï' db A3h; '?' db F4h; 'ä' db FFh; 'ï' db FFh; 'ï' db 62h; 'b' db F1h; 'á' db FFh; 'ï' db FFh; 'ï' db 23h; '#' db EEh; '®' db FFh; 'ï' db FFh; 'ï' db E3h; '£' db EAh; 'ª' db FFh; 'ï' db FFh; 'ï' db A4h; 'ý' db E7h; '§' db FFh; 'ï' db FFh; 'ï' db C9h; '‰' db 01h; db 00h; db 00h; db 5Ch; '\' db 05h; db 00h; db 00h; db EFh; '¯' db 08h; db 00h; db 00h; db 82h; ''' db 0Ch; db 00h; db 00h; db 15h; db 10h; db 00h; db 00h; db A8h; 'ð' db 13h; db 00h; db 00h; db 3Bh; ';' db 17h; db 00h; db 00h; db CEh; 'Ž' db 1Ah; db 00h; db 00h; db 37h; '7' db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db A4h; 'ý' db FAh; 'ê' db FFh; 'ï' db FFh; 'ï' db 11h; db F7h; 'ç' db FFh; 'ï' db FFh; 'ï' db 7Eh; '~' db F3h; 'ã' db FFh; 'ï' db FFh; 'ï' db EBh; '«' db EFh; '¯' db FFh; 'ï' db FFh; 'ï' db 58h; 'X' db ECh; '¬' db FFh; 'ï' db FFh; 'ï' db C5h; '…' db E8h; '¨' db FFh; 'ï' db FFh; 'ï' db 32h; '2' db E5h; '¥' db FFh; 'ï' db FFh; 'ï' db F7h; 'ç' db 01h; db 00h; db 00h; db E5h; '¥' db 05h; db 00h; db 00h; db D4h; '”' db 09h; db 00h; db 00h; db C2h; '‚' db 0Dh; db 00h; db 00h; db B1h; '+' db 11h; db 00h; db 00h; db 9Fh; '?' db 15h; db 00h; db 00h; db 8Eh; '?' db 19h; db 00h; db 00h; db 7Ch; '|' db 1Dh; db 00h; db 00h; db 09h; db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db 1Bh; db FAh; 'ê' db FFh; 'ï' db FFh; 'ï' db 2Ch; ',' db F6h; 'æ' db FFh; 'ï' db FFh; 'ï' db 3Eh; '>' db F2h; 'â' db FFh; 'ï' db FFh; 'ï' db 4Fh; 'O' db EEh; '®' db FFh; 'ï' db FFh; 'ï' db 61h; 'a' db EAh; 'ª' db FFh; 'ï' db FFh; 'ï' db 72h; 'r' db E6h; '¦' db FFh; 'ï' db FFh; 'ï' db 84h; '"' db E2h; '¢' db FFh; 'ï' db FFh; 'ï' db 29h; ')' db 02h; db 00h; db 00h; db 7Ch; '|' db 06h; db 00h; db 00h; db CFh; '' db 0Ah; db 00h; db 00h; db 22h; '"' db 0Fh; db 00h; db 00h; db 75h; 'u' db 13h; db 00h; db 00h; db C8h; 'ˆ' db 17h; db 00h; db 00h; db 1Bh; db 1Ch; db 00h; db 00h; db 6Eh; 'n' db 20h; ' ' db 00h; db 00h; db D7h; '—' db FDh; 'í' db FFh; 'ï' db FFh; 'ï' db 84h; '"' db F9h; 'é' db FFh; 'ï' db FFh; 'ï' db 31h; '1' db F5h; 'å' db FFh; 'ï' db FFh; 'ï' db DEh; 'ž' db F0h; 'à' db FFh; 'ï' db FFh; 'ï' db 8Bh; '<' db ECh; '¬' db FFh; 'ï' db FFh; 'ï' db 38h; '8' db E8h; '¨' db FFh; 'ï' db FFh; 'ï' db E5h; '¥' db E3h; '£' db FFh; 'ï' db FFh; 'ï' db 92h; ''' db DFh; 'Ÿ' db FFh; 'ï' db FFh; 'ï' db 60h; '`' db 02h; db 00h; db 00h; db 21h; '!' db 07h; db 00h; db 00h; db E3h; '£' db 0Bh; db 00h; db 00h; db A4h; 'ý' db 10h; db 00h; db 00h; db 67h; 'g' db 15h; db 00h; db 00h; db 28h; '(' db 1Ah; db 00h; db 00h; db EAh; 'ª' db 1Eh; db 00h; db 00h; db ABh; '<' db 23h; '#' db 00h; db 00h; db A0h; 'ÿ' db FDh; 'í' db FFh; 'ï' db FFh; 'ï' db DFh; 'Ÿ' db F8h; 'è' db FFh; 'ï' db FFh; 'ï' db 1Dh; db F4h; 'ä' db FFh; 'ï' db FFh; 'ï' db 5Ch; '\' db EFh; '¯' db FFh; 'ï' db FFh; 'ï' db 99h; 'T' db EAh; 'ª' db FFh; 'ï' db FFh; 'ï' db D8h; '˜' db E5h; '¥' db FFh; 'ï' db FFh; 'ï' db 16h; db E1h; '¡' db FFh; 'ï' db FFh; 'ï' db 55h; 'U' db DCh; 'œ' db FFh; 'ï' db FFh; 'ï' db 9Dh; '?' db 02h; db 00h; db 00h; db D8h; '˜' db 07h; db 00h; db 00h; db 14h; db 0Dh; db 00h; db 00h; db 4Fh; 'O' db 12h; db 00h; db 00h; db 8Bh; '<' db 17h; db 00h; db 00h; db C6h; '†' db 1Ch; db 00h; db 00h; db 02h; db 22h; '"' db 00h; db 00h; db 3Dh; '=' db 27h; ''' db 00h; db 00h; db 63h; 'c' db FDh; 'í' db FFh; 'ï' db FFh; 'ï' db 28h; '(' db F8h; 'è' db FFh; 'ï' db FFh; 'ï' db ECh; '¬' db F2h; 'â' db FFh; 'ï' db FFh; 'ï' db B1h; '+' db EDh; '­' db FFh; 'ï' db FFh; 'ï' db 75h; 'u' db E8h; '¨' db FFh; 'ï' db FFh; 'ï' db 3Ah; ':' db E3h; '£' db FFh; 'ï' db FFh; 'ï' db FEh; 'î' db DDh; '' db FFh; 'ï' db FFh; 'ï' db C3h; 'ƒ' db D8h; '˜' db FFh; 'ï' db FFh; 'ï' db E0h; ' ' db 02h; db 00h; db 00h; db A1h; 'ö' db 08h; db 00h; db 00h; db 63h; 'c' db 0Eh; db 00h; db 00h; db 24h; '$' db 14h; db 00h; db 00h; db E6h; '¦' db 19h; db 00h; db 00h; db A7h; db 1Fh; db 00h; db 00h; db 69h; 'i' db 25h; '%' db 00h; db 00h; db 2Ah; '*' db 2Bh; '+' db 00h; db 00h; db 20h; ' ' db FDh; 'í' db FFh; 'ï' db FFh; 'ï' db 5Fh; '_' db F7h; 'ç' db FFh; 'ï' db FFh; 'ï' db 9Dh; '?' db F1h; 'á' db FFh; 'ï' db FFh; 'ï' db DCh; 'œ' db EBh; '«' db FFh; 'ï' db FFh; 'ï' db 1Ah; db E6h; '¦' db FFh; 'ï' db FFh; 'ï' db 59h; 'Y' db E0h; ' ' db FFh; 'ï' db FFh; 'ï' db 97h; '-' db DAh; 'š' db FFh; 'ï' db FFh; 'ï' db D6h; '–' db D4h; '”' db FFh; 'ï' db FFh; 'ï' db 2Ah; '*' db 03h; db 00h; db 00h; db 7Fh; '' db 09h; db 00h; db 00h; db D4h; '”' db 0Fh; db 00h; db 00h; db 29h; ')' db 16h; db 00h; db 00h; db 7Eh; '~' db 1Ch; db 00h; db 00h; db D3h; '“' db 22h; '"' db 00h; db 00h; db 28h; '(' db 29h; ')' db 00h; db 00h; db 7Dh; '}' db 2Fh; '/' db 00h; db 00h; db D6h; '–' db FCh; 'ì' db FFh; 'ï' db FFh; 'ï' db 81h; '?' db F6h; 'æ' db FFh; 'ï' db FFh; 'ï' db 2Ch; ',' db F0h; 'à' db FFh; 'ï' db FFh; 'ï' db D7h; '—' db E9h; '©' db FFh; 'ï' db FFh; 'ï' db 82h; ''' db E3h; '£' db FFh; 'ï' db FFh; 'ï' db 2Dh; '-' db DDh; '' db FFh; 'ï' db FFh; 'ï' db D8h; '˜' db D6h; '–' db FFh; 'ï' db FFh; 'ï' db 83h; '?' db D0h; '' db FFh; 'ï' db FFh; 'ï' db 7Bh; '{' db 03h; db 00h; db 00h; db 72h; 'r' db 0Ah; db 00h; db 00h; db 69h; 'i' db 11h; db 00h; db 00h; db 60h; '`' db 18h; db 00h; db 00h; db 57h; 'W' db 1Fh; db 00h; db 00h; db 4Eh; 'N' db 26h; '&' db 00h; db 00h; db 45h; 'E' db 2Dh; '-' db 00h; db 00h; db 3Ch; '<' db 34h; '4' db 00h; db 00h; db 85h; ':' db FCh; 'ì' db FFh; 'ï' db FFh; 'ï' db 8Eh; '?' db F5h; 'å' db FFh; 'ï' db FFh; 'ï' db 97h; '-' db EEh; '®' db FFh; 'ï' db FFh; 'ï' db A0h; 'ÿ' db E7h; '§' db FFh; 'ï' db FFh; 'ï' db A9h; 'c' db E0h; ' ' db FFh; 'ï' db FFh; 'ï' db B2h; 'I' db D9h; '™' db FFh; 'ï' db FFh; 'ï' db BBh; '>' db D2h; '’' db FFh; 'ï' db FFh; 'ï' db C4h; '„' db CBh; '‹' db FFh; 'ï' db FFh; 'ï' db D4h; '”' db 03h; db 00h; db 00h; db 7Dh; '}' db 0Bh; db 00h; db 00h; db 26h; '&' db 13h; db 00h; db 00h; db CFh; '' db 1Ah; db 00h; db 00h; db 79h; 'y' db 22h; '"' db 00h; db 00h; db 22h; '"' db 2Ah; '*' db 00h; db 00h; db CBh; '‹' db 31h; '1' db 00h; db 00h; db 74h; 't' db 39h; '9' db 00h; db 00h; db 2Ch; ',' db FCh; 'ì' db FFh; 'ï' db FFh; 'ï' db 83h; '?' db F4h; 'ä' db FFh; 'ï' db FFh; 'ï' db DAh; 'š' db ECh; '¬' db FFh; 'ï' db FFh; 'ï' db 31h; '1' db E5h; '¥' db FFh; 'ï' db FFh; 'ï' db 87h; 'Ø' db DDh; '' db FFh; 'ï' db FFh; 'ï' db DEh; 'ž' db D5h; '•' db FFh; 'ï' db FFh; 'ï' db 35h; '5' db CEh; 'Ž' db FFh; 'ï' db FFh; 'ï' db 8Ch; '?' db C6h; '†' db FFh; 'ï' db FFh; 'ï' db 36h; '6' db 04h; db 00h; db 00h; db A3h; '?' db 0Ch; db 00h; db 00h; db 11h; db 15h; db 00h; db 00h; db 7Eh; '~' db 1Dh; db 00h; db 00h; db ECh; '¬' db 25h; '%' db 00h; db 00h; db 59h; 'Y' db 2Eh; '.' db 00h; db 00h; db C7h; '‡' db 36h; '6' db 00h; db 00h; db 34h; '4' db 3Fh; '?' db 00h; db 00h; db CAh; 'Š' db FBh; 'ë' db FFh; 'ï' db FFh; 'ï' db 5Dh; ']' db F3h; 'ã' db FFh; 'ï' db FFh; 'ï' db EFh; '¯' db EAh; 'ª' db FFh; 'ï' db FFh; 'ï' db 82h; ''' db E2h; '¢' db FFh; 'ï' db FFh; 'ï' db 14h; db DAh; 'š' db FFh; 'ï' db FFh; 'ï' db A7h; db D1h; '‘' db FFh; 'ï' db FFh; 'ï' db 39h; '9' db C9h; '‰' db FFh; 'ï' db FFh; 'ï' db CCh; 'Œ' db C0h; '€' db FFh; 'ï' db FFh; 'ï' db A2h; '÷' db 04h; db 00h; db 00h; db E7h; '§' db 0Dh; db 00h; db 00h; db 2Ch; ',' db 17h; db 00h; db 00h; db 71h; 'q' db 20h; ' ' db 00h; db 00h; db B7h; 'ú' db 29h; ')' db 00h; db 00h; db FCh; 'ì' db 32h; '2' db 00h; db 00h; db 41h; 'A' db 3Ch; '<' db 00h; db 00h; db 86h; 'Å' db 45h; 'E' db 00h; db 00h; db 5Eh; '^' db FBh; 'ë' db FFh; 'ï' db FFh; 'ï' db 19h; db F2h; 'â' db FFh; 'ï' db FFh; 'ï' db D4h; '”' db E8h; '¨' db FFh; 'ï' db FFh; 'ï' db 8Fh; '?' db DFh; 'Ÿ' db FFh; 'ï' db FFh; 'ï' db 49h; 'I' db D6h; '–' db FFh; 'ï' db FFh; 'ï' db 04h; db CDh; '' db FFh; 'ï' db FFh; 'ï' db BFh; 'õ' db C3h; 'ƒ' db FFh; 'ï' db FFh; 'ï' db 7Ah; 'z' db BAh; 'ó' db FFh; 'ï' db FFh; 'ï' db 19h; db 05h; db 00h; db 00h; db 4Bh; 'K' db 0Fh; db 00h; db 00h; db 7Eh; '~' db 19h; db 00h; db 00h; db B0h; 'ø' db 23h; '#' db 00h; db 00h; db E3h; '£' db 2Dh; '-' db 00h; db 00h; db 15h; db 38h; '8' db 00h; db 00h; db 48h; 'H' db 42h; 'B' db 00h; db 00h; db 7Ah; 'z' db 4Ch; 'L' db 00h; db 00h; db E7h; '§' db FAh; 'ê' db FFh; 'ï' db FFh; 'ï' db B5h; 'ç' db F0h; 'à' db FFh; 'ï' db FFh; 'ï' db 82h; ''' db E6h; '¦' db FFh; 'ï' db FFh; 'ï' db 50h; 'P' db DCh; 'œ' db FFh; 'ï' db FFh; 'ï' db 1Dh; db D2h; '’' db FFh; 'ï' db FFh; 'ï' db EBh; '«' db C7h; '‡' db FFh; 'ï' db FFh; 'ï' db B8h; 'ñ' db BDh; '?' db FFh; 'ï' db FFh; 'ï' db 86h; 'Å' db B3h; 'i' db FFh; 'ï' db FFh; 'ï' db 9Bh; '>' db 05h; db 00h; db 00h; db D2h; '’' db 10h; db 00h; db 00h; db 0Ah; db 1Ch; db 00h; db 00h; db 41h; 'A' db 27h; ''' db 00h; db 00h; db 7Ah; 'z' db 32h; '2' db 00h; db 00h; db B1h; '+' db 3Dh; '=' db 00h; db 00h; db E9h; '©' db 48h; 'H' db 00h; db 00h; db 20h; ' ' db 54h; 'T' db 00h; db 00h; db 65h; 'e' db FAh; 'ê' db FFh; 'ï' db FFh; 'ï' db 2Eh; '.' db EFh; '¯' db FFh; 'ï' db FFh; 'ï' db F6h; 'æ' db E3h; '£' db FFh; 'ï' db FFh; 'ï' db BFh; 'õ' db D8h; '˜' db FFh; 'ï' db FFh; 'ï' db 86h; 'Å' db CDh; '' db FFh; 'ï' db FFh; 'ï' db 4Fh; 'O' db C2h; '‚' db FFh; 'ï' db FFh; 'ï' db 17h; db B7h; 'ú' db FFh; 'ï' db FFh; 'ï' db E0h; ' ' db ABh; '<' db FFh; 'ï' db FFh; 'ï' db 2Bh; '+' db 06h; db 00h; db 00h; db 81h; '?' db 12h; db 00h; db 00h; db D8h; '˜' db 1Eh; db 00h; db 00h; db 2Eh; '.' db 2Bh; '+' db 00h; db 00h; db 86h; 'Å' db 37h; '7' db 00h; db 00h; db DCh; 'œ' db 43h; 'C' db 00h; db 00h; db 33h; '3' db 50h; 'P' db 00h; db 00h; db 89h; '%' db 5Ch; '\' db 00h; db 00h; db D5h; '•' db F9h; 'é' db FFh; 'ï' db FFh; 'ï' db 7Fh; '' db EDh; '­' db FFh; 'ï' db FFh; 'ï' db 28h; '(' db E1h; '¡' db FFh; 'ï' db FFh; 'ï' db D2h; '’' db D4h; '”' db FFh; 'ï' db FFh; 'ï' db 7Ah; 'z' db C8h; 'ˆ' db FFh; 'ï' db FFh; 'ï' db 24h; '$' db BCh; '?' db FFh; 'ï' db FFh; 'ï' db CDh; '' db AFh; 'ô' db FFh; 'ï' db FFh; 'ï' db 77h; 'w' db A3h; '?' db FFh; 'ï' db FFh; 'ï' db C9h; '‰' db 06h; db 00h; db 00h; db 5Bh; '[' db 14h; db 00h; db 00h; db EEh; '®' db 21h; '!' db 00h; db 00h; db 80h; '?' db 2Fh; '/' db 00h; db 00h; db 14h; db 3Dh; '=' db 00h; db 00h; db A6h; '³' db 4Ah; 'J' db 00h; db 00h; db 39h; '9' db 58h; 'X' db 00h; db 00h; db CBh; '‹' db 65h; 'e' db 00h; db 00h; db 37h; '7' db F9h; 'é' db FFh; 'ï' db FFh; 'ï' db A5h; '?' db EBh; '«' db FFh; 'ï' db FFh; 'ï' db 12h; db DEh; 'ž' db FFh; 'ï' db FFh; 'ï' db 80h; '?' db D0h; '' db FFh; 'ï' db FFh; 'ï' db ECh; '¬' db C2h; '‚' db FFh; 'ï' db FFh; 'ï' db 5Ah; 'Z' db B5h; 'ç' db FFh; 'ï' db FFh; 'ï' db C7h; '‡' db A7h; db FFh; 'ï' db FFh; 'ï' db 35h; '5' db 9Ah; '?' db FFh; 'ï' db FFh; 'ï' db 77h; 'w' db 07h; db 00h; db 00h; db 65h; 'e' db 16h; db 00h; db 00h; db 53h; 'S' db 25h; '%' db 00h; db 00h; db 41h; 'A' db 34h; '4' db 00h; db 00h; db 30h; '0' db 43h; 'C' db 00h; db 00h; db 1Eh; db 52h; 'R' db 00h; db 00h; db 0Ch; db 61h; 'a' db 00h; db 00h; db FAh; 'ê' db 6Fh; 'o' db 00h; db 00h; db 89h; '%' db F8h; 'è' db FFh; 'ï' db FFh; 'ï' db 9Bh; '>' db E9h; '©' db FFh; 'ï' db FFh; 'ï' db ADh; '-' db DAh; 'š' db FFh; 'ï' db FFh; 'ï' db BFh; 'õ' db CBh; '‹' db FFh; 'ï' db FFh; 'ï' db D0h; '' db BCh; '?' db FFh; 'ï' db FFh; 'ï' db E2h; '¢' db ADh; '-' db FFh; 'ï' db FFh; 'ï' db F4h; 'ä' db 9Eh; '?' db FFh; 'ï' db FFh; 'ï' db 06h; db 90h; '?' db FFh; 'ï' db FFh; 'ï' db 36h; '6' db 08h; db 00h; db 00h; db A2h; '÷' db 18h; db 00h; db 00h; db 0Fh; db 29h; ')' db 00h; db 00h; db 7Bh; '{' db 39h; '9' db 00h; db 00h; db E8h; '¨' db 49h; 'I' db 00h; db 00h; db 54h; 'T' db 5Ah; 'Z' db 00h; db 00h; db C1h; '' db 6Ah; 'j' db 00h; db 00h; db 2Dh; '-' db 7Bh; '{' db 00h; db 00h; db CAh; 'Š' db F7h; 'ç' db FFh; 'ï' db FFh; 'ï' db 5Eh; '^' db E7h; '§' db FFh; 'ï' db FFh; 'ï' db F1h; 'á' db D6h; '–' db FFh; 'ï' db FFh; 'ï' db 85h; ':' db C6h; '†' db FFh; 'ï' db FFh; 'ï' db 18h; db B6h; db FFh; 'ï' db FFh; 'ï' db ACh; '¿' db A5h; '?' db FFh; 'ï' db FFh; 'ï' db 3Fh; '?' db 95h; db FFh; 'ï' db FFh; 'ï' db D3h; '“' db 84h; '"' db FFh; 'ï' db FFh; 'ï' db 08h; db 09h; db 00h; db 00h; db 19h; db 1Bh; db 00h; db 00h; db 2Ah; '*' db 2Dh; '-' db 00h; db 00h; db 3Bh; ';' db 3Fh; '?' db 00h; db 00h; db 4Ch; 'L' db 51h; 'Q' db 00h; db 00h; db 5Dh; ']' db 63h; 'c' db 00h; db 00h; db 6Eh; 'n' db 75h; 'u' db 00h; db 00h; db 7Fh; '' db 87h; 'Ø' db 00h; db 00h; db F8h; 'è' db F6h; 'æ' db FFh; 'ï' db FFh; 'ï' db E7h; '§' db E4h; '¤' db FFh; 'ï' db FFh; 'ï' db D6h; '–' db D2h; '’' db FFh; 'ï' db FFh; 'ï' db C5h; '…' db C0h; '€' db FFh; 'ï' db FFh; 'ï' db B4h; '?' db AEh; 'R' db FFh; 'ï' db FFh; 'ï' db A3h; '?' db 9Ch; '?' db FFh; 'ï' db FFh; 'ï' db 92h; ''' db 8Ah; '?' db FFh; 'ï' db FFh; 'ï' db 81h; '?' db 78h; 'x' db FFh; 'ï' db FFh; 'ï' db EFh; '¯' db 09h; db 00h; db 00h; db CEh; 'Ž' db 1Dh; db 00h; db 00h; db AEh; 'R' db 31h; '1' db 00h; db 00h; db 8Dh; '?' db 45h; 'E' db 00h; db 00h; db 6Dh; 'm' db 59h; 'Y' db 00h; db 00h; db 4Ch; 'L' db 6Dh; 'm' db 00h; db 00h; db 2Ch; ',' db 81h; '?' db 00h; db 00h; db 0Bh; db 95h; db 00h; db 00h; db 11h; db F6h; 'æ' db FFh; 'ï' db FFh; 'ï' db 32h; '2' db E2h; '¢' db FFh; 'ï' db FFh; 'ï' db 52h; 'R' db CEh; 'Ž' db FFh; 'ï' db FFh; 'ï' db 73h; 's' db BAh; 'ó' db FFh; 'ï' db FFh; 'ï' db 93h; '"' db A6h; '³' db FFh; 'ï' db FFh; 'ï' db B4h; '?' db 92h; ''' db FFh; 'ï' db FFh; 'ï' db D4h; '”' db 7Eh; '~' db FFh; 'ï' db FFh; 'ï' db F5h; 'å' db 6Ah; 'j' db FFh; 'ï' db FFh; 'ï' db EEh; '®' db 0Ah; db 00h; db 00h; db CAh; 'Š' db 20h; ' ' db 00h; db 00h; db A6h; '³' db 36h; '6' db 00h; db 00h; db 82h; ''' db 4Ch; 'L' db 00h; db 00h; db 5Fh; '_' db 62h; 'b' db 00h; db 00h; db 3Bh; ';' db 78h; 'x' db 00h; db 00h; db 17h; db 8Eh; '?' db 00h; db 00h; db F3h; 'ã' db A3h; '?' db 00h; db 00h; db 12h; db F5h; 'å' db FFh; 'ï' db FFh; 'ï' db 36h; '6' db DFh; 'Ÿ' db FFh; 'ï' db FFh; 'ï' db 5Ah; 'Z' db C9h; '‰' db FFh; 'ï' db FFh; 'ï' db 7Eh; '~' db B3h; 'i' db FFh; 'ï' db FFh; 'ï' db A1h; 'ö' db 9Dh; '?' db FFh; 'ï' db FFh; 'ï' db C5h; '…' db 87h; 'Ø' db FFh; 'ï' db FFh; 'ï' db E9h; '©' db 71h; 'q' db FFh; 'ï' db FFh; 'ï' db 0Dh; db 5Ch; '\' db FFh; 'ï' db FFh; 'ï' db 05h; db 0Ch; db 00h; db 00h; db 10h; db 24h; '$' db 00h; db 00h; db 1Ch; db 3Ch; '<' db 00h; db 00h; db 27h; ''' db 54h; 'T' db 00h; db 00h; db 34h; '4' db 6Ch; 'l' db 00h; db 00h; db 3Fh; '?' db 84h; '"' db 00h; db 00h; db 4Bh; 'K' db 9Ch; '?' db 00h; db 00h; db 56h; 'V' db B4h; '?' db 00h; db 00h; db FBh; 'ë' db F3h; 'ã' db FFh; 'ï' db FFh; 'ï' db F0h; 'à' db DBh; '›' db FFh; 'ï' db FFh; 'ï' db E4h; '¤' db C3h; 'ƒ' db FFh; 'ï' db FFh; 'ï' db D9h; '™' db ABh; '<' db FFh; 'ï' db FFh; 'ï' db CCh; 'Œ' db 93h; '"' db FFh; 'ï' db FFh; 'ï' db C1h; '' db 7Bh; '{' db FFh; 'ï' db FFh; 'ï' db B5h; 'ç' db 63h; 'c' db FFh; 'ï' db FFh; 'ï' db AAh; 'ò' db 4Bh; 'K' db FFh; 'ï' db FFh; 'ï' db 39h; '9' db 0Dh; db 00h; db 00h; db ACh; '¿' db 27h; ''' db 00h; db 00h; db 20h; ' ' db 42h; 'B' db 00h; db 00h; db 93h; '"' db 5Ch; '\' db 00h; db 00h; db 07h; db 77h; 'w' db 00h; db 00h; db 7Ah; 'z' db 91h; ''' db 00h; db 00h; db EEh; '®' db ABh; '<' db 00h; db 00h; db 61h; 'a' db C6h; '†' db 00h; db 00h; db C7h; '‡' db F2h; 'â' db FFh; 'ï' db FFh; 'ï' db 54h; 'T' db D8h; '˜' db FFh; 'ï' db FFh; 'ï' db E0h; ' ' db BDh; '?' db FFh; 'ï' db FFh; 'ï' db 6Dh; 'm' db A3h; '?' db FFh; 'ï' db FFh; 'ï' db F9h; 'é' db 88h; '?' db FFh; 'ï' db FFh; 'ï' db 86h; 'Å' db 6Eh; 'n' db FFh; 'ï' db FFh; 'ï' db 12h; db 54h; 'T' db FFh; 'ï' db FFh; 'ï' db 9Fh; '?' db 39h; '9' db FFh; 'ï' db FFh; 'ï' db 8Ch; '?' db 0Eh; db 00h; db 00h; db A4h; 'ý' db 2Bh; '+' db 00h; db 00h; db BDh; '?' db 48h; 'H' db 00h; db 00h; db D5h; '•' db 65h; 'e' db 00h; db 00h; db EEh; '®' db 82h; ''' db 00h; db 00h; db 06h; db A0h; 'ÿ' db 00h; db 00h; db 1Fh; db BDh; '?' db 00h; db 00h; db 37h; '7' db DAh; 'š' db 00h; db 00h; db 74h; 't' db F1h; 'á' db FFh; 'ï' db FFh; 'ï' db 5Ch; '\' db D4h; '”' db FFh; 'ï' db FFh; 'ï' db 43h; 'C' db B7h; 'ú' db FFh; 'ï' db FFh; 'ï' db 2Bh; '+' db 9Ah; '?' db FFh; 'ï' db FFh; 'ï' db 12h; db 7Dh; '}' db FFh; 'ï' db FFh; 'ï' db FAh; 'ê' db 5Fh; '_' db FFh; 'ï' db FFh; 'ï' db E1h; '¡' db 42h; 'B' db FFh; 'ï' db FFh; 'ï' db C9h; '‰' db 25h; '%' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 0Fh; db 00h; db 00h; db FEh; 'î' db 2Fh; '/' db 00h; db 00h; db FEh; 'î' db 4Fh; 'O' db 00h; db 00h; db FDh; 'í' db 6Fh; 'o' db 00h; db 00h; db FEh; 'î' db 8Fh; '?' db 00h; db 00h; db FDh; 'í' db AFh; 'ô' db 00h; db 00h; db FDh; 'í' db CFh; '' db 00h; db 00h; db FCh; 'ì' db EFh; '¯' db 00h; db 00h; db 01h; db F0h; 'à' db FFh; 'ï' db FFh; 'ï' db 02h; db D0h; '' db FFh; 'ï' db FFh; 'ï' db 02h; db B0h; 'ø' db FFh; 'ï' db FFh; 'ï' db 03h; db 90h; '?' db FFh; 'ï' db FFh; 'ï' db 02h; db 70h; 'p' db FFh; 'ï' db FFh; 'ï' db 03h; db 50h; 'P' db FFh; 'ï' db FFh; 'ï' db 03h; db 30h; '0' db FFh; 'ï' db FFh; 'ï' db 04h; db 10h; db FFh; 'ï' db FFh; 'ï' L004D7580: dd FFFFFFC0h db C0h; '€' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db C0h; '€' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db C0h; '€' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 80h; '?' db 00h; db 00h; db 00h; db 00h; db 01h; db 00h; db 00h; db 80h; '?' db 01h; db 00h; db 00h; db 00h; db 02h; db 00h; db 00h; L004D75A0: dd 00000000h L004D75A4: dd 00000000h L004D75A8: dd 00000000h L004D75AC: dd 00000000h L004D75B0: dd 00002000h db 12h; db 17h; db 00h; db 00h; db 7Eh; '~' db 18h; db 00h; db 00h; db 37h; '7' db 1Bh; db 00h; db 00h; db 00h; db 20h; ' ' db 00h; db 00h; db BAh; 'ó' db 28h; '(' db 00h; db 00h; db 21h; '!' db 3Bh; ';' db 00h; db 00h; db FCh; 'ì' db 73h; 's' db 00h; db 00h; db 12h; db 17h; db 00h; db 00h; db A2h; '÷' db 10h; db 00h; db 00h; db A8h; 'ð' db 11h; db 00h; db 00h; db 9Fh; '?' db 13h; db 00h; db 00h; db 12h; db 17h; db 00h; db 00h; db 5Dh; ']' db 1Dh; db 00h; db 00h; db A1h; 'ö' db 2Ah; '*' db 00h; db 00h; db 9Fh; '?' db 53h; 'S' db 00h; db 00h; db 7Eh; '~' db 18h; db 00h; db 00h; db A8h; 'ð' db 11h; db 00h; db 00h; db BFh; 'õ' db 12h; db 00h; db 00h; db D4h; '”' db 14h; db 00h; db 00h; db 7Eh; '~' db 18h; db 00h; db 00h; db 2Ch; ',' db 1Fh; db 00h; db 00h; db 41h; 'A' db 2Dh; '-' db 00h; db 00h; db C5h; '…' db 58h; 'X' db 00h; db 00h; db 37h; '7' db 1Bh; db 00h; db 00h; db 9Fh; '?' db 13h; db 00h; db 00h; db D4h; '”' db 14h; db 00h; db 00h; db 25h; '%' db 17h; db 00h; db 00h; db 37h; '7' db 1Bh; db 00h; db 00h; db A3h; '?' db 22h; '"' db 00h; db 00h; db 49h; 'I' db 32h; '2' db 00h; db 00h; db A3h; '?' db 62h; 'b' db 00h; db 00h; db 00h; db 20h; ' ' db 00h; db 00h; db 12h; db 17h; db 00h; db 00h; db 7Eh; '~' db 18h; db 00h; db 00h; db 37h; '7' db 1Bh; db 00h; db 00h; db 00h; db 20h; ' ' db 00h; db 00h; db BAh; 'ó' db 28h; '(' db 00h; db 00h; db 21h; '!' db 3Bh; ';' db 00h; db 00h; db FCh; 'ì' db 73h; 's' db 00h; db 00h; db BAh; 'ó' db 28h; '(' db 00h; db 00h; db 5Dh; ']' db 1Dh; db 00h; db 00h; db 2Ch; ',' db 1Fh; db 00h; db 00h; db A3h; '?' db 22h; '"' db 00h; db 00h; db BAh; 'ó' db 28h; '(' db 00h; db 00h; db D6h; '–' db 33h; '3' db 00h; db 00h; db 42h; 'B' db 4Bh; 'K' db 00h; db 00h; db 9Fh; '?' db 93h; '"' db 00h; db 00h; db 21h; '!' db 3Bh; ';' db 00h; db 00h; db A1h; 'ö' db 2Ah; '*' db 00h; db 00h; db 41h; 'A' db 2Dh; '-' db 00h; db 00h; db 49h; 'I' db 32h; '2' db 00h; db 00h; db 21h; '!' db 3Bh; ';' db 00h; db 00h; db 42h; 'B' db 4Bh; 'K' db 00h; db 00h; db 41h; 'A' db 6Dh; 'm' db 00h; db 00h; db 50h; 'P' db D6h; '–' db 00h; db 00h; db FCh; 'ì' db 73h; 's' db 00h; db 00h; db 9Fh; '?' db 53h; 'S' db 00h; db 00h; db C5h; '…' db 58h; 'X' db 00h; db 00h; db A3h; '?' db 62h; 'b' db 00h; db 00h; db FCh; 'ì' db 73h; 's' db 00h; db 00h; db 9Fh; '?' db 93h; '"' db 00h; db 00h; db 50h; 'P' db D6h; '–' db 00h; db 00h; db 63h; 'c' db A4h; 'ý' db 01h; db 00h; L004D76B0: dd 00000008h db 10h; db 00h; db 00h; db 00h; db 13h; db 00h; db 00h; db 00h; db 16h; db 00h; db 00h; db 00h; db 1Ah; db 00h; db 00h; db 00h; db 1Bh; db 00h; db 00h; db 00h; db 1Dh; db 00h; db 00h; db 00h; db 22h; '"' db 00h; db 00h; db 00h; db 10h; db 00h; db 00h; db 00h; db 10h; db 00h; db 00h; db 00h; db 16h; db 00h; db 00h; db 00h; db 18h; db 00h; db 00h; db 00h; db 1Bh; db 00h; db 00h; db 00h; db 1Dh; db 00h; db 00h; db 00h; db 22h; '"' db 00h; db 00h; db 00h; db 25h; '%' db 00h; db 00h; db 00h; db 13h; db 00h; db 00h; db 00h; db 16h; db 00h; db 00h; db 00h; db 1Ah; db 00h; db 00h; db 00h; db 1Bh; db 00h; db 00h; db 00h; db 1Dh; db 00h; db 00h; db 00h; db 22h; '"' db 00h; db 00h; db 00h; db 22h; '"' db 00h; db 00h; db 00h; db 26h; '&' db 00h; db 00h; db 00h; db 16h; db 00h; db 00h; db 00h; db 16h; db 00h; db 00h; db 00h; db 1Ah; db 00h; db 00h; db 00h; db 1Bh; db 00h; db 00h; db 00h; db 1Dh; db 00h; db 00h; db 00h; db 22h; '"' db 00h; db 00h; db 00h; db 25h; '%' db 00h; db 00h; db 00h; db 28h; '(' db 00h; db 00h; db 00h; db 16h; db 00h; db 00h; db 00h; db 1Ah; db 00h; db 00h; db 00h; db 1Bh; db 00h; db 00h; db 00h; db 1Dh; db 00h; db 00h; db 00h; db 20h; ' ' db 00h; db 00h; db 00h; db 23h; '#' db 00h; db 00h; db 00h; db 28h; '(' db 00h; db 00h; db 00h; db 30h; '0' db 00h; db 00h; db 00h; db 1Ah; db 00h; db 00h; db 00h; db 1Bh; db 00h; db 00h; db 00h; db 1Dh; db 00h; db 00h; db 00h; db 20h; ' ' db 00h; db 00h; db 00h; db 23h; '#' db 00h; db 00h; db 00h; db 28h; '(' db 00h; db 00h; db 00h; db 30h; '0' db 00h; db 00h; db 00h; db 3Ah; ':' db 00h; db 00h; db 00h; db 1Ah; db 00h; db 00h; db 00h; db 1Bh; db 00h; db 00h; db 00h; db 1Dh; db 00h; db 00h; db 00h; db 22h; '"' db 00h; db 00h; db 00h; db 26h; '&' db 00h; db 00h; db 00h; db 2Eh; '.' db 00h; db 00h; db 00h; db 38h; '8' db 00h; db 00h; db 00h; db 45h; 'E' db 00h; db 00h; db 00h; db 1Bh; db 00h; db 00h; db 00h; db 1Dh; db 00h; db 00h; db 00h; db 23h; '#' db 00h; db 00h; db 00h; db 26h; '&' db 00h; db 00h; db 00h; db 2Eh; '.' db 00h; db 00h; db 00h; db 38h; '8' db 00h; db 00h; db 00h; db 45h; 'E' db 00h; db 00h; db 00h; db 53h; 'S' db 00h; db 00h; db 00h; L004D77B0: dd 00000000h L004D77B4: dd 00000000h L004D77B8: dd 00000000h L004D77BC: dd 00000000h L004D77C0: db 00h; db 00h; db 00h; db 00h; L004D77C4: dd 00000000h L004D77C8: dd 00000000h L004D77CC: dd 00000000h L004D77D0: dd 00000000h L004D77D4: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; ; ; ;------------------------------------------------------------------------------ ; Name: UVA_DATA ; Virtual Address: 007BA000h Virtual Size: 00003C60h ; Pointer To RawData: 000D6000h Size Of RawData: 00003E00h ; L007BA000: dd 00000000h L007BA004: db 00h; db 00h; db 00h; db 00h; L007BA008: db 00h; db 00h; db 00h; db 00h; L007BA00C: db 00h; db 00h; db 00h; db 00h; L007BA010: db 00h; db 00h; db 00h; db 00h; L007BA014: db 00h; db 00h; db 00h; db 00h; L007BA018: db 00h; db 00h; db 00h; db 00h; L007BA01C: db 00h; db 00h; db 00h; db 00h; L007BA020: db 00h; db 00h; db 00h; db 00h; L007BA024: db 00h; db 00h; db 00h; db 00h; L007BA028: db 00h; db 00h; db 00h; db 00h; L007BA02C: db 00h; db 00h; db 00h; db 00h; L007BA030: db 00h; db 00h; db 00h; db 00h; L007BA034: db 00h; db 00h; db 00h; db 00h; L007BA038: db 00h; db 00h; db 00h; db 00h; L007BA03C: db 00h; db 00h; db 00h; db 00h; L007BA040: db 00h; db 00h; db 00h; db 00h; L007BA044: db 00h; db 00h; db 00h; db 00h; L007BA048: db 00h; db 00h; db 00h; db 00h; L007BA04C: db 00h; db 00h; db 00h; db 00h; L007BA050: db 00h; db 00h; db 00h; db 00h; L007BA054: db 00h; db 00h; db 00h; db 00h; L007BA058: db 00h; db 00h; db 00h; db 00h; L007BA05C: db 00h; db 00h; db 00h; db 00h; L007BA060: db 00h; db 00h; db 00h; db 00h; L007BA064: db 00h; db 00h; db 00h; db 00h; L007BA068: db 00h; db 00h; db 00h; db 00h; L007BA06C: db 00h; db 00h; db 00h; db 00h; L007BA070: db 00h; db 00h; db 00h; db 00h; L007BA074: db 00h; db 00h; db 00h; db 00h; L007BA078: db 00h; db 00h; db 00h; db 00h; L007BA07C: db 00h; db 00h; db 00h; db 00h; L007BA080: db 00h; db 00h; db 00h; db 00h; L007BA084: db 00h; db 00h; db 00h; db 00h; L007BA088: db 00h; db 00h; db 00h; db 00h; L007BA08C: db 00h; db 00h; db 00h; db 00h; L007BA090: db 00h; db 00h; db 00h; db 00h; L007BA094: db 00h; db 00h; db 00h; db 00h; L007BA098: db 00h; db 00h; db 00h; db 00h; L007BA09C: db 00h; db 00h; db 00h; db 00h; L007BA0A0: db 00h; db 00h; db 00h; db 00h; L007BA0A4: db 00h; db 00h; db 00h; db 00h; L007BA0A8: db 00h; db 00h; db 00h; db 00h; L007BA0AC: db 00h; db 00h; db 00h; db 00h; L007BA0B0: db 00h; db 00h; db 00h; db 00h; L007BA0B4: db 00h; db 00h; db 00h; db 00h; L007BA0B8: db 00h; db 00h; db 00h; db 00h; L007BA0BC: db 00h; db 00h; db 00h; db 00h; L007BA0C0: db 00h; db 00h; db 00h; db 00h; L007BA0C4: db 00h; db 00h; db 00h; db 00h; L007BA0C8: db 00h; db 00h; db 00h; db 00h; L007BA0CC: db 00h; db 00h; db 00h; db 00h; L007BA0D0: db 00h; db 00h; db 00h; db 00h; L007BA0D4: db 00h; db 00h; db 00h; db 00h; L007BA0D8: db 00h; db 00h; db 00h; db 00h; L007BA0DC: db 00h; db 00h; db 00h; db 00h; L007BA0E0: db 00h; db 00h; db 00h; db 00h; L007BA0E4: db 00h; db 00h; db 00h; db 00h; L007BA0E8: db 00h; db 00h; db 00h; db 00h; L007BA0EC: db 00h; db 00h; db 00h; db 00h; L007BA0F0: db 00h; db 00h; db 00h; db 00h; L007BA0F4: db 00h; db 00h; db 00h; db 00h; L007BA0F8: db 00h; db 00h; db 00h; db 00h; L007BA0FC: db 00h; db 00h; db 00h; db 00h; L007BA100: db 00h; db 00h; db 00h; db 00h; L007BA104: db 00h; db 00h; db 00h; db 00h; L007BA108: db 00h; db 00h; db 00h; db 00h; L007BA10C: db 00h; db 00h; db 00h; db 00h; L007BA110: db 00h; db 00h; db 00h; db 00h; L007BA114: db 00h; db 00h; db 00h; db 00h; L007BA118: db 00h; db 00h; db 00h; db 00h; L007BA11C: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L007BA124: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L007BA148: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L007BA16C: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L007BA190: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L007BA1B4: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L007BA1D8: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L007BA1FC: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L007BA220: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L007BA240: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L007BA260: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L007BA280: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L007BA2A0: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L007BA2C0: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L007BA2E0: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L007BA300: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L007BA320: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L007BA340: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L007BA360: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L007BA380: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L007BA3A0: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L007BA3C0: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L007BA3E0: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L007BA400: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L007BA420: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L007BA440: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L007BA460: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L007BA480: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L007BA4A0: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L007BA4C0: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L007BA4E0: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L007BA500: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L007BA520: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L007BA540: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L007BA560: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L007BA580: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L007BA5A0: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L007BA5C0: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L007BA5E0: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L007BA600: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L007BA620: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L007BA640: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L007BA660: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L007BA680: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L007BA6A0: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L007BA6C0: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L007BA6E0: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L007BA700: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L007BA720: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L007BA740: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L007BA760: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L007BA780: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L007BA7A0: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L007BA7C0: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L007BA7E0: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L007BA800: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L007BA820: dd 00000000h db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L007BA9A0: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L007BB020: dd 00000000h db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L007BB408: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L007BB820: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L007BB944: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L007BC020: dd 00000000h db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L007BC120: db 00h; db 00h; db 00h; db 00h; L007BC124: dd 00000000h L007BC128: dd 00000000h L007BC12C: dd 00000000h db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L007BC32C: dd 00000000h db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L007BC52C: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L007BC72C: dd 00000000h db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L007BCB2C: dd 00000000h db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L007BCF2C: dd 00000000h db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L007BD32C: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L007BD72C: db 9Ah; '?' db 79h; 'y' db 82h; ''' db 5Ah; 'Z' L007BD730: dd 3F0A8BD4h L007BD734: dd 3FA73D75h L007BD738: dd 3EC3EF15h L007BD73C: dd 59C00000h L007BD740: dd 00000000h L007BD744: dd 0000003Fh db 37h; '7' db 00h; db 00h; db 00h; db 3Eh; '>' db 00h; db 00h; db 00h; db 3Dh; '=' db 00h; db 00h; db 00h; db 36h; '6' db 00h; db 00h; db 00h; db 2Fh; '/' db 00h; db 00h; db 00h; db 27h; ''' db 00h; db 00h; db 00h; db 2Eh; '.' db 00h; db 00h; db 00h; db 35h; '5' db 00h; db 00h; db 00h; db 3Ch; '<' db 00h; db 00h; db 00h; db 3Bh; ';' db 00h; db 00h; db 00h; db 34h; '4' db 00h; db 00h; db 00h; db 2Dh; '-' db 00h; db 00h; db 00h; db 26h; '&' db 00h; db 00h; db 00h; db 1Fh; db 00h; db 00h; db 00h; db 17h; db 00h; db 00h; db 00h; db 1Eh; db 00h; db 00h; db 00h; db 25h; '%' db 00h; db 00h; db 00h; db 2Ch; ',' db 00h; db 00h; db 00h; db 33h; '3' db 00h; db 00h; db 00h; db 3Ah; ':' db 00h; db 00h; db 00h; db 39h; '9' db 00h; db 00h; db 00h; db 32h; '2' db 00h; db 00h; db 00h; db 2Bh; '+' db 00h; db 00h; db 00h; db 24h; '$' db 00h; db 00h; db 00h; db 1Dh; db 00h; db 00h; db 00h; db 16h; db 00h; db 00h; db 00h; db 0Fh; db 00h; db 00h; db 00h; db 07h; db 00h; db 00h; db 00h; db 0Eh; db 00h; db 00h; db 00h; db 15h; db 00h; db 00h; db 00h; db 1Ch; db 00h; db 00h; db 00h; db 23h; '#' db 00h; db 00h; db 00h; db 2Ah; '*' db 00h; db 00h; db 00h; db 31h; '1' db 00h; db 00h; db 00h; db 38h; '8' db 00h; db 00h; db 00h; db 30h; '0' db 00h; db 00h; db 00h; db 29h; ')' db 00h; db 00h; db 00h; db 22h; '"' db 00h; db 00h; db 00h; db 1Bh; db 00h; db 00h; db 00h; db 14h; db 00h; db 00h; db 00h; db 0Dh; db 00h; db 00h; db 00h; db 06h; db 00h; db 00h; db 00h; db 05h; db 00h; db 00h; db 00h; db 0Ch; db 00h; db 00h; db 00h; db 13h; db 00h; db 00h; db 00h; db 1Ah; db 00h; db 00h; db 00h; db 21h; '!' db 00h; db 00h; db 00h; db 28h; '(' db 00h; db 00h; db 00h; db 20h; ' ' db 00h; db 00h; db 00h; db 19h; db 00h; db 00h; db 00h; db 12h; db 00h; db 00h; db 00h; db 0Bh; db 00h; db 00h; db 00h; db 04h; db 00h; db 00h; db 00h; db 03h; db 00h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 11h; db 00h; db 00h; db 00h; db 18h; db 00h; db 00h; db 00h; db 10h; db 00h; db 00h; db 00h; L007BD830: dd 00000009h db 02h; db 00h; db 00h; db 00h; db 01h; db 00h; db 00h; db 00h; db 08h; db 00h; db 00h; db 00h; db 02h; db 01h; db 04h; db 00h; db 01h; db 03h; db 04h; db 00h; db 01h; db 02h; db 03h; db 00h; db 01h; db 02h; db 03h; db 00h; db 00h; db 41h; 'A' db 02h; db 00h; db 00h; db 41h; 'A' db 02h; db 00h; db 00h; db 41h; 'A' db 02h; db 00h; db 00h; db 41h; 'A' db 02h; db 00h; L007BD860: dd 00020101h db 01h; db 01h; db 02h; db 00h; db 01h; db 01h; db 02h; db 00h; db 01h; db 01h; db 02h; db 00h; db 00h; db 42h; 'B' db 06h; db 00h; db 00h; db 42h; 'B' db 06h; db 00h; db 00h; db 42h; 'B' db 06h; db 00h; db 00h; db 42h; 'B' db 06h; db 00h; db 02h; db 03h; db 07h; db 00h; db 02h; db 03h; db 07h; db 00h; db 01h; db 0Ah; db 07h; db 00h; db 01h; db 0Ah; db 07h; db 00h; db 04h; db 01h; db 07h; db 00h; db 04h; db 01h; db 07h; db 00h; db 01h; db 09h; db 07h; db 00h; db 01h; db 09h; db 07h; db 00h; db 01h; db 08h; db 06h; db 00h; db 01h; db 08h; db 06h; db 00h; db 01h; db 08h; db 06h; db 00h; db 01h; db 08h; db 06h; db 00h; db 01h; db 07h; db 06h; db 00h; db 01h; db 07h; db 06h; db 00h; db 01h; db 07h; db 06h; db 00h; db 01h; db 07h; db 06h; db 00h; db 02h; db 02h; db 06h; db 00h; db 02h; db 02h; db 06h; db 00h; db 02h; db 02h; db 06h; db 00h; db 02h; db 02h; db 06h; db 00h; db 01h; db 06h; db 06h; db 00h; db 01h; db 06h; db 06h; db 00h; db 01h; db 06h; db 06h; db 00h; db 01h; db 06h; db 06h; db 00h; db 01h; db 0Eh; db 08h; db 00h; db 06h; db 01h; db 08h; db 00h; db 01h; db 0Dh; db 08h; db 00h; db 01h; db 0Ch; db 08h; db 00h; db 02h; db 04h; db 08h; db 00h; db 03h; db 02h; db 08h; db 00h; db 05h; db 01h; db 08h; db 00h; db 01h; db 0Bh; db 08h; db 00h; db 03h; db 01h; db 05h; db 00h; db 03h; db 01h; db 05h; db 00h; db 03h; db 01h; db 05h; db 00h; db 03h; db 01h; db 05h; db 00h; db 03h; db 01h; db 05h; db 00h; db 03h; db 01h; db 05h; db 00h; db 03h; db 01h; db 05h; db 00h; db 03h; db 01h; db 05h; db 00h; db 01h; db 05h; db 05h; db 00h; db 01h; db 05h; db 05h; db 00h; db 01h; db 05h; db 05h; db 00h; db 01h; db 05h; db 05h; db 00h; db 01h; db 05h; db 05h; db 00h; db 01h; db 05h; db 05h; db 00h; db 01h; db 05h; db 05h; db 00h; db 01h; db 05h; db 05h; db 00h; L007BD940: dd 00050401h db 01h; db 04h; db 05h; db 00h; db 01h; db 04h; db 05h; db 00h; db 01h; db 04h; db 05h; db 00h; db 01h; db 04h; db 05h; db 00h; db 01h; db 04h; db 05h; db 00h; db 01h; db 04h; db 05h; db 00h; db 01h; db 04h; db 05h; db 00h; db 01h; db 11h; db 0Ah; db 00h; db 02h; db 06h; db 0Ah; db 00h; db 07h; db 01h; db 0Ah; db 00h; db 03h; db 03h; db 0Ah; db 00h; db 04h; db 02h; db 0Ah; db 00h; db 01h; db 10h; db 0Ah; db 00h; db 01h; db 0Fh; db 0Ah; db 00h; db 02h; db 05h; db 0Ah; db 00h; L007BD980: dd 000C010Bh db 02h; db 09h; db 0Ch; db 00h; db 03h; db 05h; db 0Ch; db 00h; db 0Ah; db 01h; db 0Ch; db 00h; db 04h; db 03h; db 0Ch; db 00h; db 02h; db 08h; db 0Ch; db 00h; db 01h; db 16h; db 0Ch; db 00h; db 01h; db 15h; db 0Ch; db 00h; db 09h; db 01h; db 0Ch; db 00h; db 01h; db 14h; db 0Ch; db 00h; db 01h; db 13h; db 0Ch; db 00h; db 05h; db 02h; db 0Ch; db 00h; db 03h; db 04h; db 0Ch; db 00h; db 08h; db 01h; db 0Ch; db 00h; db 02h; db 07h; db 0Ch; db 00h; db 01h; db 12h; db 0Ch; db 00h; L007BD9C0: dd 000D0B02h db 02h; db 0Ah; db 0Dh; db 00h; db 03h; db 06h; db 0Dh; db 00h; db 04h; db 04h; db 0Dh; db 00h; db 05h; db 03h; db 0Dh; db 00h; db 07h; db 02h; db 0Dh; db 00h; db 06h; db 02h; db 0Dh; db 00h; db 0Fh; db 01h; db 0Dh; db 00h; db 0Eh; db 01h; db 0Dh; db 00h; db 0Dh; db 01h; db 0Dh; db 00h; db 0Ch; db 01h; db 0Dh; db 00h; db 01h; db 1Bh; db 0Dh; db 00h; db 01h; db 1Ah; db 0Dh; db 00h; db 01h; db 19h; db 0Dh; db 00h; db 01h; db 18h; db 0Dh; db 00h; db 01h; db 17h; db 0Dh; db 00h; L007BDA00: dd 000E011Fh db 1Eh; db 01h; db 0Eh; db 00h; db 1Dh; db 01h; db 0Eh; db 00h; db 1Ch; db 01h; db 0Eh; db 00h; db 1Bh; db 01h; db 0Eh; db 00h; db 1Ah; db 01h; db 0Eh; db 00h; db 19h; db 01h; db 0Eh; db 00h; db 18h; db 01h; db 0Eh; db 00h; db 17h; db 01h; db 0Eh; db 00h; db 16h; db 01h; db 0Eh; db 00h; db 15h; db 01h; db 0Eh; db 00h; db 14h; db 01h; db 0Eh; db 00h; db 13h; db 01h; db 0Eh; db 00h; db 12h; db 01h; db 0Eh; db 00h; db 11h; db 01h; db 0Eh; db 00h; db 10h; db 01h; db 0Eh; db 00h; L007BDA40: dd 000F0128h db 27h; ''' db 01h; db 0Fh; db 00h; db 26h; '&' db 01h; db 0Fh; db 00h; db 25h; '%' db 01h; db 0Fh; db 00h; db 24h; '$' db 01h; db 0Fh; db 00h; db 23h; '#' db 01h; db 0Fh; db 00h; db 22h; '"' db 01h; db 0Fh; db 00h; db 21h; '!' db 01h; db 0Fh; db 00h; db 20h; ' ' db 01h; db 0Fh; db 00h; db 0Eh; db 02h; db 0Fh; db 00h; db 0Dh; db 02h; db 0Fh; db 00h; db 0Ch; db 02h; db 0Fh; db 00h; db 0Bh; db 02h; db 0Fh; db 00h; db 0Ah; db 02h; db 0Fh; db 00h; db 09h; db 02h; db 0Fh; db 00h; db 08h; db 02h; db 0Fh; db 00h; db 12h; db 02h; db 10h; db 00h; db 11h; db 02h; db 10h; db 00h; db 10h; db 02h; db 10h; db 00h; db 0Fh; db 02h; db 10h; db 00h; db 03h; db 07h; db 10h; db 00h; db 02h; db 11h; db 10h; db 00h; db 02h; db 10h; db 10h; db 00h; db 02h; db 0Fh; db 10h; db 00h; db 02h; db 0Eh; db 10h; db 00h; db 02h; db 0Dh; db 10h; db 00h; db 02h; db 0Ch; db 10h; db 00h; db 01h; db 20h; ' ' db 10h; db 00h; db 01h; db 1Fh; db 10h; db 00h; db 01h; db 1Eh; db 10h; db 00h; db 01h; db 1Dh; db 10h; db 00h; db 01h; db 1Ch; db 10h; db 00h; L007BDAC0: db 12h; db 12h; db 12h; db 12h; db 12h; db 12h; db 12h; db 12h; db 12h; db 12h; db 12h; db 12h; db 12h; db 12h; db 12h; db 12h; db 12h; db 12h; db 12h; db 12h; db 12h; db 12h; db 12h; db 12h; db 12h; db 12h; db 12h; db 12h; db 12h; db 12h; db 12h; db 12h; db 22h; '"' db 22h; '"' db 22h; '"' db 22h; '"' db 22h; '"' db 22h; '"' db 22h; '"' db 22h; '"' db 22h; '"' db 22h; '"' db 22h; '"' db 22h; '"' db 22h; '"' db 22h; '"' db 22h; '"' db 22h; '"' db 22h; '"' db 22h; '"' db 22h; '"' db 22h; '"' db 22h; '"' db 22h; '"' db 22h; '"' db 22h; '"' db 22h; '"' db 22h; '"' db 22h; '"' db 22h; '"' db 22h; '"' db 22h; '"' db 22h; '"' db 22h; '"' db 03h; db 03h; db 03h; db 03h; db 03h; db 03h; db 03h; db 03h; db 03h; db 03h; db 03h; db 03h; db 03h; db 03h; db 03h; db 03h; db 33h; '3' db 33h; '3' db 33h; '3' db 33h; '3' db 33h; '3' db 33h; '3' db 33h; '3' db 33h; '3' db 33h; '3' db 33h; '3' db 33h; '3' db 33h; '3' db 33h; '3' db 33h; '3' db 33h; '3' db 33h; '3' db 43h; 'C' db 43h; 'C' db 43h; 'C' db 43h; 'C' db 43h; 'C' db 43h; 'C' db 43h; 'C' db 43h; 'C' db 43h; 'C' db 43h; 'C' db 43h; 'C' db 43h; 'C' db 43h; 'C' db 43h; 'C' db 43h; 'C' db 43h; 'C' db 54h; 'T' db 54h; 'T' db 54h; 'T' db 54h; 'T' db 54h; 'T' db 54h; 'T' db 54h; 'T' db 54h; 'T' db 65h; 'e' db 65h; 'e' db 65h; 'e' db 65h; 'e' db 76h; 'v' db 76h; 'v' db 87h; 'Ø' db 00h; L007BDB40: db 02h; db 02h; db 02h; db 02h; db 02h; db 02h; db 02h; db 02h; db 02h; db 02h; db 02h; db 02h; db 02h; db 02h; db 02h; db 02h; db 02h; db 02h; db 02h; db 02h; db 02h; db 02h; db 02h; db 02h; db 02h; db 02h; db 02h; db 02h; db 02h; db 02h; db 02h; db 02h; db 02h; db 02h; db 02h; db 02h; db 02h; db 02h; db 02h; db 02h; db 02h; db 02h; db 02h; db 02h; db 02h; db 02h; db 02h; db 02h; db 02h; db 02h; db 02h; db 02h; db 02h; db 02h; db 02h; db 02h; db 02h; db 02h; db 02h; db 02h; db 02h; db 02h; db 02h; db 02h; db 12h; db 12h; db 12h; db 12h; db 12h; db 12h; db 12h; db 12h; db 12h; db 12h; db 12h; db 12h; db 12h; db 12h; db 12h; db 12h; db 12h; db 12h; db 12h; db 12h; db 12h; db 12h; db 12h; db 12h; db 12h; db 12h; db 12h; db 12h; db 12h; db 12h; db 12h; db 12h; db 12h; db 12h; db 12h; db 12h; db 12h; db 12h; db 12h; db 12h; db 12h; db 12h; db 12h; db 12h; db 12h; db 12h; db 12h; db 12h; db 12h; db 12h; db 12h; db 12h; db 12h; db 12h; db 12h; db 12h; db 12h; db 12h; db 12h; db 12h; db 12h; db 12h; db 12h; db 12h; db 22h; '"' db 22h; '"' db 22h; '"' db 22h; '"' db 22h; '"' db 22h; '"' db 22h; '"' db 22h; '"' db 22h; '"' db 22h; '"' db 22h; '"' db 22h; '"' db 22h; '"' db 22h; '"' db 22h; '"' db 22h; '"' db 22h; '"' db 22h; '"' db 22h; '"' db 22h; '"' db 22h; '"' db 22h; '"' db 22h; '"' db 22h; '"' db 22h; '"' db 22h; '"' db 22h; '"' db 22h; '"' db 22h; '"' db 22h; '"' db 22h; '"' db 22h; '"' db 22h; '"' db 22h; '"' db 22h; '"' db 22h; '"' db 22h; '"' db 22h; '"' db 22h; '"' db 22h; '"' db 22h; '"' db 22h; '"' db 22h; '"' db 22h; '"' db 22h; '"' db 22h; '"' db 22h; '"' db 22h; '"' db 22h; '"' db 22h; '"' db 22h; '"' db 22h; '"' db 22h; '"' db 22h; '"' db 22h; '"' db 22h; '"' db 22h; '"' db 22h; '"' db 22h; '"' db 22h; '"' db 22h; '"' db 22h; '"' db 22h; '"' db 22h; '"' db 33h; '3' db 33h; '3' db 33h; '3' db 33h; '3' db 33h; '3' db 33h; '3' db 33h; '3' db 33h; '3' db 33h; '3' db 33h; '3' db 33h; '3' db 33h; '3' db 33h; '3' db 33h; '3' db 33h; '3' db 33h; '3' db 33h; '3' db 33h; '3' db 33h; '3' db 33h; '3' db 33h; '3' db 33h; '3' db 33h; '3' db 33h; '3' db 33h; '3' db 33h; '3' db 33h; '3' db 33h; '3' db 33h; '3' db 33h; '3' db 33h; '3' db 33h; '3' db 44h; 'D' db 44h; 'D' db 44h; 'D' db 44h; 'D' db 44h; 'D' db 44h; 'D' db 44h; 'D' db 44h; 'D' db 44h; 'D' db 44h; 'D' db 44h; 'D' db 44h; 'D' db 44h; 'D' db 44h; 'D' db 44h; 'D' db 44h; 'D' db 55h; 'U' db 55h; 'U' db 55h; 'U' db 55h; 'U' db 55h; 'U' db 55h; 'U' db 55h; 'U' db 55h; 'U' db 66h; 'f' db 66h; 'f' db 66h; 'f' db 66h; 'f' db 77h; 'w' db 77h; 'w' db 88h; '?' db 00h; L007BDC40: dd L004AC9F5 dd L004ACA60 dd L004AC9D3 dd L004ACA91 dd L004ACA02 dd L004ACA4D dd L004AC9E3 dd L004ACA91 ;------------------------------------------------------------------------------ 000001A0h DUP (??) ; ; ;------------------------------------------------------------------------------ ; Imports from KERNEL32.dll ; extrn GetLastError extrn CloseHandle extrn QueryPerformanceCounter extrn QueryPerformanceFrequency extrn MapViewOfFile extrn CreateFileMappingA extrn GetCurrentThread extrn UnmapViewOfFile extrn FlushViewOfFile extrn CreateProcessA extrn CreateFileA extrn MultiByteToWideChar extrn GetACP extrn IsDBCSLeadByte extrn RtlUnwind extrn InterlockedDecrement extrn InterlockedIncrement extrn OpenFileMappingA extrn GetSystemTime extrn SetThreadPriority extrn GetThreadPriority extrn GetVersionExA extrn GetStartupInfoA extrn GetCommandLineA extrn GetVersion extrn ReadFile extrn GetCurrentThreadId extrn TlsSetValue extrn TlsAlloc extrn SetLastError extrn TlsGetValue extrn WideCharToMultiByte extrn LCMapStringA extrn LCMapStringW extrn HeapAlloc extrn SetFilePointer extrn SetHandleCount extrn GetStdHandle extrn GetFileType extrn GetProcAddress extrn HeapReAlloc extrn GetLocalTime extrn HeapFree extrn HeapCreate extrn VirtualFree extrn VirtualAlloc extrn GetModuleHandleA extrn WriteFile extrn FreeEnvironmentStringsA extrn FreeEnvironmentStringsW extrn GetEnvironmentStrings extrn GetEnvironmentStringsW extrn GetCPInfo extrn GetOEMCP extrn SetStdHandle extrn FlushFileBuffers extrn SetUnhandledExceptionFilter extrn IsBadReadPtr extrn IsBadWritePtr extrn IsBadCodePtr extrn GetLocaleInfoA extrn GetStringTypeA extrn GetStringTypeW extrn GetFileAttributesA extrn GetExitCodeProcess extrn WaitForSingleObject extrn LoadLibraryA extrn SetEndOfFile extrn GetLocaleInfoW extrn CompareStringA extrn CompareStringW extrn SetEnvironmentVariableA extrn DeleteCriticalSection extrn InitializeCriticalSection extrn TerminateProcess extrn GetProfileStringA extrn GetSystemInfo extrn CreateThread extrn ResumeThread extrn ExitThread extrn FindClose extrn FileTimeToSystemTime extrn FileTimeToLocalFileTime extrn GetTimeZoneInformation extrn GlobalMemoryStatus extrn GetLogicalDriveStringsA extrn GetDriveTypeA extrn GetDiskFreeSpaceA extrn Sleep extrn ExitProcess extrn WinExec extrn FindFirstFileA extrn GetFullPathNameA extrn GetTickCount extrn GetCurrentDirectoryA extrn GetCurrentProcess extrn LeaveCriticalSection extrn OutputDebugStringA extrn EnterCriticalSection extrn UnhandledExceptionFilter extrn InterlockedExchange extrn GetModuleFileNameA extrn HeapSize extrn HeapDestroy ; ; Imports from USER32.dll ; extrn CloseClipboard extrn GetClipboardData extrn OpenClipboard extrn AdjustWindowRectEx extrn SetWindowLongA extrn GetWindowLongA extrn InvalidateRect extrn SetWindowPos extrn SetMenu extrn ReleaseCapture extrn SetCapture extrn GetActiveWindow extrn DefWindowProcW extrn EndPaint extrn BeginPaint extrn GetWindowRect extrn PostQuitMessage extrn GetFocus extrn GetClientRect extrn GetMessageA extrn ClientToScreen extrn GetWindowPlacement extrn LoadMenuA extrn LoadIconA extrn RegisterClassW extrn CreateWindowExW extrn RegisterClassA extrn CreateWindowExA extrn ShowWindow extrn UpdateWindow extrn GetWindowDC extrn LoadCursorA extrn SetCursor extrn GetSystemMetrics extrn LoadAcceleratorsA extrn TranslateAcceleratorA extrn TranslateMessage extrn DestroyMenu extrn SendMessageA extrn CheckMenuItem extrn SetWindowTextA extrn GetMenu extrn ShowCursor extrn MapVirtualKeyA extrn FindWindowA extrn MessageBoxA extrn GetCursorPos extrn ScreenToClient extrn GetAsyncKeyState extrn GetKeyState extrn SetFocus extrn GetDesktopWindow extrn GetDC extrn ReleaseDC extrn PeekMessageA extrn DefWindowProcA extrn GetKeyNameTextA extrn GetDoubleClickTime extrn DispatchMessageA ; ; Imports from GDI32.dll ; extrn DeleteObject extrn SelectPalette extrn CreateCompatibleDC extrn SelectObject extrn CreateDIBSection extrn RealizePalette extrn BitBlt extrn CreatePalette extrn DeleteDC extrn GetDeviceCaps ; ; Imports from ADVAPI32.dll ; extrn RegQueryValueExA extrn RegOpenKeyExA extrn RegSetValueExA extrn RegCreateKeyExA extrn RegCloseKey ; ; Imports from COMCTL32.dll ; extrn COMCTL32.17 ; ; Imports from WSOCK32.dll ; extrn WSOCK32.18 extrn WSOCK32.151 extrn WSOCK32.57 extrn WSOCK32.9 extrn WSOCK32.23 extrn WSOCK32.19 extrn WSOCK32.1 extrn WSOCK32.17 extrn WSOCK32.21 extrn WSOCK32.4 extrn WSOCK32.12 extrn WSOCK32.16 extrn WSOCK32.3 extrn WSOCK32.15 extrn WSOCK32.115 extrn WSOCK32.52 extrn WSOCK32.116 extrn WSOCK32.14 extrn WSOCK32.13 extrn WSOCK32.20 extrn WSOCK32.111 extrn WSOCK32.2 extrn WSOCK32.8 ; ; Imports from MSVFW32.dll ; extrn MCIWndCreateA ; ; Imports from WINMM.dll ; extrn timeKillEvent extrn mmioRead extrn timeSetEvent extrn mmioSetBuffer extrn mmioOpenA extrn mmioSeek extrn midiOutGetVolume extrn mmioClose extrn mciSendCommandA extrn midiOutSetVolume extrn midiOutGetDevCapsA ; ; Imports from DDRAW.dll ; extrn DirectDrawCreate ; ; Imports from DSOUND.dll ; extrn DirectSoundCreate ; ;------------------------------------------------------------------------------